{"product_id":"mediheal-madecassoside-repair-serum-1-35-fl-oz-blemish-care-fades-pigmentation-and-freckles-skin-soothing-hydration-with-centella-asiatica-niacinamide","title":"Mediheal Repair Serum","description":"\u003cdiv\u003e\n\u003cdiv lang=\"en_US\"\u003e\n\u003cdiv class=\"aplus-v2 desktop celwidget\" cel_widget_id=\"aplus\"\u003e\n\u003cscript type=\"text\/javascript\"\u003e\/\/ \u003c![CDATA[\n(function(f) {var _np=(window.P._namespace(\"PremiumAplusModule\"));if(_np.guardFatal){_np.guardFatal(f)(_np);}else{f(_np);}}(function(P) {\nP.now('premium-module-12-nav-carousel').execute('init-premium-module-12-nav-carousel', function(init) {\n    if (init) {\n        return;\n    }\n    P.register('premium-module-12-nav-carousel', function(){\n        return function() {\n            P.when('A', 'jQuery', 'a-carousel-framework', 'ready').execute('premium-12-nav-carousel', function (A, $, framework) {\n                function initiateCarousel(module) {\n                    var MODULE_ID = $(module).data('module-id');\n                    \/**\n                    * Carousel button element classname\n                    * @const\n                    *\/\n                    var GOTO_BTN_CLASS_NAME = \"aplus-goto-btn-\" + MODULE_ID;\n                    \/**\n                    * Carousel button element active classname\n                    * @const\n                    *\/\n                    var GOTO_BTN_ACTIVE_CLASS_NAME = \"aplus-active\";\n                    \/**\n                    * AUI name for aui carousel\n                    * @const\n                    *\/\n                    var CAROUSEL_NAME = \"premium-aplus-12-carousel-\" + MODULE_ID;\n                    \/**\n                    * Module class name\n                    * @const\n                    *\/\n                    var MODULE_CLASS_NAME = \".aplus-v2 .premium-aplus-module-12\";\n                    \/**\n                    * Carousel text container class name\n                    * @const\n                    *\/\n                    var TEXT_CONTAINER_CLASS_NAME = MODULE_CLASS_NAME + \" .aplus-carousel-text-container-\" + MODULE_ID;\n                    \/**\n                    * Carousel text hidden class name\n                    * @const\n                    *\/\n                    var TEXT_CONTAINER_HIDDEN = \"aplus-hidden\";\n                    \/**\n                    * Carousel horizontal scroll container class name\n                    * @const\n                    *\/\n                    var HORIZONTAL_SCROLL_CONTAINER_CLASS_NAME = MODULE_CLASS_NAME + \" .aplus-horizontal-scroll-container-\" + MODULE_ID;\n\n                    function showCarouselText(oldIndex, newIndex) {\n                        var oldClass = TEXT_CONTAINER_CLASS_NAME + \"-\" + oldIndex;\n                        var newClass= TEXT_CONTAINER_CLASS_NAME + \"-\" + newIndex;\n                        $(oldClass).addClass(TEXT_CONTAINER_HIDDEN);\n                        $(newClass).removeClass(TEXT_CONTAINER_HIDDEN);\n                    }\n\n                    function scrollToCarouselButton(scrollLeft) {\n                        if ($(HORIZONTAL_SCROLL_CONTAINER_CLASS_NAME).length) {\n                            $(HORIZONTAL_SCROLL_CONTAINER_CLASS_NAME).animate({scrollLeft}, 200);\n                        }\n                    }\n\n                    \/**\n                    * Creates a CarouselButton class for provided carousel instance\n                    * @param {object} carousel - AUI Carousel instance\n                    * @returns {Class} - CarouselButton Class\n                    *\/\n                    function CarouselButtonTemplate(carousel) {\n                        \/**\n                        * Button for controlling the active slide\n                        * @constructor\n                        * @param {number} index - slide index\n                        * @param {DOMElement} [elem] - optional DOM element to use as this objects DOM representation\n                        *\/\n                        function CarouselButton(index, elem) {\n                            var self = this;\n                            this.index = index;\n                            this.carousel = carousel;\n\n                            \/* create the button element *\/\n                            this.elem = this.getElem(elem);\n                            this.$elem = $(this.elem);  \/* store jquery version *\/\n                            this.elem.addEventListener('click', self.handleClick.bind(self));\n                            this.elem.setAttribute('role', 'tab');\n\n                            \/* add this object to the object manager *\/\n                            CarouselButton.objects.byId[index] = this;\n                            CarouselButton.objects.all.push(this);\n                        }\n\n                        \/**\n                        * Describe behavior for click events on this.elem\n                        * @memberOf CarouselButton\n                        *\/\n                        CarouselButton.prototype.handleClick = function(e) {\n                            e.preventDefault();\n                            this.carousel.gotoPage(this.index);\n                        };\n\n                        \/**\n                        * Enter active state\n                        * @memberOf CarouselButton\n                        *\/\n                        CarouselButton.prototype.activate = function() {\n                            this.$elem.addClass(GOTO_BTN_ACTIVE_CLASS_NAME).attr('aria-selected', 'true');\n                        };\n\n                        \/**\n                        * Enter inactive state\n                        * @memberOf CarouselButton\n                        *\/\n                        CarouselButton.prototype.deactivate = function() {\n                            this.$elem.removeClass(GOTO_BTN_ACTIVE_CLASS_NAME).attr('aria-selected', 'false');\n                        };\n\n                        \/**\n                        * Returns an existing or creates a new bound element for this object\n                        * @memberOf CarouselButton\n                        * @param {DOMElement} [elem] - optionally provide an existing element in the DOM to use\n                        * @returns {DOMElement} - this objects DOM representation\n                        *\/\n                        CarouselButton.prototype.getElem = function(elem) {\n                            if (this.elem) return this.elem;\n                            if (elem) return elem;\n\n                            var createdElem = document.createElement('span');\n                            createdElem.className = GOTO_BTN_CLASS_NAME;\n\n                            return createdElem;\n                        };\n\n                        \/** @const Object manager *\/\n                        CarouselButton.objects = {\n                            byId: {},\n                            all: [],\n                        };\n\n                        return CarouselButton;\n                    }\n\n                    framework.onInit(CAROUSEL_NAME, function(carousel) {\n                        \/** @const {Class} *\/\n                        var CarouselButton = CarouselButtonTemplate(carousel);\n\n                        \/* create carousel controls *\/\n                        var $carouselBtns = $(safeClassSelector(GOTO_BTN_CLASS_NAME));\n                        var btns = $carouselBtns.map(function(i, btnElem) {\n                            return new CarouselButton(i + 1, btnElem);\n                        });\n\n                        \/* activate first one *\/\n                        CarouselButton.objects.byId[1].activate();\n\n                        \/* Listen to slide changes *\/\n                        A.on(\"a:carousel:\" + CAROUSEL_NAME + \":change:pageNumber\", function (data) {\n                            var newCarouselButton = CarouselButton.objects.byId[data.newValue];\n                            var marginLeft = parseInt(getComputedStyle(newCarouselButton.elem).getPropertyValue('margin-left'));\n                            var positionLeft = newCarouselButton.elem.offsetLeft - marginLeft;\n\n                            newCarouselButton.activate();\n                            CarouselButton.objects.byId[data.oldValue].deactivate();\n                            scrollToCarouselButton(positionLeft);\n                            showCarouselText(data.oldValue, data.newValue);\n                        });\n                    });\n\n                    \/**\n                    * @returns {string} - css classname prefixed with module selector\n                    *\/\n                    function safeClassSelector(className) {\n                        return '.' + MODULE_CLASS_NAME + ' .' + className;\n                    }\n                }\n\n                $('.aplus-v2 .premium-aplus-module-12 .aplus-carousel-container').each(function (index, module) {\n                    initiateCarousel(module);\n                });\n                framework.createAll();\n                framework.initializeAll();\n            });\n        }\n    })\n});\n}));\n\/\/ ]]\u003e\u003c\/script\u003e\n\u003cdiv class=\"aplus-content-wrapper\"\u003e\n\u003cdiv class=\"celwidget aplus-module premium-module-12-nav-carousel aplus-premium\" cel_widget_id=\"aplus-premium-module-12-nav-carousel\"\u003e\n\u003cdiv class=\"a-section a-spacing-none premium-aplus premium-aplus-module-12 premium-aplus-module-12--top-nav\"\u003e\n\u003cdiv data-module-id=\"1\" class=\"a-section a-spacing-none aplus-carousel-container\"\u003e\n\u003cdiv id=\"premium-aplus-12-carousel-1-id\" data-a-carousel-options='{\"peek_percentage\":0,\"minimum_gutter_width\":0,\"show_partial_next\":false,\"name\":\"premium-aplus-12-carousel-1\"}' 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 aplus-image-carousel-container\"\u003e\n\u003cdiv class=\"a-row a-carousel-controls a-carousel-row a-carousel-has-buttons a-carousel-overlay-buttons a-carousel-rounded-buttons\"\u003e\n\u003cdiv class=\"a-carousel-row-inner\"\u003e\n\u003cdiv class=\"a-carousel-col a-carousel-center\"\u003e\n\u003cdiv class=\"a-carousel-viewport\" aria-roledescription=\"slide\"\u003e\n\u003col class=\"a-carousel\" role=\"list\"\u003e\n\u003cli aria-roledescription=\"slide\" class=\"a-carousel-card aplus-carousel-card\" aria-setsize=\"2\"\u003e\n\u003cdiv class=\"a-section a-spacing-none aplus-card-image\"\u003e\n\u003cimg alt=\"SERUM_공통1\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/a562c8b5-259e-475e-841e-51077956907e.__CR0,0,1464,600_PT0_SX1464_V1___.png\"\u003e\u003cimg alt=\"SERUM_공통2\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/b43f2bb0-4dbf-43cc-8f97-33e628d9b9e7.__CR0,0,1464,600_PT0_SX1464_V1___.png\"\u003e\u003cimg alt=\"Madecassoside Blemish Repair Serum\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/cdedb822-76db-4651-bd4f-2011a6ab0553.__CR0,0,1464,600_PT0_SX1464_V1___.png\"\u003e\u003cimg alt=\"SERUM_BENEFIT_MAD\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/c5fb382e-4da0-4048-8802-94c7ce778f81.__CR0,0,1464,600_PT0_SX1464_V1___.png\"\u003e\u003cimg alt=\"Madecassoside Blemish Repair Serum\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/5b3e9fe0-4535-45e2-be31-a341022f2475.__CR0,0,1464,600_PT0_SX1464_V1___.png\"\u003e\u003cimg alt=\"Madecassoside Blemish Repair Serum\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/7c46d544-7a20-4360-a00f-a6e90981bb74.__CR0,0,1464,600_PT0_SX1464_V1___.png\"\u003e\u003cimg alt=\"Madecassoside Blemish Repair Serum\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/62e3c96f-1920-442a-a3a7-ea21be300c0e.__CR0,0,1464,600_PT0_SX1464_V1___.png\"\u003e\u003cimg alt=\"Teatree Calming Serum\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/0791ae5f-0ee0-474d-9f4b-f77a43b28e5c.__CR0,0,1464,600_PT0_SX1464_V1___.png\"\u003e\u003cimg alt=\"Extreme Blemish Care\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/92420b5a-fbc3-403f-8b61-c885c58b7971.__CR0,0,1464,600_PT0_SX1464_V1___.png\"\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003c\/ol\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"celwidget aplus-module premium-module-12-nav-carousel aplus-premium\" cel_widget_id=\"aplus-premium-module-12-nav-carousel\"\u003e\n\u003cdiv class=\"a-section a-spacing-none premium-aplus premium-aplus-module-12 premium-aplus-module-12--top-nav\"\u003e\n\u003cdiv data-module-id=\"3\" class=\"a-section a-spacing-none aplus-carousel-container\"\u003e\n\u003cdiv id=\"premium-aplus-12-carousel-3-id\" data-a-carousel-options='{\"peek_percentage\":0,\"minimum_gutter_width\":0,\"show_partial_next\":false,\"name\":\"premium-aplus-12-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 aplus-image-carousel-container\"\u003e\u003cspan class=\"a-end aok-hidden\"\u003e\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv id=\"aplus-carousel-actions-3\" aria-label=\"tablist section\" class=\"a-section aplus-carousel-actions\" role=\"tablist\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript type=\"text\/javascript\"\u003e\/\/ \u003c![CDATA[\n(function(f) {var _np=(window.P._namespace(\"PremiumAplusModule\"));if(_np.guardFatal){_np.guardFatal(f)(_np);}else{f(_np);}}(function(P) {\n    P.when('premium-module-12-nav-carousel').execute('invoke-premium-12-nav-carousel-desktop-top', function(init){\n        init();\n    });\n}));\n\/\/ ]]\u003e\u003c\/script\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cdiv id=\"feature-bullets\" class=\"a-section a-spacing-medium a-spacing-top-small\"\u003e\n\u003ch2 class=\"a-size-base-plus a-text-bold\"\u003eAbout this item\u003c\/h2\u003e\n\u003cdiv data-a-expander-collapsed-height=\"300\" class=\"a-expander-collapsed-height a-row a-expander-container a-expander-partial-collapse-container\"\u003e\n\u003cdiv data-expanded=\"false\" class=\"a-expander-content a-expander-partial-collapse-content\"\u003e\n\u003cul class=\"a-unordered-list a-vertical a-spacing-mini\"\u003e\n\u003cli class=\"a-spacing-mini\"\u003e\u003cspan class=\"a-list-item\"\u003e [CERTIFICATION] Hypoallergenic, clinically tested on sensitive skin, proven non-comedogenic and dermatologically tested in Germany. \u003c\/span\u003e\u003c\/li\u003e\n\u003cli class=\"a-spacing-mini\"\u003e\u003cspan class=\"a-list-item\"\u003e [HOW TO USE] After cleansing, apply a moderate amount of serum to the entire face and pat lightly. \u003c\/span\u003e\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c!-- Loading EDP related metadata --\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cdiv class=\"a-section content\"\u003e\n\u003ch4\u003e\u003c\/h4\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e","brand":"Ray Luxe Studio","offers":[{"title":"Vitamin C","offer_id":47970091827458,"sku":null,"price":17.0,"currency_code":"USD","in_stock":true},{"title":"Spicule","offer_id":47970091860226,"sku":null,"price":20.0,"currency_code":"USD","in_stock":true},{"title":"Madecassoside","offer_id":47970091892994,"sku":null,"price":15.99,"currency_code":"USD","in_stock":true},{"title":"Teatree","offer_id":47970091925762,"sku":null,"price":17.0,"currency_code":"USD","in_stock":true},{"title":"Hyaluronate","offer_id":47970091958530,"sku":null,"price":17.0,"currency_code":"USD","in_stock":true},{"title":"PDRN","offer_id":47970091991298,"sku":null,"price":17.0,"currency_code":"USD","in_stock":true},{"title":"Collagen","offer_id":47970092024066,"sku":null,"price":17.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0820\/6460\/5442\/files\/71cFGPWHYoL.jpg?v=1781013184","url":"https:\/\/rayluxestudio.com\/products\/mediheal-madecassoside-repair-serum-1-35-fl-oz-blemish-care-fades-pigmentation-and-freckles-skin-soothing-hydration-with-centella-asiatica-niacinamide","provider":"Ray Luxe Studio","version":"1.0","type":"link"}