PageSourceSearch

https://tour.thenbhd.com/

html thenbhd.com collected 2026-10-02 11:00:28 UTC 20,060 bytes, 590 lines download raw bytes

1<!doctype html>
2<html lang="en">
3  <head>
4    <meta charset="UTF-8" />
5    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6    <title>The Neighbourhood - Wourld Tour</title>
7    <link rel="icon" type="image/png" href="/images/housefavicon.png" />
8
9    <!-- Tracking pixels loaded via consent system - see src/services/cookieConsent.ts -->
10
11    <style>
12      /* Removed corrupted PixelFont.ttf - using system monospace fallback */
13      @font-face {
14        font-family: 'RoadgeekEM';
15        src: url('/fonts/RG2014EM.ttf') format('truetype');
16        font-weight: normal;
17        font-style: normal;
18        font-display: swap;
19      }
20      @font-face {
21        font-family: 'RoadgeekEE';
22        src: url('/fonts/RG2014EEM.ttf') format('truetype');
23        font-weight: normal;
24        font-style: normal;
25        font-display: swap;
26      }
27      html, body, #app {
28        height: 100%;
29        margin: 0;
30        padding: 0;
31        /* Disable text selection and touch behaviors that interfere with gameplay */
32        -webkit-user-select: none;
33        -moz-user-select: none;
34        -ms-user-select: none;
35        user-select: none;
36        -webkit-touch-callout: none;
37        -webkit-tap-highlight-color: transparent;
38        touch-action: manipulation;
39        overscroll-behavior: none;
40      }
41      body { background: #000; color: #fff; font-family: 'RoadgeekEM', 'RoadgeekEE', system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, sans-serif; }
42      canvas {
43        display: block;
44        position: fixed;
45        inset: 0;
46        z-index: 1;
47        /* Prevent touch interference on canvas */
48        touch-action: none;
49      }
50      .overlay {
51        position: fixed;
52        inset: 0;
53        display: flex;
54        align-items: center;
55        justify-content: center;
56        background: rgba(0,0,0,0.6);
57        z-index: 2;
58        overflow-y: auto;
59        padding: 16px;
60      }
61      .panel {
62        width: 380px;
63        max-width: 100%;
64        background: rgba(20,20,20,0.9);
65        border: 1px solid #333;
66        border-radius: 12px;
67        padding: 16px;
68        box-shadow: 0 10px 40px rgba(0,0,0,0.5);
69        margin: auto;
70      }
71      .field { display: flex; gap: 8px; margin-top: 8px; }
72      .panel input:not([type="checkbox"]) {
73        flex: 1;
74        min-width: 0;
75        padding: 10px 12px;
76        border-radius: 8px;
77        border: 1px solid #333;
78        background: #111;
79        color: #fff;
80        box-sizing: border-box;
81        /* Re-enable text selection in form inputs */
82        -webkit-user-select: text;
83        -moz-user-select: text;
84        -ms-user-select: text;
85        user-select: text;
86      }
87      .panel input::placeholder { color: #bfbfbf; }
88      .panel .field button { flex: 1; }
89      button { padding: 10px 12px; border-radius: 8px; border: 1px solid #444; background: #1e1e1e; color: #fff; cursor: pointer; font-family: inherit; transition: all 0.2s; }
90      button:hover { background: #2a2a2a; }
91
92      /* Button variants */
93      .button-row { margin-top: 16px; }
94      button.primary { background: #2563eb; border-color: #1d4ed8; font-weight: 500; }
95      button.primary:hover { background: #1d4ed8; }
96      button.secondary { background: #1e1e1e; border-color: #444; }
97      button.secondary:hover { background: #2a2a2a; }
98      button.tertiary { background: transparent; border-color: #333; opacity: 0.7; font-size: 13px; }
99      button.tertiary:hover { opacity: 1; background: rgba(255,255,255,0.05); }
100
101      .muted { opacity: 0.7; font-size: 14px; margin-top: 24px; }
102      .hidden { display: none; }
103      .checkbox-field { align-items: flex-start; margin-top: 16px; }
104      .checkbox-field label { display: flex; gap: 8px; align-items: flex-start; cursor: pointer; }
105      .checkbox-field input[type="checkbox"] {
106        margin-top: 2px;
107        cursor: pointer;
108        flex-shrink: 0;
109        width: 16px;
110        height: 16px;
111        accent-color: #4a9eff; /* Bright blue accent for better visibility */
112        background-color: rgba(255, 255, 255, 0.1);
113        border: 1px solid rgba(255, 255, 255, 0.3);
114        border-radius: 3px;
115      }
116      .checkbox-field input[type="checkbox"]:checked {
117        background-color: #4a9eff;
118        border-color: #4a9eff;
119      }
120      .checkbox-field span { font-size: 11px; line-height: 1.4; opacity: 0.85; }
121      .checkbox-field a { color: #8ab4ff; text-decoration: none; }
122      .checkbox-field a:hover { text-decoration: underline; }
123
124      /* Line break control for form heading */
125      .panel h3 .mobile-break { display: inline; }
126      @media (max-width: 768px) {
127        .panel h3 {
128          font-size: 16px; /* Smaller font on mobile to fit on one line */
129        }
130        .panel h3 .mobile-break { display: inline; } /* Keep on one line on mobile */
131      }
132
133      /* Mobile form adjustments */
134      @media (max-width: 768px) {
135        .panel {
136          padding: 12px;
137          border-radius: 8px;
138        }
139
140        .panel input:not([type="checkbox"]) {
141          padding: 8px 10px;
142          font-size: 14px;
143        }
144
145        button {
146          padding: 8px 10px;
147          font-size: 14px;
148        }
149
150        .checkbox-field input[type="checkbox"] {
151          width: 20px;
152          height: 20px;
153          border: 2px solid rgba(255, 255, 255, 0.4);
154        }
155
156        .checkbox-field input[type="checkbox"]:checked {
157          background-color: #5aa3ff;
158          border-color: #5aa3ff;
159        }
160
161        .checkbox-field span {
162          font-size: 10px;
163        }
164
165        .muted {
166          font-size: 12px;
167          margin-top: 16px;
168        }
169      }
170      #seated-overlay {
171        position: fixed;
172        inset: 0;
173        background: rgba(0,0,0,0.92);
174        z-index: 5;
175        display: none;
176        overflow-y: auto;
177        overflow-x: hidden;
178        /* Re-enable text selection in tour overlay */
179        -webkit-user-select: text;
180        -moz-user-select: text;
181        -ms-user-select: text;
182        user-select: text;
183        touch-action: auto;
184      }
185      #seated-overlay .close {
186        position: absolute;
187        top: 24px;
188        right: 24px;
189        z-index: 6;
190        font-family: 'RoadgeekEM', sans-serif;
191        background: transparent;
192        border: none;
193        color: #fff;
194        font-size: clamp(14px, 1.5vw, 18px);
195        cursor: pointer;
196        text-transform: uppercase;
197        letter-spacing: 0.5px;
198        padding: 8px 0;
199        border-bottom: 2px solid transparent;
200        transition: border-color 0.2s;
201        border-radius: 0; /* Remove any button border radius */
202        outline: none; /* Remove focus outline */
203        -webkit-appearance: none; /* Remove iOS button styling */
204        appearance: none; /* Remove default button appearance */
205      }
206      #seated-overlay .close:hover { border-bottom-color: #fff; }
207      #seated-overlay .shop-link {
208        display: inline-block;
209        color: #fff;
210        text-decoration: none;
211        font-family: 'RoadgeekEM', sans-serif;
212        font-size: clamp(14px, 1.5vw, 18px);
213        text-transform: uppercase;
214        letter-spacing: 0.5px;
215        padding: 8px 0;
216        border-bottom: 2px solid transparent;
217        transition: border-color 0.2s;
218      }
219      #seated-overlay .shop-link:hover {
220        border-bottom-color: #fff;
221      }
222      /* Globe container */
223      #globe-container {
224        background: transparent;
225        height: 800px !important;
226        max-width: 1000px;
227        margin: 0 auto;
228      }
229
230      /* Globe canvas should scroll with content, not be fixed */
231      #globe-container canvas {
232        position: relative !important;
233        inset: auto !important;
234      }
235
236      /* Tour dates positioned below globe with reduced spacing */
237      #seated-55fdf2c0 {
238        margin-top: -20px !important;
239      }
240
241      /* Mobile responsive globe and tour dates */
242      @media (max-width: 768px) {
243        #globe-container {
244          height: 400px !important;
245          max-width: 100%;
246        }
247
248        #seated-55fdf2c0 {
249          margin-top: 10px !important;
250        }
251
252        /* Stack tour dates in single column on mobile */
253        .tour-list-columns {
254          grid-template-columns: 1fr !important;
255        }
256
257        /* Reduce padding on mobile */
258        .tour-list {
259          padding: 8px 12px;
260        }
261
262        /* Mobile: compact single-line layout with controlled widths */
263        .tour-row {
264          font-size: 10px;
265          gap: 0px;
266        }
267
268        .tour-date {
269          font-size: 10px;
270          min-width: fit-content;
271          flex-shrink: 0;
272          margin-right: -3px;
273        }
274
275        .tour-venue {
276          font-size: 10px;
277          flex: 0 1 auto; /* Don't grow, can shrink, auto size */
278          min-width: 0;
279          overflow: hidden;
280          text-overflow: ellipsis;
281          white-space: nowrap;
282          margin-left: -3px;
283          margin-right: 3px; /* Add space after venue */
284        }
285
286        .tour-location {
287          font-size: 10px;
288          flex: 0 1 auto; /* Don't grow, can shrink, auto size */
289          min-width: 0;
290          overflow: hidden;
291          text-overflow: ellipsis;
292          white-space: nowrap;
293        }
294
295        .tour-row > .tour-dots {
296          margin: 0 0px !important;
297          margin-left: -42px !important; /* Adjusted to pull content left and prevent button cutoff */
298          min-width: 5px !important;
299          flex-shrink: 2; /* Shrink dots more than other elements */
300          overflow: hidden;
301          white-space: nowrap;
302        }
303
304        .tour-link {
305          font-size: 8px !important;
306          padding: 4px 5px !important;
307          min-width: 36px !important;
308          max-width: 36px !important;
309          width: 36px !important;
310          line-height: 1.2 !important;
311          display: inline-flex !important;
312          align-items: center !important;
313          justify-content: center !important;
314          margin-left: 5.5px !important;
315          margin-right: 0px !important;
316          flex-shrink: 0 !important;
317          flex-grow: 0 !important;
318        }
319        .tour-link.tour-vip {
320          min-width: 22px !important;
321          max-width: 22px !important;
322          width: 22px !important;
323          margin-left: 2px !important;
324          padding: 4px 2px !important;
325        }
326
327        /* Dynamic sizing for longer text */
328        .tour-row.long-text .tour-venue,
329        .tour-row.long-text .tour-location {
330          font-size: 9px;
331        }
332
333        .tour-support {
334          font-size: 8px;
335          margin-top: 1px;
336        }
337
338        /* Stack header buttons on smaller screens */
339        #seated-overlay .shop-link {
340          top: 12px !important;
341          left: 12px !important;
342          font-size: 11px !important;
343          padding: 6px 0 !important;
344        }
345
346        #seated-overlay .close {
347          top: 12px !important;
348          right: 12px !important;
349          font-size: 11px !important;
350          padding: 6px 0 !important;
351        }
352      }
353
354      /* Extra small mobile screens */
355      @media (max-width: 480px) {
356        /* Stack header buttons vertically to prevent overlap */
357        #seated-overlay .shop-link {
358          top: 8px !important;
359          left: 8px !important;
360          right: 8px !important;
361          text-align: center;
362          font-size: 10px !important;
363        }
364
365        #seated-overlay .close {
366          top: 36px !important;
367          left: 8px !important;
368          right: 8px !important;
369          text-align: center;
370          font-size: 10px !important;
371        }
372
373        /* Adjust container padding to account for stacked headers */
374        #seated-overlay > div {
375          padding: 8px !important;
376          margin-top: 64px !important;
377        }
378      }
379
380      /* Fallback tour list styling - poster aesthetic */
381      .tour-list {
382        padding: 12px 24px;
383        max-width: 100%;
384        overflow-x: hidden;
385      }
386      .tour-list-columns {
387        display: grid;
388        grid-template-columns: 1fr 1fr;
389        grid-auto-flow: column;
390        grid-template-rows: repeat(var(--row-count, 10), auto);
391        gap: 8px clamp(16px, 2.5vw, 32px);
392        max-width: 100%;
393      }
394
395      /* Collapse to single column on medium/smaller screens - increased from 1024px to 1280px */
396      @media (max-width: 1280px) {
397        .tour-list-columns {
398          grid-template-columns: 1fr !important;
399          grid-auto-flow: row !important;
400          grid-template-rows: auto !important;
401        }
402      }
403      .tour-row {
404        display: flex;
405        align-items: baseline;
406        gap: clamp(1px, 0.3vw, 3px);
407        color: #fff;
408        font-size: clamp(12px, 1.3vw, 16px);
409        line-height: 1.5;
410        padding: 0;
411      }
412      .tour-row-wrapper {
413        border-bottom: 1px solid rgba(255,255,255,0.1);
414        padding: 6px 0;
415      }
416      .tour-row-wrapper:last-child { border-bottom: none; }
417      .tour-row-wrapper .tour-link {
418        transform: translateY(35%);
419      }
420      .tour-support {
421        display: flex;
422        align-items: baseline;
423        font-family: 'RoadgeekEE', sans-serif;
424        font-size: clamp(9px, 0.9vw, 12px);
425        color: rgba(255,255,255,0.5);
426        margin-top: 2px;
427        line-height: 1.3;
428      }
429      .tour-support-text {
430        white-space: nowrap;
431        flex-shrink: 0;
432        font-style: italic;
433      }
434      .tour-support .tour-dots {
435        flex: 1;
436        min-width: 15px;
437        transform: translateY(-1px);
438      }
439      .tour-date { font-family: 'RoadgeekEM', sans-serif; white-space: nowrap; flex-shrink: 0; margin-right: -2px; }
440      .tour-venue {
441        font-family: 'RoadgeekEE', sans-serif;
442        white-space: nowrap;
443        flex-shrink: 0;
444        margin-left: -2px;
445      }
446      .tour-location {
447        font-family: 'RoadgeekEM', sans-serif;
448        opacity: 0.8;
449        white-space: nowrap;
450        flex-shrink: 0;
451      }
452      .tour-dots {
453        flex: 1;
454        border-bottom: 2px dotted rgba(255,255,255,0.2);
455        transform: translateY(-2px);
456        margin: 0 clamp(1px, 0.3vw, 2px);
457        min-width: 15px;
458      }
459      .tour-link {
460        margin-left: 12px;
461        color: #fff;
462        text-decoration: none;
463        font-family: 'RoadgeekEM', sans-serif;
464        font-size: clamp(9px, 1vw, 12px);
465        padding: 3px clamp(5px, 0.8vw, 10px);
466        border: 1px solid #fff;
467        border-radius: 2px;
468        transition: all 0.2s;
469        white-space: nowrap;
470        flex-shrink: 0;
471        align-self: baseline;
472        min-width: 70px;
473        text-align: center;
474      }
475      .tour-link:hover { background: #fff; color: #000; }
476      .tour-link.tour-vip {
477        margin-left: 4px;
478        min-width: auto;
479        padding: 3px 6px;
480        border: 1px solid transparent;
481        border-image: linear-gradient(135deg, #d4a844, #f5d98a, #c4923a) 1;
482        color: #d4af37;
483        background: transparent;
484        border-radius: 0;
485      }
486      .tour-link.tour-vip:hover {
487        background: linear-gradient(135deg, #d4a844, #f5d98a, #c4923a);
488        color: #000;
489        border-image: none;
490      }
491      .tour-link.sold-out {
492        background: #c41e1e;
493        border-color: #c41e1e;
494        color: #fff !important;
495        display: inline-flex;
496        align-items: center;
497        justify-content: center;
498        padding-top: 3px;
499        padding-bottom: 3px;
500      }
501      .tour-link.sold-out:hover {
502        background: #a01818;
503        border-color: #a01818;
504        color: #fff !important;
505      }
506      .tour-link .label-mobile { display: none; }
507      .tour-link .label-desktop { display: inline; }
508      @media (max-width: 768px) {
509        .tour-link .label-mobile { display: inline; }
510        .tour-link .label-desktop { display: none; }
511      }
512      .brand-logo { display: block; height: 56px; width: auto; margin: 12px auto 24px auto; }
513      /* Seated widget font overrides (disabled by default; add class to enable) */
514      body.widget-font-override #seated-55fdf2c0, body.widget-font-override #seated-55fdf2c0 * {
515        font-family: 'RoadgeekEM', 'RoadgeekEE', system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, sans-serif !important;
516      }
517      /* Seated widget layout/theme overrides to resemble fallback list */
518      body.widget-style-override #seated-55fdf2c0 { color: #fff; font-size: clamp(14px, 1.5vw, 18px); line-height: 1.35; }
519      body.widget-style-override #seated-55fdf2c0 a { color: #8ab4ff; text-decoration: none; }
520      body.widget-style-override #seated-55fdf2c0 a:hover { text-decoration: underline; }
521      /* Try to normalize rows to our layout */
522      body.widget-style-override #seated-55fdf2c0 li,
523      body.widget-style-override #seated-55fdf2c0 .event,
524      body.widget-style-override #seated-55fdf2c0 [class*="Event"],
525      body.widget-style-override #seated-55fdf2c0 [class*="event"] {
526        display: flex;
527        align-items: baseline;
528        gap: 8px;
529        padding: 6px 0;
530      }
531      /* Date column styling */
532      body.widget-style-override #seated-55fdf2c0 time,
533      body.widget-style-override #seated-55fdf2c0 .date,
534      body.widget-style-override #seated-55fdf2c0 [class*="date"],
535      body.widget-style-override #seated-55fdf2c0 [class*="Date"] {
536        font-family: 'RoadgeekEM', sans-serif;
537        min-width: 64px;
538      }
539      /* Venue/Location styling */
540      body.widget-style-override #seated-55fdf2c0 .venue,
541      body.widget-style-override #seated-55fdf2c0 [class*="venue"],
542      body.widget-style-override #seated-55fdf2c0 [class*="Venue"] {
543        font-family: 'RoadgeekEE', sans-serif;
544      }
545      body.widget-style-override #seated-55fdf2c0 .location,
546      body.widget-style-override #seated-55fdf2c0 [class*="location"],
547      body.widget-style-override #seated-55fdf2c0 [class*="Location"] {
548        font-family: 'RoadgeekEM', sans-serif;
549        opacity: 0.95;
550      }
551      /* Tickets link */
552      body.widget-style-override #seated-55fdf2c0 a[href*="ticket" i],
553      body.widget-style-override #seated-55fdf2c0 a[title*="Ticket" i] {
554        margin-left: clamp(8px, 1vw, 12px);
555        font-family: 'RoadgeekEM', sans-serif;
556        font-size: clamp(12px, 1.3vw, 16px);
557      }
558      /* Dotted leader approximation: add a dotted line between first and last columns when feasible */
559      body.widget-style-override #seated-55fdf2c0 li::after,
560      body.widget-style-override #seated-55fdf2c0 .event::after,
561      body.widget-style-override #seated-55fdf2c0 [class*="Event"]::after,
562      body.widget-style-override #seated-55fdf2c0 [class*="event"]::after {
563        content: '';
564        flex: 1;
565        border-bottom: 2px dotted rgba(255,255,255,0.35);
566        transform: translateY(-2px);
567        margin: 0 6px;
568      }
569    </style>
570    
570<script type="module" crossorigin src="/assets/index-DtmQrRDo.js"></script>
570
571  </head>
572  <body>
573    <!-- Note: Tracking pixels require JavaScript and user consent (GDPR) -->
574
575    <div id="app"></div>
576    <div id="seated-overlay">
577      <a href="https://shop.thenbhd.com" target="_blank" rel="noopener noreferrer" class="shop-link" style="position: absolute; top: 24px; left: 24px; z-index: 6;">Visit The Shop</a>
578      <a href="https://nbhd.lnk.to/newsletter" target="_blank" rel="noopener noreferrer" class="close" style="text-decoration: none;">Stay Up To Date With The Neighbourhood</a>
579      <div style="max-width:1400px; margin:0 auto; padding: 12px 12px 80px 12px;">
580        <div id="globe-container" style="width: 100%; position: relative; pointer-events: none;"></div>
581        <div id="seated-55fdf2c0" data-artist-id="2ab05b88-0d23-4c35-af9f-21eb5442843b" data-css-version="3"></div>
582        <div style="text-align: right; padding: 16px 0 0 0;">
583          <a href="#" id="privacy-link" style="font-family: 'RoadgeekEM', sans-serif; font-size: 10px; color: rgba(255,255,255,0.35); text-decoration: none; letter-spacing: 0.5px;">Privacy</a>
584        </div>
585      </div>
586    </div>
587  </body>
588  </html>
589
590

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.