VenueHearth

A clear working relationship

User Agreement

Effective date: January 15, 2025. By using VenueHearth, you agree to use this site responsibly and understand that catalog information supports inquiries rather than creating a confirmed venue contract.

Site purpose

VenueHearth provides a discovery experience for concert and event spaces. Listings, amenities, availability notes, and rates may change and should be verified before planning decisions.

No booking guarantee

Adding a venue to Fallows or Cart does not reserve it, establish availability, create a payment obligation, or form a contract. Confirmed terms come from a separate written agreement with the applicable venue.

Acceptable use

You may browse, save, and compare venues for lawful event planning. Do not misuse the site, interfere with its operation, scrape it in a harmful manner, submit deceptive information, or attempt unauthorized access.

Content and accuracy

We work to keep information useful, but VenueHearth does not promise that every listing is complete, current, suitable for a particular production, or available on a requested date.

Third-party relationships

Venue operators may have their own contracts, policies, insurance requirements, accessibility practices, and cancellation terms. Those requirements govern the final event relationship.

Contact and changes

We may update these terms as the service develops. Questions can be sent through the contact page.

`; const footerHTML = ` `; headerEl.innerHTML = headerHTML; footerEl.innerHTML = footerHTML; // Execute header script logic setTimeout(() => { const header = headerEl; const menuToggle = header.querySelector('[data-menu-toggle]'); const navMenu = header.querySelector('[data-menu]'); const themeToggle = header.querySelector('[data-theme-toggle]'); const authButtons = header.querySelectorAll('[data-auth]'); const authModal = header.querySelector('[data-auth-modal]'); const closeModal = authModal.querySelector('[data-close-modal]'); const authTitle = authModal.querySelector('[data-auth-title]'); let currentTheme = localStorage.getItem('venuehearth-theme') || 'light'; function applyTheme(theme) { if (theme === 'dark') { document.documentElement.classList.add('dark'); document.documentElement.style.setProperty('--bg-main', '#352319'); } else { document.documentElement.classList.remove('dark'); document.documentElement.style.setProperty('--bg-main', '#f4ecdf'); } localStorage.setItem('venuehearth-theme', theme); } applyTheme(currentTheme); themeToggle.addEventListener('click', () => { currentTheme = currentTheme === 'light' ? 'dark' : 'light'; applyTheme(currentTheme); }); menuToggle.addEventListener('click', () => { navMenu.classList.toggle('hidden'); navMenu.classList.toggle('flex'); navMenu.classList.toggle('flex-col'); navMenu.classList.toggle('absolute'); navMenu.classList.toggle('top-full'); navMenu.classList.toggle('left-0'); navMenu.classList.toggle('w-full'); navMenu.classList.toggle('bg-[#f4ecdf]'); navMenu.classList.toggle('border-b'); navMenu.classList.toggle('border-[#cdb99f]'); navMenu.classList.toggle('px-6'); navMenu.classList.toggle('py-4'); navMenu.classList.toggle('gap-3'); }); authButtons.forEach(btn => { btn.addEventListener('click', () => { const mode = btn.getAttribute('data-auth'); if (mode === 'login') { authTitle.textContent = 'Welcome back'; } else { authTitle.textContent = 'Create your account'; } authModal.classList.remove('hidden'); authModal.classList.add('flex'); }); }); closeModal.addEventListener('click', () => { authModal.classList.remove('flex'); authModal.classList.add('hidden'); }); authModal.addEventListener('click', (e) => { if (e.target === authModal) { authModal.classList.remove('flex'); authModal.classList.add('hidden'); } }); }, 50); // Execute footer script logic setTimeout(() => { const footer = footerEl; const banner = footer.querySelector('[data-cookie-banner]'); const acceptBtn = footer.querySelector('[data-cookie-accept]'); const consentKey = 'venuehearth-cookies-accepted'; if (!localStorage.getItem(consentKey)) { banner.classList.remove('hidden'); banner.classList.add('flex'); } acceptBtn.addEventListener('click', () => { localStorage.setItem(consentKey, 'true'); banner.classList.remove('flex'); banner.classList.add('hidden'); }); }, 50); })();