{"id":1311,"date":"2020-04-02T14:25:07","date_gmt":"2020-04-02T14:25:07","guid":{"rendered":"https:\/\/mbgalaxy.com\/virginia\/?page_id=1311"},"modified":"2026-10-06T14:54:27","modified_gmt":"2026-10-06T14:54:27","slug":"rentals","status":"publish","type":"page","link":"https:\/\/mbgalaxy.com\/virginia\/rentals\/","title":{"rendered":"Inventory"},"content":{"rendered":"<!-- Start Shortcoder content --><!-- Cart -->\r\n<div class=\"cartInfo\" style=\"display:none\">\r\n    <i class=\"cartIcon fas fa-shopping-cart\"><\/i><!--no linebreak bc elementor--> <span class=\"simpleCart_quantity\"><\/span> items\r\n<\/div>\r\n\r\n<div class=\"pageDateRangeWrapper elementor-widget-button\">\r\n    <div class=\"elementor-button elementor-animation-grow\" onclick=\"checkAvailDateClick()\" style=\"display:block\">\r\n        <div class=\"ioDateRangeHeader\">Set Event Date<\/div>\r\n        <div id=\"pageDateRange\" class=\"ioDateRange\"><\/div>\r\n    <\/div>\r\n<\/div>\r\n<div class=\"io_category_wrapper elementor-widget-heading\">\r\n    <h1 class=\"catNameIO elementor-heading-title elementor-size-default\">Inventory<span class=\"io_forrent io_forrent_Inventory\"> for Rent<\/span><\/h1>\r\n<\/div>\r\n\r\n<!-- Add View Toggle Buttons -->\r\n<div class=\"io_view_toggle_container\" style=\"display:none;\">\r\n    <div class=\"io_view_toggle_buttons\">\r\n        <button class=\"io_view_toggle_btn active\" data-view=\"tile\" title=\"Tile View\">\r\n            <i class=\"fas fa-th-large\"><\/i>\r\n        <\/button>\r\n        <button class=\"io_view_toggle_btn\" data-view=\"list\" title=\"List View\">\r\n            <i class=\"fas fa-list\"><\/i>\r\n        <\/button>\r\n    <\/div>\r\n<\/div>\r\n<div class=\"category_id\" style=\"display: none\">Inventory<\/div>\r\n<div class=\"cat_div_wrapper\"><div class=\"io_cat_description io_cat_description_Inventory elementor-widget-text-editor catDescriptionIO\"><\/div><\/div>\r\n<div class=\"io_catdiv2\"><\/div>\r\n<div class=\"io_landingpages io_landingpages_Inventory elementor-widget-text-editor\"><!-- Start Shortcoder content -->                                Professional delivery to <span class=\\\"io_city_list\\\"><a href=https:\/\/mbgalaxy.com\/virginia\/inflatable-rentals-in-alexandria-va\/>Alexandria, VA<\/a><\/span> and surrounding areas. Please submit a quote or contact us to be sure we service your area.                            <!-- End Shortcoder content --><\/div>\r\n<div class=\"io_cat_longdescription io_cat_longdescription_Inventory elementor-widget-text-editor\"><\/div>\r\n<script>\r\n    var isValid = function (u) {\r\n        if (!u) return false;\r\n        var s = String(u).trim();\r\n        if (!s) return false;\r\n        if (s.indexOf('%%') !== -1) return false;\r\n        if (s === '0' || s.toLowerCase() === 'null' || s.toLowerCase() === 'undefined') return false;\r\n        return true;\r\n    };\r\n\r\n    var isMp4 = function (u) {\r\n        if (!u) return false;\r\n        return \/\\.mp4(?:\\?|#|$)\/i.test(String(u).trim());\r\n    };\r\n\r\n    function CategoryGallery(rental_id, rental_name, images_arr){\r\n        var rid = rental_id;\r\n        var rentalName = rental_name;\r\n\r\n        try {\r\n            if (typeof images_arr === 'string' && images_arr.length) {\r\n                images_arr = JSON.parse(images_arr);\r\n            }\r\n        } catch (e) {\r\n            images_arr = {};\r\n        }\r\n        if (!images_arr) images_arr = {};\r\n\r\n        var $bigAfter = jQuery('#io_img_big2_' + rid);\r\n        var $thumbAfter = jQuery('#io_img_thumb1_' + rid);\r\n\r\n        if ($bigAfter.length && $thumbAfter.length) {\r\n            var relVal = $bigAfter.attr('rel') || 'img_group noopener';\r\n\r\n            var getBigUrl = function (imgObj) {\r\n                return imgObj[\"rentalimage_imagelocbig\"] || imgObj[\"imagelocbig\"] || imgObj[\"big\"] || \"\";\r\n            };\r\n\r\n            var getThumbUrl = function (imgObj) {\r\n                return imgObj[\"rentalimage_imageloc\"] || imgObj[\"imageloc\"] || imgObj[\"thumb\"] || \"\";\r\n            };\r\n\r\n            var addedThumbs = 0;\r\n            var $mainImg = jQuery('#io_img_big2_' + rid).closest('.io_item2_list').find('.io_image_big').first();\r\n\r\n            \/\/ Bind existing thumb1 to its existing big1 anchor using data-big-src\r\n            var $existingThumb1 = jQuery('#io_img_thumb1_' + rid);\r\n            var $existingBig1 = jQuery('#io_img_big1_' + rid);\r\n            if ($existingThumb1.length && $existingBig1.length) {\r\n                var existingBig1Href = $existingBig1.attr('href');\r\n                var existingThumb1Src = $existingThumb1.attr('src');\r\n\r\n                if (isMp4(existingBig1Href) && isValid(existingThumb1Src)) {\r\n                    existingBig1Href = existingThumb1Src;\r\n                    $existingBig1.attr('href', existingBig1Href);\r\n                }\r\n\r\n                if (isValid(existingBig1Href)) {\r\n                    $existingThumb1.attr('data-big-src', existingBig1Href);\r\n                    $existingThumb1.off('click.ioGallery').on('click.ioGallery', function () {\r\n                        if (typeof updateMainPic === 'function') {\r\n                            updateMainPic(this);\r\n                        }\r\n                    });\r\n                }\r\n            }\r\n\r\n            \/\/ Fix built-in big2 anchor if it points to mp4\r\n            if ($bigAfter.length) {\r\n                var builtInBig2Href = $bigAfter.attr('href');\r\n                var builtInThumb2Src = $thumbAfter.attr('src');\r\n\r\n                if (isMp4(builtInBig2Href) && isValid(builtInThumb2Src)) {\r\n                    $bigAfter.attr('href', builtInThumb2Src);\r\n                }\r\n            }\r\n\r\n            for (var key in images_arr) {\r\n                if (!images_arr.hasOwnProperty(key)) continue;\r\n\r\n                var imgObj = images_arr[key] || {};\r\n                var href = getBigUrl(imgObj);\r\n                var src  = getThumbUrl(imgObj);\r\n\r\n                if (isMp4(href) && isValid(src)) {\r\n                    href = src;\r\n                }\r\n\r\n                var n = parseInt(key, 10);\r\n                if (isNaN(n)) {\r\n                    n = addedThumbs + 1;\r\n                }\r\n\r\n                var bigIndex = n + 1;\r\n                var thumbIndex = n + 1;\r\n\r\n                if (isValid(href)) {\r\n                    var bigId = '#io_img_big' + bigIndex + '_' + rid;\r\n                    if (jQuery(bigId).length === 0) {\r\n                        var $a = jQuery('<a\/>', {\r\n                            rel: relVal,\r\n                            href: href,\r\n                            id: 'io_img_big' + bigIndex + '_' + rid\r\n                        });\r\n                        $bigAfter.after($a);\r\n                        $bigAfter = $a;\r\n                    }\r\n                }\r\n\r\n                if (isValid(src)) {\r\n                    var thumbId = '#io_img_thumb' + thumbIndex + '_' + rid;\r\n                    if (jQuery(thumbId).length === 0) {\r\n                        var $img = jQuery('<img\/>', {\r\n                            'class': 'io_image_thumb skip-lazy',\r\n                            title: rentalName,\r\n                            src: src,\r\n                            alt: rentalName,\r\n                            id: 'io_img_thumb' + thumbIndex + '_' + rid,\r\n                            'data-big-src': href\r\n                        }).on('click', function () {\r\n                            if (typeof updateMainPic === 'function') {\r\n                                updateMainPic(this);\r\n                            }\r\n                        });\r\n\r\n                        $thumbAfter.after($img);\r\n                        $thumbAfter = $img;\r\n                        addedThumbs++;\r\n                    }\r\n                }\r\n            }\r\n\r\n            if (addedThumbs > 0) {\r\n                jQuery('#io_img_thumb1_' + rid).closest('.io_image_thumbbox').show();\r\n            }\r\n        }\r\n    }\r\n\r\n    \/\/ Function to generate list view content on demand (global scope)\r\n    generateListViewContent = function() {\r\n        console.log('[IO List View] Generating list view content dynamically');\r\n\r\n        jQuery('.io_item2_list').each(function() {\r\n            var $item = jQuery(this);\r\n\r\n            if ($item.find('.io_list_view_content').length > 0) {\r\n                return;\r\n            }\r\n\r\n            var rentalId = $item.find('.item_rentalid').text().trim();\r\n            if (!rentalId) {\r\n                console.warn('[IO List View] No rental_id found for item, skipping');\r\n                return;\r\n            }\r\n\r\n            var indoorOutdoor = String(window.io_category_data[rentalId][\"indoor_outdoor\"] || \"\").replace(\/[\\r\\n]+\/g, \"\").trim();\r\n            var staff = String(window.io_category_data[rentalId][\"staff\"] || \"\").replace(\/[\\r\\n]+\/g, \"\").trim();\r\n            var electric = String(window.io_category_data[rentalId][\"electric\"] || \"\").replace(\/[\\r\\n]+\/g, \"\").trim();\r\n            var dimensions = String(window.io_category_data[rentalId][\"dimensions\"] || \"\").replace(\/[\\r\\n]+\/g, \"\").trim();\r\n\r\n            var stripHtml = function(html) {\r\n                var tmp = document.createElement(\"DIV\");\r\n                tmp.innerHTML = html;\r\n                return (tmp.textContent || tmp.innerText || \"\").trim();\r\n            };\r\n\r\n            var escapeHtml = function(text) {\r\n                var map = {\r\n                    '&': '&amp;',\r\n                    '<': '&lt;',\r\n                    '>': '&gt;',\r\n                    '\"': '&quot;',\r\n                    \"'\": '&#039;'\r\n                };\r\n                return text.replace(\/[&<>\"']\/g, function(m) { return map[m]; });\r\n            };\r\n\r\n            var html = '<div class=\"io_list_view_content\">';\r\n            html += '<div class=\"io_item_details_labeled\">';\r\n\r\n            if (indoorOutdoor && indoorOutdoor !== '0' && indoorOutdoor.length > 0) {\r\n                html += '<div class=\"io_detail_item io_detail_setup\">';\r\n                html += '<span class=\"io_detail_label\">Setup:<\/span>';\r\n                html += '<span class=\"io_detail_value\">' + escapeHtml(indoorOutdoor) + '<\/span>';\r\n                html += '<\/div>';\r\n            }\r\n\r\n            var operatorsText = staff ? staff + ' Adult Supervision Required' : \"\";\r\n            if (operatorsText &&\r\n                operatorsText !== '0 Adult Supervision Required' &&\r\n                operatorsText !== 'Adult Supervision Required' &&\r\n                operatorsText !== '0') {\r\n                html += '<div class=\"io_detail_item io_detail_operators\">';\r\n                html += '<span class=\"io_detail_label\">Operators:<\/span>';\r\n                html += '<span class=\"io_detail_value\">' + escapeHtml(operatorsText) + '<\/span>';\r\n                html += '<\/div>';\r\n            }\r\n\r\n            var powerText = electric ? electric + ' Outlets' : \"\";\r\n            if (powerText &&\r\n                powerText !== '0 Outlets' &&\r\n                powerText !== '0.00 Outlets' &&\r\n                powerText !== 'Outlets' &&\r\n                powerText !== '0') {\r\n                html += '<div class=\"io_detail_item io_detail_power\">';\r\n                html += '<span class=\"io_detail_label\">Power:<\/span>';\r\n                html += '<span class=\"io_detail_value\">' + escapeHtml(powerText) + '<\/span>';\r\n                html += '<\/div>';\r\n            }\r\n\r\n            if (dimensions && dimensions !== '0' && dimensions.length > 0) {\r\n                html += '<div class=\"io_detail_item io_detail_size\">';\r\n                html += '<span class=\"io_detail_label\">Size:<\/span>';\r\n                html += '<span class=\"io_detail_value\">' + escapeHtml(dimensions) + '<\/span>';\r\n                html += '<\/div>';\r\n            }\r\n\r\n            html += '<\/div>';\r\n            html += '<\/div>';\r\n\r\n            $item.find('.io_buttons_container').before(html);\r\n        });\r\n    };\r\n\r\n    function bindExistingThumbTargets() {\r\n    jQuery('.io_item2_list').each(function() {\r\n        var $item = jQuery(this);\r\n        var rentalId = $item.find('.item_rentalid').text().trim();\r\n        if (!rentalId) return;\r\n\r\n        var arr = window.io_category_data?.[rentalId]?.images_arr;\r\n        try {\r\n            if (typeof arr === 'string' && arr.length) {\r\n                arr = JSON.parse(arr);\r\n            }\r\n        } catch (e) {\r\n            arr = {};\r\n        }\r\n        if (!arr) arr = {};\r\n\r\n        $item.find('.io_image_thumb[id]').each(function() {\r\n            var thumb = this;\r\n            var match = thumb.id.match(\/io_img_thumb(\\d+)_(\\d+)\/);\r\n            if (!match) return;\r\n\r\n            var index = parseInt(match[1], 10) - 1;\r\n            var imgObj = arr[index];\r\n            if (!imgObj) return;\r\n\r\n            var src = imgObj.rentalimage_imageloc || imgObj.imageloc || imgObj.thumb || \"\";\r\n            var href = imgObj.rentalimage_imagelocbig || imgObj.imagelocbig || imgObj.big || \"\";\r\n\r\n            if (isMp4(href) && isValid(src)) {\r\n                href = src;\r\n            }\r\n\r\n            if (isValid(href)) {\r\n                thumb.setAttribute('data-big-src', href);\r\n            }\r\n\r\n            jQuery(thumb).off('click.ioGallery').on('click.ioGallery', function () {\r\n                if (typeof updateMainPic === 'function') {\r\n                    updateMainPic(this);\r\n                }\r\n            });\r\n        });\r\n    });\r\n}\r\n\r\n\r\n    jQuery(document).ready(function($) {\r\n\r\n        jQuery(\".io_item2_list\").each(function(){\r\n            var rentalId = jQuery(this).find('.item_rentalid').text().trim();\r\n            if (io_categoryVariantImages == 'on'){\r\n                if (typeof window.io_category_data !== 'undefined' && window.io_category_data[rentalId]) {\r\n                    CategoryGallery(\r\n                        rentalId,\r\n                        window.io_category_data[rentalId]['rental_name'],\r\n                        window.io_category_data[rentalId][\"images_arr\"]\r\n                    );\r\n                }\r\n            }\r\n        });\r\n\r\n        bindExistingThumbTargets();\r\n\r\n        console.log('[IO View Toggle] Document ready, initializing view toggle functionality');\r\n\r\n        var categoryId = $('.category_id').text().trim();\r\n        var hasNumericCategoryId = categoryId && !isNaN(categoryId) && categoryId.length > 0;\r\n\r\n        if (!hasNumericCategoryId) {\r\n            console.log('[IO View Toggle] No valid numeric category ID found, this is not a category page - skipping initialization');\r\n            return;\r\n        }\r\n\r\n        console.log('[IO View Toggle] Category page detected with categoryId:', categoryId);\r\n        $('body').addClass('io-has-category-id');\r\n\r\n        $('.io_view_toggle_container').show();\r\n        console.log('[IO View Toggle] Toggle buttons displayed for category page');\r\n\r\n        var isInitialized = false;\r\n\r\n        function initViewToggle(force) {\r\n            if (isInitialized && !force) {\r\n                console.log('[IO View Toggle] Already initialized, skipping');\r\n                return;\r\n            }\r\n\r\n            console.log('[IO View Toggle] Initializing view toggle functionality');\r\n\r\n            if ($('.io_view_toggle_btn').length === 0) {\r\n                console.warn('[IO View Toggle] Toggle buttons not found in DOM');\r\n                return;\r\n            }\r\n            console.log('[IO View Toggle] Found', $('.io_view_toggle_btn').length, 'toggle buttons');\r\n\r\n            if ($('.io_catdiv2').length === 0) {\r\n                console.warn('[IO View Toggle] Category container (.io_catdiv2) not found');\r\n                return;\r\n            }\r\n            console.log('[IO View Toggle] Found', $('.io_catdiv2').length, 'category containers');\r\n\r\n            var savedView = localStorage.getItem('io_category_view') || 'tile';\r\n            console.log('[IO View Toggle] Retrieved saved view preference:', savedView);\r\n\r\n            $('.io_catdiv2').removeClass('tile-view list-view').addClass(savedView + '-view');\r\n            console.log('[IO View Toggle] Applied initial view class:', savedView + '-view');\r\n\r\n            $('.io_view_toggle_btn').removeClass('active');\r\n            $('.io_view_toggle_btn[data-view=\"' + savedView + '\"]').addClass('active');\r\n            console.log('[IO View Toggle] Updated button states, active button:', savedView);\r\n\r\n            if (savedView === 'list') {\r\n                if (typeof generateListViewContent === 'function') {\r\n                    generateListViewContent();\r\n                } else {\r\n                    console.warn('[IO View Toggle] generateListViewContent function not available yet');\r\n                }\r\n            }\r\n\r\n            var itemCount = $('.io_item2_list').length;\r\n            console.log('[IO View Toggle] Found', itemCount, 'items in category');\r\n\r\n            $('.io_view_toggle_btn').off('click.viewToggle');\r\n\r\n            var buttons = document.querySelectorAll('.io_view_toggle_btn');\r\n            console.log('[IO View Toggle] Attaching event listeners to', buttons.length, 'buttons using native JS');\r\n\r\n            buttons.forEach(function(button) {\r\n                var newButton = button.cloneNode(true);\r\n                button.parentNode.replaceChild(newButton, button);\r\n\r\n                newButton.addEventListener('click', function(e) {\r\n                    e.preventDefault();\r\n                    e.stopPropagation();\r\n\r\n                    var view = this.getAttribute('data-view');\r\n                    console.log('[IO View Toggle] Button clicked (native listener), switching to view:', view);\r\n\r\n                    if (view === 'list') {\r\n                        if (typeof generateListViewContent === 'function') {\r\n                            generateListViewContent();\r\n                        } else {\r\n                            console.warn('[IO View Toggle] generateListViewContent function not available');\r\n                        }\r\n                    }\r\n\r\n                    document.querySelectorAll('.io_view_toggle_btn').forEach(function(btn) {\r\n                        btn.classList.remove('active');\r\n                    });\r\n                    this.classList.add('active');\r\n                    console.log('[IO View Toggle] Updated button active states');\r\n\r\n                    var catdiv = document.querySelector('.io_catdiv2');\r\n                    if (catdiv) {\r\n                        catdiv.classList.remove('tile-view', 'list-view');\r\n                        catdiv.classList.add(view + '-view');\r\n                        console.log('[IO View Toggle] Applied view class:', view + '-view');\r\n                    }\r\n\r\n                    localStorage.setItem('io_category_view', view);\r\n                    console.log('[IO View Toggle] Saved view preference to localStorage:', view);\r\n\r\n                    setTimeout(function() {\r\n                        if (catdiv) {\r\n                            var containerClasses = catdiv.className;\r\n                            var visibleItems = document.querySelectorAll('.io_item2_list:not([style*=\"display: none\"])').length;\r\n                            console.log('[IO View Toggle] Layout updated - Container classes:', containerClasses);\r\n                            console.log('[IO View Toggle] Visible items after view change:', visibleItems);\r\n\r\n                            if (view === 'list') {\r\n                                var visibleListContent = document.querySelectorAll('.io_list_view_content:not([style*=\"display: none\"])').length;\r\n                                console.log('[IO View Toggle] Visible list content elements:', visibleListContent);\r\n                            }\r\n                        }\r\n                    }, 100);\r\n                }, true);\r\n\r\n                console.log('[IO View Toggle] Event listener attached to button:', newButton.getAttribute('data-view'));\r\n            });\r\n\r\n            console.log('[IO View Toggle] Event handlers attached successfully');\r\n\r\n            isInitialized = true;\r\n        }\r\n\r\n        console.log('[IO View Toggle] Starting initial setup');\r\n        initViewToggle();\r\n\r\n        $(document).on('io_content_loaded', function() {\r\n            console.log('[IO View Toggle] Dynamic content loaded event detected, reinitializing');\r\n\r\n            jQuery(\".io_item2_list\").each(function(){\r\n                var rentalId = jQuery(this).find('.item_rentalid').text().trim();\r\n                if (io_categoryVariantImages == 'on'){\r\n                    if (typeof window.io_category_data !== 'undefined' && window.io_category_data[rentalId]) {\r\n                        CategoryGallery(\r\n                            rentalId,\r\n                            window.io_category_data[rentalId]['rental_name'],\r\n                            window.io_category_data[rentalId][\"images_arr\"]\r\n                        );\r\n                    }\r\n                }\r\n            });\r\n\r\n            bindExistingThumbTargets();\r\n            initViewToggle();\r\n        });\r\n\r\n        if (typeof MutationObserver !== 'undefined') {\r\n            var mutationTimeout;\r\n            var lastItemCount = $('.io_item2_list').length;\r\n\r\n            var observer = new MutationObserver(function(mutations) {\r\n                clearTimeout(mutationTimeout);\r\n\r\n                mutationTimeout = setTimeout(function() {\r\n                    var currentItemCount = $('.io_item2_list').length;\r\n\r\n                    if (currentItemCount > lastItemCount) {\r\n                        console.log('[IO View Toggle] New items detected in DOM (' + lastItemCount + ' -> ' + currentItemCount + ')');\r\n                        lastItemCount = currentItemCount;\r\n\r\n                        jQuery(\".io_item2_list\").each(function(){\r\n                            var rentalId = jQuery(this).find('.item_rentalid').text().trim();\r\n                            if (io_categoryVariantImages == 'on'){\r\n                                if (typeof window.io_category_data !== 'undefined' && window.io_category_data[rentalId]) {\r\n                                    CategoryGallery(\r\n                                        rentalId,\r\n                                        window.io_category_data[rentalId]['rental_name'],\r\n                                        window.io_category_data[rentalId][\"images_arr\"]\r\n                                    );\r\n                                }\r\n                            }\r\n                        });\r\n\r\n                        bindExistingThumbTargets();\r\n\r\n                        if (isInitialized) {\r\n                            var currentView = localStorage.getItem('io_category_view') || 'tile';\r\n                            if (currentView === 'list') {\r\n                                console.log('[IO View Toggle] Generating list view content for new items');\r\n                                if (typeof generateListViewContent === 'function') {\r\n                                    generateListViewContent();\r\n                                } else {\r\n                                    console.warn('[IO View Toggle] generateListViewContent function not available');\r\n                                }\r\n                            }\r\n                        } else {\r\n                            console.log('[IO View Toggle] Initializing due to new items');\r\n                            initViewToggle();\r\n                        }\r\n                    }\r\n                }, 250);\r\n            });\r\n\r\n            observer.observe(document.body, {\r\n                childList: true,\r\n                subtree: true\r\n            });\r\n            console.log('[IO View Toggle] DOM mutation observer started');\r\n        }\r\n\r\n        $(window).on('resize.viewToggle', function() {\r\n            var windowWidth = $(window).width();\r\n            var currentView = $('.io_catdiv2').hasClass('list-view') ? 'list' : 'tile';\r\n            console.log('[IO View Toggle] Window resized to:', windowWidth, 'px, current view:', currentView);\r\n        });\r\n\r\n        console.log('[IO View Toggle] Initialization complete');\r\n    });\r\n<\/script><!-- End Shortcoder content -->\n<!-- Start Shortcoder content --><div class=\"io_item2_listcat elementor-widget-heading\">\r\n  <a href=\"https:\/\/mbgalaxy.com\/virginia\/rentals\/classic-moon-bounces\/\">\r\n    <div class=\"cat_div\">\r\n      <div class=\"btn btn-primary view-product-button\">View Products<\/div>\r\n      <img decoding=\"async\" class=\"cat_img\" src=\"https:\/\/mbgalaxy.com\/virginia\/wp-content\/uploads\/sites\/3\/2025\/06\/One-of-a-kind206_1707254739_big-1.png\" alt=\"Classic Moon Bounces\" title=\"Classic Moon Bounces\" \/>\r\n    <\/div>\r\n  <\/a>\r\n  <div class=\"cat_div_inner\">\r\n    <a href=\"https:\/\/mbgalaxy.com\/virginia\/rentals\/classic-moon-bounces\/\">\r\n      <p class=\"rentNameIO elementor-heading-title\">Classic Moon Bounces<\/p>\r\n      <div class=\"catDescriptionIO catDescriptionIO_small elementor-widget-text-editor\"><\/p>\n<p>Classic moon bounces give children a fun place to play and burn off energy at parties and events. For added variety, explore combo bouncers with features such as built-in slides or basketball hoops. Moon Bounce Galaxy offers bounce house rentals across Northern Virginia.<\/p>\n<p><\/div>\r\n    <\/a>\r\n  <\/div>\r\n<\/div><!-- End Shortcoder content -->\n<!-- Start Shortcoder content --><div class=\"io_item2_listcat elementor-widget-heading\">\r\n  <a href=\"https:\/\/mbgalaxy.com\/virginia\/rentals\/obstacle-courses\/\">\r\n    <div class=\"cat_div\">\r\n      <div class=\"btn btn-primary view-product-button\">View Products<\/div>\r\n      <img decoding=\"async\" class=\"cat_img\" src=\"https:\/\/mbgalaxy.com\/virginia\/wp-content\/uploads\/sites\/3\/2025\/06\/One-of-a-kind205_1707154790_big-1.png\" alt=\"Obstacle Courses\" title=\"Obstacle Courses\" \/>\r\n    <\/div>\r\n  <\/a>\r\n  <div class=\"cat_div_inner\">\r\n    <a href=\"https:\/\/mbgalaxy.com\/virginia\/rentals\/obstacle-courses\/\">\r\n      <p class=\"rentNameIO elementor-heading-title\">Obstacle Courses<\/p>\r\n      <div class=\"catDescriptionIO catDescriptionIO_small elementor-widget-text-editor\"><\/p>\n<p>Bring friendly competition to your Northern Virginia event with inflatable obstacle courses. Available lengths include 35, 40, and 65 feet, and most courses can accommodate two racers at a time. Some may fit indoors when the venue has enough room. Check each listing and measure the setup area before choosing.<\/p>\n<p><\/div>\r\n    <\/a>\r\n  <\/div>\r\n<\/div><!-- End Shortcoder content -->\n<!-- Start Shortcoder content --><div class=\"io_item2_listcat elementor-widget-heading\">\r\n  <a href=\"https:\/\/mbgalaxy.com\/virginia\/rentals\/moon-bounce-slide-combos\/\">\r\n    <div class=\"cat_div\">\r\n      <div class=\"btn btn-primary view-product-button\">View Products<\/div>\r\n      <img decoding=\"async\" class=\"cat_img\" src=\"https:\/\/mbgalaxy.com\/virginia\/wp-content\/uploads\/sites\/3\/2025\/06\/One-of-a-kind207_1707254864_big-1.png\" alt=\"Moon Bounce Slide Combos\" title=\"Moon Bounce Slide Combos\" \/>\r\n    <\/div>\r\n  <\/a>\r\n  <div class=\"cat_div_inner\">\r\n    <a href=\"https:\/\/mbgalaxy.com\/virginia\/rentals\/moon-bounce-slide-combos\/\">\r\n      <p class=\"rentNameIO elementor-heading-title\">Moon Bounce Slide Combos<\/p>\r\n      <div class=\"catDescriptionIO catDescriptionIO_small elementor-widget-text-editor\"><\/p>\n<p>Moon bounce and slide combos bring bouncing and sliding together in one inflatable. Many also include features such as a basketball hoop. Browse the available styles and check each listing for its specific features and space requirements.<\/p>\n<p><\/div>\r\n    <\/a>\r\n  <\/div>\r\n<\/div><!-- End Shortcoder content -->\n<!-- Start Shortcoder content --><div class=\"io_item2_listcat elementor-widget-heading\">\r\n  <a href=\"https:\/\/mbgalaxy.com\/virginia\/rentals\/water-slides\/\">\r\n    <div class=\"cat_div\">\r\n      <div class=\"btn btn-primary view-product-button\">View Products<\/div>\r\n      <img decoding=\"async\" class=\"cat_img\" src=\"https:\/\/mbgalaxy.com\/virginia\/wp-content\/uploads\/sites\/3\/2025\/06\/One-of-a-kind203_1707154747_big-1.png\" alt=\"Water Slides\" title=\"Water Slides\" \/>\r\n    <\/div>\r\n  <\/a>\r\n  <div class=\"cat_div_inner\">\r\n    <a href=\"https:\/\/mbgalaxy.com\/virginia\/rentals\/water-slides\/\">\r\n      <p class=\"rentNameIO elementor-heading-title\">Water Slides<\/p>\r\n      <div class=\"catDescriptionIO catDescriptionIO_small elementor-widget-text-editor\"><\/p>\n<p>Cool off on a warm day with a water slide rental from Moon Bounce Galaxy. Many slides accommodate 10 to 20 guests, with a wait between turns. A hose and extension cord are provided when the water and electrical hookups are within 50 feet. Review each listing for size and details; slides are secured with stakes or sandbags for light winds.<\/p>\n<p><\/div>\r\n    <\/a>\r\n  <\/div>\r\n<\/div><!-- End Shortcoder content -->\n<!-- Start Shortcoder content --><div class=\"io_item2_listcat elementor-widget-heading\">\r\n  <a href=\"https:\/\/mbgalaxy.com\/virginia\/rentals\/mini-moon-bounces-indoor-outdoor\/\">\r\n    <div class=\"cat_div\">\r\n      <div class=\"btn btn-primary view-product-button\">View Products<\/div>\r\n      <img decoding=\"async\" class=\"cat_img\" src=\"https:\/\/mbgalaxy.com\/virginia\/wp-content\/uploads\/sites\/3\/2025\/06\/One-of-a-kind204_1707154773_big-1.png\" alt=\"Mini Moon Bounces Indoor\/Outdoor\" title=\"Mini Moon Bounces Indoor\/Outdoor\" \/>\r\n    <\/div>\r\n  <\/a>\r\n  <div class=\"cat_div_inner\">\r\n    <a href=\"https:\/\/mbgalaxy.com\/virginia\/rentals\/mini-moon-bounces-indoor-outdoor\/\">\r\n      <p class=\"rentNameIO elementor-heading-title\">Mini Moon Bounces Indoor\/Outdoor<\/p>\r\n      <div class=\"catDescriptionIO catDescriptionIO_small elementor-widget-text-editor\"><\/p>\n<p>Mini moon bounces are designed for younger jumpers and are compact enough for many indoor or outdoor setups. Some combo units also include features such as a slide or basketball hoop alongside the bounce area. Review the individual listing for its details and space requirements.<\/p>\n<p><\/div>\r\n    <\/a>\r\n  <\/div>\r\n<\/div><!-- End Shortcoder content -->\n<!-- Start Shortcoder content --><div class=\"io_item2_listcat elementor-widget-heading\">\r\n  <a href=\"https:\/\/mbgalaxy.com\/virginia\/rentals\/mechanical-rides\/\">\r\n    <div class=\"cat_div\">\r\n      <div class=\"btn btn-primary view-product-button\">View Products<\/div>\r\n      <img decoding=\"async\" class=\"cat_img\" src=\"https:\/\/mbgalaxy.com\/virginia\/wp-content\/uploads\/sites\/3\/2025\/06\/Bull20Ride20Brown20With20Air20Mattress_1691428624_big-1.jpeg\" alt=\"Mechanical Rides\" title=\"Mechanical Rides\" \/>\r\n    <\/div>\r\n  <\/a>\r\n  <div class=\"cat_div_inner\">\r\n    <a href=\"https:\/\/mbgalaxy.com\/virginia\/rentals\/mechanical-rides\/\">\r\n      <p class=\"rentNameIO elementor-heading-title\">Mechanical Rides<\/p>\r\n      <div class=\"catDescriptionIO catDescriptionIO_small elementor-widget-text-editor\"><\/p>\n<p>Add a memorable attraction to your Northern Virginia event with mechanical ride rentals from Moon Bounce Galaxy. Options include a mechanical bull, climbing wall, and trackless train. Review each listing for the ride&rsquo;s specific details.<\/p>\n<p><\/div>\r\n    <\/a>\r\n  <\/div>\r\n<\/div><!-- End Shortcoder content -->\n<!-- Start Shortcoder content --><div class=\"io_item2_listcat elementor-widget-heading\">\r\n  <a href=\"https:\/\/mbgalaxy.com\/virginia\/rentals\/games\/\">\r\n    <div class=\"cat_div\">\r\n      <div class=\"btn btn-primary view-product-button\">View Products<\/div>\r\n      <img decoding=\"async\" class=\"cat_img\" src=\"https:\/\/mbgalaxy.com\/virginia\/wp-content\/uploads\/sites\/3\/2025\/06\/Happy20Thanksgiving202_1670952676_big-1.png\" alt=\"Games\" title=\"Games\" \/>\r\n    <\/div>\r\n  <\/a>\r\n  <div class=\"cat_div_inner\">\r\n    <a href=\"https:\/\/mbgalaxy.com\/virginia\/rentals\/games\/\">\r\n      <p class=\"rentNameIO elementor-heading-title\">Games<\/p>\r\n      <div class=\"catDescriptionIO catDescriptionIO_small elementor-widget-text-editor\"><\/p>\n<p>Bring guests together with interactive game rentals from Moon Bounce Galaxy. Games add friendly competition to parties, school events, company gatherings, and community celebrations across Northern Virginia. Browse the options and check each listing for its details.<\/p>\n<p><\/div>\r\n    <\/a>\r\n  <\/div>\r\n<\/div><!-- End Shortcoder content -->\n<!-- Start Shortcoder content --><div class=\"io_item2_listcat elementor-widget-heading\">\r\n  <a href=\"https:\/\/mbgalaxy.com\/virginia\/rentals\/concessions\/\">\r\n    <div class=\"cat_div\">\r\n      <div class=\"btn btn-primary view-product-button\">View Products<\/div>\r\n      <img decoding=\"async\" class=\"cat_img\" src=\"https:\/\/mbgalaxy.com\/virginia\/wp-content\/uploads\/sites\/3\/2025\/06\/thumb_275x275_571474591831201_1623812368_big_1646845462_big-1.png\" alt=\"Concessions\" title=\"Concessions\" \/>\r\n    <\/div>\r\n  <\/a>\r\n  <div class=\"cat_div_inner\">\r\n    <a href=\"https:\/\/mbgalaxy.com\/virginia\/rentals\/concessions\/\">\r\n      <p class=\"rentNameIO elementor-heading-title\">Concessions<\/p>\r\n      <div class=\"catDescriptionIO catDescriptionIO_small elementor-widget-text-editor\"><\/p>\n<p>Add classic party treats with concession rentals from Moon Bounce Galaxy. Options include popcorn, cotton candy, and snow cone machines. These items are available only as add-ons to inflatable rentals, not as standalone rentals. Staff or volunteers can operate the machines; review each listing for item details.<\/p>\n<p><\/div>\r\n    <\/a>\r\n  <\/div>\r\n<\/div><!-- End Shortcoder content -->\n<!-- Start Shortcoder content --><div class=\"io_item2_listcat elementor-widget-heading\">\r\n  <a href=\"https:\/\/mbgalaxy.com\/virginia\/rentals\/tents-chairs-and-tables\/\">\r\n    <div class=\"cat_div\">\r\n      <div class=\"btn btn-primary view-product-button\">View Products<\/div>\r\n      <img decoding=\"async\" class=\"cat_img\" src=\"https:\/\/mbgalaxy.com\/virginia\/wp-content\/uploads\/sites\/3\/2025\/06\/tables_1646845472_big-1.png\" alt=\"Tents, Chairs and Tables\" title=\"Tents, Chairs and Tables\" \/>\r\n    <\/div>\r\n  <\/a>\r\n  <div class=\"cat_div_inner\">\r\n    <a href=\"https:\/\/mbgalaxy.com\/virginia\/rentals\/tents-chairs-and-tables\/\">\r\n      <p class=\"rentNameIO elementor-heading-title\">Tents, Chairs and Tables<\/p>\r\n      <div class=\"catDescriptionIO catDescriptionIO_small elementor-widget-text-editor\"><\/p>\n<p>Plan a comfortable event space with tents, chairs, and tables from Moon Bounce Galaxy. These items are available only as add-ons to inflatable rentals, not as standalone rentals. Tents can provide shade or rain cover, and tables may be placed beneath a tent or elsewhere. The rental company usually delivers and sets up tables and chairs, then returns for them after the event. Equipment is cleaned and inspected regularly.<\/p>\n<p><\/div>\r\n    <\/a>\r\n  <\/div>\r\n<\/div><!-- End Shortcoder content -->\n<!-- Start Shortcoder content --><div class=\"io_item2_listcat elementor-widget-heading\">\r\n  <a href=\"https:\/\/mbgalaxy.com\/virginia\/rentals\/entertainment\/\">\r\n    <div class=\"cat_div\">\r\n      <div class=\"btn btn-primary view-product-button\">View Products<\/div>\r\n      <img decoding=\"async\" class=\"cat_img\" src=\"https:\/\/mbgalaxy.com\/virginia\/wp-content\/uploads\/sites\/3\/2025\/06\/Easter-Bunny-Mascot_1739992428_1750176412_big.png\" alt=\"Entertainment\" title=\"Entertainment\" \/>\r\n    <\/div>\r\n  <\/a>\r\n  <div class=\"cat_div_inner\">\r\n    <a href=\"https:\/\/mbgalaxy.com\/virginia\/rentals\/entertainment\/\">\r\n      <p class=\"rentNameIO elementor-heading-title\">Entertainment<\/p>\r\n      <div class=\"catDescriptionIO catDescriptionIO_small elementor-widget-text-editor\"><\/p>\n<p style=\"font-family: Tahoma, Geneva, sans-serif;\">Make your Northern Virginia event more memorable with entertainment rentals from Moon Bounce Galaxy. Browse options such as face painting and character appearances for parties, school events, and community celebrations.<\/p>\n<p><\/div>\r\n    <\/a>\r\n  <\/div>\r\n<\/div><!-- End Shortcoder content -->\n<!-- Start Shortcoder content --><div class=\"io_item2_listcat elementor-widget-heading\">\r\n  <a href=\"https:\/\/mbgalaxy.com\/virginia\/rentals\/party-add-ons\/\">\r\n    <div class=\"cat_div\">\r\n      <div class=\"btn btn-primary view-product-button\">View Products<\/div>\r\n      <img decoding=\"async\" class=\"cat_img\" src=\"https:\/\/mbgalaxy.com\/virginia\/wp-content\/uploads\/sites\/3\/2025\/06\/ryobi-make-your-house-a-home-ry906500s-64_600_1646845680_big-1.png\" alt=\"Party Add-Ons\" title=\"Party Add-Ons\" \/>\r\n    <\/div>\r\n  <\/a>\r\n  <div class=\"cat_div_inner\">\r\n    <a href=\"https:\/\/mbgalaxy.com\/virginia\/rentals\/party-add-ons\/\">\r\n      <p class=\"rentNameIO elementor-heading-title\">Party Add-Ons<\/p>\r\n      <div class=\"catDescriptionIO catDescriptionIO_small elementor-widget-text-editor\"><\/p>\n<p>Add useful extras to your celebration with party add-ons from Moon Bounce Galaxy. These items are available only as add-ons to inflatable rentals and are not rented as standalone items. Review each listing for item details.<\/p>\n<p><\/div>\r\n    <\/a>\r\n  <\/div>\r\n<\/div><!-- End Shortcoder content -->\n<!-- Start Shortcoder content --><div class=\"io_item2_listcat elementor-widget-heading\">\r\n  <a href=\"https:\/\/mbgalaxy.com\/virginia\/rentals\/foam-snow-machine\/\">\r\n    <div class=\"cat_div\">\r\n      <div class=\"btn btn-primary view-product-button\">View Products<\/div>\r\n      <img decoding=\"async\" class=\"cat_img\" src=\"https:\/\/mbgalaxy.com\/virginia\/wp-content\/uploads\/sites\/3\/2025\/06\/images203_1693520088_big-1.jpeg\" alt=\"Foam & Snow Machine\" title=\"Foam & Snow Machine\" \/>\r\n    <\/div>\r\n  <\/a>\r\n  <div class=\"cat_div_inner\">\r\n    <a href=\"https:\/\/mbgalaxy.com\/virginia\/rentals\/foam-snow-machine\/\">\r\n      <p class=\"rentNameIO elementor-heading-title\">Foam & Snow Machine<\/p>\r\n      <div class=\"catDescriptionIO catDescriptionIO_small elementor-widget-text-editor\"><\/p>\n<p>Add a playful touch to your celebration with foam and snow machine rentals from Moon Bounce Galaxy. Foam machine options use non-toxic foam for lively parties and events. Browse the available equipment and review each listing for details.<\/p>\n<p><\/div>\r\n    <\/a>\r\n  <\/div>\r\n<\/div><!-- End Shortcoder content -->\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"io_meta_description":"","footnotes":""},"class_list":["post-1311","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/mbgalaxy.com\/virginia\/wp-json\/wp\/v2\/pages\/1311","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mbgalaxy.com\/virginia\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/mbgalaxy.com\/virginia\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/mbgalaxy.com\/virginia\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mbgalaxy.com\/virginia\/wp-json\/wp\/v2\/comments?post=1311"}],"version-history":[{"count":10,"href":"https:\/\/mbgalaxy.com\/virginia\/wp-json\/wp\/v2\/pages\/1311\/revisions"}],"predecessor-version":[{"id":9565,"href":"https:\/\/mbgalaxy.com\/virginia\/wp-json\/wp\/v2\/pages\/1311\/revisions\/9565"}],"wp:attachment":[{"href":"https:\/\/mbgalaxy.com\/virginia\/wp-json\/wp\/v2\/media?parent=1311"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}