{"product_id":"hotherbal-essences-shampoo-rose-hips-passionfruit-smooth-collection-shiny-hair-with-vitamin-e-jojoba-safe-for-color-treated-hair-floral-scent-cruelty-free-dermatologist-tested-29-2-fl-oz","title":"HotHerbal Essences Shampoo, Rose Hips + Passionfruit - Smooth Collection, Shiny Hair with Vitamin E \u0026 Jojoba, Safe for Color Treated Hair, Floral Scent, Cruelty-Free, Dermatologist-Tested, 29.2 Fl Oz","description":"\u003cdiv data-feature-name=\"productDescription\" data-template-name=\"productDescription\" id=\"productDescription_feature_div\" class=\"a-row feature\"\u003e    \u003cdiv class=\"a-divider a-divider-section\"\u003e\u003cdiv class=\"a-divider-inner\"\u003e\u003c\/div\u003e\u003c\/div\u003e   \u003ch2 class=\"default\"\u003e Product Description  \u003c\/h2\u003e               \u003cdiv id=\"productDescription\" class=\"a-section a-spacing-small\"\u003e       \u003c!-- show up to 2 reviews by default --\u003e\n                   \u003cp\u003e    \u003cspan\u003eHerbal Essences is here to help you smooth things out. Our Rose Hips Smooth Shampoo is formulated with an infused blend of rose hips, vitamin E, and jojoba extracts to help condition hair for a soft, smooth end-look. It also helps restore hair's natural shine. Plus, it's cruelty free, silicone free, mineral oil free, color safe and pH balanced. This shampoo is good for fine hair, flat hair, straight hair, colored hair, and oily hair. Now those are some smooth moves.\u003c\/span\u003e    \u003c\/p\u003e          \u003c\/div\u003e  \u003c!-- Used to set table width because AUI is overriding the width attribute of the tables coming in description --\u003e\n\u003cstyle\u003e\n        #productDescription h3 {\n            margin: 0.75em 0px 0.375em -1px;\n        }\n        \u003c\/style\u003e\n           \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\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 manufacturer\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                            \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=\"Gentle and refreshing formula\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/39462f3b-d778-4882-8a2e-2a0debd24d7d.__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-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=\"Ingredients you can trust; hair that you\u0026amp;amp;#39;ll love\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/be9adb29-3fa9-456b-a979-271dc5ff7d84.__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-2-id\" data-a-carousel-options='{\"peek_percentage\":0,\"minimum_gutter_width\":0,\"show_partial_next\":false,\"name\":\"premium-aplus-13-carousel-2\"}' aria-label=\"Featured content carousel\" aria-roledescription=\"carousel\" data-a-display-strategy=\"single\" data-a-transition-strategy=\"slideCircular\" role=\"region\" class=\"a-begin a-carousel-container a-carousel-static a-carousel-display-single a-carousel-transition-slideCircular\"\u003e\n\u003cinput autocomplete=\"on\" type=\"hidden\" class=\"a-carousel-firstvisibleitem\"\u003e  \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-2-slide-0\"\u003e\n                                         \u003cdiv class=\"a-section a-spacing-none aplus-card-image\"\u003e                                         \u003cimg alt=\"Stop and smell the roses\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/2dba32a3-63a2-4c90-b442-7e21c7ad1cd9.__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-2-slide-1\"\u003e\n                                         \u003cdiv class=\"a-section a-spacing-none aplus-card-image\"\u003e                                         \u003cimg alt=\"Stop and smell the roses\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/667544d1-65ff-4441-b34e-8a2f6ff91bbb.__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-2-slide-2\"\u003e\n                                         \u003cdiv class=\"a-section a-spacing-none aplus-card-image\"\u003e                                         \u003cimg alt=\"Stop and smell the roses\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/5de10108-28ba-463d-988d-8d87e03823d5.__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-2\").execute(\"init-pagination-carousel\", function(init) {\n    if (init) {\n        return;\n    }\n    P.register(\"premium-aplus-13-carousel-2\", function() {\n        return function() {\n            P.when(\"A\", \"jQuery\", \"a-carousel-framework\", \"ready\").execute(\"paginate-carousel\", function (A, $, framework) {\n                const ENTER_KEY_CODE = 13;\n                const ESCAPE_KEY_CODE = 27;\n                const LEFT_ARROW_KEY = 37;\n                const RIGHT_ARROW_KEY = 39;\n                const HOME_KEY = 36;\n                const END_KEY = 35;\n\n                var moduleId = \"2\";\n                var carouselName = \"premium-aplus-13-carousel-2\";\n                var paginationAction = \"aplus-pagination-dot-action-\" + moduleId + \"-\" + carouselName;\n                var paginationGroup = \"#aplus-pagination-group-\" + moduleId + \"-\" + carouselName;\n\n                \/* If the carousel goes to a new page *\/\n                A.on(\"a:carousel:\"+carouselName+\":change:pageNumber\", function (data) {\n                    A.$(paginationGroup+\" .carousel-slider-circle\").removeClass(\"aplus-carousel-active\").attr('aria-selected', 'false').attr('tabindex', -1)\n                                    .eq(data.newValue - 1).addClass(\"aplus-carousel-active\").attr('aria-selected', 'true').attr('tabindex', 0);\n                });\n\n                function syncPaginationDotsWithCarouselPages(numPages) {\n                    const parentElement = document.querySelector(paginationGroup);\n                    if (parentElement \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-2-premium-aplus-13-carousel-2\" 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-2-premium-aplus-13-carousel-2\" data-aplus-pagination-dot-action-2-premium-aplus-13-carousel-2='{\"page\": 1}' aria-label=\"slide-1\" aria-controls=\"premium-aplus-13-carousel-2-slide-0\" tabindex=\"0\" role=\"tab\"\u003e\u003c\/span\u003e\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-2-premium-aplus-13-carousel-2\" data-aplus-pagination-dot-action-2-premium-aplus-13-carousel-2='{\"page\": 2}' aria-label=\"slide-2\" aria-controls=\"premium-aplus-13-carousel-2-slide-1\" tabindex=\"-1\" role=\"tab\"\u003e\u003c\/span\u003e\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-2-premium-aplus-13-carousel-2\" data-aplus-pagination-dot-action-2-premium-aplus-13-carousel-2='{\"page\": 3}' aria-label=\"slide-3\" aria-controls=\"premium-aplus-13-carousel-2-slide-2\" tabindex=\"-1\" role=\"tab\"\u003e\u003c\/span\u003e\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-3-id\" data-a-carousel-options='{\"peek_percentage\":0,\"minimum_gutter_width\":0,\"show_partial_next\":false,\"name\":\"premium-aplus-13-carousel-3\"}' aria-label=\"Featured content carousel\" aria-roledescription=\"carousel\" data-a-display-strategy=\"single\" data-a-transition-strategy=\"slideCircular\" role=\"region\" class=\"a-begin a-carousel-container a-carousel-static a-carousel-display-single a-carousel-transition-slideCircular\"\u003e\n\u003cinput autocomplete=\"on\" type=\"hidden\" class=\"a-carousel-firstvisibleitem\"\u003e  \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-3-slide-0\"\u003e\n                                            \u003cdiv class=\"a-section a-spacing-none aplus-card-image\"\u003e                                         \u003cimg alt=\"Made with rose hips; helps condition hair for a soft, smooth end look and enhance shine\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/a34d4895-dd69-40a2-8b5c-0ddb3462e609.__CR0,0,1464,600_PT0_SX1464_V1___.jpg\"\u003e    \u003c\/div\u003e   \u003cdiv class=\"a-section a-spacing-none aplus-card-description-wrapper\"\u003e \u003cdiv class=\"a-section a-spacing-none aplus-card-description aplus-container-1-2\"\u003e \u003cdiv class=\"a-section a-spacing-none aplus-card-table-cell\"\u003e \u003cdiv class=\"a-section a-spacing-none aplus-text-background aplus-container-1\"\u003e \u003cdiv class=\"a-section a-spacing-none aplus-card-title\"\u003e                                        \u003ch1 class=\"aplus-h2 a-text-bold\"\u003e Made With Rose Hips \u003c\/h1\u003e    \u003c\/div\u003e \u003cdiv class=\"a-section a-spacing-none aplus-card-body\"\u003e                                   \u003cp class=\"aplus-p3\"\u003e Our infused formula helps condition hair for a soft, smooth end look and helps enhance hair's natural shine. \u003c\/p\u003e    \u003c\/div\u003e   \u003c\/div\u003e \u003c\/div\u003e \u003c\/div\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-3-slide-1\"\u003e\n                                            \u003cdiv class=\"a-section a-spacing-none aplus-card-image\"\u003e                                         \u003cimg alt=\"Made with Jojoba extract; helps enhance hair\u0026amp;amp;#39;s natural shine\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/212f10d0-af27-49cd-9989-1f052fc57012.__CR0,0,1464,600_PT0_SX1464_V1___.jpg\"\u003e    \u003c\/div\u003e   \u003cdiv class=\"a-section a-spacing-none aplus-card-description-wrapper\"\u003e \u003cdiv class=\"a-section a-spacing-none aplus-card-description aplus-container-1-2\"\u003e \u003cdiv class=\"a-section a-spacing-none aplus-card-table-cell\"\u003e \u003cdiv class=\"a-section a-spacing-none aplus-text-background aplus-container-1\"\u003e \u003cdiv class=\"a-section a-spacing-none aplus-card-title\"\u003e                                        \u003ch1 class=\"aplus-h2 a-text-bold\"\u003e Made With Jojoba Extract \u003c\/h1\u003e    \u003c\/div\u003e \u003cdiv class=\"a-section a-spacing-none aplus-card-body\"\u003e                                   \u003cp class=\"aplus-p3\"\u003e Our infused formula helps condition hair for a soft, smooth end look and helps enhance hair's natural shine. \u003c\/p\u003e    \u003c\/div\u003e   \u003c\/div\u003e \u003c\/div\u003e \u003c\/div\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-3\").execute(\"init-pagination-carousel\", function(init) {\n    if (init) {\n        return;\n    }\n    P.register(\"premium-aplus-13-carousel-3\", function() {\n        return function() {\n            P.when(\"A\", \"jQuery\", \"a-carousel-framework\", \"ready\").execute(\"paginate-carousel\", function (A, $, framework) {\n                const ENTER_KEY_CODE = 13;\n                const ESCAPE_KEY_CODE = 27;\n                const LEFT_ARROW_KEY = 37;\n                const RIGHT_ARROW_KEY = 39;\n                const HOME_KEY = 36;\n                const END_KEY = 35;\n\n                var moduleId = \"3\";\n                var carouselName = \"premium-aplus-13-carousel-3\";\n                var paginationAction = \"aplus-pagination-dot-action-\" + moduleId + \"-\" + carouselName;\n                var paginationGroup = \"#aplus-pagination-group-\" + moduleId + \"-\" + carouselName;\n\n                \/* If the carousel goes to a new page *\/\n                A.on(\"a:carousel:\"+carouselName+\":change:pageNumber\", function (data) {\n                    A.$(paginationGroup+\" .carousel-slider-circle\").removeClass(\"aplus-carousel-active\").attr('aria-selected', 'false').attr('tabindex', -1)\n                                    .eq(data.newValue - 1).addClass(\"aplus-carousel-active\").attr('aria-selected', 'true').attr('tabindex', 0);\n                });\n\n                function syncPaginationDotsWithCarouselPages(numPages) {\n                    const parentElement = document.querySelector(paginationGroup);\n                    if (parentElement \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-3-premium-aplus-13-carousel-3\" 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-3-premium-aplus-13-carousel-3\" data-aplus-pagination-dot-action-3-premium-aplus-13-carousel-3='{\"page\": 1}' aria-label=\"slide-1\" aria-controls=\"premium-aplus-13-carousel-3-slide-0\" tabindex=\"0\" role=\"tab\"\u003e\u003c\/span\u003e\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-3-premium-aplus-13-carousel-3\" data-aplus-pagination-dot-action-3-premium-aplus-13-carousel-3='{\"page\": 2}' aria-label=\"slide-2\" aria-controls=\"premium-aplus-13-carousel-3-slide-1\" tabindex=\"-1\" role=\"tab\"\u003e\u003c\/span\u003e\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-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=\"Wet hair \u0026amp;amp;amp;amp; work shampoo in from roots to tips, rinse, apply conditioner to mid-length, leave in\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/8a3d08db-c344-44e2-bccb-c4b3593c1e7b.__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-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\/a4f54b14-05ca-4484-82ac-94706d5ccb59.__CR0,0,1464,600_PT0_SX1464_V1___.jpg\"\u003e        \u003cdiv class=\"hover-wrapper\" style=\"left: -moz-calc(5.69% - 18px); left: -webkit-calc(5.69% - 18px); left: -o-calc(5.69% - 18px); left: calc(5.69% - 18px); top: -moz-calc(18.95% - 18px); top: -webkit-calc(18.95% - 18px); top: -o-calc(18.95% - 18px); top: calc(18.95% - 18px);\"\u003e\n                    \u003cspan tabindex=\"0\" class=\"hover-point\" data-inline-content=\"\u0026lt;div\u0026gt;\n                    \u0026lt;p style='font-weight: bold'\u0026gt;Smooth Rose Hips Shampoo\u0026lt;\/p\u0026gt;\n                    \u0026lt;p\u0026gt;Cleanses \u0026amp;amp; Conditions\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(31.65% - 18px); left: -webkit-calc(31.65% - 18px); left: -o-calc(31.65% - 18px); left: calc(31.65% - 18px); top: -moz-calc(78.42% - 18px); top: -webkit-calc(78.42% - 18px); top: -o-calc(78.42% - 18px); top: calc(78.42% - 18px);\"\u003e\n                    \u003cspan tabindex=\"0\" class=\"hover-point\" data-inline-content=\"\u0026lt;div\u0026gt;\n                    \u0026lt;p style='font-weight: bold'\u0026gt;Smooth Rose Hips Conditioner\u0026lt;\/p\u0026gt;\n                    \u0026lt;p\u0026gt;Conditions \u0026amp;amp; Nourishes\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(44.03% - 18px); left: -webkit-calc(44.03% - 18px); left: -o-calc(44.03% - 18px); left: calc(44.03% - 18px); top: -moz-calc(27.35% - 18px); top: -webkit-calc(27.35% - 18px); top: -o-calc(27.35% - 18px); top: calc(27.35% - 18px);\"\u003e\n                    \u003cspan tabindex=\"0\" class=\"hover-point\" data-inline-content=\"\u0026lt;div\u0026gt;\n                    \u0026lt;p style='font-weight: bold'\u0026gt;Nourishing Detangling Spray\u0026lt;\/p\u0026gt;\n                    \u0026lt;p\u0026gt;Detangles, Nourishes, \u0026amp;amp; Conditions\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\n        \u003c\/div\u003e\n    \u003c\/div\u003e\n\u003c\/div\u003e    \u003c\/div\u003e                               ","brand":"Trend Trinket","offers":[{"title":"Rose Hips \/ 29.2 Fl Oz (Pack of 1)","offer_id":54382880751955,"sku":null,"price":10.58,"currency_code":"USD","in_stock":true},{"title":"Rose Hips \/ 29.2 Fl Oz (Pack of 2)","offer_id":54382880784723,"sku":null,"price":21.17,"currency_code":"USD","in_stock":true},{"title":"Rose Hips \/ 29.2 Fl Oz (Pack of 4)","offer_id":54382880817491,"sku":null,"price":42.34,"currency_code":"USD","in_stock":true},{"title":"Rose Hips + Passionfruit \/ 29.2 Fl Oz (Pack of 1)","offer_id":54382880850259,"sku":null,"price":8.39,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0966\/3047\/3043\/files\/61vlX_KCOhL._SL1254.jpg?v=1784787140","url":"https:\/\/chrishallett.myshopify.com\/products\/hotherbal-essences-shampoo-rose-hips-passionfruit-smooth-collection-shiny-hair-with-vitamin-e-jojoba-safe-for-color-treated-hair-floral-scent-cruelty-free-dermatologist-tested-29-2-fl-oz","provider":"Trend Trinket","version":"1.0","type":"link"}