{"product_id":"over-the-sink-dish-drainer-drying-rack-3-tiers-with-cover-keep-kitchen-sink-shlef-organized-space-saving-dish-drying-rack-large-stainless-steel-sink-dish-rack-for-dishes-bowls-cutlery-37-4w","title":"Over The Sink Dish Drainer Drying Rack 3 Tiers with Cover, Keep Kitchen Sink Shlef Organized Space-Saving Dish Drying Rack, Large Stainless Steel Sink Dish Rack for Dishes, Bowls, Cutlery (37.4\"w)","description":"\u003cdiv id=\"aplus\" class=\"a-section a-spacing-large bucket\"\u003e \u003chr noshade size=\"1\" class=\"bucketDivider\"\u003e\n                                             \u003ch2\u003eProduct description\u003c\/h2\u003e   \u003cdiv lang=\"en_US\"\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\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                               \u003cdiv class=\"aplus-v2 desktop celwidget\" cel_widget_id=\"aplus\"\u003e\n        \u003cdiv class=\"aplus-content-wrapper\"\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                                        \u003ch1 class=\"aplus-container-3 aplus-h1 a-text-bold\"\u003e Dish Drying Rack Over Sink Save Space for Your Kitchen Countertop \u003c\/h1\u003e     \u003cdiv class=\"a-section a-spacing-none aplus-carousel-container\"\u003e \u003cdiv id=\"premium-aplus-13-carousel-0-id\" data-a-carousel-options='{\"peek_percentage\":0,\"minimum_gutter_width\":0,\"show_partial_next\":false,\"name\":\"premium-aplus-13-carousel-0\"}' 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-0-slide-0\"\u003e\n                                         \u003cdiv class=\"a-section a-spacing-none aplus-card-image\"\u003e                                         \u003cimg alt=\"over sink Dish Drying Rack\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/518ab40e-02e7-43cb-8bdd-5a32e71d8c4b.__CR0,0,1464,600_PT0_SX1464_V1___.jpg\"\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-0-slide-1\"\u003e\n                                         \u003cdiv class=\"a-section a-spacing-none aplus-card-image\"\u003e                                         \u003cimg alt=\"over sink Dish Drying Rack\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/518ab40e-02e7-43cb-8bdd-5a32e71d8c4b.__CR0,0,1464,600_PT0_SX1464_V1___.jpg\"\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-0\").execute(function(init) {\n    if (init) {\n        return;\n    }\n    P.register(\"premium-aplus-13-carousel-0\", 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 = \"0\";\n                var carouselName = \"premium-aplus-13-carousel-0\";\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-0-premium-aplus-13-carousel-0\" 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-0-premium-aplus-13-carousel-0\" data-aplus-pagination-dot-action-0-premium-aplus-13-carousel-0='{\"page\": 1}' aria-label=\"slide-1\" aria-controls=\"premium-aplus-13-carousel-0-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-0-premium-aplus-13-carousel-0\" data-aplus-pagination-dot-action-0-premium-aplus-13-carousel-0='{\"page\": 2}' aria-label=\"slide-2\" aria-controls=\"premium-aplus-13-carousel-0-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\n         \u003cdiv class=\"celwidget aplus-module premium-module-7-video-text aplus-premium\" cel_widget_id=\"aplus-premium-module-7-video-text\"\u003e\n                         \u003cdiv class=\"a-section a-spacing-none premium-aplus premium-aplus-module-7 aplus-container-1\"\u003e \u003cdiv class=\"a-section a-spacing-none aplus-display-table aplus-display-table-width\"\u003e   \u003cdiv class=\"a-section a-spacing-none video-panel-container aplus-display-table-cell\"\u003e \u003cdiv class=\"a-section a-spacing-none video-panel\"\u003e  \u003cdiv class=\"a-section a-spacing-none video-placeholder\"\u003e\u003c\/div\u003e  \u003cdiv class=\"a-section a-spacing-none video-container\"\u003e      \u003cdiv id=\"825f718e-6057-45bc-a101-bd0089b0e7ba\" style=\"width:100%; height:100%;\"\u003e\n\n\n\n\n\u003clink rel=\"stylesheet\" href=\"https:\/\/m.media-amazon.com\/images\/I\/01n25BjbgEL.css?AUIClients\/VSEPlayer\"\u003e\n\u003clink rel=\"stylesheet\" href=\"https:\/\/m.media-amazon.com\/images\/I\/51NP-5Gx4JL._RC|11s4jq82GaL.css_.css?AUIClients\/Brila\"\u003e\n\u003cdiv data-csa-c-component=\"aplus-vse-video-widget\" data-csa-c-content-id=\"amzn1.vse.video.0d42e44c16364452bd2d21a34377c28c\" data-csa-c-cs-type=\"vse\" data-csa-c-painter=\"vse-player\" data-csa-c-slot-id=\"aplus-ive-player\" data-csa-c-type=\"widget\" data-csa-op-log-render=\"\" class=\"a-section vse-player-container\"\u003e\n\u003cscript type=\"a-state\" data-a-state='{\"key\":\"aplus-805-player-5a0e9339-7ab0-42e5-adbf-debc1b3ad1ca-player-ps\"}'\u003e{\"enableFullScreenByDefault\":false,\"clickstreamNexusMetricsConfig\":{\"producerId\":\"vsemetrics_playercards\",\"schemaId\":\"clickstream.CustomerEvent.4\",\"actionType\":\"DISCOVERY\",\"eventOwner\":\"vsemetrics_playercards\",\"eventType\":\"IVEVideoView\",\"productId\":\"B0DKF4Q5F4\"},\"videoReferenceId\":\"sc|64b0dc91-fa08-4427-af6b-8e9e3f2cc46c|f57cb379|ATVPDKIKX0DER|AYFC4EQQGM3LJ\",\"contentId\":\"B0DKF4Q5F4\",\"ccvDisclosure\":\"\",\"closedCaptionsConfig\":{\"captionsOnTexts\":{\"de\":\"German (Automated)\",\"en\":\"English (Automated)\",\"fr\":\"French (Automated)\",\"es\":\"Spanish (Automated)\"},\"captionsOffText\":\"Captions off\",\"languageToLabelTexts\":{\"English\":\"English\",\"French\":\"French\",\"German\":\"German\",\"Spanish\":\"Spanish\"}},\"mimeType\":\"application\/x-mpegURL\",\"vendorCode\":\"APLUSSC\",\"videoHeight\":480,\"disableReportIllegalLink\":false,\"videoWidth\":854,\"initialClosedCaptions\":\"en,https:\/\/m.media-amazon.com\/images\/S\/vse-vms-closed-captions-artifact-us-east-1-prod\/closedCaptions\/ae4402c5-057d-4be2-8509-e360b050b178.vtt\",\"useHotspotsNX\":false,\"eligibleToTriggerCCWeblab\":false,\"videoUrl\":\"https:\/\/m.media-amazon.com\/images\/S\/vse-vms-transcoding-artifact-us-east-1-prod\/4898ae9d-5ec6-4188-a345-3d22092f8fee\/default.jobtemplate.hls.m3u8\",\"metricsEmissionMethod\":\"nexus\",\"imageUrl\":\"https:\/\/m.media-amazon.com\/images\/I\/81-pwWHN5+L.jpg\",\"needPlayerFactory\":false,\"isMobile\":false,\"showHotspots\":false,\"aciContentId\":\"amzn1.vse.video.0d42e44c16364452bd2d21a34377c28c\",\"altText\":\"Over The Sink Dish Drainer Drying Rack\",\"creatorType\":\"Seller\",\"clientPrefix\":\"aplus-805\",\"hotSpotsV3Weblab\":\"\",\"productAsin\":\"B0DKF4Q5F4\",\"labelDetails\":{\"labelName\":\"\",\"labelType\":\"\",\"labelWeblabName\":\"\",\"labelWeblabTreatment\":\"\",\"showLabel\":false,\"tooltipSelector\":\"\"},\"sushiMetricsConfig\":{\"eventSource\":\"Player\",\"endpoint\":\"https:\/\/unagi-na.amazon.com\/1\/events\/com.amazon.eel.vse.metrics.prod.events.test\",\"requestId\":\"NXFRG2ES6H0691ZWC4BD\",\"sessionId\":\"140-0018302-0861605\",\"customerId\":\"0\",\"refMarkers\":\"aplus-805_ref\",\"sessionType\":1,\"placementContext\":\"desktop_web.AplusWidget.aplusdp\",\"marketplaceId\":\"ATVPDKIKX0DER\",\"weblabIds\":\"\",\"isInternal\":false,\"isRobot\":false,\"clientId\":\"VSE-US\",\"videoAsinList\":\"\",\"pageAsin\":\"B0DKF4Q5F4\"},\"reportUrl\":\"\",\"videoTitle\":\"Over The Sink Dish Drainer Drying Rack\",\"vendorName\":\"Merchant Video\",\"nexusMetricsConfig\":{\"eventSource\":\"Player\",\"isInternal\":false,\"playerTSMMetricsSchemaId\":\"vse.VSECardsPlayerEvents.9\",\"widgetMetricsSchemaId\":\"vse.VSECardsEvents.9\",\"producerId\":\"vsemetrics_playercards\",\"refMarkers\":\"aplus-805_ref\",\"placementContext\":\"desktop_web.AplusWidget.aplusdp\",\"weblabIds\":\"\",\"clientId\":\"VSE-US\",\"videoAsin\":\"0d42e44c16364452bd2d21a34377c28c\",\"videoAsinList\":\"\",\"pageAsin\":\"B0DKF4Q5F4\"},\"awaConfig\":{\"useUpNextComponent\":false,\"clickstreamNexusMetricsConfig\":{\"producerId\":\"vsemetrics_playercards\",\"schemaId\":\"clickstream.CustomerEvent.4\",\"actionType\":\"DISCOVERY\",\"eventOwner\":\"vsemetrics_playercards\",\"eventType\":\"IVEVideoView\",\"productId\":\"B0DKF4Q5F4\"},\"initialVideo\":\"0d42e44c16364452bd2d21a34377c28c\",\"shouldPreload\":true,\"enableClickBasedAttribution\":false,\"isChromelessPlayer\":false,\"closedCaptionsConfig\":{\"captionsOnTexts\":{\"de\":\"German (Automated)\",\"en\":\"English (Automated)\",\"fr\":\"French (Automated)\",\"es\":\"Spanish (Automated)\"},\"captionsOffText\":\"Captions off\",\"languageToLabelTexts\":{\"English\":\"English\",\"French\":\"French\",\"German\":\"German\",\"Spanish\":\"Spanish\"}},\"enableDynamicBlur\":false,\"showPlayerPlayButton\":false,\"isVideoImmersivePlayer\":false,\"metricsEmissionMethod\":\"nexus\",\"skipInitialFocus\":false,\"playerSkin\":\"none\",\"disabledViewIds\":[\"replayHint\"],\"includeEarnsComissionDisclosure\":false,\"customerId\":\"0\",\"containerId\":\"aplus-805-player-5a0e9339-7ab0-42e5-adbf-debc1b3ad1ca\",\"allowCrossOrigin\":false,\"requestMetadata\":{\"clientId\":\"VSE-US\",\"marketplaceId\":\"ATVPDKIKX0DER\",\"requestId\":\"NXFRG2ES6H0691ZWC4BD\",\"sessionId\":\"140-0018302-0861605\",\"method\":\"desktop_web.AplusWidget.aplusdp\",\"pageAsin\":\"\"},\"shouldLoop\":false,\"shouldDisableControls\":false,\"alwaysSetInitialVideo\":true,\"showPlayerCloseButton\":false,\"clientPrefix\":\"aplus-805\",\"useAutoplayFallback\":false,\"sushiMetricsConfig\":{\"eventSource\":\"Player\",\"endpoint\":\"https:\/\/unagi-na.amazon.com\/1\/events\/com.amazon.eel.vse.metrics.prod.events.test\",\"requestId\":\"NXFRG2ES6H0691ZWC4BD\",\"sessionId\":\"140-0018302-0861605\",\"customerId\":\"0\",\"refMarkers\":\"aplus-805_ref\",\"sessionType\":1,\"placementContext\":\"desktop_web.AplusWidget.aplusdp\",\"marketplaceId\":\"ATVPDKIKX0DER\",\"weblabIds\":\"\",\"isInternal\":false,\"isRobot\":false,\"clientId\":\"VSE-US\",\"videoAsinList\":\"\",\"pageAsin\":\"B0DKF4Q5F4\"},\"ospLinkCode\":\"vse\",\"showPosterImage\":true,\"languageCode\":\"en\",\"languageLocalization\":{\"play\":\"Play\",\"volumeLevel\":\"Volume Level\",\"subtitles\":\"Subtitles\",\"volumeSlider\":\"Volume Slider\",\"playVideo\":\"Click to play video\",\"fullscreen\":\"Fullscreen\",\"scrubberBar\":\"Scrubber bar\",\"mute\":\"Mute\",\"unmute\":\"Unmute\",\"pause\":\"Pause\",\"captions\":\"Captions\",\"nonfullscreen\":\"Non-Fullscreen\"},\"version\":\"\",\"isMoreVideosButtonEnabled\":false,\"nexusMetricsConfig\":{\"eventSource\":\"Player\",\"isInternal\":false,\"playerTSMMetricsSchemaId\":\"vse.VSECardsPlayerEvents.9\",\"widgetMetricsSchemaId\":\"vse.VSECardsEvents.9\",\"producerId\":\"vsemetrics_playercards\",\"refMarkers\":\"aplus-805_ref\",\"placementContext\":\"desktop_web.AplusWidget.aplusdp\",\"weblabIds\":\"\",\"clientId\":\"VSE-US\",\"videoAsin\":\"0d42e44c16364452bd2d21a34377c28c\",\"videoAsinList\":\"\",\"pageAsin\":\"B0DKF4Q5F4\"},\"shouldStartMuted\":false,\"airyVersion\":\"VideoJS\",\"languagePreferenceStrings\":{},\"enableInactiveFocus\":true,\"showVideoInfo\":false,\"isReactFactory\":false,\"osaInstrumentationConfig\":{\"schemaId\":\"csa.VideoInteractions.2\",\"producerId\":\"vsemetrics_csa_instrumentation\"},\"enableDelphiAttribution\":true,\"includeReportWidget\":false,\"shouldAutoplay\":false}}\u003c\/script\u003e\u003cdiv class=\"vse-airy-container vse-player-container none \"\u003e\n\u003cdiv id=\"ive-aplus-805-player-label-container\" data-element-id=\"ive-player-label-container\" class=\"a-section a-spacing-none ive-player-label-container\"\u003e\n\u003cspan class=\"a-declarative\" data-action=\"a-popover\" data-a-popover='{\"name\":\"ive-aplus-805-label-type-tooltip\",\"width\":\"300\",\"position\":\"triggerRight\",\"dataStrategy\":\"preload\"}'\u003e\u003c\/span\u003e\u003cdiv class=\"a-popover-preload\" id=\"a-popover-ive-aplus-805-label-type-tooltip\"\u003e\n\u003cspan class=\"ive-demo-label-tooltip ive-player-label-tooltip aok-hidden\"\u003eThe video showcases the product in use.\u003c\/span\u003e\u003cspan class=\"ive-assembly-label-tooltip ive-player-label-tooltip aok-hidden\"\u003eThe video guides you through product setup.\u003c\/span\u003e\u003cspan class=\"ive-comparison-label-tooltip ive-player-label-tooltip aok-hidden\"\u003eThe video compares multiple products.\u003c\/span\u003e\u003cspan class=\"ive-unboxing-label-tooltip ive-player-label-tooltip aok-hidden\"\u003eThe video shows the product being unpacked.\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv id=\"aplus-805-player-5a0e9339-7ab0-42e5-adbf-debc1b3ad1ca\" class=\"vse-player\" data-element-id=\"vse-player-container\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003ch1 class=\"vse-video-player-title\"\u003e Over The Sink Dish Drainer Drying Rack\u003c\/h1\u003e\n\u003cspan data-element-id=\"vse-lightPlayer-content-provider\" class=\"vse-lightPlayer-vendor a-size-mini\"\u003e Merchant Video\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cscript\u003e\n  (window.AmazonUIPageJS ? AmazonUIPageJS : P).load.js('https:\/\/m.media-amazon.com\/images\/I\/51ckmXPzM3L.js?AUIClients\/VSEPlayer');\n  (window.AmazonUIPageJS ? AmazonUIPageJS : P).load.js('https:\/\/m.media-amazon.com\/images\/I\/41Vu0w0zP-L._RC|01x4giTy+uL.js,01r9LpT6pbL.js,41NWBkfooBL.js,11QfrzttlqL.js,91VXiFQ1TCL.js,01ELLYeIOkL.js_.js?AUIClients\/Brila');\n\u003c\/script\u003e\n\n\u003c\/div\u003e\n \u003c\/div\u003e \u003c\/div\u003e \u003c\/div\u003e  \u003cdiv class=\"a-section a-spacing-none text-panel-container aplus-container-1 aplus-display-table-cell\"\u003e                                      \u003cp class=\"a-spacing-none aplus-accent1 title a-text-bold\"\u003e Keep Dishes Pristine \u0026amp; Cabinets Calm \u003c\/p\u003e                                            \u003ch3 class=\"aplus-h1 a-text-bold\"\u003e Innovative Designs-Dustproof Door \u003c\/h3\u003e   \u003cbr\u003e\n                                          \u003cp class=\"aplus-p2\"\u003e Keeping the dishes and bowls inside clean andmaking kitchen storage more comfortable, theupgraded flip cover door blocks the dust outside. \u003c\/p\u003e    \u003c\/div\u003e  \u003c\/div\u003e \u003c\/div\u003e     \u003c\/div\u003e\n\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 Work Over The Sink \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=\"1\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/02dba558-7009-44ca-a770-f5b26e2f45c9.__CR0,0,1464,600_PT0_SX1464_V1___.jpg\"\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 Placed it over the kitchen sink, the dish drying rack with other holders holds goods such as mugs, dishes, bowls, utensils, chopping board, knife, and detergent, etc. Hooks are allowed Hanging cooking ware on the rack. Keep your sink and countertop neat and create tons of extra useful space. \u003c\/p\u003e    \u003c\/div\u003e \u003c\/div\u003e      \u003c\/div\u003e\n\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 Say goodbye to cluttered countertops and hello to a more organized kitchen \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=\"1\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/89e9bd76-0360-4c97-a81e-004338badf9b.__CR0,0,1464,600_PT0_SX1464_V1___.jpg\"\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 Our over the sink dish drying rack boasts expansive capacity, effortlessly accommodating all your kitchen essentials. \u003c\/p\u003e    \u003c\/div\u003e \u003c\/div\u003e      \u003c\/div\u003e\n\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 Expandable Over the Sink Dish Drying Rack for Kitchen Countertop \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=\"over sink Dish Drying Rack\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/805169d7-050c-4c00-8b48-74999751d77b.__CR0,0,1464,600_PT0_SX1464_V1___.jpg\"\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\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=\"1\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/d6eaca5e-9e1b-4c66-ae43-dee45a86b4f4.__CR0,0,1464,600_PT0_SX1464_V1___.jpg\"\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=\"over sink Dish Drying Rack\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/3c6006c4-e6b7-4b61-b8b5-e9a28df897e1.__CR0,0,1464,600_PT0_SX1464_V1___.jpg\"\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(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\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-6-id\" data-a-carousel-options='{\"peek_percentage\":0,\"minimum_gutter_width\":0,\"show_partial_next\":false,\"name\":\"premium-aplus-13-carousel-6\"}' aria-label=\"Featured content carousel\" aria-roledescription=\"carousel\" data-a-display-strategy=\"single\" data-a-transition-strategy=\"slideCircular\" role=\"region\" class=\"a-begin a-carousel-container a-carousel-static a-carousel-display-single a-carousel-transition-slideCircular\"\u003e\n\u003cinput autocomplete=\"on\" type=\"hidden\" class=\"a-carousel-firstvisibleitem\"\u003e  \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=\"3\"\u003e \u003cdiv id=\"premium-aplus-13-carousel-6-slide-0\"\u003e\n                                         \u003cdiv class=\"a-section a-spacing-none aplus-card-image\"\u003e                                         \u003cimg alt=\"1\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/35cdf9d7-cd0d-436b-8edb-82e1aa184730.__CR0,0,1464,600_PT0_SX1464_V1___.jpg\"\u003e    \u003c\/div\u003e   \u003c\/div\u003e\n                            \u003c\/li\u003e      \u003cli aria-roledescription=\"slide\" class=\"a-carousel-card aplus-carousel-element\" aria-setsize=\"3\"\u003e \u003cdiv id=\"premium-aplus-13-carousel-6-slide-1\"\u003e\n                                         \u003cdiv class=\"a-section a-spacing-none aplus-card-image\"\u003e                                         \u003cimg alt=\"1\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/1d85209d-ffe6-47b3-a8b1-ff1fd45271a0.__CR0,0,1464,600_PT0_SX1464_V1___.jpg\"\u003e    \u003c\/div\u003e   \u003c\/div\u003e\n                            \u003c\/li\u003e      \u003cli aria-roledescription=\"slide\" class=\"a-carousel-card aplus-carousel-element\" aria-setsize=\"3\"\u003e \u003cdiv id=\"premium-aplus-13-carousel-6-slide-2\"\u003e\n                                         \u003cdiv class=\"a-section a-spacing-none aplus-card-image\"\u003e                                         \u003cimg alt=\"1\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/83ebbff8-6687-4df1-acca-341b8887e7c4.__CR0,0,1464,600_PT0_SX1464_V1___.jpg\"\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-6\").execute(function(init) {\n    if (init) {\n        return;\n    }\n    P.register(\"premium-aplus-13-carousel-6\", function() {\n        return function() {\n            P.when(\"A\", \"jQuery\", \"a-carousel-framework\", \"ready\").execute(\"paginate-carousel\", function (A, $, framework) {\n                const ENTER_KEY_CODE = 13;\n                const ESCAPE_KEY_CODE = 27;\n                const LEFT_ARROW_KEY = 37;\n                const RIGHT_ARROW_KEY = 39;\n                const HOME_KEY = 36;\n                const END_KEY = 35;\n\n                var moduleId = \"6\";\n                var carouselName = \"premium-aplus-13-carousel-6\";\n                var paginationAction = \"aplus-pagination-dot-action-\" + moduleId + \"-\" + carouselName;\n                var paginationGroup = \"#aplus-pagination-group-\" + moduleId + \"-\" + carouselName;\n\n                \/* If the carousel goes to a new page *\/\n                A.on(\"a:carousel:\"+carouselName+\":change:pageNumber\", function (data) {\n                    A.$(paginationGroup+\" .carousel-slider-circle\").removeClass(\"aplus-carousel-active\").attr('aria-selected', 'false').attr('tabindex', -1)\n                                    .eq(data.newValue - 1).addClass(\"aplus-carousel-active\").attr('aria-selected', 'true').attr('tabindex', 0);\n                });\n\n                function syncPaginationDotsWithCarouselPages(numPages) {\n                    const parentElement = document.querySelector(paginationGroup);\n                    if (parentElement \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-6-premium-aplus-13-carousel-6\" 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-6-premium-aplus-13-carousel-6\" data-aplus-pagination-dot-action-6-premium-aplus-13-carousel-6='{\"page\": 1}' aria-label=\"slide-1\" aria-controls=\"premium-aplus-13-carousel-6-slide-0\" tabindex=\"0\" role=\"tab\"\u003e\u003c\/span\u003e\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-6-premium-aplus-13-carousel-6\" data-aplus-pagination-dot-action-6-premium-aplus-13-carousel-6='{\"page\": 2}' aria-label=\"slide-2\" aria-controls=\"premium-aplus-13-carousel-6-slide-1\" tabindex=\"-1\" role=\"tab\"\u003e\u003c\/span\u003e\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-6-premium-aplus-13-carousel-6\" data-aplus-pagination-dot-action-6-premium-aplus-13-carousel-6='{\"page\": 3}' aria-label=\"slide-3\" aria-controls=\"premium-aplus-13-carousel-6-slide-2\" tabindex=\"-1\" role=\"tab\"\u003e\u003c\/span\u003e\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                                   \u003cp class=\"aplus-description aplus-container-3 aplus-p1\"\u003e Please carefully measure 3 numerical values: The width of your kitchen sink, the height of the faucet and the height between the cabinet bottom to the countertop before chose！ \u003c\/p\u003e    \u003c\/div\u003e \u003c\/div\u003e  \u003c\/div\u003e\n\n        \u003c\/div\u003e\n\u003c\/div\u003e\n \u003c\/div\u003e\n       \u003c\/div\u003e                               ","brand":"BROWNSKYVERGE","offers":[{"title":"33.4\"W","offer_id":56892372091040,"sku":null,"price":78.99,"currency_code":"USD","in_stock":true},{"title":"37.4\"w","offer_id":56892372123808,"sku":null,"price":85.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1036\/8643\/9072\/files\/81oO09PkmdL._AC_SL1500.jpg?v=1775197721","url":"https:\/\/brownskyverge.com\/products\/over-the-sink-dish-drainer-drying-rack-3-tiers-with-cover-keep-kitchen-sink-shlef-organized-space-saving-dish-drying-rack-large-stainless-steel-sink-dish-rack-for-dishes-bowls-cutlery-37-4w","provider":"BROWNSKYVERGE","version":"1.0","type":"link"}