1<!DOCTYPE html><html lang="en" data-astro-cid-5hce7sga> <head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1"><title>Relentless Beats â Arizona EDM Events, Concerts & Festivals</title><meta name="description" content="Arizona's flagship EDM promoter â events, festivals, and after-hours bookings across Phoenix, Tucson, Flagstaff, Seattle, and Albuquerque."><link rel="canonical" href="https://relentlessbeats.com/"><link rel="icon" type="image/png" href="/favicon.png"><link rel="apple-touch-icon" href="/favicon.png">
1<script>(function(){const analyticsGranted = false; 2const adGranted = false; 3 4 window.dataLayer = window.dataLayer || []; 5 function gtag(){dataLayer.push(arguments);} 6 gtag('consent', 'default', { 7 ad_storage: adGranted ? 'granted' : 'denied', 8 ad_user_data: adGranted ? 'granted' : 'denied', 9 ad_personalization: adGranted ? 'granted' : 'denied', 10 analytics_storage: analyticsGranted ? 'granted' : 'denied', 11 functionality_storage: 'granted', 12 security_storage: 'granted', 13 wait_for_update: 500 14 }); 15 // Expose for the cookie banner to call on Accept/Decline. 16 window.__rbUpdateConsent = function (cookieValue) { 17 var accept = cookieValue === 'accept'; 18 var cats = String(cookieValue || '').split(',').map(function(s){return s.trim();}); 19 var analytics = accept || cats.indexOf('analytics') !== -1; 20 var ad = accept || cats.indexOf('marketing') !== -1; 21 gtag('consent', 'update', { 22 ad_storage: ad ? 'granted' : 'denied', 23 ad_user_data: ad ? 'granted' : 'denied', 24 ad_personalization: ad ? 'granted' : 'denied', 25 analytics_storage: analytics ? 'granted' : 'denied' 26 }); 27 }; 28 })();</script>
28<script>(function(){const GTM_ID = "GTM-KGXJZW"; 29 30 (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],j=d.createElement(s);j.async=true;j.src='https://www.googletagmanager.com/gtm.js?id='+i;f.parentNode.insertBefore(j,f);})(window,document,'script','dataLayer',GTM_ID); 31 })();</script>
31<!-- Open Graph (Facebook / iMessage / Slack / LinkedIn / etc.) --><meta property="og:site_name" content="Relentless Beats"><meta property="og:title" content="Relentless Beats â Arizona EDM Events, Concerts & Festivals"><meta property="og:description" content="Arizona's flagship EDM promoter â events, festivals, and after-hours bookings across Phoenix, Tucson, Flagstaff, Seattle, and Albuquerque."><meta property="og:url" content="https://relentlessbeats.com/"><meta property="og:type" content="website"><meta property="og:image" content="https://media.relentlessbeats.com/wp-content/uploads/2026/06/261030-31-HEX-Website_Teaser-1200x400.jpg"><meta property="og:image:alt" content="Relentless Beats â Arizona EDM Events, Concerts & Festivals"><!-- Twitter / X --><meta name="twitter:card" content="summary_large_image"><meta name="twitter:title" content="Relentless Beats â Arizona EDM Events, Concerts & Festivals"><meta name="twitter:description" content="Arizona's flagship EDM promoter â events, festivals, and after-hours bookings across Phoenix, Tucson, Flagstaff, Seattle, and Albuquerque."><meta name="twitter:image" content="https://media.relentlessbeats.com/wp-content/uploads/2026/06/261030-31-HEX-Website_Teaser-1200x400.jpg"><!-- Theme color (Safari nav bar tint / Android Chrome) --><meta name="theme-color" content="#08080a"><style type="text/css">@font-face {font-family:'Space Grotesk';font-style:normal;font-weight:400;src:url(/cf-fonts/v/space-grotesk/5.2.10/vietnamese/wght/normal.woff2);unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;font-display:swap;}@font-face {font-family:'Space Grotesk';font-style:normal;font-weight:400;src:url(/cf-fonts/v/space-grotesk/5.2.10/latin/wght/normal.woff2);unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;font-display:swap;}@font-face {font-family:'Space Grotesk';font-style:normal;font-weight:400;src:url(/cf-fonts/v/space-grotesk/5.2.10/latin-ext/wght/normal.woff2);unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;font-display:swap;}@font-face {font-family:'Space Grotesk';font-style:normal;font-weight:500;src:url(/cf-fonts/v/space-grotesk/5.2.10/latin-ext/wght/normal.woff2);unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;font-display:swap;}@font-face {font-family:'Space Grotesk';font-style:normal;font-weight:500;src:url(/cf-fonts/v/space-grotesk/5.2.10/latin/wght/normal.woff2);unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;font-display:swap;}@font-face {font-family:'Space Grotesk';font-style:normal;font-weight:500;src:url(/cf-fonts/v/space-grotesk/5.2.10/vietnamese/wght/normal.woff2);unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;font-display:swap;}@font-face {font-family:'Space Grotesk';font-style:normal;font-weight:600;src:url(/cf-fonts/v/space-grotesk/5.2.10/latin/wght/normal.woff2);unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;font-display:swap;}@font-face {font-family:'Space Grotesk';font-style:normal;font-weight:600;src:url(/cf-fonts/v/space-grotesk/5.2.10/latin-ext/wght/normal.woff2);unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;font-display:swap;}@font-face {font-family:'Space Grotesk';font-style:normal;font-weight:600;src:url(/cf-fonts/v/space-grotesk/5.2.10/vietnamese/wght/normal.woff2);
31unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;font-display:swap;}@font-face {font-family:'Space Grotesk';font-style:normal;font-weight:700;src:url(/cf-fonts/v/space-grotesk/5.2.10/latin-ext/wght/normal.woff2);unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;font-display:swap;}@font-face {font-family:'Space Grotesk';font-style:normal;font-weight:700;src:url(/cf-fonts/v/space-grotesk/5.2.10/vietnamese/wght/normal.woff2);unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;font-display:swap;}@font-face {font-family:'Space Grotesk';font-style:normal;font-weight:700;src:url(/cf-fonts/v/space-grotesk/5.2.10/latin/wght/normal.woff2);unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;font-display:swap;}@font-face {font-family:'IBM Plex Mono';font-style:normal;font-weight:400;src:url(/cf-fonts/s/ibm-plex-mono/5.2.7/latin/400/normal.woff2);unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;font-display:swap;}@font-face {font-family:'IBM Plex Mono';font-style:normal;font-weight:400;src:url(/cf-fonts/s/ibm-plex-mono/5.2.7/latin-ext/400/normal.woff2);unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;font-display:swap;}@font-face {font-family:'IBM Plex Mono';font-style:normal;font-weight:400;src:url(/cf-fonts/s/ibm-plex-mono/5.2.7/cyrillic/400/normal.woff2);unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;font-display:swap;}@font-face {font-family:'IBM Plex Mono';font-style:normal;font-weight:400;src:url(/cf-fonts/s/ibm-plex-mono/5.2.7/cyrillic-ext/400/normal.woff2);unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;font-display:swap;}@font-face {font-family:'IBM Plex Mono';font-style:normal;font-weight:400;src:url(/cf-fonts/s/ibm-plex-mono/5.2.7/vietnamese/400/normal.woff2);unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;font-display:swap;}@font-face {font-family:'IBM Plex Mono';font-style:normal;font-weight:500;src:url(/cf-fonts/s/ibm-plex-mono/5.2.7/cyrillic-ext/500/normal.woff2);unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;font-display:swap;}@font-face {font-family:'IBM Plex Mono';font-style:normal;font-weight:500;src:url(/cf-fonts/s/ibm-plex-mono/5.2.7/cyrillic/500/normal.woff2);unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;font-display:swap;}@font-face {font-family:'IBM Plex Mono';font-style:normal;font-weight:500;src:url(/cf-fonts/s/ibm-plex-mono/5.2.7/latin-ext/500/normal.woff2);unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;font-display:swap;}@font-face {font-family:'IBM Plex Mono';font-style:normal;font-weight:500;src:url(/cf-fonts/s/ibm-plex-mono/5.2.7/vietnamese/500/normal.woff2);unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;font-display:swap;}@font-face {font-family:'IBM Plex Mono';font-style:normal;font-weight:500;src:url(/cf-fonts/s/ibm-plex-mono/5.2.7/latin/500/normal.woff2);unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;font-display:swap;}@font-face {font-family:'IBM Plex Mono';font-style:normal;font-weight:600;src:url(/cf-fonts/s/ibm-plex-mono/5.2.7/latin/600/normal.woff2);
31unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;font-display:swap;}@font-face {font-family:'IBM Plex Mono';font-style:normal;font-weight:600;src:url(/cf-fonts/s/ibm-plex-mono/5.2.7/cyrillic/600/normal.woff2);unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;font-display:swap;}@font-face {font-family:'IBM Plex Mono';font-style:normal;font-weight:600;src:url(/cf-fonts/s/ibm-plex-mono/5.2.7/latin-ext/600/normal.woff2);unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;font-display:swap;}@font-face {font-family:'IBM Plex Mono';font-style:normal;font-weight:600;src:url(/cf-fonts/s/ibm-plex-mono/5.2.7/cyrillic-ext/600/normal.woff2);unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;font-display:swap;}@font-face {font-family:'IBM Plex Mono';font-style:normal;font-weight:600;src:url(/cf-fonts/s/ibm-plex-mono/5.2.7/vietnamese/600/normal.woff2);unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;font-display:swap;}@font-face {font-family:'IBM Plex Mono';font-style:normal;font-weight:700;src:url(/cf-fonts/s/ibm-plex-mono/5.2.7/latin-ext/700/normal.woff2);unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;font-display:swap;}@font-face {font-family:'IBM Plex Mono';font-style:normal;font-weight:700;src:url(/cf-fonts/s/ibm-plex-mono/5.2.7/vietnamese/700/normal.woff2);unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;font-display:swap;}@font-face {font-family:'IBM Plex Mono';font-style:normal;font-weight:700;src:url(/cf-fonts/s/ibm-plex-mono/5.2.7/latin/700/normal.woff2);unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;font-display:swap;}@font-face {font-family:'IBM Plex Mono';font-style:normal;font-weight:700;src:url(/cf-fonts/s/ibm-plex-mono/5.2.7/cyrillic/700/normal.woff2);unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;font-display:swap;}@font-face {font-family:'IBM Plex Mono';font-style:normal;font-weight:700;src:url(/cf-fonts/s/ibm-plex-mono/5.2.7/cyrillic-ext/700/normal.woff2);unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;font-display:swap;}@font-face {font-family:'Newsreader';font-style:normal;font-weight:400;src:url(/cf-fonts/v/newsreader/5.2.10/latin-ext/wght/normal.woff2);unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;font-display:swap;}@font-face {font-family:'Newsreader';font-style:normal;font-weight:400;src:url(/cf-fonts/v/newsreader/5.2.10/latin/wght/normal.woff2);unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;font-display:swap;}@font-face {font-family:'Newsreader';font-style:normal;font-weight:400;src:url(/cf-fonts/v/newsreader/5.2.10/vietnamese/wght/normal.woff2);unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;font-display:swap;}@font-face {font-family:'Newsreader';font-style:normal;font-weight:500;src:url(/cf-fonts/v/newsreader/5.2.10/latin/wght/normal.woff2);unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;font-display:swap;}@font-face {font-family:'Newsreader';font-style:normal;font-weight:500;src:url(/cf-fonts/v/newsreader/5.2.10/vietnamese/wght/normal.woff2);
31unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;font-display:swap;}@font-face {font-family:'Newsreader';font-style:normal;font-weight:500;src:url(/cf-fonts/v/newsreader/5.2.10/latin-ext/wght/normal.woff2);unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;font-display:swap;}@font-face {font-family:'Newsreader';font-style:italic;font-weight:400;src:url(/cf-fonts/v/newsreader/5.2.10/latin/wght/italic.woff2);unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;font-display:swap;}@font-face {font-family:'Newsreader';font-style:italic;font-weight:400;src:url(/cf-fonts/v/newsreader/5.2.10/vietnamese/wght/italic.woff2);unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;font-display:swap;}@font-face {font-family:'Newsreader';font-style:italic;font-weight:400;src:url(/cf-fonts/v/newsreader/5.2.10/latin-ext/wght/italic.woff2);unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;font-display:swap;}</style>
31<script type="application/ld+json">{"@context":"https://schema.org","@type":"Organization","@id":"https://relentlessbeats.com#organization","name":"Relentless Beats","alternateName":"RB","url":"https://relentlessbeats.com","logo":"https://relentlessbeats.com/wp-content/uploads/2020/01/RB-Logo.png","sameAs":["https://instagram.com/relentlessbeats","https://tiktok.com/@relentlessbeats","https://x.com/relentlessbeats","https://facebook.com/relentlessbeats","https://youtube.com/@relentlessbeats"],"foundingDate":"1996","description":"Arizona's flagship EDM promoter. Bangin' Beats since '96."}</script>
31
31<script>(function(){const HIVE_BRAND_ID = "125378"; 32 33 (function(h,i,v,e,s,d,k){h.HiveSDKObject=s;h[s]=h[s]||function(){(h[s].q=h[s].q||[]).push(arguments)};d=i.createElement(v);k=i.getElementsByTagName(v)[0];d.async=1;d.id=s;d.src=e+'?r='+parseInt(new Date()/60000);k.parentNode.insertBefore(d,k)})(window,document,'script','https://cdn-prod.hive.co/static/js/sdk-loader.js','HIVE_SDK'); 34 window.HIVE_SDK('init', HIVE_BRAND_ID, function (data) { 35 window.__rbHiveUser = (data && data.user) || null; 36 }); 37 })();</script>
37<script src="https://challenges.cloudflare.com/turnstile/v0/api.js" async defer></script>
37<link rel="stylesheet" href="/_astro/_slug_.iBTUcqyw.css"> 38<link rel="stylesheet" href="/_astro/_slug_.7W99McTz.css"> 39<link rel="stylesheet" href="/_astro/_slug_.Dbh8Per0.css"> 40<style>.rb-save[data-astro-cid-dcq6ic5g][aria-pressed=true]{color:var(--rb-hot)}.rb-save[data-astro-cid-dcq6ic5g][aria-pressed=true] svg[data-astro-cid-dcq6ic5g] path[data-astro-cid-dcq6ic5g]{fill:currentColor}.rb-save[data-astro-cid-dcq6ic5g]:hover{color:var(--rb-silver-warm)}.rb-save[data-astro-cid-dcq6ic5g][aria-pressed=true]:hover{color:var(--rb-hot)} 41.rb-author-link[data-astro-cid-2yvawtqt]{cursor:pointer}.rb-author-link[data-astro-cid-2yvawtqt]:hover,.rb-author-link[data-astro-cid-2yvawtqt]:focus-visible{text-decoration:underline;text-underline-offset:2px;outline:none} 42.rb-hero-track[data-astro-cid-456vviwh]::-webkit-scrollbar{display:none}.rb-hero-chip[data-astro-cid-456vviwh]{display:inline-flex;align-items:center;padding:7px 11px;font-family:var(--rb-font-mono);font-size:12px;font-weight:700;letter-spacing:.14em;line-height:1;background:#08080ab8;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.18);color:var(--rb-ink);text-transform:uppercase;white-space:nowrap}.rb-hero-chip-date[data-astro-cid-456vviwh]{color:var(--rb-silver-warm)}.rb-hero-eyebrow-pill[data-astro-cid-456vviwh]{display:inline-block;padding:5px 10px;font-size:10.5px;font-weight:700;letter-spacing:.18em;line-height:1;background:#08080ab3;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.14)}.rb-progress-seg[data-astro-cid-456vviwh]{flex:1;height:2px;padding:0;border:none;background:#f4f3ef29;overflow:hidden;cursor:pointer;position:relative;border-radius:1px}.rb-progress-seg[data-astro-cid-456vviwh]:focus-visible{outline:1px solid var(--rb-silver-warm);outline-offset:2px}.rb-progress-fill[data-astro-cid-456vviwh]{display:block;width:100%;height:100%;background:var(--rb-silver-warm);transform:scaleX(0);transform-origin:left center;border-radius:1px}.rb-progress-seg[data-astro-cid-456vviwh][data-state=done] .rb-progress-fill[data-astro-cid-456vviwh]{transform:scaleX(1)}.rb-progress-seg[data-astro-cid-456vviwh][data-state=active] .rb-progress-fill[data-astro-cid-456vviwh]{transform:scaleX(.04)}@media(prefers-reduced-motion:reduce){.rb-progress-seg[data-astro-cid-456vviwh][data-state=active] .rb-progress-fill[data-astro-cid-456vviwh]{transform:scaleX(1)}} 43.rb-ad-body[data-astro-cid-mcamehu4]{display:flex;justify-content:center}.rb-ad-body[data-astro-cid-mcamehu4] img{max-width:100%;height:auto;display:block;margin:0 auto}.rb-ad-body[data-astro-cid-mcamehu4] a{display:block;margin:0 auto} 44</style></head> <body class="bg-rb text-rb min-h-screen " data-astro-cid-5hce7sga>
vendor: 69 bytes, line 44
44 <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
44GTM-KGXJZW
vendor: 85 bytes, line 44
44" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
44<header class="rb-header" data-rb-sticky-nav data-scrolled="false" data-astro-cid-3ef6ksr2> <div class="rb-header-inner" data-astro-cid-3ef6ksr2> <a href="/" aria-label="Relentless Beats home" class="rb-header-logo" data-astro-cid-3ef6ksr2> <img src="/assets/rb-mark.png" alt="" class="rb-header-mark" style="filter:brightness(0) invert(0.96);" data-astro-cid-3ef6ksr2> <img src="/assets/rb-logo.png" alt="Relentless Beats" class="rb-header-wordmark" style="filter:brightness(0) invert(0.96);" data-astro-cid-3ef6ksr2> </a> <nav class="rb-header-nav" aria-label="Primary" data-astro-cid-3ef6ksr2> <details class="rb-dd" data-rb-dd data-astro-cid-3ef6ksr2> <summary class="rb-nav-link rb-nav-summary" data-active="false" data-rb-href="/events?m=all" aria-haspopup="menu" data-astro-cid-3ef6ksr2><span data-astro-cid-3ef6ksr2>Events</span><span class="rb-dd-caret" aria-hidden="true" data-astro-cid-3ef6ksr2>â¾</span></summary> <ul class="rb-dd-menu" role="menu" data-astro-cid-3ef6ksr2> <li data-astro-cid-3ef6ksr2> <a href="/events?m=all" role="menuitem" class="astro-3ef6ksr2" data-astro-cid-3ef6ksr2> <span class="rb-dd-name" data-astro-cid-3ef6ksr2>All Markets</span> </a> </li><li data-astro-cid-3ef6ksr2> <a href="/events?m=abq" role="menuitem" class="astro-3ef6ksr2" data-astro-cid-3ef6ksr2> <span class="rb-dd-name" data-astro-cid-3ef6ksr2>Albuquerque</span> </a> </li><li data-astro-cid-3ef6ksr2> <a href="/events?m=flg" role="menuitem" class="astro-3ef6ksr2" data-astro-cid-3ef6ksr2> <span class="rb-dd-name" data-astro-cid-3ef6ksr2>Flagstaff</span> </a> </li><li data-astro-cid-3ef6ksr2> <a href="/events?m=hnl" role="menuitem" class="astro-3ef6ksr2" data-astro-cid-3ef6ksr2> <span class="rb-dd-name" data-astro-cid-3ef6ksr2>Honolulu</span> </a> </li><li data-astro-cid-3ef6ksr2> <a href="/events?m=nyc" role="menuitem" class="astro-3ef6ksr2" data-astro-cid-3ef6ksr2> <span class="rb-dd-name" data-astro-cid-3ef6ksr2>New York City</span> </a> </li><li data-astro-cid-3ef6ksr2> <a href="/events?m=phx" role="menuitem" class="astro-3ef6ksr2" data-astro-cid-3ef6ksr2> <span class="rb-dd-name" data-astro-cid-3ef6ksr2>Phoenix</span> </a> </li><li data-astro-cid-3ef6ksr2> <a href="/events?m=tuc" role="menuitem" class="astro-3ef6ksr2" data-astro-cid-3ef6ksr2> <span class="rb-dd-name" data-astro-cid-3ef6ksr2>Tucson</span> </a> </li><li data-astro-cid-3ef6ksr2> <a href="/events/saved" role="menuitem" class="astro-3ef6ksr2" data-astro-cid-3ef6ksr2> <span class="rb-dd-name" data-astro-cid-3ef6ksr2>Saved</span> </a> </li> </ul> </details><a href="/gallery" data-active="false" class="rb-nav-link no-underline" data-astro-cid-3ef6ksr2>Gallery</a><a href="/rbnews" data-active="false" class="rb-nav-link no-underline" data-astro-cid-3ef6ksr2>News</a><a href="https://www.hellomerch.com/collections/relentless-beats" data-active="false" target="_blank" rel="noopener noreferrer" class="rb-nav-link no-underline" data-astro-cid-3ef6ksr2>Merch â</a><details class="rb-dd" data-rb-dd data-astro-cid-3ef6ksr2> <summary class="rb-nav-link rb-nav-summary" data-active="false" data-rb-href="/" aria-haspopup="menu" data-astro-cid-3ef6ksr2><span data-astro-cid-3ef6ksr2>Connect</span><span class="rb-dd-caret" aria-hidden="true" data-astro-cid-3ef6ksr2>â¾</span></summary> <ul class="rb-dd-menu" role="menu" data-astro-cid-3ef6ksr2> <li data-astro-cid-3ef6ksr2> <a href="/contact" role="menuitem" class="astro-3ef6ksr2" data-astro-cid-3ef6ksr2> <span class="rb-dd-name" data-astro-cid-3ef6ksr2>Contact Us</span> </a> </li><li data-astro-cid-3ef6ksr2> <a href="/about" role="menuitem" class="astro-3ef6ksr2" data-astro-cid-3ef6ksr2> <span class="rb-dd-name" data-astro-cid-3ef6ksr2>About</span> </a> </li> </ul> </details><details class="rb-dd" data-rb-dd data-astro-cid-3ef6ksr2> <summary class="rb-nav-link rb-nav-summary" data-active="false" data-rb-href="/" aria-haspopup="menu" data-astro-cid-3ef6ksr2><span data-astro-cid-3ef6ksr2>Opportunities</span><span class="rb-dd-caret" aria-hidden="true" data-astro-cid-3ef6ksr2>â¾</span></summary> <ul class="rb-dd-menu" role="menu" data-astro-cid-3ef6ksr2> <li data-astro-cid-3ef6ksr2> <a href="/jobs" role="menuitem" class="astro-3ef6ksr2" data-astro-cid-3ef6ksr2> <span class="rb-dd-name" data-astro-cid-3ef6ksr2>Job Opportunities</span> </a> </li> </ul> </details><div class="rb-follow-inline" data-astro-cid-3ef6ksr2> <span class="rb-nav-link rb-follow-label" data-active="false" data-astro-cid-3ef6ksr2> Follow </span> <span class="rb-follow-icons" role="group" aria-label="Follow" data-astro-cid-3ef6ksr2> <a href="https://www.instagram.com/relentlessbeats" target="_blank" rel="noopener noreferrer" aria-label="Instagram" title="Instagram" class="rb-social-icon" data-astro-cid-3ef6ksr2> <svg width="18" height="18" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" style="display:block;" data-astro-cid-3ef6ksr2> <path d="M12 2.16c3.2 0 3.58.01 4.85.07 1.17.05 1.8.25 2.23.41.56.22.96.48 1.38.9.42.42.68.82.9 1.38.16.42.36 1.06.41 2.23.06 1.27.07 1.65.07 4.85s-.01 3.58-.07 4.85c-.05 1.17-.25 1.8-.41 2.23-.22.56-.48.96-.9 1.38-.42.42-.82.68-1.38.9-.42.16-1.06.36-2.23.41-1.27.06-1.65.07-4.85.07s-3.58-.01-4.85-.07c-1.17-.05-1.8-.25-2.23-.41a3.7 3.7 0 0 1-1.38-.9 3.7 3.7 0 0 1-.9-1.38c-.16-.42-.36-1.06-.41-2.23C2.17 15.58 2.16 15.2 2.16 12s.01-3.58.07-4.85c.05-1.17.25-1.8.41-2.23.22-.56.48-.96.9-1.38.42-.42.82-.68 1.38-.9.42-.16 1.06-.36 2.23-.41C8.42 2.17 8.8 2.16 12 2.16zm0 1.8c-3.14 0-3.51.01-4.75.07-1.07.05-1.65.23-2.04.38a3.5 3.5 0 0 0-1.27.83 3.5 3.5 0 0 0-.83 1.27c-.15.39-.33.97-.38 2.04-.06 1.24-.07 1.61-.07 4.75s.01 3.51.07 4.75c.05 1.07.23 1.65.38 2.04.18.46.41.79.83 1.27.42.42.81.65 1.27.83.39.15.97.33 2.04.38 1.24.06 1.61.07 4.75.07s3.51-.01 4.75-.07c1.07-.05 1.65-.23 2.04-.38.46-.18.85-.41 1.27-.83.42-.42.65-.81.83-1.27.15-.39.33-.97.38-2.04.06-1.24.07-1.61.07-4.75s-.
4401-3.51-.07-4.75c-.05-1.07-.23-1.65-.38-2.04a3.5 3.5 0 0 0-.83-1.27 3.5 3.5 0 0 0-1.27-.83c-.39-.15-.97-.33-2.04-.38C15.51 3.97 15.14 3.96 12 3.96zm0 3.06a4.98 4.98 0 1 1 0 9.96 4.98 4.98 0 0 1 0-9.96zm0 8.22a3.24 3.24 0 1 0 0-6.48 3.24 3.24 0 0 0 0 6.48zm6.34-8.42a1.16 1.16 0 1 1-2.32 0 1.16 1.16 0 0 1 2.32 0z" data-astro-cid-3ef6ksr2></path> </svg> </a><a href="https://www.tiktok.com/@relentlessbeats" target="_blank" rel="noopener noreferrer" aria-label="TikTok" title="TikTok" class="rb-social-icon" data-astro-cid-3ef6ksr2> <svg width="18" height="18" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" style="display:block;" data-astro-cid-3ef6ksr2> <path d="M19.6 8.3a6.4 6.4 0 0 1-3.74-1.21v8.55a5.92 5.92 0 1 1-5.92-5.92c.31 0 .61.03.9.08v3.04a2.93 2.93 0 1 0 2 2.78V2h2.87a3.43 3.43 0 0 0 3.89 3.43V8.3z" data-astro-cid-3ef6ksr2></path> </svg> </a><a href="https://x.com/relentlessbeats" target="_blank" rel="noopener noreferrer" aria-label="X" title="X" class="rb-social-icon" data-astro-cid-3ef6ksr2> <svg width="18" height="18" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" style="display:block;" data-astro-cid-3ef6ksr2> <path d="M18.24 2.25h3.31l-7.23 8.26 8.5 11.24h-6.66l-5.21-6.82-5.97 6.82H1.67l7.73-8.84L1.25 2.25h6.83l4.71 6.23 5.45-6.23zm-1.16 17.52h1.83L7.08 4.12H5.12L17.08 19.77z" data-astro-cid-3ef6ksr2></path> </svg> </a><a href="https://www.facebook.com/relentlessbeats" target="_blank" rel="noopener noreferrer" aria-label="Facebook" title="Facebook" class="rb-social-icon" data-astro-cid-3ef6ksr2> <svg width="18" height="18" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" style="display:block;" data-astro-cid-3ef6ksr2> <path d="M22 12a10 10 0 1 0-11.56 9.88v-6.99H7.9V12h2.54V9.8c0-2.51 1.49-3.89 3.77-3.89 1.1 0 2.24.2 2.24.2v2.46h-1.26c-1.24 0-1.63.77-1.63 1.56V12h2.78l-.45 2.89h-2.33v6.99A10 10 0 0 0 22 12z" data-astro-cid-3ef6ksr2></path> </svg> </a><a href="https://www.youtube.com/relentlessbeatstv" target="_blank" rel="noopener noreferrer" aria-label="YouTube" title="YouTube" class="rb-social-icon" data-astro-cid-3ef6ksr2> <svg width="18" height="18" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" style="display:block;" data-astro-cid-3ef6ksr2> <path d="M21.58 7.2a2.51 2.51 0 0 0-1.77-1.77C18.25 5 12 5 12 5s-6.25 0-7.81.43a2.51 2.51 0 0 0-1.77 1.77C2 8.75 2 12 2 12s0 3.25.42 4.8a2.51 2.51 0 0 0 1.77 1.77C5.75 19 12 19 12 19s6.25 0 7.81-.43a2.51 2.51 0 0 0 1.77-1.77C22 15.25 22 12 22 12s0-3.25-.42-4.8zM10 15V9l5.2 3-5.2 3z" data-astro-cid-3ef6ksr2></path> </svg> </a><a href="https://open.spotify.com/user/or5hfa0szgokhzhbqvhvdajtp?si=8bcb92a3a0514848" target="_blank" rel="noopener noreferrer" aria-label="Spotify" title="Spotify" class="rb-social-icon" data-astro-cid-3ef6ksr2> <svg width="18" height="18" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" style="display:block;" data-astro-cid-3ef6ksr2> <path d="M12 0a12 12 0 1 0 0 24 12 12 0 0 0 0-24zm5.52 17.3a.75.75 0 0 1-1.03.25c-2.82-1.72-6.36-2.11-10.53-1.16a.75.75 0 0 1-.33-1.46c4.55-1.04 8.47-.59 11.64 1.34.36.22.47.69.25 1.03zm1.47-3.27a.94.94 0 0 1-1.29.31c-3.22-1.98-8.13-2.55-11.95-1.4a.94.94 0 1 1-.54-1.8c4.36-1.32 9.77-.68 13.47 1.6.44.27.58.85.31 1.29zm.13-3.4c-3.86-2.3-10.24-2.5-13.93-1.39a1.13 1.13 0 1 1-.65-2.16c4.23-1.28 11.27-1.04 15.72 1.6a1.13 1.13 0 0 1-1.14 1.95z" data-astro-cid-3ef6ksr2></path> </svg> </a> </span> </div> </nav> <div class="rb-header-right" data-astro-cid-3ef6ksr2> <span class="rb-market-chip" aria-label="Viewing RB" data-astro-cid-3ef6ksr2> <span class="rounded-full inline-block rb-pulse-dot" style="width:6px; height:6px; background:var(--rb-live); box-shadow:0 0 6px var(--rb-live);" data-astro-cid-3ef6ksr2></span> RB </span> <form class="rb-search" action="/search" method="get" role="search" data-astro-cid-3ef6ksr2> <input type="search" name="q" placeholder="Search events, artistsâ¦" aria-label="Search" autocomplete="off" data-rb-header-search data-astro-cid-3ef6ksr2> <button type="button" class="rb-search-toggle" aria-label="Search" data-rb-search-toggle data-astro-cid-3ef6ksr2>
44 <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" style="display:block;" data-astro-cid-3ef6ksr2> <circle cx="11" cy="11" r="7" data-astro-cid-3ef6ksr2></circle> <line x1="20" y1="20" x2="16.65" y2="16.65" data-astro-cid-3ef6ksr2></line> </svg> </button> </form> <button type="button" data-rb-menu-open class="font-display text-rb cursor-pointer rb-menu-btn" aria-label="Open menu" aria-expanded="false" aria-controls="rb-menu" style="background:transparent; border:none; padding:10px; margin:-10px; font-size:24px; font-weight:600; line-height:1; min-width:44px; min-height:44px;" data-astro-cid-3ef6ksr2>â¡</button> </div> </div> </header>
44<script> 45 (function () { 46 // Toggle data-scrolled on the sticky header so its background fades 47 // in once the user has scrolled past the very top. Lets pages with 48 // hero imagery (event detail) keep a recessive nav on first paint. 49 const header = document.querySelector('[data-rb-sticky-nav]'); 50 if (header) { 51 const updateScrolled = () => { 52 header.dataset.scrolled = window.scrollY > 8 ? 'true' : 'false'; 53 }; 54 updateScrolled(); 55 window.addEventListener('scroll', updateScrolled, { passive: true }); 56 } 57 58 // Search icon â expand the inline input on click. Focus drives the 59 // CSS via :focus-within so we don't need to track open state in JS 60 // beyond the click handler itself. 61 var searchToggle = document.querySelector('[data-rb-search-toggle]'); 62 var searchInput = document.querySelector('[data-rb-header-search]'); 63 if (searchToggle && searchInput instanceof HTMLInputElement) { 64 searchToggle.addEventListener('click', function (e) { 65 // If input already has focus, treat the icon click as submit so 66 // the user can mouse-only their query. 67 if (document.activeElement === searchInput && searchInput.value.trim()) { 68 var form = searchInput.closest('form'); 69 if (form) form.submit(); 70 return; 71 } 72 e.preventDefault(); 73 // Force-expand before focusing: the collapsed input is 74 // visibility:hidden, and browsers refuse focus on a hidden element, 75 // so :focus-within never fires and the field never opens (dead icon 76 // on touch, where there's no âK). Mirror the âK path. 77 var sf = searchInput.closest('.rb-search'); 78 if (sf) sf.setAttribute('data-expanded', 'true'); 79 searchInput.focus(); 80 searchInput.select(); 81 }); 82 } 83 84 // âK (macOS) / Ctrl+K (everything else) focuses the search input 85 // for power users â no visible hint, implied by the icon. The 86 // modifier is platform-strict: âK on Windows would mean nothing 87 // (no Cmd key), and Ctrl+K on macOS already collides with 88 // browser-level search bindings + emacs-style kill-line, so we 89 // route to the right modifier per platform instead of accepting 90 // either one. 91 var isMac = (function () { 92 var nav = navigator; 93 var plat = (nav && nav.userAgentData && nav.userAgentData.platform) 94 || (nav && nav.platform) 95 || ''; 96 return /mac|iphone|ipad|ipod/i.test(String(plat)); 97 })(); 98 document.addEventListener('keydown', function (e) { 99 if (!(searchInput instanceof HTMLInputElement)) return; 100 var hit = isMac ? (e.metaKey && !e.ctrlKey) : (e.ctrlKey && !e.metaKey); 101 if (hit && (e.key === 'k' || e.key === 'K')) { 102 e.preventDefault(); 103 // Force-expand the collapsed search before focusing â :focus-within 104 // alone can race the focus on some browsers, leaving the (width:0) 105 // input focused but invisible. 106 var sf = searchInput.closest('.rb-search'); 107 if (sf) sf.setAttribute('data-expanded', 'true'); 108 searchInput.focus(); 109 searchInput.select(); 110 } 111 if (e.key === 'Escape' && document.activeElement === searchInput) { 112 searchInput.blur(); 113 } 114 }); 115 // Collapse again when focus leaves (the manual data-expanded would 116 // otherwise keep it open after :focus-within drops). Guarded like 117 // every other searchInput use â an unguarded addEventListener on a 118 // missing node would throw and kill the rest of this IIFE (dropdown 119 // close, Escape, hover-open would never bind). 120 if (searchInput instanceof HTMLInputElement) { 121 searchInput.addEventListener('blur', function () { 122 var sf = searchInput.closest('.rb-search'); 123 if (sf) sf.removeAttribute('data-expanded'); 124 }); 125 } 126 127 // Close any open <details> dropdown when clicking outside or on Escape. 128 document.addEventListener('click', function (e) { 129 document.querySelectorAll('details.rb-dd[open]').forEach(function (dd) { 130 if (!(e.target instanceof Node) || !dd.contains(e.target)) { 131 dd.removeAttribute('open'); 132 } 133 }); 134 // Follow dropdown (not a <details>) â close any that the click 135 // happened outside of, so the icon strip can be tap-toggled on 136 // touch devices that don't fire :hover. 137 document.querySelectorAll('.rb-follow-dd[data-rb-open="true"]').forEach(function (dd) { 138 if (!(e.target instanceof Node) || !dd.contains(e.target)) { 139 dd.removeAttribute('data-rb-open'); 140 } 141 }); 142 }); 143 document.addEventListener('keydown', function (e) { 144 if (e.key === 'Escape') { 145 document.querySelectorAll('details.rb-dd[open]').forEach(function (dd) { 146 dd.removeAttribute('open'); 147 }); 148 document.querySelectorAll('.rb-follow-dd[data-rb-open="true"]').forEach(function (dd) { 149 dd.removeAttribute('data-rb-open'); 150 }); 151 } 152 }); 153 154 // Tap/click toggles the Follow icon strip on touch devices that
155 // don't reliably honor hover. Pointer events: ignore secondary 156 // pointers (right-click) and let inner anchor clicks pass through. 157 document.querySelectorAll('.rb-follow-dd .rb-follow-trigger').forEach(function (trigger) { 158 trigger.addEventListener('click', function (e) { 159 var dd = trigger.closest('.rb-follow-dd'); 160 if (!dd) return; 161 var open = dd.getAttribute('data-rb-open') === 'true'; 162 if (open) dd.removeAttribute('data-rb-open'); 163 else dd.setAttribute('data-rb-open', 'true'); 164 e.stopPropagation(); 165 }); 166 }); 167 168 // Hover-to-open for <details> dropdowns (Events, Connect, 169 // Opportunities). Click on the summary navigates to the parent's 170 // URL instead of toggling the menu, so "click Events" lands you on 171 // /events. The hover gesture handles the submenu reveal on desktop; 172 // a short close delay keeps the menu open while the cursor crosses 173 // the gap between the summary and the menu panel. 174 function goSoft(href) { 175 // ClientRouter is disabled for launch â every nav is now a 176 // normal full document load. Kept the function name so the 177 // call sites below don't need to change when soft nav comes 178 // back in a future release. 179 window.location.href = href; 180 } 181 // Events parent honors an explicit market cookie: with rb_market set, 182 // "click Events" goes to that market's view instead of all-markets. 183 // Resolved client-side so it survives edge-cached (market-flattened) HTML. 184 function rbMarketCookie() { 185 var m = document.cookie.match(/(?:^|;\s*)rb_market=([^;]+)/); 186 return m ? decodeURIComponent(m[1]).trim().toLowerCase() : ''; 187 } 188 function resolveNavHref(href) { 189 if (href === '/events?m=all') { 190 var mk = rbMarketCookie(); 191 if (mk && mk !== 'all') return '/events?m=' + encodeURIComponent(mk); 192 } 193 return href; 194 } 195 document.querySelectorAll('summary.rb-nav-summary[data-rb-href]').forEach(function (s) { 196 s.addEventListener('click', function (e) { 197 // A click on the caret stays a pure toggle â this is the only 198 // way touch devices at desktop widths (iPad landscape) can open 199 // the submenu, since hover-to-open only binds under 200 // matchMedia('(hover: hover)'). 201 if (e.target && e.target.closest && e.target.closest('.rb-dd-caret')) return; 202 var href = s.getAttribute('data-rb-href') || ''; 203 if (!href) return; // No URL â fall through to native <details> toggle. 204 // stopImmediatePropagation in addition to preventDefault so the 205 // native <summary> toggle and any other bubble-phase listeners 206 // don't open the menu while we're navigating away. 207 e.preventDefault(); 208 e.stopImmediatePropagation(); 209 goSoft(resolveNavHref(href)); 210 }); 211 s.addEventListener('keydown', function (e) { 212 if (e.key !== 'Enter' && e.key !== ' ') return; 213 var href = s.getAttribute('data-rb-href') || ''; 214 if (!href) return; 215 e.preventDefault(); 216 e.stopImmediatePropagation(); 217 goSoft(resolveNavHref(href)); 218 }); 219 }); 220 221 if (window.matchMedia && window.matchMedia('(hover: hover)').matches) { 222 document.querySelectorAll('details.rb-dd').forEach(function (dd) { 223 var closeTimer = null; 224 var cancelClose = function () { 225 if (closeTimer) { clearTimeout(closeTimer); closeTimer = null; } 226 }; 227 dd.addEventListener('mouseenter', function () { 228 cancelClose(); 229 // Close peers first so we don't end up with two open at once. 230 document.querySelectorAll('details.rb-dd[open]').forEach(function (other) { 231 if (other !== dd) other.removeAttribute('open'); 232 }); 233 dd.setAttribute('open', ''); 234 }); 235 dd.addEventListener('mouseleave', function () { 236 cancelClose(); 237 closeTimer = setTimeout(function () { 238 dd.removeAttribute('open'); 239 }, 180); 240 }); 241 // Cancel the pending close if focus comes back into the menu. 242 dd.addEventListener('focusin', cancelClose); 243 }); 244 } 245 })(); 246</script>
246 <div class="bg-rb-raised border-rb relative overflow-hidden whitespace-nowrap" style="border-top:1px solid var(--rb-rule); border-bottom:1px solid var(--rb-rule); padding:8px 0;" aria-hidden="true"> <div class="inline-block"> <span class="mr-6"> <span class="font-mono uppercase" style="font-size:11px; letter-spacing:0.14em; color:var(--rb-silver-warm)">97 UPCOMING SHOWS</span> <img src="/assets/rb-mark.png" alt="" class="inline-block align-middle mx-3" style="height:11px; width:auto; opacity:0.45; filter:brightness(0) invert(1);"> <span class="font-mono uppercase" style="font-size:11px; letter-spacing:0.14em; color:var(--rb-ink)">6 FESTIVALS</span> <img src="/assets/rb-mark.png" alt="" class="inline-block align-middle mx-3" style="height:11px; width:auto; opacity:0.45; filter:brightness(0) invert(1);"> <span class="font-mono uppercase" style="font-size:11px; letter-spacing:0.14em; color:var(--rb-ink)">FLG · ABQ · PHX · TUC</span> <img src="/assets/rb-mark.png" alt="" class="inline-block align-middle mx-3" style="height:11px; width:auto; opacity:0.45; filter:brightness(0) invert(1);"> <span class="font-mono uppercase" style="font-size:11px; letter-spacing:0.14em; color:var(--rb-live)">DANCE LIVES HERE</span> <img src="/assets/rb-mark.png" alt="" class="inline-block align-middle mx-3" style="height:11px; width:auto; opacity:0.45; filter:brightness(0) invert(1);"> <span class="font-mono uppercase" style="font-size:11px; letter-spacing:0.14em; color:var(--rb-ink)">BANGIN' BEATS SINCE '96</span> <img src="/assets/rb-mark.png" alt="" class="inline-block align-middle mx-3" style="height:11px; width:auto; opacity:0.45; filter:brightness(0) invert(1);"> </span><span class="mr-6"> <span class="font-mono uppercase" style="font-size:11px; letter-spacing:0.14em; color:var(--rb-silver-warm)">97 UPCOMING SHOWS</span> <img src="/assets/rb-mark.png" alt="" class="inline-block align-middle mx-3" style="height:11px; width:auto; opacity:0.45; filter:brightness(0) invert(1);"> <span class="font-mono uppercase" style="font-size:11px; letter-spacing:0.14em; color:var(--rb-ink)">6 FESTIVALS</span> <img src="/assets/rb-mark.png" alt="" class="inline-block align-middle mx-3" style="height:11px; width:auto; opacity:0.45; filter:brightness(0) invert(1);"> <span class="font-mono uppercase" style="font-size:11px; letter-spacing:0.14em; color:var(--rb-ink)">FLG · ABQ · PHX · TUC</span> <img src="/assets/rb-mark.png" alt="" class="inline-block align-middle mx-3" style="height:11px; width:auto; opacity:0.45; filter:brightness(0) invert(1);"> <span class="font-mono uppercase" style="font-size:11px; letter-spacing:0.14em; color:var(--rb-live)">DANCE LIVES HERE</span> <img src="/assets/rb-mark.png" alt="" class="inline-block align-middle mx-3" style="height:11px; width:auto; opacity:0.45; filter:brightness(0) invert(1);"> <span class="font-mono uppercase" style="font-size:11px; letter-spacing:0.14em; color:var(--rb-ink)">BANGIN' BEATS SINCE '96</span> <img src="/assets/rb-mark.png" alt="" class="inline-block align-middle mx-3" style="height:11px; width:auto; opacity:0.45; filter:brightness(0) invert(1);"> </span><span class="mr-6"> <span class="font-mono uppercase" style="font-size:11px; letter-spacing:0.14em; color:var(--rb-silver-warm)">97 UPCOMING SHOWS</span> <img src="/assets/rb-mark.png" alt="" class="inline-block align-middle mx-3" style="height:11px; width:auto; opacity:0.45; filter:brightness(0) invert(1);"> <span class="font-mono uppercase" style="font-size:11px; letter-spacing:0.14em; color:var(--rb-ink)">6 FESTIVALS</span> <img src="/assets/rb-mark.png" alt="" class="inline-block align-middle mx-3" style="height:11px; width:auto; opacity:0.45; filter:brightness(0) invert(1);"> <span class="font-mono uppercase" style="font-size:11px; letter-spacing:0.14em; color:var(--rb-ink)">FLG · ABQ · PHX · TUC</span> <img src="/assets/rb-mark.png" alt="" class="inline-block align-middle mx-3" style="height:11px; width:auto; opacity:0.45; filter:brightness(0) invert(1);"> <span class="font-mono uppercase" style="font-size:11px; letter-spacing:0.14em; color:var(--rb-live)">DANCE LIVES HERE</span> <img src="/assets/rb-mark.png" alt="" class="inline-block align-middle mx-3" style="height:11px; width:auto;
246 opacity:0.45; filter:brightness(0) invert(1);"> <span class="font-mono uppercase" style="font-size:11px; letter-spacing:0.14em; color:var(--rb-ink)">BANGIN' BEATS SINCE '96</span> <img src="/assets/rb-mark.png" alt="" class="inline-block align-middle mx-3" style="height:11px; width:auto; opacity:0.45; filter:brightness(0) invert(1);"> </span> </div> </div> <div class="rb-hero-shell"> <div class="rb-hero-carousel" data-rb-carousel style="position:relative;" data-astro-cid-456vviwh> <div class="rb-progress" data-rb-carousel-progress style="display:flex; gap:3px; padding:8px 16px 4px;" data-astro-cid-456vviwh> <button type="button" class="rb-progress-seg" data-rb-progress-seg data-idx="0" data-state="active" aria-label="Show slide 1 of 5" data-astro-cid-456vviwh> <span class="rb-progress-fill" aria-hidden="true" data-astro-cid-456vviwh></span> </button><button type="button" class="rb-progress-seg" data-rb-progress-seg data-idx="1" data-state="pending" aria-label="Show slide 2 of 5" data-astro-cid-456vviwh> <span class="rb-progress-fill" aria-hidden="true" data-astro-cid-456vviwh></span> </button><button type="button" class="rb-progress-seg" data-rb-progress-seg data-idx="2" data-state="pending" aria-label="Show slide 3 of 5" data-astro-cid-456vviwh> <span class="rb-progress-fill" aria-hidden="true" data-astro-cid-456vviwh></span> </button><button type="button" class="rb-progress-seg" data-rb-progress-seg data-idx="3" data-state="pending" aria-label="Show slide 4 of 5" data-astro-cid-456vviwh> <span class="rb-progress-fill" aria-hidden="true" data-astro-cid-456vviwh></span> </button><button type="button" class="rb-progress-seg" data-rb-progress-seg data-idx="4" data-state="pending" aria-label="Show slide 5 of 5" data-astro-cid-456vviwh> <span class="rb-progress-fill" aria-hidden="true" data-astro-cid-456vviwh></span> </button> </div> <div class="rb-hero-track" data-rb-carousel-track style="display:flex; overflow-x:auto; scroll-snap-type:x mandatory; scroll-behavior:smooth; -webkit-overflow-scrolling:touch; scrollbar-width:none;" data-astro-cid-456vviwh> <div class="rb-hero-slide" data-rb-carousel-slide data-idx="0" style="flex:0 0 100%; min-width:0; scroll-snap-align:start; scroll-snap-stop:always;" data-astro-cid-456vviwh> <div class="rb-hero-poster" style="position:relative; margin:14px 16px 0;" data-astro-cid-456vviwh> <div class="relative overflow-hidden border-rb" style="border:1px solid var(--rb-rule); height:520px;"> <img src="https://media.relentlessbeats.com/cdn-cgi/image/width=768,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2026/06/261030-31-HEX-Website_Teaser.jpg" srcset="https://media.relentlessbeats.com/cdn-cgi/image/width=320,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2026/06/261030-31-HEX-Website_Teaser.jpg 320w, https://media.relentlessbeats.com/cdn-cgi/image/width=480,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2026/06/261030-31-HEX-Website_Teaser.jpg 480w, https://media.relentlessbeats.com/cdn-cgi/image/width=768,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2026/06/261030-31-HEX-Website_Teaser.jpg 768w, https://media.relentlessbeats.com/cdn-cgi/image/width=1080,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2026/06/261030-31-HEX-Website_Teaser.jpg 1080w, https://media.relentlessbeats.com/cdn-cgi/image/width=1600,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2026/06/261030-31-HEX-Website_Teaser.jpg 1600w" sizes="100vw" alt class="w-full h-full object-cover" loading="eager" fetchpriority="high"> <div class="rb-scanlines pointer-events-none absolute inset-0" style="opacity:0.18"></div> <div class="absolute inset-0 pointer-events-none" style="background: linear-gradient(180deg, rgba(0,0,0,0.20) 0%, rgba(0,0,0,0) 25%, rgba(0,0,0,0.20) 50%, rgba(255, 122, 44, 0.18) 65%, rgba(8,8,10,0.85) 90%, rgba(8,8,10,0.96) 100%);"></div> <a href="/events/hex-2026-rawhide-event-center-103026" aria-label="Open event details" style="position:absolute; inset:0; z-index:1; text-decoration:none;" data-astro-cid-456vviwh></a> <div class="rb-hero-overlay-top" style="position:absolute; top:0; left:0; right:0; z-index:2; padding:14px 14px 28px; background:linear-gradient(180deg, rgba(0,0,0,0.7) 0%, rgba(0,0,0,0) 100%); pointer-events:none; display:flex; justify-content:space-between; align-items:flex-start; gap:12px;" data-astro-cid-456vviwh> <span class="rb-hero-chip rb-hero-chip-date" data-astro-cid-456vviwh>OCT 30â31 · 2 DAYS</span> <span class="rb-hero-chip rb-hero-chip-type" style="color:#ff7a2c; border-color:#ff7a2c; box-shadow:0 0 18px rgba(255, 122, 44, 0.18);" data-astro-cid-456vviwh>FESTIVAL</span> </div> <div class="rb-hero-overlay-bot" style="position:absolute; bottom:0; left:0; right:0; z-index:2; padding:80px 16px 18px; pointer-events:none; background:linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(8,8,10,0.55) 38%, rgba(8,8,10,0.94) 100%);" data-astro-cid-456vviwh> <span class="font-mono uppercase rb-hero-eyebrow-pill" style="color:var(--rb-live);" data-astro-cid-456vviwh>ON SALE</span> <span class="font-display block" style="font-size:54px; line-height:0.88; font-weight:700; letter-spacing:-2.2px; margin-top:10px; color:#ff7a2c; text-shadow: 0 2px 14px rgba(0,0,0,0.95), 0 0 32px rgba(255, 122, 44, 0.18);" data-astro-cid-456vviwh>HEX 2026</span> <span class="font-mono uppercase block" style="font-size:11px; letter-spacing:0.16em; margin-top:10px; color:var(--rb-ink-mute); text-shadow:0 1px 6px rgba(0,0,0,0.9);" data-astro-cid-456vviwh>Rawhide Western Town & Event Center · Chandler</span> <div style="margin-top:18px; max-width:260px; pointer-events:auto; position:relative; z-index:3;" data-astro-cid-456vviwh> <a href="https://tixr.com/e/185888" target="_blank" rel="noopener noreferrer" class="bg-chrome text-silver-ink relative flex w-full overflow-hidden border-none cursor-pointer no-underline" style="box-shadow: inset 0 1px 0 rgba(255,255,255,0.5), inset 0 -1px 0 rgba(0,0,0,0.18);">
246 <span class="flex-1 px-4 py-[15px] flex items-center justify-between font-display font-bold text-[15px] tracking-[0.04em]"> 247BUY TICKETS 248 <span class="font-mono text-[11px]" style="color: rgba(10,10,12,0.62)">VIA TIXR â</span> </span> <span class="w-1.5" style="background:#ff7a2c"></span></a> </div> </div> </div> </div> </div><div class="rb-hero-slide" data-rb-carousel-slide data-idx="1" style="flex:0 0 100%; min-width:0; scroll-snap-align:start; scroll-snap-stop:always;" data-astro-cid-456vviwh> <div class="rb-hero-poster" style="position:relative; margin:14px 16px 0;" data-astro-cid-456vviwh> <div class="relative overflow-hidden border-rb" style="border:1px solid var(--rb-rule); height:520px;"> <img src="https://media.relentlessbeats.com/cdn-cgi/image/width=768,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2026/06/Chris-Stussy-with-Relentless-Beats_VERTICAL-1-e1784739743819.jpg" srcset="https://media.relentlessbeats.com/cdn-cgi/image/width=320,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2026/06/Chris-Stussy-with-Relentless-Beats_VERTICAL-1-e1784739743819.jpg 320w, https://media.relentlessbeats.com/cdn-cgi/image/width=480,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2026/06/Chris-Stussy-with-Relentless-Beats_VERTICAL-1-e1784739743819.jpg 480w, https://media.relentlessbeats.com/cdn-cgi/image/width=768,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2026/06/Chris-Stussy-with-Relentless-Beats_VERTICAL-1-e1784739743819.jpg 768w, https://media.relentlessbeats.com/cdn-cgi/image/width=1080,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2026/06/Chris-Stussy-with-Relentless-Beats_VERTICAL-1-e1784739743819.jpg 1080w, https://media.relentlessbeats.com/cdn-cgi/image/width=1600,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2026/06/Chris-Stussy-with-Relentless-Beats_VERTICAL-1-e1784739743819.jpg 1600w" sizes="100vw" alt class="w-full h-full object-cover" loading="lazy" fetchpriority="auto"> <div class="rb-scanlines pointer-events-none absolute inset-0" style="opacity:0.18"></div> <div class="absolute inset-0 pointer-events-none" style="background: linear-gradient(180deg, rgba(0,0,0,0.20) 0%, rgba(0,0,0,0) 25%, rgba(0,0,0,0.20) 50%, rgba(255, 122, 44, 0.18) 65%, rgba(8,8,10,0.85) 90%, rgba(8,8,10,0.96) 100%);"></div> <a href="/events/chris-stassy-halloween-rawhide-event-center-103026" aria-label="Open event details" style="position:absolute; inset:0; z-index:1; text-decoration:none;" data-astro-cid-456vviwh></a> <div class="rb-hero-overlay-top" style="position:absolute; top:0; left:0; right:0; z-index:2; padding:14px 14px 28px; background:linear-gradient(180deg, rgba(0,0,0,0.7) 0%, rgba(0,0,0,0) 100%); pointer-events:none; display:flex; justify-content:space-between; align-items:flex-start; gap:12px;" data-astro-cid-456vviwh> <span class="rb-hero-chip rb-hero-chip-date" data-astro-cid-456vviwh>FRI, OCT 30</span> <span class="rb-hero-chip rb-hero-chip-type" style="color:#ff7a2c; border-color:#ff7a2c; box-shadow:0 0 18px rgba(255, 122, 44, 0.18);" data-astro-cid-456vviwh>FESTIVAL</span> </div> <div class="rb-hero-overlay-bot" style="position:absolute; bottom:0; left:0; right:0; z-index:2; padding:80px 16px 18px; pointer-events:none; background:linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(8,8,10,0.55) 38%, rgba(8,8,10,0.94) 100%);" data-astro-cid-456vviwh> <span class="font-mono uppercase rb-hero-eyebrow-pill" style="color:var(--rb-live);" data-astro-cid-456vviwh>ON SALE</span> <span class="font-display block" style="font-size:54px; line-height:0.88; font-weight:700; letter-spacing:-2.2px; margin-top:10px; color:#ff7a2c; text-shadow: 0 2px 14px rgba(0,0,0,0.95), 0 0 32px rgba(255, 122, 44, 0.18);" data-astro-cid-456vviwh>Chris Stassy Halloween</span> <span class="font-mono uppercase block" style="font-size:11px; letter-spacing:0.16em; margin-top:10px; color:var(--rb-ink-mute); text-shadow:0 1px 6px rgba(0,0,0,0.9);" data-astro-cid-456vviwh>Rawhide Western Town & Event Center · Chandler</span> <div style="margin-top:18px; max-width:260px; pointer-events:auto; position:relative; z-index:3;" data-astro-cid-456vviwh> <a href="https://tixr.com/e/186128" target="_blank" rel="noopener noreferrer" class="bg-chrome text-silver-ink relative flex w-full overflow-hidden border-none cursor-pointer no-underline" style="box-shadow: inset 0 1px 0 rgba(255,255,255,0.5), inset 0 -1px 0 rgba(0,0,0,0.18);">
248 <span class="flex-1 px-4 py-[15px] flex items-center justify-between font-display font-bold text-[15px] tracking-[0.04em]"> 249BUY TICKETS 250 <span class="font-mono text-[11px]" style="color: rgba(10,10,12,0.62)">VIA TIXR â</span> </span> <span class="w-1.5" style="background:#ff7a2c"></span></a> </div> </div> </div> </div> </div><div class="rb-hero-slide" data-rb-carousel-slide data-idx="2" style="flex:0 0 100%; min-width:0; scroll-snap-align:start; scroll-snap-stop:always;" data-astro-cid-456vviwh> <div class="rb-hero-poster" style="position:relative; margin:14px 16px 0;" data-astro-cid-456vviwh> <div class="relative overflow-hidden border-rb" style="border:1px solid var(--rb-rule); height:520px;"> <img src="https://media.relentlessbeats.com/cdn-cgi/image/width=768,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2026/06/261106-07-Obsidian-1500x500_.jpg" srcset="https://media.relentlessbeats.com/cdn-cgi/image/width=320,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2026/06/261106-07-Obsidian-1500x500_.jpg 320w, https://media.relentlessbeats.com/cdn-cgi/image/width=480,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2026/06/261106-07-Obsidian-1500x500_.jpg 480w, https://media.relentlessbeats.com/cdn-cgi/image/width=768,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2026/06/261106-07-Obsidian-1500x500_.jpg 768w, https://media.relentlessbeats.com/cdn-cgi/image/width=1080,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2026/06/261106-07-Obsidian-1500x500_.jpg 1080w, https://media.relentlessbeats.com/cdn-cgi/image/width=1600,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2026/06/261106-07-Obsidian-1500x500_.jpg 1600w" sizes="100vw" alt class="w-full h-full object-cover" loading="lazy" fetchpriority="auto"> <div class="rb-scanlines pointer-events-none absolute inset-0" style="opacity:0.18"></div> <div class="absolute inset-0 pointer-events-none" style="background: linear-gradient(180deg, rgba(0,0,0,0.20) 0%, rgba(0,0,0,0) 25%, rgba(0,0,0,0.20) 50%, rgba(255, 122, 44, 0.18) 65%, rgba(8,8,10,0.85) 90%, rgba(8,8,10,0.96) 100%);"></div> <a href="/events/obsidian-2026-eastlake-park-110626" aria-label="Open event details" style="position:absolute; inset:0; z-index:1; text-decoration:none;" data-astro-cid-456vviwh></a> <div class="rb-hero-overlay-top" style="position:absolute; top:0; left:0; right:0; z-index:2; padding:14px 14px 28px; background:linear-gradient(180deg, rgba(0,0,0,0.7) 0%, rgba(0,0,0,0) 100%); pointer-events:none; display:flex; justify-content:space-between; align-items:flex-start; gap:12px;" data-astro-cid-456vviwh> <span class="rb-hero-chip rb-hero-chip-date" data-astro-cid-456vviwh>NOV 6â7 · 2 DAYS</span> <span class="rb-hero-chip rb-hero-chip-type" style="color:#ff7a2c; border-color:#ff7a2c; box-shadow:0 0 18px rgba(255, 122, 44, 0.18);" data-astro-cid-456vviwh>FESTIVAL</span> </div> <div class="rb-hero-overlay-bot" style="position:absolute; bottom:0; left:0; right:0; z-index:2; padding:80px 16px 18px; pointer-events:none; background:linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(8,8,10,0.55) 38%, rgba(8,8,10,0.94) 100%);" data-astro-cid-456vviwh> <span class="font-mono uppercase rb-hero-eyebrow-pill" style="color:var(--rb-live);" data-astro-cid-456vviwh>ON SALE</span> <span class="font-display block" style="font-size:54px; line-height:0.88; font-weight:700; letter-spacing:-2.2px; margin-top:10px; color:#ff7a2c; text-shadow: 0 2px 14px rgba(0,0,0,0.95), 0 0 32px rgba(255, 122, 44, 0.18);" data-astro-cid-456vviwh>Obsidian 2026</span> <span class="font-mono uppercase block" style="font-size:11px; letter-spacing:0.16em; margin-top:10px; color:var(--rb-ink-mute); text-shadow:0 1px 6px rgba(0,0,0,0.9);" data-astro-cid-456vviwh>Eastlake Park · Phoenix</span> <div style="margin-top:18px; max-width:260px; pointer-events:auto; position:relative; z-index:3;" data-astro-cid-456vviwh> <a href="https://tixr.com/e/194704" target="_blank" rel="noopener noreferrer" class="bg-chrome text-silver-ink relative flex w-full overflow-hidden border-none cursor-pointer no-underline" style="box-shadow: inset 0 1px 0 rgba(255,255,255,0.5), inset 0 -1px 0 rgba(0,0,0,0.18);">
250 <span class="flex-1 px-4 py-[15px] flex items-center justify-between font-display font-bold text-[15px] tracking-[0.04em]"> 251BUY TICKETS 252 <span class="font-mono text-[11px]" style="color: rgba(10,10,12,0.62)">VIA TIXR â</span> </span> <span class="w-1.5" style="background:#ff7a2c"></span></a> </div> </div> </div> </div> </div><div class="rb-hero-slide" data-rb-carousel-slide data-idx="3" style="flex:0 0 100%; min-width:0; scroll-snap-align:start; scroll-snap-stop:always;" data-astro-cid-456vviwh> <div class="rb-hero-poster" style="position:relative; margin:14px 16px 0;" data-astro-cid-456vviwh> <div class="relative overflow-hidden border-rb" style="border:1px solid var(--rb-rule); height:520px;"> <img src="https://media.relentlessbeats.com/cdn-cgi/image/width=768,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2026/06/DUSK2026_Website_Lineup-scaled.jpg" srcset="https://media.relentlessbeats.com/cdn-cgi/image/width=320,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2026/06/DUSK2026_Website_Lineup-scaled.jpg 320w, https://media.relentlessbeats.com/cdn-cgi/image/width=480,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2026/06/DUSK2026_Website_Lineup-scaled.jpg 480w, https://media.relentlessbeats.com/cdn-cgi/image/width=768,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2026/06/DUSK2026_Website_Lineup-scaled.jpg 768w, https://media.relentlessbeats.com/cdn-cgi/image/width=1080,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2026/06/DUSK2026_Website_Lineup-scaled.jpg 1080w, https://media.relentlessbeats.com/cdn-cgi/image/width=1600,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2026/06/DUSK2026_Website_Lineup-scaled.jpg 1600w" sizes="100vw" alt class="w-full h-full object-cover" loading="lazy" fetchpriority="auto"> <div class="rb-scanlines pointer-events-none absolute inset-0" style="opacity:0.18"></div> <div class="absolute inset-0 pointer-events-none" style="background: linear-gradient(180deg, rgba(0,0,0,0.20) 0%, rgba(0,0,0,0) 25%, rgba(0,0,0,0.20) 50%, rgba(255, 122, 44, 0.18) 65%, rgba(8,8,10,0.85) 90%, rgba(8,8,10,0.96) 100%);"></div> <a href="/events/dusk-music-festival-2026-jacome-plaza-111326" aria-label="Open event details" style="position:absolute; inset:0; z-index:1; text-decoration:none;" data-astro-cid-456vviwh></a> <div class="rb-hero-overlay-top" style="position:absolute; top:0; left:0; right:0; z-index:2; padding:14px 14px 28px; background:linear-gradient(180deg, rgba(0,0,0,0.7) 0%, rgba(0,0,0,0) 100%); pointer-events:none; display:flex; justify-content:space-between; align-items:flex-start; gap:12px;" data-astro-cid-456vviwh> <span class="rb-hero-chip rb-hero-chip-date" data-astro-cid-456vviwh>NOV 13â14 · 2 DAYS</span> <span class="rb-hero-chip rb-hero-chip-type" style="color:#ff7a2c; border-color:#ff7a2c; box-shadow:0 0 18px rgba(255, 122, 44, 0.18);" data-astro-cid-456vviwh>FESTIVAL</span> </div> <div class="rb-hero-overlay-bot" style="position:absolute; bottom:0; left:0; right:0; z-index:2; padding:80px 16px 18px; pointer-events:none; background:linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(8,8,10,0.55) 38%, rgba(8,8,10,0.94) 100%);" data-astro-cid-456vviwh> <span class="font-mono uppercase rb-hero-eyebrow-pill" style="color:var(--rb-live);" data-astro-cid-456vviwh>ON SALE</span> <span class="font-display block" style="font-size:54px; line-height:0.88; font-weight:700; letter-spacing:-2.2px; margin-top:10px; color:#ff7a2c; text-shadow: 0 2px 14px rgba(0,0,0,0.95), 0 0 32px rgba(255, 122, 44, 0.18);" data-astro-cid-456vviwh>DUSK Music Festival 2026</span> <span class="font-mono uppercase block" style="font-size:11px; letter-spacing:0.16em; margin-top:10px; color:var(--rb-ink-mute); text-shadow:0 1px 6px rgba(0,0,0,0.9);" data-astro-cid-456vviwh>Jacome Plaza · Tucson</span> <div style="margin-top:18px; max-width:260px; pointer-events:auto; position:relative; z-index:3;" data-astro-cid-456vviwh> <a href="https://www.tixr.com/groups/rbfestivals/events/dusk-music-festival-2026-188696?utm_source=dusk_website&utm_medium=homepage_button&utm_campaign=2026_tickets&utm_content=homepage" target="_blank" rel="noopener noreferrer" class="bg-chrome text-silver-ink relative flex w-full overflow-hidden border-none cursor-pointer no-underline" style="box-shadow: inset 0 1px 0 rgba(255,255,255,0.5), inset 0 -1px 0 rgba(0,0,0,0.18);">
252 <span class="flex-1 px-4 py-[15px] flex items-center justify-between font-display font-bold text-[15px] tracking-[0.04em]"> 253BUY TICKETS 254 <span class="font-mono text-[11px]" style="color: rgba(10,10,12,0.62)">VIA TIXR â</span> </span> <span class="w-1.5" style="background:#ff7a2c"></span></a> </div> </div> </div> </div> </div><div class="rb-hero-slide" data-rb-carousel-slide data-idx="4" style="flex:0 0 100%; min-width:0; scroll-snap-align:start; scroll-snap-stop:always;" data-astro-cid-456vviwh> <div class="rb-hero-poster" style="position:relative; margin:14px 16px 0;" data-astro-cid-456vviwh> <div class="relative overflow-hidden border-rb" style="border:1px solid var(--rb-rule); height:520px;"> <img src="https://media.relentlessbeats.com/cdn-cgi/image/width=768,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2026/02/261230-31-Decadence-1500x500-1.jpg" srcset="https://media.relentlessbeats.com/cdn-cgi/image/width=320,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2026/02/261230-31-Decadence-1500x500-1.jpg 320w, https://media.relentlessbeats.com/cdn-cgi/image/width=480,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2026/02/261230-31-Decadence-1500x500-1.jpg 480w, https://media.relentlessbeats.com/cdn-cgi/image/width=768,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2026/02/261230-31-Decadence-1500x500-1.jpg 768w, https://media.relentlessbeats.com/cdn-cgi/image/width=1080,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2026/02/261230-31-Decadence-1500x500-1.jpg 1080w, https://media.relentlessbeats.com/cdn-cgi/image/width=1600,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2026/02/261230-31-Decadence-1500x500-1.jpg 1600w" sizes="100vw" alt class="w-full h-full object-cover" loading="lazy" fetchpriority="auto"> <div class="rb-scanlines pointer-events-none absolute inset-0" style="opacity:0.18"></div> <div class="absolute inset-0 pointer-events-none" style="background: linear-gradient(180deg, rgba(0,0,0,0.20) 0%, rgba(0,0,0,0) 25%, rgba(0,0,0,0.20) 50%, rgba(255, 122, 44, 0.18) 65%, rgba(8,8,10,0.85) 90%, rgba(8,8,10,0.96) 100%);"></div> <a href="/events/decadence-arizona-2026-phoenix-raceway-123026" aria-label="Open event details" style="position:absolute; inset:0; z-index:1; text-decoration:none;" data-astro-cid-456vviwh></a> <div class="rb-hero-overlay-top" style="position:absolute; top:0; left:0; right:0; z-index:2; padding:14px 14px 28px; background:linear-gradient(180deg, rgba(0,0,0,0.7) 0%, rgba(0,0,0,0) 100%); pointer-events:none; display:flex; justify-content:space-between; align-items:flex-start; gap:12px;" data-astro-cid-456vviwh> <span class="rb-hero-chip rb-hero-chip-date" data-astro-cid-456vviwh>DEC 30â31 · 2 DAYS</span> <span class="rb-hero-chip rb-hero-chip-type" style="color:#ff7a2c; border-color:#ff7a2c; box-shadow:0 0 18px rgba(255, 122, 44, 0.18);" data-astro-cid-456vviwh>FESTIVAL</span> </div> <div class="rb-hero-overlay-bot" style="position:absolute; bottom:0; left:0; right:0; z-index:2; padding:80px 16px 18px; pointer-events:none; background:linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(8,8,10,0.55) 38%, rgba(8,8,10,0.94) 100%);" data-astro-cid-456vviwh> <span class="font-mono uppercase rb-hero-eyebrow-pill" style="color:var(--rb-live);" data-astro-cid-456vviwh>ON SALE</span> <span class="font-display block" style="font-size:54px; line-height:0.88; font-weight:700; letter-spacing:-2.2px; margin-top:10px; color:#ff7a2c; text-shadow: 0 2px 14px rgba(0,0,0,0.95), 0 0 32px rgba(255, 122, 44, 0.18);" data-astro-cid-456vviwh>Decadence Arizona 2026</span> <span class="font-mono uppercase block" style="font-size:11px; letter-spacing:0.16em; margin-top:10px; color:var(--rb-ink-mute); text-shadow:0 1px 6px rgba(0,0,0,0.9);" data-astro-cid-456vviwh>Phoenix Raceway · Avondale</span> <div style="margin-top:18px; max-width:260px; pointer-events:auto; position:relative; z-index:3;" data-astro-cid-456vviwh> <a href="https://tixr.com/e/182815" target="_blank" rel="noopener noreferrer" class="bg-chrome text-silver-ink relative flex w-full overflow-hidden border-none cursor-pointer no-underline" style="box-shadow: inset 0 1px 0 rgba(255,255,255,0.5), inset 0 -1px 0 rgba(0,0,0,0.18);">
254 <span class="flex-1 px-4 py-[15px] flex items-center justify-between font-display font-bold text-[15px] tracking-[0.04em]"> 255BUY TICKETS 256 <span class="font-mono text-[11px]" style="color: rgba(10,10,12,0.62)">VIA TIXR â</span> </span> <span class="w-1.5" style="background:#ff7a2c"></span></a> </div> </div> </div> </div> </div> </div> </div>
256<script> 257 (function () { 258 const root = document.querySelector('[data-rb-carousel]'); 259 if (!root || root.dataset.bound === '1') return; 260 root.dataset.bound = '1'; 261 262 const track = root.querySelector('[data-rb-carousel-track]'); 263 const slides = Array.from(root.querySelectorAll('[data-rb-carousel-slide]')); 264 const segments = Array.from(root.querySelectorAll('[data-rb-progress-seg]')); 265 if (!track || slides.length <= 1) return; 266 267 let current = 0; 268 let timer = null; 269 const INTERVAL = 6000; 270 const reduce = window.matchMedia && window.matchMedia('(prefers-reduced-motion: reduce)').matches; 271 272 function setSegmentStates(activeIdx) { 273 segments.forEach((s, i) => { 274 if (i < activeIdx) s.dataset.state = 'done'; 275 else if (i === activeIdx) s.dataset.state = 'active'; 276 else s.dataset.state = 'pending'; 277 }); 278 } 279 function clearAnimations() { 280 segments.forEach((s) => { 281 const fill = s.querySelector('.rb-progress-fill'); 282 if (!fill || !fill.getAnimations) return; 283 fill.getAnimations().forEach((a) => a.cancel()); 284 }); 285 } 286 function animateActiveFill(activeIdx) { 287 if (reduce) return; 288 const seg = segments[activeIdx]; 289 if (!seg) return; 290 const fill = seg.querySelector('.rb-progress-fill'); 291 if (!fill || !fill.animate) return; 292 fill.animate( 293 [{ transform: 'scaleX(0)' }, { transform: 'scaleX(1)' }], 294 { duration: INTERVAL, easing: 'linear', fill: 'forwards' } 295 ); 296 } 297 function setActive(i) { 298 current = i; 299 setSegmentStates(i); 300 clearAnimations(); 301 animateActiveFill(i); 302 } 303 function go(i) { 304 const target = (i + slides.length) % slides.length; 305 const slide = slides[target]; 306 if (!slide) return; 307 track.scrollTo({ left: slide.offsetLeft, behavior: 'smooth' }); 308 setActive(target); 309 } 310 function start() { 311 stop(); 312 timer = setInterval(() => go(current + 1), INTERVAL); 313 animateActiveFill(current); 314 } 315 function stop() { 316 if (timer) { clearInterval(timer); timer = null; } 317 // Pause the running fill animation so the progress bar visibly halts 318 segments.forEach((s) => { 319 const fill = s.querySelector('.rb-progress-fill'); 320 if (!fill || !fill.getAnimations) return; 321 fill.getAnimations().forEach((a) => a.pause()); 322 }); 323 } 324 325 // Click a segment â jump to that slide 326 segments.forEach((seg, i) => { 327 seg.addEventListener('click', () => { stop(); go(i); start(); }); 328 }); 329 330 // Sync active segment to whichever slide is most in view (handles swipe) 331 let scrollTimer = null; 332 track.addEventListener('scroll', () => { 333 if (scrollTimer) clearTimeout(scrollTimer); 334 scrollTimer = setTimeout(() => { 335 const scrollLeft = track.scrollLeft; 336 let best = 0; 337 let bestDist = Infinity; 338 slides.forEach((s, i) => { 339 const d = Math.abs(s.offsetLeft - scrollLeft); 340 if (d < bestDist) { bestDist = d; best = i; } 341 }); 342 if (best !== current) setActive(best); 343 }, 100); 344 }); 345 346 // Reduced motion: no autoplay, ever. The early-return must come 347 // BEFORE the pause/resume listeners â binding them first meant the 348 // first touch/mouseleave called start() and re-enabled autoplay for 349 // exactly the users who asked it off. 350 if (reduce) { 351 setSegmentStates(0); 352 return; 353 } 354 355 // Pause while the user is interacting 356 ['pointerdown', 'touchstart', 'mouseenter'].forEach((ev) => 357 track.addEventListener(ev, stop, { passive: true }) 358 ); 359 ['pointerup', 'touchend', 'mouseleave'].forEach((ev) => 360 track.addEventListener(ev, start, { passive: true }) 361 ); 362 363 start(); 364 })(); 365</script>
365 </div><div class="rb-container"><div class="rb-ad" data-rb-ad-slot="top" data-rb-ad-variant="chrome" style="padding:18px 16px; border-top:1px solid var(--rb-rule); border-bottom:1px solid var(--rb-rule);" data-astro-cid-mcamehu4><div class="font-mono text-rb-faint uppercase" style="font-size:9.5px; letter-spacing:0.18em; margin-bottom:10px;" data-astro-cid-mcamehu4>SPONSORED</div><div class="rb-ad-body" data-astro-cid-mcamehu4><div class="a-single a-12"><a class="gofollow" data-track="MTIsMCwxMA==" href="https://decadencearizona.com/"><img src="https://media.relentlessbeats.com/wp-content/uploads/2026/03/261230-31-Decadence-728x90_Presale.jpg" /></a></div></div></div></div> <div class="rb-container"> <div class="rb-pad-x" style="padding-top:40px;"> <div class="flex items-end gap-3"> <div class="flex-1"> <div class="label-mono text-rb-faint">NEXT 6 FESTIVALS</div> <div class="font-display rb-section-h" style="font-size:22px; font-weight:700; line-height:1; letter-spacing:-0.8px; margin-top:4px;"> What's next </div> </div> <a href="/events?m=fest" class="font-mono uppercase text-silver-warm no-underline" style="font-size:10.5px; letter-spacing:0.1em;"> 366VIEW ALL â 367</a> </div> </div> <div class="rb-event-grid" style="margin-top:14px;"> <div class="rb-event-row relative" data-rb-event-row data-market="phx" data-type="festival" data-festival="true" style="border-bottom:1px solid var(--rb-rule);"> <div class="absolute" style="left:0; top:0; bottom:0; width:3px; background:#ff7a2c; z-index:1;"></div> <a href="/events/hex-2026-rawhide-event-center-103026" class="block text-rb no-underline" style="padding:16px 60px 16px 16px;"> <div class="flex gap-3.5"> <div style="width:62px; flex-shrink:0;"> <div class="font-mono text-rb-faint" style="font-size:9px; letter-spacing:0.14em;"> FRI </div> <div class="font-display" style="font-size:46px; font-weight:700; line-height:0.92; letter-spacing:-1.8px; margin-top:2px;">30</div> <div class="font-display" style="font-size:14px; font-weight:600; color:#ff7a2c; letter-spacing:0.12em; margin-top:4px;">OCT</div> </div> <div class="flex-1 min-w-0"> <div class="font-mono text-rb-faint uppercase" style="font-size:9.5px; letter-spacing:0.14em;"> Festival </div> <div class="font-display" style="font-size:22px; font-weight:700; line-height:1.1; letter-spacing:-0.5px; margin-top:0;">HEX 2026</div> <div class="font-mono text-rb-mute" style="font-size:10px; margin-top:8px;"> Rawhide Western Town & Event Center · Festival Grounds · Chandler </div> <div class="font-mono uppercase text-rb-faint" style="font-size:9.5px; letter-spacing:0.14em; margin-top:6px;"> 18+ </div> <div style="margin-top:10px;"> <span class="font-mono uppercase" style="padding:2px 6px; font-size:9px; letter-spacing:0.14em; border:1px solid var(--rb-rule); color:var(--rb-live);">ON SALE</span> </div> </div> <div class="flex-shrink-0 relative self-stretch overflow-hidden" style="width:60px; min-height:92px;"> <img src="https://media.relentlessbeats.com/wp-content/uploads/2026/06/261030-31-HEX-Website_Teaser-600x200.jpg" srcset="https://media.relentlessbeats.com/wp-content/uploads/2026/06/261030-31-HEX-Website_Teaser.jpg 1500w, https://media.relentlessbeats.com/wp-content/uploads/2026/06/261030-31-HEX-Website_Teaser-600x200.jpg 600w, https://media.relentlessbeats.com/wp-content/uploads/2026/06/261030-31-HEX-Website_Teaser-1200x400.jpg 1200w, https://media.relentlessbeats.com/wp-content/uploads/2026/06/261030-31-HEX-Website_Teaser-768x256.jpg 768w, https://media.relentlessbeats.com/wp-content/uploads/2026/06/261030-31-HEX-Website_Teaser-300x100.jpg 300w" sizes="60px" alt class="absolute inset-0 w-full h-full object-cover" loading="lazy"> <div class="rb-scanlines pointer-events-none absolute inset-0" style="opacity:0.14"></div> <div class="absolute inset-0 pointer-events-none" style="background: linear-gradient(180deg, transparent 50%, rgba(255, 122, 44, 0.18) 100%);"></div> </div> </div> </a> <a href="https://tixr.com/e/185888" target="_blank" rel="noopener noreferrer" aria-label="Buy tickets â opens in a new tab" class="absolute flex items-center justify-center text-rb no-underline" style="top:0; right:0; bottom:0; width:48px; border-left:1px solid var(--rb-rule); background:rgba(255, 122, 44, 0.18);"> <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" style="color:#ff7a2c;"> <path d="M2 9V7a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v2a2 2 0 0 0 0 4v2a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-2a2 2 0 0 0 0-4z"></path> <path d="M13 5v2M13 11v2M13 17v2"></path> </svg> </a> <div class="absolute" style="top:6px; right:52px; z-index:2;"> <button type="button" data-rb-save data-rb-save-slug="hex-2026-rawhide-event-center-103026" aria-pressed="false" aria-label="Save" title="Save event"
367class="rb-save cursor-pointer inline-flex items-center justify-center" style="background:transparent; border:none; color:inherit; padding:10px; min-width:44px; min-height:44px;" data-astro-cid-dcq6ic5g> <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" style="display:block;" data-astro-cid-dcq6ic5g> <path d="M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z" data-astro-cid-dcq6ic5g></path> </svg> </button> </div> </div><div class="rb-event-row relative" data-rb-event-row data-market="phx" data-type="festival" data-festival="true" style="border-bottom:1px solid var(--rb-rule);"> <div class="absolute" style="left:0; top:0; bottom:0; width:3px; background:#ff7a2c; z-index:1;"></div> <a href="/events/chris-stassy-halloween-rawhide-event-center-103026" class="block text-rb no-underline" style="padding:16px 60px 16px 16px;"> <div class="flex gap-3.5"> <div style="width:62px; flex-shrink:0;"> <div class="font-mono text-rb-faint" style="font-size:9px; letter-spacing:0.14em;"> FRI </div> <div class="font-display" style="font-size:46px; font-weight:700; line-height:0.92; letter-spacing:-1.8px; margin-top:2px;">30</div> <div class="font-display" style="font-size:14px; font-weight:600; color:#ff7a2c; letter-spacing:0.12em; margin-top:4px;">OCT</div> </div> <div class="flex-1 min-w-0"> <div class="font-mono text-rb-faint uppercase" style="font-size:9.5px; letter-spacing:0.14em;"> Festival </div> <div class="font-display" style="font-size:22px; font-weight:700; line-height:1.1; letter-spacing:-0.5px; margin-top:0;">Chris Stassy Halloween</div> <div class="font-mono text-rb-mute" style="font-size:10px; margin-top:8px;"> Rawhide Western Town & Event Center · Chandler </div> <div class="font-mono uppercase text-rb-faint" style="font-size:9.5px; letter-spacing:0.14em; margin-top:6px;"> 18+ </div> <div style="margin-top:10px;"> <span class="font-mono uppercase" style="padding:2px 6px; font-size:9px; letter-spacing:0.14em; border:1px solid var(--rb-rule); color:var(--rb-live);">ON SALE</span> </div> </div> <div class="flex-shrink-0 relative self-stretch overflow-hidden" style="width:60px; min-height:92px;"> <img src="https://media.relentlessbeats.com/wp-content/uploads/2026/06/Chris-Stussy-with-Relentless-Beats_VERTICAL-1-e1784739743819-600x199.jpg" srcset="https://media.relentlessbeats.com/wp-content/uploads/2026/06/Chris-Stussy-with-Relentless-Beats_VERTICAL-1-e1784739743819.jpg 704w, https://media.relentlessbeats.com/wp-content/uploads/2026/06/Chris-Stussy-with-Relentless-Beats_VERTICAL-1-e1784739743819-600x199.jpg 600w, https://media.relentlessbeats.com/wp-content/uploads/2026/06/Chris-Stussy-with-Relentless-Beats_VERTICAL-1-e1784739743819-300x100.jpg 300w" sizes="60px" alt class="absolute inset-0 w-full h-full object-cover" loading="lazy"> <div class="rb-scanlines pointer-events-none absolute inset-0" style="opacity:0.14"></div> <div class="absolute inset-0 pointer-events-none" style="background: linear-gradient(180deg, transparent 50%, rgba(255, 122, 44, 0.18) 100%);"></div> </div> </div> </a> <a href="https://tixr.com/e/186128" target="_blank" rel="noopener noreferrer" aria-label="Buy tickets â opens in a new tab" class="absolute flex items-center justify-center text-rb no-underline" style="top:0; right:0; bottom:0; width:48px; border-left:1px solid var(--rb-rule); background:rgba(255, 122, 44, 0.18);"> <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" style="color:#ff7a2c;"> <path d="M2 9V7a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v2a2 2 0 0 0 0 4v2a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-2a2 2 0 0 0 0-4z"></path> <path d="M13 5v2M13 11v2M13 17v2"></path> </svg> </a> <div class="absolute" style="top:6px; right:52px; z-index:2;"> <button type="button" data-rb-save data-rb-save-slug="chris-stassy-halloween-rawhide-event-center-103026" aria-pressed="false" aria-label="Save" title="Save event"
367class="rb-save cursor-pointer inline-flex items-center justify-center" style="background:transparent; border:none; color:inherit; padding:10px; min-width:44px; min-height:44px;" data-astro-cid-dcq6ic5g> <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" style="display:block;" data-astro-cid-dcq6ic5g> <path d="M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z" data-astro-cid-dcq6ic5g></path> </svg> </button> </div> </div><div class="rb-event-row relative" data-rb-event-row data-market="phx" data-type="festival" data-festival="true" style="border-bottom:1px solid var(--rb-rule);"> <div class="absolute" style="left:0; top:0; bottom:0; width:3px; background:#ff7a2c; z-index:1;"></div> <a href="/events/obsidian-2026-eastlake-park-110626" class="block text-rb no-underline" style="padding:16px 60px 16px 16px;"> <div class="flex gap-3.5"> <div style="width:62px; flex-shrink:0;"> <div class="font-mono text-rb-faint" style="font-size:9px; letter-spacing:0.14em;"> FRI </div> <div class="font-display" style="font-size:46px; font-weight:700; line-height:0.92; letter-spacing:-1.8px; margin-top:2px;">06</div> <div class="font-display" style="font-size:14px; font-weight:600; color:#ff7a2c; letter-spacing:0.12em; margin-top:4px;">NOV</div> </div> <div class="flex-1 min-w-0"> <div class="font-mono text-rb-faint uppercase" style="font-size:9.5px; letter-spacing:0.14em;"> Festival </div> <div class="font-display" style="font-size:22px; font-weight:700; line-height:1.1; letter-spacing:-0.5px; margin-top:0;">Obsidian 2026</div> <div class="font-mono text-rb-mute" style="font-size:10px; margin-top:8px;"> Eastlake Park · Phoenix </div> <div class="font-mono uppercase text-rb-faint" style="font-size:9.5px; letter-spacing:0.14em; margin-top:6px;"> 18+ </div> <div style="margin-top:10px;"> <span class="font-mono uppercase" style="padding:2px 6px; font-size:9px; letter-spacing:0.14em; border:1px solid var(--rb-rule); color:var(--rb-live);">ON SALE</span> </div> </div> <div class="flex-shrink-0 relative self-stretch overflow-hidden" style="width:60px; min-height:92px;"> <img src="https://media.relentlessbeats.com/wp-content/uploads/2026/06/261106-07-Obsidian-1500x500_-600x200.jpg" srcset="https://media.relentlessbeats.com/wp-content/uploads/2026/06/261106-07-Obsidian-1500x500_.jpg 1500w, https://media.relentlessbeats.com/wp-content/uploads/2026/06/261106-07-Obsidian-1500x500_-600x200.jpg 600w, https://media.relentlessbeats.com/wp-content/uploads/2026/06/261106-07-Obsidian-1500x500_-1200x400.jpg 1200w, https://media.relentlessbeats.com/wp-content/uploads/2026/06/261106-07-Obsidian-1500x500_-768x256.jpg 768w, https://media.relentlessbeats.com/wp-content/uploads/2026/06/261106-07-Obsidian-1500x500_-300x100.jpg 300w" sizes="60px" alt class="absolute inset-0 w-full h-full object-cover" loading="lazy"> <div class="rb-scanlines pointer-events-none absolute inset-0" style="opacity:0.14"></div> <div class="absolute inset-0 pointer-events-none" style="background: linear-gradient(180deg, transparent 50%, rgba(255, 122, 44, 0.18) 100%);"></div> </div> </div> </a> <a href="https://tixr.com/e/194704" target="_blank" rel="noopener noreferrer" aria-label="Buy tickets â opens in a new tab" class="absolute flex items-center justify-center text-rb no-underline" style="top:0; right:0; bottom:0; width:48px; border-left:1px solid var(--rb-rule); background:rgba(255, 122, 44, 0.18);"> <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" style="color:#ff7a2c;"> <path d="M2 9V7a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v2a2 2 0 0 0 0 4v2a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-2a2 2 0 0 0 0-4z"></path> <path d="M13 5v2M13 11v2M13 17v2"></path> </svg> </a> <div class="absolute" style="top:6px; right:52px; z-index:2;"> <button type="button" data-rb-save data-rb-save-slug="obsidian-2026-eastlake-park-110626" aria-pressed="false" aria-label="Save" title="Save event"
367class="rb-save cursor-pointer inline-flex items-center justify-center" style="background:transparent; border:none; color:inherit; padding:10px; min-width:44px; min-height:44px;" data-astro-cid-dcq6ic5g> <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" style="display:block;" data-astro-cid-dcq6ic5g> <path d="M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z" data-astro-cid-dcq6ic5g></path> </svg> </button> </div> </div><div class="rb-event-row relative" data-rb-event-row data-market="tuc" data-type="festival" data-festival="true" style="border-bottom:1px solid var(--rb-rule);"> <div class="absolute" style="left:0; top:0; bottom:0; width:3px; background:#ff7a2c; z-index:1;"></div> <a href="/events/dusk-music-festival-2026-jacome-plaza-111326" class="block text-rb no-underline" style="padding:16px 60px 16px 16px;"> <div class="flex gap-3.5"> <div style="width:62px; flex-shrink:0;"> <div class="font-mono text-rb-faint" style="font-size:9px; letter-spacing:0.14em;"> FRI </div> <div class="font-display" style="font-size:46px; font-weight:700; line-height:0.92; letter-spacing:-1.8px; margin-top:2px;">13</div> <div class="font-display" style="font-size:14px; font-weight:600; color:#ff7a2c; letter-spacing:0.12em; margin-top:4px;">NOV</div> </div> <div class="flex-1 min-w-0"> <div class="font-mono text-rb-faint uppercase" style="font-size:9.5px; letter-spacing:0.14em;"> Festival </div> <div class="font-display" style="font-size:22px; font-weight:700; line-height:1.1; letter-spacing:-0.5px; margin-top:0;">DUSK Music Festival 2026</div> <div class="font-mono text-rb-mute" style="font-size:10px; margin-top:8px;"> Jacome Plaza · Tucson </div> <div class="font-mono uppercase text-rb-faint" style="font-size:9.5px; letter-spacing:0.14em; margin-top:6px;"> All Ages </div> <div style="margin-top:10px;"> <span class="font-mono uppercase" style="padding:2px 6px; font-size:9px; letter-spacing:0.14em; border:1px solid var(--rb-rule); color:var(--rb-live);">ON SALE</span> </div> </div> <div class="flex-shrink-0 relative self-stretch overflow-hidden" style="width:60px; min-height:92px;"> <img src="https://media.relentlessbeats.com/wp-content/uploads/2026/06/DUSK2026_Website_Lineup-600x337.jpg" srcset="https://media.relentlessbeats.com/wp-content/uploads/2026/06/DUSK2026_Website_Lineup-scaled.jpg 2560w, https://media.relentlessbeats.com/wp-content/uploads/2026/06/DUSK2026_Website_Lineup-600x337.jpg 600w, https://media.relentlessbeats.com/wp-content/uploads/2026/06/DUSK2026_Website_Lineup-1200x675.jpg 1200w, https://media.relentlessbeats.com/wp-content/uploads/2026/06/DUSK2026_Website_Lineup-768x432.jpg 768w, https://media.relentlessbeats.com/wp-content/uploads/2026/06/DUSK2026_Website_Lineup-1536x864.jpg 1536w, https://media.relentlessbeats.com/wp-content/uploads/2026/06/DUSK2026_Website_Lineup-2048x1152.jpg 2048w, https://media.relentlessbeats.com/wp-content/uploads/2026/06/DUSK2026_Website_Lineup-300x169.jpg 300w" sizes="60px" alt class="absolute inset-0 w-full h-full object-cover" loading="lazy"> <div class="rb-scanlines pointer-events-none absolute inset-0" style="opacity:0.14"></div> <div class="absolute inset-0 pointer-events-none" style="background: linear-gradient(180deg, transparent 50%, rgba(255, 122, 44, 0.18) 100%);"></div> </div> </div> </a> <a href="https://www.tixr.com/groups/rbfestivals/events/dusk-music-festival-2026-188696?utm_source=dusk_website&utm_medium=homepage_button&utm_campaign=2026_tickets&utm_content=homepage" target="_blank" rel="noopener noreferrer" aria-label="Buy tickets â opens in a new tab" class="absolute flex items-center justify-center text-rb no-underline" style="top:0; right:0; bottom:0; width:48px; border-left:1px solid var(--rb-rule); background:rgba(255, 122, 44, 0.18);"> <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" style="color:#ff7a2c;"> <path d="M2 9V7a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v2a2 2 0 0 0 0 4v2a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-2a2 2 0 0 0 0-4z"></path> <path d="M13 5v2M13 11v2M13 17v2"></path> </svg> </a> <div class="absolute" style="top:6px; right:52px; z-index:2;"> <button type="button" data-rb-save data-rb-save-slug="dusk-music-festival-2026-jacome-plaza-111326" aria-pressed="false" aria-label="Save" title="Save event"
367class="rb-save cursor-pointer inline-flex items-center justify-center" style="background:transparent; border:none; color:inherit; padding:10px; min-width:44px; min-height:44px;" data-astro-cid-dcq6ic5g> <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" style="display:block;" data-astro-cid-dcq6ic5g> <path d="M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z" data-astro-cid-dcq6ic5g></path> </svg> </button> </div> </div><div class="rb-event-row relative" data-rb-event-row data-market="phx" data-type="festival" data-festival="true" style="border-bottom:1px solid var(--rb-rule);"> <div class="absolute" style="left:0; top:0; bottom:0; width:3px; background:#ff7a2c; z-index:1;"></div> <a href="/events/decadence-arizona-2026-phoenix-raceway-123026" class="block text-rb no-underline" style="padding:16px 60px 16px 16px;"> <div class="flex gap-3.5"> <div style="width:62px; flex-shrink:0;"> <div class="font-mono text-rb-faint" style="font-size:9px; letter-spacing:0.14em;"> WED </div> <div class="font-display" style="font-size:46px; font-weight:700; line-height:0.92; letter-spacing:-1.8px; margin-top:2px;">30</div> <div class="font-display" style="font-size:14px; font-weight:600; color:#ff7a2c; letter-spacing:0.12em; margin-top:4px;">DEC</div> </div> <div class="flex-1 min-w-0"> <div class="font-mono text-rb-faint uppercase" style="font-size:9.5px; letter-spacing:0.14em;"> Festival </div> <div class="font-display" style="font-size:22px; font-weight:700; line-height:1.1; letter-spacing:-0.5px; margin-top:0;">Decadence Arizona 2026</div> <div class="font-mono text-rb-mute" style="font-size:10px; margin-top:8px;"> Phoenix Raceway · Avondale </div> <div class="font-mono uppercase text-rb-faint" style="font-size:9.5px; letter-spacing:0.14em; margin-top:6px;"> 18+ </div> <div style="margin-top:10px;"> <span class="font-mono uppercase" style="padding:2px 6px; font-size:9px; letter-spacing:0.14em; border:1px solid var(--rb-rule); color:var(--rb-live);">ON SALE</span> </div> </div> <div class="flex-shrink-0 relative self-stretch overflow-hidden" style="width:60px; min-height:92px;"> <img src="https://media.relentlessbeats.com/wp-content/uploads/2026/02/261230-31-Decadence-1500x500-1-600x200.jpg" srcset="https://media.relentlessbeats.com/wp-content/uploads/2026/02/261230-31-Decadence-1500x500-1.jpg 1500w, https://media.relentlessbeats.com/wp-content/uploads/2026/02/261230-31-Decadence-1500x500-1-600x200.jpg 600w, https://media.relentlessbeats.com/wp-content/uploads/2026/02/261230-31-Decadence-1500x500-1-1200x400.jpg 1200w, https://media.relentlessbeats.com/wp-content/uploads/2026/02/261230-31-Decadence-1500x500-1-768x256.jpg 768w, https://media.relentlessbeats.com/wp-content/uploads/2026/02/261230-31-Decadence-1500x500-1-300x100.jpg 300w" sizes="60px" alt class="absolute inset-0 w-full h-full object-cover" loading="lazy"> <div class="rb-scanlines pointer-events-none absolute inset-0" style="opacity:0.14"></div> <div class="absolute inset-0 pointer-events-none" style="background: linear-gradient(180deg, transparent 50%, rgba(255, 122, 44, 0.18) 100%);"></div> </div> </div> </a> <a href="https://tixr.com/e/182815" target="_blank" rel="noopener noreferrer" aria-label="Buy tickets â opens in a new tab" class="absolute flex items-center justify-center text-rb no-underline" style="top:0; right:0; bottom:0; width:48px; border-left:1px solid var(--rb-rule); background:rgba(255, 122, 44, 0.18);"> <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" style="color:#ff7a2c;"> <path d="M2 9V7a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v2a2 2 0 0 0 0 4v2a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-2a2 2 0 0 0 0-4z"></path> <path d="M13 5v2M13 11v2M13 17v2"></path> </svg> </a> <div class="absolute" style="top:6px; right:52px; z-index:2;"> <button type="button" data-rb-save data-rb-save-slug="decadence-arizona-2026-phoenix-raceway-123026" aria-pressed="false" aria-label="Save" title="Save event"
367class="rb-save cursor-pointer inline-flex items-center justify-center" style="background:transparent; border:none; color:inherit; padding:10px; min-width:44px; min-height:44px;" data-astro-cid-dcq6ic5g> <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" style="display:block;" data-astro-cid-dcq6ic5g> <path d="M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z" data-astro-cid-dcq6ic5g></path> </svg> </button> </div> </div><div class="rb-event-row relative" data-rb-event-row data-market="tuc" data-type="festival" data-festival="true" style="border-bottom:1px solid var(--rb-rule);"> <div class="absolute" style="left:0; top:0; bottom:0; width:3px; background:#ff7a2c; z-index:1;"></div> <a href="/events/gem-jam-2027-pima-county-fairgrounds-020527" class="block text-rb no-underline" style="padding:16px 60px 16px 16px;"> <div class="flex gap-3.5"> <div style="width:62px; flex-shrink:0;"> <div class="font-mono text-rb-faint" style="font-size:9px; letter-spacing:0.14em;"> FRI </div> <div class="font-display" style="font-size:46px; font-weight:700; line-height:0.92; letter-spacing:-1.8px; margin-top:2px;">05</div> <div class="font-display" style="font-size:14px; font-weight:600; color:#ff7a2c; letter-spacing:0.12em; margin-top:4px;">FEB</div> </div> <div class="flex-1 min-w-0"> <div class="font-mono text-rb-faint uppercase" style="font-size:9.5px; letter-spacing:0.14em;"> Festival </div> <div class="font-display" style="font-size:22px; font-weight:700; line-height:1.1; letter-spacing:-0.5px; margin-top:0;">Gem & Jam 2027</div> <div class="font-mono text-rb-mute" style="font-size:10px; margin-top:8px;"> Pima County Fairgrounds · Tucson </div> <div class="font-mono uppercase text-rb-faint" style="font-size:9.5px; letter-spacing:0.14em; margin-top:6px;"> All Ages </div> <div style="margin-top:10px;"> <span class="font-mono uppercase" style="padding:2px 6px; font-size:9px; letter-spacing:0.14em; border:1px solid var(--rb-rule); color:var(--rb-silver-warm);">COMING SOON</span> </div> </div> <div class="flex-shrink-0 relative self-stretch overflow-hidden" style="width:60px; min-height:92px;"> <img src="https://media.relentlessbeats.com/wp-content/uploads/2026/02/270205-07-Gem-and-Jam_1500x500_Announce-600x200.jpg" srcset="https://media.relentlessbeats.com/wp-content/uploads/2026/02/270205-07-Gem-and-Jam_1500x500_Announce.jpg 1500w, https://media.relentlessbeats.com/wp-content/uploads/2026/02/270205-07-Gem-and-Jam_1500x500_Announce-600x200.jpg 600w, https://media.relentlessbeats.com/wp-content/uploads/2026/02/270205-07-Gem-and-Jam_1500x500_Announce-1200x400.jpg 1200w, https://media.relentlessbeats.com/wp-content/uploads/2026/02/270205-07-Gem-and-Jam_1500x500_Announce-768x256.jpg 768w, https://media.relentlessbeats.com/wp-content/uploads/2026/02/270205-07-Gem-and-Jam_1500x500_Announce-300x100.jpg 300w" sizes="60px" alt class="absolute inset-0 w-full h-full object-cover" loading="lazy"> <div class="rb-scanlines pointer-events-none absolute inset-0" style="opacity:0.14"></div> <div class="absolute inset-0 pointer-events-none" style="background: linear-gradient(180deg, transparent 50%, rgba(255, 122, 44, 0.18) 100%);"></div> </div> </div> </a> <a href="https://wl.eventim.us/event/tickets/682516?afflky=GemandJam" target="_blank" rel="noopener noreferrer" aria-label="Buy tickets â opens in a new tab" class="absolute flex items-center justify-center text-rb no-underline" style="top:0; right:0; bottom:0; width:48px; border-left:1px solid var(--rb-rule); background:rgba(255, 122, 44, 0.18);"> <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" style="color:#ff7a2c;"> <path d="M2 9V7a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v2a2 2 0 0 0 0 4v2a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-2a2 2 0 0 0 0-4z"></path> <path d="M13 5v2M13 11v2M13 17v2"></path> </svg> </a> <div class="absolute" style="top:6px; right:52px; z-index:2;"> <button type="button" data-rb-save data-rb-save-slug="gem-jam-2027-pima-county-fairgrounds-020527" aria-pressed="false" aria-label="Save" title="Save event"
367class="rb-save cursor-pointer inline-flex items-center justify-center" style="background:transparent; border:none; color:inherit; padding:10px; min-width:44px; min-height:44px;" data-astro-cid-dcq6ic5g> <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" style="display:block;" data-astro-cid-dcq6ic5g> <path d="M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z" data-astro-cid-dcq6ic5g></path> </svg> </button> </div> </div> </div> </div><div class="rb-container"> <div class="rb-pad-x" style="padding-top:40px;"> <div class="flex items-end gap-3"> <div class="flex-1"> <div class="label-mono text-rb-faint">editorial · stories</div> <div class="font-display rb-section-h" style="font-size:22px; font-weight:700; line-height:1; letter-spacing:-0.8px; margin-top:4px;"> 368RB News 369</div> </div> <a href="/rbnews" class="font-mono uppercase text-silver-warm no-underline" style="font-size:10.5px; letter-spacing:0.1em;"> 370VIEW ALL â 371</a> </div> </div> <div class="rb-news-rail rb-pad-x" style="margin-top:14px;" data-hscroll> <a href="/2026/09/pheel-artist-spotlight-a-spotify-downtempo-discovery" class="rb-news-card block text-rb no-underline"> <div class="relative overflow-hidden" style="aspect-ratio:16/9; background:var(--rb-bg-panel);"> <img src="https://media.relentlessbeats.com/cdn-cgi/image/width=768,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2026/09/655829454_26291133057189649_3513997628090303249_n.jpg" srcset="https://media.relentlessbeats.com/cdn-cgi/image/width=320,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2026/09/655829454_26291133057189649_3513997628090303249_n.jpg 320w, https://media.relentlessbeats.com/cdn-cgi/image/width=480,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2026/09/655829454_26291133057189649_3513997628090303249_n.jpg 480w, https://media.relentlessbeats.com/cdn-cgi/image/width=768,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2026/09/655829454_26291133057189649_3513997628090303249_n.jpg 768w, https://media.relentlessbeats.com/cdn-cgi/image/width=1080,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2026/09/655829454_26291133057189649_3513997628090303249_n.jpg 1080w, https://media.relentlessbeats.com/cdn-cgi/image/width=1600,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2026/09/655829454_26291133057189649_3513997628090303249_n.jpg 1600w" sizes="(min-width:1024px) 360px, 100vw" alt="" style="width:100%; height:100%; object-fit:cover; display:block;" loading="lazy"> <div class="rb-scanlines pointer-events-none absolute inset-0" style="opacity:0.1"></div> </div> <div style="margin-top:14px;"> <div class="font-serif" style="font-size:22px; font-weight:500; line-height:1.2; letter-spacing:-0.4px;">Pheel. Artist Spotlight: A Spotify Downtempo Discovery</div> <div style="margin-top:10px;"> <div class="font-mono uppercase flex items-center gap-2" style="font-size:10.5px; letter-spacing:0.14em; color:var(--rb-silver-warm);" data-astro-cid-2yvawtqt> <img src="https://secure.gravatar.com/avatar/5cc0112ebf4581cb606995b693da17265f647cb542b24db67acf1be9b5b2e2ba?s=96&d=mm&r=g" alt="" width="22" height="22" loading="lazy" style="width:22px; height:22px; border-radius:50%; object-fit:cover; background:var(--rb-bg-panel); flex-shrink:0;" data-astro-cid-2yvawtqt> <span data-astro-cid-2yvawtqt> <span class="rb-author-link" data-rb-author="151" role="link" tabindex="0" data-astro-cid-2yvawtqt>Chase Courtney</span> · YESTERDAY </span> </div>
371<script> 372 // Delegated once per document: an author byline can render inside a card 373 // <a>, so intercept the click, cancel the card's navigation, and route to 374 // the author archive instead. 375 (function () { 376 if (document.documentElement.dataset.rbAuthorBound === '1') return; 377 document.documentElement.dataset.rbAuthorBound = '1'; 378 function go(e) { 379 var t = e.target; 380 var el = t && t.closest ? t.closest('[data-rb-author]') : null; 381 if (!el) return; 382 e.preventDefault(); 383 e.stopPropagation(); 384 window.location.href = '/author/' + el.getAttribute('data-rb-author'); 385 } 386 document.addEventListener('click', go); 387 document.addEventListener('keydown', function (e) { 388 if (e.key === 'Enter' || e.key === ' ') go(e); 389 }); 390 })(); 391</script>
391 </div> <div class="font-serif text-rb-mute" style="font-size:14px; font-style:italic; line-height:1.5; margin-top:10px;">A friend recently put me on their Spotify Duo. As an Apple Music user, I was thrilled! My Apple Music library has gotten over crowded and disorganized, so having a second platform available to me is a game changer. This â¦</div> <div class="font-mono uppercase" style="font-size:10px; letter-spacing:0.16em; margin-top:12px; color:var(--rb-silver-warm);"> 392READ â 393</div> </div> </a><a href="/2026/09/choose-your-fighter-phoenix-has-six-ways-to-rave-november-6-through-8" class="rb-news-card block text-rb no-underline"> <div class="relative overflow-hidden" style="aspect-ratio:16/9; background:var(--rb-bg-panel);"> <img src="https://media.relentlessbeats.com/cdn-cgi/image/width=768,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2026/08/Airod-WH215-Grotto-260905-0017-scaled.jpg" srcset="https://media.relentlessbeats.com/cdn-cgi/image/width=320,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2026/08/Airod-WH215-Grotto-260905-0017-scaled.jpg 320w, https://media.relentlessbeats.com/cdn-cgi/image/width=480,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2026/08/Airod-WH215-Grotto-260905-0017-scaled.jpg 480w, https://media.relentlessbeats.com/cdn-cgi/image/width=768,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2026/08/Airod-WH215-Grotto-260905-0017-scaled.jpg 768w, https://media.relentlessbeats.com/cdn-cgi/image/width=1080,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2026/08/Airod-WH215-Grotto-260905-0017-scaled.jpg 1080w, https://media.relentlessbeats.com/cdn-cgi/image/width=1600,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2026/08/Airod-WH215-Grotto-260905-0017-scaled.jpg 1600w" sizes="(min-width:1024px) 360px, 100vw" alt="" style="width:100%; height:100%; object-fit:cover; display:block;" loading="lazy"> <div class="rb-scanlines pointer-events-none absolute inset-0" style="opacity:0.1"></div> </div> <div style="margin-top:14px;"> <div class="font-serif" style="font-size:22px; font-weight:500; line-height:1.2; letter-spacing:-0.4px;">Choose Your Fighter: Phoenix Has Six Ways to Rave November 6 Through 8</div> <div style="margin-top:10px;"> <div class="font-mono uppercase flex items-center gap-2" style="font-size:10.5px; letter-spacing:0.14em; color:var(--rb-silver-warm);" data-astro-cid-2yvawtqt> <img src="https://secure.gravatar.com/avatar/56002a0e8a7e5846d5376a99150681c262e9a8b20f4d0c4ae04023d9e22f4fe1?s=96&d=mm&r=g" alt="" width="22" height="22" loading="lazy" style="width:22px; height:22px; border-radius:50%; object-fit:cover; background:var(--rb-bg-panel); flex-shrink:0;" data-astro-cid-2yvawtqt> <span data-astro-cid-2yvawtqt> <span class="rb-author-link" data-rb-author="167" role="link" tabindex="0" data-astro-cid-2yvawtqt>Amra Alic</span> · YESTERDAY </span> </div>
393<script> 394 // Delegated once per document: an author byline can render inside a card 395 // <a>, so intercept the click, cancel the card's navigation, and route to 396 // the author archive instead. 397 (function () { 398 if (document.documentElement.dataset.rbAuthorBound === '1') return; 399 document.documentElement.dataset.rbAuthorBound = '1'; 400 function go(e) { 401 var t = e.target; 402 var el = t && t.closest ? t.closest('[data-rb-author]') : null; 403 if (!el) return; 404 e.preventDefault(); 405 e.stopPropagation(); 406 window.location.href = '/author/' + el.getAttribute('data-rb-author'); 407 } 408 document.addEventListener('click', go); 409 document.addEventListener('keydown', function (e) { 410 if (e.key === 'Enter' || e.key === ' ') go(e); 411 }); 412 })(); 413</script>
413 </div> <div class="font-serif text-rb-mute" style="font-size:14px; font-style:italic; line-height:1.5; margin-top:10px;">AZ rave fam, we have a problem. Actually, we have six of them. The weekend of November 6 through November 8 is shaping up to be one of those weekends where you could have six completely different nights out depending â¦</div> <div class="font-mono uppercase" style="font-size:10px; letter-spacing:0.16em; margin-top:12px; color:var(--rb-silver-warm);"> 414READ â 415</div> </div> </a><a href="/2026/09/afrojack-at-warehouse-215-10-reasons-you-need-to-be-there" class="rb-news-card block text-rb no-underline"> <div class="relative overflow-hidden" style="aspect-ratio:16/9; background:var(--rb-bg-panel);"> <img src="https://media.relentlessbeats.com/cdn-cgi/image/width=768,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2020/03/afrojack.jpg" srcset="https://media.relentlessbeats.com/cdn-cgi/image/width=320,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2020/03/afrojack.jpg 320w, https://media.relentlessbeats.com/cdn-cgi/image/width=480,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2020/03/afrojack.jpg 480w, https://media.relentlessbeats.com/cdn-cgi/image/width=768,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2020/03/afrojack.jpg 768w, https://media.relentlessbeats.com/cdn-cgi/image/width=1080,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2020/03/afrojack.jpg 1080w, https://media.relentlessbeats.com/cdn-cgi/image/width=1600,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2020/03/afrojack.jpg 1600w" sizes="(min-width:1024px) 360px, 100vw" alt="" style="width:100%; height:100%; object-fit:cover; display:block;" loading="lazy"> <div class="rb-scanlines pointer-events-none absolute inset-0" style="opacity:0.1"></div> </div> <div style="margin-top:14px;"> <div class="font-serif" style="font-size:22px; font-weight:500; line-height:1.2; letter-spacing:-0.4px;">Afrojack at Warehouse 215: 10 Reasons You Need to Be There</div> <div style="margin-top:10px;"> <div class="font-mono uppercase flex items-center gap-2" style="font-size:10.5px; letter-spacing:0.14em; color:var(--rb-silver-warm);" data-astro-cid-2yvawtqt> <img src="https://secure.gravatar.com/avatar/c2cbba863797dc717005c699c2a824c086da394ad9aa0f67d982b50d55b4e97a?s=96&d=mm&r=g" alt="" width="22" height="22" loading="lazy" style="width:22px; height:22px; border-radius:50%; object-fit:cover; background:var(--rb-bg-panel); flex-shrink:0;" data-astro-cid-2yvawtqt> <span data-astro-cid-2yvawtqt> <span class="rb-author-link" data-rb-author="152" role="link" tabindex="0" data-astro-cid-2yvawtqt>Dayne Harris</span> · 3 DAYS AGO </span> </div>
415<script> 416 // Delegated once per document: an author byline can render inside a card 417 // <a>, so intercept the click, cancel the card's navigation, and route to 418 // the author archive instead. 419 (function () { 420 if (document.documentElement.dataset.rbAuthorBound === '1') return; 421 document.documentElement.dataset.rbAuthorBound = '1'; 422 function go(e) { 423 var t = e.target; 424 var el = t && t.closest ? t.closest('[data-rb-author]') : null; 425 if (!el) return; 426 e.preventDefault(); 427 e.stopPropagation(); 428 window.location.href = '/author/' + el.getAttribute('data-rb-author'); 429 } 430 document.addEventListener('click', go); 431 document.addEventListener('keydown', function (e) { 432 if (e.key === 'Enter' || e.key === ' ') go(e); 433 }); 434 })(); 435</script>
435 </div> <div class="font-serif text-rb-mute" style="font-size:14px; font-style:italic; line-height:1.5; margin-top:10px;">Afrojack is bringing his massive sound to an intimate space, and this is not a show you want to miss. Here are 10 reasons why this night stands out. The 10 Reasons Why 1. He is a Grammy-winning producer with â¦</div> <div class="font-mono uppercase" style="font-size:10px; letter-spacing:0.16em; margin-top:12px; color:var(--rb-silver-warm);"> 436READ â 437</div> </div> </a><a href="/2026/09/theres-a-drama-song-for-that-the-soundtrack-to-every-mood-moment-bad-decision" class="rb-news-card block text-rb no-underline"> <div class="relative overflow-hidden" style="aspect-ratio:16/9; background:var(--rb-bg-panel);"> <img src="https://media.relentlessbeats.com/cdn-cgi/image/width=768,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2026/09/drama.png" srcset="https://media.relentlessbeats.com/cdn-cgi/image/width=320,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2026/09/drama.png 320w, https://media.relentlessbeats.com/cdn-cgi/image/width=480,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2026/09/drama.png 480w, https://media.relentlessbeats.com/cdn-cgi/image/width=768,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2026/09/drama.png 768w, https://media.relentlessbeats.com/cdn-cgi/image/width=1080,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2026/09/drama.png 1080w, https://media.relentlessbeats.com/cdn-cgi/image/width=1600,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2026/09/drama.png 1600w" sizes="(min-width:1024px) 360px, 100vw" alt="" style="width:100%; height:100%; object-fit:cover; display:block;" loading="lazy"> <div class="rb-scanlines pointer-events-none absolute inset-0" style="opacity:0.1"></div> </div> <div style="margin-top:14px;"> <div class="font-serif" style="font-size:22px; font-weight:500; line-height:1.2; letter-spacing:-0.4px;">Thereâs a DRAMA Song For That: The Soundtrack to Every Mood, Moment, & Bad Decision</div> <div style="margin-top:10px;"> <div class="font-mono uppercase flex items-center gap-2" style="font-size:10.5px; letter-spacing:0.14em; color:var(--rb-silver-warm);" data-astro-cid-2yvawtqt> <img src="https://secure.gravatar.com/avatar/56002a0e8a7e5846d5376a99150681c262e9a8b20f4d0c4ae04023d9e22f4fe1?s=96&d=mm&r=g" alt="" width="22" height="22" loading="lazy" style="width:22px; height:22px; border-radius:50%; object-fit:cover; background:var(--rb-bg-panel); flex-shrink:0;" data-astro-cid-2yvawtqt> <span data-astro-cid-2yvawtqt> <span class="rb-author-link" data-rb-author="167" role="link" tabindex="0" data-astro-cid-2yvawtqt>Amra Alic</span> · 6 DAYS AGO </span> </div>
437<script> 438 // Delegated once per document: an author byline can render inside a card 439 // <a>, so intercept the click, cancel the card's navigation, and route to 440 // the author archive instead. 441 (function () { 442 if (document.documentElement.dataset.rbAuthorBound === '1') return; 443 document.documentElement.dataset.rbAuthorBound = '1'; 444 function go(e) { 445 var t = e.target; 446 var el = t && t.closest ? t.closest('[data-rb-author]') : null; 447 if (!el) return; 448 e.preventDefault(); 449 e.stopPropagation(); 450 window.location.href = '/author/' + el.getAttribute('data-rb-author'); 451 } 452 document.addEventListener('click', go); 453 document.addEventListener('keydown', function (e) { 454 if (e.key === 'Enter' || e.key === ' ') go(e); 455 }); 456 })(); 457</script>
457 </div> <div class="font-serif text-rb-mute" style="font-size:14px; font-style:italic; line-height:1.5; margin-top:10px;">Some artists make music for a specific mood. DRAMA makes music for the entire day. The Chicago duoâs dreamy blend of dance, R&B, and electronic soul has a way of fitting into those oddly specific moments that deserve their own â¦</div> <div class="font-mono uppercase" style="font-size:10px; letter-spacing:0.16em; margin-top:12px; color:var(--rb-silver-warm);"> 458READ â 459</div> </div> </a><a href="/2026/09/2024-flashback-ignition-by-levity" class="rb-news-card block text-rb no-underline"> <div class="relative overflow-hidden" style="aspect-ratio:16/9; background:var(--rb-bg-panel);"> <img src="https://media.relentlessbeats.com/cdn-cgi/image/width=768,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2024/07/levityy-scaled.jpg" srcset="https://media.relentlessbeats.com/cdn-cgi/image/width=320,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2024/07/levityy-scaled.jpg 320w, https://media.relentlessbeats.com/cdn-cgi/image/width=480,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2024/07/levityy-scaled.jpg 480w, https://media.relentlessbeats.com/cdn-cgi/image/width=768,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2024/07/levityy-scaled.jpg 768w, https://media.relentlessbeats.com/cdn-cgi/image/width=1080,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2024/07/levityy-scaled.jpg 1080w, https://media.relentlessbeats.com/cdn-cgi/image/width=1600,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2024/07/levityy-scaled.jpg 1600w" sizes="(min-width:1024px) 360px, 100vw" alt="" style="width:100%; height:100%; object-fit:cover; display:block;" loading="lazy"> <div class="rb-scanlines pointer-events-none absolute inset-0" style="opacity:0.1"></div> </div> <div style="margin-top:14px;"> <div class="font-serif" style="font-size:22px; font-weight:500; line-height:1.2; letter-spacing:-0.4px;">2024 Flashback: âIgnitionâ by Levity</div> <div style="margin-top:10px;"> <div class="font-mono uppercase flex items-center gap-2" style="font-size:10.5px; letter-spacing:0.14em; color:var(--rb-silver-warm);" data-astro-cid-2yvawtqt> <img src="https://secure.gravatar.com/avatar/5cc0112ebf4581cb606995b693da17265f647cb542b24db67acf1be9b5b2e2ba?s=96&d=mm&r=g" alt="" width="22" height="22" loading="lazy" style="width:22px; height:22px; border-radius:50%; object-fit:cover; background:var(--rb-bg-panel); flex-shrink:0;" data-astro-cid-2yvawtqt> <span data-astro-cid-2yvawtqt> <span class="rb-author-link" data-rb-author="151" role="link" tabindex="0" data-astro-cid-2yvawtqt>Chase Courtney</span> · 6 DAYS AGO </span> </div>
459<script> 460 // Delegated once per document: an author byline can render inside a card 461 // <a>, so intercept the click, cancel the card's navigation, and route to 462 // the author archive instead. 463 (function () { 464 if (document.documentElement.dataset.rbAuthorBound === '1') return; 465 document.documentElement.dataset.rbAuthorBound = '1'; 466 function go(e) { 467 var t = e.target; 468 var el = t && t.closest ? t.closest('[data-rb-author]') : null; 469 if (!el) return; 470 e.preventDefault(); 471 e.stopPropagation(); 472 window.location.href = '/author/' + el.getAttribute('data-rb-author'); 473 } 474 document.addEventListener('click', go); 475 document.addEventListener('keydown', function (e) { 476 if (e.key === 'Enter' || e.key === ' ') go(e); 477 }); 478 })(); 479</script>
479 </div> <div class="font-serif text-rb-mute" style="font-size:14px; font-style:italic; line-height:1.5; margin-top:10px;">Levity is a trio out of Chicago, Illinois that has been making some SERIOUS headway in the scene in a short period of time. Their first original album, Escapism, Vol. 1, dropped on September 25th, 2024. Despite enjoying the big â¦</div> <div class="font-mono uppercase" style="font-size:10px; letter-spacing:0.16em; margin-top:12px; color:var(--rb-silver-warm);"> 480READ â 481</div> </div> </a><a href="/2026/09/space-laces-x-phrva-are-bringing-wubs-lasers-to-new-mexico-this-fall" class="rb-news-card block text-rb no-underline"> <div class="relative overflow-hidden" style="aspect-ratio:16/9; background:var(--rb-bg-panel);"> <img src="https://media.relentlessbeats.com/cdn-cgi/image/width=768,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2017/08/ff0d5206_SpaceLaces_Aragon_Yoder-26-of-29.jpg" srcset="https://media.relentlessbeats.com/cdn-cgi/image/width=320,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2017/08/ff0d5206_SpaceLaces_Aragon_Yoder-26-of-29.jpg 320w, https://media.relentlessbeats.com/cdn-cgi/image/width=480,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2017/08/ff0d5206_SpaceLaces_Aragon_Yoder-26-of-29.jpg 480w, https://media.relentlessbeats.com/cdn-cgi/image/width=768,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2017/08/ff0d5206_SpaceLaces_Aragon_Yoder-26-of-29.jpg 768w, https://media.relentlessbeats.com/cdn-cgi/image/width=1080,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2017/08/ff0d5206_SpaceLaces_Aragon_Yoder-26-of-29.jpg 1080w, https://media.relentlessbeats.com/cdn-cgi/image/width=1600,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2017/08/ff0d5206_SpaceLaces_Aragon_Yoder-26-of-29.jpg 1600w" sizes="(min-width:1024px) 360px, 100vw" alt="" style="width:100%; height:100%; object-fit:cover; display:block;" loading="lazy"> <div class="rb-scanlines pointer-events-none absolute inset-0" style="opacity:0.1"></div> </div> <div style="margin-top:14px;"> <div class="font-serif" style="font-size:22px; font-weight:500; line-height:1.2; letter-spacing:-0.4px;">Space Laces x PHRVA Are Bringing Wubs & Lasers to New Mexico this Fall</div> <div style="margin-top:10px;"> <div class="font-mono uppercase flex items-center gap-2" style="font-size:10.5px; letter-spacing:0.14em; color:var(--rb-silver-warm);" data-astro-cid-2yvawtqt> <img src="https://secure.gravatar.com/avatar/5cc0112ebf4581cb606995b693da17265f647cb542b24db67acf1be9b5b2e2ba?s=96&d=mm&r=g" alt="" width="22" height="22" loading="lazy" style="width:22px; height:22px; border-radius:50%; object-fit:cover; background:var(--rb-bg-panel); flex-shrink:0;" data-astro-cid-2yvawtqt> <span data-astro-cid-2yvawtqt> <span class="rb-author-link" data-rb-author="151" role="link" tabindex="0" data-astro-cid-2yvawtqt>Chase Courtney</span> · SEP 17, 2026 </span> </div>
481<script> 482 // Delegated once per document: an author byline can render inside a card 483 // <a>, so intercept the click, cancel the card's navigation, and route to 484 // the author archive instead. 485 (function () { 486 if (document.documentElement.dataset.rbAuthorBound === '1') return; 487 document.documentElement.dataset.rbAuthorBound = '1'; 488 function go(e) { 489 var t = e.target; 490 var el = t && t.closest ? t.closest('[data-rb-author]') : null; 491 if (!el) return; 492 e.preventDefault(); 493 e.stopPropagation(); 494 window.location.href = '/author/' + el.getAttribute('data-rb-author'); 495 } 496 document.addEventListener('click', go); 497 document.addEventListener('keydown', function (e) { 498 if (e.key === 'Enter' || e.key === ' ') go(e); 499 }); 500 })(); 501</script>
501 </div> <div class="font-serif text-rb-mute" style="font-size:14px; font-style:italic; line-height:1.5; margin-top:10px;">Space Laces and PHRVA are scheduled to bring a massive bass-filled night to Revel on October 2nd. Revel Albuquerque is one of my all-time favorite venues. The vibes are immaculate. The layout is awesome. And the amenities cannot be beat. â¦</div> <div class="font-mono uppercase" style="font-size:10px; letter-spacing:0.16em; margin-top:12px; color:var(--rb-silver-warm);"> 502READ â 503</div> </div> </a><a href="/2026/09/revisiting-ganja-white-night-2017-to-2026" class="rb-news-card block text-rb no-underline"> <div class="relative overflow-hidden" style="aspect-ratio:16/9; background:var(--rb-bg-panel);"> <img src="https://media.relentlessbeats.com/cdn-cgi/image/width=768,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2024/02/GWN.jpg" srcset="https://media.relentlessbeats.com/cdn-cgi/image/width=320,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2024/02/GWN.jpg 320w, https://media.relentlessbeats.com/cdn-cgi/image/width=480,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2024/02/GWN.jpg 480w, https://media.relentlessbeats.com/cdn-cgi/image/width=768,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2024/02/GWN.jpg 768w, https://media.relentlessbeats.com/cdn-cgi/image/width=1080,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2024/02/GWN.jpg 1080w, https://media.relentlessbeats.com/cdn-cgi/image/width=1600,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2024/02/GWN.jpg 1600w" sizes="(min-width:1024px) 360px, 100vw" alt="" style="width:100%; height:100%; object-fit:cover; display:block;" loading="lazy"> <div class="rb-scanlines pointer-events-none absolute inset-0" style="opacity:0.1"></div> </div> <div style="margin-top:14px;"> <div class="font-serif" style="font-size:22px; font-weight:500; line-height:1.2; letter-spacing:-0.4px;">Revisiting Ganja White Night: 2017 to 2026</div> <div style="margin-top:10px;"> <div class="font-mono uppercase flex items-center gap-2" style="font-size:10.5px; letter-spacing:0.14em; color:var(--rb-silver-warm);" data-astro-cid-2yvawtqt> <img src="https://secure.gravatar.com/avatar/5cc0112ebf4581cb606995b693da17265f647cb542b24db67acf1be9b5b2e2ba?s=96&d=mm&r=g" alt="" width="22" height="22" loading="lazy" style="width:22px; height:22px; border-radius:50%; object-fit:cover; background:var(--rb-bg-panel); flex-shrink:0;" data-astro-cid-2yvawtqt> <span data-astro-cid-2yvawtqt> <span class="rb-author-link" data-rb-author="151" role="link" tabindex="0" data-astro-cid-2yvawtqt>Chase Courtney</span> · SEP 17, 2026 </span> </div>
503<script> 504 // Delegated once per document: an author byline can render inside a card 505 // <a>, so intercept the click, cancel the card's navigation, and route to 506 // the author archive instead. 507 (function () { 508 if (document.documentElement.dataset.rbAuthorBound === '1') return; 509 document.documentElement.dataset.rbAuthorBound = '1'; 510 function go(e) { 511 var t = e.target; 512 var el = t && t.closest ? t.closest('[data-rb-author]') : null; 513 if (!el) return; 514 e.preventDefault(); 515 e.stopPropagation(); 516 window.location.href = '/author/' + el.getAttribute('data-rb-author'); 517 } 518 document.addEventListener('click', go); 519 document.addEventListener('keydown', function (e) { 520 if (e.key === 'Enter' || e.key === ' ') go(e); 521 }); 522 })(); 523</script>
523 </div> <div class="font-serif text-rb-mute" style="font-size:14px; font-style:italic; line-height:1.5; margin-top:10px;">Visible soundwaves, lumbering bass, and rattling speakers only begin to describe my first experience with Ganja White Night. Their set at Countdown 2017 was mind-blowing and broke several decibels along the way. GWN gifted me with the loudest set of â¦</div> <div class="font-mono uppercase" style="font-size:10px; letter-spacing:0.16em; margin-top:12px; color:var(--rb-silver-warm);"> 524READ â 525</div> </div> </a><a href="/2026/09/zingara-subdocta-eligh-unleash-unexpected-collaboration-birds-eye-view" class="rb-news-card block text-rb no-underline"> <div class="relative overflow-hidden" style="aspect-ratio:16/9; background:var(--rb-bg-panel);"> <img src="https://media.relentlessbeats.com/cdn-cgi/image/width=768,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2019/12/subdocta__50210.jpg" srcset="https://media.relentlessbeats.com/cdn-cgi/image/width=320,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2019/12/subdocta__50210.jpg 320w, https://media.relentlessbeats.com/cdn-cgi/image/width=480,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2019/12/subdocta__50210.jpg 480w, https://media.relentlessbeats.com/cdn-cgi/image/width=768,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2019/12/subdocta__50210.jpg 768w, https://media.relentlessbeats.com/cdn-cgi/image/width=1080,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2019/12/subdocta__50210.jpg 1080w, https://media.relentlessbeats.com/cdn-cgi/image/width=1600,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2019/12/subdocta__50210.jpg 1600w" sizes="(min-width:1024px) 360px, 100vw" alt="" style="width:100%; height:100%; object-fit:cover; display:block;" loading="lazy"> <div class="rb-scanlines pointer-events-none absolute inset-0" style="opacity:0.1"></div> </div> <div style="margin-top:14px;"> <div class="font-serif" style="font-size:22px; font-weight:500; line-height:1.2; letter-spacing:-0.4px;">Zingara, SubDocta, & Eligh Unleash Unexpected Collaboration, âBirds Eye Viewâ</div> <div style="margin-top:10px;"> <div class="font-mono uppercase flex items-center gap-2" style="font-size:10.5px; letter-spacing:0.14em; color:var(--rb-silver-warm);" data-astro-cid-2yvawtqt> <img src="https://secure.gravatar.com/avatar/5cc0112ebf4581cb606995b693da17265f647cb542b24db67acf1be9b5b2e2ba?s=96&d=mm&r=g" alt="" width="22" height="22" loading="lazy" style="width:22px; height:22px; border-radius:50%; object-fit:cover; background:var(--rb-bg-panel); flex-shrink:0;" data-astro-cid-2yvawtqt> <span data-astro-cid-2yvawtqt> <span class="rb-author-link" data-rb-author="151" role="link" tabindex="0" data-astro-cid-2yvawtqt>Chase Courtney</span> · SEP 16, 2026 </span> </div>
525<script> 526 // Delegated once per document: an author byline can render inside a card 527 // <a>, so intercept the click, cancel the card's navigation, and route to 528 // the author archive instead. 529 (function () { 530 if (document.documentElement.dataset.rbAuthorBound === '1') return; 531 document.documentElement.dataset.rbAuthorBound = '1'; 532 function go(e) { 533 var t = e.target; 534 var el = t && t.closest ? t.closest('[data-rb-author]') : null; 535 if (!el) return; 536 e.preventDefault(); 537 e.stopPropagation(); 538 window.location.href = '/author/' + el.getAttribute('data-rb-author'); 539 } 540 document.addEventListener('click', go); 541 document.addEventListener('keydown', function (e) { 542 if (e.key === 'Enter' || e.key === ' ') go(e); 543 }); 544 })(); 545</script>
545 </div> <div class="font-serif text-rb-mute" style="font-size:14px; font-style:italic; line-height:1.5; margin-top:10px;">Zingara and SubDocta are two incredible DJs who have a different production style. Zingara blends cerebral melodies with dark wubs and bass, as well as adding in some atmospheric elements. SubDocta is an industry veteran who has been around for â¦</div> <div class="font-mono uppercase" style="font-size:10px; letter-spacing:0.16em; margin-top:12px; color:var(--rb-silver-warm);"> 546READ â 547</div> </div> </a><a href="/2026/09/daily-breads-vanishing-point-is-a-journey-through-memory-movement-bass" class="rb-news-card block text-rb no-underline"> <div class="relative overflow-hidden" style="aspect-ratio:16/9; background:var(--rb-bg-panel);"> <img src="https://media.relentlessbeats.com/cdn-cgi/image/width=768,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2026/09/[email protected]" srcset="https://media.relentlessbeats.com/cdn-cgi/image/width=320,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2026/09/[email protected] 320w, https://media.relentlessbeats.com/cdn-cgi/image/width=480,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2026/09/[email protected] 480w, https://media.relentlessbeats.com/cdn-cgi/image/width=768,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2026/09/[email protected] 768w, https://media.relentlessbeats.com/cdn-cgi/image/width=1080,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2026/09/[email protected] 1080w, https://media.relentlessbeats.com/cdn-cgi/image/width=1600,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2026/09/[email protected] 1600w" sizes="(min-width:1024px) 360px, 100vw" alt="" style="width:100%; height:100%; object-fit:cover; display:block;" loading="lazy"> <div class="rb-scanlines pointer-events-none absolute inset-0" style="opacity:0.1"></div> </div> <div style="margin-top:14px;"> <div class="font-serif" style="font-size:22px; font-weight:500; line-height:1.2; letter-spacing:-0.4px;">Daily Breadâs âVanishing Pointâ Is a Journey Through Memory, Movement, & Bass </div> <div style="margin-top:10px;"> <div class="font-mono uppercase flex items-center gap-2" style="font-size:10.5px; letter-spacing:0.14em; color:var(--rb-silver-warm);" data-astro-cid-2yvawtqt> <img src="https://secure.gravatar.com/avatar/56002a0e8a7e5846d5376a99150681c262e9a8b20f4d0c4ae04023d9e22f4fe1?s=96&d=mm&r=g" alt="" width="22" height="22" loading="lazy" style="width:22px; height:22px; border-radius:50%; object-fit:cover; background:var(--rb-bg-panel); flex-shrink:0;" data-astro-cid-2yvawtqt> <span data-astro-cid-2yvawtqt> <span class="rb-author-link" data-rb-author="167" role="link" tabindex="0" data-astro-cid-2yvawtqt>Amra Alic</span> · SEP 16, 2026 </span> </div>
547<script> 548 // Delegated once per document: an author byline can render inside a card 549 // <a>, so intercept the click, cancel the card's navigation, and route to 550 // the author archive instead. 551 (function () { 552 if (document.documentElement.dataset.rbAuthorBound === '1') return; 553 document.documentElement.dataset.rbAuthorBound = '1'; 554 function go(e) { 555 var t = e.target; 556 var el = t && t.closest ? t.closest('[data-rb-author]') : null; 557 if (!el) return; 558 e.preventDefault(); 559 e.stopPropagation(); 560 window.location.href = '/author/' + el.getAttribute('data-rb-author'); 561 } 562 document.addEventListener('click', go); 563 document.addEventListener('keydown', function (e) { 564 if (e.key === 'Enter' || e.key === ' ') go(e); 565 }); 566 })(); 567</script>
567 </div> <div class="font-serif text-rb-mute" style="font-size:14px; font-style:italic; line-height:1.5; margin-top:10px;">Daily Bread is back, and somehow, he has managed to make his already unmistakable sound feel even more personal. For over a decade, the Atlanta producer has carved out a world somewhere between wobbly bass, hip hop, funk, soul, glitch, â¦</div> <div class="font-mono uppercase" style="font-size:10px; letter-spacing:0.16em; margin-top:12px; color:var(--rb-silver-warm);"> 568READ â 569</div> </div> </a><a href="/2026/09/atali-makes-a-splash-with-new-drop-mo-mo" class="rb-news-card block text-rb no-underline"> <div class="relative overflow-hidden" style="aspect-ratio:16/9; background:var(--rb-bg-panel);"> <img src="https://media.relentlessbeats.com/cdn-cgi/image/width=768,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2026/09/Screenshot-2026-09-15-at-9.30.43-AM.png" srcset="https://media.relentlessbeats.com/cdn-cgi/image/width=320,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2026/09/Screenshot-2026-09-15-at-9.30.43-AM.png 320w, https://media.relentlessbeats.com/cdn-cgi/image/width=480,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2026/09/Screenshot-2026-09-15-at-9.30.43-AM.png 480w, https://media.relentlessbeats.com/cdn-cgi/image/width=768,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2026/09/Screenshot-2026-09-15-at-9.30.43-AM.png 768w, https://media.relentlessbeats.com/cdn-cgi/image/width=1080,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2026/09/Screenshot-2026-09-15-at-9.30.43-AM.png 1080w, https://media.relentlessbeats.com/cdn-cgi/image/width=1600,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2026/09/Screenshot-2026-09-15-at-9.30.43-AM.png 1600w" sizes="(min-width:1024px) 360px, 100vw" alt="" style="width:100%; height:100%; object-fit:cover; display:block;" loading="lazy"> <div class="rb-scanlines pointer-events-none absolute inset-0" style="opacity:0.1"></div> </div> <div style="margin-top:14px;"> <div class="font-serif" style="font-size:22px; font-weight:500; line-height:1.2; letter-spacing:-0.4px;">ATALI Makes a SPLASH with New Drop, âMO MOâ</div> <div style="margin-top:10px;"> <div class="font-mono uppercase flex items-center gap-2" style="font-size:10.5px; letter-spacing:0.14em; color:var(--rb-silver-warm);" data-astro-cid-2yvawtqt> <img src="https://secure.gravatar.com/avatar/5cc0112ebf4581cb606995b693da17265f647cb542b24db67acf1be9b5b2e2ba?s=96&d=mm&r=g" alt="" width="22" height="22" loading="lazy" style="width:22px; height:22px; border-radius:50%; object-fit:cover; background:var(--rb-bg-panel); flex-shrink:0;" data-astro-cid-2yvawtqt> <span data-astro-cid-2yvawtqt> <span class="rb-author-link" data-rb-author="151" role="link" tabindex="0" data-astro-cid-2yvawtqt>Chase Courtney</span> · SEP 15, 2026 </span> </div>
569<script> 570 // Delegated once per document: an author byline can render inside a card 571 // <a>, so intercept the click, cancel the card's navigation, and route to 572 // the author archive instead. 573 (function () { 574 if (document.documentElement.dataset.rbAuthorBound === '1') return; 575 document.documentElement.dataset.rbAuthorBound = '1'; 576 function go(e) { 577 var t = e.target; 578 var el = t && t.closest ? t.closest('[data-rb-author]') : null; 579 if (!el) return; 580 e.preventDefault(); 581 e.stopPropagation(); 582 window.location.href = '/author/' + el.getAttribute('data-rb-author'); 583 } 584 document.addEventListener('click', go); 585 document.addEventListener('keydown', function (e) { 586 if (e.key === 'Enter' || e.key === ' ') go(e); 587 }); 588 })(); 589</script>
589 </div> <div class="font-serif text-rb-mute" style="font-size:14px; font-style:italic; line-height:1.5; margin-top:10px;">ATALI recently came up on my radar through a SoundCloud recommendation. The track in question was his newest release, “MO MO.” This song features a very unique energy with vocals and instrumentals that catch you off guard. This song is â¦</div> <div class="font-mono uppercase" style="font-size:10px; letter-spacing:0.16em; margin-top:12px; color:var(--rb-silver-warm);"> 590READ â 591</div> </div> </a><a href="/2026/09/your-zodiac-sign-your-zeds-dead-track" class="rb-news-card block text-rb no-underline"> <div class="relative overflow-hidden" style="aspect-ratio:16/9; background:var(--rb-bg-panel);"> <img src="https://media.relentlessbeats.com/cdn-cgi/image/width=768,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2026/09/562995839_18527330467017947_7471263069506263487_n.jpg" srcset="https://media.relentlessbeats.com/cdn-cgi/image/width=320,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2026/09/562995839_18527330467017947_7471263069506263487_n.jpg 320w, https://media.relentlessbeats.com/cdn-cgi/image/width=480,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2026/09/562995839_18527330467017947_7471263069506263487_n.jpg 480w, https://media.relentlessbeats.com/cdn-cgi/image/width=768,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2026/09/562995839_18527330467017947_7471263069506263487_n.jpg 768w, https://media.relentlessbeats.com/cdn-cgi/image/width=1080,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2026/09/562995839_18527330467017947_7471263069506263487_n.jpg 1080w, https://media.relentlessbeats.com/cdn-cgi/image/width=1600,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2026/09/562995839_18527330467017947_7471263069506263487_n.jpg 1600w" sizes="(min-width:1024px) 360px, 100vw" alt="" style="width:100%; height:100%; object-fit:cover; display:block;" loading="lazy"> <div class="rb-scanlines pointer-events-none absolute inset-0" style="opacity:0.1"></div> </div> <div style="margin-top:14px;"> <div class="font-serif" style="font-size:22px; font-weight:500; line-height:1.2; letter-spacing:-0.4px;">Your Zodiac Sign, Your Zeds Dead Track</div> <div style="margin-top:10px;"> <div class="font-mono uppercase flex items-center gap-2" style="font-size:10.5px; letter-spacing:0.14em; color:var(--rb-silver-warm);" data-astro-cid-2yvawtqt> <img src="https://secure.gravatar.com/avatar/a37900928e7ac9a6530f51d176e1185751a8eea452fa49123846bd2f406e92a1?s=96&d=mm&r=g" alt="" width="22" height="22" loading="lazy" style="width:22px; height:22px; border-radius:50%; object-fit:cover; background:var(--rb-bg-panel); flex-shrink:0;" data-astro-cid-2yvawtqt> <span data-astro-cid-2yvawtqt> <span class="rb-author-link" data-rb-author="130" role="link" tabindex="0" data-astro-cid-2yvawtqt>Hana Hamdan</span> · SEP 15, 2026 </span> </div>
591<script> 592 // Delegated once per document: an author byline can render inside a card 593 // <a>, so intercept the click, cancel the card's navigation, and route to 594 // the author archive instead. 595 (function () { 596 if (document.documentElement.dataset.rbAuthorBound === '1') return; 597 document.documentElement.dataset.rbAuthorBound = '1'; 598 function go(e) { 599 var t = e.target; 600 var el = t && t.closest ? t.closest('[data-rb-author]') : null; 601 if (!el) return; 602 e.preventDefault(); 603 e.stopPropagation(); 604 window.location.href = '/author/' + el.getAttribute('data-rb-author'); 605 } 606 document.addEventListener('click', go); 607 document.addEventListener('keydown', function (e) { 608 if (e.key === 'Enter' || e.key === ' ') go(e); 609 }); 610 })(); 611</script>
611 </div> <div class="font-serif text-rb-mute" style="font-size:14px; font-style:italic; line-height:1.5; margin-top:10px;">Some people check their horoscope. Others wait for a Zeds Dead set to tell them how theyâre really feeling. One minute, youâre grabbing your best friend because your song just came on. The next, youâre standing completely still, being flooded â¦</div> <div class="font-mono uppercase" style="font-size:10px; letter-spacing:0.16em; margin-top:12px; color:var(--rb-silver-warm);"> 612READ â 613</div> </div> </a><a href="/2026/09/where-to-thrift-your-fall-festival-fits-in-tempe-phoenix-scottsdale" class="rb-news-card block text-rb no-underline"> <div class="relative overflow-hidden" style="aspect-ratio:16/9; background:var(--rb-bg-panel);"> <img src="https://media.relentlessbeats.com/cdn-cgi/image/width=768,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2026/05/JS_EOFEST2025_GREENVELVETLAYTONGIORDANI_@COLEWARNER_1-scaled.jpg" srcset="https://media.relentlessbeats.com/cdn-cgi/image/width=320,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2026/05/JS_EOFEST2025_GREENVELVETLAYTONGIORDANI_@COLEWARNER_1-scaled.jpg 320w, https://media.relentlessbeats.com/cdn-cgi/image/width=480,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2026/05/JS_EOFEST2025_GREENVELVETLAYTONGIORDANI_@COLEWARNER_1-scaled.jpg 480w, https://media.relentlessbeats.com/cdn-cgi/image/width=768,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2026/05/JS_EOFEST2025_GREENVELVETLAYTONGIORDANI_@COLEWARNER_1-scaled.jpg 768w, https://media.relentlessbeats.com/cdn-cgi/image/width=1080,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2026/05/JS_EOFEST2025_GREENVELVETLAYTONGIORDANI_@COLEWARNER_1-scaled.jpg 1080w, https://media.relentlessbeats.com/cdn-cgi/image/width=1600,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2026/05/JS_EOFEST2025_GREENVELVETLAYTONGIORDANI_@COLEWARNER_1-scaled.jpg 1600w" sizes="(min-width:1024px) 360px, 100vw" alt="" style="width:100%; height:100%; object-fit:cover; display:block;" loading="lazy"> <div class="rb-scanlines pointer-events-none absolute inset-0" style="opacity:0.1"></div> </div> <div style="margin-top:14px;"> <div class="font-serif" style="font-size:22px; font-weight:500; line-height:1.2; letter-spacing:-0.4px;">Where to Thrift Your Fall Festival Fits in Tempe, Phoenix, & Scottsdale</div> <div style="margin-top:10px;"> <div class="font-mono uppercase flex items-center gap-2" style="font-size:10.5px; letter-spacing:0.14em; color:var(--rb-silver-warm);" data-astro-cid-2yvawtqt> <img src="https://secure.gravatar.com/avatar/56002a0e8a7e5846d5376a99150681c262e9a8b20f4d0c4ae04023d9e22f4fe1?s=96&d=mm&r=g" alt="" width="22" height="22" loading="lazy" style="width:22px; height:22px; border-radius:50%; object-fit:cover; background:var(--rb-bg-panel); flex-shrink:0;" data-astro-cid-2yvawtqt> <span data-astro-cid-2yvawtqt> <span class="rb-author-link" data-rb-author="167" role="link" tabindex="0" data-astro-cid-2yvawtqt>Amra Alic</span> · SEP 14, 2026 </span> </div>
613<script> 614 // Delegated once per document: an author byline can render inside a card 615 // <a>, so intercept the click, cancel the card's navigation, and route to 616 // the author archive instead. 617 (function () { 618 if (document.documentElement.dataset.rbAuthorBound === '1') return; 619 document.documentElement.dataset.rbAuthorBound = '1'; 620 function go(e) { 621 var t = e.target; 622 var el = t && t.closest ? t.closest('[data-rb-author]') : null; 623 if (!el) return; 624 e.preventDefault(); 625 e.stopPropagation(); 626 window.location.href = '/author/' + el.getAttribute('data-rb-author'); 627 } 628 document.addEventListener('click', go); 629 document.addEventListener('keydown', function (e) { 630 if (e.key === 'Enter' || e.key === ' ') go(e); 631 }); 632 })(); 633</script>
633 </div> <div class="font-serif text-rb-mute" style="font-size:14px; font-style:italic; line-height:1.5; margin-top:10px;">Fall festival season is here, which means it is officially time to retire the idea that your festival outfit needs to come in a matching two-piece set with 14,000 reviews and free shipping. I love a good festival fit, but â¦</div> <div class="font-mono uppercase" style="font-size:10px; letter-spacing:0.16em; margin-top:12px; color:var(--rb-silver-warm);"> 634READ â 635</div> </div> </a><a href="/2026/09/zhu-found-his-way-back-to-the-dance-floor-heres-what-changed" class="rb-news-card block text-rb no-underline"> <div class="relative overflow-hidden" style="aspect-ratio:16/9; background:var(--rb-bg-panel);"> <img src="https://media.relentlessbeats.com/cdn-cgi/image/width=768,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2026/04/zhu2.jpg" srcset="https://media.relentlessbeats.com/cdn-cgi/image/width=320,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2026/04/zhu2.jpg 320w, https://media.relentlessbeats.com/cdn-cgi/image/width=480,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2026/04/zhu2.jpg 480w, https://media.relentlessbeats.com/cdn-cgi/image/width=768,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2026/04/zhu2.jpg 768w, https://media.relentlessbeats.com/cdn-cgi/image/width=1080,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2026/04/zhu2.jpg 1080w, https://media.relentlessbeats.com/cdn-cgi/image/width=1600,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2026/04/zhu2.jpg 1600w" sizes="(min-width:1024px) 360px, 100vw" alt="" style="width:100%; height:100%; object-fit:cover; display:block;" loading="lazy"> <div class="rb-scanlines pointer-events-none absolute inset-0" style="opacity:0.1"></div> </div> <div style="margin-top:14px;"> <div class="font-serif" style="font-size:22px; font-weight:500; line-height:1.2; letter-spacing:-0.4px;">ZHU Found His Way Back to the Dance Floor. Hereâs What Changed</div> <div style="margin-top:10px;"> <div class="font-mono uppercase flex items-center gap-2" style="font-size:10.5px; letter-spacing:0.14em; color:var(--rb-silver-warm);" data-astro-cid-2yvawtqt> <img src="https://secure.gravatar.com/avatar/c2cbba863797dc717005c699c2a824c086da394ad9aa0f67d982b50d55b4e97a?s=96&d=mm&r=g" alt="" width="22" height="22" loading="lazy" style="width:22px; height:22px; border-radius:50%; object-fit:cover; background:var(--rb-bg-panel); flex-shrink:0;" data-astro-cid-2yvawtqt> <span data-astro-cid-2yvawtqt> <span class="rb-author-link" data-rb-author="152" role="link" tabindex="0" data-astro-cid-2yvawtqt>Dayne Harris</span> · SEP 14, 2026 </span> </div>
635<script> 636 // Delegated once per document: an author byline can render inside a card 637 // <a>, so intercept the click, cancel the card's navigation, and route to 638 // the author archive instead. 639 (function () { 640 if (document.documentElement.dataset.rbAuthorBound === '1') return; 641 document.documentElement.dataset.rbAuthorBound = '1'; 642 function go(e) { 643 var t = e.target; 644 var el = t && t.closest ? t.closest('[data-rb-author]') : null; 645 if (!el) return; 646 e.preventDefault(); 647 e.stopPropagation(); 648 window.location.href = '/author/' + el.getAttribute('data-rb-author'); 649 } 650 document.addEventListener('click', go); 651 document.addEventListener('keydown', function (e) { 652 if (e.key === 'Enter' || e.key === ' ') go(e); 653 }); 654 })(); 655</script>
655 </div> <div class="font-serif text-rb-mute" style="font-size:14px; font-style:italic; line-height:1.5; margin-top:10px;">ZHU has always been an artist who follows his own instincts. After years of commanding massive festival stages with his cinematic, unique sound design, he has made a deliberate choice to strip things back. His 2026 Black Midas era marks â¦</div> <div class="font-mono uppercase" style="font-size:10px; letter-spacing:0.16em; margin-top:12px; color:var(--rb-silver-warm);"> 656READ â 657</div> </div> </a><a href="/2026/09/north-coast-music-festival-wraps-16th-edition-with-sold-out-weekend" class="rb-news-card block text-rb no-underline"> <div class="relative overflow-hidden" style="aspect-ratio:16/9; background:var(--rb-bg-panel);"> <img src="https://media.relentlessbeats.com/cdn-cgi/image/width=768,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2026/09/NCMF26-SKY-scaled.jpg" srcset="https://media.relentlessbeats.com/cdn-cgi/image/width=320,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2026/09/NCMF26-SKY-scaled.jpg 320w, https://media.relentlessbeats.com/cdn-cgi/image/width=480,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2026/09/NCMF26-SKY-scaled.jpg 480w, https://media.relentlessbeats.com/cdn-cgi/image/width=768,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2026/09/NCMF26-SKY-scaled.jpg 768w, https://media.relentlessbeats.com/cdn-cgi/image/width=1080,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2026/09/NCMF26-SKY-scaled.jpg 1080w, https://media.relentlessbeats.com/cdn-cgi/image/width=1600,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2026/09/NCMF26-SKY-scaled.jpg 1600w" sizes="(min-width:1024px) 360px, 100vw" alt="" style="width:100%; height:100%; object-fit:cover; display:block;" loading="lazy"> <div class="rb-scanlines pointer-events-none absolute inset-0" style="opacity:0.1"></div> </div> <div style="margin-top:14px;"> <div class="font-serif" style="font-size:22px; font-weight:500; line-height:1.2; letter-spacing:-0.4px;">North Coast Music Festival Wraps 16th Edition with Sold-Out Weekend</div> <div style="margin-top:10px;"> <div class="font-mono uppercase flex items-center gap-2" style="font-size:10.5px; letter-spacing:0.14em; color:var(--rb-silver-warm);" data-astro-cid-2yvawtqt> <img src="https://secure.gravatar.com/avatar/c2cbba863797dc717005c699c2a824c086da394ad9aa0f67d982b50d55b4e97a?s=96&d=mm&r=g" alt="" width="22" height="22" loading="lazy" style="width:22px; height:22px; border-radius:50%; object-fit:cover; background:var(--rb-bg-panel); flex-shrink:0;" data-astro-cid-2yvawtqt> <span data-astro-cid-2yvawtqt> <span class="rb-author-link" data-rb-author="152" role="link" tabindex="0" data-astro-cid-2yvawtqt>Dayne Harris</span> · SEP 11, 2026 </span> </div>
657<script> 658 // Delegated once per document: an author byline can render inside a card 659 // <a>, so intercept the click, cancel the card's navigation, and route to 660 // the author archive instead. 661 (function () { 662 if (document.documentElement.dataset.rbAuthorBound === '1') return; 663 document.documentElement.dataset.rbAuthorBound = '1'; 664 function go(e) { 665 var t = e.target; 666 var el = t && t.closest ? t.closest('[data-rb-author]') : null; 667 if (!el) return; 668 e.preventDefault(); 669 e.stopPropagation(); 670 window.location.href = '/author/' + el.getAttribute('data-rb-author'); 671 } 672 document.addEventListener('click', go); 673 document.addEventListener('keydown', function (e) { 674 if (e.key === 'Enter' || e.key === ' ') go(e); 675 }); 676 })(); 677</script>
677 </div> <div class="font-serif text-rb-mute" style="font-size:14px; font-style:italic; line-height:1.5; margin-top:10px;">North Coast Music Festival has officially closed the books on its 16th edition. The festival took over SeatGeek Stadium in Bridgeview, Illinois from September 4-6, drawing thousands of fans for three days of electronic music, immersive production, and community. Both â¦</div> <div class="font-mono uppercase" style="font-size:10px; letter-spacing:0.16em; margin-top:12px; color:var(--rb-silver-warm);"> 678READ â 679</div> </div> </a><a href="/2026/09/from-the-van-buren-to-decadence-nye-a-look-back-at-btsms-arizona-eras" class="rb-news-card block text-rb no-underline"> <div class="relative overflow-hidden" style="aspect-ratio:16/9; background:var(--rb-bg-panel);"> <img src="https://media.relentlessbeats.com/cdn-cgi/image/width=768,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2023/09/btsm.jpg" srcset="https://media.relentlessbeats.com/cdn-cgi/image/width=320,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2023/09/btsm.jpg 320w, https://media.relentlessbeats.com/cdn-cgi/image/width=480,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2023/09/btsm.jpg 480w, https://media.relentlessbeats.com/cdn-cgi/image/width=768,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2023/09/btsm.jpg 768w, https://media.relentlessbeats.com/cdn-cgi/image/width=1080,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2023/09/btsm.jpg 1080w, https://media.relentlessbeats.com/cdn-cgi/image/width=1600,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2023/09/btsm.jpg 1600w" sizes="(min-width:1024px) 360px, 100vw" alt="" style="width:100%; height:100%; object-fit:cover; display:block;" loading="lazy"> <div class="rb-scanlines pointer-events-none absolute inset-0" style="opacity:0.1"></div> </div> <div style="margin-top:14px;"> <div class="font-serif" style="font-size:22px; font-weight:500; line-height:1.2; letter-spacing:-0.4px;">From The Van Buren to Decadence NYE: A Look Back at BTSMâs Arizona Eras</div> <div style="margin-top:10px;"> <div class="font-mono uppercase flex items-center gap-2" style="font-size:10.5px; letter-spacing:0.14em; color:var(--rb-silver-warm);" data-astro-cid-2yvawtqt> <img src="https://secure.gravatar.com/avatar/c2cbba863797dc717005c699c2a824c086da394ad9aa0f67d982b50d55b4e97a?s=96&d=mm&r=g" alt="" width="22" height="22" loading="lazy" style="width:22px; height:22px; border-radius:50%; object-fit:cover; background:var(--rb-bg-panel); flex-shrink:0;" data-astro-cid-2yvawtqt> <span data-astro-cid-2yvawtqt> <span class="rb-author-link" data-rb-author="152" role="link" tabindex="0" data-astro-cid-2yvawtqt>Dayne Harris</span> · SEP 11, 2026 </span> </div>
679<script> 680 // Delegated once per document: an author byline can render inside a card 681 // <a>, so intercept the click, cancel the card's navigation, and route to 682 // the author archive instead. 683 (function () { 684 if (document.documentElement.dataset.rbAuthorBound === '1') return; 685 document.documentElement.dataset.rbAuthorBound = '1'; 686 function go(e) { 687 var t = e.target; 688 var el = t && t.closest ? t.closest('[data-rb-author]') : null; 689 if (!el) return; 690 e.preventDefault(); 691 e.stopPropagation(); 692 window.location.href = '/author/' + el.getAttribute('data-rb-author'); 693 } 694 document.addEventListener('click', go); 695 document.addEventListener('keydown', function (e) { 696 if (e.key === 'Enter' || e.key === ' ') go(e); 697 }); 698 })(); 699</script>
699 </div> <div class="font-serif text-rb-mute" style="font-size:14px; font-style:italic; line-height:1.5; margin-top:10px;">Black Tiger Sex Machine has been a fixture in Arizona’s electronic music scene for nearly a decade. From early festival appearances to intimate club shows and now a massive outdoor production, the Montreal trio’s journey through the Grand Canyon State â¦</div> <div class="font-mono uppercase" style="font-size:10px; letter-spacing:0.16em; margin-top:12px; color:var(--rb-silver-warm);"> 700READ â 701</div> </div> </a><a href="/2026/09/zeds-dead-a-journey-of-a-lifetime" class="rb-news-card block text-rb no-underline"> <div class="relative overflow-hidden" style="aspect-ratio:16/9; background:var(--rb-bg-panel);"> <img src="https://media.relentlessbeats.com/cdn-cgi/image/width=768,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2026/08/Zeds-Dead-2026-press-shot.jpg" srcset="https://media.relentlessbeats.com/cdn-cgi/image/width=320,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2026/08/Zeds-Dead-2026-press-shot.jpg 320w, https://media.relentlessbeats.com/cdn-cgi/image/width=480,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2026/08/Zeds-Dead-2026-press-shot.jpg 480w, https://media.relentlessbeats.com/cdn-cgi/image/width=768,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2026/08/Zeds-Dead-2026-press-shot.jpg 768w, https://media.relentlessbeats.com/cdn-cgi/image/width=1080,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2026/08/Zeds-Dead-2026-press-shot.jpg 1080w, https://media.relentlessbeats.com/cdn-cgi/image/width=1600,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2026/08/Zeds-Dead-2026-press-shot.jpg 1600w" sizes="(min-width:1024px) 360px, 100vw" alt="" style="width:100%; height:100%; object-fit:cover; display:block;" loading="lazy"> <div class="rb-scanlines pointer-events-none absolute inset-0" style="opacity:0.1"></div> </div> <div style="margin-top:14px;"> <div class="font-serif" style="font-size:22px; font-weight:500; line-height:1.2; letter-spacing:-0.4px;">Zeds Dead: A Journey of a Lifetime</div> <div style="margin-top:10px;"> <div class="font-mono uppercase flex items-center gap-2" style="font-size:10.5px; letter-spacing:0.14em; color:var(--rb-silver-warm);" data-astro-cid-2yvawtqt> <img src="https://secure.gravatar.com/avatar/25ef32cb47d38ce25877814518b712559f7522080575ce143a5d602e20132d6b?s=96&d=mm&r=g" alt="" width="22" height="22" loading="lazy" style="width:22px; height:22px; border-radius:50%; object-fit:cover; background:var(--rb-bg-panel); flex-shrink:0;" data-astro-cid-2yvawtqt> <span data-astro-cid-2yvawtqt> <span class="rb-author-link" data-rb-author="149" role="link" tabindex="0" data-astro-cid-2yvawtqt>Jake Kwapiszeski</span> · SEP 10, 2026 </span> </div>
701<script> 702 // Delegated once per document: an author byline can render inside a card 703 // <a>, so intercept the click, cancel the card's navigation, and route to 704 // the author archive instead. 705 (function () { 706 if (document.documentElement.dataset.rbAuthorBound === '1') return; 707 document.documentElement.dataset.rbAuthorBound = '1'; 708 function go(e) { 709 var t = e.target; 710 var el = t && t.closest ? t.closest('[data-rb-author]') : null; 711 if (!el) return; 712 e.preventDefault(); 713 e.stopPropagation(); 714 window.location.href = '/author/' + el.getAttribute('data-rb-author'); 715 } 716 document.addEventListener('click', go); 717 document.addEventListener('keydown', function (e) { 718 if (e.key === 'Enter' || e.key === ' ') go(e); 719 }); 720 })(); 721</script>
721 </div> <div class="font-serif text-rb-mute" style="font-size:14px; font-style:italic; line-height:1.5; margin-top:10px;">Before Zeds Dead became one of the biggest names in bass music, DC and Hooks (the iconic duo) were two producers digging through records and trading samples in Toronto. The pair began working together in the late 2000s before officially â¦</div> <div class="font-mono uppercase" style="font-size:10px; letter-spacing:0.16em; margin-top:12px; color:var(--rb-silver-warm);"> 722READ â 723</div> </div> </a><a href="/2026/09/three-completely-different-nights-are-taking-over-warehouse-215-this-october" class="rb-news-card block text-rb no-underline"> <div class="relative overflow-hidden" style="aspect-ratio:16/9; background:var(--rb-bg-panel);"> <img src="https://media.relentlessbeats.com/cdn-cgi/image/width=768,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2026/05/CHASESTATUS_WAREHOUSE215_6.21.25_HSMITHMEDIA-078.jpg" srcset="https://media.relentlessbeats.com/cdn-cgi/image/width=320,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2026/05/CHASESTATUS_WAREHOUSE215_6.21.25_HSMITHMEDIA-078.jpg 320w, https://media.relentlessbeats.com/cdn-cgi/image/width=480,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2026/05/CHASESTATUS_WAREHOUSE215_6.21.25_HSMITHMEDIA-078.jpg 480w, https://media.relentlessbeats.com/cdn-cgi/image/width=768,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2026/05/CHASESTATUS_WAREHOUSE215_6.21.25_HSMITHMEDIA-078.jpg 768w, https://media.relentlessbeats.com/cdn-cgi/image/width=1080,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2026/05/CHASESTATUS_WAREHOUSE215_6.21.25_HSMITHMEDIA-078.jpg 1080w, https://media.relentlessbeats.com/cdn-cgi/image/width=1600,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2026/05/CHASESTATUS_WAREHOUSE215_6.21.25_HSMITHMEDIA-078.jpg 1600w" sizes="(min-width:1024px) 360px, 100vw" alt="" style="width:100%; height:100%; object-fit:cover; display:block;" loading="lazy"> <div class="rb-scanlines pointer-events-none absolute inset-0" style="opacity:0.1"></div> </div> <div style="margin-top:14px;"> <div class="font-serif" style="font-size:22px; font-weight:500; line-height:1.2; letter-spacing:-0.4px;">Three Completely Different Nights Are Taking Over Warehouse 215 This October</div> <div style="margin-top:10px;"> <div class="font-mono uppercase flex items-center gap-2" style="font-size:10.5px; letter-spacing:0.14em; color:var(--rb-silver-warm);" data-astro-cid-2yvawtqt> <img src="https://secure.gravatar.com/avatar/56002a0e8a7e5846d5376a99150681c262e9a8b20f4d0c4ae04023d9e22f4fe1?s=96&d=mm&r=g" alt="" width="22" height="22" loading="lazy" style="width:22px; height:22px; border-radius:50%; object-fit:cover; background:var(--rb-bg-panel); flex-shrink:0;" data-astro-cid-2yvawtqt> <span data-astro-cid-2yvawtqt> <span class="rb-author-link" data-rb-author="167" role="link" tabindex="0" data-astro-cid-2yvawtqt>Amra Alic</span> · SEP 10, 2026 </span> </div>
723<script> 724 // Delegated once per document: an author byline can render inside a card 725 // <a>, so intercept the click, cancel the card's navigation, and route to 726 // the author archive instead. 727 (function () { 728 if (document.documentElement.dataset.rbAuthorBound === '1') return; 729 document.documentElement.dataset.rbAuthorBound = '1'; 730 function go(e) { 731 var t = e.target; 732 var el = t && t.closest ? t.closest('[data-rb-author]') : null; 733 if (!el) return; 734 e.preventDefault(); 735 e.stopPropagation(); 736 window.location.href = '/author/' + el.getAttribute('data-rb-author'); 737 } 738 document.addEventListener('click', go); 739 document.addEventListener('keydown', function (e) { 740 if (e.key === 'Enter' || e.key === ' ') go(e); 741 }); 742 })(); 743</script>
743 </div> <div class="font-serif text-rb-mute" style="font-size:14px; font-style:italic; line-height:1.5; margin-top:10px;">October is about to get very interesting at Warehouse 215. Three nights, three completely different corners of electronic music, and three very different reasons to walk through those doors. You could spend one night buried somewhere deep in the underground â¦</div> <div class="font-mono uppercase" style="font-size:10px; letter-spacing:0.16em; margin-top:12px; color:var(--rb-silver-warm);"> 744READ â 745</div> </div> </a><a href="/2026/09/can-your-horror-match-vktms-unmatched" class="rb-news-card block text-rb no-underline"> <div class="relative overflow-hidden" style="aspect-ratio:16/9; background:var(--rb-bg-panel);"> <img src="https://media.relentlessbeats.com/cdn-cgi/image/width=768,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2026/09/RB-VKTM_Unmatched.jpeg" srcset="https://media.relentlessbeats.com/cdn-cgi/image/width=320,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2026/09/R
745B-VKTM_Unmatched.jpeg 320w, https://media.relentlessbeats.com/cdn-cgi/image/width=480,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2026/09/RB-VKTM_Unmatched.jpeg 480w, https://media.relentlessbeats.com/cdn-cgi/image/width=768,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2026/09/RB-VKTM_Unmatched.jpeg 768w, https://media.relentlessbeats.com/cdn-cgi/image/width=1080,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2026/09/RB-VKTM_Unmatched.jpeg 1080w, https://media.relentlessbeats.com/cdn-cgi/image/width=1600,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2026/09/RB-VKTM_Unmatched.jpeg 1600w" sizes="(min-width:1024px) 360px, 100vw" alt="" style="width:100%; height:100%; object-fit:cover; display:block;" loading="lazy"> <div class="rb-scanlines pointer-events-none absolute inset-0" style="opacity:0.1"></div> </div> <div style="margin-top:14px;"> <div class="font-serif" style="font-size:22px; font-weight:500; line-height:1.2; letter-spacing:-0.4px;">Can Your Horror Match VKTMâs âUNMATCHEDâ?</div> <div style="margin-top:10px;"> <div class="font-mono uppercase flex items-center gap-2" style="font-size:10.5px; letter-spacing:0.14em; color:var(--rb-silver-warm);" data-astro-cid-2yvawtqt> <img src="https://secure.gravatar.com/avatar/6a844eb7583b35e79e3ad77b24aa50b05c29854b083bf6a3bd98d84ac4de112a?s=96&d=mm&r=g" alt="" width="22" height="22" loading="lazy" style="width:22px; height:22px; border-radius:50%; object-fit:cover; background:var(--rb-bg-panel); flex-shrink:0;" data-astro-cid-2yvawtqt> <span data-astro-cid-2yvawtqt> <span class="rb-author-link" data-rb-author="148" role="link" tabindex="0" data-astro-cid-2yvawtqt>Marcus Arrieta</span> · SEP 9, 2026 </span> </div>
745<script> 746 // Delegated once per document: an author byline can render inside a card 747 // <a>, so intercept the click, cancel the card's navigation, and route to 748 // the author archive instead. 749 (function () { 750 if (document.documentElement.dataset.rbAuthorBound === '1') return; 751 document.documentElement.dataset.rbAuthorBound = '1'; 752 function go(e) { 753 var t = e.target; 754 var el = t && t.closest ? t.closest('[data-rb-author]') : null; 755 if (!el) return; 756 e.preventDefault(); 757 e.stopPropagation(); 758 window.location.href = '/author/' + el.getAttribute('data-rb-author'); 759 } 760 document.addEventListener('click', go); 761 document.addEventListener('keydown', function (e) { 762 if (e.key === 'Enter' || e.key === ' ') go(e); 763 }); 764 })(); 765</script>
765 </div> <div class="font-serif text-rb-mute" style="font-size:14px; font-style:italic; line-height:1.5; margin-top:10px;">âCan your horror match mine?â an iconic line from VKTMâs highly-anticipated track âUNMATCHED.â Dubbed âTHE lost lands track,â VKTMâs new banger had fans absolutely mind-blown when he first debuted the track as his intro at Lost Lands Festival in 2025. â¦</div> <div class="font-mono uppercase" style="font-size:10px; letter-spacing:0.16em; margin-top:12px; color:var(--rb-silver-warm);"> 766READ â 767</div> </div> </a><a href="/2026/09/goldrush-collabs-the-pairings-hiding-in-the-2026-lineup" class="rb-news-card block text-rb no-underline"> <div class="relative overflow-hidden" style="aspect-ratio:16/9; background:var(--rb-bg-panel);"> <img src="https://media.relentlessbeats.com/cdn-cgi/image/width=768,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2025/10/GOLDRUSH25_DAY1_FB_HSMITHMEDIA-022.jpg" srcset="https://media.relentlessbeats.com/cdn-cgi/image/width=320,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2025/10/GOLDRUSH25_DAY1_FB_HSMITHMEDIA-022.jpg 320w, https://media.relentlessbeats.com/cdn-cgi/image/width=480,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2025/10/GOLDRUSH25_DAY1_FB_HSMITHMEDIA-022.jpg 480w, https://media.relentlessbeats.com/cdn-cgi/image/width=768,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2025/10/GOLDRUSH25_DAY1_FB_HSMITHMEDIA-022.jpg 768w, https://media.relentlessbeats.com/cdn-cgi/image/width=1080,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2025/10/GOLDRUSH25_DAY1_FB_HSMITHMEDIA-022.jpg 1080w, https://media.relentlessbeats.com/cdn-cgi/image/width=1600,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2025/10/GOLDRUSH25_DAY1_FB_HSMITHMEDIA-022.jpg 1600w" sizes="(min-width:1024px) 360px, 100vw" alt="" style="width:100%; height:100%; object-fit:cover; display:block;" loading="lazy"> <div class="rb-scanlines pointer-events-none absolute inset-0" style="opacity:0.1"></div> </div> <div style="margin-top:14px;"> <div class="font-serif" style="font-size:22px; font-weight:500; line-height:1.2; letter-spacing:-0.4px;">Goldrush Collabs: The Pairings Hiding in the 2026 Lineup</div> <div style="margin-top:10px;"> <div class="font-mono uppercase flex items-center gap-2" style="font-size:10.5px; letter-spacing:0.14em; color:var(--rb-silver-warm);" data-astro-cid-2yvawtqt> <img src="https://secure.gravatar.com/avatar/ff7cb0dcc122d89e78efe1966e3ba178cab152deced3be2e1266973a1a9bbcf2?s=96&d=mm&r=g" alt="" width="22" height="22" loading="lazy" style="width:22px; height:22px; border-radius:50%; object-fit:cover; background:var(--rb-bg-panel); flex-shrink:0;" data-astro-cid-2yvawtqt> <span data-astro-cid-2yvawtqt> <span class="rb-author-link" data-rb-author="188" role="link" tabindex="0" data-astro-cid-2yvawtqt>Wyatt Schubargo</span> · SEP 9, 2026 </span> </div>
767<script> 768 // Delegated once per document: an author byline can render inside a card 769 // <a>, so intercept the click, cancel the card's navigation, and route to 770 // the author archive instead. 771 (function () { 772 if (document.documentElement.dataset.rbAuthorBound === '1') return; 773 document.documentElement.dataset.rbAuthorBound = '1'; 774 function go(e) { 775 var t = e.target; 776 var el = t && t.closest ? t.closest('[data-rb-author]') : null; 777 if (!el) return; 778 e.preventDefault(); 779 e.stopPropagation(); 780 window.location.href = '/author/' + el.getAttribute('data-rb-author'); 781 } 782 document.addEventListener('click', go); 783 document.addEventListener('keydown', function (e) { 784 if (e.key === 'Enter' || e.key === ' ') go(e); 785 }); 786 })(); 787</script>
787 </div> <div class="font-serif text-rb-mute" style="font-size:14px; font-style:italic; line-height:1.5; margin-top:10px;">Look at the Goldrush: Midnight Riders lineup close enough and you will spot names that have been in the studio together. Four pairs on this year’s bill have already made music with each other, and those tracks are worth queuing â¦</div> <div class="font-mono uppercase" style="font-size:10px; letter-spacing:0.16em; margin-top:12px; color:var(--rb-silver-warm);"> 788READ â 789</div> </div> </a><a href="/2026/09/cowboy-boots-cats-its-murph" class="rb-news-card block text-rb no-underline"> <div class="relative overflow-hidden" style="aspect-ratio:16/9; background:var(--rb-bg-panel);"> <img src="https://media.relentlessbeats.com/cdn-cgi/image/width=768,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2026/09/Screenshot-2026-09-09-at-10.35.12-AM.png" srcset="https://media.relentlessbeats.com/cdn-cgi/image/width=320,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2026/09/Screenshot-2026-09-09-at-10.35.12-AM.png 320w, https://media.relentlessbeats.com/cdn-cgi/image/width=480,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2026/09/Screenshot-2026-09-09-at-10.35.12-AM.png 480w, https://media.relentlessbeats.com/cdn-cgi/image/width=768,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2026/09/Screenshot-2026-09-09-at-10.35.12-AM.png 768w, https://media.relentlessbeats.com/cdn-cgi/image/width=1080,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2026/09/Screenshot-2026-09-09-at-10.35.12-AM.png 1080w, https://media.relentlessbeats.com/cdn-cgi/image/width=1600,fit=scale-down,format=auto,quality=auto,metadata=none/wp-content/uploads/2026/09/Screenshot-2026-09-09-at-10.35.12-AM.png 1600w" sizes="(min-width:1024px) 360px, 100vw" alt="" style="width:100%; height:100%; object-fit:cover; display:block;" loading="lazy"> <div class="rb-scanlines pointer-events-none absolute inset-0" style="opacity:0.1"></div> </div> <div style="margin-top:14px;"> <div class="font-serif" style="font-size:22px; font-weight:500; line-height:1.2; letter-spacing:-0.4px;">Cowboy Boots & Cats: itâs murph</div> <div style="margin-top:10px;"> <div class="font-mono uppercase flex items-center gap-2" style="font-size:10.5px; letter-spacing:0.14em; color:var(--rb-silver-warm);" data-astro-cid-2yvawtqt> <img src="https://secure.gravatar.com/avatar/5cc0112ebf4581cb606995b693da17265f647cb542b24db67acf1be9b5b2e2ba?s=96&d=mm&r=g" alt="" width="22" height="22" loading="lazy" style="width:22px; height:22px; border-radius:50%; object-fit:cover; background:var(--rb-bg-panel); flex-shrink:0;" data-astro-cid-2yvawtqt> <span data-astro-cid-2yvawtqt> <span class="rb-author-link" data-rb-author="151" role="link" tabindex="0" data-astro-cid-2yvawtqt>Chase Courtney</span> · SEP 8, 2026 </span> </div>
789<script> 790 // Delegated once per document: an author byline can render inside a card 791 // <a>, so intercept the click, cancel the card's navigation, and route to 792 // the author archive instead. 793 (function () { 794 if (document.documentElement.dataset.rbAuthorBound === '1') return; 795 document.documentElement.dataset.rbAuthorBound = '1'; 796 function go(e) { 797 var t = e.target; 798 var el = t && t.closest ? t.closest('[data-rb-author]') : null; 799 if (!el) return; 800 e.preventDefault(); 801 e.stopPropagation(); 802 window.location.href = '/author/' + el.getAttribute('data-rb-author'); 803 } 804 document.addEventListener('click', go); 805 document.addEventListener('keydown', function (e) { 806 if (e.key === 'Enter' || e.key === ' ') go(e); 807 }); 808 })(); 809</script>
809 </div> <div class="font-serif text-rb-mute" style="font-size:14px; font-style:italic; line-height:1.5; margin-top:10px;">Goldrush 2025 was a truly epic event. The lineup and vendors were top-notch. Goldrush 2025 was also the first time that I attended a Rawhide festival that opened the replica Wild West Town. There were house stages hidden inside the â¦</div> <div class="font-mono uppercase" style="font-size:10px; letter-spacing:0.16em; margin-top:12px; color:var(--rb-silver-warm);"> 810READ â 811</div> </div> </a> </div> </div><div class="rb-container"> <div class="rb-pad-x" style="padding-top:40px;"> <div class="flex items-end gap-3"> <div class="flex-1"> <div class="label-mono text-rb-faint">candid · from the floor</div> <div class="font-display rb-section-h" style="font-size:22px; font-weight:700; line-height:1; letter-spacing:-0.8px; margin-top:4px;"> 812Recent moments 813</div> </div> <a href="/gallery" class="font-mono uppercase text-silver-warm no-underline" style="font-size:10.5px; letter-spacing:0.1em;"> 814VIEW ALL â 815</a> </div> </div> <section style="margin-top:18px;"> <div class="rb-pad-x"> <div class="flex items-baseline gap-2.5" style="flex-wrap:wrap;"> <span class="font-mono text-rb-faint" style="font-size:10px; letter-spacing:0.16em;"> 816/01 </span> <span class="font-mono text-rb-faint" style="font-size:10px; letter-spacing:0.14em;"> SEP 5, 2026 </span> </div> <div style="margin-top:6px;"> <a href="/events/airod-warehouse-215-090526" class="font-display text-rb no-underline" style="font-size:22px; font-weight:700; line-height:1.05; letter-spacing:-0.8px;">AIROD</a> </div> <div class="font-mono text-rb-mute" style="font-size:10.5px; margin-top:4px;"> 817@ WAREHOUSE 215 <span class="text-rb-faint"> · 57 PHOTOS</span> </div> </div> <div class="rb-photo-strip" style="display:flex; gap:6px; padding:10px 16px 0; overflow-x:auto; scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch;"> <a href="https://media.relentlessbeats.com/wp-content/uploads/2026/08/Airod-WH215-Grotto-260905-0001-1200x800.jpg" data-rb-lightbox="https://media.relentlessbeats.com/wp-content/uploads/2026/08/Airod-WH215-Grotto-260905-0001-1200x800.jpg" data-rb-lightbox-alt="AIROD" data-rb-lightbox-group="home-gallery-airod-warehouse-215-090526" class="relative block flex-shrink-0 overflow-hidden" style="width:160px; aspect-ratio:1; scroll-snap-align:start; background:var(--rb-bg-panel);"> <img src="https://media.relentlessbeats.com/wp-content/uploads/2026/08/Airod-WH215-Grotto-260905-0001-150x150.jpg" srcset="https://media.relentlessbeats.com/wp-content/uploads/2026/08/Airod-WH215-Grotto-260905-0001-1200x800.jpg 1200w, https://media.relentlessbeats.com/wp-content/uploads/2026/08/Airod-WH215-Grotto-260905-0001-600x400.jpg 600w, https://media.relentlessbeats.com/wp-content/uploads/2026/08/Airod-WH215-Grotto-260905-0001-768x512.jpg 768w, https://media.relentlessbeats.com/wp-content/uploads/2026/08/Airod-WH215-Grotto-260905-0001-1536x1024.jpg 1536w, https://media.relentlessbeats.com/wp-content/uploads/2026/08/Airod-WH215-Grotto-260905-0001-2048x1366.jpg 2048w, https://media.relentlessbeats.com/wp-content/uploads/2026/08/Airod-WH215-Grotto-260905-0001-300x200.jpg 300w" sizes="160px" alt="AIROD" loading="lazy" style="width:100%; height:100%; object-fit:cover; display:block;"> <div class="rb-scanlines pointer-events-none absolute inset-0" style="opacity:0.1"></div> </a><a href="https://media.relentlessbeats.com/wp-content/uploads/2026/08/Airod-WH215-Grotto-260905-0002-1200x800.jpg" data-rb-lightbox="https://media.relentlessbeats.com/wp-content/uploads/2026/08/Airod-WH215-Grotto-260905-0002-1200x800.jpg" data-rb-lightbox-alt="AIROD" data-rb-lightbox-group="home-gallery-airod-warehouse-215-090526" class="relative block flex-shrink-0 overflow-hidden" style="width:160px; aspect-ratio:1; scroll-snap-align:start; background:var(--rb-bg-panel);"> <img src="https://media.relentlessbeats.com/wp-content/uploads/2026/08/Airod-WH215-Grotto-260905-0002-150x150.jpg" srcset="https://media.relentlessbeats.com/wp-content/uploads/2026/08/Airod-WH215-Grotto-260905-0002-1200x800.jpg 1200w, https://media.relentlessbeats.com/wp-content/uploads/2026/08/Airod-WH215-Grotto-260905-0002-600x400.jpg 600w, https://media.relentlessbeats.com/wp-content/uploads/2026/08/Airod-WH215-Grotto-260905-0002-768x512.jpg 768w, https://media.relentlessbeats.com/wp-content/uploads/2026/08/Airod-WH215-Grotto-260905-0002-1536x1024.jpg 1536w, https://media.relentlessbeats.com/wp-content/uploads/2026/08/Airod-WH215-Grotto-260905-0002-2048x1366.jpg 2048w, https://media.relentlessbeats.com/wp-content/uploads/2026/08/Airod-WH215-Grotto-260905-0002-300x200.jpg 300w" sizes="160px" alt="AIROD" loading="lazy" style="width:100%; height:100%; object-fit:cover; display:block;"> <div class="rb-scanlines pointer-events-none absolute inset-0" style="opacity:0.1"></div> </a><a href="https://media.relentlessbeats.com/wp-content/uploads/2026/08/Airod-WH215-Grotto-260905-0004-1200x800.jpg" data-rb-lightbox="https://media.relentlessbeats.com/wp-content/uploads/2026/08/Airod-WH215-Grotto-260905-0004-1200x800.jpg" data-rb-lightbox-alt="AIROD" data-rb-lightbox-group="home-gallery-airod-warehouse-215-090526" class="relative block flex-shrink-0 overflow-hidden" style="width:160px; aspect-ratio:1; scroll-snap-align:start; background:var(--rb-bg-panel);"> <img src="https://media.relentlessbeats.com/wp-content/uploads/2026/08/Airod-WH215-Grotto-260905-0004-150x150.jpg" srcset="https://media.relentlessbeats.com/wp-content/uploads/2026/08/Airod-WH215-Grotto-260905-0004-1200x800.jpg 1200w, https://media.relentlessbeats.com/wp-content/uploads/2026/08/Airod-WH215-Grotto-260905-0004-600x400.jpg 600w, https://media.relentlessbeats.com/wp-content/uploads/2026/08/Airod-WH215-Grotto-260905-0004-768x512.jpg 768w, https://media.relentlessbeats.com/wp-content/uploads/2026/08/Airod-WH215-Grotto-260905-0004-1536x1024.jpg 1536w, https://media.relentlessbeats.com/wp-content/uploads/2026/08/Airod-WH215-Grotto-260905-0004-2048x1366.jpg 2048w, https://media.relentlessbeats.com/wp-content/uploads/2026/08/Airod-WH215-Grotto-260905-0004-300x200.jpg 300w" sizes="160px" alt="AIROD" loading="lazy" style="width:100%; height:100%; object-fit:cover; display:block;"> <div class="rb-scanlines pointer-events-none absolute inset-0" style="opacity:0.1"></div> </a><a href="https://media.relentlessbeats.com/wp-content/uploads/2026/08/Airod-WH215-Grotto-260905-0005-1200x800.jpg" data-rb-lightbox="https://media.relentlessbeats.com/wp-content/uploads/2026/08/Airod-WH215-Grotto-260905-0005-1200x800.jpg" data-rb-lightbox-alt="AIROD" data-rb-lightbox-group="home-gallery-airod-warehouse-215-090526" class="relative block flex-shrink-0 overflow-hidden" style="width:160px; aspect-ratio:1; scroll-snap-align:start; background:var(--rb-bg-panel);"> <img src="https://media.relentlessbeats.com/wp-content/uploads/2026/08/Airod-WH215-Grotto-260905-0005-150x150.jpg" srcset="https://media.relentlessbeats.com/wp-content/uploads/2026/08/Airod-WH215-Grotto-260905-0005-1200x800.jpg 1200w, https://media.relentlessbeats.com/wp-content/uploads/2026/08/Airod-WH215-Grotto-260905-0005-600x400.jpg 600w, https://media.relentlessbeats.com/wp-content/uploads/2026/08/Airod-WH215-Grotto-260905-0005-768x512.jpg 768w, https://media.relentlessbeats.com/wp-content/uploads/2026/08/Airod-WH215-Grotto-260905-0005-1536x1024.jpg 1536w, https://media.relentlessbeats.com/wp-content/uploads/2026/08/Airod-WH215-Grotto-260905-0005-2048x1366.jpg 2048w, https://media.relentlessbeats.com/wp-content/uploads/2026/08/Airod-WH215-Grotto-260905-0005-300x200.jpg 300w" sizes="160px" alt="AIROD" loading="lazy" style="width:100%; height:100%; object-fit:cover; display:block;"> <div class="rb-scanlines pointer-events-none absolute inset-0" style="opacity:0.1"></div> </a><a href="https://media.relentlessbeats.com/wp-content/uploads/2026/08/Airod-WH215-Grotto-260905-0006-800x1200.jpg" data-rb-lightbox="https://media.relentlessbeats.com/wp-content/uploads/2026/08/Airod-WH215-Grotto-260905-0006-800x1200.jpg" data-rb-lightbox-alt="AIROD" data-rb-lightbox-group="home-gallery-airod-warehouse-215-090526" class="relative block flex-shrink-0 overflow-hidden" style="width:160px; aspect-ratio:1; scroll-snap-align:start; background:var(--rb-bg-panel);"> <img src="https://media.relentlessbeats.com/wp-content/uploads/2026/08/Airod-WH215-Grotto-260905-0006-150x150.jpg" srcset="https://media.relentlessbeats.com/wp-content/uploads/2026/08/Airod-WH215-Grotto-260905-0006-800x1200.jpg 800w, https://media.relentlessbeats.com/wp-content/uploads/2026/08/Airod-WH215-Grotto-260905-0006-400x600.jpg 400w, https://media.relentlessbeats.com/wp-content/uploads/2026/08/Airod-WH215-Grotto-260905-0006-768x1152.jpg 768w, https://media.relentlessbeats.com/wp-content/uploads/2026/08/Airod-WH215-Grotto-260905-0006-1024x1536.jpg 1024w, https://media.relentlessbeats.com/wp-content/uploads/2026/08/Airod-WH215-Grotto-260905-0006-1366x2048.jpg 1366w, https://media.relentlessbeats.com/wp-content/uploads/2026/08/Airod-WH215-Grotto-260905-0006-200x300.jpg 200w, https://media.relentlessbeats.com/wp-content/uploads/2026/08/Airod-WH215-Grotto-260905-0006-scaled.jpg 1707w" sizes="160px" alt="AIROD" loading="lazy" style="width:100%; height:100%; object-fit:cover; display:block;"> <div class="rb-scanlines pointer-events-none absolute inset-0" style="opacity:0.1"></div> </a><a href="https://media.relentlessbeats.com/wp-content/uploads/2026/08/Airod-WH215-Grotto-260905-0007-1200x800.jpg" data-rb-lightbox="https://media.relentlessbeats.com/wp-content/uploads/2026/08/Airod-WH215-Grotto-260905-0007-1200x800.jpg" data-rb-lightbox-alt="AIROD" data-rb-lightbox-group="home-gallery-airod-warehouse-215-090526" class="relative block flex-shrink-0 overflow-hidden" style="width:160px; aspect-ratio:1; scroll-snap-align:start; background:var(--rb-bg-panel);"> <img src="https://media.relentlessbeats.com/wp-content/uploads/2026/08/Airod-WH215-Grotto-260905-0007-150x150.jpg" srcset="https://media.relentlessbeats.com/wp-content/uploads/2026/08/Airod-WH215-Grotto-260905-0007-1200x800.jpg 1200w, https://media.relentlessbeats.com/wp-content/uploads/2026/08/Airod-WH215-Grotto-260905-0007-600x400.jpg 600w, https://media.relentlessbeats.com/wp-content/uploads/2026/08/Airod-WH215-Grotto-260905-0007-768x512.jpg 768w, https://media.relentlessbeats.com/wp-content/uploads/2026/08/Airod-WH215-Grotto-260905-0007-1536x1024.jpg 1536w, https://media.relentlessbeats.com/wp-content/uploads/2026/08/Airod-WH215-Grotto-260905-0007-2048x1366.jpg 2048w, https://media.relentlessbeats.com/wp-content/uploads/2026/08/Airod-WH215-Grotto-260905-0007-300x200.jpg 300w" sizes="160px" alt="AIROD" loading="lazy" style="width:100%; height:100%; object-fit:cover; display:block;"> <div class="rb-scanlines pointer-events-none absolute inset-0" style="opacity:0.1"></div> </a><a href="https://media.relentlessbeats.com/wp-content/uploads/2026/08/Airod-WH215-Grotto-260905-0008-1200x800.jpg" data-rb-lightbox="https://media.relentlessbeats.com/wp-content/uploads/2026/08/Airod-WH215-Grotto-260905-0008-1200x800.jpg" data-rb-lightbox-alt="AIROD" data-rb-lightbox-group="home-gallery-airod-warehouse-215-090526" class="relative block flex-shrink-0 overflow-hidden" style="width:160px; aspect-ratio:1; scroll-snap-align:start; background:var(--rb-bg-panel);"> <img src="https://media.relentlessbeats.com/wp-content/uploads/2026/08/Airod-WH215-Grotto-260905-0008-150x150.jpg" srcset="https://media.relentlessbeats.com/wp-content/uploads/2026/08/Airod-WH215-Grotto-260905-0008-1200x800.jpg 1200w, https://media.relentlessbeats.com/wp-content/uploads/2026/08/Airod-WH215-Grotto-260905-0008-600x400.jpg 600w, https://media.relentlessbeats.com/wp-content/uploads/2026/08/Airod-WH215-Grotto-260905-0008-768x512.jpg 768w, https://media.relentlessbeats.com/wp-content/uploads/2026/08/Airod-WH215-Grotto-260905-0008-1536x1024.jpg 1536w, https://media.relentlessbeats.com/wp-content/uploads/2026/08/Airod-WH215-Grotto-260905-0008-2048x1366.jpg 2048w, https://media.relentlessbeats.com/wp-content/uploads/2026/08/Airod-WH215-Grotto-260905-0008-300x200.jpg 300w" sizes="160px" alt="AIROD" loading="lazy" style="width:100%; height:100%; object-fit:cover; display:block;"> <div class="rb-scanlines pointer-events-none absolute inset-0" style="opacity:0.1"></div> </a><a href="https://media.relentlessbeats.com/wp-content/uploads/2026/08/Airod-WH215-Grotto-260905-0009-1200x800.jpg" data-rb-lightbox="https://media.relentlessbeats.com/wp-content/uploads/2026/08/Airod-WH215-Grotto-260905-0009-1200x800.jpg" data-rb-lightbox-alt="AIROD" data-rb-lightbox-group="home-gallery-airod-warehouse-215-090526" class="relative block flex-shrink-0 overflow-hidden" style="width:160px; aspect-ratio:1; scroll-snap-align:start; background:var(--rb-bg-panel);"> <img src="https://media.relentlessbeats.com/wp-content/uploads/2026/08/Airod-WH215-Grotto-260905-0009-150x150.jpg" srcset="https://media.relentlessbeats.com/wp-content/uploads/2026/08/Airod-WH215-Grotto-260905-0009-1200x800.jpg 1200w, https://media.relentlessbeats.com/wp-content/uploads/2026/08/Airod-WH215-Grotto-260905-0009-600x400.jpg 600w, https://media.relentlessbeats.com/wp-content/uploads/2026/08/Airod-WH215-Grotto-260905-0009-768x512.jpg 768w, https://media.relentlessbeats.com/wp-content/uploads/2026/08/Airod-WH215-Grotto-260905-0009-1536x1024.jpg 1536w, https://media.relentlessbeats.com/wp-content/uploads/2026/08/Airod-WH215-Grotto-260905-0009-2048x1366.jpg 2048w, https://media.relentlessbeats.com/wp-content/uploads/2026/08/Airod-WH215-Grotto-260905-0009-300x200.jpg 300w" sizes="160px" alt="AIROD" loading="lazy" style="width:100%; height:100%; object-fit:cover; display:block;"> <div class="rb-scanlines pointer-events-none absolute inset-0" style="opacity:0.1"></div> </a><a href="https://media.relentlessbeats.com/wp-content/uploads/2026/08/Airod-WH215-Grotto-260905-0010-1200x800.jpg" data-rb-lightbox="https://media.relentlessbeats.com/wp-content/uploads/2026/08/Airod-WH215-Grotto-260905-0010-1200x800.jpg" data-rb-lightbox-alt="AIROD" data-rb-lightbox-group="home-gallery-airod-warehouse-215-090526" class="relative block flex-shrink-0 overflow-hidden" style="width:160px; aspect-ratio:1; scroll-snap-align:start; background:var(--rb-bg-panel);"> <img src="https://media.relentlessbeats.com/wp-content/uploads/2026/08/Airod-WH215-Grotto-260905-0010-150x150.jpg" srcset="https://media.relentlessbeats.com/wp-content/uploads/2026/08/Airod-WH215-Grotto-260905-0010-1200x800.jpg 1200w, https://media.relentlessbeats.com/wp-content/uploads/2026/08/Airod-WH215-Grotto-260905-0010-600x400.jpg 600w, https://media.relentlessbeats.com/wp-content/uploads/2026/08/Airod-WH215-Grotto-260905-0010-
817768x512.jpg 768w, https://media.relentlessbeats.com/wp-content/uploads/2026/08/Airod-WH215-Grotto-260905-0010-1536x1024.jpg 1536w, https://media.relentlessbeats.com/wp-content/uploads/2026/08/Airod-WH215-Grotto-260905-0010-2048x1366.jpg 2048w, https://media.relentlessbeats.com/wp-content/uploads/2026/08/Airod-WH215-Grotto-260905-0010-300x200.jpg 300w" sizes="160px" alt="AIROD" loading="lazy" style="width:100%; height:100%; object-fit:cover; display:block;"> <div class="rb-scanlines pointer-events-none absolute inset-0" style="opacity:0.1"></div> </a><a href="https://media.relentlessbeats.com/wp-content/uploads/2026/08/Airod-WH215-Grotto-260905-0011-800x1200.jpg" data-rb-lightbox="https://media.relentlessbeats.com/wp-content/uploads/2026/08/Airod-WH215-Grotto-260905-0011-800x1200.jpg" data-rb-lightbox-alt="AIROD" data-rb-lightbox-group="home-gallery-airod-warehouse-215-090526" class="relative block flex-shrink-0 overflow-hidden" style="width:160px; aspect-ratio:1; scroll-snap-align:start; background:var(--rb-bg-panel);"> <img src="https://media.relentlessbeats.com/wp-content/uploads/2026/08/Airod-WH215-Grotto-260905-0011-150x150.jpg" srcset="https://media.relentlessbeats.com/wp-content/uploads/2026/08/Airod-WH215-Grotto-260905-0011-800x1200.jpg 800w, https://media.relentlessbeats.com/wp-content/uploads/2026/08/Airod-WH215-Grotto-260905-0011-400x600.jpg 400w, https://media.relentlessbeats.com/wp-content/uploads/2026/08/Airod-WH215-Grotto-260905-0011-768x1152.jpg 768w, https://media.relentlessbeats.com/wp-content/uploads/2026/08/Airod-WH215-Grotto-260905-0011-1024x1536.jpg 1024w, https://media.relentlessbeats.com/wp-content/uploads/2026/08/Airod-WH215-Grotto-260905-0011-1366x2048.jpg 1366w, https://media.relentlessbeats.com/wp-content/uploads/2026/08/Airod-WH215-Grotto-260905-0011-200x300.jpg 200w, https://media.relentlessbeats.com/wp-content/uploads/2026/08/Airod-WH215-Grotto-260905-0011-scaled.jpg 1707w" sizes="160px" alt="AIROD" loading="lazy" style="width:100%; height:100%; object-fit:cover; display:block;"> <div class="rb-scanlines pointer-events-none absolute inset-0" style="opacity:0.1"></div> </a> <a href="/events/airod-warehouse-215-090526" class="flex-shrink-0 inline-flex flex-col items-center justify-center no-underline" style="width:160px; aspect-ratio:1; scroll-snap-align:start; background:var(--rb-bg-panel); border:1px solid var(--rb-rule);"> <span class="font-display" style="font-size:28px; font-weight:700; letter-spacing:-1px; line-height:1; color:var(--rb-ink);"> 818+47 </span> <span class="font-mono uppercase" style="font-size:10px; letter-spacing:0.14em; color:var(--rb-silver-warm); margin-top:6px;"> 819MORE â 820</span> </a> </div> </section><section style="margin-top:28px;"> <div class="rb-pad-x"> <div class="flex items-baseline gap-2.5" style="flex-wrap:wrap;"> <span class="font-mono text-rb-faint" style="font-size:10px; letter-spacing:0.16em;"> 821/02 </span> <span class="font-mono text-rb-faint" style="font-size:10px; letter-spacing:0.14em;"> AUG 14, 2026 </span> </div> <div style="margin-top:6px;"> <a href="/events/gravedgr-sunbar-081426" class="font-display text-rb no-underline" style="font-size:22px; font-weight:700; line-height:1.05; letter-spacing:-0.8px;">Gravedgr</a> </div> <div class="font-mono text-rb-mute" style="font-size:10.5px; margin-top:4px;"> 822@ SUNBAR <span class="text-rb-faint"> · 31 PHOTOS</span> </div> </div> <div class="rb-photo-strip" style="display:flex; gap:6px; padding:10px 16px 0; overflow-x:auto; scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch;"> <a href="https://media.relentlessbeats.com/wp-content/uploads/2026/06/GRAVEDGR_SUNBAR_8.14.26_HSMITHMEDIA-13-1200x800.jpg" data-rb-lightbox="https://media.relentlessbeats.com/wp-content/uploads/2026/06/GRAVEDGR_SUNBAR_8.14.26_HSMITHMEDIA-13-1200x800.jpg" data-rb-lightbox-alt="Gravedgr" data-rb-lightbox-group="home-gallery-gravedgr-sunbar-081426" class="relative block flex-shrink-0 overflow-hidden" style="width:160px; aspect-ratio:1; scroll-snap-align:start; background:var(--rb-bg-panel);"> <img src="https://media.relentlessbeats.com/wp-content/uploads/2026/06/GRAVEDGR_SUNBAR_8.14.26_HSMITHMEDIA-13-150x150.jpg" srcset="https://media.relentlessbeats.com/wp-content/uploads/2026/06/GRAVEDGR_SUNBAR_8.14.26_HSMITHMEDIA-13-1200x800.jpg 1200w, https://media.relentlessbeats.com/wp-content/uploads/2026/06/GRAVEDGR_SUNBAR_8.14.26_HSMITHMEDIA-13-600x400.jpg 600w, https://media.relentlessbeats.com/wp-content/uploads/2026/06/GRAVEDGR_SUNBAR_8.14.26_HSMITHMEDIA-13-768x512.jpg 768w, https://media.relentlessbeats.com/wp-content/uploads/2026/06/GRAVEDGR_SUNBAR_8.14.26_HSMITHMEDIA-13-1536x1024.jpg 1536w, https://media.relentlessbeats.com/wp-content/uploads/2026/06/GRAVEDGR_SUNBAR_8.14.26_HSMITHMEDIA-13-2048x1365.jpg 2048w, https://media.relentlessbeats.com/wp-content/uploads/2026/06/GRAVEDGR_SUNBAR_8.14.26_HSMITHMEDIA-13-300x200.jpg 300w" sizes="160px" alt="Gravedgr" loading="lazy" style="width:100%; height:100%; object-fit:cover; display:block;"> <div class="rb-scanlines pointer-events-none absolute inset-0" style="opacity:0.1"></div> </a><a href="https://media.relentlessbeats.com/wp-content/uploads/2026/06/GRAVEDGR_SUNBAR_8.14.26_HSMITHMEDIA-14-1200x800.jpg" data-rb-lightbox="https://media.relentlessbeats.com/wp-content/uploads/2026/06/GRAVEDGR_SUNBAR_8.14.26_HSMITHMEDIA-14-1200x800.jpg" data-rb-lightbox-alt="Gravedgr" data-rb-lightbox-group="home-gallery-gravedgr-sunbar-081426" class="relative block flex-shrink-0 overflow-hidden" style="width:160px; aspect-ratio:1; scroll-snap-align:start; background:var(--rb-bg-panel);"> <img src="https://media.relentlessbeats.com/wp-content/uploads/2026/06/GRAVEDGR_SUNBAR_8.14.26_HSMITHMEDIA-14-150x150.jpg" srcset="https://media.relentlessbeats.com/wp-content/uploads/2026/06/GRAVEDGR_SUNBAR_8.14.26_HSMITHMEDIA-14-1200x800.jpg 1200w, https://media.relentlessbeats.com/wp-content/uploads/2026/06/GRAVEDGR_SUNBAR_8.14.26_HSMITHMEDIA-14-600x400.jpg 600w, https://media.relentlessbeats.com/wp-content/uploads/2026/06/GRAVEDGR_SUNBAR_8.14.26_HSMITHMEDIA-14-768x512.jpg 768w, https://media.relentlessbeats.com/wp-content/uploads/2026/06/GRAVEDGR_SUNBAR_8.14.26_HSMITHMEDIA-14-1536x1024.jpg 1536w, https://media.relentlessbeats.com/wp-content/uploads/2026/06/GRAVEDGR_SUNBAR_8.14.26_HSMITHMEDIA-14-2048x1365.jpg 2048w, https://media.relentlessbeats.com/wp-content/uploads/2026/06/GRAVEDGR_SUNBAR_8.14.26_HSMITHMEDIA-14-300x200.jpg 300w" sizes="160px" alt="Gravedgr" loading="lazy" style="width:100%; height:100%; object-fit:cover; display:block;"> <div class="rb-scanlines pointer-events-none absolute inset-0" style="opacity:0.1"></div> </a><a href="https://media.relentlessbeats.com/wp-content/uploads/2026/06/GRAVEDGR_SUNBAR_8.14.26_HSMITHMEDIA-15-800x1200.jpg" data-rb-lightbox="https://media.relentlessbeats.com/wp-content/uploads/2026/06/GRAVEDGR_SUNBAR_8.14.26_HSMITHMEDIA-15-800x1200.jpg" data-rb-lightbox-alt="Gravedgr" data-rb-lightbox-group="home-gallery-gravedgr-sunbar-081426" class="relative block flex-shrink-0 overflow-hidden" style="width:160px; aspect-ratio:1; scroll-snap-align:start; background:var(--rb-bg-panel);"> <img src="https://media.relentlessbeats.com/wp-content/uploads/2026/06/GRAVEDGR_SUNBAR_8.14.26_HSMITHMEDIA-15-150x150.jpg" srcset="https://media.relentlessbeats.com/wp-content/uploads/2026/06/GRAVEDGR_SUNBAR_8.14.26_HSMITHMEDIA-15-800x1200.jpg 800w, https://media.relentlessbeats.com/wp-content/uploads/2026/06/GRAVEDGR_SUNBAR_8.14.26_HSMITHMEDIA-15-400x600.jpg 400w, https://media.relentlessbeats.com/wp-content/uploads/2026/06/GRAVEDGR_SUNBAR_8.14.26_HSMITHMEDIA-15-768x1152.jpg 768w, https://media.relentlessbeats.com/wp-content/uploads/2026/06/GRAVEDGR_SUNBAR_8.14.26_HSMITHMEDIA-15-1024x1536.jpg 1024w, https://media.relentlessbeats.com/wp-content/uploads/2026/06/GRAVEDGR_SUNBAR_8.14.26_HSMITHMEDIA-15-1365x2048.jpg 1365w, https://media.relentlessbeats.com/wp-content/uploads/2026/06/GRAVEDGR_SUNBAR_8.14.26_HSMITHMEDIA-15-200x300.jpg 200w, https://media.relentlessbeats.com/wp-content/uploads/2026/06/GRAVEDGR_SUNBAR_8.14.26_HSMITHMEDIA-15-scaled.jpg 1707w" sizes="160px" alt="Gravedgr" loading="lazy" style="width:100%; height:100%; object-fit:cover; display:block;"> <div class="rb-scanlines pointer-events-none absolute inset-0" style="opacity:0.1"></div> </a><a href="https://media.relentlessbeats.com/wp-content/uploads/2026/06/GRAVEDGR_SUNBAR_8.14.26_HSMITHMEDIA-16-800x1200.jpg" data-rb-lightbox="https://media.relentlessbeats.com/wp-content/uploads/2026/06/GRAVEDGR_SUNBAR_8.14.26_HSMITHMEDIA-16-800x1200.jpg" data-rb-lightbox-alt="Gravedgr" data-rb-lightbox-group="home-gallery-gravedgr-sunbar-081426" class="relative block flex-shrink-0 overflow-hidden" style="width:160px; aspect-ratio:1; scroll-snap-align:start; background:var(--rb-bg-panel);"> <img src="https://media.relentlessbeats.com/wp-content/uploads/2026/06/GRAVEDGR_SUNBAR_8.14.26_HSMITHMEDIA-16-150x150.jpg" srcset="https://media.relentlessbeats.com/wp-content/uploads/2026/06/GRAVEDGR_SUNBAR_8.14.26_HSMITHMEDIA-16-800x1200.jpg 800w, https://media.relentlessbeats.com/wp-content/uploads/2026/06/GRAVEDGR_SUNBAR_8.14.26_HSMITHMEDIA-16-400x600.jpg 400w, https://media.relentlessbeats.com/wp-content/uploads/2026/06/GRAVEDGR_SUNBAR_8.14.26_HSMITHMEDIA-16-768x1152.jpg 768w, https://media.relentlessbeats.com/wp-content/uploads/2026/06/GRAVEDGR_SUNBAR_8.14.26_HSMITHMEDIA-16-1024x1536.jpg 1024w, https://media.relentlessbeats.com/wp-content/uploads/2026/06/GRAVEDGR_SUNBAR_8.14.26_HSMITHMEDIA-16-1365x2048.jpg 1365w, https://media.relentlessbeats.com/wp-content/uploads/2026/06/GRAVEDGR_SUNBAR_8.14.26_HSMITHMEDIA-16-200x300.jpg 200w, https://media.relentlessbeats.com/wp-content/uploads/2026/06/GRAVEDGR_SUNBAR_8.14.26_HSMITHMEDIA-16-scaled.jpg 1707w" sizes="160px" alt="Gravedgr" loading="lazy" style="width:100%; height:100%; object-fit:cover; display:block;"> <div class="rb-scanlines pointer-events-none absolute inset-0" style="opacity:0.1"></div> </a><a href="https://media.relentlessbeats.com/wp-content/uploads/2026/06/GRAVEDGR_SUNBAR_8.14.26_HSMITHMEDIA-17-800x1200.jpg" data-rb-lightbox="https://media.relentlessbeats.com/wp-content/uploads/2026/06/GRAVEDGR_SUNBAR_8.14.26_HSMITHMEDIA-17-800x1200.jpg" data-rb-lightbox-alt="Gravedgr" data-rb-lightbox-group="home-gallery-gravedgr-sunbar-081426" class="relative block flex-shrink-0 overflow-hidden" style="width:160px; aspect-ratio:1; scroll-snap-align:start; background:var(--rb-bg-panel);"> <img src="https://media.relentlessbeats.com/wp-content/uploads/2026/06/GRAVEDGR_SUNBAR_8.14.26_HSMITHMEDIA-17-150x150.jpg" srcset="https://media.relentlessbeats.com/wp-content/uploads/2026/06/GRAVEDGR_SUNBAR_8.14.26_HSMITHMEDIA-17-800x1200.jpg 800w, https://media.relentlessbeats.com/wp-content/uploads/2026/06/GRAVEDGR_SUNBAR_8.14.26_HSMITHMEDIA-17-400x600.jpg 400w, https://media.relentlessbeats.com/wp-content/uploads/2026/06/GRAVEDGR_SUNBAR_8.14.26_HSMITHMEDIA-17-768x1152.jpg 768w, https://media.relentlessbeats.com/wp-content/uploads/2026/06/GRAVEDGR_SUNBAR_8.14.26_HSMITHMEDIA-17-1024x1536.jpg 1024w, https://media.relentlessbeats.com/wp-content/uploads/2026/06/GRAVEDGR_SUNBAR_8.14.26_HSMITHMEDIA-17-1365x2048.jpg 1365w, https://media.relentlessbeats.com/wp-content/uploads/2026/06/GRAVEDGR_SUNBAR_8.14.26_HSMITHMEDIA-17-200x300.jpg 200w, https://media.relentlessbeats.com/wp-content/uploads/2026/06/GRAVEDGR_SUNBAR_8.14.26_HSMITHMEDIA-17-scaled.jpg 1707w" sizes="160px" alt="Gravedgr" loading="lazy" style="width:100%; height:100%; object-fit:cover; display:block;"> <div class="rb-scanlines pointer-events-none absolute inset-0" style="opacity:0.1"></div> </a><a href="https://media.relentlessbeats.com/wp-content/uploads/2026/06/GRAVEDGR_SUNBAR_8.14.26_HSMITHMEDIA-18-800x1200.jpg" data-rb-lightbox="https://media.relentlessbeats.com/wp-content/uploads/2026/06/GRAVEDGR_SUNBAR_8.14.26_HSMITHMEDIA-18-800x1200.jpg" data-rb-lightbox-alt="Gravedgr" data-rb-lightbox-group="home-gallery-gravedgr-sunbar-081426" class="relative block flex-shrink-0 overflow-hidden" style="width:160px; aspect-ratio:1; scroll-snap-align:start; background:var(--rb-bg-panel);"> <img src="https://media.relentlessbeats.com/wp-content/uploads/2026/06/GRAVEDGR_SUNBAR_8.14.26_HSMITHMEDIA-18-150x150.jpg" srcset="https://media.relentlessbeats.com/wp-content/uploads/2026/06/GRAVEDGR_SUNBAR_8.14.26_HSMITHMEDIA-18-800x1200.jpg 800w, https://media.relentlessbeats.com/wp-content/uploads/2026/06/GRAVEDGR_SUNBAR_8.14.26_HSMITHMEDIA-18-400x600.jpg 400w, https://media.relentlessbeats.com/wp-content/uploads/2026/06/GRAVEDGR_SUNBAR_8.14.26_HSMITHMEDIA-18-768x1152.jpg 768w, https://media.relentlessbeats.com/wp-content/uploads/2026/06/GRAVEDGR_SUNBAR_8.14.26_HSMITHMEDIA-18-1024x1536.jpg 1024w, https://media.relentlessbeats.com/wp-content/uploads/2026/06/GRAVEDGR_SUNBAR_8.14.26_HSMITHMEDIA-18-1365x2048.jpg 1365w, https://media.relentlessbeats.com/wp-content/uploads/2026/06/GRAVEDGR_SUNBAR_8.14.26_HSMITHMEDIA-18-200x300.jpg 200w, https://media.relentlessbeats.com/wp-content/uploads/2026/06/GRAVEDGR_SUNBAR_8.14.26_HSMITHMEDIA-18-scaled.jpg 1707w" sizes="160px" alt="Gravedgr" loading="lazy" style="width:100%; height:100%; object-fit:cover; display:block;"> <div class="rb-scanlines pointer-events-none absolute inset-0" style="opacity:0.1"></div> </a><a href="https://media.relentlessbeats.com/wp-content/uploads/2026/06/GRAVEDGR_SUNBAR_8.14.26_HSMITHMEDIA-20-800x1200.jpg" data-rb-lightbox="https://media.relentlessbeats.com/wp-content/uploads/2026/06/GRAVEDGR_SUNBAR_8.14.26_HSMITHMEDIA-20-800x1200.jpg" data-rb-lightbox-alt="Gravedgr" data-rb-lightbox-group="home-gallery-gravedgr-sunbar-081426" class="relative block flex-shrink-0 overflow-hidden" style="width:160px; aspect-ratio:1; scroll-snap-align:start; background:var(--rb-bg-panel);"> <img src="https://media.relentlessbeats.com/wp-content/uploads/2026/06/GRAVEDGR_SUNBAR_8.14.26_HSMITHMEDIA-20-150x150.jpg" srcset="https://media.relentlessbeats.com/wp-content/uploads/2026/06/GRAVEDGR_SUNBAR_8.14.26_HSMITHMEDIA-20-800x1200.jpg 800w, https://media.relentlessbeats.com/wp-content/uploads/2026/06/GRAVEDGR_SUNBAR_8.14.26_HSMITHMEDIA-20-400x600.jpg 400w, https://media.relentlessbeats.com/wp-content/uploads/2026/06/GRAVEDGR_SUNBAR_8.14.26_HSMITHMEDIA-20-768x1152.jpg 768w, https://media.relentlessbeats.com/wp-content/uploads/2026/06/GRAVEDGR_SUNBAR_8.14.26_HSMITHMEDIA-20-1024x1536.jpg 1024w, https://media.relentlessbeats.com/wp-content/uploads/2026/06/GRAVEDGR_SUNBAR_8.14.26_HSMITHMEDIA-20-1365x2048.jpg 1365w, https://media.relentlessbeats.com/wp-content/uploads/2026/06/GRAVEDGR_SUNBAR_8.14.26_HSMITHMEDIA-20-200x300.jpg 200w, https://media.relentlessbeats.com/wp-content/uploads/2026/06/GRAVEDGR_SUNBAR_8.14.26_HSMITHMEDIA-20-scaled.jpg 1707w" sizes="160px" alt="Gravedgr" loading="lazy" style="width:100%; height:100%; object-fit:cover; display:block;"> <div class="rb-scanlines pointer-events-none absolute inset-0" style="opacity:0.1"></div> </a><a href="https://media.relentlessbeats.com/wp-content/uploads/2026/06/GRAVEDGR_SUNBAR_8.14.26_HSMITHMEDIA-21-1200x800.jpg" data-rb-lightbox="https://media.relentlessbeats.com/wp-content/uploads/2026/06/GRAVEDGR_SUNBAR_8.14.26_HSMITHMEDIA-21-1200x800.jpg" data-rb-lightbox-alt="Gravedgr" data-rb-lightbox-group="home-gallery-gravedgr-sunbar-081426" class="relative block flex-shrink-0 overflow-hidden" style="width:160px; aspect-ratio:1; scroll-snap-align:start; background:var(--rb-bg-panel);"> <img src="https://media.relentlessbeats.com/wp-content/uploads/2026/06/GRAVEDGR_SUNBAR_8.14.26_HSMITHMEDIA-21-150x150.jpg" srcset="https://media.relentlessbeats.com/wp-content/uploads/2026/06/GRAVEDGR_SUNBAR_8.14.26_HSMITHMEDIA-21-1200x800.jpg 1200w, https://media.relentlessbeats.com/wp-content/uploads/2026/06/GRAVEDGR_SUNBAR_8.14.26_HSMITHMEDIA-21-600x400.jpg 600w, https://media.relentlessbeats.com/wp-content/uploads/2026/06/GRAVEDGR_SUNBAR_8.14.26_HSMITHMEDIA-21-768x512.jpg 768w, https://media.relentlessbeats.com/wp-content/uploads/2026/06/GRAVEDGR_SUNBAR_8.14.26_HSMITHMEDIA-21-1536x1024.jpg 1536w, https://media.relentlessbeats.com/wp-content/uploads/2026/06/GRAVEDGR_SUNBAR_8.14.26_HSMITHMEDIA-21-2048x1365.jpg 2048w, https://media.relentlessbeats.com/wp-content/uploads/2026/06/GRAVEDGR_SUNBAR_8.14.26_HSMITHMEDIA-21-300x200.jpg 300w" sizes="160px" alt="Gravedgr" loading="lazy" style="width:10
8220%; height:100%; object-fit:cover; display:block;"> <div class="rb-scanlines pointer-events-none absolute inset-0" style="opacity:0.1"></div> </a><a href="https://media.relentlessbeats.com/wp-content/uploads/2026/06/GRAVEDGR_SUNBAR_8.14.26_HSMITHMEDIA-22-1200x800.jpg" data-rb-lightbox="https://media.relentlessbeats.com/wp-content/uploads/2026/06/GRAVEDGR_SUNBAR_8.14.26_HSMITHMEDIA-22-1200x800.jpg" data-rb-lightbox-alt="Gravedgr" data-rb-lightbox-group="home-gallery-gravedgr-sunbar-081426" class="relative block flex-shrink-0 overflow-hidden" style="width:160px; aspect-ratio:1; scroll-snap-align:start; background:var(--rb-bg-panel);"> <img src="https://media.relentlessbeats.com/wp-content/uploads/2026/06/GRAVEDGR_SUNBAR_8.14.26_HSMITHMEDIA-22-150x150.jpg" srcset="https://media.relentlessbeats.com/wp-content/uploads/2026/06/GRAVEDGR_SUNBAR_8.14.26_HSMITHMEDIA-22-1200x800.jpg 1200w, https://media.relentlessbeats.com/wp-content/uploads/2026/06/GRAVEDGR_SUNBAR_8.14.26_HSMITHMEDIA-22-600x400.jpg 600w, https://media.relentlessbeats.com/wp-content/uploads/2026/06/GRAVEDGR_SUNBAR_8.14.26_HSMITHMEDIA-22-768x512.jpg 768w, https://media.relentlessbeats.com/wp-content/uploads/2026/06/GRAVEDGR_SUNBAR_8.14.26_HSMITHMEDIA-22-1536x1024.jpg 1536w, https://media.relentlessbeats.com/wp-content/uploads/2026/06/GRAVEDGR_SUNBAR_8.14.26_HSMITHMEDIA-22-2048x1365.jpg 2048w, https://media.relentlessbeats.com/wp-content/uploads/2026/06/GRAVEDGR_SUNBAR_8.14.26_HSMITHMEDIA-22-300x200.jpg 300w" sizes="160px" alt="Gravedgr" loading="lazy" style="width:100%; height:100%; object-fit:cover; display:block;"> <div class="rb-scanlines pointer-events-none absolute inset-0" style="opacity:0.1"></div> </a><a href="https://media.relentlessbeats.com/wp-content/uploads/2026/06/GRAVEDGR_SUNBAR_8.14.26_HSMITHMEDIA-23-800x1200.jpg" data-rb-lightbox="https://media.relentlessbeats.com/wp-content/uploads/2026/06/GRAVEDGR_SUNBAR_8.14.26_HSMITHMEDIA-23-800x1200.jpg" data-rb-lightbox-alt="Gravedgr" data-rb-lightbox-group="home-gallery-gravedgr-sunbar-081426" class="relative block flex-shrink-0 overflow-hidden" style="width:160px; aspect-ratio:1; scroll-snap-align:start; background:var(--rb-bg-panel);"> <img src="https://media.relentlessbeats.com/wp-content/uploads/2026/06/GRAVEDGR_SUNBAR_8.14.26_HSMITHMEDIA-23-150x150.jpg" srcset="https://media.relentlessbeats.com/wp-content/uploads/2026/06/GRAVEDGR_SUNBAR_8.14.26_HSMITHMEDIA-23-800x1200.jpg 800w, https://media.relentlessbeats.com/wp-content/uploads/2026/06/GRAVEDGR_SUNBAR_8.14.26_HSMITHMEDIA-23-400x600.jpg 400w, https://media.relentlessbeats.com/wp-content/uploads/2026/06/GRAVEDGR_SUNBAR_8.14.26_HSMITHMEDIA-23-768x1152.jpg 768w, https://media.relentlessbeats.com/wp-content/uploads/2026/06/GRAVEDGR_SUNBAR_8.14.26_HSMITHMEDIA-23-1024x1536.jpg 1024w, https://media.relentlessbeats.com/wp-content/uploads/2026/06/GRAVEDGR_SUNBAR_8.14.26_HSMITHMEDIA-23-1365x2048.jpg 1365w, https://media.relentlessbeats.com/wp-content/uploads/2026/06/GRAVEDGR_SUNBAR_8.14.26_HSMITHMEDIA-23-200x300.jpg 200w, https://media.relentlessbeats.com/wp-content/uploads/2026/06/GRAVEDGR_SUNBAR_8.14.26_HSMITHMEDIA-23-scaled.jpg 1707w" sizes="160px" alt="Gravedgr" loading="lazy" style="width:100%; height:100%; object-fit:cover; display:block;"> <div class="rb-scanlines pointer-events-none absolute inset-0" style="opacity:0.1"></div> </a> <a href="/events/gravedgr-sunbar-081426" class="flex-shrink-0 inline-flex flex-col items-center justify-center no-underline" style="width:160px; aspect-ratio:1; scroll-snap-align:start; background:var(--rb-bg-panel); border:1px solid var(--rb-rule);"> <span class="font-display" style="font-size:28px; font-weight:700; letter-spacing:-1px; line-height:1; color:var(--rb-ink);"> 823+21 </span> <span class="font-mono uppercase" style="font-size:10px; letter-spacing:0.14em; color:var(--rb-silver-warm); margin-top:6px;"> 824MORE â 825</span> </a> </div> </section> </div><div class="rb-container"><section class="bg-rb-raised" style="margin-top:40px; padding:32px 16px; border-top:1px solid var(--rb-rule); border-bottom:1px solid var(--rb-rule); position:relative; overflow:hidden;"><div class="absolute pointer-events-none" style="inset:0; background: radial-gradient(60% 80% at 80% 20%, rgba(255,58,107,0.06), transparent 60%);"></div><div style="position:relative; max-width:640px; margin:0 auto;"><div class="font-mono uppercase" style="font-size:10.5px; letter-spacing:0.18em; color:var(--rb-hot);"> 826Get on the list 827</div><div class="font-display" style="font-size:34px; font-weight:700; line-height:1.05; letter-spacing:-1px; margin-top:10px;"> 828Don't miss a beat. 829</div><p class="font-serif text-rb-mute" style="font-size:15px; line-height:1.55; margin-top:14px; max-width:520px;"> 830Texts and emails when shows go on sale, presales drop, and seats run low. Free, no spam â unsubscribe any time. 831</p><div style="margin-top:20px; display:flex; align-items:center; gap:14px; flex-wrap:wrap;"><a href="/signup" data-rb-hive-open class="bg-chrome text-silver-ink no-underline inline-flex items-center" style="padding:13px 22px; font-family:var(--rb-font-display); font-weight:700; font-size:15px; letter-spacing:0.04em; box-shadow: inset 0 1px 0 rgba(255,255,255,0.5), inset 0 -1px 0 rgba(0,0,0,0.18); gap:10px;"> 832SIGN ME UP 833<span class="font-mono" style="font-size:11px; letter-spacing:0.14em; color:rgba(10,10,12,0.62);">â</span></a><span class="font-mono text-rb-faint uppercase" style="font-size:10px; letter-spacing:0.16em;"> 834Or text RB to 96000 835</span></div></div></section></div> <footer class="font-mono text-rb-faint rb-footer" style="padding:36px 16px 40px; border-top:1px solid var(--rb-rule); font-size:10px; letter-spacing:0.08em; background:var(--rb-bg);" data-astro-cid-sz7xmlte> <div class="rb-container" style="max-width:1280px; margin:0 auto;" data-astro-cid-sz7xmlte> <div class="rb-footer-top" data-astro-cid-sz7xmlte> <div class="rb-footer-brand flex items-start gap-3.5" data-astro-cid-sz7xmlte> <img src="/assets/rb-mark.png" alt="" style="height:40px; width:auto; filter:brightness(0) invert(0.85); flex-shrink:0;" data-astro-cid-sz7xmlte> <div class="flex-1" data-astro-cid-sz7xmlte> <div class="font-display text-silver-warm" style="font-size:22px; font-weight:600; letter-spacing:-0.5px; line-height:1;" data-astro-cid-sz7xmlte> 836Dance Lives Here<span class="text-live" data-astro-cid-sz7xmlte>.</span> </div> <div class="text-rb-faint" style="margin-top:6px; font-size:10px; letter-spacing:0.12em;" data-astro-cid-sz7xmlte> 837BANGIN' BEATS SINCE '96 838</div> </div> </div> <div class="rb-footer-nav" data-astro-cid-sz7xmlte> <div class="rb-footer-nav-main" data-astro-cid-sz7xmlte> <div class="rb-footer-nav-stack" data-astro-cid-sz7xmlte> <div class="rb-footer-section" data-astro-cid-sz7xmlte> <div class="text-silver-warm uppercase" style="font-size:10px; letter-spacing:0.18em; margin-bottom:10px; font-weight:700;" data-astro-cid-sz7xmlte>Explore</div> <ul style="list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:8px;" data-astro-cid-sz7xmlte> <li data-astro-cid-sz7xmlte> <a href="/events" class="text-rb-mute no-underline font-display" style="font-size:14px; font-weight:500; letter-spacing:-0.2px; line-height:1.2;" data-astro-cid-sz7xmlte>Events</a> </li><li data-astro-cid-sz7xmlte> <a href="/gallery" class="text-rb-mute no-underline font-display" style="font-size:14px; font-weight:500; letter-spacing:-0.2px; line-height:1.2;" data-astro-cid-sz7xmlte>Gallery</a> </li><li data-astro-cid-sz7xmlte> <a href="https://www.hellomerch.com/collections/relentless-beats" target="_blank" rel="noopener noreferrer" class="text-rb-mute no-underline font-display" style="font-size:14px; font-weight:500; letter-spacing:-0.2px; line-height:1.2;" data-astro-cid-sz7xmlte>Merch Store â</a> </li><li data-astro-cid-sz7xmlte> <a href="/saved" class="text-rb-mute no-underline font-display" style="font-size:14px; font-weight:500; letter-spacing:-0.2px; line-height:1.2;" data-astro-cid-sz7xmlte>Saved</a> </li> </ul> </div><div class="rb-footer-section" data-astro-cid-sz7xmlte> <div class="text-silver-warm uppercase" style="font-size:10px; letter-spacing:0.18em; margin-bottom:10px; font-weight:700;" data-astro-cid-sz7xmlte>Roster</div> <ul style="list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:8px;" data-astro-cid-sz7xmlte> <li data-astro-cid-sz7xmlte> <a href="/artists" class="text-rb-mute no-underline font-display" style="font-size:14px; font-weight:500; letter-spacing:-0.2px; line-height:1.2;" data-astro-cid-sz7xmlte>Artists</a> </li><li data-astro-cid-sz7xmlte> <a href="/venues" class="text-rb-mute no-underline font-display" style="font-size:14px; font-weight:500; letter-spacing:-0.2px; line-height:1.2;" data-astro-cid-sz7xmlte>Venues</a> </li> </ul> </div><div class="rb-footer-section" data-astro-cid-sz7xmlte> <div class="text-silver-warm uppercase" style="font-size:10px; letter-spacing:0.18em; margin-bottom:10px; font-weight:700;" data-astro-cid-sz7xmlte>Editorial</div> <ul style="list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:8px;" data-astro-cid-sz7xmlte> <li data-astro-cid-sz7xmlte> <a href="/rbnews" class="text-rb-mute no-underline font-display" style="font-size:14px; font-weight:500; letter-spacing:-0.2px; line-height:1.2;" data-astro-cid-sz7xmlte>RB News</a> </li> </ul> </div> </div><div class="rb-footer-nav-stack" data-astro-cid-sz7xmlte> <div class="rb-footer-section" data-astro-cid-sz7xmlte> <div class="text-silver-warm uppercase" style="font-size:10px; letter-spacing:0.18em; margin-bottom:10px; font-weight:700;" data-astro-cid-sz7xmlte>Connect</div> <ul style="list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:8px;" data-astro-cid-sz7xmlte> <li data-astro-cid-sz7xmlte> <a href="/about" class="text-rb-mute no-underline font-display" style="font-size:14px; font-weight:500; letter-spacing:-0.2px; line-height:1.2;" data-astro-cid-sz7xmlte>About RB</a> </li><li data-astro-cid-sz7xmlte> <a href="/contact" class="text-rb-mute no-underline font-display" style="font-size:14px; font-weight:500; letter-spacing:-0.2px; line-height:1.2;" data-astro-cid-sz7xmlte>Contact</a> </li> </ul> </div><div class="rb-footer-section" data-astro-cid-sz7xmlte> <div class="text-silver-warm uppercase" style="font-size:10px; letter-spacing:0.18em; margin-bottom:10px; font-weight:700;" data-astro-cid-sz7xmlte>Opportunities</div> <ul style="list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:8px;" data-astro-cid-sz7xmlte> <li data-astro-cid-sz7xmlte> <a href="/jobs" class="text-rb-mute no-underline font-display" style="font-size:14px; font-weight:500; letter-spacing:-0.2px; line-height:1.2;" data-astro-cid-sz7xmlte>Job Opportunities</a> </li> </ul> </div> </div> </div> <div class="rb-footer-section rb-footer-section-follow" data-astro-cid-sz7xmlte> <div class="text-silver-warm uppercase" style="font-size:10px; letter-spacing:0.18em; margin-bottom:10px; font-weight:700;" data-astro-cid-sz7xmlte>Follow</div> <ul style="list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:8px;" data-astro-cid-sz7xmlte> <li data-astro-cid-sz7xmlte> <a href="https://www.instagram.com/relentlessbeats" target="_blank" rel="noopener noreferrer" class="text-rb-mute no-underline font-display inline-flex items-center" style="font-size:14px; font-weight:500; letter-spacing:-0.2px; line-height:1.2; gap:10px;" data-astro-cid-sz7xmlte>
838 <svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" style="flex-shrink:0;" data-astro-cid-sz7xmlte> <path d="M12 2.16c3.2 0 3.58.01 4.85.07 1.17.05 1.8.25 2.23.41.56.22.96.48 1.38.9.42.42.68.82.9 1.38.16.42.36 1.06.41 2.23.06 1.27.07 1.65.07 4.85s-.01 3.58-.07 4.85c-.05 1.17-.25 1.8-.41 2.23-.22.56-.48.96-.9 1.38-.42.42-.82.68-1.38.9-.42.16-1.06.36-2.23.41-1.27.06-1.65.07-4.85.07s-3.58-.01-4.85-.07c-1.17-.05-1.8-.25-2.23-.41a3.7 3.7 0 0 1-1.38-.9 3.7 3.7 0 0 1-.9-1.38c-.16-.42-.36-1.06-.41-2.23C2.17 15.58 2.16 15.2 2.16 12s.01-3.58.07-4.85c.05-1.17.25-1.8.41-2.23.22-.56.48-.96.9-1.38.42-.42.82-.68 1.38-.9.42-.16 1.06-.36 2.23-.41C8.42 2.17 8.8 2.16 12 2.16zm0 1.8c-3.14 0-3.51.01-4.75.07-1.07.05-1.65.23-2.04.38a3.5 3.5 0 0 0-1.27.83 3.5 3.5 0 0 0-.83 1.27c-.15.39-.33.97-.38 2.04-.06 1.24-.07 1.61-.07 4.75s.01 3.51.07 4.75c.05 1.07.23 1.65.38 2.04.18.46.41.79.83 1.27.42.42.81.65 1.27.83.39.15.97.33 2.04.38 1.24.06 1.61.07 4.75.07s3.51-.01 4.75-.07c1.07-.05 1.65-.23 2.04-.38.46-.18.85-.41 1.27-.83.42-.42.65-.81.83-1.27.15-.39.33-.97.38-2.04.06-1.24.07-1.61.07-4.75s-.01-3.51-.07-4.75c-.05-1.07-.23-1.65-.38-2.04a3.5 3.5 0 0 0-.83-1.27 3.5 3.5 0 0 0-1.27-.83c-.39-.15-.97-.33-2.04-.38C15.51 3.97 15.14 3.96 12 3.96zm0 3.06a4.98 4.98 0 1 1 0 9.96 4.98 4.98 0 0 1 0-9.96zm0 8.22a3.24 3.24 0 1 0 0-6.48 3.24 3.24 0 0 0 0 6.48zm6.34-8.42a1.16 1.16 0 1 1-2.32 0 1.16 1.16 0 0 1 2.32 0z" data-astro-cid-sz7xmlte></path> </svg> <span data-astro-cid-sz7xmlte>Instagram â</span> </a> </li><li data-astro-cid-sz7xmlte> <a href="https://www.tiktok.com/@relentlessbeats" target="_blank" rel="noopener noreferrer" class="text-rb-mute no-underline font-display inline-flex items-center" style="font-size:14px; font-weight:500; letter-spacing:-0.2px; line-height:1.2; gap:10px;" data-astro-cid-sz7xmlte> <svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" style="flex-shrink:0;" data-astro-cid-sz7xmlte> <path d="M19.6 8.3a6.4 6.4 0 0 1-3.74-1.21v8.55a5.92 5.92 0 1 1-5.92-5.92c.31 0 .61.03.9.08v3.04a2.93 2.93 0 1 0 2 2.78V2h2.87a3.43 3.43 0 0 0 3.89 3.43V8.3z" data-astro-cid-sz7xmlte></path> </svg> <span data-astro-cid-sz7xmlte>TikTok â</span> </a> </li><li data-astro-cid-sz7xmlte> <a href="https://x.com/relentlessbeats" target="_blank" rel="noopener noreferrer" class="text-rb-mute no-underline font-display inline-flex items-center" style="font-size:14px; font-weight:500; letter-spacing:-0.2px; line-height:1.2; gap:10px;" data-astro-cid-sz7xmlte> <svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" style="flex-shrink:0;" data-astro-cid-sz7xmlte> <path d="M18.24 2.25h3.31l-7.23 8.26 8.5 11.24h-6.66l-5.21-6.82-5.97 6.82H1.67l7.73-8.84L1.25 2.25h6.83l4.71 6.23 5.45-6.23zm-1.16 17.52h1.83L7.08 4.12H5.12L17.08 19.77z" data-astro-cid-sz7xmlte></path> </svg> <span data-astro-cid-sz7xmlte>X â</span> </a> </li><li data-astro-cid-sz7xmlte> <a href="https://www.facebook.com/relentlessbeats" target="_blank" rel="noopener noreferrer" class="text-rb-mute no-underline font-display inline-flex items-center" style="font-size:14px; font-weight:500; letter-spacing:-0.2px; line-height:1.2; gap:10px;" data-astro-cid-sz7xmlte> <svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" style="flex-shrink:0;" data-astro-cid-sz7xmlte> <path d="M22 12a10 10 0 1 0-11.56 9.88v-6.99H7.9V12h2.54V9.8c0-2.51 1.49-3.89 3.77-3.89 1.1 0 2.24.2 2.24.2v2.46h-1.26c-1.24 0-1.63.77-1.63 1.56V12h2.78l-.45 2.89h-2.33v6.99A10 10 0 0 0 22 12z" data-astro-cid-sz7xmlte></path> </svg> <span data-astro-cid-sz7xmlte>Facebook â</span> </a> </li><li data-astro-cid-sz7xmlte> <a href="https://www.youtube.com/relentlessbeatstv" target="_blank" rel="noopener noreferrer" class="text-rb-mute no-underline font-display inline-flex items-center" style="font-size:14px; font-weight:500; letter-spacing:-0.2px; line-height:1.2; gap:10px;" data-astro-cid-sz7xmlte> <svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" style="flex-shrink:0;" data-astro-cid-sz7xmlte> <path d="M21.58 7.2a2.51 2.51 0 0 0-1.77-1.77C18.25 5 12 5 12 5s-6.25 0-7.81.43a2.51 2.51 0 0 0-1.77 1.77C2 8.75 2 12 2 12s0 3.25.42 4.8a2.51 2.51 0 0 0 1.77 1.77C5.75 19 12 19 12 19s6.25 0 7.81-.43a2.51 2.51 0 0 0 1.77-1.77C22 15.25 22 12 22 12s0-3.25-.42-4.8zM10 15V9l5.2 3-5.2 3z" data-astro-cid-sz7xmlte></path> </svg> <span data-astro-cid-sz7xmlte>YouTube â</span> </a> </li><li data-astro-cid-sz7xmlte> <a href="https://open.spotify.com/user/or5hfa0szgokhzhbqvhvdajtp?si=8bcb92a3a0514848" target="_blank" rel="noopener noreferrer" class="text-rb-mute no-underline font-display inline-flex items-center" style="font-size:14px; font-weight:500; letter-spacing:-0.2px; line-height:1.2; gap:10px;" data-astro-cid-sz7xmlte>
838 <svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" style="flex-shrink:0;" data-astro-cid-sz7xmlte> <path d="M12 0a12 12 0 1 0 0 24 12 12 0 0 0 0-24zm5.52 17.3a.75.75 0 0 1-1.03.25c-2.82-1.72-6.36-2.11-10.53-1.16a.75.75 0 0 1-.33-1.46c4.55-1.04 8.47-.59 11.64 1.34.36.22.47.69.25 1.03zm1.47-3.27a.94.94 0 0 1-1.29.31c-3.22-1.98-8.13-2.55-11.95-1.4a.94.94 0 1 1-.54-1.8c4.36-1.32 9.77-.68 13.47 1.6.44.27.58.85.31 1.29zm.13-3.4c-3.86-2.3-10.24-2.5-13.93-1.39a1.13 1.13 0 1 1-.65-2.16c4.23-1.28 11.27-1.04 15.72 1.6a1.13 1.13 0 0 1-1.14 1.95z" data-astro-cid-sz7xmlte></path> </svg> <span data-astro-cid-sz7xmlte>Spotify â</span> </a> </li><li data-astro-cid-sz7xmlte> <a href="https://ra.co/promoters/22594" target="_blank" rel="noopener noreferrer" class="text-rb-mute no-underline font-display inline-flex items-center" style="font-size:14px; font-weight:500; letter-spacing:-0.2px; line-height:1.2; gap:10px;" data-astro-cid-sz7xmlte> <img src="/assets/social-icons/ra.png" alt="" width="16" height="16" loading="lazy" referrerpolicy="no-referrer" style="flex-shrink:0; width:16px; height:16px; object-fit:contain;" data-astro-cid-sz7xmlte> <span data-astro-cid-sz7xmlte>Resident Advisor â</span> </a> </li><li data-astro-cid-sz7xmlte> <a href="https://www.tixr.com/groups/relentlessbeats" target="_blank" rel="noopener noreferrer" class="text-rb-mute no-underline font-display inline-flex items-center" style="font-size:14px; font-weight:500; letter-spacing:-0.2px; line-height:1.2; gap:10px;" data-astro-cid-sz7xmlte> <img src="/assets/social-icons/tixr.png" alt="" width="16" height="16" loading="lazy" referrerpolicy="no-referrer" style="flex-shrink:0; width:16px; height:16px; object-fit:contain;" data-astro-cid-sz7xmlte> <span data-astro-cid-sz7xmlte>Tixr â</span> </a> </li> </ul> </div> </div> </div> <div class="flex flex-wrap items-center" style="gap:18px; margin-top:28px; padding-top:18px; border-top:1px solid var(--rb-rule); font-size:12px; letter-spacing:0.1em;" data-astro-cid-sz7xmlte> <a href="/privacy-policy/" class="text-rb-faint no-underline" style="font-size:12px; letter-spacing:0.1em;" data-astro-cid-sz7xmlte> Privacy Policy </a><a href="/terms-and-conditions/" class="text-rb-faint no-underline" style="font-size:12px; letter-spacing:0.1em;" data-astro-cid-sz7xmlte> Terms and Conditions </a><a href="/accessibility/" class="text-rb-faint no-underline" style="font-size:12px; letter-spacing:0.1em;" data-astro-cid-sz7xmlte> Accessibility </a> <span style="flex:1;" data-astro-cid-sz7xmlte></span> <span class="text-rb-faint" style="font-size:12px;" data-astro-cid-sz7xmlte>© 2026</span> </div> </div> </footer> <nav id="rb-menu" class="rb-menu" aria-hidden="true" aria-label="Site navigation" data-rb-menu-source="api:Mobile Nav v4:6" data-astro-cid-wbxrrwi2> <div class="rb-menu-backdrop" data-astro-cid-wbxrrwi2></div> <div class="rb-menu-panel" data-astro-cid-wbxrrwi2> <div class="rb-menu-head" data-astro-cid-wbxrrwi2> <img src="/assets/rb-logo.png" alt="Relentless Beats" style="height:28px; width:auto; display:block; filter:brightness(0) invert(0.96); opacity:0.95;" data-astro-cid-wbxrrwi2> <button type="button" class="rb-menu-close font-display cursor-pointer" aria-label="Close menu" style="background:transparent; border:none; padding:10px; margin:-10px; font-size:24px; font-weight:400; line-height:1; color:var(--rb-ink); min-width:44px; min-height:44px;" data-astro-cid-wbxrrwi2>Ã</button> </div> <div class="rb-menu-scroll" data-astro-cid-wbxrrwi2> <div style="padding:18px 24px 0;" data-astro-cid-wbxrrwi2> <a href="/signup" data-rb-hive-open class="block no-underline" style="padding:14px 16px; background:var(--rb-bg-raised); border:1px solid var(--rb-rule-strong); color:var(--rb-ink); margin-bottom:18px;" data-astro-cid-wbxrrwi2> <div class="font-mono uppercase text-hot" style="font-size:9.5px; letter-spacing:0.18em;" data-astro-cid-wbxrrwi2> 839Get on the list 840</div> <div class="font-display" style="font-size:18px; font-weight:700; letter-spacing:-0.4px; line-height:1.1; margin-top:6px;" data-astro-cid-wbxrrwi2>Don't miss a beat.</div> <div class="font-mono text-rb-faint" style="font-size:10px; letter-spacing:0.14em; margin-top:6px;" data-astro-cid-wbxrrwi2> 841TEXTS · EMAIL · SIGN UP â 842</div> </a> </div> <div class="rb-menu-grid" style="display:grid; grid-template-columns:1fr 1fr; column-gap:16px; row-gap:18px; padding:0 24px 4px;" data-astro-cid-wbxrrwi2> <section data-astro-cid-wbxrrwi2> <div class="flex items-baseline gap-2" style="padding-bottom:8px; border-bottom:1px solid var(--rb-rule);" data-astro-cid-wbxrrwi2> <span class="font-mono text-rb-faint" style="font-size:9.5px; letter-spacing:0.16em;" data-astro-cid-wbxrrwi2>/01</span> <span class="font-mono uppercase text-silver-warm" style="font-size:10px; letter-spacing:0.18em; font-weight:700;" data-astro-cid-wbxrrwi2>Explore</span> </div> <ul style="list-style:none; padding:0; margin:0;" data-astro-cid-wbxrrwi2> <li data-astro-cid-wbxrrwi2> <a href="/events" class="rb-menu-link" style="display:flex; align-items:center; justify-content:space-between; padding:10px 0; color:var(--rb-ink); text-decoration:none; font-family:var(--rb-font-display); font-size:17px; font-weight:600; letter-spacing:-0.3px; border-bottom:1px solid var(--rb-rule);" data-astro-cid-wbxrrwi2> <span data-astro-cid-wbxrrwi2>Events</span> <span class="font-mono text-rb-faint" style="font-size:10px; letter-spacing:0.14em;" data-astro-cid-wbxrrwi2>â</span> </a> </li><li data-astro-cid-wbxrrwi2> <a href="/gallery" class="rb-menu-link" style="display:flex; align-items:center; justify-content:space-between; padding:10px 0; color:var(--rb-ink); text-decoration:none; font-family:var(--rb-font-display); font-size:17px; font-weight:600; letter-spacing:-0.3px; border-bottom:1px solid var(--rb-rule);" data-astro-cid-wbxrrwi2> <span data-astro-cid-wbxrrwi2>Gallery</span> <span class="font-mono text-rb-faint" style="font-size:10px; letter-spacing:0.14em;" data-astro-cid-wbxrrwi2>â</span> </a> </li><li data-astro-cid-wbxrrwi2> <a href="https://www.hellomerch.com/collections/relentless-beats" target="_blank" rel="noopener noreferrer" class="rb-menu-link" style="display:flex; align-items:center; justify-content:space-between; padding:10px 0; color:var(--rb-ink); text-decoration:none; font-family:var(--rb-font-display); font-size:17px; font-weight:600; letter-spacing:-0.3px; border-bottom:1px solid var(--rb-rule);" data-astro-cid-wbxrrwi2> <span data-astro-cid-wbxrrwi2>Merch Store</span> <span class="font-mono text-rb-faint" style="font-size:10px; letter-spacing:0.14em;" data-astro-cid-wbxrrwi2>â</span> </a> </li><li data-astro-cid-wbxrrwi2> <a href="/saved" class="rb-menu-link" style="display:flex; align-items:center; justify-content:space-between; padding:10px 0; color:var(--rb-ink); text-decoration:none; font-family:var(--rb-font-display); font-size:17px; font-weight:600; letter-spacing:-0.3px; border-bottom:1px solid var(--rb-rule);" data-astro-cid-wbxrrwi2> <span data-astro-cid-wbxrrwi2>Saved</span> <span class="font-mono text-rb-faint" style="font-size:10px; letter-spacing:0.14em;" data-astro-cid-wbxrrwi2>â</span> </a> </li> </ul> </section><section data-astro-cid-wbxrrwi2> <div class="flex items-baseline gap-2" style="padding-bottom:8px; border-bottom:1px solid var(--rb-rule);" data-astro-cid-wbxrrwi2> <span class="font-mono text-rb-faint" style="font-size:9.5px; letter-spacing:0.16em;" data-astro-cid-wbxrrwi2>/02</span> <span class="font-mono uppercase text-silver-warm" style="font-size:10px; letter-spacing:0.18em; font-weight:700;" data-astro-cid-wbxrrwi2>Roster</span> </div> <ul style="list-style:none; padding:0; margin:0;" data-astro-cid-wbxrrwi2> <li data-astro-cid-wbxrrwi2> <a href="/artists" class="rb-menu-link" style="display:flex; align-items:center; justify-content:space-between; padding:10px 0; color:var(--rb-ink); text-decoration:none; font-family:var(--rb-font-display); font-size:17px; font-weight:600; letter-spacing:-0.3px; border-bottom:1px solid var(--rb-rule);" data-astro-cid-wbxrrwi2> <span data-astro-cid-wbxrrwi2>Artists</span> <span class="font-mono text-rb-faint" style="font-size:10px; letter-spacing:0.14em;" data-astro-cid-wbxrrwi2>â</span> </a> </li><li data-astro-cid-wbxrrwi2> <a href="/venues" class="rb-menu-link" style="display:flex; align-items:center; justify-content:space-between; padding:10px 0; color:var(--rb-ink); text-decoration:none; font-family:var(--rb-font-display); font-size:17px; font-weight:600; letter-spacing:-0.3px; border-bottom:1px solid var(--rb-rule);" data-astro-cid-wbxrrwi2> <span data-astro-cid-wbxrrwi2>Venues</span> <span class="font-mono text-rb-faint" style="font-size:10px; letter-spacing:0.14em;" data-astro-cid-wbxrrwi2>â</span> </a> </li> </ul> </section><section data-astro-cid-wbxrrwi2> <div class="flex items-baseline gap-2" style="padding-bottom:8px; border-bottom:1px solid var(--rb-rule);" data-astro-cid-wbxrrwi2> <span class="font-mono text-rb-faint" style="font-size:9.5px; letter-spacing:0.16em;" data-astro-cid-wbxrrwi2>/03</span> <span class="font-mono uppercase text-silver-warm" style="font-size:10px; letter-spacing:0.18em; font-weight:700;" data-astro-cid-wbxrrwi2>Editorial</span> </div> <ul style="list-style:none; padding:0; margin:0;" data-astro-cid-wbxrrwi2> <li data-astro-cid-wbxrrwi2> <a href="/rbnews" class="rb-menu-link" style="display:flex; align-items:center; justify-content:space-between; padding:10px 0; color:var(--rb-ink); text-decoration:none; font-family:var(--rb-font-display); font-size:17px; font-weight:600; letter-spacing:-0.3px; border-bottom:1px solid var(--rb-rule);" data-astro-cid-wbxrrwi2> <span data-astro-cid-wbxrrwi2>RB News</span> <span class="font-mono text-rb-faint" style="font-size:10px; letter-spacing:0.14em;" data-astro-cid-wbxrrwi2>â</span> </a> </li> </ul> </section><section data-astro-cid-wbxrrwi2> <div class="flex items-baseline gap-2" style="padding-bottom:8px; border-bottom:1px solid var(--rb-rule);" data-astro-cid-wbxrrwi2> <span class="font-mono text-rb-faint" style="font-size:9.5px; letter-spacing:0.16em;" data-astro-cid-wbxrrwi2>/04</span> <span class="font-mono uppercase text-silver-warm" style="font-size:10px; letter-spacing:0.18em; font-weight:700;" data-astro-cid-wbxrrwi2>Connect</span> </div> <ul style="list-style:none; padding:0; margin:0;" data-astro-cid-wbxrrwi2> <li data-astro-cid-wbxrrwi2> <a href="/about" class="rb-menu-link" style="display:flex; align-items:center; justify-content:space-between; padding:10px 0; color:var(--rb-ink); text-decoration:none; font-family:var(--rb-font-display); font-size:17px; font-weight:600; letter-spacing:-0.3px; border-bottom:1px solid var(--rb-rule);" data-astro-cid-wbxrrwi2> <span data-astro-cid-wbxrrwi2>About RB</span> <span class="font-mono text-rb-faint" style="font-size:10px; letter-spacing:0.14em;" data-astro-cid-wbxrrwi2>â</span> </a> </li><li data-astro-cid-wbxrrwi2> <a href="/contact" class="rb-menu-link" style="display:flex; align-items:center; justify-content:space-between; padding:10px 0; color:var(--rb-ink); text-decoration:none; font-family:var(--rb-font-display); font-size:17px; font-weight:600; letter-spacing:-0.3px; border-bottom:1px solid var(--rb-rule);" data-astro-cid-wbxrrwi2> <span data-astro-cid-wbxrrwi2>Contact</span> <span class="font-mono text-rb-faint" style="font-size:10px; letter-spacing:0.14em;" data-astro-cid-wbxrrwi2>â</span> </a> </li> </ul> </section><section data-astro-cid-wbxrrwi2> <div class="flex items-baseline gap-2" style="padding-bottom:8px; border-bottom:1px solid var(--rb-rule);" data-astro-cid-wbxrrwi2> <span class="font-mono text-rb-faint" style="font-size:9.5px; letter-spacing:0.16em;" data-astro-cid-wbxrrwi2>/05</span> <span class="font-mono uppercase text-silver-warm" style="font-size:10px; letter-spacing:0.18em; font-weight:700;" data-astro-cid-wbxrrwi2>Opportunities</span> </div> <ul style="list-style:none; padding:0; margin:0;" data-astro-cid-wbxrrwi2> <li data-astro-cid-wbxrrwi2> <a href="/jobs" class="rb-menu-link" style="display:flex; align-items:center; justify-content:space-between; padding:10px 0; color:var(--rb-ink); text-decoration:none; font-family:var(--rb-font-display); font-size:17px; font-weight:600; letter-spacing:-0.3px; border-bottom:1px solid var(--rb-rule);" data-astro-cid-wbxrrwi2> <span data-astro-cid-wbxrrwi2>Job Opportunities</span> <span class="font-mono text-rb-faint" style="font-size:10px; letter-spacing:0.14em;" data-astro-cid-wbxrrwi2>â</span> </a> </li> </ul> </section><section style="grid-column:1 / -1;" data-astro-cid-wbxrrwi2> <div class="flex items-baseline gap-2" style="padding-bottom:8px; border-bottom:1px solid var(--rb-rule);" data-astro-cid-wbxrrwi2> <span class="font-mono text-rb-faint" style="font-size:9.5px; letter-spacing:0.16em;" data-astro-cid-wbxrrwi2>/06</span> <span class="font-mono uppercase text-silver-warm" style="font-size:10px; letter-spacing:0.18em; font-weight:700;" data-astro-cid-wbxrrwi2>Follow</span> </div> <ul class="flex items-center" style="list-style:none; padding:0; margin:14px 0 4px; gap:22px;" data-astro-cid-wbxrrwi2> <li data-astro-cid-wbxrrwi2> <a href="https://www.instagram.com/relentlessbeats" target="_blank" rel="noopener noreferrer" aria-label="Instagram" title="Instagram" class="rb-social inl
842ine-flex items-center justify-center no-underline" style="width:32px; height:32px; color:var(--rb-silver-warm);" data-astro-cid-wbxrrwi2> <svg width="24" height="24" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" style="display:block;" data-astro-cid-wbxrrwi2> <path d="M12 2.16c3.2 0 3.58.01 4.85.07 1.17.05 1.8.25 2.23.41.56.22.96.48 1.38.9.42.42.68.82.9 1.38.16.42.36 1.06.41 2.23.06 1.27.07 1.65.07 4.85s-.01 3.58-.07 4.85c-.05 1.17-.25 1.8-.41 2.23-.22.56-.48.96-.9 1.38-.42.42-.82.68-1.38.9-.42.16-1.06.36-2.23.41-1.27.06-1.65.07-4.85.07s-3.58-.01-4.85-.07c-1.17-.05-1.8-.25-2.23-.41a3.7 3.7 0 0 1-1.38-.9 3.7 3.7 0 0 1-.9-1.38c-.16-.42-.36-1.06-.41-2.23C2.17 15.58 2.16 15.2 2.16 12s.01-3.58.07-4.85c.05-1.17.25-1.8.41-2.23.22-.56.48-.96.9-1.38.42-.42.82-.68 1.38-.9.42-.16 1.06-.36 2.23-.41C8.42 2.17 8.8 2.16 12 2.16zm0 1.8c-3.14 0-3.51.01-4.75.07-1.07.05-1.65.23-2.04.38a3.5 3.5 0 0 0-1.27.83 3.5 3.5 0 0 0-.83 1.27c-.15.39-.33.97-.38 2.04-.06 1.24-.07 1.61-.07 4.75s.01 3.51.07 4.75c.05 1.07.23 1.65.38 2.04.18.46.41.79.83 1.27.42.42.81.65 1.27.83.39.15.97.33 2.04.38 1.24.06 1.61.07 4.75.07s3.51-.01 4.75-.07c1.07-.05 1.65-.23 2.04-.38.46-.18.85-.41 1.27-.83.42-.42.65-.81.83-1.27.15-.39.33-.97.38-2.04.06-1.24.07-1.61.07-4.75s-.01-3.51-.07-4.75c-.05-1.07-.23-1.65-.38-2.04a3.5 3.5 0 0 0-.83-1.27 3.5 3.5 0 0 0-1.27-.83c-.39-.15-.97-.33-2.04-.38C15.51 3.97 15.14 3.96 12 3.96zm0 3.06a4.98 4.98 0 1 1 0 9.96 4.98 4.98 0 0 1 0-9.96zm0 8.22a3.24 3.24 0 1 0 0-6.48 3.24 3.24 0 0 0 0 6.48zm6.34-8.42a1.16 1.16 0 1 1-2.32 0 1.16 1.16 0 0 1 2.32 0z" data-astro-cid-wbxrrwi2></path> </svg> </a> </li><li data-astro-cid-wbxrrwi2> <a href="https://www.tiktok.com/@relentlessbeats" target="_blank" rel="noopener noreferrer" aria-label="TikTok" title="TikTok" class="rb-social inline-flex items-center justify-center no-underline" style="width:32px; height:32px; color:var(--rb-silver-warm);" data-astro-cid-wbxrrwi2> <svg width="24" height="24" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" style="display:block;" data-astro-cid-wbxrrwi2> <path d="M19.6 8.3a6.4 6.4 0 0 1-3.74-1.21v8.55a5.92 5.92 0 1 1-5.92-5.92c.31 0 .61.03.9.08v3.04a2.93 2.93 0 1 0 2 2.78V2h2.87a3.43 3.43 0 0 0 3.89 3.43V8.3z" data-astro-cid-wbxrrwi2></path> </svg> </a> </li><li data-astro-cid-wbxrrwi2> <a href="https://x.com/relentlessbeats" target="_blank" rel="noopener noreferrer" aria-label="X" title="X" class="rb-social inline-flex items-center justify-center no-underline" style="width:32px; height:32px; color:var(--rb-silver-warm);" data-astro-cid-wbxrrwi2> <svg width="24" height="24" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" style="display:block;" data-astro-cid-wbxrrwi2> <path d="M18.24 2.25h3.31l-7.23 8.26 8.5 11.24h-6.66l-5.21-6.82-5.97 6.82H1.67l7.73-8.84L1.25 2.25h6.83l4.71 6.23 5.45-6.23zm-1.16 17.52h1.83L7.08 4.12H5.12L17.08 19.77z" data-astro-cid-wbxrrwi2></path> </svg> </a> </li><li data-astro-cid-wbxrrwi2> <a href="https://www.facebook.com/relentlessbeats" target="_blank" rel="noopener noreferrer" aria-label="Facebook" title="Facebook" class="rb-social inline-flex items-center justify-center no-underline" style="width:32px; height:32px; color:var(--rb-silver-warm);" data-astro-cid-wbxrrwi2> <svg width="24" height="24" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" style="display:block;" data-astro-cid-wbxrrwi2> <path d="M22 12a10 10 0 1 0-11.56 9.88v-6.99H7.9V12h2.54V9.8c0-2.51 1.49-3.89 3.77-3.89 1.1 0 2.24.2 2.24.2v2.46h-1.26c-1.24 0-1.63.77-1.63 1.56V12h2.78l-.45 2.89h-2.33v6.99A10 10 0 0 0 22 12z" data-astro-cid-wbxrrwi2></path> </svg> </a> </li><li data-astro-cid-wbxrrwi2> <a href="https://www.youtube.com/relentlessbeatstv" target="_blank" rel="noopener noreferrer" aria-label="YouTube" title="YouTube" class="rb-social inline-flex items-center justify-center no-underline" style="width:32px; height:32px; color:var(--rb-silver-warm);" data-astro-cid-wbxrrwi2> <svg width="24" height="24" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" style="display:block;" data-astro-cid-wbxrrwi2> <path d="M21.58 7.2a2.51 2.51 0 0 0-1.77-1.77C18.25 5 12 5 12 5s-6.25 0-7.81.43a2.51 2.51 0 0 0-1.77 1.77C2 8.75 2 12 2 12s0 3.25.42 4.8a2.51 2.51 0 0 0 1.77 1.77C5.75 19 12 19 12 19s6.25 0 7.81-.43a2.51 2.51 0 0 0 1.77-1.77C22 15.25 22 12 22 12s0-3.25-.42-4.8zM10 15V9l5.2 3-5.2 3z" data-astro-cid-wbxrrwi2></path> </svg> </a> </li><li data-astro-cid-wbxrrwi2> <a href="https://open.spotify.com/user/or5hfa0szgokhzhbqvhvdajtp?si=8bcb92a3a0514848" target="_blank" rel="noopener noreferrer" aria-label="Spotify" title="Spotify" class="rb-social inl
842ine-flex items-center justify-center no-underline" style="width:32px; height:32px; color:var(--rb-silver-warm);" data-astro-cid-wbxrrwi2> <svg width="24" height="24" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" style="display:block;" data-astro-cid-wbxrrwi2> <path d="M12 0a12 12 0 1 0 0 24 12 12 0 0 0 0-24zm5.52 17.3a.75.75 0 0 1-1.03.25c-2.82-1.72-6.36-2.11-10.53-1.16a.75.75 0 0 1-.33-1.46c4.55-1.04 8.47-.59 11.64 1.34.36.22.47.69.25 1.03zm1.47-3.27a.94.94 0 0 1-1.29.31c-3.22-1.98-8.13-2.55-11.95-1.4a.94.94 0 1 1-.54-1.8c4.36-1.32 9.77-.68 13.47 1.6.44.27.58.85.31 1.29zm.13-3.4c-3.86-2.3-10.24-2.5-13.93-1.39a1.13 1.13 0 1 1-.65-2.16c4.23-1.28 11.27-1.04 15.72 1.6a1.13 1.13 0 0 1-1.14 1.95z" data-astro-cid-wbxrrwi2></path> </svg> </a> </li> </ul> </section> </div> </div> <button type="button" data-rb-feedback-open data-rb-menu-feedback class="rb-menu-link" style="display:flex; align-items:center; justify-content:space-between; width:100%; margin-top:auto; padding:14px 24px; background:transparent; border:none; border-top:1px solid var(--rb-rule); color:var(--rb-ink); cursor:pointer; font-family:var(--rb-font-display); font-size:15px; font-weight:600; letter-spacing:-0.3px; text-align:left;" data-astro-cid-wbxrrwi2> <span data-astro-cid-wbxrrwi2>Send feedback</span> <span class="font-mono text-rb-faint" style="font-size:10px; letter-spacing:0.14em;" data-astro-cid-wbxrrwi2>â</span> </button> <div class="rb-menu-foot" style="padding:20px 24px 24px; border-top:1px solid var(--rb-rule); display:flex; align-items:flex-end; gap:14px; background:var(--rb-bg-raised);" data-astro-cid-wbxrrwi2> <img src="/assets/rb-mark.png" alt="" style="height:40px; width:auto; filter:brightness(0) invert(0.85);" data-astro-cid-wbxrrwi2> <div class="flex-1" data-astro-cid-wbxrrwi2> <div class="font-display text-silver-warm" style="font-size:20px; font-weight:600; letter-spacing:-0.5px; line-height:1;" data-astro-cid-wbxrrwi2> 843Dance Lives Here<span class="text-live" data-astro-cid-wbxrrwi2>.</span> </div> <div class="font-mono text-rb-faint" style="margin-top:6px; font-size:10px; letter-spacing:0.12em;" data-astro-cid-wbxrrwi2>BANGIN' BEATS SINCE '96</div> </div> </div> </div> </nav>
843<script> 844 // Scroll-aware sticky nav: hide on scroll down past a threshold, 845 // reveal on any upward scroll. Always visible near page top. 846 (function () { 847 if (document.documentElement.dataset.rbNavBound === '1') return; 848 document.documentElement.dataset.rbNavBound = '1'; 849 let lastY = window.scrollY; 850 let ticking = false; 851 const THRESHOLD = 80; 852 const DELTA = 6; 853 854 function update() { 855 const y = window.scrollY; 856 const navs = document.querySelectorAll('[data-rb-sticky-nav]'); 857 if (y < THRESHOLD) { 858 navs.forEach(n => n.removeAttribute('data-rb-nav-hidden')); 859 } else if (y > lastY + DELTA) { 860 navs.forEach(n => n.setAttribute('data-rb-nav-hidden', 'true')); 861 } else if (y < lastY - DELTA) { 862 navs.forEach(n => n.removeAttribute('data-rb-nav-hidden')); 863 } 864 lastY = y; 865 ticking = false; 866 } 867 868 window.addEventListener('scroll', () => { 869 if (!ticking) { requestAnimationFrame(update); ticking = true; } 870 }, { passive: true }); 871 })(); 872 873 (function () { 874 const root = document.getElementById('rb-menu'); 875 if (!root || root.dataset.bound === '1') return; 876 root.dataset.bound = '1'; 877 878 const toggles = document.querySelectorAll('[data-rb-menu-open]'); 879 const closeBtn = root.querySelector('.rb-menu-close'); 880 const backdrop = root.querySelector('.rb-menu-backdrop'); 881 882 function open() { 883 root.setAttribute('aria-hidden', 'false'); 884 toggles.forEach((t) => t.setAttribute('aria-expanded', 'true')); 885 document.body.style.overflow = 'hidden'; 886 } 887 function close() { 888 root.setAttribute('aria-hidden', 'true'); 889 toggles.forEach((t) => t.setAttribute('aria-expanded', 'false')); 890 document.body.style.overflow = ''; 891 } 892 893 toggles.forEach((t) => t.addEventListener('click', open)); 894 closeBtn && closeBtn.addEventListener('click', close); 895 backdrop && backdrop.addEventListener('click', close); 896 // Feedback opens the global popup (z above the drawer); close the drawer 897 // so the modal isn't stacked over an open menu. 898 root.querySelector('[data-rb-menu-feedback]') && root.querySelector('[data-rb-menu-feedback]').addEventListener('click', close); 899 document.addEventListener('keydown', (e) => { 900 if (e.key === 'Escape' && root.getAttribute('aria-hidden') === 'false') close(); 901 }); 902 })(); 903 904 // Share with a robust fallback chain: 905 // 1. Web Share API (HTTPS-only on mobile) 906 // 2. Clipboard API (HTTPS-only) 907 // 3. Legacy execCommand('copy') via a transient textarea (works on HTTP) 908 function showRbToast(text) { 909 const el = document.createElement('div'); 910 el.textContent = text; 911 el.setAttribute('role', 'status'); 912 el.style.cssText = 'position:fixed; left:50%; bottom:32px; transform:translate(-50%, 8px); background:var(--rb-silver-warm); color:var(--rb-silver-ink); padding:11px 18px; font-family:var(--rb-font-mono); font-size:11px; letter-spacing:0.14em; text-transform:uppercase; z-index:60; opacity:0; transition:opacity 180ms ease, transform 220ms ease; box-shadow:0 8px 24px rgba(0,0,0,0.4);'; 913 document.body.appendChild(el); 914 requestAnimationFrame(() => { 915 el.style.opacity = '1'; 916 el.style.transform = 'translate(-50%, 0)'; 917 }); 918 setTimeout(() => { 919 el.style.opacity = '0'; 920 el.style.transform = 'translate(-50%, 8px)'; 921 setTimeout(() => el.remove(), 250); 922 }, 1700); 923 } 924 function legacyCopy(text) { 925 try { 926 const ta = document.createElement('textarea'); 927 ta.value = text; 928 ta.setAttribute('readonly', ''); 929 ta.style.cssText = 'position:fixed; top:0; left:0; opacity:0; pointer-events:none;'; 930 document.body.appendChild(ta); 931 ta.select(); 932 ta.setSelectionRange(0, text.length); 933 const ok = document.execCommand('copy'); 934 document.body.removeChild(ta); 935 return ok; 936 } catch { 937 return false; 938 } 939 } 940 async function rbShare(url, title) { 941 if (navigator.share) { 942 try { await navigator.share({ title, url }); return 'shared'; } 943 catch (e) { if (e && e.name === 'AbortError') return 'aborted'; } 944 } 945 if (navigator.clipboard && window.isSecureContext) {
946 try { await navigator.clipboard.writeText(url); return 'copied'; } catch {} 947 } 948 return legacyCopy(url) ? 'copied' : 'failed'; 949 } 950 (function () { 951 document.querySelectorAll('[data-rb-share]').forEach((btn) => { 952 if (btn.dataset.bound === '1') return; 953 btn.dataset.bound = '1'; 954 btn.addEventListener('click', async (e) => { 955 e.preventDefault(); 956 const url = btn.getAttribute('data-rb-share-url') || location.href; 957 const title = btn.getAttribute('data-rb-share-title') || document.title; 958 const result = await rbShare(url, title); 959 if (result === 'copied') showRbToast('Link copied'); 960 else if (result === 'failed') showRbToast('Couldnât share â copy the URL bar'); 961 }); 962 }); 963 })(); 964 965 // Cookie-based saved events. Document-level delegation so newly 966 // injected save buttons (calendar popups, infinite-scroll appended 967 // rows, etc.) just work â no per-element binding needed. Also keeps 968 // every save button on the page in sync: toggling one updates the 969 // visual state of every other button bound to the same slug. 970 (function () { 971 function readSaved() { 972 const m = document.cookie.match(/(?:^|;\s*)rb_saved=([^;]*)/); 973 if (!m) return [];
974 try { return decodeURIComponent(m[1]).split(',').filter(Boolean); } catch { return []; } 975 } 976 function writeSaved(list) { 977 const v = encodeURIComponent(list.join(',')); 978 document.cookie = 'rb_saved=' + v + '; max-age=31536000; path=/; samesite=lax'; 979 } 980 function syncMatching(slug, nowSaved) { 981 var sel = '[data-rb-save][data-rb-save-slug="' + (window.CSS && CSS.escape ? CSS.escape(slug) : slug) + '"]'; 982 document.querySelectorAll(sel).forEach(function (b) { 983 b.setAttribute('aria-pressed', nowSaved ? 'true' : 'false'); 984 b.setAttribute('aria-label', nowSaved ? 'Remove from saved' : 'Save'); 985 }); 986 } 987 document.addEventListener('click', function (e) { 988 var btn = e.target && e.target.closest && e.target.closest('[data-rb-save]'); 989 if (!btn) return; 990 var slug = btn.getAttribute('data-rb-save-slug'); 991 if (!slug) return; 992 // The button sits inside <a> tags in some surfaces (e.g. event 993 // list rows that wrap the whole row in a link). Stop the click 994 // from bubbling so it doesn't navigate. 995 e.preventDefault(); 996 e.stopPropagation(); 997 var list = readSaved(); 998 var i = list.indexOf(slug); 999 if (i >= 0) list.splice(i, 1); 1000 else list.push(slug); 1001 writeSaved(list); 1002 syncMatching(slug, i < 0); 1003 }); 1004 })(); 1005</script>
1005 <div id="rb-lightbox" class="rb-lightbox" aria-hidden="true" role="dialog" aria-label="Image viewer" data-astro-cid-gixpweiw> <button type="button" class="rb-lightbox-backdrop" aria-label="Close image viewer" tabindex="-1" data-astro-cid-gixpweiw></button> <button type="button" class="rb-lightbox-close" aria-label="Close image viewer" data-astro-cid-gixpweiw>Ã</button> <button type="button" class="rb-lightbox-nav rb-lightbox-prev" aria-label="Previous image" data-astro-cid-gixpweiw>â¹</button> <button type="button" class="rb-lightbox-nav rb-lightbox-next" aria-label="Next image" data-astro-cid-gixpweiw>âº</button> <img class="rb-lightbox-img" alt="" data-astro-cid-gixpweiw> <a class="rb-lightbox-end" data-rb-lightbox-end-card hidden href="#" data-astro-cid-gixpweiw> <span class="rb-lightbox-end-plus" data-rb-lightbox-end-count data-astro-cid-gixpweiw>+0</span> <span class="font-mono uppercase rb-lightbox-end-label" data-rb-lightbox-end-label data-astro-cid-gixpweiw>MORE â</span> <span class="font-mono uppercase rb-lightbox-end-sub" data-rb-lightbox-end-sub data-astro-cid-gixpweiw>View event</span> </a> <div class="rb-lightbox-counter font-mono" aria-live="polite" data-astro-cid-gixpweiw></div> </div>
1005<script> 1006 (function () { 1007 const root = document.getElementById('rb-lightbox'); 1008 if (!root || root.dataset.bound === '1') return; 1009 root.dataset.bound = '1'; 1010 const img = root.querySelector('.rb-lightbox-img'); 1011 const closeBtn = root.querySelector('.rb-lightbox-close'); 1012 const backdrop = root.querySelector('.rb-lightbox-backdrop'); 1013 const prevBtn = root.querySelector('.rb-lightbox-prev'); 1014 const nextBtn = root.querySelector('.rb-lightbox-next'); 1015 const counter = root.querySelector('.rb-lightbox-counter'); 1016 const endCard = root.querySelector('[data-rb-lightbox-end-card]'); 1017 const endCount = root.querySelector('[data-rb-lightbox-end-count]'); 1018 const endSub = root.querySelector('[data-rb-lightbox-end-sub]'); 1019 1020 // Set entries are either `{ kind: 'image', url, alt }` or 1021 // `{ kind: 'end', href, count, label }`. End slides come from a 1022 // sibling element with [data-rb-lightbox-end-href] in the same 1023 // group â typically the "+N MORE â" tile at the strip's tail. 1024 let set = []; 1025 let idx = 0; 1026 // Live preload cache. Holding Image refs in a Map keeps the fetch 1027 // alive across renders â a fire-and-forget `new Image(); n.src = â¦` 1028 // can get garbage-collected before the request completes, especially 1029 // under memory pressure. We keep a small window (±2 around the 1030 // current image) so prev/next/skip-2 all feel instant and the cache 1031 // doesn't balloon on a 200-photo set. 1032 const preloads = new Map(); 1033 const PRELOAD_RADIUS = 2; 1034 1035 function preload(url) { 1036 if (!url || preloads.has(url)) return; 1037 const im = new Image(); 1038 // Low fetchpriority so neighbor preloads don't compete with the 1039 // visible image's request â that one stays default priority. 1040 try { im.fetchPriority = 'low'; } catch (_) {} 1041 im.decoding = 'async'; 1042 im.src = url; 1043 preloads.set(url, im); 1044 } 1045 1046 function pruneCache(activeIdx) { 1047 if (!set.length) return; 1048 const keep = new Set(); 1049 for (let off = -PRELOAD_RADIUS; off <= PRELOAD_RADIUS; off++) { 1050 const i = ((activeIdx + off) % set.length + set.length) % set.length; 1051 const it = set[i]; 1052 if (it && it.kind === 'image' && it.url) keep.add(it.url); 1053 } 1054 // Drop anything outside the window so we don't leak refs on big sets. 1055 for (const url of preloads.keys()) { 1056 if (!keep.has(url)) preloads.delete(url); 1057 } 1058 } 1059 1060 function render() { 1061 const item = set[idx]; 1062 if (!item) return; 1063 1064 if (item.kind === 'end') { 1065 // Swap the image out for the end-card. Lightbox stays open; 1066 // clicking the card itself navigates to the event detail page. 1067 if (img) { 1068 img.removeAttribute('src'); 1069 img.style.display = 'none'; 1070 } 1071 if (endCard) { 1072 endCard.setAttribute('href', item.href || '#'); 1073 if (endCount) endCount.textContent = '+' + (item.count || 0); 1074 if (endSub) endSub.textContent = item.label || 'View event'; 1075 endCard.hidden = false; 1076 } 1077 } else if (img) { 1078 if (endCard) endCard.hidden = true; 1079 img.style.display = ''; 1080 // Fade swap. The current image takes the network priority; we 1081 // preload neighbors immediately so the *next* nav click finds 1082 // the image already in the cache. 1083 img.classList.add('rb-fading'); 1084 const tmp = new Image(); 1085 tmp.onload = () => { 1086 img.src = item.url; 1087 img.alt = item.alt || ''; 1088 requestAnimationFrame(() => img.classList.remove('rb-fading')); 1089 }; 1090 tmp.onerror = () => { 1091 img.src = item.url; 1092 img.classList.remove('rb-fading'); 1093 }; 1094 tmp.src = item.url; 1095 // Cache the current frame so reopening lands instantly. 1096 preloads.set(item.url, tmp); 1097 } 1098 1099 if (set.length > 1) { 1100 root.setAttribute('data-rb-multi', 'true');
1101 root.setAttribute('data-rb-has-prev', 'true'); 1102 root.setAttribute('data-rb-has-next', 'true'); 1103 if (counter) counter.textContent = `${idx + 1} / ${set.length}`; 1104 } else { 1105 root.removeAttribute('data-rb-multi'); 1106 root.removeAttribute('data-rb-has-prev'); 1107 root.removeAttribute('data-rb-has-next'); 1108 } 1109 1110 // Anticipatory preload: ±PRELOAD_RADIUS around the current index. 1111 // Skip non-image entries â the end card doesn't need a fetch. 1112 for (let off = 1; off <= PRELOAD_RADIUS; off++) { 1113 const next = (idx + off) % set.length; 1114 const prev = ((idx - off) % set.length + set.length) % set.length; 1115 if (next !== idx && set[next].kind === 'image') preload(set[next].url); 1116 if (prev !== idx && prev !== next && set[prev].kind === 'image') preload(set[prev].url); 1117 } 1118 pruneCache(idx); 1119 } 1120 function open(url, alt, group) { 1121 if (group) { 1122 const sel = '[data-rb-lightbox][data-rb-lightbox-group="' + CSS.escape(group) + '"]'; 1123 const peers = document.querySelectorAll(sel); 1124 set = Array.from(peers).map(el => ({ 1125 kind: 'image', 1126 url: el.getAttribute('data-rb-lightbox') || '', 1127 alt: el.getAttribute('data-rb-lightbox-alt') || '', 1128 })); 1129 // Look for an end-card element in the same group and tack it 1130 // onto the end as a non-image slide. 1131 const endEl = document.querySelector( 1132 '[data-rb-lightbox-end-href][data-rb-lightbox-group="' + CSS.escape(group) + '"]' 1133 ); 1134 if (endEl) { 1135 const count = parseInt(endEl.getAttribute('data-rb-lightbox-end-count') || '0', 10); 1136 if (count > 0) { 1137 set.push({ 1138 kind: 'end', 1139 href: endEl.getAttribute('data-rb-lightbox-end-href') || '#', 1140 count: count, 1141 label: endEl.getAttribute('data-rb-lightbox-end-label') || 'View event â', 1142 }); 1143 } 1144 } 1145 idx = Math.max(0, set.findIndex(it => it.kind === 'image' && it.url === url)); 1146 } else { 1147 set = [{ kind: 'image', url, alt: alt || '' }]; 1148 idx = 0; 1149 } 1150 if (!set.length) return; 1151 root.setAttribute('aria-hidden', 'false'); 1152 document.body.style.overflow = 'hidden'; 1153 render(); 1154 } 1155 function close() { 1156 root.setAttribute('aria-hidden', 'true'); 1157 document.body.style.overflow = ''; 1158 setTimeout(() => { if (img) img.setAttribute('src', ''); }, 240); 1159 } 1160 function go(delta) { 1161 if (set.length <= 1) return; 1162 idx = (idx + delta + set.length) % set.length; 1163 render(); 1164 } 1165 1166 document.addEventListener('click', (e) => { 1167 const trigger = e.target.closest && e.target.closest('[data-rb-lightbox]'); 1168 if (!trigger) return; 1169 const url = trigger.getAttribute('data-rb-lightbox'); 1170 const alt = trigger.getAttribute('data-rb-lightbox-alt') || ''; 1171 const group = trigger.getAttribute('data-rb-lightbox-group') || ''; 1172 if (!url) return; 1173 e.preventDefault(); 1174 open(url, alt, group); 1175 }); 1176 closeBtn && closeBtn.addEventListener('click', close); 1177 backdrop && backdrop.addEventListener('click', close); 1178 prevBtn && prevBtn.addEventListener('click', () => go(-1)); 1179 nextBtn && nextBtn.addEventListener('click', () => go(1)); 1180 1181 document.addEventListener('keydown', (e) => { 1182 if (root.getAttribute('aria-hidden') === 'true') return; 1183 if (e.key === 'Escape') close(); 1184 else if (e.key === 'ArrowLeft') go(-1); 1185 else if (e.key === 'ArrowRight') go(1); 1186 }); 1187 1188 // Swipe navigation on the image. The image tracks the finger during a 1189 // horizontal drag (feedback #242793), then snaps back or advances on 1190 // release. touch-action:pan-y (CSS) keeps vertical scroll native, so a 1191 // horizontal drag is ours to animate without blocking the page. 1192 const THRESHOLD = 50; 1193 let startX = 0; 1194 let startY = 0; 1195 let tracking = false; // finger down, intent not yet decided 1196 let dragging = false; // committed to a horizontal drag 1197 if (img) { 1198 img.addEventListener('touchstart', (e) => { 1199 if (e.touches.length !== 1) return; 1200 startX = e.touches[0].clientX; 1201 startY = e.touches[0].clientY; 1202 tracking = true; 1203 dragging = false;
1204 }, { passive: true }); 1205 img.addEventListener('touchmove', (e) => { 1206 if (!tracking || set.length <= 1) return; 1207 const t = e.touches[0]; 1208 const dx = t.clientX - startX; 1209 const dy = t.clientY - startY; 1210 if (!dragging) { 1211 if (Math.abs(dx) < 8 && Math.abs(dy) < 8) return; 1212 // Vertical intent â hand back to native scroll, stop tracking. 1213 if (Math.abs(dx) <= Math.abs(dy)) { tracking = false; return; } 1214 dragging = true; 1215 img.style.transition = 'none'; 1216 } 1217 img.style.transform = 'translate(calc(-50% + ' + dx + 'px), -50%) scale(1)'; 1218 img.style.opacity = String(Math.max(0.5, 1 - Math.abs(dx) / 700)); 1219 }, { passive: true }); 1220 img.addEventListener('touchend', (e) => { 1221 if (!tracking && !dragging) return; 1222 tracking = false; 1223 dragging = false; 1224 // Restore the CSS-driven transform/opacity (snap-back animation). 1225 img.style.transition = ''; 1226 img.style.transform = ''; 1227 img.style.opacity = ''; 1228 const t = e.changedTouches[0]; 1229 const dx = t.clientX - startX; 1230 const dy = t.clientY - startY; 1231 if (Math.abs(dx) > THRESHOLD && Math.abs(dx) > Math.abs(dy)) { 1232 go(dx > 0 ? -1 : 1); 1233 } 1234 }); 1235 } 1236 })(); 1237</script>
1237 <div id="rb-flyover" class="rb-flyover" aria-hidden="true" role="dialog" aria-modal="true" aria-labelledby="rb-flyover-title" data-astro-cid-i6gejit2> <button type="button" class="rb-flyover-backdrop" aria-label="Close" tabindex="-1" data-astro-cid-i6gejit2></button> <div class="rb-flyover-sheet" data-astro-cid-i6gejit2> <div class="rb-flyover-head" data-astro-cid-i6gejit2> <div class="flex-1 min-w-0" data-astro-cid-i6gejit2> <div id="rb-flyover-title" class="font-display" style="font-size:22px; font-weight:700; letter-spacing:-0.5px; line-height:1.1; color:var(--rb-ink);" data-astro-cid-i6gejit2></div> <div class="rb-flyover-subtitle font-mono uppercase text-rb-faint" style="font-size:10px; letter-spacing:0.14em; margin-top:6px;" data-astro-cid-i6gejit2></div> </div> <button type="button" class="rb-flyover-close font-display cursor-pointer" aria-label="Close" style="background:transparent; border:1px solid var(--rb-rule-strong); color:var(--rb-ink); width:44px; height:44px; font-size:24px; line-height:1; padding:0; flex-shrink:0;" data-astro-cid-i6gejit2>Ã</button> </div> <iframe class="rb-flyover-iframe" title="" loading="lazy" style="flex:1; width:100%; border:0; background:var(--rb-bg);" allow="clipboard-write" data-astro-cid-i6gejit2></iframe> </div> </div>
1237<script> 1238 (function () { 1239 const root = document.getElementById('rb-flyover'); 1240 if (!root || root.dataset.bound === '1') return; 1241 root.dataset.bound = '1'; 1242 const sheet = root.querySelector('.rb-flyover-sheet'); 1243 const backdrop = root.querySelector('.rb-flyover-backdrop'); 1244 const closeBtn = root.querySelector('.rb-flyover-close'); 1245 const titleEl = root.querySelector('#rb-flyover-title'); 1246 const subtitleEl = root.querySelector('.rb-flyover-subtitle'); 1247 const iframe = root.querySelector('.rb-flyover-iframe'); 1248 1249 function open(url, title, subtitle) { 1250 if (!url || !iframe) return; 1251 if (titleEl) titleEl.textContent = title || ''; 1252 if (subtitleEl) { 1253 subtitleEl.textContent = subtitle || ''; 1254 subtitleEl.style.display = subtitle ? '' : 'none'; 1255 } 1256 iframe.setAttribute('title', title || ''); 1257 iframe.setAttribute('src', url); 1258 root.setAttribute('aria-hidden', 'false'); 1259 document.body.style.overflow = 'hidden'; 1260 } 1261 function close() { 1262 root.setAttribute('aria-hidden', 'true'); 1263 document.body.style.overflow = ''; 1264 // Defer clearing the iframe src so the close animation can play 1265 setTimeout(() => { if (iframe) iframe.setAttribute('src', ''); }, 320); 1266 } 1267 1268 document.addEventListener('click', (e) => { 1269 const trigger = e.target.closest && e.target.closest('[data-rb-flyover]'); 1270 if (!trigger) return; 1271 const url = trigger.getAttribute('data-rb-flyover'); 1272 const title = trigger.getAttribute('data-rb-flyover-title') || ''; 1273 const subtitle = trigger.getAttribute('data-rb-flyover-subtitle') || ''; 1274 if (!url) return; 1275 e.preventDefault(); 1276 open(url, title, subtitle); 1277 }); 1278 1279 closeBtn && closeBtn.addEventListener('click', close); 1280 backdrop && backdrop.addEventListener('click', close); 1281 document.addEventListener('keydown', (e) => { 1282 if (e.key === 'Escape' && root.getAttribute('aria-hidden') === 'false') close(); 1283 }); 1284 })(); 1285</script>
1285 <aside id="rb-hive-popup" class="rb-hive-popup" aria-hidden="true" aria-modal="true" role="dialog" aria-labelledby="rb-hive-popup-title" data-rb-config="{"brandId":"125378","widgetUrl":"https://app.hive.co/l/3orr8k","callbackPath":"/signup/thanks"}" data-astro-cid-luqohwl4> <div class="rb-hive-backdrop" data-rb-hive-close data-astro-cid-luqohwl4></div> <div class="rb-hive-panel" role="document" data-astro-cid-luqohwl4> <button type="button" class="rb-hive-close" aria-label="Close signup form" data-rb-hive-close data-astro-cid-luqohwl4>Ã</button> <header class="rb-hive-head" data-astro-cid-luqohwl4> <div class="font-mono uppercase text-hot" style="font-size:10.5px; letter-spacing:0.18em;" data-astro-cid-luqohwl4> 1286Get on the list 1287</div> <h2 id="rb-hive-popup-title" class="font-display" style="font-size:30px; font-weight:700; line-height:1.05; letter-spacing:-0.6px; margin-top:8px;" data-astro-cid-luqohwl4>Don't miss a beat<span class="text-live" data-astro-cid-luqohwl4>.</span></h2> <p class="font-serif text-rb-mute" style="font-size:14px; line-height:1.5; margin-top:10px;" data-astro-cid-luqohwl4> 1288Texts and emails when shows go on sale, presales drop, and seats run low. Free, unsubscribe any time. 1289</p> </header> <form class="rb-hive-form" novalidate data-rb-hive-form data-astro-cid-luqohwl4> <div class="rb-hive-honeypot" aria-hidden="true" data-astro-cid-luqohwl4> <label data-astro-cid-luqohwl4>Leave blank 1290<input type="text" name="company" tabindex="-1" autocomplete="off" data-astro-cid-luqohwl4> </label> </div> <div class="rb-hive-row rb-hive-row-2" data-astro-cid-luqohwl4> <label class="rb-hive-label" data-astro-cid-luqohwl4> <span data-astro-cid-luqohwl4>First name</span> <input type="text" name="fname" autocomplete="given-name" required data-astro-cid-luqohwl4> </label> <label class="rb-hive-label" data-astro-cid-luqohwl4> <span data-astro-cid-luqohwl4>Last name</span> <input type="text" name="lname" autocomplete="family-name" required data-astro-cid-luqohwl4> </label> </div> <label class="rb-hive-label" data-astro-cid-luqohwl4> <span data-astro-cid-luqohwl4>Email <em class="rb-hive-req" data-astro-cid-luqohwl4>required</em></span> <input type="email" name="email" autocomplete="email" placeholder="[email protected]" required data-astro-cid-luqohwl4> </label> <div class="rb-hive-row rb-hive-row-2" data-astro-cid-luqohwl4> <label class="rb-hive-label" data-astro-cid-luqohwl4> <span data-astro-cid-luqohwl4>Phone <em class="rb-hive-opt" data-astro-cid-luqohwl4>optional</em></span> <input type="tel" name="phone" autocomplete="tel" placeholder="(602) 555-0123" inputmode="tel" pattern="[0-9 ()+-]*" data-astro-cid-luqohwl4> </label> <label class="rb-hive-label" data-astro-cid-luqohwl4> <span data-astro-cid-luqohwl4>City <em class="rb-hive-opt" data-astro-cid-luqohwl4>optional</em></span> <input type="text" name="city" autocomplete="address-level2" placeholder="Phoenix, AZ" data-astro-cid-luqohwl4> </label> </div> <label class="rb-hive-sms-label" data-rb-hive-sms-wrap data-astro-cid-luqohwl4> <input type="checkbox" name="sms_opt_in" value="1" data-rb-hive-sms-check data-astro-cid-luqohwl4> <span data-astro-cid-luqohwl4> 1291By providing your phone number, you agree to receive recurring automated marketing text messages from this company. Consent is not a condition to obtain goods or services. Msg & data rates may apply. Msg frequency varies. Reply HELP for help and STOP to cancel. View the <a href="https://www.hive.co/terms-and-conditions" target="_blank" rel="noopener noreferrer" class="rb-hive-legal-link" data-astro-cid-luqohwl4>Terms of Service</a> and <a href="https://www.hive.co/privacy" target="_blank" rel="noopener noreferrer" class="rb-hive-legal-link" data-astro-cid-luqohwl4>Privacy Policy</a>. 1292</span> </label> <div class="rb-hive-actions" data-astro-cid-luqohwl4> <button type="submit" class="rb-hive-submit bg-chrome text-silver-ink" data-rb-hive-submit data-astro-cid-luqohwl4> <span class="rb-hive-submit-label" data-astro-cid-luqohwl4>SIGN ME UP</span> <span class="rb-hive-submit-arrow font-mono" data-astro-cid-luqohwl4>â</span> </button> <a href="https://app.hive.co/l/3orr8k" target="_blank" rel="noopener noreferrer" class="rb-hive-alt-link font-mono text-rb-faint no-underline" data-astro-cid-luqohwl4>Open on Hive â</a> </div> <p class="rb-hive-error font-mono" data-rb-hive-error hidden data-astro-cid-luqohwl4></p> </form> <div class="rb-hive-success" data-rb-hive-success hidden data-astro-cid-luqohwl4> <div class="font-mono uppercase text-live" style="font-size:10.5px; letter-spacing:0.18em;" data-astro-cid-luqohwl4> 1293Confirmed 1294</div> <div class="font-display" style="font-size:24px; font-weight:700; line-height:1.1; letter-spacing:-0.4px; margin-top:10px;" data-astro-cid-luqohwl4>You're on the list. See you on the dancefloor.</div> <p class="font-serif text-rb-mute" style="font-size:14px; line-height:1.5; margin-top:10px;" data-astro-cid-luqohwl4> 1295We sent a confirmation to your inbox. SMS subscribers will get a one-tap opt-in text. 1296</p> </div> </div> </aside>
1296<script> 1297 (function () { 1298 var root = document.getElementById('rb-hive-popup'); 1299 if (!root || root.dataset.bound === '1') return; 1300 root.dataset.bound = '1'; 1301 1302 var cfgRaw = root.getAttribute('data-rb-config') || '{}'; 1303 var cfg; 1304 try { cfg = JSON.parse(cfgRaw); } catch { cfg = {}; } 1305 1306 var form = root.querySelector('[data-rb-hive-form]'); 1307 var success = root.querySelector('[data-rb-hive-success]'); 1308 var errorEl = root.querySelector('[data-rb-hive-error]'); 1309 var submit = root.querySelector('[data-rb-hive-submit]'); 1310 var submitLabel = root.querySelector('.rb-hive-submit-label'); 1311 var smsWrap = root.querySelector('[data-rb-hive-sms-wrap]'); 1312 var smsCheck = root.querySelector('[data-rb-hive-sms-check]'); 1313 var emailInput = form && form.querySelector('input[name="email"]'); 1314 var phoneInput = form && form.querySelector('input[name="phone"]'); 1315 var firstField = form && form.querySelector('input[name="fname"]'); 1316 1317 // Lightweight email shape check â full RFC validation is overkill; 1318 // we just need "non-empty local part @ host with a dot". Hive does 1319 // the deeper verification server-side. 1320 var EMAIL_RE = /^[^\s@]+@[^\s@]+\.[^\s@]+$/; 1321 1322 function isValidEmail(value) { 1323 return EMAIL_RE.test(String(value || '').trim()); 1324 } 1325 1326 // Phone is optional; when filled it must normalize to exactly 10 1327 // digits (US/Canada) or an explicit international form with country 1328 // code. We accept whatever the user typed but strip everything that 1329 // isn't a digit for the count, and tolerate a leading "+1" / "1". 1330 function isValidPhone(value) { 1331 var raw = String(value || '').trim(); 1332 if (!raw) return true; // empty is fine â phone is optional 1333 var digits = raw.replace(/[^0-9]/g, ''); 1334 if (raw.charAt(0) === '+' && digits.length >= 10) return true; 1335 if (digits.length === 11 && digits.charAt(0) === '1') return true; 1336 return digits.length === 10; 1337 } 1338 1339 function setInvalid(input, invalid) { 1340 if (!input) return; 1341 if (invalid) input.setAttribute('aria-invalid', 'true'); 1342 else input.removeAttribute('aria-invalid'); 1343 } 1344 // Clear the invalid state as soon as the user touches the field. 1345 if (emailInput) emailInput.addEventListener('input', function () { setInvalid(emailInput, false); }); 1346 if (phoneInput) phoneInput.addEventListener('input', function () { setInvalid(phoneInput, false); }); 1347 1348 function setError(msg) { 1349 if (!errorEl) return; 1350 if (!msg) { errorEl.hidden = true; errorEl.textContent = ''; return; } 1351 errorEl.hidden = false; 1352 errorEl.textContent = msg; 1353 } 1354 1355 // iOS Safari needs more than `overflow: hidden` to actually lock 1356 // the underlying page â focusing an input still scrolls the 1357 // viewport around as the soft keyboard appears, and pinch/touch 1358 // can still pan. The fixed-position trick anchors the body at 1359 // its current scroll offset, freezing the page until we restore 1360 // it on close. 1361 var savedScrollY = 0; 1362 function lockScroll() { 1363 savedScrollY = window.pageYOffset || document.documentElement.scrollTop || 0; 1364 var b = document.body; 1365 b.style.position = 'fixed'; 1366 b.style.top = '-' + savedScrollY + 'px'; 1367 b.style.left = '0'; 1368 b.style.right = '0'; 1369 b.style.width = '100%'; 1370 b.style.overflow = 'hidden'; 1371 } 1372 function unlockScroll() { 1373 var b = document.body; 1374 b.style.position = ''; 1375 b.style.top = ''; 1376 b.style.left = ''; 1377 b.style.right = ''; 1378 b.style.width = ''; 1379 b.style.overflow = ''; 1380 window.scrollTo(0, savedScrollY); 1381 } 1382 1383 function open() { 1384 root.setAttribute('aria-hidden', 'false'); 1385 lockScroll(); 1386 setError(''); 1387 // Brief delay so the focus jump happens after the transition starts 1388 setTimeout(function () { 1389 if (firstField) firstField.focus({ preventScroll: true }); 1390 }, 60); 1391 } 1392 function close() { 1393 root.setAttribute('aria-hidden', 'true'); 1394 unlockScroll(); 1395 } 1396 1397 // Triggers â any element with data-rb-hive-open opens the popup. 1398 // When the SDK can't run, route the click straight to the Hive 1399 // widget URL in a new tab so the user still has a working signup 1400 // path instead of staring at a non-functional form. 1401 function bindTriggers() { 1402 var triggers = document.querySelectorAll('[data-rb-hive-open]');
1403 triggers.forEach(function (t) { 1404 if (t.dataset.rbHiveBound === '1') return; 1405 t.dataset.rbHiveBound = '1'; 1406 t.addEventListener('click', function (e) { 1407 e.preventDefault(); 1408 if (!sdkPreflightOk() && openHiveWidget()) return; 1409 open(); 1410 }); 1411 }); 1412 } 1413 bindTriggers(); 1414 // Re-scan on dom mutations (e.g. flyover injects new triggers). 1415 if (window.MutationObserver) { 1416 new MutationObserver(bindTriggers).observe(document.body, { childList: true, subtree: true }); 1417 } 1418 1419 // Use event delegation on document for the close affordances so 1420 // we survive ClientRouter swaps (which can replace the close 1421 // button DOM and leave a per-element handler bound to a detached 1422 // node). closest('[data-rb-hive-close]') matches the panel's à 1423 // button, the backdrop, and anything else opt-in. 1424 document.addEventListener('click', function (e) { 1425 var t = e.target && e.target.closest && e.target.closest('[data-rb-hive-close]'); 1426 if (!t) return; 1427 // Re-resolve the live popup root each time so we always act on 1428 // the element currently in the DOM (not a stale closure ref). 1429 var live = document.getElementById('rb-hive-popup'); 1430 if (!live || live.getAttribute('aria-hidden') !== 'false') return; 1431 e.preventDefault(); 1432 live.setAttribute('aria-hidden', 'true'); 1433 // Run the full scroll-restoration unlock â clearing overflow 1434 // alone leaves the body pinned at position:fixed/top:-Ypx. 1435 unlockScroll(); 1436 }); 1437 document.addEventListener('keydown', function (e) { 1438 if (e.key === 'Escape' && root.getAttribute('aria-hidden') === 'false') close(); 1439 }); 1440 1441 // SMS consent dimming â only meaningful when phone is filled. 1442 function syncSmsState() { 1443 if (!smsWrap || !phoneInput) return; 1444 var hasPhone = !!phoneInput.value.replace(/[^0-9]/g, '').length; 1445 smsWrap.setAttribute('data-active', hasPhone ? 'true' : 'false'); 1446 } 1447 if (phoneInput) { 1448 phoneInput.addEventListener('input', syncSmsState); 1449 syncSmsState(); 1450 } 1451 1452 // Normalize a free-form phone string to E.164. Hive's SDK wants 1453 // "+15198864500" style. We assume US/Canada when 10 digits â the 1454 // form's placeholder primes that expectation. International users 1455 // who type leading "+" or country code are passed through. 1456 function toE164(raw) { 1457 if (!raw) return ''; 1458 var trimmed = String(raw).trim(); 1459 if (!trimmed) return ''; 1460 var hasPlus = trimmed.charAt(0) === '+'; 1461 var digits = trimmed.replace(/[^0-9]/g, ''); 1462 if (!digits) return ''; 1463 if (hasPlus) return '+' + digits; 1464 if (digits.length === 10) return '+1' + digits; 1465 if (digits.length === 11 && digits.charAt(0) === '1') return '+' + digits; 1466 // Fall back: trust the user typed a country code without "+" 1467 return '+' + digits; 1468 } 1469 1470 function isSdkReady() { 1471 return !!(window.HIVE_SDK && cfg.brandId); 1472 } 1473 1474 // We know up-front the SDK won't init if the brand ID is blank. 1475 // Other failure modes (script blocked, domain not whitelisted) only 1476 // surface at submit time â handled in the form handler below. 1477 function sdkPreflightOk() { 1478 return !!cfg.brandId; 1479 } 1480 1481 function openHiveWidget() { 1482 if (!cfg.widgetUrl) return false; 1483 window.open(cfg.widgetUrl, '_blank', 'noopener,noreferrer'); 1484 return true; 1485 } 1486 1487 // Convert the submit button into an external link that opens the 1488 // public Hive widget. Used when we know the SDK can't fire so the 1489 // user gets a working signup path instead of a dead button. 1490 function convertSubmitToFallbackLink(reason) { 1491 if (!submit) return; 1492 submit.removeAttribute('disabled'); 1493 submit.setAttribute('type', 'button'); 1494 submit.setAttribute('title', reason || 'Opens Hive signup in a new tab'); 1495 if (submitLabel) submitLabel.textContent = 'SIGN UP ON HIVE'; 1496 var arrow = root.querySelector('.rb-hive-submit-arrow'); 1497 if (arrow) arrow.textContent = 'â'; 1498 // Hide the now-redundant footer link. 1499 var altLink = root.querySelector('.rb-hive-alt-link'); 1500 if (altLink) altLink.hidden = true; 1501 // Bind once â this runs again per failed submit (onErr + the 6s 1502 // watchdog), and stacked listeners made one click window.open the 1503 // Hive widget multiple times. 1504 if (submit.dataset.rbFallbackBound === '1') return; 1505 submit.dataset.rbFallbackBound = '1'; 1506 submit.addEventListener('click', function (e) { 1507 e.preventDefault(); 1508 openHiveWidget(); 1509 }); 1510 } 1511 1512 if (!sdkPreflightOk()) { 1513 convertSubmitToFallbackLink('Hive SDK not configured â opens the Hive widget instead.'); 1514 } 1515 1516 // Submit handler â calls HIVE_SDK("emailSignup", payload, ok, err). 1517 // The loader queues calls before the script downloads, so this 1518 // works on the very first click even on a cold cache. 1519 if (form) { 1520 form.addEventListener('submit', function (e) { 1521 e.preventDefault(); 1522 setError(''); 1523 1524 // Honeypot â bot filled the hidden "company" field â silently 1525 // "succeed" so the bot moves on. 1526 var hp = form.querySelector('input[name="company"]'); 1527 if (hp && hp.value) { 1528 form.hidden = true; 1529 success.hidden = false;
1530 return; 1531 } 1532 1533 if (!isSdkReady()) { 1534 // Hive SDK never finished loading (script blocked, domain not 1535 // whitelisted yet, etc.). Open the Hive widget in a new tab 1536 // so the submit click still leads somewhere usable, and swap 1537 // the button to a link for any subsequent clicks. 1538 convertSubmitToFallbackLink('Hive SDK unavailable â opens the Hive widget instead.'); 1539 openHiveWidget(); 1540 return; 1541 } 1542 1543 var data = new FormData(form); 1544 data.delete('company'); 1545 1546 var fname = (data.get('fname') || '').toString().trim(); 1547 var lname = (data.get('lname') || '').toString().trim(); 1548 var email = (data.get('email') || '').toString().trim(); 1549 var city = (data.get('city') || '').toString().trim(); 1550 var phone = (data.get('phone') || '').toString().trim(); 1551 var smsOpt = !!data.get('sms_opt_in'); 1552 1553 // Email â required and must look like an actual address. 1554 if (!email || !isValidEmail(email)) { 1555 setError('Please enter a valid email address.'); 1556 setInvalid(emailInput, true); 1557 if (emailInput) emailInput.focus({ preventScroll: true }); 1558 return; 1559 } 1560 1561 // Phone â optional, but if present it must be a 10-digit US/CA 1562 // number (or an explicit international form with country code). 1563 if (phone && !isValidPhone(phone)) { 1564 setError('Please enter a 10-digit phone number (or leave it blank).'); 1565 setInvalid(phoneInput, true); 1566 if (phoneInput) phoneInput.focus({ preventScroll: true }); 1567 return; 1568 } 1569 1570 // Build payload. Only include fields the user actually filled 1571 // â Hive treats absent vs empty differently for some optional 1572 // properties. 1573 var payload = { 1574 email: email, 1575 didOptIn: true, 1576 }; 1577 if (fname) payload.firstName = fname; 1578 if (lname) payload.lastName = lname; 1579 if (city) payload.city = city; 1580 if (phone) { 1581 payload.phoneNumber = toE164(phone); 1582 payload.didSmsOptIn = smsOpt; 1583 } 1584 1585 submit.setAttribute('disabled', 'true'); 1586 if (submitLabel) submitLabel.textContent = 'SUBMITTINGâ¦'; 1587 1588 // Settled-once guard. The SDK is supposed to call exactly one 1589 // of onOk/onErr, but on non-whitelisted hosts it sometimes 1590 // calls neither (the request is blocked at the network layer 1591 // and the loader never reports back). We use this flag to 1592 // make sure the timeout fallback below and a real callback 1593 // can't double-fire. 1594 var settled = false; 1595 1596 function openHiveFallback(reason) { 1597 // Bubble the user out to Hive's public widget so the click 1598 // still lands somewhere usable. Swaps the button copy in 1599 // place too, so subsequent clicks read truthfully. 1600 convertSubmitToFallbackLink(reason || 'Hive SDK unavailable â opens the Hive widget instead.'); 1601 openHiveWidget(); 1602 } 1603 1604 function onOk(/* data */) { 1605 if (settled) return; 1606 settled = true; 1607 form.hidden = true; 1608 success.hidden = false; 1609 if (cfg.callbackPath) { 1610 setTimeout(function () { window.location.href = cfg.callbackPath; }, 1800); 1611 } 1612 } 1613 function onErr(data) { 1614 if (settled) return; 1615 settled = true; 1616 // Non-whitelisted host or any other SDK-level failure: fall 1617 // through to the public Hive widget rather than leaving the 1618 // user with a red error pill and no path forward. 1619 var msg = (data && (data.error || data.message)) || ''; 1620 openHiveFallback( 1621 typeof msg === 'string' && msg 1622 ? 'Hive SDK returned an error (' + msg + ') â opens the Hive widget instead.' 1623 : 'Hive SDK unavailable â opens the Hive widget instead.' 1624 ); 1625 } 1626 1627 // Watchdog. If the SDK swallows the call (which happens when 1628 // the host isn't on the Hive brand's allowlist â the loader 1629 // queues the call but the API rejects the underlying request 1630 // and never invokes the callbacks), we still need to release 1631 // the button. 6s is long enough that a slow successful c
1631all 1632 // doesn't trip it on a typical connection. 1633 setTimeout(function () { 1634 if (settled) return; 1635 settled = true; 1636 openHiveFallback('Hive signup timed out â opening the Hive widget instead.'); 1637 }, 6000); 1638 1639 try { 1640 window.HIVE_SDK('emailSignup', payload, onOk, onErr); 1641 } catch (err) { 1642 onErr({ message: (err && err.message) || 'Signup failed.' }); 1643 } 1644 }); 1645 } 1646 })(); 1647</script>
1647 <aside id="rb-table-popup" class="rb-table-popup" aria-hidden="true" aria-modal="true" role="dialog" aria-labelledby="rb-table-popup-title" data-astro-cid-gdhxxhmf> <div class="rb-table-backdrop" data-rb-table-close data-astro-cid-gdhxxhmf></div> <div class="rb-table-panel" role="document" data-astro-cid-gdhxxhmf> <button type="button" class="rb-table-close" aria-label="Close table service form" data-rb-table-close data-astro-cid-gdhxxhmf>Ã</button> <header data-astro-cid-gdhxxhmf> <div class="font-mono uppercase text-hot" style="font-size:10.5px; letter-spacing:0.18em;" data-astro-cid-gdhxxhmf> 1648Table service 1649</div> <h2 id="rb-table-popup-title" class="font-display" style="font-size:30px; font-weight:700; line-height:1.05; letter-spacing:-0.6px; margin-top:8px;" data-astro-cid-gdhxxhmf>Reserve a table<span class="text-live" data-astro-cid-gdhxxhmf>.</span></h2> <p class="font-serif text-rb-mute" style="font-size:14px; line-height:1.5; margin-top:10px;" data-astro-cid-gdhxxhmf> 1650Tell us the night and your party size â our VIP team follows up to lock in bottle service. 1651</p> </header> <div class="rb-table-context" data-rb-table-context hidden data-astro-cid-gdhxxhmf> <span class="font-mono uppercase" style="font-size:9.5px; letter-spacing:0.16em; color:var(--rb-ink-faint);" data-astro-cid-gdhxxhmf>For</span> <span class="font-display" data-rb-table-context-text style="font-size:14px; font-weight:600; letter-spacing:-0.2px; color:var(--rb-ink);" data-astro-cid-gdhxxhmf></span> </div> <form class="rb-table-form" novalidate data-rb-table-form data-astro-cid-gdhxxhmf> <div class="rb-table-honeypot" aria-hidden="true" data-astro-cid-gdhxxhmf> <label data-astro-cid-gdhxxhmf>Leave blank 1652<input type="text" name="_rb_hp" tabindex="-1" autocomplete="off" data-astro-cid-gdhxxhmf> </label> </div> <input type="hidden" name="event" data-rb-table-event-field data-astro-cid-gdhxxhmf> <input type="hidden" name="date" data-rb-table-date-field data-astro-cid-gdhxxhmf> <input type="hidden" name="date_short" data-rb-table-date-short-field data-astro-cid-gdhxxhmf> <input type="hidden" name="venue" data-rb-table-venue-field data-astro-cid-gdhxxhmf> <input type="hidden" name="slug" data-rb-table-slug-field data-astro-cid-gdhxxhmf> <div class="rb-table-row rb-table-row-2" data-astro-cid-gdhxxhmf> <label class="rb-table-label" data-astro-cid-gdhxxhmf> <span data-astro-cid-gdhxxhmf>Name</span> <input type="text" name="name" autocomplete="name" required data-astro-cid-gdhxxhmf> </label> <label class="rb-table-label" data-astro-cid-gdhxxhmf> <span data-astro-cid-gdhxxhmf>Phone</span> <input type="tel" name="phone" autocomplete="tel" required data-astro-cid-gdhxxhmf> </label> </div> <label class="rb-table-label" data-astro-cid-gdhxxhmf> <span data-astro-cid-gdhxxhmf>Email</span> <input type="email" name="email" autocomplete="email" placeholder="[email protected]" required data-astro-cid-gdhxxhmf> </label> <label class="rb-table-label" data-rb-table-days-field hidden data-astro-cid-gdhxxhmf> <span data-astro-cid-gdhxxhmf>Which day(s)?</span> <select name="which_days" data-rb-table-days-select disabled data-astro-cid-gdhxxhmf></select> </label> <div class="rb-table-row rb-table-row-2" data-astro-cid-gdhxxhmf> <label class="rb-table-label" data-astro-cid-gdhxxhmf> <span data-astro-cid-gdhxxhmf>Party size</span> <input type="text" name="party_size" inputmode="numeric" placeholder="e.g. 6" data-astro-cid-gdhxxhmf> </label> <label class="rb-table-label" data-astro-cid-gdhxxhmf> <span data-astro-cid-gdhxxhmf>Special occasion</span> <select name="special_occasion" data-astro-cid-gdhxxhmf> <option value="None" selected data-astro-cid-gdhxxhmf>None</option> <option data-rb-table-day-option value="" hidden data-astro-cid-gdhxxhmf></option> <option value="Birthday" data-astro-cid-gdhxxhmf>Birthday</option> <option value="Bachelorette" data-astro-cid-gdhxxhmf>Bachelorette</option> <option value="Bachelor party" data-astro-cid-gdhxxhmf>Bachelor party</option> <option value="Anniversary" data-astro-cid-gdhxxhmf>Anniversary</option> <option value="Corporate / group" data-astro-cid-gdhxxhmf>Corporate / group</option> <option value="Date night" data-astro-cid-gdhxxhmf>Date night</option> <option value="Just celebrating" data-astro-cid-gdhxxhmf>Just celebrating</option> <option value="Other" data-astro-cid-gdhxxhmf>Other</option> </select> </label> </div> <label class="rb-table-label" data-astro-cid-gdhxxhmf> <span data-astro-cid-gdhxxhmf>Preferred contact method</span> <select name="contact_method" data-astro-cid-gdhxxhmf> <option value="Phone" selected data-astro-cid-gdhxxhmf>Phone</option> <option value="Email" data-astro-cid-gdhxxhmf>Email</option> <option value="Both" data-astro-cid-gdhxxhmf>Both</option> </select> </label> <label class="rb-table-label" data-astro-cid-gdhxxhmf> <span data-astro-cid-gdhxxhmf>Specific requests</span> <textarea name="message" rows="3" placeholder="Budget, must-have bottles, locationâ¦" data-astro-cid-gdhxxhmf></textarea> </label> <div class="cf-turnstile" data-sitekey="0x4AAAAAADf2U2BCofwAr0al" style="margin-top:2px;" data-astro-cid-gdhxxhmf></div> <div class="rb-table-actions" data-astro-cid-gdhxxhmf> <button type="submit" class="rb-table-submit bg-chrome text-silver-ink" data-rb-table-submit data-astro-cid-gdhxxhmf> 1653REQUEST A TABLE 1654<span class="font-mono" style="font-size:11px; letter-spacing:0.14em; color:rgba(10,10,12,0.62);" data-astro-cid-gdhxxhmf>â</span> </button> <div class="rb-table-status" data-rb-table-status aria-live="polite" data-astro-cid-gdhxxhmf></div> </div> </form> <div class="rb-table-thanks" data-rb-table-thanks hidden data-astro-cid-gdhxxhmf> <div class="font-mono uppercase text-live" style="font-size:10.5px; letter-spacing:0.18em;" data-astro-cid-gdhxxhmf> 1655Request received 1656</div> <h2 class="font-display" style="font-size:28px; font-weight:700; line-height:1.05; letter-spacing:-0.5px; margin-top:8px;" data-astro-cid-gdhxxhmf> 1657We're on it<span class="text-live" data-astro-cid-gdhxxhmf>.</span> </h2> <p class="font-serif text-rb-mute" style="font-size:14.5px; line-height:1.5; margin-top:12px;" data-astro-cid-gdhxxhmf> 1658Our VIP team will reach out shortly to confirm availability and pricing. 1659</p> <button type="button" class="rb-table-close-cta" data-rb-table-close data-astro-cid-gdhxxhmf>CLOSE</button> </div> </div> </aside>
1659<script> 1660 (function () { 1661 var root = document.getElementById('rb-table-popup'); 1662 if (!root) return; 1663 1664 var form = root.querySelector('[data-rb-table-form]'); 1665 var submit = root.querySelector('[data-rb-table-submit]'); 1666 var status = root.querySelector('[data-rb-table-status]'); 1667 var thanks = root.querySelector('[data-rb-table-thanks]'); 1668 var eventEl = root.querySelector('[data-rb-table-event-field]'); 1669 var dateEl = root.querySelector('[data-rb-table-date-field]'); 1670 var dateShortEl = root.querySelector('[data-rb-table-date-short-field]'); 1671 var venueEl = root.querySelector('[data-rb-table-venue-field]'); 1672 var slugEl = root.querySelector('[data-rb-table-slug-field]'); 1673 var daysField = root.querySelector('[data-rb-table-days-field]'); 1674 var daysSelect = root.querySelector('[data-rb-table-days-select]'); 1675 var contextEl = root.querySelector('[data-rb-table-context]'); 1676 var contextTextEl = root.querySelector('[data-rb-table-context-text]'); 1677 var dayOptionEl = root.querySelector('[data-rb-table-day-option]'); 1678 var closers = root.querySelectorAll('[data-rb-table-close]'); 1679 var openers = document.querySelectorAll('[data-rb-table-open]'); 1680 1681 // Kitschy occasion label keyed off the event's weekday. 1682 function dayOccasion(weekday) { 1683 if (!weekday) return ''; 1684 var wd = String(weekday).trim().toLowerCase(); 1685 if (wd === 'friday' || wd === 'saturday' || wd === 'sunday') return "It's the weekend!"; 1686 var cap = wd.charAt(0).toUpperCase() + wd.slice(1); 1687 return "It's a " + cap + "!"; 1688 } 1689 1690 // Build the multi-day picker from the opener's day labels. Each date 1691 // becomes an option, plus a combined "Both days" (2-day) / "All days" 1692 // (3+) option which we select by default. Single-day shows (or none) 1693 // leave the picker hidden and disabled so it never submits a value. 1694 function buildDayOptions(days) { 1695 if (!daysSelect || !daysField) return; 1696 daysSelect.innerHTML = ''; 1697 if (!days || days.length < 2) { 1698 daysField.hidden = true; 1699 daysSelect.disabled = true; 1700 return; 1701 } 1702 days.forEach(function (label) { 1703 var o = document.createElement('option'); 1704 o.value = label; 1705 o.textContent = label; 1706 daysSelect.appendChild(o); 1707 }); 1708 var combo = document.createElement('option'); 1709 combo.value = days.length === 2 ? 'Both days' : 'All days'; 1710 combo.textContent = combo.value; 1711 combo.selected = true; 1712 daysSelect.appendChild(combo); 1713 daysField.hidden = false; 1714 daysSelect.disabled = false; 1715 } 1716 1717 function open(ctx) { 1718 ctx = ctx || {}; 1719 if (eventEl) eventEl.value = ctx.event || ''; 1720 if (dateEl) dateEl.value = ctx.date || ''; 1721 if (dateShortEl) dateShortEl.value = ctx.dateShort || ''; 1722 if (venueEl) venueEl.value = ctx.venue || ''; 1723 if (slugEl) slugEl.value = ctx.slug || ''; 1724 buildDayOptions(ctx.days); 1725 // Populate (or hide) the day-aware occasion option. 1726 if (dayOptionEl) { 1727 var label = dayOccasion(ctx.weekday); 1728 if (label) { 1729 dayOptionEl.value = label; 1730 dayOptionEl.textContent = label; 1731 dayOptionEl.hidden = false; 1732 } else { 1733 dayOptionEl.value = ''; 1734 dayOptionEl.textContent = ''; 1735 dayOptionEl.hidden = true; 1736 } 1737 } 1738 var summary = [ctx.event, ctx.date, ctx.venue].filter(Boolean).join(' · '); 1739 if (contextTextEl) contextTextEl.textContent = summary; 1740 if (contextEl) contextEl.hidden = !summary; 1741 // Reset to a fresh form on every open. 1742 if (form) form.hidden = false; 1743 if (thanks) thanks.hidden = true; 1744 setStatus('', null); 1745 if (submit) submit.disabled = false; 1746 root.setAttribute('aria-hidden', 'false'); 1747 document.documentElement.style.overflow = 'hidden'; 1748 setTimeout(function () { 1749 var first = root.querySelector('input[name="name"]'); 1750 if (first) first.focus(); 1751 }, 60); 1752 } 1753 function close() { 1754 root.setAttribute('aria-hidden', 'true'); 1755 document.documentElement.style.overflow = ''; 1756 } 1757
1758 openers.forEach(function (b) { 1759 b.addEventListener('click', function (e) { 1760 e.preventDefault(); 1761 var daysAttr = b.getAttribute('data-rb-table-days') || ''; 1762 var days = []; 1763 if (daysAttr) { try { days = JSON.parse(daysAttr); } catch (_e) { days = []; } } 1764 open({ 1765 event: b.getAttribute('data-rb-table-event') || '', 1766 date: b.getAttribute('data-rb-table-date') || '', 1767 dateShort: b.getAttribute('data-rb-table-date-short') || '', 1768 venue: b.getAttribute('data-rb-table-venue') || '', 1769 slug: b.getAttribute('data-rb-table-slug') || '', 1770 weekday: b.getAttribute('data-rb-table-weekday') || '', 1771 days: days, 1772 }); 1773 }); 1774 }); 1775 closers.forEach(function (b) { b.addEventListener('click', close); }); 1776 document.addEventListener('keydown', function (e) { 1777 if (e.key === 'Escape' && root.getAttribute('aria-hidden') === 'false') close(); 1778 }); 1779 1780 function setStatus(text, state) { 1781 if (!status) return; 1782 status.textContent = text || ''; 1783 if (state) status.setAttribute('data-state', state); 1784 else status.removeAttribute('data-state'); 1785 } 1786 1787 if (form) { 1788 form.addEventListener('submit', async function (e) { 1789 e.preventDefault(); 1790 var fd = new FormData(form); 1791 var payload = { 1792 name: String(fd.get('name') || '').trim(), 1793 email: String(fd.get('email') || '').trim(), 1794 phone: String(fd.get('phone') || '').trim(), 1795 event: fd.get('event') || '', 1796 date: fd.get('date') || '', 1797 date_short: fd.get('date_short') || '', 1798 venue: fd.get('venue') || '', 1799 slug: fd.get('slug') || '', 1800 which_days: fd.get('which_days') || '', 1801 party_size: fd.get('party_size') || '', 1802 special_occasion: fd.get('special_occasion') || '', 1803 contact_method: fd.get('contact_method') || '', 1804 message: fd.get('message') || '', 1805 _rb_hp: fd.get('_rb_hp') || '', 1806 'cf-turnstile-response': String(fd.get('cf-turnstile-response') || ''), 1807 }; 1808 // Validate before sending â instant feedback, no round trip. 1809 if (!payload.name) { setStatus('Add your name.', 'error'); return; } 1810 if (!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(payload.email)) { setStatus('Valid email, please.', 'error'); return; } 1811 if (payload.phone.replace(/\D/g, '').length < 7) { setStatus('Add a valid phone number.', 'error'); return; } 1812 1813 setStatus('Sendingâ¦', 'loading'); 1814 if (submit) submit.disabled = true; 1815 try { 1816 var res = await fetch('/api/table-service.json', { 1817 method: 'POST', 1818 headers: { 'content-type': 'application/json', 'Accept': 'application/json' }, 1819 body: JSON.stringify(payload), 1820 }); 1821 if (res.ok) { 1822 form.hidden = true; 1823 if (thanks) thanks.hidden = false; 1824 setStatus('', null); 1825 } else { 1826 var msg = 'Something went wrong â try again.'; 1827 try { var b = await res.json(); if (b && b.error) msg = b.error; } catch (_e) {} 1828 setStatus(msg, 'error'); 1829 try { if (window.turnstile) window.turnstile.reset(form.querySelector('.cf-turnstile')); } catch (_e) {} 1830 if (submit) submit.disabled = false; 1831 } 1832 } catch (_err) { 1833 setStatus('Network error â try again.', 'error'); 1834 try { if (window.turnstile) window.turnstile.reset(form.querySelector('.cf-turnstile')); } catch (_e) {} 1835 if (submit) submit.disabled = false; 1836 } 1837 }); 1838 } 1839 })(); 1840</script>
1840 <aside id="rb-vs-popup" class="rb-vs-popup" aria-hidden="true" aria-modal="true" role="dialog" aria-labelledby="rb-vs-popup-title" data-rb-vs-kind="vendor" data-astro-cid-r2f2y6od> <div class="rb-vs-backdrop" data-rb-vs-close data-astro-cid-r2f2y6od></div> <div class="rb-vs-panel" role="document" data-astro-cid-r2f2y6od> <button type="button" class="rb-vs-close" aria-label="Close inquiry form" data-rb-vs-close data-astro-cid-r2f2y6od>Ã</button> <header data-astro-cid-r2f2y6od> <div class="font-mono uppercase text-hot" style="font-size:10.5px; letter-spacing:0.18em;" data-astro-cid-r2f2y6od> 1841Work with us 1842</div> <h2 id="rb-vs-popup-title" class="font-display" style="font-size:30px; font-weight:700; line-height:1.05; letter-spacing:-0.6px; margin-top:8px;" data-astro-cid-r2f2y6od> <span data-rb-vs-title-vendor data-astro-cid-r2f2y6od>Become a vendor</span> <span data-rb-vs-title-sponsor hidden data-astro-cid-r2f2y6od>Sponsor an event</span> <span class="text-live" data-astro-cid-r2f2y6od>.</span> </h2> <p class="font-serif text-rb-mute" style="font-size:14px; line-height:1.5; margin-top:10px;" data-astro-cid-r2f2y6od> <span data-rb-vs-blurb-vendor data-astro-cid-r2f2y6od>Food, retail, activations â tell us what you bring and we'll find the right shows.</span> <span data-rb-vs-blurb-sponsor hidden data-astro-cid-r2f2y6od>Put your brand in front of Arizona's biggest EDM crowds. Let's talk partnership.</span> </p> </header> <div class="rb-vs-toggle" role="tablist" aria-label="Inquiry type" data-astro-cid-r2f2y6od> <button type="button" class="rb-vs-toggle-chip font-mono uppercase" data-rb-vs-mode="vendor" aria-selected="true" data-astro-cid-r2f2y6od>Vendor</button> <button type="button" class="rb-vs-toggle-chip font-mono uppercase" data-rb-vs-mode="sponsor" aria-selected="false" data-astro-cid-r2f2y6od>Sponsor</button> </div> <form class="rb-vs-form" novalidate data-rb-vs-form data-astro-cid-r2f2y6od> <input type="hidden" name="kind" value="vendor" data-rb-vs-kind-field data-astro-cid-r2f2y6od> <div class="rb-vs-honeypot" aria-hidden="true" data-astro-cid-r2f2y6od> <label data-astro-cid-r2f2y6od>Leave blank 1843<input type="text" name="_rb_hp" tabindex="-1" autocomplete="off" data-astro-cid-r2f2y6od> </label> </div> <div class="rb-vs-row rb-vs-row-2" data-astro-cid-r2f2y6od> <label class="rb-vs-label" data-astro-cid-r2f2y6od> <span data-astro-cid-r2f2y6od>Name</span> <input type="text" name="name" autocomplete="name" required data-astro-cid-r2f2y6od> </label> <label class="rb-vs-label" data-astro-cid-r2f2y6od> <span data-astro-cid-r2f2y6od>Company</span> <input type="text" name="company" autocomplete="organization" data-astro-cid-r2f2y6od> </label> </div> <div class="rb-vs-row rb-vs-row-2" data-astro-cid-r2f2y6od> <label class="rb-vs-label" data-astro-cid-r2f2y6od> <span data-astro-cid-r2f2y6od>Email</span> <input type="email" name="email" autocomplete="email" placeholder="[email protected]" required data-astro-cid-r2f2y6od> </label> <label class="rb-vs-label" data-astro-cid-r2f2y6od> <span data-astro-cid-r2f2y6od>Phone</span> <input type="tel" name="phone" autocomplete="tel" data-astro-cid-r2f2y6od> </label> </div> <label class="rb-vs-label" data-astro-cid-r2f2y6od> <span data-astro-cid-r2f2y6od>Tell us more</span> <textarea name="message" rows="4" required placeholder="What are you proposing?" data-astro-cid-r2f2y6od></textarea> </label> <div class="cf-turnstile" data-sitekey="0x4AAAAAADf2U2BCofwAr0al" style="margin-top:2px;" data-astro-cid-r2f2y6od></div> <div class="rb-vs-actions" data-astro-cid-r2f2y6od> <button type="submit" class="rb-vs-submit bg-chrome text-silver-ink" data-rb-vs-submit data-astro-cid-r2f2y6od> 1844SEND INQUIRY 1845<span class="font-mono" style="font-size:11px; letter-spacing:0.14em; color:rgba(10,10,12,0.62);" data-astro-cid-r2f2y6od>â</span> </button> <div class="rb-vs-status" data-rb-vs-status aria-live="polite" data-astro-cid-r2f2y6od></div> </div> </form> <div class="rb-vs-thanks" data-rb-vs-thanks hidden data-astro-cid-r2f2y6od> <div class="font-mono uppercase text-live" style="font-size:10.5px; letter-spacing:0.18em;" data-astro-cid-r2f2y6od> 1846Inquiry received 1847</div> <h2 class="font-display" style="font-size:28px; font-weight:700; line-height:1.05; letter-spacing:-0.5px; margin-top:8px;" data-astro-cid-r2f2y6od> 1848Thanks â talk soon<span class="text-live" data-astro-cid-r2f2y6od>.</span> </h2> <p class="font-serif text-rb-mute" style="font-size:14.5px; line-height:1.5; margin-top:12px;" data-astro-cid-r2f2y6od> 1849Our partnerships team reviews every inquiry and will be in touch. 1850</p> <button type="button" class="rb-vs-close-cta" data-rb-vs-close data-astro-cid-r2f2y6od>CLOSE</button> </div> </div> </aside>
1850<script> 1851 (function () { 1852 var root = document.getElementById('rb-vs-popup'); 1853 if (!root) return; 1854 1855 var form = root.querySelector('[data-rb-vs-form]'); 1856 var submit = root.querySelector('[data-rb-vs-submit]'); 1857 var status = root.querySelector('[data-rb-vs-status]'); 1858 var thanks = root.querySelector('[data-rb-vs-thanks]'); 1859 var kindField = root.querySelector('[data-rb-vs-kind-field]'); 1860 var modeChips = root.querySelectorAll('[data-rb-vs-mode]'); 1861 var titleVendor = root.querySelector('[data-rb-vs-title-vendor]'); 1862 var titleSponsor = root.querySelector('[data-rb-vs-title-sponsor]'); 1863 var blurbVendor = root.querySelector('[data-rb-vs-blurb-vendor]'); 1864 var blurbSponsor = root.querySelector('[data-rb-vs-blurb-sponsor]'); 1865 var closers = root.querySelectorAll('[data-rb-vs-close]'); 1866 var openersV = document.querySelectorAll('[data-rb-vendor-open]'); 1867 var openersS = document.querySelectorAll('[data-rb-sponsor-open]'); 1868 1869 function setMode(kind) { 1870 var sponsor = kind === 'sponsor'; 1871 root.setAttribute('data-rb-vs-kind', sponsor ? 'sponsor' : 'vendor'); 1872 if (kindField) kindField.value = sponsor ? 'sponsor' : 'vendor'; 1873 if (titleVendor) titleVendor.hidden = sponsor; 1874 if (titleSponsor) titleSponsor.hidden = !sponsor; 1875 if (blurbVendor) blurbVendor.hidden = sponsor; 1876 if (blurbSponsor) blurbSponsor.hidden = !sponsor; 1877 modeChips.forEach(function (c) { 1878 c.setAttribute('aria-selected', c.getAttribute('data-rb-vs-mode') === (sponsor ? 'sponsor' : 'vendor') ? 'true' : 'false'); 1879 }); 1880 } 1881 function open(kind) { 1882 setMode(kind); 1883 root.setAttribute('aria-hidden', 'false'); 1884 document.documentElement.style.overflow = 'hidden'; 1885 setTimeout(function () { 1886 var first = root.querySelector('input[name="name"]'); 1887 if (first) first.focus(); 1888 }, 60); 1889 } 1890 function close() { 1891 root.setAttribute('aria-hidden', 'true'); 1892 document.documentElement.style.overflow = ''; 1893 } 1894 1895 openersV.forEach(function (b) { b.addEventListener('click', function (e) { e.preventDefault(); open('vendor'); }); }); 1896 openersS.forEach(function (b) { b.addEventListener('click', function (e) { e.preventDefault(); open('sponsor'); }); }); 1897 modeChips.forEach(function (c) { c.addEventListener('click', function () { setMode(c.getAttribute('data-rb-vs-mode')); }); }); 1898 closers.forEach(function (b) { b.addEventListener('click', close); }); 1899 document.addEventListener('keydown', function (e) { 1900 if (e.key === 'Escape' && root.getAttribute('aria-hidden') === 'false') close(); 1901 }); 1902 1903 function setStatus(text, state) { 1904 if (!status) return; 1905 status.textContent = text || ''; 1906 if (state) status.setAttribute('data-state', state); 1907 else status.removeAttribute('data-state'); 1908 } 1909 1910 if (form) { 1911 form.addEventListener('submit', async function (e) { 1912 e.preventDefault(); 1913 setStatus('Sendingâ¦', 'loading'); 1914 if (submit) submit.disabled = true; 1915 var fd = new FormData(form); 1916 var payload = { 1917 kind: fd.get('kind') || 'vendor', 1918 name: fd.get('name') || '', 1919 company: fd.get('company') || '', 1920 email: fd.get('email') || '', 1921 phone: fd.get('phone') || '', 1922 message: fd.get('message') || '', 1923 _rb_hp: fd.get('_rb_hp') || '', 1924 'cf-turnstile-response': String(fd.get('cf-turnstile-response') || ''), 1925 }; 1926 try { 1927 var res = await fetch('/api/vendor-sponsor.json', { 1928 method: 'POST', 1929 headers: { 'content-type': 'application/json', 'Accept': 'application/json' }, 1930 body: JSON.stringify(payload), 1931 }); 1932 if (res.ok) { 1933 form.hidden = true; 1934 if (thanks) thanks.hidden = false; 1935 setStatus('', null); 1936 } else { 1937 var msg = 'Something went wrong â try again.'; 1938 try { var b = await res.json(); if (b && b.error) msg = b.error; } catch (_e) {} 1939 setStatus(msg, 'error'); 1940 try { if (window.turnstile) window.turnstile.reset(form.querySelector('.cf-turnstile')); } catch (_e) {} 1941 if (submit) submit.disabled = false;
1942 } 1943 } catch (_err) { 1944 setStatus('Network error â try again.', 'error'); 1945 try { if (window.turnstile) window.turnstile.reset(form.querySelector('.cf-turnstile')); } catch (_e) {} 1946 if (submit) submit.disabled = false; 1947 } 1948 }); 1949 } 1950 })(); 1951</script>
1951 <aside id="rb-contact-popup" class="rb-cp-popup" aria-hidden="true" aria-modal="true" role="dialog" aria-labelledby="rb-cp-popup-title" data-astro-cid-mgmks4t3> <div class="rb-cp-backdrop" data-rb-cp-close data-astro-cid-mgmks4t3></div> <div class="rb-cp-panel" role="document" data-astro-cid-mgmks4t3> <button type="button" class="rb-cp-close" aria-label="Close contact form" data-rb-cp-close data-astro-cid-mgmks4t3>Ã</button> <header data-astro-cid-mgmks4t3> <div class="font-mono uppercase text-hot" style="font-size:10.5px; letter-spacing:0.18em;" data-astro-cid-mgmks4t3> 1952Get in touch 1953</div> <h2 id="rb-cp-popup-title" class="font-display" style="font-size:30px; font-weight:700; line-height:1.05; letter-spacing:-0.6px; margin-top:8px;" data-astro-cid-mgmks4t3> <span data-rb-cp-title data-astro-cid-mgmks4t3>Contact us</span><span class="text-live" data-astro-cid-mgmks4t3>.</span> </h2> <p class="font-serif text-rb-mute" style="font-size:14px; line-height:1.5; margin-top:10px;" data-astro-cid-mgmks4t3> 1954Send us a message and we'll route it to the right person. Replies within one business day. 1955</p> </header> <form class="rb-cp-form" novalidate data-rb-cp-form data-astro-cid-mgmks4t3> <input type="hidden" name="channel" value="" data-rb-cp-channel-field data-astro-cid-mgmks4t3> <input type="hidden" name="channelLabel" value="" data-rb-cp-channel-label-field data-astro-cid-mgmks4t3> <input type="hidden" name="topic" value="General" data-rb-cp-topic-field data-astro-cid-mgmks4t3> <div class="rb-cp-honeypot" aria-hidden="true" data-astro-cid-mgmks4t3> <label data-astro-cid-mgmks4t3>Leave blank 1956<input type="text" name="_rb_hp" tabindex="-1" autocomplete="off" data-astro-cid-mgmks4t3> </label> </div> <div class="rb-cp-row rb-cp-row-2" data-astro-cid-mgmks4t3> <label class="rb-cp-label" data-astro-cid-mgmks4t3> <span data-astro-cid-mgmks4t3>Name</span> <input type="text" name="name" autocomplete="name" required data-astro-cid-mgmks4t3> </label> <label class="rb-cp-label" data-astro-cid-mgmks4t3> <span data-astro-cid-mgmks4t3>Email</span> <input type="email" name="email" autocomplete="email" placeholder="[email protected]" required data-astro-cid-mgmks4t3> </label> </div> <label class="rb-cp-label" data-astro-cid-mgmks4t3> <span data-astro-cid-mgmks4t3>Phone <em data-astro-cid-mgmks4t3>optional</em></span> <input type="tel" name="phone" autocomplete="tel" data-astro-cid-mgmks4t3> </label> <label class="rb-cp-label" data-astro-cid-mgmks4t3> <span data-astro-cid-mgmks4t3>Message</span> <textarea name="message" rows="5" required placeholder="What's up?" data-astro-cid-mgmks4t3></textarea> </label> <div class="cf-turnstile" data-sitekey="0x4AAAAAADf2U2BCofwAr0al" style="margin-top:2px;" data-astro-cid-mgmks4t3></div> <div class="rb-cp-actions" data-astro-cid-mgmks4t3> <button type="submit" class="rb-cp-submit bg-chrome text-silver-ink" data-rb-cp-submit data-astro-cid-mgmks4t3> 1957SEND MESSAGE 1958<span class="font-mono" style="font-size:11px; letter-spacing:0.14em; color:rgba(10,10,12,0.62);" data-astro-cid-mgmks4t3>â</span> </button> <div class="rb-cp-status" data-rb-cp-status aria-live="polite" data-astro-cid-mgmks4t3></div> </div> </form> <div class="rb-cp-thanks" data-rb-cp-thanks hidden data-astro-cid-mgmks4t3> <div class="font-mono uppercase text-live" style="font-size:10.5px; letter-spacing:0.18em;" data-astro-cid-mgmks4t3> 1959Sent 1960</div> <h2 class="font-display" style="font-size:28px; font-weight:700; line-height:1.05; letter-spacing:-0.5px; margin-top:8px;" data-astro-cid-mgmks4t3> 1961Thanks â we'll be in touch<span class="text-live" data-astro-cid-mgmks4t3>.</span> </h2> <p class="font-serif text-rb-mute" style="font-size:14.5px; line-height:1.5; margin-top:12px;" data-astro-cid-mgmks4t3> 1962Replies usually within one business day. 1963</p> <button type="button" class="rb-cp-close-cta" data-rb-cp-close data-astro-cid-mgmks4t3>CLOSE</button> </div> </div> </aside>
1963<script> 1964 (function () { 1965 var root = document.getElementById('rb-contact-popup'); 1966 if (!root) return; 1967 1968 var form = root.querySelector('[data-rb-cp-form]'); 1969 var submit = root.querySelector('[data-rb-cp-submit]'); 1970 var status = root.querySelector('[data-rb-cp-status]'); 1971 var thanks = root.querySelector('[data-rb-cp-thanks]'); 1972 var titleEl = root.querySelector('[data-rb-cp-title]'); 1973 var channelField = root.querySelector('[data-rb-cp-channel-field]'); 1974 var channelLabelField = root.querySelector('[data-rb-cp-channel-label-field]'); 1975 var topicField = root.querySelector('[data-rb-cp-topic-field]'); 1976 var closers = root.querySelectorAll('[data-rb-cp-close]'); 1977 var openers = document.querySelectorAll('[data-rb-contact-open]'); 1978 1979 function open(opts) { 1980 opts = opts || {}; 1981 if (channelField) channelField.value = opts.channel || ''; 1982 if (channelLabelField) channelLabelField.value = opts.label || ''; 1983 if (topicField) topicField.value = opts.topic || 'General'; 1984 if (titleEl) titleEl.textContent = opts.label || 'Contact us'; 1985 // Reset to a fresh form each open (in case it was submitted before). 1986 if (form) form.hidden = false; 1987 if (thanks) thanks.hidden = true; 1988 setStatus('', null); 1989 if (submit) submit.disabled = false; 1990 root.setAttribute('aria-hidden', 'false'); 1991 document.documentElement.style.overflow = 'hidden'; 1992 setTimeout(function () { 1993 var first = root.querySelector('input[name="name"]'); 1994 if (first) first.focus(); 1995 }, 60); 1996 } 1997 function close() { 1998 root.setAttribute('aria-hidden', 'true'); 1999 document.documentElement.style.overflow = ''; 2000 } 2001 2002 openers.forEach(function (b) { 2003 b.addEventListener('click', function (e) { 2004 e.preventDefault(); 2005 open({ 2006 channel: b.getAttribute('data-rb-contact-channel') || '', 2007 label: b.getAttribute('data-rb-contact-channel-label') || '', 2008 topic: b.getAttribute('data-rb-contact-topic') || '', 2009 }); 2010 }); 2011 }); 2012 closers.forEach(function (b) { b.addEventListener('click', close); }); 2013 document.addEventListener('keydown', function (e) { 2014 if (e.key === 'Escape' && root.getAttribute('aria-hidden') === 'false') close(); 2015 }); 2016 2017 function setStatus(text, state) { 2018 if (!status) return; 2019 status.textContent = text || ''; 2020 if (state) status.setAttribute('data-state', state); 2021 else status.removeAttribute('data-state'); 2022 } 2023 2024 if (form) { 2025 form.addEventListener('submit', async function (e) { 2026 e.preventDefault(); 2027 var fd = new FormData(form); 2028 var payload = { 2029 name: String(fd.get('name') || '').trim(), 2030 email: String(fd.get('email') || '').trim(), 2031 phone: String(fd.get('phone') || '').trim(), 2032 message: String(fd.get('message') || '').trim(), 2033 topic: String(fd.get('topic') || 'General').trim(), 2034 channel: String(fd.get('channel') || '').trim(), 2035 channelLabel: String(fd.get('channelLabel') || '').trim(), 2036 _rb_hp: String(fd.get('_rb_hp') || ''), 2037 'cf-turnstile-response': String(fd.get('cf-turnstile-response') || ''), 2038 }; 2039 if (!payload.name) { setStatus('Add your name.', 'error'); return; } 2040 if (!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(payload.email)) { setStatus('Valid email, please.', 'error'); return; } 2041 if (payload.message.length < 8) { setStatus('Tell us a bit more.', 'error'); return; } 2042 2043 setStatus('Sendingâ¦', 'loading'); 2044 if (submit) submit.disabled = true; 2045 try { 2046 var res = await fetch('/api/contact.json', { 2047 method: 'POST', 2048 headers: { 'content-type': 'application/json', 'Accept': 'application/json' }, 2049 body: JSON.stringify(payload), 2050 }); 2051 var body = null; 2052 try { body = await res.json(); } catch (_e) {} 2053 if (res.ok && body && body.ok) { 2054 form.hidden = true; 2055 if (thanks) thanks.hidden = false; 2056 setStatus('', null); 2057 } else { 2058 setStatus((body && body.error) || 'Something went wrong â try again.', 'error'); 2059 try { if (window.turnstile) window.turnstile.reset(form.querySelector('.cf-turnstile')); } catch (_e) {} 2060 if (submit) submit.disabled = false;
2061 } 2062 } catch (_err) { 2063 setStatus('Network error â try again.', 'error'); 2064 try { if (window.turnstile) window.turnstile.reset(form.querySelector('.cf-turnstile')); } catch (_e) {} 2065 if (submit) submit.disabled = false; 2066 } 2067 }); 2068 } 2069 })(); 2070</script>
2070 <button type="button" class="rb-feedback-fab" data-rb-feedback-open aria-label="Send website feedback" title="Send feedback" data-astro-cid-afk7xxif> <svg viewBox="0 0 24 24" width="20" height="20" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" data-astro-cid-afk7xxif> <path d="M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.38 8.38 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8v.5z" data-astro-cid-afk7xxif></path> </svg> <span class="rb-feedback-fab-label" data-astro-cid-afk7xxif>Feedback</span> </button> <aside id="rb-feedback-popup" class="rb-popup rb-feedback-popup" aria-hidden="true" aria-modal="true" role="dialog" aria-labelledby="rb-feedback-popup-title" data-astro-cid-afk7xxif> <div class="rb-popup-backdrop" data-rb-feedback-close data-astro-cid-afk7xxif></div> <div class="rb-popup-panel" role="document" data-astro-cid-afk7xxif> <button type="button" class="rb-popup-close" aria-label="Close feedback form" data-rb-feedback-close data-astro-cid-afk7xxif>Ã</button> <header class="rb-feedback-head" data-astro-cid-afk7xxif> <div class="font-mono uppercase text-hot" style="font-size:10.5px; letter-spacing:0.18em;" data-astro-cid-afk7xxif> 2071Send us feedback 2072</div> <h2 id="rb-feedback-popup-title" class="font-display" style="font-size:30px; font-weight:700; line-height:1.05; letter-spacing:-0.6px; margin-top:8px;" data-astro-cid-afk7xxif>Tell us what's on your mind<span class="text-live" data-astro-cid-afk7xxif>.</span></h2> <p class="font-serif text-rb-mute" style="font-size:14px; line-height:1.5; margin-top:10px;" data-astro-cid-afk7xxif> 2073Bug, broken link, wrong info, or just a thought â we read every note. 2074</p> </header> <form class="rb-feedback-form" novalidate data-rb-feedback-form data-astro-cid-afk7xxif> <div class="rb-feedback-honeypot" aria-hidden="true" data-astro-cid-afk7xxif> <label data-astro-cid-afk7xxif>Leave blank 2075<input type="text" name="website" tabindex="-1" autocomplete="off" data-astro-cid-afk7xxif> </label> </div> <div class="rb-feedback-row rb-feedback-row-2" data-astro-cid-afk7xxif> <label class="rb-feedback-label" data-astro-cid-afk7xxif> <span data-astro-cid-afk7xxif>Name</span> <input type="text" name="name" autocomplete="name" required data-astro-cid-afk7xxif> </label> <label class="rb-feedback-label" data-astro-cid-afk7xxif> <span data-astro-cid-afk7xxif>Email</span> <input type="email" name="email" autocomplete="email" placeholder="[email protected]" required data-astro-cid-afk7xxif> </label> </div> <label class="rb-feedback-label" data-astro-cid-afk7xxif> <span data-astro-cid-afk7xxif>About</span> <select name="type" data-astro-cid-afk7xxif> <option value="general" data-astro-cid-afk7xxif>General</option><option value="bug" data-astro-cid-afk7xxif>Bug / site issue</option><option value="content" data-astro-cid-afk7xxif>Content correction</option><option value="tickets" data-astro-cid-afk7xxif>Ticketing question</option> </select> </label> <label class="rb-feedback-label" data-astro-cid-afk7xxif> <span data-astro-cid-afk7xxif>Feedback</span> <textarea name="message" rows="5" required placeholder="What's working, what's broken, what you'd changeâ¦" data-astro-cid-afk7xxif></textarea> </label> <input type="hidden" name="page_url" data-rb-feedback-page data-astro-cid-afk7xxif> <div class="cf-turnstile" data-sitekey="0x4AAAAAADf2U2BCofwAr0al" style="margin-top:2px;" data-astro-cid-afk7xxif></div> <div class="rb-feedback-actions" data-astro-cid-afk7xxif> <button type="submit" class="rb-feedback-submit bg-chrome text-silver-ink" data-rb-feedback-submit data-astro-cid-afk7xxif> 2076SEND FEEDBACK 2077<span class="font-mono" style="font-size:11px; letter-spacing:0.14em; color:rgba(10,10,12,0.62);" data-astro-cid-afk7xxif>â</span> </button> <div class="rb-feedback-status" data-rb-feedback-status aria-live="polite" data-astro-cid-afk7xxif></div> </div> </form> <div class="rb-feedback-thanks" data-rb-feedback-thanks hidden data-astro-cid-afk7xxif> <div class="font-mono uppercase text-live" style="font-size:10.5px; letter-spacing:0.18em;" data-astro-cid-afk7xxif> 2078Received 2079</div> <h2 class="font-display" style="font-size:28px; font-weight:700; line-height:1.05; letter-spacing:-0.5px; margin-top:8px;" data-astro-cid-afk7xxif>Thanks for the note<span class="text-live" data-astro-cid-afk7xxif>.</span></h2> <p class="font-serif text-rb-mute" style="font-size:14.5px; line-height:1.5; margin-top:12px;" data-astro-cid-afk7xxif> 2080We log every submission. If you asked us to follow up, expect a reply 2081 within one business day. 2082</p> <button type="button" class="rb-feedback-close-cta" data-rb-feedback-close data-astro-cid-afk7xxif>CLOSE</button> </div> </div> </aside>
2082<script> 2083 (function () { 2084 var root = document.getElementById('rb-feedback-popup'); 2085 if (!root) return; 2086 // Always POST to our SSR proxy â it reaches the LAN-only WP store 2087 // and emails a copy. The browser can't hit WP directly. 2088 var endpoint = '/api/feedback.json'; 2089 2090 var form = root.querySelector('[data-rb-feedback-form]'); 2091 var submit = root.querySelector('[data-rb-feedback-submit]'); 2092 var status = root.querySelector('[data-rb-feedback-status]'); 2093 var thanks = root.querySelector('[data-rb-feedback-thanks]'); 2094 var pageEl = root.querySelector('[data-rb-feedback-page]'); 2095 var closers = root.querySelectorAll('[data-rb-feedback-close]'); 2096 var openers = document.querySelectorAll('[data-rb-feedback-open]'); 2097 2098 function open() { 2099 if (pageEl) pageEl.value = location.href; 2100 root.setAttribute('aria-hidden', 'false'); 2101 document.documentElement.style.overflow = 'hidden'; 2102 // Focus the first field after the transition starts. 2103 setTimeout(function () { 2104 var first = root.querySelector('input[name="name"]'); 2105 if (first) first.focus(); 2106 }, 60); 2107 } 2108 function close() { 2109 root.setAttribute('aria-hidden', 'true'); 2110 document.documentElement.style.overflow = ''; 2111 } 2112 2113 openers.forEach(function (b) { 2114 b.addEventListener('click', function (e) { e.preventDefault(); open(); }); 2115 }); 2116 closers.forEach(function (b) { b.addEventListener('click', close); }); 2117 document.addEventListener('keydown', function (e) { 2118 if (e.key === 'Escape' && root.getAttribute('aria-hidden') === 'false') close(); 2119 }); 2120 2121 function setStatus(text, state) { 2122 if (!status) return; 2123 status.textContent = text || ''; 2124 if (state) status.setAttribute('data-state', state); 2125 else status.removeAttribute('data-state'); 2126 } 2127 2128 if (form) { 2129 form.addEventListener('submit', async function (e) { 2130 e.preventDefault(); 2131 setStatus('Sendingâ¦', 'loading'); 2132 if (submit) submit.disabled = true; 2133 var fd = new FormData(form); 2134 var payload = { 2135 name: String(fd.get('name') || '').trim(), 2136 email: String(fd.get('email') || '').trim(), 2137 type: String(fd.get('type') || 'general'), 2138 title: String(fd.get('title') || '').trim(), 2139 message: String(fd.get('message') || '').trim(), 2140 page_url: String(fd.get('page_url') || location.href), 2141 website: String(fd.get('website') || ''), 2142 'cf-turnstile-response': String(fd.get('cf-turnstile-response') || ''), 2143 }; 2144 try { 2145 var res = await fetch(endpoint, { 2146 method: 'POST', 2147 headers: { 'content-type': 'application/json', 'Accept': 'application/json' }, 2148 body: JSON.stringify(payload), 2149 }); 2150 if (res.ok) { 2151 // Swap form for thanks block. 2152 form.hidden = true; 2153 if (thanks) thanks.hidden = false; 2154 setStatus('', null); 2155 } else { 2156 var msg = 'Something went wrong â try again.'; 2157 try { 2158 var body = await res.json(); 2159 if (body && (body.error || body.message)) msg = body.error || body.message; 2160 } catch (_e) {} 2161 setStatus(msg, 'error'); 2162 try { if (window.turnstile) window.turnstile.reset(form.querySelector('.cf-turnstile')); } catch (_e) {} 2163 if (submit) submit.disabled = false; 2164 } 2165 } catch (_err) { 2166 setStatus('Network error â try again.', 'error'); 2167 try { if (window.turnstile) window.turnstile.reset(form.querySelector('.cf-turnstile')); } catch (_e) {} 2168 if (submit) submit.disabled = false; 2169 } 2170 }); 2171 } 2172 })(); 2173</script>
2173 <aside id="rb-cookie-consent" class="rb-cookie-consent" data-rb-cookie-consent aria-hidden="true" aria-label="Cookie preferences" role="dialog" style="display:none;" data-astro-cid-garwan2p> <div class="rb-cookie-consent-inner" data-astro-cid-garwan2p> <div class="rb-cookie-consent-head" data-astro-cid-garwan2p> <img src="/assets/rb-mark.png" alt="" class="rb-cookie-consent-mark" data-astro-cid-garwan2p> <div class="rb-cookie-consent-text" data-astro-cid-garwan2p> <div class="rb-cookie-consent-eyebrow font-mono uppercase" data-astro-cid-garwan2p>Cookies</div> <p class="rb-cookie-consent-body font-serif" data-astro-cid-garwan2p> 2174We use cookies to keep your spot in the calendar and remember 2175 your saved events. Analytics help us book the shows you 2176 actually want to see. 2177</p> <a href="/privacy-policy" class="rb-cookie-consent-link font-mono uppercase" data-astro-cid-garwan2p>Privacy Policy â</a> </div> </div> <div class="rb-cookie-consent-panel" data-rb-cookie-panel data-astro-cid-garwan2p> <ul class="rb-cookie-consent-categories" data-astro-cid-garwan2p> <li data-astro-cid-garwan2p> <label class="rb-cookie-consent-row" data-astro-cid-garwan2p> <span class="rb-cookie-consent-row-text" data-astro-cid-garwan2p> <span class="rb-cookie-consent-row-title font-display" data-astro-cid-garwan2p>Essential</span> <span class="rb-cookie-consent-row-desc font-serif" data-astro-cid-garwan2p> 2178Saved events, market preference, login state. The site 2179 won't work without these. 2180</span> </span> <input type="checkbox" checked disabled data-rb-cookie-cat="essential" data-astro-cid-garwan2p> </label> </li> <li data-astro-cid-garwan2p> <label class="rb-cookie-consent-row" data-astro-cid-garwan2p> <span class="rb-cookie-consent-row-text" data-astro-cid-garwan2p> <span class="rb-cookie-consent-row-title font-display" data-astro-cid-garwan2p>Analytics</span> <span class="rb-cookie-consent-row-desc font-serif" data-astro-cid-garwan2p> 2181Page-view + event-tracking data we use to decide which 2182 shows to book and where to spend marketing. 2183</span> </span> <input type="checkbox" checked data-rb-cookie-cat="analytics" data-astro-cid-garwan2p> </label> </li> <li data-astro-cid-garwan2p> <label class="rb-cookie-consent-row" data-astro-cid-garwan2p> <span class="rb-cookie-consent-row-text" data-astro-cid-garwan2p> <span class="rb-cookie-consent-row-title font-display" data-astro-cid-garwan2p>Marketing</span> <span class="rb-cookie-consent-row-desc font-serif" data-astro-cid-garwan2p> 2184Tags that let us re-target ads on platforms (Meta, 2185 Google) and send better SMS / email recommendations. 2186</span> </span> <input type="checkbox" checked data-rb-cookie-cat="marketing" data-astro-cid-garwan2p> </label> </li> </ul> </div> <div class="rb-cookie-consent-actions" data-astro-cid-garwan2p> <button type="button" class="rb-cookie-consent-btn rb-cookie-consent-decline font-mono uppercase" data-rb-cookie-choice="decline" data-astro-cid-garwan2p>Decline</button> <button type="button" class="rb-cookie-consent-btn rb-cookie-consent-customize font-mono uppercase" data-rb-cookie-customize-toggle aria-expanded="false" data-astro-cid-garwan2p>Customize</button> <button type="button" class="rb-cookie-consent-btn rb-cookie-consent-accept font-mono uppercase" data-rb-cookie-accept data-astro-cid-garwan2p> <span data-rb-cookie-accept-label-default data-astro-cid-garwan2p>Accept all</span> <span data-rb-cookie-accept-label-custom hidden data-astro-cid-garwan2p>Accept</span> </button> </div> </div> </aside>
2186<script> 2187 (function () { 2188 var root = document.getElementById('rb-cookie-consent'); 2189 if (!root || root.dataset.bound === '1') return; 2190 root.dataset.bound = '1'; 2191 2192 var customizeBtn = root.querySelector('[data-rb-cookie-customize-toggle]'); 2193 var acceptLabelDefault = root.querySelector('[data-rb-cookie-accept-label-default]'); 2194 var acceptLabelCustom = root.querySelector('[data-rb-cookie-accept-label-custom]'); 2195 2196 function hasConsentCookie() { 2197 return /(?:^|;\s*)rb_cookie_consent=[^;]+/.test(document.cookie || ''); 2198 } 2199 function reveal() { 2200 root.style.display = ''; 2201 // rAF so the display flip paints before the slide-in transition. 2202 requestAnimationFrame(function () { 2203 root.setAttribute('aria-hidden', 'false'); 2204 }); 2205 } 2206 2207 function recordChoice(value) { 2208 // 6-month cookie. Periodic re-prompting is common practice; 2209 // six months matches what most consent vendors default to. 2210 var maxAge = 60 * 60 * 24 * 180; 2211 document.cookie = 2212 'rb_cookie_consent=' + encodeURIComponent(value) + 2213 '; max-age=' + maxAge + 2214 '; path=/; samesite=lax'; 2215 // Push the choice into Consent Mode v2 so GTM (if loaded) 2216 // unblocks the gated tags immediately, without needing a 2217 // page reload. The hook is a no-op when GTM isn't wired (dev, 2218 // staging, missing env). 2219 if (typeof window.__rbUpdateConsent === 'function') { 2220 try { window.__rbUpdateConsent(value); } catch (_) { /* swallow */ } 2221 } 2222 } 2223 function dismiss() { 2224 root.setAttribute('aria-hidden', 'true'); 2225 // Hide (don't remove) after the transform animation completes â 2226 // removal would break __rbOpenCookieConsent re-opening later, 2227 // and display:none equally stops stray clicks. 2228 setTimeout(function () { 2229 if (root) root.style.display = 'none'; 2230 }, 260); 2231 } 2232 function isCustomizeOpen() { 2233 return root.getAttribute('data-rb-cookie-customize') === 'true'; 2234 } 2235 function syncAcceptLabel() { 2236 var custom = isCustomizeOpen(); 2237 if (acceptLabelDefault) acceptLabelDefault.hidden = custom; 2238 if (acceptLabelCustom) acceptLabelCustom.hidden = !custom; 2239 if (customizeBtn) customizeBtn.setAttribute('aria-expanded', custom ? 'true' : 'false'); 2240 } 2241 function openCustomize() { 2242 root.setAttribute('data-rb-cookie-customize', 'true'); 2243 syncAcceptLabel(); 2244 } 2245 function closeCustomize() { 2246 root.removeAttribute('data-rb-cookie-customize'); 2247 syncAcceptLabel(); 2248 } 2249 2250 // Decline â terminal choice, dismiss. 2251 root.querySelectorAll('[data-rb-cookie-choice]').forEach(function (btn) { 2252 btn.addEventListener('click', function () { 2253 recordChoice(btn.getAttribute('data-rb-cookie-choice') || 'decline'); 2254 dismiss(); 2255 }); 2256 }); 2257 2258 // Customize â toggle the panel without recording a choice yet. 2259 if (customizeBtn) { 2260 customizeBtn.addEventListener('click', function () { 2261 if (isCustomizeOpen()) closeCustomize(); 2262 else openCustomize(); 2263 }); 2264 } 2265 2266 // Accept â when customize is closed: accept all categories 2267 // (records 'accept'). When customize is open: respect the 2268 // toggle state (records a comma-separated category list). 2269 var acceptBtn = root.querySelector('[data-rb-cookie-accept]'); 2270 if (acceptBtn) { 2271 acceptBtn.addEventListener('click', function () { 2272 if (!isCustomizeOpen()) { 2273 recordChoice('accept'); 2274 dismiss(); 2275 return; 2276 } 2277 var accepted = []; 2278 root.querySelectorAll('[data-rb-cookie-cat]').forEach(function (input) { 2279 if (input.checked) accepted.push(input.getAttribute('data-rb-cookie-cat')); 2280 }); 2281 if (accepted.indexOf('essential') === -1) accepted.unshift('essential'); 2282 recordChoice(accepted.join(',')); 2283 dismiss(); 2284 }); 2285 } 2286 2287 // Re-open hook for a future footer "Cookie preferences" link. 2288 // Clears the cookie + slides the banner back in. 2289 window.__rbOpenCookieConsent = function () { 2290 document.cookie = 'rb_cookie_consent=; max-age=0; path=/; samesite=lax'; 2291 closeCustomize(); 2292 reveal(); 2293 }; 2294 2295 // First-load decision â purely client-side so the SSR/CDN output 2296 // stays identical for every visitor. Reveal only when no prior 2297 // choice is recorded; otherwise hide the node (not remove â the 2298 // __rbOpenCookieConsent hook must be able to bring it back). 2299 if (hasConsentCookie()) { 2300 root.style.display = 'none'; 2301 } else { 2302 reveal(); 2303 } 2304 })(); 2305</script>
2305
2305<script> 2306 (function () { 2307 try { 2308 var plat = (navigator.userAgentData && navigator.userAgentData.platform) || navigator.platform || ''; 2309 var isWin = /win/i.test(plat); 2310 var finePointer = window.matchMedia && window.matchMedia('(pointer: fine)').matches; 2311 if (!isWin || !finePointer) return; 2312 document.querySelectorAll('[data-hscroll]').forEach(function (rail) { 2313 if (rail.scrollWidth <= rail.clientWidth + 4) return; 2314 var host = rail.parentElement; 2315 if (!host) return; 2316 host.classList.add('rb-hscroll-host'); 2317 var grad = document.createElement('div'); 2318 grad.className = 'rb-hscroll-grad'; 2319 var cue = document.createElement('div'); 2320 cue.className = 'rb-hscroll-cue'; 2321 cue.textContent = 'Shift â§ + Scroll'; 2322 host.appendChild(grad); 2323 host.appendChild(cue); 2324 var update = function () { 2325 host.classList.toggle('rb-scroll-end', rail.scrollLeft + rail.clientWidth >= rail.scrollWidth - 4); 2326 }; 2327 rail.addEventListener('scroll', update, { passive: true }); 2328 update(); 2329 }); 2330 } catch (e) {} 2331 })(); 2332 </script>
2332
2332<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"7d477e85044d49f78981768d5ae26eb7","r":1,"spa":2}' crossorigin="anonymous"></script>
2332 2333</body> </html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.