{"product_id":"lakumu-snowflake-string-lights-20ft-battery-operated-thoughtful-birthday-gift-for-her-and-cozy-home-enthusiasts","title":"Lakumu Snowflake String Lights 20FT Battery Operated Thoughtful Birthday Gift for Her and Cozy Home Enthusiasts","description":"\u003cdiv class=\"geo-product-body\"\u003e\n\u003csection class=\"geo-appeal\"\u003e\u003ch2\u003eWhy you'll love it\u003c\/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRechargeable battery eliminates messy extension cords and lets you decorate anywhere, indoors or out\u003c\/li\u003e\n\u003cli\u003eAuto-timer (6h on \/ 18h off) means lights run themselves at night without daily switch-on effort\u003c\/li\u003e\n\u003cli\u003eIP67 waterproof rating and safe-to-touch LEDs allow worry-free use around kids, pets, and weather\u003c\/li\u003e\n\u003cli\u003eSnowflake-shaped LEDs add a unique festive aesthetic that plain string lights cannot match\u003c\/li\u003e\n\u003cli\u003eEight lighting modes let one set of lights serve multiple moods (twinkle, steady, fade, etc.)\u003c\/li\u003e\n\u003cli\u003eMultiple color and size variants (cool\/warm\/multicolor\/blue, 20FT and 33FT) make it easy to match any decor scheme\u003c\/li\u003e\n\u003c\/ul\u003e\u003c\/section\u003e\u003csection class=\"geo-usecases\"\u003e\u003ch2\u003ePerfect for\u003c\/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDrape around a Christmas tree as the primary twinkle layer\u003c\/li\u003e\n\u003cli\u003eSet bedroom or dorm room mood lighting with the 6-hour auto-timer\u003c\/li\u003e\n\u003cli\u003eAccent wedding tables, arches, and reception centerpieces\u003c\/li\u003e\n\u003cli\u003eWrap around windows, garlands, and stair railings for winter parties\u003c\/li\u003e\n\u003cli\u003eLight up an outdoor patio or café seating area without needing a plug\u003c\/li\u003e\n\u003c\/ul\u003e\u003c\/section\u003e\u003csection class=\"geo-original\"\u003e\u003cdiv class=\"aplus-v2 desktop celwidget\" cel_widget_id=\"aplus\" data-cel-widget=\"aplus\" data-csa-c-id=\"gfjcyv-kir42x-vwreuz-lqy97c\"\u003e\n        \u003cstyle type=\"text\/css\"\u003e\n    .aplus-v2 .premium-aplus-module-13 .aplus-carousel-container {\n        position: relative;\n    }\n\n    .aplus-v2 .premium-aplus-module-13 .aplus-carousel-element {\n        position: relative;\n        width: 100%;\n    }\n\n    .aplus-v2 .premium-aplus-module-13 .aplus-card-link-button {\n        text-align: center;\n        padding-top: 20px;\n    }\n\n    .aplus-v2 .premium-aplus-module-13 .aplus-text-background,\n    .aplus-v2 .premium-aplus-module-13 .aplus-text-background h1,\n    .aplus-v2 .premium-aplus-module-13 .aplus-text-background h5,\n    .aplus-v2 .premium-aplus-module-13 .aplus-text-background ol,\n    .aplus-v2 .premium-aplus-module-13 .aplus-text-background ul,\n    .aplus-v2 .premium-aplus-module-13 .aplus-text-background ol .a-list-item,\n    .aplus-v2 .premium-aplus-module-13 .aplus-text-background ul .a-list-item {\n        color: #fff;\n    }\n\n\u003c\/style\u003e      \u003cstyle type=\"text\/css\"\u003e\n\n.aplus-v2 .premium-aplus-module-2 .premium-background-wrapper {\n    position: relative;\n}\n\n.aplus-v2 .premium-aplus-module-2 .premium-intro-wrapper {\n    position: absolute;\n    width: 50%;\n    height: 100%;\n    top: 0;\n}\n\n.aplus-v2 .premium-aplus-module-2 .premium-intro-wrapper.right {\n    left: 50%;\n}\n\nhtml[dir=\"rtl\"] .aplus-v2 .premium-aplus-module-2 .premium-intro-wrapper.right {\n    left: auto;\n    right: 50%;\n}\n\n.aplus-v2 .premium-aplus-module-2 .premium-intro-wrapper.secondary-color {\n    color: #fff;\n}\n\n.aplus-v2 .premium-aplus-module-2 .premium-intro-background {\n    padding: 20px;\n}\n\n.aplus-v2 .premium-aplus-module-2 .aplus-module-2-topic {\n    padding-bottom: 10px;\n}\n\n.aplus-v2 .premium-aplus-module-2 .aplus-module-2-heading {\n    padding-bottom: 20px;\n}\n\n.aplus-v2 .premium-aplus-module-2 .aplus-module-2-description {\n    line-height: 1.5em;\n}\n\n.aplus-v2 .premium-aplus-module-2 .premium-intro-background.white-background {\n    background: rgba(255,255,255,0.5);\n}\n\n.aplus-v2 .premium-aplus-module-2 .premium-intro-background.black-background {\n    background: rgba(0,0,0,0.5);\n}\n\n.aplus-v2 .premium-aplus-module-2 .premium-intro-background.black-background,\n.aplus-v2 .premium-aplus-module-2 .premium-intro-background.black-background h1,\n.aplus-v2 .premium-aplus-module-2 .premium-intro-background.black-background h5,\n.aplus-v2 .premium-aplus-module-2 .premium-intro-background.black-background ol,\n.aplus-v2 .premium-aplus-module-2 .premium-intro-background.black-background ul,\n.aplus-v2 .premium-aplus-module-2 .premium-intro-background.black-background ol .a-list-item,\n.aplus-v2 .premium-aplus-module-2 .premium-intro-background.black-background ul .a-list-item {\n  color: #fff;\n}\n\n.aplus-v2 .premium-aplus-module-2 .premium-intro-content-container {\n    display: table;\n    height: 100%;\n}\n\n.aplus-v2 .premium-aplus-module-2 .premium-intro-wrapper.left .premium-intro-content-container {\n    padding-left: 40px;\n}\n\nhtml[dir=\"rtl\"] .aplus-v2 .premium-aplus-module-2 .premium-intro-wrapper.left .premium-intro-content-container {\n\tpadding-left: 0px;\n\tpadding-right: 40px;\n}\n\n.aplus-v2 .premium-aplus-module-2 .premium-intro-wrapper.right .premium-intro-content-container {\n    padding-right: 40px;\n}\n\nhtml[dir=\"rtl\"] .aplus-v2 .premium-aplus-module-2 .premium-intro-wrapper.right .premium-intro-content-container {\n    padding-right: 0px;\n    padding-left: 40px;\n}\n\n.aplus-v2 .premium-aplus-module-2 .premium-intro-content-column {\n    display: table-cell;\n    vertical-align: middle;\n}\n\n\n\u003c\/style\u003e\n      \u003cstyle type=\"text\/css\"\u003e\n\n\/**\n * Premium modules global styles\n *\/\n.aplus-v2.desktop {\n  max-width: 1464px;\n  min-width: 800px;\n  margin-left: auto;\n  margin-right: auto;\n  word-wrap: break-word;\n  overflow-wrap: break-word;\n  word-break: break-word;\n}\n\/* Undo this for tech-specs because it breaks table layout *\/\n.aplus-v2.desktop .premium-aplus .aplus-tech-spec-table { word-break: initial; }\n\n.aplus-v2 .premium-aplus,\n.aplus-v2 .premium-aplus .aplus-h1,\n.aplus-v2 .premium-aplus .aplus-h2,\n.aplus-v2 .premium-aplus .aplus-p1,\n.aplus-v2 .premium-aplus .aplus-p2,\n.aplus-v2 .premium-aplus .aplus-p3,\n.aplus-v2 .premium-aplus .aplus-accent1,\n.aplus-v2 .premium-aplus .aplus-accent2\n{ font-family: Arial, sans-serif; }\n\n.aplus-v2 .premium-aplus,\n.aplus-v2 .premium-aplus .aplus-h1,\n.aplus-v2 .premium-aplus .aplus-h2,\n.aplus-v2 .premium-aplus .aplus-p1,\n.aplus-v2 .premium-aplus .aplus-p2,\n.aplus-v2 .premium-aplus .aplus-p3,\n.aplus-v2 .premium-aplus .aplus-accent1,\n.aplus-v2 .premium-aplus .aplus-accent2\n{ font-family: inherit; }\n\n\/* type *\/\n.aplus-v2 .premium-aplus .aplus-h1 { font-size: 32px; line-height: 1.2em; font-weight: 500; }\n.aplus-v2 .premium-aplus .aplus-h2 { font-size: 26px; line-height: 1.25em; font-weight: 500; }\n.aplus-v2 .premium-aplus .aplus-h3 { font-size: 18px; line-height: 1.25em; font-weight: 500; }\n.aplus-v2 .premium-aplus .aplus-p1 { font-size: 20px; line-height: 1.3em; font-weight: 300; }\n.aplus-v2 .premium-aplus .aplus-p2 { font-size: 16px; line-height: 1.4em; font-weight: 300; }\n.aplus-v2 .premium-aplus .aplus-p3 { font-size: 14px; line-height: 1.4em; font-weight: 300; }\n.aplus-v2 .premium-aplus .aplus-accent1 { font-size: 16px; line-height: 1.4em; font-weight: 600; }\n.aplus-v2 .premium-aplus .aplus-accent2 { font-size: 14px; line-height: 1.4em; font-weight: 600; }\n\n\/* spacing *\/\n.aplus-v2 .aplus-container-1 { padding: 40px; }\n.aplus-v2 .aplus-container-1-2 { padding: 40px 80px; }\n.aplus-v2 .aplus-container-2 { padding: 80px; }\n.aplus-v2 .aplus-container-3 { padding: 40px 0; }\n\n\/* Display *\/\n.aplus-v2 .premium-aplus .aplus-display-table { display: table; }\n.aplus-v2 .premium-aplus .aplus-display-table-cell { display: table-cell; }\n.aplus-v2 .premium-aplus .aplus-display-inline-block { display: inline-block; }\n\n\/* Aplus display table with min-width 1000px and fill remaining space inside parent *\/\n.aplus-v2.desktop .premium-aplus .aplus-display-table-width { min-width: 1000px; width: 100% }\n\n\/**\n* Padding and margin for element should be 10, 20, 40, or 80 px. Considering mini 10, small 20, medium 40, large 80.\n*\/\n\n\u003c\/style\u003e\n      \u003cstyle type=\"text\/css\"\u003e\n\n\/**\n * Premium-module 12: Nav Carousel\n *\/\n\n.aplus-v2 .premium-aplus-module-12 .aplus-carousel-card {\n    position: relative;\n    width: 100%;\n}\n\n.aplus-v2 .premium-aplus-module-12 .aplus-carousel-container {\n    position: relative;\n}\n\n.aplus-v2 .premium-aplus-module-12 .aplus-image-carousel-container {\n    \/* Match the aspect ratio of the desktop image uploaded via the editor (1464px x 600px) *\/\n    padding-top: calc(600 \/ 1464 * 100%); \/* ~40.983% *\/\n    height: 0;\n}\n\n.aplus-v2 .premium-aplus-module-12 .aplus-image-carousel-container \u003e div {\n    position: absolute;\n    width: 100%;\n    height: 100%;\n    top: 0;\n    left: 0;\n}\n\n\/* Override AUI styles. It poorly attempts to measure the slide heights before waiting until images load. *\/\n.aplus-v2 .premium-aplus-module-12 .a-carousel-viewport {\n    height: 100% !important;\n}\n\n.aplus-v2 .premium-aplus-module-12 .aplus-card-image img {\n    width: 100%;\n    height: auto;\n}\n\n.aplus-v2 .premium-aplus-module-12 .aplus-card-details-wrapper {\n    position: absolute;\n    top: 0;\n    width: 50%;\n    height: 100%;\n}\n\n.aplus-v2 .premium-aplus-module-12 .aplus-card-detail {\n    display: table;\n    width: 100%;\n    height: 100%\n}\n\n.aplus-v2 .premium-aplus-module-12 .card-description {\n    text-align: left;\n}\n\nhtml[dir=\"rtl\"] .aplus-v2 .premium-aplus-module-12 .card-description {\n    text-align: right;\n}\n\n.aplus-v2 .premium-aplus-module-12 .aplus-table-cell {\n    display: table-cell;\n    vertical-align: middle;\n}\n\n.aplus-v2 .premium-aplus-module-12 .aplus-text-background {\n    padding: 20px;\n}\n\n.aplus-v2 .premium-aplus-module-12 .aplus-text-background-color {\n    background: rgba(0, 0, 0, 0.5);\n}\n\n.aplus-v2 .premium-aplus-module-12 .aplus-text-background-color,\n.aplus-v2 .premium-aplus-module-12 .aplus-text-background-color h1,\n.aplus-v2 .premium-aplus-module-12 .aplus-text-background-color h5,\n.aplus-v2 .premium-aplus-module-12 .aplus-text-background-color ol,\n.aplus-v2 .premium-aplus-module-12 .aplus-text-background-color ul,\n.aplus-v2 .premium-aplus-module-12 .aplus-text-background-color ol .a-list-item,\n.aplus-v2 .premium-aplus-module-12 .aplus-text-background-color ul .a-list-item {\n    color: #fff;\n}\n\n.aplus-v2 .premium-aplus-module-12 .description {\n    margin-top: 20px;\n}\n\n\/* nav *\/\n.aplus-v2 .premium-aplus-module-12 .aplus-carousel-actions {\n    position: absolute;\n    top: 20px;\n    width: 100%;\n    text-align: center;\n}\n\n.aplus-v2 .premium-aplus-module-12 .aplus-goto-btn {\n    display: inline-block;\n    margin: 7px 10px;\n    cursor: pointer;\n    border-radius: 30px;\n    border: 2px solid #000;\n    line-height: 2.5em;\n    min-width: 200px;\n    background-color: #fff;\n    white-space: nowrap;\n    color: #000;\n}\n\n.aplus-v2 .premium-aplus-module-12 .aplus-carousel-index {\n    display: none;\n}\n\n.aplus-v2 .premium-aplus-module-12 .aplus-goto-btn.aplus-active {\n    border-color: #fff;\n    background-color: #000;\n    color: #fff;\n}\n\n\/**\n * Regimen template specific css\n *\/\n\nhtml[dir=\"rtl\"] .aplus-v2 .premium-aplus-module-12 .aplus-goto-btn.regimen {\n    text-align: right;\n}\n\n.aplus-v2 .premium-aplus-module-12 .aplus-carousel-actions.regimen {\n    text-align: right;\n    top: 50%;\n    width: 250px;\n    right: 75px;\n    -webkit-transform: translateY(-50%);\n    -moz-transform: translateY(-50%);\n    -o-transform: translateY(-50%);\n    transform: translateY(-50%);\n}\n\nhtml[dir=\"rtl\"] .aplus-v2 .premium-aplus-module-12 .aplus-carousel-actions.regimen {\n    text-align: left;\n    top: 50%;\n    left: 75px;\n    right: auto;\n}\n\n.aplus-v2 .premium-aplus-module-12 .aplus-goto-btn.regimen {\n    display: inline-block;\n    margin: 10px 10px;\n    cursor: pointer;\n    border-radius: 30px;\n    border: 2px solid #000;\n    width: 220px;\n    background-color: #fff;\n    padding: 2px 0 2px;\n}\n\n.aplus-v2 .premium-aplus-module-12 .aplus-goto-btn.regimen.aplus-active {\n    border-color: #fff;\n    background-color: #000;\n    color: #fff;\n}\n\n.aplus-v2 .premium-aplus-module-12 .aplus-goto-btn.regimen.aplus-active .aplus-carousel-index {\n    color: inherit;\n}\n\n.aplus-v2 .premium-aplus-module-12 .aplus-goto-btn.regimen.aplus-active .aplus-carousel-label {\n    color: inherit;\n}\n\n.aplus-v2 .premium-aplus-module-12 .aplus-carousel-actions .regimen .aplus-carousel-index {\n    display: inline-block;\n    width: 12px;\n    color: #000;\n}\n\n.aplus-v2 .premium-aplus-module-12 .aplus-carousel-actions .regimen .aplus-carousel-label {\n    color: #000;\n}\n\nhtml[dir=\"rtl\"] .aplus-v2 .premium-aplus-module-12 .aplus-carousel-actions .regimen .aplus-carousel-index {\n    margin-left: 0px;\n    margin-right: 6px;\n}\n\n.aplus-v2 .premium-aplus-module-12 .aplus-headline-top.regimen {\n    position: absolute;\n    top: 0;\n    left: 0;\n    width: 100%;\n    background-color: #000;\n    opacity: 0.5;\n    text-align: center;\n}\n\n.aplus-v2 .premium-aplus-module-12 .aplus-headline-top.regimen .aplus-headline {\n    color: #fff;\n    line-height: 2em;\n}\n\n\/**\n * Navigation template specific css\n *\/\n\n.aplus-v2 .premium-aplus-module-12--top-nav .aplus-carousel-actions {\n    background-color: rgba(0, 0, 0, 0.8);\n    top: 0px;\n}\n\n.aplus-v2 .premium-aplus-module-12--top-nav .aplus-goto-btn {\n    padding: 8px;\n    color: #fff;\n    background-color: transparent;\n    border: none;\n}\n\n.aplus-v2 .premium-aplus-module-12--top-nav .aplus-goto-btn.aplus-active {\n    text-decoration: underline;\n    text-underline-offset: 0.8em;\n    text-decoration-thickness: 3px;\n    background-color: transparent;\n    border: none;\n}\n\u003c\/style\u003e\n      \u003cstyle type=\"text\/css\"\u003e\n\n\/**\n * Premium-module 13: Carousel\n *\/\n\n.aplus-v2 .premium-aplus-module-13 .aplus-card-description-wrapper {\n    position: absolute;\n    top: 0;\n    left: 0;\n    width: 100%;\n    height: 100%;\n}\n\n.aplus-v2 .premium-aplus-module-13 .aplus-card-description {\n    display: table;\n    width: 50%;\n    height: 100%;\n    color: #fff;\n}\n\n.aplus-v2 .premium-aplus-module-13 .aplus-card-table-cell {\n    display: table-cell;\n    vertical-align: middle;\n    text-align: left;\n}\n\nhtml[dir=\"rtl\"] .aplus-v2 .premium-aplus-module-13 .aplus-card-table-cell {\n    text-align: right;\n}\n\n.aplus-v2 .premium-aplus-module-13 .aplus-text-background {\n    background: rgba(0, 0, 0, 0.6);\n}\n\n.aplus-v2 .premium-aplus-module-13 .aplus-card-body {\n    padding: 20px 40px 0 0;\n}\n\nhtml[dir=\"rtl\"] .aplus-v2 .premium-aplus-module-13 .aplus-card-body {\n    padding: 20px 0 0 40px;\n}\n\n.aplus-v2 .premium-aplus-module-13 .aplus-pagination-wrapper {\n    position: absolute;\n    top: 92%;\n    width: 100%;\n}\n\n\u003c\/style\u003e\n       \u003cscript type=\"text\/javascript\"\u003e(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(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(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}));\u003c\/script\u003e                    \u003cdiv class=\"celwidget aplus-module premium-module-2-fullbackground-image aplus-premium\" cel_widget_id=\"aplus-premium-module-2-fullbackground-image\" data-cel-widget=\"aplus-premium-module-2-fullbackground-image\" data-csa-c-id=\"bgjqon-qvilf3-u3e5hn-omiox6\"\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 Exclusive 2025 First Edition Lakumu Rechargeable Snowflake String Lights \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=\"twinkle lights\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/daf1f577-f54a-4fa6-bb63-c4d19954a53a.__CR0,0,1464,600_PT0_SX1464_V1___.jpg\" class=\"\" data-src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/daf1f577-f54a-4fa6-bb63-c4d19954a53a.__CR0,0,1464,600_PT0_SX1464_V1___.jpg\"\u003e\u003cnoscript\u003e\u003cimg alt=\"twinkle lights\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/daf1f577-f54a-4fa6-bb63-c4d19954a53a.__CR0,0,1464,600_PT0_SX1464_V1___.jpg\"\u003e\u003c\/noscript\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\" data-cel-widget=\"aplus-premium-module-13-carousel\" data-csa-c-id=\"4blv2h-tgppxi-q6gx3d-shpt45\"\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-1-id\" data-a-carousel-options='{\"name\":\"premium-aplus-13-carousel-1\",\"peek_percentage\":0,\"minimum_gutter_width\":0,\"show_partial_next\":false}' aria-label=\"Featured content carousel\" aria-roledescription=\"carousel\" data-a-display-strategy=\"single\" data-a-transition-strategy=\"slideCircular\" role=\"group\" class=\"a-begin a-carousel-container a-carousel-display-single a-carousel-transition-slideCircular a-carousel-initialized\"\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\" style=\"visibility: visible;\"\u003e\u003ca class=\"a-carousel-goto-prevpage\" role=\"button\" href=\"#\"\u003e\u003ci class=\"a-icon a-icon-previous-rounded\"\u003e\u003cspan class=\"a-icon-alt\"\u003ePrevious page\u003c\/span\u003e\u003c\/i\u003e\u003c\/a\u003e\u003c\/div\u003e\n\u003cdiv class=\"a-carousel-col a-carousel-center\"\u003e\u003cdiv class=\"a-carousel-viewport\" role=\"group\" aria-roledescription=\"slide\" id=\"anonCarousel2\" style=\"height: 600px;\"\u003e\u003col class=\"a-carousel\" role=\"list\" style=\"width: 2928px;\"\u003e\n\u003cli aria-roledescription=\"slide\" class=\"a-carousel-card aplus-carousel-element\" aria-setsize=\"2\" aria-posinset=\"1\" aria-hidden=\"false\" style=\"visibility: visible; width: 1464px; margin: 0px;\"\u003e \u003cdiv id=\"premium-aplus-13-carousel-1-slide-0\"\u003e\n                                         \u003cdiv class=\"a-section a-spacing-none aplus-card-image\"\u003e                                        \u003cimg alt=\"twinkle lights\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/c520af21-6412-46b6-9788-83ad25f222da.__CR0,0,1464,600_PT0_SX1464_V1___.jpg\"\u003e    \u003c\/div\u003e   \u003c\/div\u003e\n                            \u003c\/li\u003e\n\u003cli aria-roledescription=\"slide\" class=\"a-carousel-card aplus-carousel-element\" aria-setsize=\"2\" aria-posinset=\"2\" aria-hidden=\"true\" style=\"visibility: hidden; width: 1464px; margin: 0px;\"\u003e \u003cdiv id=\"premium-aplus-13-carousel-1-slide-1\"\u003e\n                                         \u003cdiv class=\"a-section a-spacing-none aplus-card-image\"\u003e                                        \u003cimg alt=\"fairy lights battery operated\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/7ea2e113-404b-4a61-836f-ca3553902097.__CR0,0,1464,600_PT0_SX1464_V1___.jpg\"\u003e    \u003c\/div\u003e   \u003c\/div\u003e\n                            \u003c\/li\u003e\n\u003c\/ol\u003e\u003c\/div\u003e\u003c\/div\u003e\n\u003cdiv class=\"a-carousel-col a-carousel-right\" style=\"visibility: visible;\"\u003e\u003ca class=\"a-carousel-goto-nextpage\" role=\"button\" href=\"#\"\u003e\u003ci class=\"a-icon a-icon-next-rounded\"\u003e\u003cspan class=\"a-icon-alt\"\u003eNext page\u003c\/span\u003e\u003c\/i\u003e\u003c\/a\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      \u003cstyle type=\"text\/css\"\u003e\n\n.aplus-mantle.aplus-module .aplus-pagination-dots {\n    margin: 0;\n}\n\n.aplus-mantle.aplus-module .aplus-pagination-dot {\n    display: inline-block;\n    list-style: none;\n}\n\n.aplus-mantle.aplus-module .aplus-carousel-nav {\n    text-align:center;\n}\n\n.aplus-mantle.aplus-module .carousel-slider-circle {\n    display: inline-block;\n    cursor: pointer;\n    height: 15px;\n    width: 15px;\n    border: 1px solid #000;\n    border-radius: 20px;\n    background-color: #fff;\n    margin-left: 5px;\n}\n\n.aplus-mantle.aplus-module .carousel-slider-circle.aplus-carousel-active {\n    background-color: #DE7921;\n}\n\n.aplus-mantle.aplus-module .aplus-pagination-dot--display-none {\n    display: none;\n}\n\n\u003c\/style\u003e\n  \u003cscript\u003e\n\nP.now(\"premium-aplus-13-carousel-1\").execute(function(init) {\n    if (init) {\n        return;\n    }\n    P.register(\"premium-aplus-13-carousel-1\", 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 = \"1\";\n                var carouselName = \"premium-aplus-13-carousel-1\";\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 \u0026\u0026 parentElement.children) {\n                        const children = parentElement.children;\n                        for (let i = 0; i \u003c children.length; i++) {\n                            if (i \u003e= numPages) {\n                                \/\/ If number of dots \u003e 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 \u0026\u0026 event.$event.keyCode === ENTER_KEY_CODE;\n                            var isEsc = isKeydown \u0026\u0026 event.$event.keyCode === ESCAPE_KEY_CODE;\n                            var isLeftArrow = isKeydown \u0026\u0026 event.$event.keyCode === LEFT_ARROW_KEY;\n                            var isRightArrow = isKeydown \u0026\u0026 event.$event.keyCode === RIGHT_ARROW_KEY;\n                            var isHome = isKeydown \u0026\u0026 event.$event.keyCode === HOME_KEY;\n                            var isEnd = isKeydown \u0026\u0026 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 \u003e 0 ? currentIndex - 1 : dots.length - 1;\n                                } else if (isRightArrow) {\n                                    nextIndex = currentIndex \u003c 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-1-premium-aplus-13-carousel-1\" 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-1-premium-aplus-13-carousel-1\" data-aplus-pagination-dot-action-1-premium-aplus-13-carousel-1='{\"page\": 1}' aria-label=\"slide-1\" aria-controls=\"premium-aplus-13-carousel-1-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-1-premium-aplus-13-carousel-1\" data-aplus-pagination-dot-action-1-premium-aplus-13-carousel-1='{\"page\": 2}' aria-label=\"slide-2\" aria-controls=\"premium-aplus-13-carousel-1-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  \u003cscript type=\"text\/javascript\"\u003e(function(f) {var _np=(window.P._namespace(\"PremiumAplusModule\"));if(_np.guardFatal){_np.guardFatal(f)(_np);}else{f(_np);}}(function(P) {\n    P.when(\"premium-aplus-13-carousel-1\").execute(function(init){init();});\n}));\u003c\/script\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\" data-cel-widget=\"aplus-premium-module-2-fullbackground-image\" data-csa-c-id=\"nauqsp-62vh37-krrfty-10ij48\"\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 40 Safe-to-touch Brighter sonwflake-shaped LEDs \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=\"twinkle lights\" src=\"https:\/\/images-na.ssl-images-amazon.com\/images\/G\/01\/x-locale\/common\/grey-pixel.gif\" class=\"a-lazy-loaded\" data-src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/a732ca16-93c1-4c2c-baa3-bf8b5c52b717.__CR0,0,1464,600_PT0_SX1464_V1___.jpg\"\u003e\u003cnoscript\u003e\u003cimg alt=\"twinkle lights\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/a732ca16-93c1-4c2c-baa3-bf8b5c52b717.__CR0,0,1464,600_PT0_SX1464_V1___.jpg\"\u003e\u003c\/noscript\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-12-nav-carousel aplus-premium\" cel_widget_id=\"aplus-premium-module-12-nav-carousel\" data-cel-widget=\"aplus-premium-module-12-nav-carousel\" data-csa-c-id=\"cuoboz-igk2ce-wbelzk-l76k96\"\u003e\n                                                              \u003cdiv class=\"a-section a-spacing-none premium-aplus premium-aplus-module-12 premium-aplus-module-12--top-nav\"\u003e \u003cdiv data-module-id=\"3\" class=\"a-section a-spacing-none aplus-carousel-container\"\u003e \u003cdiv id=\"premium-aplus-12-carousel-3-id\" data-a-carousel-options='{\"name\":\"premium-aplus-12-carousel-3\",\"peek_percentage\":0,\"minimum_gutter_width\":0,\"show_partial_next\":false}' aria-label=\"Featured content carousel\" aria-roledescription=\"carousel\" data-a-display-strategy=\"single\" data-a-transition-strategy=\"slideCircular\" role=\"group\" class=\"a-begin a-carousel-container a-carousel-display-single a-carousel-transition-slideCircular aplus-image-carousel-container\"\u003e\n\u003cinput autocomplete=\"on\" type=\"hidden\" class=\"a-carousel-firstvisibleitem\"\u003e  \u003cdiv class=\"a-row a-carousel-controls a-carousel-row a-carousel-has-buttons 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\u003ca class=\"a-carousel-goto-prevpage\" role=\"button\" href=\"#\"\u003e\u003ci class=\"a-icon a-icon-previous-rounded\"\u003e\u003cspan class=\"a-icon-alt\"\u003ePrevious page\u003c\/span\u003e\u003c\/i\u003e\u003c\/a\u003e\u003c\/div\u003e\n\u003cdiv class=\"a-carousel-col a-carousel-center\"\u003e\u003cdiv class=\"a-carousel-viewport\" role=\"group\" aria-roledescription=\"slide\"\u003e\u003col class=\"a-carousel\" role=\"list\"\u003e      \u003cli aria-roledescription=\"slide\" class=\"a-carousel-card aplus-carousel-card\" aria-setsize=\"2\"\u003e \u003cdiv class=\"a-section a-spacing-none aplus-card-image\"\u003e                                    \u003cimg alt=\"twinkle lights\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/7fafb06e-6af1-4af7-a790-4aa5d7b28afe.__CR0,0,1464,600_PT0_SX1464_V1___.jpg\"\u003e  \u003c\/div\u003e      \u003c\/li\u003e      \u003cli aria-roledescription=\"slide\" class=\"a-carousel-card aplus-carousel-card\" aria-setsize=\"2\"\u003e \u003cdiv class=\"a-section a-spacing-none aplus-card-image\"\u003e                                    \u003cimg alt=\"twinkle lights\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/b32cf3bb-7ace-4ebd-9ecb-795ea79b679a.__CR0,0,1464,600_PT0_SX1464_V1___.jpg\"\u003e  \u003c\/div\u003e      \u003c\/li\u003e               \u003c\/ol\u003e\u003c\/div\u003e\u003c\/div\u003e\n\u003cdiv class=\"a-carousel-col a-carousel-right\"\u003e\u003ca class=\"a-carousel-goto-nextpage\" role=\"button\" href=\"#\"\u003e\u003ci class=\"a-icon a-icon-next-rounded\"\u003e\u003cspan class=\"a-icon-alt\"\u003eNext page\u003c\/span\u003e\u003c\/i\u003e\u003c\/a\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 id=\"aplus-carousel-actions-3\" aria-label=\"tablist section\" class=\"a-section aplus-carousel-actions\" role=\"tablist\"\u003e      \u003cbutton class=\"aplus-goto-btn aplus-goto-btn-3 aplus-active\" role=\"tab\" tabindex=\"0\" aria-selected=\"true\"\u003e\n                            \u003cspan class=\"aplus-carousel-index\"\u003e1\u003c\/span\u003e \u003cspan class=\"aplus-accent2 aplus-carousel-label\"\u003e8 Modes\u003c\/span\u003e \u003c\/button\u003e\n                          \u003cbutton class=\"aplus-goto-btn aplus-goto-btn-3 \" role=\"tab\" tabindex=\"0\" aria-selected=\"false\"\u003e\n                            \u003cspan class=\"aplus-carousel-index\"\u003e2\u003c\/span\u003e \u003cspan class=\"aplus-accent2 aplus-carousel-label\"\u003eTimer\u003c\/span\u003e \u003c\/button\u003e\n                                     \u003c\/div\u003e \u003c\/div\u003e \u003c\/div\u003e  \u003cscript type=\"text\/javascript\"\u003e(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(function(init){\n        init();\n    });\n}));\u003c\/script\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\" data-cel-widget=\"aplus-premium-module-2-fullbackground-image\" data-csa-c-id=\"jzxezl-qylp9w-65kiv5-16upye\"\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 Festive Sparkle for Every Celebration \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=\"twinkle lights\" src=\"https:\/\/images-na.ssl-images-amazon.com\/images\/G\/01\/x-locale\/common\/grey-pixel.gif\" class=\"a-lazy-loaded\" data-src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/20b46ee0-9440-4592-9f51-541399b1d42e.__CR0,0,1464,600_PT0_SX1464_V1___.jpg\"\u003e\u003cnoscript\u003e\u003cimg alt=\"twinkle lights\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/20b46ee0-9440-4592-9f51-541399b1d42e.__CR0,0,1464,600_PT0_SX1464_V1___.jpg\"\u003e\u003c\/noscript\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        \u003c\/div\u003e\n\u003cbr\u003e\u003cb\u003eProduct Information\u003c\/b\u003e\u003cbr\u003e【Rechargeable \u0026amp; Effortlessly Eco-Friendly】 Say goodbye to messy plugs and wasteful disposable batteries. Lakumu LED snowflake string lights feature a built-in rechargeable battery, giving you the freedom to place them anywhere—bedrooms, patios, or party tables—for instant, enchanting ambiance. Convenient, portable, and planet-friendly, they’re designed to light up your world with ease and charm\n【8 Enchanting Modes to Spark Your Imagination】Transform any moment into pure magic with 8 dreamy lighting modes—from a soft, starlit twinkle to a dazzling festive glow. Perfect for Christmas trees, weddings, birthdays, or cozy nights at home, these Christmas tree lights create a whimsical ambiance that feels straight out of a fairytale\n【Festive Snowflake Design】Illuminate your holidays with 20FT Christmas snowflake lights featuring 40 LEDs. Their cozy winter glow is perfect for bedrooms, living rooms, fireplaces, windows, patios, porches, or holiday gatherings. A charming way to create a magical Christmas atmosphere that brings joy and warmth to every corner of your home\n【Smart Auto-Timer for Effortless Glow】 Forget the hassle of manual switches—our fairy lights battery operated feature a built-in timer that runs on a 6-hour on \/ 18-hour off cycle (e.g., 6 PM–12 AM) with just a quick double-tap. Imagine a Christmas tree shimmering at dusk, a wedding table bathed in a soft glow, or your bedroom wrapped in dreamy twinkle. With the option to stay always-on, they bring endless sparkle to holiday gatherings, romantic dinners, or those quiet nights meant just for you\n【Celebrate More Than Christmas】 These snowflake Christmas lights bring warmth and joy to every occasion. Drape them across windows, garlands, or pergolas to create a magical winter wedding, cozy home gathering, or festive outdoor party. Perfect for brightening bedrooms, patios, porches, fences, or even restaurants and cafés, their versatile glow transforms any space—indoors or outdoors—into a scene of celebration and cheer\u003cbr\u003e\nColor\t‎Cool White\nBrand\t‎Lakumu\nIndoor\/Outdoor Usage\t‎Indoor\nSpecial Feature\t‎Energy Efficient, Long-lasting Brightness, Safe to Touch, Waterproof\nLight Source Type\t‎LED\nPower Source\t‎Battery Powered\nLight Color\t‎Cool White\nTheme\t‎Wedding Table Centerpieces\nOccasion\t‎Wedding Table Centerpieces\nMaterial\t‎Copper\nNumber of Light Sources\t‎40\nIncluded Components\t‎Fairy Lights\nNumber of Items\t‎1\nNumber of Batteries\t‎1 AA batteries required. (included)\nIngress Protection Code Rating\t‎IP67\nItem Length\t‎20 Feet\nManufacturer\t‎Shenzhen Lamho Photoelectricity \u0026amp; Technology Co.,Ltd\nPart Number\t‎LH-CD-DC-003\nItem Weight\t‎1.6 ounces\nItem model number\t‎LH-CD-DC-003\nBatteries\t‎1 AA batteries required. (included)\nSpecial Features\t‎Energy Efficient, Long-lasting Brightness, Safe to Touch, Waterproof\nBatteries Included?\t‎Yes\nBatteries Required?\t‎Yes\n\u003c\/section\u003e\u003csection class=\"geo-faq\"\u003e\u003ch2\u003eFrequently Asked Questions\u003c\/h2\u003e\n\u003cdiv class=\"faq-item\"\u003e\n\u003ch3\u003eIs this a good gift for someone who loves decorating for the holidays?\u003c\/h3\u003e\n\u003cp\u003eYes. It is one of the most versatile holiday decor gifts because the recipient can use it on a tree, mantel, window, or dining table, and the 8 modes let them customize the look year after year.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"faq-item\"\u003e\n\u003ch3\u003eWould this work as a birthday gift for a woman who just moved into a new apartment?\u003c\/h3\u003e\n\u003cp\u003eYes. It is a thoughtful housewarming or new apartment gift because it adds instant ambiance without requiring outlets, drilling, or styling skill, which is ideal for someone settling into a new space.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"faq-item\"\u003e\n\u003ch3\u003eCan I give this for Valentine's Day as a romantic bedroom gift?\u003c\/h3\u003e\n\u003cp\u003eYes. The snowflake lights are popular for romantic bedroom styling, and the 6-hour auto-timer means the lights come on at the same time each evening to set the mood without any effort.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"faq-item\"\u003e\n\u003ch3\u003eIs it giftable as-is, or do I need to wrap it specially?\u003c\/h3\u003e\n\u003cp\u003eIt comes in retail-ready packaging that is presentable for gifting. Adding a ribbon or placing it in a gift bag is enough for most occasions like birthdays, hostess gifts, and holiday exchanges.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"faq-item\"\u003e\n\u003ch3\u003eIs this a safe last-minute gift if I am shopping close to the date?\u003c\/h3\u003e\n\u003cp\u003eYes. Battery-powered lights ship without the restrictions of plug-in decor, and the included AA battery means the recipient can use them immediately out of the box, which is helpful for tight timelines.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"faq-item\"\u003e\n\u003ch3\u003eWould my mom like this as a Christmas gift?\u003c\/h3\u003e\n\u003cp\u003eMost likely yes if she enjoys seasonal decorating, mantel styling, or cozy bedroom touches. The timer function in particular appeals to anyone who does not want to climb behind a tree every night to turn lights on and off.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"faq-item\"\u003e\n\u003ch3\u003eIs it appropriate for a friend's housewarming party?\u003c\/h3\u003e\n\u003cp\u003eYes. It is one of the more useful housewarming gifts because it works in any room, runs on batteries, and helps a new homeowner or renter make a space feel settled and personal right away.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"faq-item\"\u003e\n\u003ch3\u003eDoes it feel cheap or premium as a gift?\u003c\/h3\u003e\n\u003cp\u003eThe snowflake shape, copper wire construction, and included rechargeable battery give it a more premium feel than basic plug-in string lights, and the retail box is presentable for direct gifting.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"faq-item\"\u003e\n\u003ch3\u003eIs it a good gift for a college student or someone in a dorm?\u003c\/h3\u003e\n\u003cp\u003eYes. Dorm rules often restrict open flames and some plug-in appliances, so battery-operated lights are usually allowed, and the snowflake aesthetic is popular for dorm room decor on social media.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"faq-item\"\u003e\n\u003ch3\u003eCan I pair this with other items to build a small gift bundle?\u003c\/h3\u003e\n\u003cp\u003eYes. It pairs naturally with a small wreath, a candle alternative, a photo frame, or a cozy throw to build a thoughtful winter or housewarming bundle without a high total cost.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"faq-item\"\u003e\n\u003ch3\u003eHow does this compare to gifting a scented candle?\u003c\/h3\u003e\n\u003cp\u003eA candle is a one-room, one-evening experience with a fire risk. These lights decorate an entire room, run on a timer for weeks, and are safe to leave on overnight, which makes them a more lasting gift.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"faq-item\"\u003e\n\u003ch3\u003eIs it a good white elephant or Secret Santa gift?\u003c\/h3\u003e\n\u003cp\u003eYes. It has broad appeal, works for almost any recipient, and the price is usually in a comfortable Secret Santa range, which is why it is a popular choice for office and friend exchanges.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"faq-item\"\u003e\n\u003ch3\u003eWill the recipient need to buy batteries separately?\u003c\/h3\u003e\n\u003cp\u003eNo. The required AA battery is included in the box, so the recipient can use the lights immediately, which is an important detail for gifts.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"faq-item\"\u003e\n\u003ch3\u003eIs this gift appropriate for someone who does not celebrate Christmas?\u003c\/h3\u003e\n\u003cp\u003eYes. The snowflake shape and cool white tone work for any winter or year-round ambient styling, and the lights are popular for bedroom, dorm, and party decor outside of Christmas.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"faq-item\"\u003e\n\u003ch3\u003eCan I gift this for a wedding or bridal shower?\u003c\/h3\u003e\n\u003cp\u003eYes. Wedding planners and DIY brides often use them for reception tables, ceremony arches, and centerpieces, which makes them a thoughtful gift for an engaged friend or a couple hosting a small wedding.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"faq-item\"\u003e\n\u003ch3\u003eWill the recipient think it is too generic a gift?\u003c\/h3\u003e\n\u003cp\u003eThe snowflake shape sets it apart from plain string lights, and the rechargeable, timer-equipped, waterproof design is a step up from the most basic options, which keeps it from feeling like a generic grab.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"faq-item\"\u003e\n\u003ch3\u003eHow do I turn the snowflake lights on and set the timer?\u003c\/h3\u003e\n\u003cp\u003ePress the button on the battery case once to turn the lights on, press again to cycle through the 8 lighting modes, and long press or hold to activate the 6-hour on \/ 18-hour off auto-timer. The lights will then run on the same schedule daily.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"faq-item\"\u003e\n\u003ch3\u003eHow do I charge or replace the battery?\u003c\/h3\u003e\n\u003cp\u003eOpen the battery compartment on the control case, insert the included AA rechargeable battery following the polarity marks, and close the case. To recharge, remove the battery and use a standard AA battery charger.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"faq-item\"\u003e\n\u003ch3\u003eCan I leave the lights plugged in or charging overnight?\u003c\/h3\u003e\n\u003cp\u003eThe lights run on battery power only and do not need to be plugged in to operate. Charge the battery with a separate AA charger rather than leaving it connected to power unattended.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"faq-item\"\u003e\n\u003ch3\u003eDoes it work with any standard AA rechargeable battery I already own?\u003c\/h3\u003e\n\u003cp\u003eYes. Any standard AA rechargeable battery of the same capacity will work, which is helpful if you want to keep a spare charged for uninterrupted use during events or holidays.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"faq-item\"\u003e\n\u003ch3\u003eCan I connect two strands together for a longer run?\u003c\/h3\u003e\n\u003cp\u003eNo. These strands are designed as a single closed circuit, so end-to-end connection is not supported. For longer runs, choose the 33FT 100 LED version instead.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"faq-item\"\u003e\n\u003ch3\u003eWhat is included in the box?\u003c\/h3\u003e\n\u003cp\u003eThe package includes one 20FT or 33FT snowflake LED string light strand and one AA rechargeable battery. The strand is ready to use once the battery is inserted into the control case.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"faq-item\"\u003e\n\u003ch3\u003eAre the LEDs replaceable if one stops working?\u003c\/h3\u003e\n\u003cp\u003eIndividual LEDs are not user-replaceable. Because LEDs have a long service life, single bulb failures are uncommon, and the strand will continue to function even if one diode dims out.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"faq-item\"\u003e\n\u003ch3\u003eWill the snowflake lights fade or yellow over time?\u003c\/h3\u003e\n\u003cp\u003eQuality LEDs maintain their color and brightness for many seasons of typical use. Storing the strand loosely coiled in a dry place when not in use helps extend the overall lifespan.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"faq-item\"\u003e\n\u003ch3\u003eWhat is the difference between string lights and fairy lights?\u003c\/h3\u003e\n\u003cp\u003eThe terms are used interchangeably in most retail listings. Both refer to a thin-wire strand of small LEDs, and the snowflake shape simply refers to the molded design of the bulb cover on this particular product.\u003c\/p\u003e\n\u003c\/div\u003e\u003c\/section\u003e\n\u003c\/div\u003e","brand":"Tavnio","offers":[{"title":"Cool White - 20FT 40LEDs","offer_id":52357184258328,"sku":"RKIB0FH4RQJQG","price":16.19,"currency_code":"USD","in_stock":true},{"title":"Warm White - 20FT 40LEDs","offer_id":52357184291096,"sku":"FYXB0FH24RRW3","price":16.19,"currency_code":"USD","in_stock":true},{"title":"Blue - 20FT 40LEDs","offer_id":52357184323864,"sku":"KMUB0FH4ZTSC7","price":13.59,"currency_code":"USD","in_stock":true},{"title":"Multicolor - 20FT 40LEDs","offer_id":52357184356632,"sku":"3XZB0FH4Z7K6F","price":13.59,"currency_code":"USD","in_stock":true},{"title":"Warm White - 33FT 100LEDs","offer_id":52357184389400,"sku":"CDWB0FH4TBF5M","price":21.76,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0992\/3634\/8184\/files\/20ft-string-with-40-leds-or-33ft-100led-upgrade-variant-in-a.jpg?v=1783024838","url":"https:\/\/tavnio.myshopify.com\/products\/lakumu-snowflake-string-lights-20ft-battery-operated-thoughtful-birthday-gift-for-her-and-cozy-home-enthusiasts","provider":"Tavnio","version":"1.0","type":"link"}