{"title":"STEM Series","description":"","products":[{"product_id":"aorespty-5-in-1-rc-robots-for-kids-stem-robotics-kit-with-remote-control-excavator-bulldozer-truck-crane-programmable-app-remote-control-educational-stem-toys-for-ages-8-14","title":"AoreSpty 5 in 1 RC Robots for Kids, STEM Robotics Kit with Remote Control Excavator, Bulldozer, Truck, Crane, Programmable App \u0026 Remote Control, Educational STEM Toys for Ages 8 14","description":"\u003cul class=\"a-unordered-list a-vertical a-spacing-mini\"\u003e\n\u003cli class=\"a-spacing-mini\"\u003e\u003cspan class=\"a-list-item\"\u003eMulti-Functional STEM Marvel: Construct 5 unique robot toy vehicles (Excavator, Bulldozer, Truck, Crane, Robot) with realistic mechanics, igniting creativity and problem-solving skills in young engineers aged 8-14.\u003c\/span\u003e\u003c\/li\u003e\n\u003cli class=\"a-spacing-mini\"\u003e\u003cspan class=\"a-list-item\"\u003eSmartphone-Driven robot building kit for kids 9-12: Bring your creations to life with an intuitive app, blending play and real-world engineering concepts for an engaging and educational experience.\u003c\/span\u003e\u003c\/li\u003e\n\u003cli class=\"a-spacing-mini\"\u003e\u003cspan class=\"a-list-item\"\u003eHigh-Quality 555-Piece Robot Kit: Premium blocks and motor modules ensure durable, functional models that offer superior complexity and educational value compared to standard building sets.\u003c\/span\u003e\u003c\/li\u003e\n\u003cli class=\"a-spacing-mini\"\u003e\u003cspan class=\"a-list-item\"\u003eHands-On STEM Learning: Transform abstract concepts into tangible, interactive experiences, fostering critical thinking and mechanical skills through robot toy construction.\u003c\/span\u003e\u003c\/li\u003e\n\u003cli class=\"a-spacing-mini\"\u003e\u003cspan class=\"a-list-item\"\u003ePerfect Gift for Future Engineers: Combine the excitement of robotics kit vehicles with educational value, making it an ideal birthday or holiday gift that kids will love and learn from.\u003c\/span\u003e\u003c\/li\u003e\n\u003c\/ul\u003e","brand":"AoreSpty","offers":[{"title":"Default Title","offer_id":45001707258032,"sku":"QF-YD7P-Z237","price":59.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0704\/1033\/8480\/files\/b58ce7b99582c961375527c3c6b27ebb_c93b5c56-e65d-4059-b36d-1a0f8d059ddd.png?v=1772983387"},{"product_id":"stem-robot-kit-5-in-1-for-boys-ages-8-14-673-piece-build-excavator-robot-app-remote-control-servo-motor-led-light-educational-battle-toy","title":"STEM Robot Kit 5-in-1 for Boys Ages 8-14 | 673-Piece Build Excavator \u0026 Robot | App \u0026 Remote Control Servo Motor LED Light Educational Battle Toy","description":"\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-module 5: Comparision table - scroller\n *\/\n\n.aplus-v2 .premium-aplus-module-5 h1 {\n    padding-bottom: 30px;\n}\n\n\/* position column-headers relative to this table *\/\n.aplus-v2 .premium-aplus-module-5 .table-container {\n    position: relative;\n    opacity: 1;\n}\n\n.aplus-v2 .premium-aplus-module-5 .table-container.loading {\n    opacity: 0;\n}\n\n.aplus-v2 .premium-aplus-module-5 .table-slider {\n    overflow-x: scroll;\n    overflow-y: visible;\n    width: 100%;\n}\n\n.aplus-v2 .premium-aplus-module-5 td.attribute {\n    min-width: 300px;\n    top: auto;\n    left: 0;\n    z-index: 100;\n}\n\nhtml[dir=\"rtl\"] .aplus-v2 .premium-aplus-module-5 td.attribute {\n    right: 0px;\n    left: auto;\n}\n\n.aplus-v2 .premium-aplus-module-5 td.active-item,\n.aplus-v2 .premium-aplus-module-5 th.active-item {\n    top: auto;\n    left: 300px;\n    z-index: 100;\n}\n\nhtml[dir=\"rtl\"]  .premium-aplus-module-5 td.active-item,\nhtml[dir=\"rtl\"]  .premium-aplus-module-5 th.active-item {\n    left: auto;\n    right: 300px;\n}\n\n.aplus-v2 .premium-aplus-module-5 .attribute,\n.aplus-v2 .premium-aplus-module-5 .active-item{\n    position: sticky;\n}\n\n.aplus-v2 .premium-aplus-module-5 table.a-bordered td,\n.aplus-v2 .premium-aplus-module-5 table.a-bordered th {\n    background-color: #fff;\n}\n\n.aplus-v2 .premium-aplus-module-5 table.a-bordered td.attribute .aplus-popover-trigger::after {\n    content: \"?\";\n    display: inline-block;\n    font-size: 12px;\n    position: relative;\n    bottom: 5px;\n}\n\n.aplus-v2 .premium-aplus-module-5 .product-title {\n    font-size: 15px;\n    padding: 10px 0;\n}\n\n.aplus-v2 .premium-aplus-module-5 .scroll-width {\n    overflow-x: scroll;\n    overflow-y: visible;\n}\n\n\n.aplus-v2 .premium-aplus-module-5 td.attribute.empty {\n    height: 300px;\n}\n\n.aplus-v2 .premium-aplus-module-5 .header-img {\n    padding-top: 10px;\n}\n\n\/* Override default AUI .a-bordered table borders *\/\n.aplus-v2 .premium-aplus-module-5 table.a-bordered {\n    border-width: 0;\n    border-color: #eaeaea;\n    border-style: solid;\n}\n\n\/* Size the top scroller *\/\n.aplus-v2 .premium-aplus-module-5 .scroll-wrapper-top {\n    width: 100%;\n    height: 20px;\n    overflow-x: scroll;\n    overflow-y: visible;\n}\n\n.aplus-v2 .premium-aplus-module-5 .scroll-bar {\n    height: 1px;\n}\n\n.aplus-v2 .premium-aplus-module-5 .add-to-cart {\n    line-height: 1rem;\n    font-weight: normal;\n}\n\n.aplus-v2 .premium-aplus-module-5 .review {\n    font-size: 14px;\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 7: Video module - Text on right\n *\/\n\n.aplus-v2 .premium-aplus-module-7 .video-panel-container,\n.aplus-v2 .premium-aplus-module-7 .text-panel-container {\n    vertical-align: middle;\n    width: 50%;\n}\n\n.aplus-v2 .premium-aplus-module-7 .video-panel {\n    position: relative;\n}\n\n.aplus-v2 .premium-aplus-module-7 .video-placeholder {\n    padding-bottom: 75%;  \/* Aspect ratio 4:3 for video and image *\/\n}\n\n.aplus-v2 .premium-aplus-module-7 .video-container {\n    position: absolute;\n    top: 0;\n    width: 100%;\n    height: 100%;\n}\n\n.aplus-v2 .premium-aplus.premium-aplus-module-7 .title {\n    padding-bottom: 20px;\n}\n\n\u003c\/style\u003e\n\u003cdiv\u003e\n\u003cdiv lang=\"en_US\"\u003e\n\u003cdiv class=\"aplus-v2 desktop celwidget\"\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('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}));\u003c\/script\u003e\n\u003cdiv class=\"aplus-content-wrapper\"\u003e\n\u003cdiv class=\"celwidget aplus-module premium-module-2-fullbackground-image aplus-premium\"\u003e\n\u003cdiv class=\"a-section a-spacing-none premium-aplus premium-aplus-module-2\"\u003e\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\u003e\n\u003cdiv id=\"feature-bullets\" class=\"a-section a-spacing-medium a-spacing-top-small\"\u003e\n\u003cdiv class=\"a-section aok-hidden\"\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\"\u003e5-IN-1 PREMIUM BUILD, 673 PIECES: Construct 5 powerful models — excavator, robot, and more, with 673 high-quality pieces, delivering the most advanced engineering kits for kids age 8-12 available\u003c\/span\u003e\u003c\/li\u003e\n\u003cli class=\"a-spacing-mini\"\u003e\u003cspan class=\"a-list-item\"\u003eSERVO MOTOR PRECISION CONTROL: Professional servo motor delivers smooth, accurate movement — making this remote control robot perform like a real machine for stem projects for kids ages 8-12\u003c\/span\u003e\u003c\/li\u003e\n\u003cli class=\"a-spacing-mini\"\u003e\u003cspan class=\"a-list-item\"\u003eAPP \u0026amp; REMOTE DUAL CONTROL: Program sequences through the companion app or pilot live via wireless remote — this remote- \u0026amp; app-controlled robots set is the top stem kits for kids age 12-14 platform\u003c\/span\u003e\u003c\/li\u003e\n\u003cli class=\"a-spacing-mini\"\u003e\u003cspan class=\"a-list-item\"\u003eRECHARGEABLE BATTERY + LED LIGHTS: Built-in rechargeable battery and dynamic LED lighting make this ai robot for kids eco-friendly and visually striking building toys for boys age 8-12 available\u003c\/span\u003e\u003c\/li\u003e\n\u003cli class=\"a-spacing-mini\"\u003e\u003cspan class=\"a-list-item\"\u003eBATTLE ROBOTS RC COMBAT MODE: Activate battle robot mode for head-to-head RC competition that rewards both engineering skill and piloting precision: the ultimate robotics for kids ages 8-12 experience\u003c\/span\u003e\u003c\/li\u003e\n\u003cli class=\"a-spacing-mini\"\u003e\u003cspan class=\"a-list-item\"\u003eSTEM ENGINEERING FOR BOYS AGES 8-14: Servo-driven mechanics and 673 pieces give stem kits for kids age 12-14 learners an advanced challenge that builds engineering confidence and technical vocabulary\u003c\/span\u003e\u003c\/li\u003e\n\u003cli class=\"a-spacing-mini\"\u003e\u003cspan class=\"a-list-item\"\u003eTHE ULTIMATE ENGINEER'S GIFT: Servo motor, LED lights, rechargeable battery, battle modes, and 673 pieces, this building toys for boys age 8-12 set is the most complete STEM robot gift available\u003c\/span\u003e\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e","brand":"AoreSpty","offers":[{"title":"Default Title","offer_id":45406694113456,"sku":"8R-5F0F-4XFM","price":49.99,"currency_code":"USD","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0704\/1033\/8480\/files\/81d0NivE9QL._AC_SL1500.jpg?v=1782267775"},{"product_id":"stem-robot-kit-3-in-1-for-kids-ages-8-10-519-piece-excavator-robot-car-build-set-app-remote-control-stem-robotics-educational-toys-gift","title":"STEM Robot Kit 3-in-1 for Kids Ages 8-10 | 519-Piece Excavator Robot Car Build Set | App \u0026 Remote Control STEM Robotics Educational Toys Gift","description":"\u003cul class=\"a-unordered-list a-vertical a-spacing-mini\"\u003e\n\u003cli class=\"a-spacing-mini\"\u003e\u003cspan class=\"a-list-item\"\u003e3-IN-1 ROBOTICS KIT, 519 PIECES: Build an excavator, battle robot, or model car from 519 precision-fit pieces — three distinct engineering kits for kids age 8-12 builds packed into one complete set\u003c\/span\u003e\u003c\/li\u003e\n\u003cli class=\"a-spacing-mini\"\u003e\u003cspan class=\"a-list-item\"\u003eAPP \u0026amp; REMOTE DUAL CONTROL: Program moves via the companion app or drive live with the wireless remote — this remote- \u0026amp; app-controlled robots set is the ideal stem kits for kids age 8-10 choice\u003c\/span\u003e\u003c\/li\u003e\n\u003cli class=\"a-spacing-mini\"\u003e\u003cspan class=\"a-list-item\"\u003eMODULAR POWER DRIVE SYSTEM: A snap-in modular motor delivers realistic digging and driving motion, making this remote control robot a perfect stem projects for kids ages 8-12 hands-on learning tool\u003c\/span\u003e\u003c\/li\u003e\n\u003cli class=\"a-spacing-mini\"\u003e\u003cspan class=\"a-list-item\"\u003eBATTLE ROBOTS RC MODE: Activate battle robot mode for head-to-head RC combat — building strategy and quick reflexes while delivering the most exciting robotics for kids ages 8-12 experience available\u003c\/span\u003e\u003c\/li\u003e\n\u003cli class=\"a-spacing-mini\"\u003e\u003cspan class=\"a-list-item\"\u003eSTEM CODING FOR AGES 8-10: Programming sequences through the app introduces real logic and computational thinking, making this ai robot for kids a standout gift for curious young engineers aged 8-10\u003c\/span\u003e\u003c\/li\u003e\n\u003cli class=\"a-spacing-mini\"\u003e\u003cspan class=\"a-list-item\"\u003eULTIMATE GIFT FOR YOUNG BUILDERS: Complete 519-piece set in premium gift-ready packaging makes this building toys for boys age 8-12 the most memorable birthday or holiday gift for any young engineer\u003c\/span\u003e\u003c\/li\u003e\n\u003cli class=\"a-spacing-mini\"\u003e\u003cspan class=\"a-list-item\"\u003eSAFE \u0026amp; DURABLE MATERIALS: All 519 pieces use non-toxic, BPA-free ABS plastic with smooth snap-fit edges — a robotics kit designed to meet rigorous safety standards for children ages 8 and up\u003c\/span\u003e\u003c\/li\u003e\n\u003c\/ul\u003e","brand":"AoreSpty","offers":[{"title":"Default Title","offer_id":45406853169328,"sku":"YY-X0OD-F5IC","price":49.99,"currency_code":"USD","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0704\/1033\/8480\/files\/71pkUz2RdcL._AC_SL1500.jpg?v=1782268062"},{"product_id":"stem-robot-kit-5-in-1-for-kids-ages-8-14-495-piece-build-excavator-robot-app-coding-rc-robots-stem-educational-toys-teen-birthday-gift","title":"STEM Robot Kit 5-in-1 for Kids Ages 8-14 | 495-Piece Build Excavator \u0026 Robot | App Coding RC Robots STEM Educational Toys Teen Birthday Gift","description":"\u003cul class=\"a-unordered-list a-vertical a-spacing-mini\"\u003e\n\u003cli class=\"a-spacing-mini\"\u003e\u003cspan class=\"a-list-item\"\u003e5-IN-1 STEM BUILD, 495 PIECES: Construct 5 mechanical models including an excavator and programmable robot with 495 pieces — the most complete engineering kits for kids age 8-12 set in its class\u003c\/span\u003e\u003c\/li\u003e\n\u003cli class=\"a-spacing-mini\"\u003e\u003cspan class=\"a-list-item\"\u003eAPP CODING \u0026amp; RC DUAL CONTROL: Write real code sequences in the companion app or drive via wireless remote — this remote- \u0026amp; app-controlled robots kit is the top stem kits for kids age 12-14 choice\u003c\/span\u003e\u003c\/li\u003e\n\u003cli class=\"a-spacing-mini\"\u003e\u003cspan class=\"a-list-item\"\u003eBATTLE \u0026amp; RC COMBAT MODES: Activate battle robot or RC car mode for exciting head-to-head challenges — combining stem projects for kids ages 8-12 engineering with competitive, high-energy play\u003c\/span\u003e\u003c\/li\u003e\n\u003cli class=\"a-spacing-mini\"\u003e\u003cspan class=\"a-list-item\"\u003eDESIGNED FOR AGES 8 TO 14: Five models scale from accessible to advanced, keeping this building toys for boys age 8-12 kit fresh and engaging from elementary school through early high school\u003c\/span\u003e\u003c\/li\u003e\n\u003cli class=\"a-spacing-mini\"\u003e\u003cspan class=\"a-list-item\"\u003eTEEN STEM ENGINEERING CHALLENGE: Advanced coding and battle mechanics make this ai robot for kids a genuine challenge for older learners — the top-tier robotics for kids ages 8-12 to 14 experience\u003c\/span\u003e\u003c\/li\u003e\n\u003cli class=\"a-spacing-mini\"\u003e\u003cspan class=\"a-list-item\"\u003ePERFECT TEEN BIRTHDAY OR HOLIDAY GIFT: Complete 495-piece set with premium packaging — featuring remote control robot functionality that makes this the most exciting STEM gift for teens available\u003c\/span\u003e\u003c\/li\u003e\n\u003cli class=\"a-spacing-mini\"\u003e\u003cspan class=\"a-list-item\"\u003eSAFE, DURABLE QUALITY PARTS: Every piece passes strict safety testing — non-toxic ABS plastic, smooth edges, and snap-fit connections ensure this stem kits for kids age 8-10 to 14 lasts for years\u003c\/span\u003e\u003c\/li\u003e\n\u003c\/ul\u003e","brand":"AoreSpty","offers":[{"title":"Default Title","offer_id":45407138545840,"sku":"TC-ZQ3C-ZLUP","price":45.99,"currency_code":"USD","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0704\/1033\/8480\/files\/81qbwbsnhKL._AC_SL1500.jpg?v=1782268625"}],"url":"https:\/\/aorespty.com\/collections\/stem-robot.oembed","provider":"AoreSpty","version":"1.0","type":"link"}