{"product_id":"hotherbal-essences-conditioner-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 Conditioner, 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\u003eElevate your hair care routine with Herbal Essences Rose Hips and Passionfruit Smooth \u0026amp; Shine Conditioner. This conditioner is expertly formulated to provide hydration and enhance the natural beauty of your hair, leaving it irresistibly smooth and brilliantly shiny. Infused with the goodness of rose hips and passionfruit, this conditioner formula works to tame frizz and restore your hair’s natural shine, ensuring each strand looks vibrant and healthy-looking. One of the standout features of this conditioner is its captivating fragrance. Blooming with scent notes of rose hips, lily, and apple, it transforms your hair care experience into a delightful sensory journey. Each wash envelops your hair in a fresh, floral aroma that lingers beautifully throughout the day, making your locks not only look fabulous but also smell incredible. Herbal Essences Rose Hips and Passionfruit Conditioner is formulated without parabens or dyes, ensuring that your hair receives gentle care without any harsh additives. Additionally, it is PETA-certified cruelty-free and color-safe, allowing you to indulge in its benefits with peace of mind. For optimal results, use this conditioner according to your hair length: for short to medium hair, apply 2 pumps; for thicker or longer hair, use 3 or more pumps. Generously apply the conditioner to clean, damp hair, applying generously from root to tip. Rinse thoroughly and repeat as needed. Experience the transformative power of Herbal Essences Rose Hips and Passionfruit Smooth \u0026amp; Shine Conditioner and embrace the touchably soft, radiant hair you’ve always desired. Treat yourself to a conditioning experience that provides moisture and shine, with an irresistible scent, and let your hair shine with confidence and beauty!\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":54383236546899,"sku":null,"price":9.5,"currency_code":"USD","in_stock":true},{"title":"Rose Hips \/ 29.2 Fl Oz (Pack of 2)","offer_id":54383236579667,"sku":null,"price":19.0,"currency_code":"USD","in_stock":true},{"title":"Rose Hips + Passionfruit \/ 29.2 Fl Oz (Pack of 1)","offer_id":54383236612435,"sku":null,"price":8.39,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0966\/3047\/3043\/files\/61E-2-TZktL._SL1254.jpg?v=1784792568","url":"https:\/\/chrishallett.myshopify.com\/products\/hotherbal-essences-conditioner-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"}