{"id":90417,"date":"2026-02-09T16:00:10","date_gmt":"2026-02-09T16:00:10","guid":{"rendered":"https:\/\/www.aspartyrental.com\/cincinnati\/trade-show-expo-cincinnati\/"},"modified":"2026-03-17T12:26:58","modified_gmt":"2026-03-17T12:26:58","slug":"trade-show-expo-cincinnati","status":"publish","type":"page","link":"https:\/\/www.aspartyrental.com\/cincinnati\/inventory\/trade-show-expo-cincinnati\/","title":{"rendered":"Trade Show &#038; Expo Cincinnati"},"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\">Trade Show & Expo Cincinnati<span class=\"io_forrent io_forrent_299607\"> 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\">299607<\/div>\r\n<div class=\"cat_div_wrapper\"><div class=\"io_cat_description io_cat_description_299607 elementor-widget-text-editor catDescriptionIO\"><\/p>\n<p style=\"font-family: Tahoma, Geneva, sans-serif;\"><strong data-end=\"140\" data-start=\"120\">A&amp;S Party Rental<\/strong> provides professional <strong data-end=\"230\" data-start=\"163\">trade show and expo services across Ohio, Indiana, and Kentucky<\/strong>, specializing in <strong data-end=\"274\" data-start=\"248\">pipe and drape rentals<\/strong>, <strong data-end=\"297\" data-start=\"276\">tables and chairs<\/strong>, and complete <strong data-end=\"345\" data-start=\"312\">trade show booth installation<\/strong>. We support conventions, expos, and corporate events with reliable equipment, expert installation, and on-time service that keeps your exhibit looking sharp and professional. Whether you&rsquo;re building a custom booth or need a full exhibitor setup, our experienced team delivers seamless results from setup to teardown. Visit <strong data-end=\"694\" data-is-only-node=\"\" data-start=\"669\"><a data-end=\"692\" data-start=\"671\" rel=\"noopener\" target=\"_new\">www.aspartyrental.com<\/a><\/strong> to learn more and reserve premium <a data-end=\"782\" data-start=\"729\" href=\"https:\/\/www.aspartyrental.com\" rel=\"noopener\" target=\"_new\">pipe &amp; drape rentals<\/a> for your next trade show.<\/p>\n<p><\/div><\/div>\r\n<div class=\"io_catdiv2\"><\/div>\r\n<div class=\"io_landingpages io_landingpages_299607 elementor-widget-text-editor\"><!-- Start Shortcoder content -->Professional delivery to <span class=\\\"io_city_list\\\"><a href=https:\/\/www.aspartyrental.com\/cincinnati\/bounce-house-rentals-in-cincinnati-ohio\/>Cincinnati Ohio<\/a>, <a href=https:\/\/www.aspartyrental.com\/cincinnati\/bounce-house-rentals-in-loveland-ohio\/>Loveland Ohio<\/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_299607 elementor-widget-text-editor\"><\/p>\n<h3 data-end=\"332\" data-start=\"272\">Tradeshow &amp; Expo Booth Rentals and Installation Services<\/h3>\n<p data-end=\"832\" data-start=\"334\"><strong data-end=\"354\" data-start=\"334\">A&amp;S Party Rental<\/strong> is a trusted provider of professional <strong data-end=\"437\" data-start=\"393\">tradeshow and expo booth rental services<\/strong> throughout <strong data-end=\"480\" data-start=\"449\">Ohio, Indiana, and Kentucky<\/strong>, supporting conventions, corporate expos, industry trade shows, job fairs, and large community events. We specialize in delivering dependable, high-quality solutions for <strong data-end=\"677\" data-start=\"651\">pipe and drape systems<\/strong>, <strong data-end=\"700\" data-start=\"679\">tables and chairs<\/strong>, and <strong data-end=\"733\" data-start=\"706\">full booth installation<\/strong>, helping event planners and exhibitors create clean, organized, and visually polished show floors.<\/p>\n<p data-end=\"1525\" data-start=\"834\">Our extensive inventory of <strong data-end=\"887\" data-start=\"861\">pipe and drape rentals<\/strong> allows for flexible booth layouts, aisle separation, backdrops, and exhibitor privacy&mdash;perfect for convention centers, hotels, arenas, and civic venues. Whether you&rsquo;re coordinating a multi-day industry expo or a one-day community showcase, our team works closely with show management to ensure every booth meets venue requirements, exhibitor needs, and timeline expectations. From standard inline booths to larger island-style displays, we handle setup and teardown with precision and professionalism. Learn more about our customizable <a data-end=\"1476\" data-start=\"1423\" href=\"https:\/\/www.aspartyrental.com\" rel=\"noopener\" target=\"_new\">pipe &amp; drape rentals<\/a> designed specifically for trade shows and expos.<\/p>\n<p data-end=\"2017\" data-start=\"1527\">In addition to pipe and drape, <strong data-end=\"1578\" data-start=\"1558\">A&amp;S Party Rental<\/strong> provides sturdy <strong data-end=\"1616\" data-start=\"1595\">tables and chairs<\/strong> ideal for exhibitor displays, registration areas, seminar spaces, and networking lounges. Our experienced installation crews understand the logistics of trade show environments and work efficiently alongside event staff to keep everything running smoothly. Event planners rely on us for on-time delivery, clear communication, and consistent results&mdash;making booth rentals one less thing to worry about.<\/p>\n<p data-end=\"2367\" data-start=\"2019\">Serving exhibitors and event professionals across the Midwest, <strong data-end=\"2102\" data-start=\"2082\">A&amp;S Party Rental<\/strong> is committed to helping your trade show or expo look professional, organized, and successful from the moment doors open. Visit <strong data-end=\"2255\" data-start=\"2230\"><a data-end=\"2253\" data-start=\"2232\" rel=\"noopener\" target=\"_new\">www.aspartyrental.com<\/a><\/strong> to explore our booth rental options and partner with a team that understands the demands of large-scale events.<\/p>\n<p data-end=\"1057\" data-start=\"947\"><strong data-end=\"1010\" data-start=\"947\">Stand out at your next event&mdash;contact A&amp;S Party Rental today<\/strong> to reserve your trade show and expo rentals!<\/p>\n<p><\/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 --><script>window.io_category_data = window.io_category_data || {}; window.io_category_data['3249463'] = {\"indoor_outdoor\":\"\",\"staff\":\"\",\"electric\":\"0.00\",\"dimensions\":\"\",\"rental_id\":\"3249463\",\"rental_name\":\"Balloon Column\",\"images_arr\":\"{\\u00220\\u0022:{\\u0022rentalimage_id\\u0022:\\u00222340277\\u0022,\\u0022rentalimage_createtime\\u0022:null,\\u0022rentalimage_modifiedtime\\u0022:null,\\u0022rentalimage_itemid\\u0022:\\u00223249463\\u0022,\\u0022rentalimage_order\\u0022:\\u00220\\u0022,\\u0022rentalimage_imageloc\\u0022:\\u0022https:\\\/\\\/rental.software\\\/users\\\/reservations@asplayzone\\\/images\\\/Balloon Column 8ft_1773091684.png\\u0022,\\u0022rentalimage_imagelocbig\\u0022:\\u0022https:\\\/\\\/rental.software\\\/users\\\/reservations@asplayzone\\\/images\\\/Balloon Column 8ft_1773091684_big.png\\u0022}}\"};<\/script><div class=\"io_item2_list elementor-widget-heading simpleCart_ioShelfItem cat_div_3249463\" name=\"maindiv_Balloon Column\">\r\n    <div class=\"cat_div\">\r\n        <a href=\"https:\/\/www.aspartyrental.com\/cincinnati\/inventory\/decor\/balloon-column\/\">\r\n            <div class=\"btn btn-primary view-product-button\">View Product<\/div>\r\n            <img decoding=\"async\" class=\"category_big_img cat_img item_image io_image_big\" title=\"Balloon Column\" src=\"https:\/\/rental.software\/users\/reservations@asplayzone\/images\/Balloon Column 8ft_1773091684_big.png\" alt=\"Balloon Column\" \/>\r\n        <\/a>\r\n        <a rel=\"noopener\" href=\"https:\/\/rental.software\/users\/reservations@asplayzone\/images\/Balloon Column 8ft_1773091684_big.png\" id=\"io_img_big1_3249463\" target=\"_blank\"><\/a>\r\n        <a rel=\"img_group noopener\" href=\"\" id=\"io_img_big2_3249463\"><\/a>\r\n        <br>\r\n        <div class=\"io_image_thumbbox io_category_thumbox\" style=\"display:none;\">\r\n            <img decoding=\"async\" class=\"io_image_thumb skip-lazy\" title=\"Balloon Column\" src=\"https:\/\/rental.software\/users\/reservations@asplayzone\/images\/Balloon Column 8ft_1773091684.png\" alt=\"Balloon Column\"\r\n                 id=\"io_img_thumb1_3249463\" onclick=\"updateMainPic(this)\" \/>\r\n        <\/div>\r\n    <\/div>\r\n    <div class=\"io_item2_list_inner\">\r\n        <p class=\"elementor-heading-title rentNameIO item_name\"><a href=\"https:\/\/www.aspartyrental.com\/cincinnati\/inventory\/decor\/balloon-column\/\">Balloon Column<\/a><\/p>\r\n        <p class=\"rentNameIO_price rentNameIO_price_3249463\"><span class=\"cat_from\" style=\"font-style:italic;font-size:smaller;\">from<\/span> <span class=\"rentNameIO_pricespan\">$0.00<\/span><\/p>\r\n        <p class=\"item_encoded\" style=\"display:none;\">Balloon+Column<\/p>\r\n        <span class=\"item_href\" style=\"display:none;\">https:\/\/www.aspartyrental.com\/cincinnati\/inventory\/decor\/balloon-column\/<\/span>\r\n        <p class=\"item_rentalid\" style=\"display:none;\">3249463<\/p>\r\n        <p class=\"item_vendorid\" style=\"display:none;\"><\/p>\r\n        <p class=\"item_qtytype\" style=\"display:none;\">Unlimited<\/p>\r\n        <p class=\"item_inputtype\" style=\"display:none;\">Dropdown<\/p>\r\n        <span class=\"item_qtyincrement\" style=\"display:none;\">1<\/span>\r\n        <div class=\"item_timeslots\" style=\"display:none;\"><\/div>\r\n        <p class=\"item_giftcardvalue\" style=\"display:none;\"><\/p>\r\n        <div class=\"item_hasRequiredAcc\" style=\"display:none;\">0<\/div>\r\n\r\n        <!-- Store list view data as attributes (lightweight) -->\r\n        <div class=\"io_list_view_data\"><\/div>\r\n        <div class=\"io_buttons_container\">\r\n            <a href=\"https:\/\/www.aspartyrental.com\/cincinnati\/inventory\/decor\/balloon-column\/\" class=\"io_more_info_button\">MORE INFO<\/a>\r\n            <div class=\"elementor-widget-button add_cart_3249463\">\r\n                <a class=\"item_add elementor-button elementor-size-sm elementor-animation-grow io_button rentNameIO_button\"\r\n                   href=\"javascript:;\"><!--no linebreak bc elementor--><i class=\"fas fa-shopping-cart\"><\/i> Add to Cart<\/a>\r\n            <\/div>\r\n        <\/div>\r\n        <div class=\"unavailable_message unavailable_message_3249463\"  onclick=\"checkAvailDateClick()\">item unavailable (change date)<\/div>\r\n    <\/div>\r\n<\/div>\r\n<script>\r\n    jQuery(document).ready(function () {\r\n        \/\/ Hide price when zero\r\n        jQuery(\".rentNameIO_pricespan\").each(function () {\r\n            if( !Number( this.textContent.replace(\/[^0-9.-]+\/g,\"\") ) ){\r\n                jQuery(this.parentElement).hide();\r\n            }\r\n        });\r\n    });\r\n<\/script><!-- End Shortcoder content -->\n<!-- Start Shortcoder content --><script>window.io_category_data = window.io_category_data || {}; window.io_category_data['216533'] = {\"indoor_outdoor\":\"\",\"staff\":\"\",\"electric\":\"0.00\",\"dimensions\":\"6 ft wide\",\"rental_id\":\"216533\",\"rental_name\":\"Stanchions Single Pole with Red Velour Rope W\\\/Gold\",\"images_arr\":\"{\\u00220\\u0022:{\\u0022rentalimage_id\\u0022:\\u00221012687\\u0022,\\u0022rentalimage_createtime\\u0022:\\u00221681500435\\u0022,\\u0022rentalimage_modifiedtime\\u0022:\\u00221681500435\\u0022,\\u0022rentalimage_itemid\\u0022:\\u0022216533\\u0022,\\u0022rentalimage_order\\u0022:\\u00220\\u0022,\\u0022rentalimage_imageloc\\u0022:\\u0022https:\\\/\\\/rental.software\\\/users\\\/reservations@asplayzone\\\/images\\\/Gold-Stanchion-Post-4-Red-Velvet-Rope-Barrier-Queue-Line-Crowd-Control-Poles-for-The-Ceremony-Museums_1698153346.jpg\\u0022,\\u0022rentalimage_imagelocbig\\u0022:\\u0022https:\\\/\\\/rental.software\\\/users\\\/reservations@asplayzone\\\/images\\\/Gold-Stanchion-Post-4-Red-Velvet-Rope-Barrier-Queue-Line-Crowd-Control-Poles-for-The-Ceremony-Museums_1698153346_big.jpg\\u0022},\\u00221\\u0022:{\\u0022rentalimage_id\\u0022:\\u00221212993\\u0022,\\u0022rentalimage_createtime\\u0022:null,\\u0022rentalimage_modifiedtime\\u0022:null,\\u0022rentalimage_itemid\\u0022:\\u0022216533\\u0022,\\u0022rentalimage_order\\u0022:\\u00221\\u0022,\\u0022rentalimage_imageloc\\u0022:\\u0022https:\\\/\\\/rental.software\\\/users\\\/reservations@asplayzone\\\/images\\\/redstanchion_1698153347.jpg\\u0022,\\u0022rentalimage_imagelocbig\\u0022:\\u0022https:\\\/\\\/rental.software\\\/users\\\/reservations@asplayzone\\\/images\\\/redstanchion_1698153347_big.jpg\\u0022}}\"};<\/script><div class=\"io_item2_list elementor-widget-heading simpleCart_ioShelfItem cat_div_216533\" name=\"maindiv_Stanchions Single Pole with Red Velour Rope W\/Gold\">\r\n    <div class=\"cat_div\">\r\n        <a href=\"https:\/\/www.aspartyrental.com\/cincinnati\/inventory\/trade-show-expo-cincinnati\/stanchions-with-red-velour-rope-w-gold\/\">\r\n            <div class=\"btn btn-primary view-product-button\">View Product<\/div>\r\n            <img decoding=\"async\" class=\"category_big_img cat_img item_image io_image_big\" title=\"Stanchions Single Pole with Red Velour Rope W\/Gold\" src=\"https:\/\/rental.software\/users\/reservations@asplayzone\/images\/Gold-Stanchion-Post-4-Red-Velvet-Rope-Barrier-Queue-Line-Crowd-Control-Poles-for-The-Ceremony-Museums_1698153346_big.jpg\" alt=\"Stanchions Single Pole with Red Velour Rope W\/Gold\" \/>\r\n        <\/a>\r\n        <a rel=\"noopener\" href=\"https:\/\/rental.software\/users\/reservations@asplayzone\/images\/Gold-Stanchion-Post-4-Red-Velvet-Rope-Barrier-Queue-Line-Crowd-Control-Poles-for-The-Ceremony-Museums_1698153346_big.jpg\" id=\"io_img_big1_216533\" target=\"_blank\"><\/a>\r\n        <a rel=\"img_group noopener\" href=\"https:\/\/rental.software\/users\/reservations@asplayzone\/images\/redstanchion_1698153347_big.jpg\" id=\"io_img_big2_216533\" target=\"_blank\"><\/a>\r\n        <br>\r\n        <div class=\"io_image_thumbbox io_category_thumbox\" style=\"display:none;\">\r\n            <img decoding=\"async\" class=\"io_image_thumb skip-lazy\" title=\"Stanchions Single Pole with Red Velour Rope W\/Gold\" src=\"https:\/\/rental.software\/users\/reservations@asplayzone\/images\/Gold-Stanchion-Post-4-Red-Velvet-Rope-Barrier-Queue-Line-Crowd-Control-Poles-for-The-Ceremony-Museums_1698153346.jpg\" alt=\"Stanchions Single Pole with Red Velour Rope W\/Gold\"\r\n                 id=\"io_img_thumb1_216533\" onclick=\"updateMainPic(this)\" \/>\r\n        <\/div>\r\n    <\/div>\r\n    <div class=\"io_item2_list_inner\">\r\n        <p class=\"elementor-heading-title rentNameIO item_name\"><a href=\"https:\/\/www.aspartyrental.com\/cincinnati\/inventory\/trade-show-expo-cincinnati\/stanchions-with-red-velour-rope-w-gold\/\">Stanchions Single Pole with Red Velour Rope W\/Gold<\/a><\/p>\r\n        <p class=\"rentNameIO_price rentNameIO_price_216533\"><span class=\"cat_from\" style=\"font-style:italic;font-size:smaller;\">from<\/span> <span class=\"rentNameIO_pricespan\">$0.00<\/span><\/p>\r\n        <p class=\"item_encoded\" style=\"display:none;\">Stanchions+Single+Pole+with+Red+Velour+Rope+W%2FGold<\/p>\r\n        <span class=\"item_href\" style=\"display:none;\">https:\/\/www.aspartyrental.com\/cincinnati\/inventory\/trade-show-expo-cincinnati\/stanchions-with-red-velour-rope-w-gold\/<\/span>\r\n        <p class=\"item_rentalid\" style=\"display:none;\">216533<\/p>\r\n        <p class=\"item_vendorid\" style=\"display:none;\"><\/p>\r\n        <p class=\"item_qtytype\" style=\"display:none;\">Limited<\/p>\r\n        <p class=\"item_inputtype\" style=\"display:none;\">Dropdown<\/p>\r\n        <span class=\"item_qtyincrement\" style=\"display:none;\">1<\/span>\r\n        <div class=\"item_timeslots\" style=\"display:none;\"><\/div>\r\n        <p class=\"item_giftcardvalue\" style=\"display:none;\"><\/p>\r\n        <div class=\"item_hasRequiredAcc\" style=\"display:none;\">0<\/div>\r\n\r\n        <!-- Store list view data as attributes (lightweight) -->\r\n        <div class=\"io_list_view_data\"><\/div>\r\n        <div class=\"io_buttons_container\">\r\n            <a href=\"https:\/\/www.aspartyrental.com\/cincinnati\/inventory\/trade-show-expo-cincinnati\/stanchions-with-red-velour-rope-w-gold\/\" class=\"io_more_info_button\">MORE INFO<\/a>\r\n            <div class=\"elementor-widget-button add_cart_216533\">\r\n                <a class=\"item_add elementor-button elementor-size-sm elementor-animation-grow io_button rentNameIO_button\"\r\n                   href=\"javascript:;\"><!--no linebreak bc elementor--><i class=\"fas fa-shopping-cart\"><\/i> Add to Cart<\/a>\r\n            <\/div>\r\n        <\/div>\r\n        <div class=\"unavailable_message unavailable_message_216533\"  onclick=\"checkAvailDateClick()\">item unavailable (change date)<\/div>\r\n    <\/div>\r\n<\/div>\r\n<script>\r\n    jQuery(document).ready(function () {\r\n        \/\/ Hide price when zero\r\n        jQuery(\".rentNameIO_pricespan\").each(function () {\r\n            if( !Number( this.textContent.replace(\/[^0-9.-]+\/g,\"\") ) ){\r\n                jQuery(this.parentElement).hide();\r\n            }\r\n        });\r\n    });\r\n<\/script><!-- End Shortcoder content -->\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":90415,"parent":5378,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"io_meta_description":"","footnotes":""},"class_list":["post-90417","page","type-page","status-publish","has-post-thumbnail","hentry"],"_links":{"self":[{"href":"https:\/\/www.aspartyrental.com\/cincinnati\/wp-json\/wp\/v2\/pages\/90417","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.aspartyrental.com\/cincinnati\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.aspartyrental.com\/cincinnati\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.aspartyrental.com\/cincinnati\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.aspartyrental.com\/cincinnati\/wp-json\/wp\/v2\/comments?post=90417"}],"version-history":[{"count":3,"href":"https:\/\/www.aspartyrental.com\/cincinnati\/wp-json\/wp\/v2\/pages\/90417\/revisions"}],"predecessor-version":[{"id":96893,"href":"https:\/\/www.aspartyrental.com\/cincinnati\/wp-json\/wp\/v2\/pages\/90417\/revisions\/96893"}],"up":[{"embeddable":true,"href":"https:\/\/www.aspartyrental.com\/cincinnati\/wp-json\/wp\/v2\/pages\/5378"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.aspartyrental.com\/cincinnati\/wp-json\/wp\/v2\/media\/90415"}],"wp:attachment":[{"href":"https:\/\/www.aspartyrental.com\/cincinnati\/wp-json\/wp\/v2\/media?parent=90417"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}