// GLOBAL YOUTUBE VIDEO MODAL FUNCTIONS window.openModal = function(id) { var modal = document.getElementById('video-modal'); var iframe = document.getElementById('video-iframe'); if (modal && iframe) { iframe.src = 'https://www.youtube-nocookie.com/embed/' + id + '?autoplay=1&rel=0&modestbranding=1'; modal.classList.add('open'); } }; window.closeModal = function() { var modal = document.getElementById('video-modal'); var iframe = document.getElementById('video-iframe'); if (modal) modal.classList.remove('open'); if (iframe) iframe.src = ''; }; // GLOBAL DELEGATED CLICK LISTENER FOR YOUTUBE VIDEO CARDS document.addEventListener('click', function(e) { var card = e.target.closest('.yt-card'); if (card) { e.preventDefault(); var vid = card.getAttribute('data-vid'); if (!vid) { var oc = card.getAttribute('onclick') || ''; if (oc.indexOf('openModal(') !== -1) { vid = oc.split("openModal('")[1].split("')")[0]; } } if (vid && typeof window.openModal === 'function') { window.openModal(vid); } } var closeBtn = e.target.closest('#modal-close, .modal-close'); if (closeBtn) { e.preventDefault(); if (typeof window.closeModal === 'function') window.closeModal(); } }); window.toggleFaq = function(el) { var item = (el && el.closest) ? el.closest('.faq-item') : el; if (!item) return; var isActive = item.classList.contains('active'); document.querySelectorAll('.faq-item').forEach(function(i) { i.classList.remove('active'); }); if (!isActive) { item.classList.add('active'); } }; /* ══════════════════════════════════════════════ LUXURY GOLD SPINNER OVERLAY FOR STORY VIDEOS ══════════════════════════════════════════════ */ .story-loader-overlay { position: absolute !important; top: 50% !important; left: 50% !important; transform: translate(-50%, -50%) !important; z-index: 11003 !important; display: flex !important; flex-direction: column !important; align-items: center !important; justify-content: center !important; gap: 0.8rem !important; background: rgba(0, 0, 0, 0.75) !important; border: 1px solid rgba(220, 165, 103, 0.35) !important; padding: 1.2rem 2rem !important; border-radius: 20px !important; backdrop-filter: blur(15px) !important; box-shadow: 0 10px 35px rgba(0,0,0,0.85) !important; pointer-events: none !important; opacity: 0; visibility: hidden; transition: opacity 0.3s ease, visibility 0.3s ease !important; } .story-loader-overlay.active { opacity: 1 !important; visibility: visible !important; } .story-spinner-ring { width: 38px !important; height: 38px !important; border: 3px solid rgba(220, 165, 103, 0.2) !important; border-top: 3px solid #dca567 !important; border-radius: 50% !important; animation: storySpin 0.8s linear infinite !important; } @keyframes storySpin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } .story-loader-text { font-size: 0.82rem !important; color: #ffffff !important; letter-spacing: 0.08em !important; font-weight: 600 !important; text-transform: uppercase !important; text-shadow: 0 2px 8px rgba(0,0,0,0.8) !important; }
An elegant ceremony and a reception that keeps everyone on the floor.
From the traditional waltz to the explosive Hora Loca.
High-end setups for galas and private VIP parties.
Engineering high-energy atmospheres for Texas & New Mexico's most exclusive celebrations.
Zero silence, zero awkward pauses. We mix all genres in real time to keep your dancefloor packed from start to finish.
Guests request their favorite tracks straight from their smartphones while we curate them seamlessly into the live set.
Crystal-clear acoustics calibrated specifically for your venue's dimensions, giving punchy bass without ear fatigue.
Beat-synchronized moving heads, architectural uplighting, and low-lying fog to transform any room into a festival venue.
Fluent English & Spanish hosting with wireless microphones and HD lyrics screens for optional high-energy singalong moments.