PageSourceSearch

https://niallhoran.com/cart

html niallhoran.com collected 2026-09-24 21:08:37 UTC 168,112 bytes, 4,029 lines download raw bytes

1<!doctype html>
2<html class="flex flex-col min-h-full" lang="en">
3<head>
4<script>
5vice= {
6  config: {
7    viceAccountId: 'umusic',
8    viceSiteId: 'niallhoran',
9    viceSectionId: ''
10  }
11}
12</script>
vendor: 1 bytes, line 12
12
13<script src='//vice-prod.sdiapi.com/vice_loader/umusic/niallhoran'></script>
13<meta charset="utf-8">
14  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
15  <meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no,viewport-fit=cover"><style data-shopify>
16/* TYPOGRAPHY */:root {
17--typeface_primary: afacad, sans-serif,Arial, Helvetica, Sans-Serif;--typeface_secondary: afacad, sans-serif,Arial, Helvetica, Sans-Serif;--typeface_tertiary: afacad, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font_display_md: var(--typeface_secondary);
18  --font_display_md_weight: 500;
19  --font_display_md_letter: 0.125rem;
20  --font_display_md_line: 1.2;
21  --font_display_md_text_transform: uppercase;--font_display_md_size: 1.25rem;
22  --font_display_md_size_md: 1.25rem;--font_heading_2xl: var(--typeface_secondary);
23  --font_heading_2xl_weight: 500;
24  --font_heading_2xl_letter: 0.0375rem;
25  --font_heading_2xl_line: 1.2;
26  --font_heading_2xl_text_transform: none;--font_heading_2xl_size: 2.25rem;
27  --font_heading_2xl_size_md: 2.25rem;--font_heading_xl: var(--typeface_tertiary);
28  --font_heading_xl_weight: 400;
29  --font_heading_xl_letter: 0.0rem;
30  --font_heading_xl_line: 1.2;
31  --font_heading_xl_text_transform: none;--font_heading_xl_size: 1.875rem;
32  --font_heading_xl_size_md: 1.875rem;--font_heading_lg: var(--typeface_secondary);
33  --font_heading_lg_weight: 400;
34  --font_heading_lg_letter: 0.0rem;
35  --font_heading_lg_line: 1.2;
36  --font_heading_lg_text_transform: none;--font_heading_lg_size: 1.5rem;
37  --font_heading_lg_size_md: 1.625rem;--font_heading_md: var(--typeface_primary);
38  --font_heading_md_weight: 400;
39  --font_heading_md_letter: 0.0rem;
40  --font_heading_md_line: 1.2;
41  --font_heading_md_text_transform: none;--font_heading_md_size: 1.1875rem;
42  --font_heading_md_size_md: 1.1875rem;--font_body_lg: var(--typeface_tertiary);
43  --font_body_lg_weight: 400;
44  --font_body_lg_letter: 0.0rem;
45  --font_body_lg_line: 1;
46  --font_body_lg_text_transform: none;--font_body_lg_size: 1.375rem;
47  --font_body_lg_size_md: 1.375rem;--font_body_md: var(--typeface_primary);
48  --font_body_md_weight: 400;
49  --font_body_md_letter: 0.0rem;
50  --font_body_md_line: 1.2;
51  --font_body_md_text_transform: none;--font_body_md_size: 1.0rem;
52  --font_body_md_size_md: 1.0rem;--font_body_sm: var(--typeface_primary);
53  --font_body_sm_weight: 400;
54  --font_body_sm_letter: 0.0rem;
55  --font_body_sm_line: 1.2;
56  --font_body_sm_text_transform: none;--font_body_sm_size: 1.0rem;
57  --font_body_sm_size_md: 1.0rem;--font_body_xs: var(--typeface_primary);
58  --font_body_xs_weight: 500;
59  --font_body_xs_letter: 0.125rem;
60  --font_body_xs_line: 1.2;
61  --font_body_xs_text_transform: uppercase;--font_body_xs_size: 0.8125rem;
62  --font_body_xs_size_md: 0.8125rem;--font_button: var(--typeface_primary);
63  --font_button_weight: 400;
64  --font_button_letter: 0.0rem;
65  --font_button_line: 1;
66  --font_button_text_transform: none;--font_button_size: 1.0rem;
67  --font_button_size_md: 1.0rem;--font_navigation_lg: var(--typeface_primary);
68  --font_navigation_lg_weight: 500;
69  --font_navigation_lg_letter: 0.0rem;
70  --font_navigation_lg_line: 1.2;
71  --font_navigation_lg_text_transform: none;--font_navigation_lg_size: 0.9375rem;
72  --font_navigation_lg_size_md: 0.9375rem;--font_navigation_md: var(--typeface_primary);
73  --font_navigation_md_weight: 500;
74  --font_navigation_md_letter: 0.0rem;
75  --font_navigation_md_line: 1.2;
76  --font_navigation_md_text_transform: none;--font_navigation_md_size: 0.9375rem;
77  --font_navigation_md_size_md: 0.9375rem;--font_navigation_sm: var(--typeface_primary);
78  --font_navigation_sm_weight: 500;
79  --font_navigation_sm_letter: 0.125rem;
80  --font_navigation_sm_line: 1.2;
81  --font_navigation_sm_text_transform: uppercase;--font_navigation_sm_size: 0.8125rem;
82  --font_navigation_sm_size_md: 0.8125rem;
83}
84/* TYPOGRAPHY */
85
86</style><style data-shopify>
87  /**
88      Set Color Variable from shopify
89  */
90  :root {
91    --color-outline: #2563eb;
92    --color-black: hsl(0 0% 5%);
93    --color-white: hsl(0 0% 95%);
94    --color-transparent: rgba(0,0,0,0);
95
96    --color-gray-50: hsl(0 0% 98%);
97    --color-gray-100: hsl(240 5% 96%);
98    --color-gray-200: hsl(240 6% 90%);
99    --color-gray-300: hsl(240 5% 84%);
100    --color-gray-400: hsl(240 5% 65%);
101    --color-gray-500: hsl(240 4% 46%);
102    --color-gray-600: hsl(240 5% 34%);
103    --color-gray-700: hsl(240 5% 26%);
104    --color-gray-800: hsl(240 4% 16%);
105    --color-gray-900: hsl(240 6% 10%);
106
107    --color-gray-100-on: hsl(240 6% 10%);
108    --color-gray-900-on: hsl(240 5% 96%);--scheme1-content-base:96 6% 17%;
109      --scheme1-content-subtle:0 0% 100%;
110      --scheme1-content-emphasis:96 6% 17%;
111      --scheme1-content-heading:96 6% 17%;
112
113      --scheme1-surface:37 43% 90%;
114      --scheme1-surface-gradient: ;
115      --scheme1-background:41 34% 87%;
116      --scheme1-background-gradient: ;
117
118      --scheme1-primary:96 6% 17%;
119      --scheme1-primary-light:98 6% 37%;
120      --scheme1-primary-dark:0 0% 0%;
121      --scheme1-primary-on:41 34% 87%;
122      --scheme1-primary-gradient: ;
123
124      --scheme1-secondary:3 70% 50%;
125      --scheme1-secondary-light:3 70% 70%;
126      --scheme1-secondary-dark:3 70% 30%;
127      --scheme1-secondary-on:37 45% 91%;
128      --scheme1-secondary-gradient: ;
129
130      --scheme1-tertiary:97 22% 81%;
131      --scheme1-tertiary-light:0 0% 100%;
132      --scheme1-tertiary-dark:98 22% 61%;
133      --scheme1-tertiary-on:22 45% 22%;
134      --scheme1-tertiary-gradient: ;--scheme1-notification-on:200 4% 13%;
135      --scheme1-notification:97 22% 81%;
136      --scheme1-notification-mix: hsl(104, 14%, 37%);--scheme1-success-on:150 3% 13%;
137      --scheme1-success:141 79% 85%;
138      --scheme1-success-mix: hsl(141, 22%, 39%);--scheme1-error-on:0 74% 42%;
139      --scheme1-error:0 100% 97%;
140      --scheme1-error-mix: hsl(0, 66%, 60%);--scheme2-content-base:215 28% 17%;
141      --scheme2-content-subtle:215 14% 34%;
142      --scheme2-content-emphasis:224 71% 4%;
143      --scheme2-content-heading:221 39% 11%;
144
145      --scheme2-surface:220 14% 96%;
146      --scheme2-surface-gradient: ;
147      --scheme2-background:0 0% 100%;
148      --scheme2-background-gradient: ;
149
150      --scheme2-primary:221 39% 11%;
151      --scheme2-primary-light:221 39% 31%;
152      --scheme2-primary-dark:0 0% 0%;
153      --scheme2-primary-on:0 0% 98%;
154      --scheme2-primary-gradient: ;
155
156      --scheme2-secondary:217 19% 27%;
157      --scheme2-secondary-light:217 19% 47%;
158      --scheme2-secondary-dark:220 18% 7%;
159      --scheme2-secondary-on:0 0% 98%;
160      --scheme2-secondary-gradient: ;
161
162      --scheme2-tertiary:215 14% 34%;
163      --scheme2-tertiary-light:216 14% 54%;
164      --scheme2-tertiary-dark:216 14% 14%;
165      --scheme2-tertiary-on:0 0% 98%;
166      --scheme2-tertiary-gradient: ;--scheme2-notification-on:200 4% 13%;
167      --scheme2-notification:220 6% 90%;
168      --scheme2-notification-mix: hsl(211, 11%, 42%);--scheme2-success-on:150 3% 13%;
169      --scheme2-success:141 79% 85%;
170      --scheme2-success-mix: hsl(141, 22%, 39%);--scheme2-error-on:0 74% 42%;
171      --scheme2-error:0 100% 97%;
172      --scheme2-error-mix: hsl(0, 66%, 60%);--scheme3-content-base:220 13% 91%;
173      --scheme3-content-subtle:216 12% 84%;
174      --scheme3-content-emphasis:210 20% 98%;
175      --scheme3-content-heading:210 20% 98%;
176
177      --scheme3-surface:221 39% 11%;
178      --scheme3-surface-gradient: ;
179      --scheme3-background:224 71% 4%;
180      --scheme3-background-gradient: ;
181
182      --scheme3-primary:224 71% 4%;
183      --scheme3-primary-light:224 71% 24%;
184      --scheme3-primary-dark:0 0% 0%;
185      --scheme3-primary-on:210 20% 98%;
186      --scheme3-primary-gradient: ;
187
188      --scheme3-secondary:221 39% 11%;
189      --scheme3-secondary-light:221 39% 31%;
190      --scheme3-secondary-dark:0 0% 0%;
191      --scheme3-secondary-on:220 13% 91%;
192      --scheme3-secondary-gradient: ;
193
194      --scheme3-tertiary:217 19% 27%;
195      --scheme3-tertiary-light:217 19% 47%;
196      --scheme3-tertiary-dark:220 18% 7%;
197      --scheme3-tertiary-on:210 20% 98%;
198      --scheme3-tertiary-gradient: ;--scheme3-notification-on:200 4% 13%;
199      --scheme3-notification:220 6% 90%;
200      --scheme3-notification-mix: hsl(211, 11%, 42%);--scheme3-success-on:150 3% 13%;
201      --scheme3-success:141 79% 85%;
202      --scheme3-success-mix: hsl(141, 22%, 39%);--scheme3-error-on:0 74% 42%;
203      --scheme3-error:0 100% 97%;
204      --scheme3-error-mix: hsl(0, 66%, 60%);--scheme4-content-base:226 100% 94%;
205      --scheme4-content-subtle:228 96% 89%;
206      --scheme4-content-emphasis:0 0% 100%;
207      --scheme4-content-heading:0 0% 100%;
208
209      --scheme4-surface:244 47% 20%;
210      --scheme4-surface-gradient: ;
211      --scheme4-background:242 47% 34%;
212      --scheme4-background-gradient: ;
213
214      --scheme4-primary:0 0% 100%;
215      --scheme4-primary-light:0 0% 100%;
216      --scheme4-primary-dark:0 0% 80%;
217      --scheme4-primary-on:230 94% 82%;
218      --scheme4-primary-gradient: ;
219
220      --scheme4-secondary:226 100% 94%;
221      --scheme4-secondary-light:0 0% 100%;
222      --scheme4-secondary-dark:226 100% 74%;
223      --scheme4-secondary-on:0 0% 98%;
224      --scheme4-secondary-gradient: ;
225
226      --scheme4-tertiary:230 94% 82%;
227      --scheme4-tertiary-light:0 0% 100%;
228      --scheme4-tertiary-dark:230 94% 62%;
229      --scheme4-tertiary-on:0 0% 98%;
230      --scheme4-tertiary-gradient: ;--scheme4-notification-on:200 4% 13%;
231      --scheme4-notification:220 6% 90%;
232      --scheme4-notification-mix: hsl(211, 11%, 42%);--scheme4-success-on:150 3% 13%;
233      --scheme4-success:141 79% 85%;
234      --scheme4-success-mix: hsl(141, 22%, 39%);--scheme4-error-on:0 74% 42%;
235      --scheme4-error:0 100% 97%;
236      --scheme4-error-mix: hsl(0, 66%, 60%);}.scheme-scheme1 {
237        /* Content */
238        --color-content-base: hsl(var(--scheme1-content-base));
239        --color-content-subtle: hsl(var(--scheme1-content-subtle));
240        --color-content-emphasis: hsl(var(--scheme1-content-emphasis));
241        --color-content-heading: hsl(var(--scheme1-content-heading));
242
243        /* Surface */
244        --color-surface: hsl(var(--scheme1-surface, var(--scheme1-background)));--color-surface-gradient: hsl(var(--scheme1-surface));
245        /* Background */
246        --color-background: hsl(var(--scheme1-background));--color-background-gradient: hsl(var(--scheme1-background));/* Primary Color */
247        --color-primary-on: hsl(var(--scheme1-primary-on));
248        --color-primary: hsl(var(--scheme1-primary));
249        --color-primary-dark: hsl(var(--scheme1-primary-dark));
250        --color-primary-light: hsl(var(--scheme1-primary-light));--color-primary-gradient: hsl(var(--scheme1-primary));/* Secondary Color */
251        --color-secondary-on: hsl(var(--scheme1-secondary-on));
252        --color-secondary: hsl(var(--scheme1-secondary));
253        --color-secondary-dark: hsl(var(--scheme1-secondary-dark));
254        --color-secondary-light: hsl(var(--scheme1-secondary-light));--color-secondary-gradient: hsl(var(--scheme1-secondary));/* Tertiary Color */
255        --color-tertiary-on: hsl(var(--scheme1-tertiary-on));
256        --color-tertiary: hsl(var(--scheme1-tertiary));
257        --color-tertiary-dark: hsl(var(--scheme1-tertiary-dark));
258        --color-tertiary-light: hsl(var(--scheme1-tertiary-light));--color-tertiary-gradient: hsl(var(--scheme1-tertiary));/* Accent Colors */
259        /* Notification */
260        --color-on-notification: hsl(var(--scheme1-notification-on));
261        --color-notification: hsl(var(--scheme1-notification));
262        --color-notification-mix: var(--scheme1-notification-mix);
263
264        /* Success */
265        --color-on-success: hsl(var(--scheme1-success-on));
266        --color-success: hsl(var(--scheme1-success));
267        --color-success-mix: var(--scheme1-success-mix);
268
269        /* Error */
270        --color-on-error: hsl(var(--scheme1-error-on));
271        --color-error-on: var(--color-on-error);
272        --color-error: hsl(var(--scheme1-error));
273        --color-error-mix: var(--scheme1-error-mix);--color-error-mix-on: var(--color-black);
274
275        /* Section */--color-text: var(--color-primary, var(--color-content-base));
276        --color-border: var(--color-primary-dark, var(--border-default-color));
277        /* Section */
278
279        /* Tables BG Color */
280        --color-table-bg: var(--color-default, var(--color-background));
281
282        /* Input Color */
283        --color-input-text: hsl(var(--scheme1-content-base));
284      }
285    .scheme-scheme2 {
286        /* Content */
287        --color-content-base: hsl(var(--scheme2-content-base));
288        --color-content-subtle: hsl(var(--scheme2-content-subtle));
289        --color-content-emphasis: hsl(var(--scheme2-content-emphasis));
290        --color-content-heading: hsl(var(--scheme2-content-heading));
291
292        /* Surface */
293        --color-surface: hsl(var(--scheme2-surface, var(--scheme2-background)));--color-surface-gradient: hsl(var(--scheme2-surface));
294        /* Background */
295        --color-background: hsl(var(--scheme2-background));--color-background-gradient: hsl(var(--scheme2-background));/* Primary Color */
296        --color-primary-on: hsl(var(--scheme2-primary-on));
297        --color-primary: hsl(var(--scheme2-primary));
298        --color-primary-dark: hsl(var(--scheme2-primary-dark));
299        --color-primary-light: hsl(var(--scheme2-primary-light));--color-primary-gradient: hsl(var(--scheme2-primary));/* Secondary Color */
300        --color-secondary-on: hsl(var(--scheme2-secondary-on));
301        --color-secondary: hsl(var(--scheme2-secondary));
302        --color-secondary-dark: hsl(var(--scheme2-secondary-dark));
303        --color-secondary-light: hsl(var(--scheme2-secondary-light));--color-secondary-gradient: hsl(var(--scheme2-secondary));/* Tertiary Color */
304        --color-tertiary-on: hsl(var(--scheme2-tertiary-on));
305        --color-tertiary: hsl(var(--scheme2-tertiary));
306        --color-tertiary-dark: hsl(var(--scheme2-tertiary-dark));
307        --color-tertiary-light: hsl(var(--scheme2-tertiary-light));--color-tertiary-gradient: hsl(var(--scheme2-tertiary));/* Accent Colors */
308        /* Notification */
309        --color-on-notification: hsl(var(--scheme2-notification-on));
310        --color-notification: hsl(var(--scheme2-notification));
311        --color-notification-mix: var(--scheme2-notification-mix);
312
313        /* Success */
314        --color-on-success: hsl(var(--scheme2-success-on));
315        --color-success: hsl(var(--scheme2-success));
316        --color-success-mix: var(--scheme2-success-mix);
317
318        /* Error */
319        --color-on-error: hsl(var(--scheme2-error-on));
320        --color-error-on: var(--color-on-error);
321        --color-error: hsl(var(--scheme2-error));
322        --color-error-mix: var(--scheme2-error-mix);--color-error-mix-on: var(--color-black);
323
324        /* Section */--color-bg: var(--color-transparent, var(--color-background));--color-text: var(--color-primary, var(--color-content-base));
325        --color-border: var(--color-primary-dark, var(--border-default-color));
326        /* Section */
327
328        /* Tables BG Color */
329        --color-table-bg: var(--color-default, var(--color-background));
330
331        /* Input Color */
332        --color-input-text: hsl(var(--scheme2-content-base));
333      }
334    .scheme-scheme3 {
335        /* Content */
336        --color-content-base: hsl(var(--scheme3-content-base));
337        --color-content-subtle: hsl(var(--scheme3-content-subtle));
338        --color-content-emphasis: hsl(var(--scheme3-content-emphasis));
339        --color-content-heading: hsl(var(--scheme3-content-heading));
340
341        /* Surface */
342        --color-surface: hsl(var(--scheme3-surface, var(--scheme3-background)));--color-surface-gradient: hsl(var(--scheme3-surface));
343        /* Background */
344        --color-background: hsl(var(--scheme3-background));--color-background-gradient: hsl(var(--scheme3-background));/* Primary Color */
345        --color-primary-on: hsl(var(--scheme3-primary-on));
346        --color-primary: hsl(var(--scheme3-primary));
347        --color-primary-dark: hsl(var(--scheme3-primary-dark));
348        --color-primary-light: hsl(var(--scheme3-primary-light));--color-primary-gradient: hsl(var(--scheme3-primary));/* Secondary Color */
349        --color-secondary-on: hsl(var(--scheme3-secondary-on));
350        --color-secondary: hsl(var(--scheme3-secondary));
351        --color-secondary-dark: hsl(var(--scheme3-secondary-dark));
352        --color-secondary-light: hsl(var(--scheme3-secondary-light));--color-secondary-gradient: hsl(var(--scheme3-secondary));/* Tertiary Color */
353        --color-tertiary-on: hsl(var(--scheme3-tertiary-on));
354        --color-tertiary: hsl(var(--scheme3-tertiary));
355        --color-tertiary-dark: hsl(var(--scheme3-tertiary-dark));
356        --color-tertiary-light: hsl(var(--scheme3-tertiary-light));--color-tertiary-gradient: hsl(var(--scheme3-tertiary));/* Accent Colors */
357        /* Notification */
358        --color-on-notification: hsl(var(--scheme3-notification-on));
359        --color-notification: hsl(var(--scheme3-notification));
360        --color-notification-mix: var(--scheme3-notification-mix);
361
362        /* Success */
363        --color-on-success: hsl(var(--scheme3-success-on));
364        --color-success: hsl(var(--scheme3-success));
365        --color-success-mix: var(--scheme3-success-mix);
366
367        /* Error */
368        --color-on-error: hsl(var(--scheme3-error-on));
369        --color-error-on: var(--color-on-error);
370        --color-error: hsl(var(--scheme3-error));
371        --color-error-mix: var(--scheme3-error-mix);--color-error-mix-on: var(--color-black);
372
373        /* Section */--color-bg: var(--color-transparent, var(--color-background));--color-text: var(--color-primary, var(--color-content-base));
374        --color-border: var(--color-primary-dark, var(--border-default-color));
375        /* Section */
376
377        /* Tables BG Color */
378        --color-table-bg: var(--color-default, var(--color-background));
379
380        /* Input Color */
381        --color-input-text: hsl(var(--scheme3-content-base));
382      }
383    .scheme-scheme4 {
384        /* Content */
385        --color-content-base: hsl(var(--scheme4-content-base));
386        --color-content-subtle: hsl(var(--scheme4-content-subtle));
387        --color-content-emphasis: hsl(var(--scheme4-content-emphasis));
388        --color-content-heading: hsl(var(--scheme4-content-heading));
389
390        /* Surface */
391        --color-surface: hsl(var(--scheme4-surface, var(--scheme4-background)));--color-surface-gradient: hsl(var(--scheme4-surface));
392        /* Background */
393        --color-background: hsl(var(--scheme4-background));--color-background-gradient: hsl(var(--scheme4-background));/* Primary Color */
394        --color-primary-on: hsl(var(--scheme4-primary-on));
395        --color-primary: hsl(var(--scheme4-primary));
396        --color-primary-dark: hsl(var(--scheme4-primary-dark));
397        --color-primary-light: hsl(var(--scheme4-primary-light));--color-primary-gradient: hsl(var(--scheme4-primary));/* Secondary Color */
398        --color-secondary-on: hsl(var(--scheme4-secondary-on));
399        --color-secondary: hsl(var(--scheme4-secondary));
400        --color-secondary-dark: hsl(var(--scheme4-secondary-dark));
401        --color-secondary-light: hsl(var(--scheme4-secondary-light));--color-secondary-gradient: hsl(var(--scheme4-secondary));/* Tertiary Color */
402        --color-tertiary-on: hsl(var(--scheme4-tertiary-on));
403        --color-tertiary: hsl(var(--scheme4-tertiary));
404        --color-tertiary-dark: hsl(var(--scheme4-tertiary-dark));
405        --color-tertiary-light: hsl(var(--scheme4-tertiary-light));--color-tertiary-gradient: hsl(var(--scheme4-tertiary));/* Accent Colors */
406        /* Notification */
407        --color-on-notification: hsl(var(--scheme4-notification-on));
408        --color-notification: hsl(var(--scheme4-notification));
409        --color-notification-mix: var(--scheme4-notification-mix);
410
411        /* Success */
412        --color-on-success: hsl(var(--scheme4-success-on));
413        --color-success: hsl(var(--scheme4-success));
414        --color-success-mix: var(--scheme4-success-mix);
415
416        /* Error */
417        --color-on-error: hsl(var(--scheme4-error-on));
418        --color-error-on: var(--color-on-error);
419        --color-error: hsl(var(--scheme4-error));
420        --color-error-mix: var(--scheme4-error-mix);--color-error-mix-on: var(--color-black);
421
422        /* Section */--color-bg: var(--color-transparent, var(--color-background));--color-text: var(--color-primary, var(--color-content-base));
423        --color-border: var(--color-primary-dark, var(--border-default-color));
424        /* Section */
425
426        /* Tables BG Color */
427        --color-table-bg: var(--color-default, var(--color-background));
428
429        /* Input Color */
430        --color-input-text: hsl(var(--scheme4-content-base));
431      }
432    
433</style>
434<style data-shopify>:root {
435    --border-default-width: 3px;
436    --border-default-width-narrow: 3px;
437    --border-default-width-wide: 3px;
438    --border-default-radius: 0;
439    --border-default-color: var(--color-content-subtle);
440  }</style><style data-shopify>
441  :root {--button-px-sm: 0.75rem; --button-py-sm: 0.5rem; --button-px-md: 1rem; --button-py-md: 0.625rem; --button-px-lg: 1.25rem; --button-py-lg: 0.75rem; --button-font-size: var(--font_button_size);--button-all-border-radius: var(--border-default-radius);/* default */ --border-button-width: var(--border-default-width);--button-px-default: var(--button-px-lg);--button-py-default: var(--button-py-md);}
442
443  .btn {--tw-shadow: 0 0px 0px 0 var(--button-shadow-color);
443 --button-box-shadow: var(--tw-ring-offset-shadow, 0 0 rgba(0,0,0,0)), var(--tw-ring-shadow, 0 0 rgba(0,0,0,0)), var(--tw-shadow); display: flex; align-items: center; justify-content: center; text-align: center; cursor: pointer; position: relative; overflow: hidden; color: var(--button-color); border: var(--border-button-width) solid var(--border-color); border-radius: var(--button-all-border-radius); box-shadow: var(--button-box-shadow); padding: var(--button-py-default) var(--button-px-default); font-size: var(--button-font-size); font-family: var(--font_button); font-weight: var(--font_button_weight); letter-spacing: var(--font_button_letter); line-height: var(--font_button_line); text-transform: var(--font_button_text_transform); transition: .2s ease-out; --button-color: var(--color-primary); --border-color: var(--color-primary,var(--color-primary)); --button-shadow-color: var(--color-primary-20); text-decoration-color: transparent; --button-fill: var(--color-transparent);--button-fill-hover: var(--color-secondary); background: var(--button-fill); --button-gradient-visible: hidden;}
444
445  .btn:before,
446  .btn:after {
447    content: '';
448    background: transparent;
449    inset: 0;
450    position: absolute;
451    display: block;
452    visibility: var(--button-gradient-visible, hidden);
453    z-index: -1;
454    transition: .2s ease-out;
455    transform: translate3d(0,0,0);
456  }
457  .btn:before {
458    background: var(--button-fill-hover);
459    opacity: 0;
460  }
461  .btn:hover::before {
462    opacity: var(--button-bg-opacity, 1);
463  }
464
465  .btn:after {
466    background: var(--button-fill);
467    opacity: var(--button-bg-opacity, 1);
468  }
469  .btn:hover::after {
470    opacity: 0;
471  }
472
473  input.btn {
474    background: var(--button-fill);
475  }
476  input.btn:before {
477    display: none;
478  }
479  input.btn:after {
480    display: none;
481  }
482  input.btn:hover {
483    background: var(--button-fill-hover);
484  }
485
486  .btn--sm {
487    --button-py-default: var(--button-py-sm);
488    --button-px-default: var(--button-px-sm);
489    font-size: max(calc(var(--button-font-size) * .618em ), 14px)
490  }
491  .btn--md {
492    --button-py-default: var(--button-py-md);
493    --button-px-default: var(--button-px-md);
494  }
495  .btn--lg {
496    --button-py-default: var(--button-py-lg);
497    --button-px-default: var(--button-px-lg);
498  }
499
500  .btn:hover,
501  .btn--primary:hover {--border-color: var(--default,var(--color-secondary)); --button-color: var(--color-secondary-on); --button-shadow-color: var(--color-secondary-20); text-decoration-color: transparent; background: var(--button-fill-hover);}
502
503  .btn--secondary {--button-color: var(--color-secondary); --border-color: var(--default,var(--color-secondary)); --button-shadow-color: var(--color-secondary-20); text-decoration-color: transparent; --button-fill: var(--color-transparent);--button-fill-hover: var(- render 'case-colors-variables', color: 'transparent' -); background: var(--button-fill); --button-gradient-visible: hidden;}
504
505  .btn--secondary:hover {--button-color: var(--color-primary); --border-color: var(--color-secondary,var(--color-primary)); --button-shadow-color: var(--color-primary-20); text-decoration-color: transparent; background: var(--button-fill-hover);}
506
507  .btn--tertiary {--border-color: var(--default,var(--color-secondary)); --button-color: var(--color-secondary-on); --button-shadow-color: var(--color-secondary-20); text-decoration-color: transparent; --button-fill: var(--color-secondary);--button-fill-hover: var(--color-tertiary-on); background: var(--button-fill); --button-gradient-visible: hidden;}
508
509  .btn--tertiary:hover {--border-color: var(--default,var(--color-tertiary-on)); --button-color: var(--color-tertiary-on-on); --button-shadow-color: var(--color-tertiary-on-20); text-decoration-color: transparent; background: var(--button-fill-hover);}
510
511  .btn--light {--border-color: var(--color-gray-100,var(--color-gray-100)); --button-color: var(--color-gray-100-on); --button-shadow-color: var(--color-gray-100-20); text-decoration-color: transparent; --button-fill: var(--color-gray-100);--button-fill-hover: var(--color-gray-100);}
512
513  .btn--light:hover {--border-color: var(--color-gray-100,var(--color-gray-100)); --button-color: var(--color-gray-100-on); --button-shadow-color: var(--color-gray-100-20); text-decoration-color: transparent;}
514
515  .btn--dark {--border-color: var(--color-gray-900,var(--color-gray-900)); --button-color: var(--color-gray-900-on); --button-shadow-color: var(--color-gray-900-20); text-decoration-color: transparent; --button-fill: var(--color-gray-900);--button-fill-hover: var(--color-gray-900);}
516
517  .btn--dark:hover {--border-color: var(--color-gray-900,var(--color-gray-900)); --button-color: var(--color-gray-900-on); --button-shadow-color: var(--color-gray-900-20); text-decoration-color: transparent;}
518
519  @media screen and (min-width: 48em) {
520    .btn {
521      --button-font-size: var(--font_button_size_md);
522    }
523  }
524</style>
525<style data-shopify>
526:root {
527  --gap-sm-2xs: 0.25rem;
528  --gap-sm-xs: 0.5rem;
529  --gap-sm-sm: 0.75rem;
530  --gap-sm-md: 1.0rem;
531  --gap-sm-lg: 1.25rem;
532  --gap-sm-xl: 1.5rem;
533  --gap-sm-2xl: 2.0rem;
534  --gap-lg-2xs: 0.5rem;
535  --gap-lg-xs: 1.0rem;
536  --gap-lg-sm: 1.5rem;
537  --gap-lg-md: 2.0rem;
538  --gap-lg-lg: 2.5rem;
539  --gap-lg-xl: 3.0rem;
540  --gap-lg-2xl: 3.5rem;
541  --gap-container-2xs: 0.5rem;
542  --gap-container-xs: 1.0rem;
543  --gap-container-sm: 2.0rem;
544  --gap-container-md: 3.0rem;
545  --gap-container-lg: 4.0rem;
546  --gap-container-xl: 5.0rem;
547  --gap-container-2xl: 6.0rem;
548  --padding-xs-2xs: 0.125rem;
549  --padding-xs-xs: 0.25rem;
550  --padding-xs-sm: 0.375rem;
551  --padding-xs-md: 0.5rem;
552  --padding-xs-lg: 0.625rem;
553  --padding-xs-xl: 0.75rem;
554  --padding-xs-2xl: 1.0rem;
555  --padding-sm-2xs: 0.25rem;
556  --padding-sm-xs: 0.5rem;
557  --padding-sm-sm: 0.75rem;
558  --padding-sm-md: 1.0rem;
559  --padding-sm-lg: 1.25rem;
560  --padding-sm-xl: 1.5rem;
561  --padding-sm-2xl: 2.0rem;
562  --padding-lg-2xs: 0.5rem;
563  --padding-lg-xs: 1.0rem;
564  --padding-lg-sm: 1.5rem;
565  --padding-lg-md: 2.0rem;
566  --padding-lg-lg: 2.5rem;
567  --padding-lg-xl: 3.0rem;
568  --padding-lg-2xl: 3.5rem;
569  --padding-container-2xs: 0.5rem;
570  --padding-container-xs: 1.0rem;
571  --padding-container-sm: 2.0rem;
572  --padding-container-md: 3.0rem;
573  --padding-container-lg: 4.0rem;
574  --padding-container-xl: 5.0rem;
575  --padding-container-2xl: 6.0rem;
576  --padding-section-desktop-2xs: .5rem;
577  --padding-section-desktop-xs: 1rem;
578  --padding-section-desktop-sm: 2rem;
579  --padding-section-desktop-md: 3rem;
580  --padding-section-desktop-lg: 4rem;
581  --padding-section-desktop-xl: 5rem;
582  --padding-section-desktop-2xl: 6rem;
583  --padding-section-mobile-2xs: .25rem;
584  --padding-section-mobile-xs: .5rem;
585  --padding-section-mobile-sm: 1.5rem;
586  --padding-section-mobile-md: 2rem;
587  --padding-section-mobile-lg: 2.5rem;
588  --padding-section-mobile-xl: 3rem;
589  --padding-section-mobile-2xl: 4rem;
590  --margin-sm-2xs: 0.25rem;
591  --margin-sm-xs: 0.5rem;
592  --margin-sm-sm: 0.75rem;
593  --margin-sm-md: 1.0rem;
594  --margin-sm-lg: 1.25rem;
595  --margin-sm-xl: 1.5rem;
596  --margin-sm-2xl: 2.0rem;
597  --margin-lg-2xs: 0.5rem;
598  --margin-lg-xs: 1.0rem;
599  --margin-lg-sm: 1.5rem;
600  --margin-lg-md: 2.0rem;
601  --margin-lg-lg: 2.5rem;
602  --margin-lg-xl: 3.0rem;
603  --margin-lg-2xl: 3.5rem;
604  --margin-container-2xs: 0.5rem;
605  --margin-container-xs: 1.0rem;
606  --margin-container-sm: 2.0rem;
607  --margin-container-md: 3.0rem;
608  --margin-container-lg: 4.0rem;
609  --margin-container-xl: 5.0rem;
610  --margin-container-2xl: 6.0rem;
611  --w-tooltip-sm: 180px;
612  --w-tooltip-md: 210px;
613  --w-tooltip-lg: 240px;
614  --w-tooltip-xl: 270px;
615
616  --container-max-w-sm: 100rem;
617  --container-max-w-lg: 200rem;--select-pad-r: calc(var(--border-default-width) + 1rem + (2 * var(--padding-sm-xs)));
618}
619
620</style><link href="//niallhoran.com/cdn/shop/t/56/assets/styles-critical.bundle.css?v=143020677158560688091789132637" rel="stylesheet" type="text/css" media="all" />
621  <title>Your Shopping Cart - Niall Horan Official Store</title>
621<script src="//niallhoran.com/cdn/shop/t/56/assets/runtime.bundle.js?v=27861724360547603831789132637"></script>
621<script defer="defer" src="//niallhoran.com/cdn/shop/t/56/assets/geolocation.bundle.js?v=73219286169174612261789132636"></script>
621<script>
622  window.dataLayer = window.dataLayer || [];
623  
624window.dataLayer.push({
625    event:'page_data_loaded',
626    user: {
627      logged_in: 'false'
628    },
629    pageType: 'cart',
630    platform: 'shopify',
631    shopify_consent: 'false',
632    platform_theme: 'global',
633    platform_version: '2026.09.1.0'
634  });
635</script>
635
636
637<script>
vendor: 327 bytes, lines 637-641
637(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
638new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
639j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
640'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
641})(window,document,'script','dataLayer','
641GTM-T4SPZ5
vendor: 3 bytes, line 641
641');
641</script>
641
642
643
644<link rel="canonical" href="https://niallhoran.com/cart">
645
646  
646<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script>
646<meta name="google-site-verification" content="utRC16LiCAx_HxbFhbzSIMZoF09zY1LzPOJoO0QXDps">
647<meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/23650831/digital_wallets/dialog">
648<meta id="in-context-paypal-metadata" data-shop-id="23650831" data-venmo-supported="false" data-environment="production" data-locale="en_US" data-paypal-v4="true" data-currency="USD">
649<link rel="ucp" href="/.well-known/ucp" version="2026-08-25">
649<script async="async" src="/checkouts/internal/preloads.js?locale=en-US&default_configuration_id=34538684786"></script>
649
650<link rel="preconnect" href="https://shop.app" crossorigin="anonymous">
651<script async="async" src="https://shop.app/checkouts/internal/preloads.js?locale=en-US&default_configuration_id=34538684786&shop_id=23650831" crossorigin="anonymous"></script>
vendor: 1 bytes, line 651
651
652<script id="apple-pay-shop-capabilities" type="application/json">{"shopId":23650831,"countryCode":"US","currencyCode":"USD","merchantCapabilities":["supports3DS"],"merchantId":"gid:\/\/shopify\/Shop\/23650831","merchantName":"Niall Horan Official Store","requiredBillingContactFields":["postalAddress","email","phone"],"requiredShippingContactFields":["postalAddress","email","phone"],"shippingType":"shipping","supportedNetworks":["visa","masterCard","amex","discover","elo","jcb"],"total":{"type":"pending","label":"Niall Horan Official Store","amount":"1.00"},"shopifyPaymentsEnabled":true,"supportsSubscriptions":true}</script>
vendor: 1 bytes, line 652
652
653<script id="shopify-features" type="application/json">{"accessToken":"99666ecc946b76440dcad7f52073e46f","betas":["rich-media-storefront-analytics"],"domain":"niallhoran.com","predictiveSearch":true,"shopId":23650831,"locale":"en"}</script>
vendor: 1 bytes, line 653
653
654<script>var Shopify = Shopify || {};
655Shopify.shop = "niall-horan.myshopify.com";
656Shopify.locale = "en";
657Shopify.currency = {"active":"USD","rate":"1.0"};
658Shopify.country = "US";
659Shopify.theme = {"name":"Rhythm-2026.09.1.0-Sep11","id":193643905394,"schema_name":"Rhythm","schema_version":"2026.09.1.0","theme_store_id":null,"role":"main"};
660Shopify.theme.handle = "null";
661Shopify.theme.style = {"id":null,"handle":null};
662Shopify.cdnHost = "niallhoran.com/cdn";
663Shopify.routes = Shopify.routes || {};
664Shopify.routes.root = "/";
665Shopify.shopJsCdnBaseUrl = "https://cdn.shopify.com/shopifycloud/shop-js";
666Shopify.SignInWithShop = Shopify.SignInWithShop || {};
667Shopify.SignInWithShop.User = Shopify.SignInWithShop.User || {};
668Shopify.SignInWithShop.User.recognized = false;</script>
vendor: 1 bytes, line 668
668
669<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
vendor: 1 bytes, line 669
669
670<script>!function(o){function n(){var o=[];function n(){o.push(Array.prototype.slice.apply(arguments))}return n.q=o,n}var t=o.Shopify=o.Shopify||{};t.loadFeatures=n(),t.autoloadFeatures=n()}(window);</script>
vendor: 1 bytes, line 670
670
671<script>
672  window.ShopifyPay = window.ShopifyPay || {};
673  window.ShopifyPay.apiHost = "shop.app\/pay";
674  window.ShopifyPay.redirectState = null;
675</script>
vendor: 1 bytes, line 675
675
676<script>
677  window.Shopify = window.Shopify || {};
678  window.Shopify.SignInWithShop = window.Shopify.SignInWithShop || {};
679  window.Shopify.SignInWithShop.assetMetrics = { sampleRate: 0.25 };
680  window.Shopify.SignInWithShop.eligible = true;
681</script>
vendor: 1 bytes, line 681
681
682<script id="shop-js-analytics" type="application/json">{"pageType":"cart"}</script>
vendor: 1 bytes, line 682
682
683<script defer="defer" async type="module" src="https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js"></script>
vendor: 1 bytes, line 683
683
684<script type="module">
685  await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js");
686
687  window.Shopify.SignInWithShop?.initShopCartSync?.({"fedCMEnabled":true,"windoidEnabled":true});
688
689</script>
vendor: 1 bytes, line 689
689
690<script>
691  window.Shopify = window.Shopify || {};
692  if (!window.Shopify.featureAssets) window.Shopify.featureAssets = {};
693  window.Shopify.featureAssets['shop-js'] = {"avatar":["modules/v2/loader.avatar.en.esm.js"],"checkout-modal":["modules/v2/loader.checkout-modal.en.esm.js"],"init-customer-accounts-sign-up":["modules/v2/loader.init-customer-accounts-sign-up.en.esm.js"],"init-customer-accounts":["modules/v2/loader.init-customer-accounts.en.esm.js"],"init-fed-cm":["modules/v2/loader.init-fed-cm.en.esm.js"],"init-shop-cart-sync":["modules/v2/loader.init-shop-cart-sync.en.esm.js"],"init-shop-email-lookup-coordinator":["modules/v2/loader.init-shop-email-lookup-coordinator.en.esm.js"],"init-shop-for-new-customer-accounts":["modules/v2/loader.init-shop-for-new-customer-accounts.en.esm.js"],"init-shop-user-recognition":["modules/v2/loader.init-shop-user-recognition.en.esm.js"],"init-windoid":["modules/v2/loader.init-windoid.en.esm.js"],"lead-capture":["modules/v2/loader.lead-capture.en.esm.js"],"listener":["modules/v2/loader.listener.en.esm.js"],"pay-button":["modules/v2/loader.pay-button.en.esm.js"],"payment-terms":["modules/v2/loader.payment-terms.en.esm.js"],"shop-button":["modules/v2/loader.shop-button.en.esm.js"],"shop-cart-sync":["modules/v2/loader.shop-cart-sync.en.esm.js"],"shop-cash-offers":["modules/v2/loader.shop-cash-offers.en.esm.js"],"shop-follow-button":["modules/v2/loader.shop-follow-button.en.esm.js"],"shop-login-button":["modules/v2/loader.shop-login-button.en.esm.js"],"shop-login":["modules/v2/loader.shop-login.en.esm.js"],"shop-toast-manager":["modules/v2/loader.shop-toast-manager.en.esm.js"],"shop-user-recognition":["modules/v2/loader.shop-user-recognition.en.esm.js"]};
694</script>
vendor: 1 bytes, line 694
694
695<script>(function() {
696  var isLoaded = false;
697  function asyncLoad() {
698    if (isLoaded) return;
699    isLoaded = true;
700    var urls = ["https:\/\/r2-t.trackedlink.net\/_dmspt.js?shop=niall-horan.myshopify.com","\/\/shopify.privy.com\/widget.js?shop=niall-horan.myshopify.com","https:\/\/size-guides-prod.esc-apps-cdn.com\/1773845096-app.niall-horan.myshopify.com.js?shop=niall-horan.myshopify.com"];
701    for (var i = 0; i < urls.length; i++) {
702      var s = document.createElement('script');
703      s.type = 'text/javascript';
704      s.async = true;
705      s.src = urls[i];
706      var x = document.getElementsByTagName('script')[0];
707      x.parentNode.insertBefore(s, x);
708    }
709  };
710  if(window.attachEvent) {
711    window.attachEvent('onload', asyncLoad);
712  } else {
713    window.addEventListener('load', asyncLoad, false);
714  }
715})();</script>
vendor: 1 bytes, line 715
715
716<script id="__st">var __st={"a":23650831,"offset":-14400,"reqid":"c98cac83-06c8-48b6-a72f-89748295ffea-1790284116","pageurl":"niallhoran.com\/cart","u":"76bd1aeb1219","p":"cart"};</script>
vendor: 1 bytes, line 716
716
717<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
vendor: 1 bytes, line 717
717
718<script id="captcha-bootstrap">!function(){'use strict';const t='contact',e='account',n='new_comment',o=[[t,t],['blogs',n],['comments',n],[t,'customer']],c=[[e,'customer_login'],[e,'guest_login'],[e,'recover_customer_password'],[e,'create_customer']],r=t=>t.map((([t,e])=>`form[action*='/${t}']:not([data-nocaptcha='true']) input[name='form_type'][value='${e}']`)).join(','),a=t=>()=>t?[...document.querySelectorAll(t)].map((t=>t.form)):[];function s(){const t=[...o],e=r(t);return a(e)}const i='password',u='form_key',d=['recaptcha-v3-token','g-recaptcha-response','h-captcha-response',i],f=()=>{try{return window.sessionStorage}catch{return}},m='__shopify_v',_=t=>t.elements[u];function p(t,e,n=!1){try{const o=window.sessionStorage,c=JSON.parse(o.getItem(e)),{data:r}=function(t){const{data:e,action:n}=t;return t[m]||n?{data:e,action:n}:{data:t,action:n}}(c);for(const[e,n]of Object.entries(r))t.elements[e]&&(t.elements[e].value=n);n&&o.removeItem(e)}catch(o){console.error('form repopulation failed',{error:o})}}const l='form_type',E='cptcha';function T(t){t.dataset[E]=!0}const w=window,h=w.document,L='Shopify',v='ce_forms',y='captcha';let A=!1;((t,e)=>{const n=(g='f06e6c50-85a8-45c8-87d0-21a2b65856fe',I='https://cdn.shopify.com/shopifycloud/storefront-forms-hcaptcha/ce_storefront_forms_captcha_hcaptcha.v1.5.3.iife.js',D={infoText:'Protected by hCaptcha',privacyText:'Privacy',termsText:'Terms'},(t,e,n)=>{const o=w[L][v],c=o.bindForm;if(c)return c(t,g,e,D).then(n);var r;o.q.push([[t,g,e,D],n]),r=I,A||(h.body.append(Object.assign(h.createElement('script'),{id:'captcha-provider',async:!0,src:r})),A=!0)});var g,I,D;w[L]=w[L]||{},w[L][v]=w[L][v]||{},w[L][v].q=[],w[L][y]=w[L][y]||{},w[L][y].protect=function(t,e){n(t,void 0,e),T(t)},Object.freeze(w[L][y]),function(t,e,n,w,h,L){const[v,y,A,g]=function(t,e,n){const i=e?o:[],u=t?c:[],d=[...i,...u],f=r(d),m=r(i),_=r(d.filter((([t,e])=>n.includes(e))));return[a(f),a(m),a(_),s()]}(w,h,L),I=t=>{const e=t.target;return e instanceof HTMLFormElement?e:e&&e.form},D=t=>v().includes(t);t.addEventListener('submit',(t=>{const e=I(t);if(!e)return;const n=D(e)&&!e.dataset.hcaptchaBound&&!e.dataset.recaptchaBound,o=_(e),c=g().includes(e)&&(!o||!o.value);(n||c)&&t.preventDefault(),c&&!n&&(function(t){try{if(!f())return;!function(t){const e=f();if(!e)return;const n=_(t);if(!n)return;const o=n.value;o&&e.removeItem(o)}(t);const e=Array.from(Array(32),(()=>Math.random().toString(36)[2])).join('');!function(t,e){_(t)||t.append(Object.assign(document.createElement('input'),{type:'hidden',name:u})),t.elements[u].value=e}(t,e),function(t,e){const n=f();if(!n)return;const o=[...t.querySelectorAll(`input[type='${i}']`)].map((({name:t})=>t)),c=[...d,...o],r={};for(const[a,s]of new FormData(t).entries())c.includes(a)||(r[a]=s);n.setItem(e,JSON.stringify({[m]:1,action:t.action,data:r}))}(t,e)}catch(e){console.error('failed to persist form',e)}}(e),e.submit())}));const S=(t,e)=>{t&&!t.dataset[E]&&(n(t,e.some((e=>e===t))),T(t))};for(const o of['focusin','change'])t.addEventListener(o,(t=>{const e=I(t);D(e)&&S(e,y())}));const B=e.get('form_key'),M=e.get(l),P=B&&M;t.addEventListener('DOMContentLoaded',(()=>{const t=y();if(P)for(const e of t)e.elements[l].value===M&&p(e,B);[...new Set([...A(),...v().filter((t=>'true'===t.dataset.shopifyCaptcha))])].forEach((e=>S(e,t)))}))}(h,new URLSearchParams(w.location.search),n,t,e,['guest_login'])})(!0,!0)}();</script>
vendor: 1 bytes, line 718
718
719<script integrity="sha256-JjoPp5ZfB1sSAs5SQaol1x1GgvveM+BgmRzyDexInEQ=" data-source-attribution="shopify.loadfeatures" defer="defer" src="//niallhoran.com/cdn/shopifycloud/storefront/assets/storefront/load_feature-1bd60354.js" crossorigin="anonymous"></script>
vendor: 1 bytes, line 719
719
720<script>(function () {var userAgent = navigator.userAgent;var platform = navigator.platform;var maxTouchPoints = navigator.maxTouchPoints || 0;var isIOS = /iPad|iPhone|iPod/.test(platform) || (platform === 'MacIntel' && maxTouchPoints > 1);var isMacSafari = platform.indexOf('Mac') === 0 && /Safari/.test(userAgent) && !/Chrome|Chromium|CriOS|FxiOS|Edg|OPR|Android/.test(userAgent);var isAppleSafari = isIOS || isMacSafari;if (isAppleSafari) {fetch('/sf_private_access_tokens' + location.search).catch(function () {});}function browserMajorVersion(pattern) {var match = userAgent.match(pattern);return match ? parseInt(match[1], 10) : null;}function shouldLoadAutosizesPolyfill() {if (!window.PerformanceObserver?.supportedEntryTypes?.includes('paint')) {return false;}var chromeVersion = browserMajorVersion(/Chrome\/(\d+)/);if (chromeVersion !== null) {return chromeVersion < 126;}var firefoxVersion = browserMajorVersion(/Firefox\/(\d+)/);if (firefoxVersion !== null) {return firefoxVersion < 150;}var safariVersion = isAppleSafari ? browserMajorVersion(/Version\/(\d+).*Safari\//) : null;if (safariVersion !== null) {return safariVersion < 27;}return true;}if (shouldLoadAutosizesPolyfill()) {var autosizesScript = document.createElement('script');autosizesScript.async = true;autosizesScript.crossOrigin = 'anonymous';autosizesScript.src = "//niallhoran.com/cdn/shopifycloud/storefront/assets/storefront/autosizes-84416378.js";(document.head || document.documentElement).appendChild(autosizesScript);}window.ShopifyAnalytics = window.ShopifyAnalytics || {};window.ShopifyAnalytics.performance = window.ShopifyAnalytics.performance || {};(function () {var LONG_FRAME_THRESHOLD = 50;var longAnimationFrames = [];var activeRafId = null;function collectLongFrames() {var previousTime = null;function rafMonitor(now) {if (activeRafId === null) {return;}var delta = now - previousTime;if (delta > LONG_FRAME_THRESHOLD) {longAnimationFrames.push({startTime: previousTime,endTime: now,});}previousTime = now;activeRafId = requestAnimationFrame(rafMonitor);}previousTime = performance.now();activeRafId = requestAnimationFrame(rafMonitor);}if (!window.PerformanceObserver?.supportedEntryTypes?.includes('long-animation-frame')) {collectLongFrames();var timeoutId = setTimeout(function () {cancelAnimationFrame(activeRafId);}, 10000);window.ShopifyAnalytics.performance.getLongAnimationFrames = function (stopCollection) {if (stopCollection === undefined) {stopCollection = false;}if (stopCollection) {clearTimeout(timeoutId);cancelAnimationFrame(activeRafId);}return longAnimationFrames;};}})();})();</script>
720<script crossorigin="anonymous" defer="defer" src="//niallhoran.com/cdn/shopifycloud/storefront/assets/shopify_pay/storefront-616277c7.js?v=20250812"></script>
vendor: 1 bytes, line 720
720
721<script id="shopify-origin-trials" async="async" integrity="sha256-qJbe/jEZBHtr5W/BlA2cKAz3vkXu6vJQyLjgvgCC86g=" src="//cdn.shopify.com/shopifycloud/storefront/assets/storefront/origin_trials-318ab40a.js" crossorigin="anonymous" onload="window.__shopifyOriginTrialsDone = true" onerror="window.__shopifyOriginTrialsDone = true"></script>
vendor: 1 bytes, line 721
721
722<script>
723  window.Shopify = window.Shopify || {};
724  window.Shopify.MCP = window.Shopify.MCP || {};
725  window.Shopify.MCP.enabled = true;
726  window.Shopify.MCP.shop = "niall-horan.myshopify.com";
727  window.Shopify.MCP.mcpEndpoint = "https:\/\/niallhoran.com\/api\/mcp";
728  window.Shopify.MCP.tools = [{"name":"search_shop_policies_and_faqs","description":"Used to get facts about the stores policies, products, or services.\nSome examples of questions you can ask are:\n  - What is your return policy?\n  - What is your shipping policy?\n  - What is your phone number?\n  - What are your hours of operation?\"\n","inputSchema":{"$schema":"https:\/\/json-schema.org\/draft\/2020-12\/schema","type":"object","properties":{"query":{"type":"string","description":"A natural language query."},"context":{"type":"string","description":"Additional information about the request such as user demographics, mood, location, or other relevant details that could help in tailoring the response appropriately."}},"required":["query"]}}];
729</script>
vendor: 1 bytes, line 729
729
730<script>(()=>{var d="shopify:webmcp_adapter_loaded",n=Symbol.for("shopify.webmcp_adapter_loading");function s(c,a,{win:r=window,doc:o=document}={}){function p(){try{return r.localStorage.getItem(d)==="true"}catch{return!1}}function l(){try{r.localStorage.setItem(d,"true")}catch{}}function u(){return typeof(o.modelContext||r.navigator?.modelContext)?.registerTool=="function"}function f(){if(r[n]||!u())return;let t=o.head||o.getElementsByTagName("head")[0];if(!t)return;let e=o.createElement("script");e.type="module",e.crossOrigin="anonymous",a&&(e.integrity=a),e.src=c,e.addEventListener("load",l,{once:!0}),e.addEventListener("error",()=>{r[n]=!1},{once:!0}),t.appendChild(e),r[n]=!0}function _(t){let e=o.getElementById("shopify-origin-trials");if(!e||r.__shopifyOriginTrialsDone){t();return}e.addEventListener("load",t,{once:!0}),e.addEventListener("error",t,{once:!0})}function i(){_(()=>r.setTimeout(f,0))}function m(){o.addEventListener("DOMContentLoaded",i,{once:!0})}p()?i():m()}s("\/\/niallhoran.com\/cdn\/shopifycloud\/storefront\/assets\/storefront\/webmcp-c6b62ece.js","sha256-ke4DDuBjdvea3vxLWxHc9E9nq8zihuG4IfYEGbb77ys=");})();
731</script>
vendor: 1 bytes, line 731
731
732<script data-source-attribution="shopify.dynamic_checkout.dynamic.init">var Shopify=Shopify||{};Shopify.PaymentButton=Shopify.PaymentButton||{isStorefrontPortableWallets:!0,init:function(){window.Shopify.PaymentButton.init=function(){};var t=document.createElement("script");t.src="https://niallhoran.com/cdn/shopifycloud/portable-wallets/latest/portable-wallets.en.js",t.type="module",document.head.appendChild(t)}};
733</script>
vendor: 1 bytes, line 733
733
734<script data-source-attribution="shopify.dynamic_checkout.buyer_consent">
735  function portableWalletsHideBuyerConsent(e){var t=document.getElementById("shopify-buyer-consent"),n=document.getElementById("shopify-subscription-policy-button");t&&n&&(t.classList.add("hidden"),t.setAttribute("aria-hidden","true"),n.removeEventListener("click",e))}function portableWalletsShowBuyerConsent(e){var t=document.getElementById("shopify-buyer-consent"),n=document.getElementById("shopify-subscription-policy-button");t&&n&&(t.classList.remove("hidden"),t.removeAttribute("aria-hidden"),n.addEventListener("click",e))}window.Shopify?.PaymentButton&&(window.Shopify.PaymentButton.hideBuyerConsent=portableWalletsHideBuyerConsent,window.Shopify.PaymentButton.showBuyerConsent=portableWalletsShowBuyerConsent);
736</script>
vendor: 1 bytes, line 736
736
737<script data-source-attribution="shopify.dynamic_checkout.cart.bootstrap">document.addEventListener("DOMContentLoaded",(function(){function t(){return document.querySelector("shopify-accelerated-checkout-cart, shopify-accelerated-checkout")}if(t())Shopify.PaymentButton.init();else{new MutationObserver((function(e,n){t()&&(Shopify.PaymentButton.init(),n.disconnect())})).observe(document.body,{childList:!0,subtree:!0})}}));
738</script>
738
739<link id="shopify-accelerated-checkout-styles" rel="stylesheet" media="screen" href="https://niallhoran.com/cdn/shopifycloud/portable-wallets/latest/accelerated-checkout-backwards-compat.css" crossorigin="anonymous">
740<style id="shopify-accelerated-checkout-cart">
741        #shopify-buyer-consent {
742  margin-top: 1em;
743  display: inline-block;
744  width: 100%;
745}
746
747#shopify-buyer-consent.hidden {
748  display: none;
749}
750
751#shopify-subscription-policy-button {
752  background: none;
753  border: none;
754  padding: 0;
755  text-decoration: underline;
756  font-size: inherit;
757  cursor: pointer;
758}
759
760#shopify-subscription-policy-button::before {
761  box-shadow: none;
762}
763
764      </style>
765
766<script id="shopify-cfh-end">window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
766 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Afacad:ital,wght@0,400..700;1,400..700&display=swap" rel="stylesheet"><link rel="stylesheet" href="https://cdn.rhythm.umgapps.com/fonts/family/mister-k-pro-onstage/stylesheet.css"><style>
767  dialog[open]::backdrop,
768  .umg-backdrop {
769    
770      --theme-color: ;
771      background: hsl(96 6% 17% / 0.4);
772      -webkit-backdrop-filter: blur(10px);
773      backdrop-filter: blur(10px);
774  }
775  
776  #PBarNextFrameWrapper::backdrop,
777  #web-pixels-helper-sandbox-container::backdrop {
778    --theme-color: unset;
779    background: unset;
780    -webkit-backdrop-filter: unset;
781    backdrop-filter: unset;
782  }
783</style><link href="//niallhoran.com/cdn/shop/t/56/assets/styles.bundle.css?v=123113474112260865601789132636" rel="stylesheet" type="text/css" media="print" id="styles_css_bundle" onload="this.media=`all`;this.removeAttribute(`onload`)" />
784  <noscript><link href="//niallhoran.com/cdn/shop/t/56/assets/styles.bundle.css?v=123113474112260865601789132636" rel="stylesheet" type="text/css" media="all" id="styles_css_bundle" /></noscript>
784<script defer="defer" src="//niallhoran.com/cdn/shop/t/56/assets/alpine.bundle.js?v=171037108278180649291789132637"></script>
784<style data-shopify>/* product background images */ 
785.grid--product .grid-item__wrapper .product_card .card__image,
786  .product-grid .product_card .card__image,
787  .pdp-media__wrapper .pdp-image-wrapper {
788background-color: #f2eadd;
789  }
790.grid--product > .grid-item__wrapper,
791.product-grid > .grid-layout > .product_card {
792  height: auto;
793}
794
795.grid--product,
796.product-grid > .grid-layout {
797  column-gap: var(--gap-container-2xs);
798}
799
800.cart-drawer__innerwrapper{
801padding: 20px;}
802
803.cart-drawer .c-border-primary {
804    --color-border: var(--color-primary);
805}
806
807/* homepage: custom logo section */
808@media (max-width: 767px) {
809  .custom-logo-section.no-hover .text-banner__spacing {
810    padding-bottom: 0;
811  }
812  .custom-logo-section.no-hover .media-section__wrapper {
813    row-gap: 0;
814  }
815  .custom-logo-section.no-hover .media-item-image-overlay {
816    padding: 1rem 0;
817  }
818  .custom-logo-section.no-hover .media-item-image-overlay.visible .image__adaptive.group-hover\:opacity-0 {
819    opacity: 0;
820  }
821  .custom-logo-section.no-hover .media-item-image-overlay.visible .image__adaptive.group-hover\:opacity-100 {
822    opacity: 1;
823  }
824}</style><link rel="apple-touch-icon" sizes="180x180" href="//niallhoran.com/cdn/shop/files/meta_favi.png?crop=center&height=180&v=1772636707&width=180">
825    <link rel="icon" href="//niallhoran.com/cdn/shop/files/meta_favi.png?crop=center&height=32&v=1772636707&width=32"><meta name="description" content="Shop the Official Niall Horan Online store for exclusive Niall Horan music products.">
826
827  <meta property="og:site_name" content="Niall Horan Official Store">
828  <meta property="og:url" content="https://niallhoran.com/cart">
829  <meta property="og:title" content="Your Shopping Cart - Niall Horan Official Store">
830  <meta property="og:type" content="website">
831  <meta property="og:description" content="Shop the Official Niall Horan Online store for exclusive Niall Horan music products."><meta property="og:image" content="http://niallhoran.com/cdn/shop/files/NH-DP-share.png?v=1773856182">
832  <meta property="og:image:secure_url" content="https://niallhoran.com/cdn/shop/files/NH-DP-share.png?v=1773856182">
833  <meta property="og:image:width" content="1200">
834  <meta property="og:image:height" content="630"><meta name="twitter:card" content="summary_large_image">
835  <meta name="twitter:title" content="Your Shopping Cart - Niall Horan Official Store">
836  <meta name="twitter:description" content="Shop the Official Niall Horan Online store for exclusive Niall Horan music products.">
836<script>
837      window.dotDigital = {
838        shopDomain: 'niallhoran.com',
839        insightId: 'DM-8405741404-02'
840      }
841    </script>
841<script defer="defer" src="//niallhoran.com/cdn/shop/t/56/assets/dot-digital.bundle.js?v=111676681593682757461789132637"></script>
841<!-- BEGIN app block: shopify://apps/privy-pop-ups-email-sms/blocks/privy-convert-production/1d8599fa-4edf-4071-bda6-4d5d6d82de9c -->
841<script src="https://shopify.privy.com/widget.js?shop=niall-horan.myshopify.com"></script>
841
842
843<!-- END app block --><link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch">
844<script>(function(){if ("sendBeacon" in navigator && "performance" in window) {try {var session_token_from_headers = performance.getEntriesByType('navigation')[0].serverTiming.find(x => x.name == '_s').description;} catch {var session_token_from_headers = undefined;}var session_cookie_matches = document.cookie.match(/_shopify_s=([^;]*)/);var session_token_from_cookie = session_cookie_matches && session_cookie_matches.length === 2 ? session_cookie_matches[1] : "";var session_token = session_token_from_headers || session_token_from_cookie || "";function handle_abandonment_event(e) {var entries = performance.getEntries().filter(function(entry) {return /monorail-edge.shopifysvc.com/.test(entry.name);});if (!window.abandonment_tracked && entries.length === 0) {window.abandonment_tracked = true;var currentMs = Date.now();var navigation_start = performance.timing.navigationStart;var payload = {shop_id: 23650831,url: window.location.href,navigation_start,duration: currentMs - navigation_start,session_token,page_type: "cart"};window.navigator.sendBeacon("https://monorail-edge.shopifysvc.com/v1/produce", JSON.stringify({schema_id: "online_store_buyer_site_abandonment/1.1",payload: payload,metadata: {event_created_at_ms: currentMs,event_sent_at_ms: currentMs}}));}}window.addEventListener('pagehide', handle_abandonment_event);}}());</script>
vendor: 1 bytes, line 844
844
845<script>
846  window.__TREKKIE_SHIM_QUEUE = window.__TREKKIE_SHIM_QUEUE || [];
847</script>
vendor: 1 bytes, line 847
847
848<script>(function(){var wpmLoader=function(){"use strict";var e=/Googlebot|Storebot-Google|bingbot|Baiduspider|YandexBot|DuckDuckBot|Slurp|facebookexternalhit|Twitterbot|LinkedInBot|Applebot|AdsBot-Google|Mediapartners-Google|APIs-Google|PetalBot|SemrushBot|AhrefsBot|MJ12bot|DotBot|Acunetix|PerplexityBot|Perplexity-User/i,t=/bytedance/i;function i(){try{var e=document.cookie;if(!e||"string"!=typeof e)return;for(var t=0,i=e.split(";");t<i.length;t++){var n=i[t],r=n.indexOf("=");if(-1!==r){var o=n.slice(0,r).trim();if(o){var a=void 0;try{a=decodeURIComponent(o)}catch(e){a=o}if("_shopify_s"===a){var d=n.slice(r+1).trim();try{return decodeURIComponent(d)}catch(e){return d}}}}}return}catch(e){return}}function n(e){try{"undefined"!=typeof console&&"function"==typeof console.warn&&console.warn(e)}catch(e){}}function r(e,t){return"string"==typeof e&&e.length>0&&e.length<=t?e:void 0}function o(e){var t;switch(null==(t=null==e?void 0:e.navigation)?void 0:t.type){case 0:return"navigate";case 1:return"reload";case 2:return"back_forward";default:return}}function a(){var e,t,i;try{var n=null==(i=null==(t=null==(e=self.ShopifyAnalytics)?void 0:e.lib)?void 0:t.trekkie)?void 0:i.state;return"awaiting-consent"===n||"initialized"===n?n:void 0}catch(e){return}}return function(d,s,u,l){var c=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};try{var p=c.trekkieShim;!0!==p&&"true"!==p||null!=window.__TREKKIE_SHIM_QUEUE||(window.__TREKKIE_SHIM_QUEUE=[])}catch(e){}var f,v,h,y,g=(v=(f={modern:/Edge?\/(1{2}[4-9]|1[2-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Firefox\/(1{2}[4-9]|1[2-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Chrom(ium|e)\/(9{2}|\d{3,})\.\d+(\.\d+|)|(Maci|X1{2}).+ Version\/(15\.\d+|(1[6-9]|[2-9]\d|\d{3,})\.\d+)([,.]\d+|)( \(\w+\)|)( Mobile\/\w+|) Safari\/|Chrome.+OPR\/(9{2}|\d{3,})\.\d+\.\d+|(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS|CPU iPad OS)[ +]+(15[._]\d+|(1[6-9]|[2-9]\d|\d{3,})[._]\d+)([._]\d+|)|Android:?[ /-](14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Android.+Firefox\/(15\d|1[6-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|SamsungBrowser\/([2-9]\d|\d{3,})\.\d+/,legacy:/Edge?\/(1[6-9]|[2-9]\d|\d{3,})\.\d+(\.\d+|)|Firefox\/(5[4-9]|[6-9]\d|\d{3,})\.\d+(\.\d+|)|Chrom(ium|e)\/(5[1-9]|[6-9]\d|\d{3,})\.\d+(\.\d+|)([\d.]+$|.*Safari\/(?![\d.]+ Edge\/[\d.]+$))|(Maci|X1{2}).+ Version\/(10\.\d+|(1[1-9]|[2-9]\d|\d{3,})\.\d+)([,.]\d+|)( \(\w+\)|)( Mobile\/\w+|) Safari\/|Chrome.+OPR\/(3[89]|[4-9]\d|\d{3,})\.\d+\.\d+|(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS|CPU iPad OS)[ +]+(10[._]\d+|(1[1-9]|[2-9]\d|\d{3,})[._]\d+)([._]\d+|)|Android:?[ /-](14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Mobile Safari.+OPR\/([89]\d|\d{3,})\.\d+\.\d+|Android.+Firefox\/(15\d|1[6-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+(UC? ?Browser|UCWEB|U3)[ /]?(15\.([5-9]|\d{2,})|(1[6-9]|[2-9]\d|\d{3,})\.\d+)\.\d+|SamsungBrowser\/(5\.\d+|([6-9]|\d{2,})\.\d+)|Android.+MQ{2}Browser\/(14(\.(9|\d{2,})|)|(1[5-9]|[2-9]\d|\d{3,})(\.\d+|))(\.\d+|)|K[Aa][Ii]OS\/(3\.\d+|([4-9]|\d{2,})\.\d+)(\.\d+|)/}).modern,h=f.legacy,(y=navigator.userAgent).match(e)?"bot":y.match(v)?"modern":y.match(h)?"legacy":y.match(t)?"bot":"unknown"),m=function(e){var t,i,n=r(e,128);try{var a=window.performance,d=null==(t=null==a?void 0:a.getEntriesByType)?void 0:t.call(a,"navigation")[0];if(!d)return{requestId:n,navigationType:o(a)};var s="type"in d?r(d.type,64):void 0,u="serverTiming"in d&&Array.isArray(d.serverTiming)?d.serverTiming:[];return{requestId:null!=n?n:r(null==(i=u.find(function(e){return"requestID"===e.name}))?void 0:i.description,128),navigationType:s}}catch(e){return{requestId:n}}}(c.requestId),w=function(e){var t=e.version,r=e.browserTarget,o=e.surface,a=e.shopId,d=e.monorailEndpoint,s=window.location.href;return{emit:function(e){var u=e.status,l=e.errorMsg,c=e.failureReason,p=e.useKeepaliveFallback,f=void 0!==p&&p,v=e.navigationType,h=e.pagehidePersisted,y=e.requestId,g=e.trekkieState;if(d){var m,w;try{var b=(new Date).getTime();m=JSON.stringify({metadata:{event_sent_at_ms:b},events:[{schema_id:"web_pixels_manager_load/3.3",payload:{version:t,bundle_target:r,page_url:s,status:u,surface:o,error_msg:l,failure_reason:c,navigation_type:v,pagehide_persisted:h,request_id:y,trekkie_state:g,shop_id:a,visit_token:i()},metadata:{event_created_at_ms:b}}]})}catch(e){return}try{if("function"==typeof window.navigator.sendBeacon&&-1===(w=window.navigator.userAgent).indexOf("iPhone; CPU iPhone OS 12_")&&-1===w.indexOf("iPad; CPU OS 12_")&&-1===w.indexOf("iPod touch; CPU iPhone OS 12_")&&window.navigator.sendBeacon.bind(window.navigator)(d,m))return}catch(e){}if(f)try{"function"==typeof window.fetch&&window.fetch(d,{method:"POST",headers:{"Content-Type":"text/plain"},body:m,keepalive:!0}
848).catch(function(){})}catch(e){}else try{var _=new XMLHttpRequest;_.open("POST",d,!0),_.setRequestHeader("Content-Type","text/plain"),_.send(m)}catch(e){n("[Web Pixels Manager] Got an unhandled error while logging to Monorail.")}}else n("[Web Pixels Manager] No Monorail endpoint provided, skipping logging.")}}}({version:u,browserTarget:g,surface:d.surface,shopId:d.shopId,monorailEndpoint:d.monorailEndpoint});if(Boolean(null==(_=null==(b=window.Shopify)?void 0:b.analytics)?void 0:_.replayQueue))w.emit({status:"setup-skipped",errorMsg:"replay queue already initialized."});else{var b,_;w.emit({status:"setup-started"}),window.Shopify=window.Shopify||{};var S=window.Shopify;S.analytics=S.analytics||{};var P=S.analytics;P.replayQueue=[],P.publish=function(e,t,i){return P.replayQueue.push([e,t,i]),!0};try{self.performance.mark("wpm:start")}catch(e){}var k,C="modern"===g?"modern":"legacy",E=(null!=l?l:{modern:"",legacy:""})[C],I=[(k={baseUrl:s,hashVersion:u,buildTarget:C}).baseUrl,"/wpm","/b",k.hashVersion,"modern"===k.buildTarget?"m":"l",".js"].join(""),O=!1,T=!1;try{c.browserTarget=g,function(){O=!0;try{window.addEventListener("pagehide",M)}catch(e){O=!1}}(),R(function(){try{R(x)}catch(e){D(e)}}),w.emit({status:"loading",requestId:m.requestId,navigationType:m.navigationType,trekkieState:a()})}catch(e){D(e)}}function U(){var e;if(q(),!function(){var e,t;return Boolean(null==(t=null==(e=window.Shopify)?void 0:e.analytics)?void 0:t.initialized)}()){var t,i,n;try{if("function"!=typeof(null==(e=window.webPixelsManager)?void 0:e.init))return void A();if(!(null!==(n=i=t=window.webPixelsManager.init(d))&&"function"!=typeof n&&Object(n)===n&&"publish"in i&&"function"==typeof i.publish&&"publishCustomEvent"in i&&"function"==typeof i.publishCustomEvent&&"visitor"in i&&"function"==typeof i.visitor))return void A()}catch(e){return void A(e)}var r=window.Shopify.analytics;r.replayQueue.forEach(function(e){var i=e[0],n=e[1],r=e[2];t.publishCustomEvent(i,n,r)}),r.replayQueue=[],r.publish=t.publishCustomEvent,r.visitor=t.visitor,r.initialized=!0}}function A(e){B("manager_api_unavailable",void 0===e?void 0:Q(e))}function x(){B("script_load_failed","".concat(I," has failed to load"))}function B(e,t){T||(T=!0,q(),w.emit({status:"failed",errorMsg:t,failureReason:e,requestId:m.requestId,navigationType:m.navigationType,trekkieState:a()}))}function M(e){O&&(q(),w.emit({status:"pagehide-while-loading",useKeepaliveFallback:!0,pagehidePersisted:e.persisted,requestId:m.requestId,navigationType:m.navigationType,trekkieState:a()}))}function q(){O=!1;try{window.removeEventListener("pagehide",M)}catch(e){}}function R(e){var t;!function(e){var t=e.src,i=e.async,n=void 0===i||i,r=e.onload,o=e.onerror,a=e.sri,d=e.scriptDataAttributes,s=void 0===d?{}:d,u=document.createElement("script"),l=document.querySelector("head"),c=document.querySelector("body");if(u.async=n,u.src=t,a&&(u.integrity=a,u.crossOrigin="anonymous"),s)for(var p in s)if(Object.prototype.hasOwnProperty.call(s,p))try{u.dataset[p]=String(s[p])}catch(e){}if(r&&u.addEventListener("load",r),o&&u.addEventListener("error",o),l)l.appendChild(u);else{if(!c)throw new Error("Did not find a head or body element to append the script");c.appendChild(u)}}({src:I,async:!0,onload:U,onerror:e,sri:(t=E,"string"==typeof t&&/^sha384-[A-Za-z0-9+/=]+$/.test(t)?E:""),scriptDataAttributes:c})}function D(e){B("script_append_failed",Q(e))}function Q(e){return e instanceof Error?e.message:"Unknown error"}}}();wpmLoader({shopId: 23650831,storefrontBaseUrl: "https://niallhoran.com",extensionsBaseUrl: "https://extensions.shopifycdn.com/cdn/shopifycloud/web-pixels-manager",monorailEndpoint: "https://niallhoran.com/.well-known/shopify/monorail/unstable/produce_batch",surface: "storefront-renderer",enabledBetaFlags: ["16072cab","8450a54b"],webPixelsConfigList: [{"id":"2759655794","configuration":"{\"storeIdentity\":\"niall-horan.myshopify.com\",\"baseURL\":\"https:\\\/\\\/api.printful.com\\\/shopify-pixels\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"74f275712857ab41bea9d998dcb2f9da","type":"APP","apiClientId":156624,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"2552660338","configuration":"{\"forter_site_id\":\"98110a8cd268\"}","eventPayloadVersion":"v1","runtimeContext":"LAX","scriptVersion":"7e4b4da7292f3a5a38b14e41b6ff19b5","type":"APP","apiClientId":332912361473,"privacyPurposes":[],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_phone","read_customer_personal_data"],"dataSharingControls":["share_all_events"]}
848,"dataSharingState":"unrestricted"},{"id":"1912734066","configuration":"{\"businessId\":\"81D92FF892D0157F897EF54E\",\"environment\":\"production\",\"debug\":\"false\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"5a8ca3d2c8c198d27ce52b5826353789","type":"APP","apiClientId":861484,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"951681394","configuration":"{\"pixel_id\":\"845371127371805\",\"pixel_type\":\"facebook_pixel\"}","eventPayloadVersion":"v1","runtimeContext":"OPEN","scriptVersion":"96420dbe9ea96c426a1b7f364f977719","type":"APP","apiClientId":2329312,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized","enabledFlags":["9a3ed68a"]},{"id":"743604594","configuration":"{\"config\":\"{\\\"google_tag_ids\\\":[\\\"GT-PZZHHJV\\\",\\\"AW-11016326792\\\",\\\"AW-802230609\\\",\\\"AW-11039080362\\\"],\\\"target_country\\\":\\\"US\\\",\\\"gtag_events\\\":[{\\\"type\\\":\\\"begin_checkout\\\",\\\"action_label\\\":[\\\"AW-11016326792\\\",\\\"AW-11016255997\\\",\\\"AW-11016281377\\\",\\\"AW-17542671235\\\",\\\"AW-11016277261\\\",\\\"AW-802230609\\\",\\\"AW-11039080362\\\",\\\"AW-745526989\\\",\\\"AW-789861424\\\"]},{\\\"type\\\":\\\"search\\\",\\\"action_label\\\":[\\\"AW-11016326792\\\",\\\"AW-11016255997\\\",\\\"AW-11016281377\\\",\\\"AW-17542671235\\\",\\\"AW-11016277261\\\",\\\"AW-802230609\\\",\\\"AW-11039080362\\\",\\\"AW-745526989\\\",\\\"AW-789861424\\\"]},{\\\"type\\\":\\\"view_item\\\",\\\"action_label\\\":[\\\"MC-EJE4HLZLHE\\\",\\\"AW-11016326792\\\",\\\"AW-11016255997\\\",\\\"AW-11016281377\\\",\\\"AW-17542671235\\\",\\\"AW-11016277261\\\",\\\"AW-802230609\\\",\\\"AW-11039080362\\\",\\\"AW-745526989\\\",\\\"AW-789861424\\\"]},{\\\"type\\\":\\\"purchase\\\",\\\"action_label\\\":[\\\"MC-EJE4HLZLHE\\\",\\\"AW-11016326792\\\/WC9WCIOJqdQcEIid_4Qp\\\",\\\"AW-11039080362\\\/OubUCNPeiakYEKr_648p\\\",\\\"AW-11016326792\\\",\\\"AW-11016255997\\\",\\\"AW-11016281377\\\",\\\"AW-17542671235\\\",\\\"AW-11016277261\\\",\\\"AW-802230609\\\",\\\"AW-11039080362\\\",\\\"AW-745526989\\\",\\\"AW-789861424\\\"]},{\\\"type\\\":\\\"page_view\\\",\\\"action_label\\\":[\\\"MC-EJE4HLZLHE\\\",\\\"AW-11016326792\\\",\\\"AW-11016255997\\\",\\\"AW-11016281377\\\",\\\"AW-17542671235\\\",\\\"AW-11016277261\\\",\\\"AW-802230609\\\",\\\"AW-11039080362\\\",\\\"AW-745526989\\\",\\\"AW-789861424\\\"]},{\\\"type\\\":\\\"add_payment_info\\\",\\\"action_label\\\":[\\\"AW-11016326792\\\",\\\"AW-11016255997\\\",\\\"AW-11016281377\\\",\\\"AW-17542671235\\\",\\\"AW-11016277261\\\",\\\"AW-802230609\\\",\\\"AW-11039080362\\\",\\\"AW-745526989\\\",\\\"AW-789861424\\\"]},{\\\"type\\\":\\\"add_to_cart\\\",\\\"action_label\\\":[\\\"AW-11039080362\\\/NcMZCKeai-AcEKr_648p\\\",\\\"AW-11016326792\\\",\\\"AW-11016255997\\\",\\\"AW-11016281377\\\",\\\"AW-17542671235\\\",\\\"AW-11016277261\\\",\\\"AW-802230609\\\",\\\"AW-11039080362\\\",\\\"AW-745526989\\\",\\\"AW-789861424\\\"]}],\\\"enable_monitoring_mode\\\":false}\"}","eventPayloadVersion":"v1","runtimeContext":"OPEN","scriptVersion":"a3321ca85cf5aaf6b57585fcd8d67b3a","type":"APP","apiClientId":1780363,"privacyPurposes":[],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized","enabledFlags":["9a3ed68a"]},{"id":"241500243","configuration":"{\"gtm_id\":\"GTM-T4SPZ5\"}","eventPayloadVersion":"v1","runtimeContext":"LAX","scriptVersion":"9c02f134f72408f0926e349d50d5e1fe","type":"APP","apiClientId":37773246465,"privacyPurposes":[],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_phone","read_customer_personal_data"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"shopify-app-pixel","configuration":"{}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"0530","apiClientId":"shopify-pixel","type":"APP","privacyPurposes":["ANALYTICS","MARKETING"]},{"id":"shopify-custom-pixel","eventPayloadVersion":"v1","runtimeContext":"LAX","scriptVersion":"0530","apiClientId":"shopify-pixel","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING"]}],isMerchantRequest: false,initData: {"shop":{"name":"Niall Horan Official Store","paymentSettings":{"currencyCode":"USD"},"myshopifyDomain":"niall-horan.myshopify.com","countryCode":"US","storefrontUrl":"https:\/\/niallhoran.com"},"customer":null,"cart":null,"checkout":null,"productVariants":[],"products":[],"purchasingCompany":null},},"https://niallhoran.com/cdn","c8540278we853e1abpb62b2c4amde256306",{"modern":"","legacy":""},{"trekkieShim":true,"agentContext":true,"apiClientId":"580111","facebookCapiEnabled":"true","themeId":"193643905394","themePublished":"true","eventMetadataId":"da1655af-399e-41e0-b214-41e0167996cd","pageType":"cart","shopId":"23650831","storefrontBaseUrl":"https:\/\/niallhoran.com","extensionBaseUrl":"https:\/\/extensions.shopifycdn.com\/cdn\/shopifycloud\/web-pixels-manager","surface":"storefront-renderer","enabledBetaFlags":"[\"16072cab\", \"8450a54b\"]","isMerchantRequest":"false","hashVersion":"c8540278we853e1abpb62b2c4amde256306","publish":"custom","events":"[[\"page_viewed\",{}]]"});})();</script>
848<script>
849  window.ShopifyAnalytics = window.ShopifyAnalytics || {};
850  window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {};
851  window.ShopifyAnalytics.meta.currency = 'USD';
852  var meta = {"page":{"pageType":"cart","requestId":"c98cac83-06c8-48b6-a72f-89748295ffea-1790284116"}};
853  for (var attr in meta) {
854    window.ShopifyAnalytics.meta[attr] = meta[attr];
855  }
856</script>
vendor: 1 bytes, line 856
856
857<script class="analytics">
858  (function () {
859    var customDocumentWrite = function(content) {
860      var jquery = null;
861
862      if (window.jQuery) {
863        jquery = window.jQuery;
864      } else if (window.Checkout && window.Checkout.$) {
865        jquery = window.Checkout.$;
866      }
867
868      if (jquery) {
869        jquery('body').append(content);
870      }
871    };
872
873    var hasLoggedConversion = function(token) {
874      if (token) {
875        return document.cookie.indexOf('loggedConversion=' + token) !== -1;
876      }
877      return false;
878    }
879
880    var setCookieIfConversion = function(token) {
881      if (token) {
882        var twoMonthsFromNow = new Date(Date.now());
883        twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2);
884
885        document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow;
886      }
887    }
888
889    var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || [];
890    window.ShopifyAnalytics.lib.trekkie = window.trekkie;
891    if (trekkie.integrations) {
892      return;
893    }
894    trekkie.methods = [
895      'identify',
896      'page',
897      'ready',
898      'track',
899      'trackForm',
900      'trackLink'
901    ];
902    trekkie.factory = function(method) {
903      return function() {
904        var args = Array.prototype.slice.call(arguments);
905        args.unshift(method);
906        trekkie.push(args);
907        if (method == 'track' || method == 'page') {
908          try {
909            if (window.__TREKKIE_SHIM_QUEUE == null) {
910              window.__TREKKIE_SHIM_QUEUE = [];
911            }
912            window.__TREKKIE_SHIM_QUEUE.push({
913              from: 'trekkie-stub',
914              method: method,
915              args: args.slice(1)
916            });
917          } catch (e) {
918            // no-op
919          }
920        }
921        return trekkie;
922      };
923    };
924    for (var i = 0; i < trekkie.methods.length; i++) {
925      var key = trekkie.methods[i];
926      trekkie[key] = trekkie.factory(key);
927    }
928    trekkie.load = function(config) {
929      trekkie.config = config || {};
930      trekkie.config.initialDocumentCookie = document.cookie;
931      var first = document.getElementsByTagName('script')[0];
932var script = document.createElement('script');
933script.type = 'text/javascript';
934script.onerror = function(e) {
935  var scriptFallback = document.createElement('script');
936  scriptFallback.type = 'text/javascript';
937  scriptFallback.onerror = function(error) {
938          var Monorail = {
939      produce: function produce(monorailDomain, schemaId, payload) {
940        var currentMs = new Date().getTime();
941        var event = {
942          schema_id: schemaId,
943          payload: payload,
944          metadata: {
945            event_created_at_ms: currentMs,
946            event_sent_at_ms: currentMs
947          }
948        };
949        return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event));
950      },
951      sendRequest: function sendRequest(endpointUrl, payload) {
952        // Try the sendBeacon API
953        if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) {
954          var blobData = new window.Blob([payload], {
955            type: 'text/plain'
956          });
957
958          if (window.navigator.sendBeacon(endpointUrl, blobData)) {
959            return true;
960          } // sendBeacon was not successful
961
962        } // XHR beacon
963
964        var xhr = new XMLHttpRequest();
965
966        try {
967          xhr.open('POST', endpointUrl);
968          xhr.setRequestHeader('Content-Type', 'text/plain');
969          xhr.send(payload);
970        } catch (e) {
971          console.log(e);
972        }
973
974        return false;
975      },
976      isIos12: function isIos12() {
977        return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1;
978      }
979    };
980    Monorail.produce('monorail-edge.shopifysvc.com',
981      'trekkie_storefront_load_errors/1.1',
982      {shop_id: 23650831,
983      theme_id: 193643905394,
984      app_name: "storefront",
985      context_url: window.location.href,
986      source_url: "//niallhoran.com/cdn/s/trekkie.storefront.f1ba865b3fecd812ad617f74ac079261075e9edb.min.js"});
987
988  };
989  scriptFallback.async = true;
990  scriptFallback.src = '//niallhoran.com/cdn/s/trekkie.storefront.f1ba865b3fecd812ad617f74ac079261075e9edb.min.js';
991  first.parentNode.insertBefore(scriptFallback, first);
992};
993script.async = true;
994script.src = '//niallhoran.com/cdn/s/trekkie.storefront.f1ba865b3fecd812ad617f74ac079261075e9edb.min.js';
995first.parentNode.insertBefore(script, first);
996
997    };
998    trekkie.load(
999      {"Trekkie":{"appName":"storefront","development":false,"defaultAttributes":{"shopId":23650831,"isMerchantRequest":null,"themeId":193643905394,"themeCityHash":"2767296043132004556","contentLanguage":"en","currency":"USD","eventMetadataId":"da1655af-399e-41e0-b214-41e0167996cd"},"isServerSideCookieWritingEnabled":true,"monorailRegion":"shop_domain","enabledBetaFlags":["764d78cb","8450a54b"]},"Session Attribution":{},"S2S":{"facebookCapiEnabled":true,"source":"trekkie-storefront-renderer","apiClientId":580111}}
1000    );
1001
1002    var loaded = false;
1003    trekkie.ready(function() {
1004      if (loaded) return;
1005      loaded = true;
1006
1007      window.ShopifyAnalytics.lib = window.trekkie;
1008
1009      var originalDocumentWrite = document.write;
1010      document.write = customDocumentWrite;
1011      try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {};
1012      document.write = originalDocumentWrite;
1013
1014      var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/)
1015      var token = match? match[1]: undefined;
1016      if (!hasLoggedConversion(token)) {
1017        setCookieIfConversion(token);
1018        
1019      }
1020    });
1021
1022    window.ShopifyAnalytics.lib.page(null,{"pageType":"cart","requestId":"c98cac83-06c8-48b6-a72f-89748295ffea-1790284116","shopifyEmitted":true});
1023
1024    var eventsListenerScript = document.createElement('script');
1025    eventsListenerScript.async = true;
1026    eventsListenerScript.src = "//niallhoran.com/cdn/shopifycloud/storefront/assets/shop_events_listener-4e26a9ce.js";
1027    document.getElementsByTagName('head')[0].appendChild(eventsListenerScript);
1028})();</script>
vendor: 1 bytes, line 1028
1028
1029<script
1030  defer
1031  src="https://niallhoran.com/cdn/shopifycloud/perf-kit/shopify-perf-kit-3.9.4.min.js"
1032  data-application="storefront-renderer"
1033  data-shop-id="23650831"
1034  data-render-region="gcp-us-central1"
1035  data-page-type="cart"
1036  data-theme-instance-id="193643905394"
1037  data-theme-name="Rhythm"
1038  data-theme-version="2026.09.1.0"
1039  data-monorail-region="shop_domain"
1040  data-resource-timing-sampling-rate="10"
1041  data-shs="true"
1042  data-shs-beacon="true"
1043  data-shs-export-with-fetch="true"
1044  data-shs-logs-sample-rate="1"
1045  data-shs-beacon-endpoint="https://niallhoran.com/api/collect"
1046></script>
1046
1047<meta name="shopify-y" content="139559b5-7f57-43f6-bcd3-9a77bd9ab035" data-expiration="1821841716000"><meta name="shopify-s" content="06b9543a-5a2e-4485-89d7-ba977215fb48" data-expiration="1790285916000"><meta name="new-cookie-storage-activated" content="t">
1048</head><body class="template__cart flex flex-col grow min-h-full relative md:relative scheme-scheme1 c-bg-background c-text-content-base" data-theme="rhythm" data-themev="2026.09.1.0">
1049  <span class="sr-only" data-e2e="aria-countdown-change" aria-live="assertive"></span>
vendor: 67 bytes, line 1049
1049<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
1049GTM-T4SPZ5
vendor: 86 bytes, lines 1049-1050
1049"
1050    height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
1050<a class="skip-to-content-link button sr-only focus:not-sr-only" href="#MainContent">Skip to content</a><content-overlay>
1051  <div class="overlay hidden fixed top-0 left-0 w-full h-full z-[1000001] c-bg-gray-900 opacity-50"></div>
1052</content-overlay><!-- BEGIN sections: header-group -->
1053<header id="shopify-section-sections--28662239560050__header" class="shopify-section shopify-section-group-header-group site-header md:hidden">
1054<style data-shopify>
1055    body {
1056      --header-group-header-position: sticky;
1057    }
1058  </style>
1059<style>
1060	#shopify-section-sections--28662239560050__header {
1061		position: sticky;top: 0;z-index: 999997;
1062    width: 100%;
1063	}
1064	</style>
1065  
1065<script>document.getElementById('shopify-section-sections--28662239560050__header').classList.add('umg-sticky', 'transition-[transform]')</script>
1065
1066
1067
1068
1069
1070
1071
1072<div id="header-wrapper--28662239560050" class="header__wrapper scheme-scheme1 z-[10] mx-auto h-auto w-full section__wrapper scheme-scheme1 grid columns-1 rows-1 place-items-center relative z-0 overflow-visible c-bg-background c-text-content-base mb-none" x-data="{ hamburgerMenuOpen: false, searchBarOpen: false, dropDownMenuOpen: null }" data-position="dynamic_sticky_header" style=" --icon-width: 1.25rem; --icon-height: 1.25rem; ">
1073  <div id="header-container--28662239560050" class="header__container grid gap-y-sm-sm gap-x-sm-xs grid-cols-9 section-spacing mx-auto w-full relative z-10 py-container-xs px-lg-xs max-w-full md:px-container-xs md:max-w-full c-border-default-color border-none border-x-0 border-t-0 mx-auto text-center" >
1074    
1075      
1076          
1077
1078
1079
1080
1081<div  class="nav-drawer__block navigation-wrapper header__column flex col-span-3 justify-start" x-data="{ open: false, triggerRef: null, handleEscape(e){ this.triggerRef = e.target.closest('.nav-drawer__block')?.querySelector('.nav-drawer__toggle'); this.triggerRef?.focus(); this.open = false; } }" @keydown.escape.window="handleEscape">
1082  <button
1083    class="nav-drawer__overlay umg-backdrop fixed top-0 bottom-0 left-0 right-0 w-full h-full z-10"
1084    @click="open = false; $el.ownerDocument.body.classList.remove('overflow-hidden')"
1085    x-show="open"
1086    x-cloak
1087    :aria-label="open ? 'Close navigation menu' : 'Open navigation menu'"
1088    x-transition x-transition.opacity></button>
1089
1090  
1091
1092
1093
1094<button 
1095  class="nav-drawer__toggle grid items-center min-h-min-click-space min-w-min-click-space justify-center" 
1096  @click="open = ! open; $el.ownerDocument.body.classList.toggle('overflow-hidden')" 
1097  :aria-expanded="open"
1098  :aria-label="open ? 'Close navigation menu' : 'Open navigation menu'">
1099  <div class="row-start-1 col-start-1 nav-drawer__toggle--open " x-show="!open" x-transition>
1100    
1101
1102
1103
1104  
1105  
1106  
1107      <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512" class="icon icon--menu umg-icon" fill="currentColor">
1108        <path d="M0 96C0 78.3 14.3 64 32 64H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32C14.3 128 0 113.7 0 96zM0 256c0-17.7 14.3-32 32-32H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32zM448 416c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H416c17.7 0 32 14.3 32 32z"/>
1109      </svg>
1110    
1111
1112  </div>
1113  <div class="row-start-1 col-start-1 nav-drawer__toggle--close " x-show="open" x-cloak x-transition>
1114    
1115
1116
1117
1118  
1119  
1120  
1121      <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512" class="icon icon--close umg-icon" fill="currentColor">
1122        <path d="M310.6 150.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L160 210.7 54.6 105.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L114.7 256 9.4 361.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L160 301.3 265.4 406.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L205.3 256 310.6 150.6z"/>
1123      </svg>
1124    
1125
1126  </div>
1127</button>
1128
1129  <div class="nav-drawer__menu flex flex-col fixed z-100 top-0 max-h-[100vh] bottom-0 w-[90%] max-w-[400px] transition duration-300 overflow-y-scroll c-bg-primary-on c-text-primary left-0" x-show="open" x-cloak x-transition:enter="transition ease-out duration-300"x-transition:enter-start="-translate-x-full"x-transition:enter-end="translate-x-0"x-transition:leave="transition ease-out duration-300"x-transition:leave-start="translate-x-0"x-transition:leave-end="-translate-x-full">
1130    <div class="flex justify-between md:justify-end p-lg-sm">
1131      
1132         <div x-html="$refs.logoContainer ? $refs.logoContainer.innerHTML : ''" class="logo-container flex justify-center items-center c-text-content-base"></div>
1133      
1134      
1135
1136
1137
1138<button 
1139  class="nav-drawer__toggle grid items-center min-h-min-click-space min-w-min-click-space justify-end c-text-content-base" 
1140  @click="open = ! open; $el.ownerDocument.body.classList.toggle('overflow-hidden')" 
1141  :aria-expanded="open"
1142  :aria-label="open ? 'Close navigation menu' : 'Open navigation menu'">
1143  <div class="row-start-1 col-start-1 nav-drawer__toggle--open " x-show="!open" x-transition>
1144    
1145
1146
1147
1148  
1149  
1150  
1151      <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512" class="icon icon--menu umg-icon" fill="currentColor">
1152        <path d="M0 96C0 78.3 14.3 64 32 64H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32C14.3 128 0 113.7 0 96zM0 256c0-17.7 14.3-32 32-32H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32zM448 416c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H416c17.7 0 32 14.3 32 32z"/>
1153      </svg>
1154    
1155
1156  </div>
1157  <div class="row-start-1 col-start-1 nav-drawer__toggle--close " x-show="open" x-cloak x-transition>
1158    
1159
1160
1161
1162  
1163  
1164  
1165      <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512" class="icon icon--close umg-icon" fill="currentColor">
1166        <path d="M310.6 150.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L160 210.7 54.6 105.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L114.7 256 9.4 361.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L160 301.3 265.4 406.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L205.3 256 310.6 150.6z"/>
1167      </svg>
1168    
1169
1170  </div>
1171</button>
1172    </div>
1173    <ul class="gap-sm-sm">
1174
1175      
1176      
1177
1178      
1179
1180        
1181
1182        
1183
1184        
1185
1186        
1187
1188        
1189          
1190          <div x-data="{ expanded: false }">
1191            
1192            <button
1193              @click="expanded = !expanded"
1194              :aria-expanded="expanded"
1195              class="nav-drawer__tier-1__item px-lg-sm flex items-center w-full relative"
1196              :class="expanded ? ' group child-active c-text-content-base' : 'c-text-content-base' "
1197              
1198            >
1199              <div class="text_navigation_lg w-full min-h-min-click-s
1199pace flex items-center grow py-0.35em pr-sm-lg justify-start text-left active:underline aria-expanded:underline has-[aria-current]:underline aria-[current]:underline decoration-[var(--border-default-width)] underline-offset-[4px] group-[.is-current-page]:underline has-[.is-current-page]:underline group-[.child-active]:underline">Music</div>
1200              
1201
1202
1203<div class="w-1em h-1em absolute right-0 mr-lg-sm">
1204  <span class="transition-transform inline-block" :class="{ '-rotate-180': expanded }">
1205
1206
1207
1208  
1209  
1210  
1211  
1212      
1213          <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" class="icon icon--arrow w-full h-full icon--arrow--chevron" fill="currentColor">
1214            <path d="M233.4 406.6c12.5 12.5 32.8 12.5 45.3 0l192-192c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L256 338.7 86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l192 192z"/>
1215          </svg>
1216        
1217    
1218</span>
1219</div>
1220            </button>
1221            <div class="nav-drawer__submenu overflow-hidden pb-sm-xs px-lg-sm" x-show="expanded" x-collapse>
1222              
1223              
1224                
1225                
1226                  
1227                
1228                  
1229                
1230                  
1231                
1232                  
1233                
1234                  
1235                
1236              
1237
1238              
1239
1240              
1241                              
1242                  
1243                    
1244
1245
1246
1247<a class="nav-drawer__child-link nav-drawer__child-link--view-all text_navigation_sm w-full min-h-min-click-space flex items-center gap-sm-xs py-0.8em justify-start text-left font_bolder" href="/collections/music">
1248  <span>View All Music</span>
1249  <div class="w-1em h-1em -rotate-90 shrink-0" aria-hidden>
1250    
1251
1252
1253
1254  
1255  
1256  
1257  
1258      
1259          <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" class="icon icon--arrow w-full h-full icon--arrow--chevron" fill="currentColor">
1260            <path d="M233.4 406.6c12.5 12.5 32.8 12.5 45.3 0l192-192c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L256 338.7 86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l192 192z"/>
1261          </svg>
1262        
1263    
1264
1265  </div>
1266</a>
1267                  
1268
1269                  
1270
1271
1272
1273
1274  
1275  <li class="flex items-center w-full relative">
1276    <a class="nav-drawer__child-link text_navigation_sm w-full min-h-min-click-space flex items-center py-0.8em justify-start text-left active:underline aria-expanded:underline has-[aria-current]:underline aria-[current]:underline decoration-[var(--border-default-width)] underline-offset-[4px]"  href="/collections/vinyl" @click="open = false">
1277      VINYL
1278    </a>
1279  </li>
1280
1281
1282
1283                  
1284                              
1285                  
1286
1287                  
1288
1289
1290
1291
1292  
1293  <li class="flex items-center w-full relative">
1294    <a class="nav-drawer__child-link text_navigation_sm w-full min-h-min-click-space flex items-center py-0.8em justify-start text-left active:underline aria-expanded:underline has-[aria-current]:underline aria-[current]:underline decoration-[var(--border-default-width)] underline-offset-[4px]"  href="/collections/cd" @click="open = false">
1295      CDs
1296    </a>
1297  </li>
1298
1299
1300
1301                  
1302                              
1303                  
1304
1305                  
1306
1307
1308
1309
1310  
1311  <li class="flex items-center w-full relative">
1312    <a class="nav-drawer__child-link text_navigation_sm w-full min-h-min-click-space flex items-center py-0.8em justify-start text-left active:underline aria-expanded:underline has-[aria-current]:underline aria-[current]:underline decoration-[var(--border-default-width)] underline-offset-[4px]"  href="/collections/cassettes" @click="open = false">
1313      Cassettes
1314    </a>
1315  </li>
1316
1317
1318
1319                  
1320                              
1321                  
1322
1323                  
1324
1325
1326
1327
1328  
1329  <li class="flex items-center w-full relative">
1330    <a class="nav-drawer__child-link text_navigation_sm w-full min-h-min-click-space flex items-center py-0.8em justify-start text-left active:underline aria-expanded:underline has-[aria-current]:underline aria-[current]:underline decoration-[var(--border-default-width)] underline-offset-[4px]"  href="/collections/retail-variants" @click="open = false">
1331      Retail Variants
1332    </a>
1333  </li>
1334
1335
1336
1337                  
1338                              
1339                  
1340
1341                  
1342
1343
1344
1345
1346  
1347  <li class="flex items-center w-full relative">
1348    <a class="nav-drawer__child-link text_navigation_sm w-full min-h-min-click-s
1348pace flex items-center py-0.8em justify-start text-left active:underline aria-expanded:underline has-[aria-current]:underline aria-[current]:underline decoration-[var(--border-default-width)] underline-offset-[4px]"  href="/collections/music" @click="open = false">
1349      All Music 
1350    </a>
1351  </li>
1352
1353
1354
1355                  
1356                
1357               
1358
1359              
1360              
1361            </div>
1362          </div>
1363        
1364        
1365
1366<div class="nav-drawer__divider c-border-content-subtle border-b-none"></div>
1367      
1368
1369        
1370
1371        
1372
1373        
1374
1375        
1376
1377        
1378          
1379          <li class="nav-drawer__tier-1__item px-lg-sm flex items-center w-full relative c-text-content-base">
1380            <a class="text_navigation_lg w-full min-h-min-click-space flex items-center grow py-0.35em pr-sm-lg justify-start text-left active:underline aria-expanded:underline has-[aria-current]:underline aria-[current]:underline decoration-[var(--border-default-width)] underline-offset-[4px] group-[.is-current-page]:underline has-[.is-current-page]:underline group-[.child-active]:underline"  href="/collections/merch">Merch</a>
1381          </li>
1382        
1383        
1384
1385<div class="nav-drawer__divider c-border-content-subtle border-b-none"></div>
1386      
1387
1388        
1389
1390        
1391
1392        
1393
1394        
1395
1396        
1397          
1398          <div x-data="{ expanded: false }">
1399            
1400            <button
1401              @click="expanded = !expanded"
1402              :aria-expanded="expanded"
1403              class="nav-drawer__tier-1__item px-lg-sm flex items-center w-full relative"
1404              :class="expanded ? ' group child-active c-text-content-base' : 'c-text-content-base' "
1405              
1406            >
1407              <div class="text_navigation_lg w-full min-h-min-click-space flex items-center grow py-0.35em pr-sm-lg justify-start text-left active:underline aria-expanded:underline has-[aria-current]:underline aria-[current]:underline decoration-[var(--border-default-width)] underline-offset-[4px] group-[.is-current-page]:underline has-[.is-current-page]:underline group-[.child-active]:underline">Shop By Album </div>
1408              
1409
1410
1411<div class="w-1em h-1em absolute right-0 mr-lg-sm">
1412  <span class="transition-transform inline-block" :class="{ '-rotate-180': expanded }">
1413
1414
1415
1416  
1417  
1418  
1419  
1420      
1421          <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" class="icon icon--arrow w-full h-full icon--arrow--chevron" fill="currentColor">
1422            <path d="M233.4 406.6c12.5 12.5 32.8 12.5 45.3 0l192-192c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L256 338.7 86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l192 192z"/>
1423          </svg>
1424        
1425    
1426</span>
1427</div>
1428            </button>
1429            <div class="nav-drawer__submenu overflow-hidden pb-sm-xs px-lg-sm" x-show="expanded" x-collapse>
1430              
1431              
1432                
1433                
1434                  
1435                
1436                  
1437                
1438                  
1439                
1440                  
1441                
1442                  
1443                
1444              
1445
1446              
1447
1448              
1449                              
1450                  
1451                    
1452
1453
1454
1455<a class="nav-drawer__child-link nav-drawer__child-link--view-all text_navigation_sm w-full min-h-min-click-space flex items-center gap-sm-xs py-0.8em justify-start text-left font_bolder" href="/collections/all">
1456  <span>View All Shop By Album </span>
1457  <div class="w-1em h-1em -rotate-90 shrink-0" aria-hidden>
1458    
1459
1460
1461
1462  
1463  
1464  
1465  
1466      
1467          <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" class="icon icon--arrow w-full h-full icon--arrow--chevron" fill="currentColor">
1468            <path d="M233.4 406.6c12.5 12.5 32.8 12.5 45.3 0l192-192c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L256 338.7 86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l192 192z"/>
1469          </svg>
1470        
1471    
1472
1473  </div>
1474</a>
1475                  
1476
1477                  
1478
1479
1480
1481
1482  
1483  <li class="flex items-center w-full relative">
1484    <a class="nav-drawer__child-link text_navigation_sm w-full min-h-min-click-space flex items-center py-0.8em justify-start text-left active:underline aria-expanded:underline has-[aria-current]:underline aria-[current]:underline decoration-[var(--border-default-width)] underline-offset-[4px]"  href="/collections/dinner-party" @click="open = false">
1485      Dinner Party 
1486    </a>
1487  </li>
1488
1489
1490
1491                  
1492                              
1493                  
1494
1495                  
1496
1497
1498
1499
1500  
1501  <li class="flex items-center w-full relative">
1502    <a class="nav-drawer__child-link text_navigation_sm w-full min-h-min-click-s
1502pace flex items-center py-0.8em justify-start text-left active:underline aria-expanded:underline has-[aria-current]:underline aria-[current]:underline decoration-[var(--border-default-width)] underline-offset-[4px]"  href="/collections/flicker" @click="open = false">
1503      Flicker 
1504    </a>
1505  </li>
1506
1507
1508
1509                  
1510                              
1511                  
1512
1513                  
1514
1515
1516
1517
1518  
1519  <li class="flex items-center w-full relative">
1520    <a class="nav-drawer__child-link text_navigation_sm w-full min-h-min-click-space flex items-center py-0.8em justify-start text-left active:underline aria-expanded:underline has-[aria-current]:underline aria-[current]:underline decoration-[var(--border-default-width)] underline-offset-[4px]"  href="/collections/heartbreak-weather" @click="open = false">
1521      Heartbreak Weather 
1522    </a>
1523  </li>
1524
1525
1526
1527                  
1528                              
1529                  
1530
1531                  
1532
1533
1534
1535
1536  
1537  <li class="flex items-center w-full relative">
1538    <a class="nav-drawer__child-link text_navigation_sm w-full min-h-min-click-space flex items-center py-0.8em justify-start text-left active:underline aria-expanded:underline has-[aria-current]:underline aria-[current]:underline decoration-[var(--border-default-width)] underline-offset-[4px]"  href="/collections/the-show" @click="open = false">
1539      The Show 
1540    </a>
1541  </li>
1542
1543
1544
1545                  
1546                              
1547                  
1548
1549                  
1550
1551
1552
1553
1554  
1555  <li class="flex items-center w-full relative">
1556    <a class="nav-drawer__child-link text_navigation_sm w-full min-h-min-click-space flex items-center py-0.8em justify-start text-left active:underline aria-expanded:underline has-[aria-current]:underline aria-[current]:underline decoration-[var(--border-default-width)] underline-offset-[4px]"  href="/collections/the-show-live" @click="open = false">
1557      The Show: Live 
1558    </a>
1559  </li>
1560
1561
1562
1563                  
1564                
1565               
1566
1567              
1568              
1569            </div>
1570          </div>
1571        
1572        
1573
1574<div class="nav-drawer__divider c-border-content-subtle border-b-none"></div>
1575      
1576
1577        
1578
1579        
1580
1581        
1582
1583        
1584
1585        
1586          
1587          <li class="nav-drawer__tier-1__item px-lg-sm flex items-center w-full relative c-text-content-base">
1588            <a class="text_navigation_lg w-full min-h-min-click-space flex items-center grow py-0.35em pr-sm-lg justify-start text-left active:underline aria-expanded:underline has-[aria-current]:underline aria-[current]:underline decoration-[var(--border-default-width)] underline-offset-[4px] group-[.is-current-page]:underline has-[.is-current-page]:underline group-[.child-active]:underline"  href="/pages/tour">Tour</a>
1589          </li>
1590        
1591        
1592
1593<div class="nav-drawer__divider c-border-content-subtle border-b-none"></div>
1594      
1595
1596        
1597
1598        
1599
1600        
1601
1602        
1603
1604        
1605          
1606          <li class="nav-drawer__tier-1__item px-lg-sm flex items-center w-full relative c-text-content-base">
1607            <a class="text_navigation_lg w-full min-h-min-click-space flex items-center grow py-0.35em pr-sm-lg justify-start text-left active:underline aria-expanded:underline has-[aria-current]:underline aria-[current]:underline decoration-[var(--border-default-width)] underline-offset-[4px] group-[.is-current-page]:underline has-[.is-current-page]:underline group-[.child-active]:underline"  href="/pages/newsletter">Sign Up </a>
1608          </li>
1609        
1610        
1611
1612<div class="nav-drawer__divider c-border-content-subtle border-b-none"></div>
1613      
1614    </ul>
1615
1616    
1617      
1618      
1619        
1620        
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636<ul class="my-sm-sm">
1637  
1638    
1639    <li class="" >
1640      
1641      
1642      
1643      <a href="https://shopify.com/23650831/account/orders?locale=en&buyer_flags=eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJuaWFsbC1ob3Jhbi5teXNob3BpZnkuY29tIiwiZmxhZ3MiOltdLCJleHAiOjE3OTA4ODg5MTcsIm5iZiI6MTc5MDI4NDExN30.UzEfaxIXrBeuraMQ4tL_Coy5DjJOhywAYVV80GMCpMQ&region_country=US" class="text_navigation_sm w-full min-h-min-click-space flex items-center grow py-0.35em pr-sm-lg justify-start text-left active:underline aria-expanded:underline has-[aria-current]:underline aria-[current]:underline decoration-[var(--border-default-width)] underline-offset-[4px] group-[.is-current-page]:underline has-[.is-current-page]:underline group-[.child-active]:un
1643derline px-lg-sm c-text-content-base">
1644        Login
1645      </a>
1646    </li>
1647
1648    
1649  
1650</ul>
1651
1652      
1653    
1654  </div>
1655</div>
1656        
1657        
1658    
1659      
1660          
1661
1662<div class="header__column header__column--1 header__column--logo flex col-span-3 justify-center items-center" >
1663  <div x-ref="logoContainer" class="logo-container" >
1664    
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680  
1681
1682  
1683  
1684
1685  
1686  
1687  
1688
1689  
1690  
1691
1692  
1693  
1694
1695  
1696
1697  
1698
1699  <a class="logo-cntr block" href="/" style=" --logo-width: 9.375rem; " aria-label="Niall Horan Official Store Home">
1700    
1701      
1702
1703            
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716  <picture class="image__adaptive">
1717    
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733    
1734  
1735<source data-src="//niallhoran.com/cdn/shop/files/rty84-nbk90-aqwyh.png?v=1772637081&amp;width=625" alt="Store Logo" srcset="//niallhoran.com/cdn/shop/files/rty84-nbk90-aqwyh.png?v=1772637081&amp;width=100 100w, //niallhoran.com/cdn/shop/files/rty84-nbk90-aqwyh.png?v=1772637081&amp;width=300 300w, //niallhoran.com/cdn/shop/files/rty84-nbk90-aqwyh.png?v=1772637081&amp;width=400 400w, //niallhoran.com/cdn/shop/files/rty84-nbk90-aqwyh.png?v=1772637081&amp;width=500 500w, //niallhoran.com/cdn/shop/files/rty84-nbk90-aqwyh.png?v=1772637081&amp;width=600 600w" width="625" height="142" loading="eager" sizes="(min-width: 768px) 150px, 150px" media="(min-width: 760px)">
1736
1737
1738
1739
1740    
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756  
1757<img aria-hidden="true" src="//niallhoran.com/cdn/shop/files/rty84-nbk90-aqwyh.png?v=1772637081&amp;width=509" alt="Store Logo" srcset="//niallhoran.com/cdn/shop/files/rty84-nbk90-aqwyh.png?v=1772637081&amp;width=100 100w, //niallhoran.com/cdn/shop/files/rty84-nbk90-aqwyh.png?v=1772637081&amp;width=300 300w, //niallhoran.com/cdn/shop/files/rty84-nbk90-aqwyh.png?v=1772637081&amp;width=400 400w, //niallhoran.com/cdn/shop/files/rty84-nbk90-aqwyh.png?v=1772637081&amp;width=500 500w" width="509" height="116" loading="eager" sizes="(min-width: 768px) 150px, 150px" class="w-full object-cover image__responsive">
1758
1759
1760
1761
1762  </picture>
1763
1764
1765
1766    
1767  </a>
1768  </div>
1769</div>
1770        
1771    
1772      
1773          
1774
1775<div class="header__column header__column--2 header__column--actions flex col-span-3 justify-end items-center"  >
1776  <div class="actions-container flex flex-row flex-wrap gap-y-sm-sm gap-sm-xxs">
1777    
1778
1779
1780    
1781    
1782    
1783    
1784    
1785    <div class="flex fill-current items-center justify-center min-w-min-click-space min-h-min-click-space">
1786      <button class="btn-search text_navigation_md no-underline" 
1787      x-on:click="searchBarOpen = true;$nextTick(() => { $store.headerGroupManager.updateMeasurements(); setTimeout(() => $refs.searchInput.focus(), 10) })" type="button" aria-label="Open Search Bar" x-ref="searchToggle" :aria-expanded="searchBarOpen" aria-controls="header-search-dropdown"
1788     >
1789        
1790
1791
1792
1793  
1794  
1795  
1796      <svg xmlns="http://www.w3.org/2000/svg" viewBox="-64 0 576 512" class="icon icon--search umg-icon" fill="currentColor">
1797        <path d="M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376c-34.4 25.2-76.8 40-122.7 40C93.1 416 0 322.9 0 208S93.1 0 208 0S416 93.1 416 208zM208 352c79.5 0 144-64.5 144-144s-64.5-144-144-144S64 128.5 64 208s64.5 144 144 144z"/>
1798      </svg>
1799    
1800
1801      </button>
1802    </div>
1803
1804  
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832   
1833  <cart-drawer-toggle-button class="header__action header__action--cart-trigger cart-toggle cursor-pointer text-center relative text_navigation_md no-underline" tabindex="-1">
1834    
1835  <a href="/cart" class="flex items-center flex h-full fill-current items-center justify-center min-w-min-click-space min-h-min-click-space">
1836    
1837      <div class="cart-toggle__innerwrapper cart-toggle__innerwrapper--icon items-center">
1838        
1839
1840
1841
1842  
1843  
1844  
1845      
1846          
1847          <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512" class="icon icon--cart umg-icon" fill="currentColor">
1848            <path d="M24 0C10.7 0 0 10.7 0 24S10.7 48 24 48H76.1l60.3 316.5c2.2 11.3 12.1 19.5 23.6 19.5H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H179.9l-9.1-48h317c14.3 0 26.9-9.5 30.8-23.3l54-192C578.3 52.3 563 32 541.8 32H122l-2.4-12.5C117.4 8.2 107.5 0 96 0H24zM176 512c26.5 0 48-21.5 48-48s-21.5-48-48-48s-48 21.5-48 48s21.5 48 48 48zm336-48c0-26.5-21.5-48-48-48s-48 21.5-48 48s21.5 48 48 48s48-21.5 48-48z"/>
1849          </svg>
1850      
1851    
1852
1853      </div>
1854      <span class="sr-only">TODO</span>
1855    
1856    <div id="header-cart-count" class="cart-count grid place-items-center min-w-[22px] text_body_xs min-h-[22px] absolute place-content-center rounded-full -top-[0.3rem] -right-1 c-bg-tertiary c-text-tertiary-on empty:hidden"></div>
1857    
1858  </a>
1859
1860  </cart-drawer-toggle-button>
1861
1862    
1863
1864  </div>
1865</div>
1866          
1867        
1868    
1869  </div>
1870  
1871  
1872    
1873
1874
1875
1876
1877  
1878  
1879
1880  
1881  
1882  
1883
1884  
1885  
1886
1887  
1888  
1889
1890  
1891
1892  
1893
1894  <div class="header__search-wrapper section__wrapper w-full hidden border-x-0 border-t-0 z-10 border-none c-border-default-color c-bg-gray-100 c-text-gray-700" 
1895    x-show="searchBarOpen" @click.away="searchBarOpen = false; $nextTick(() => { $store.headerGroupManager.updateMeasurements() })" :class="{ '' : searchBarOpen , 'hidden' : !searchBarOpen }"
1896    @keydown.escape="searchBarOpen = false; $nextTick(() => { $store.headerGroupManager.updateMeasurements(); setTimeout(() => $refs.searchToggle.focus({ focusVisible: true }), 10) })"
1897    id="header-search-dropdown"
1898  >
1899    <div class="header__search-container flex md:max-w-[70ch] lg:max-w-[90ch] mx-auto justify-center section-spacing mx-auto w-full relative z-10 py-container-sm px-lg-sm max-w-full md:px-container-sm md:max-w-full">
1900      
1901      
1902
1903
1904
1905
1906    <form class="predictive-search__form flex-col items-center w-full" action="/search" method="get" role="search" aria-label="Sitewide">
1907      <div class="predictive-search__input-wrapper relative w-full">
1908        <input class="predictive-search__input appearance-none w-full text_body_md c-text-content-base c-bg-background shadow-sm rounded-none border-default-width c-border-gray-900 py-sm-xs px-sm-xs header__search-input" id="search-sections--28662239560050__header" type="search" value="" name="q" placeholder="Search"aria-label="Search" autocorrect="off" autocomplete="off" autocapitalize="off" spellcheck="false" x-ref="searchInput" >
1909        <button class="predictive-search__input-icon box-content h-full border-default-size flex absolute z-10 top-1/2 right-0 items-center justify-center transform -translate-y-1/2 border-r-default-width border-transparent c-text-gray-900 w-4 px-sm-xs" type="submit" aria-label="Search">
1910          
1911
1912
1913
1914  
1915  
1916  
1917      <svg xmlns="http://www.w3.org/2000/svg" viewBox="-64 0 576 512" class="icon icon--search umg-icon" fill="currentColor">
1918        <path d="M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376c-34.4 25.2-76.8 40-122.7 40C93.1 416 0 322.9 0 208S93.1 0 208 0S416 93.1 416 208zM208 352c79.5 0 144-64.5 144-144s-64.5-144-144-144S64 128.5 64 208s64.5 144 144 144z"/>
1919      </svg>
1920    
1921
1922        </button>
1923        
1924      </div>
1925    </form>
1926
1927    </div>
1928  </div>
1929
1930  
1931
1932  
1933
1934  
1935
1936
1937
1938  
1939  
1940
1941  
1942  
1943
1944  
1945    <div class="section__bg absolute col-start-1 row-start-1 col-span-1 row-span-1 z-0 h-full w-full select-none" aria-hidden="true">
1946      
1947      
1948
1949      
1950        
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966  
1967<img src="//niallhoran.com/cdn/shop/files/envelope4_bkg.jpg?v=1772636708&amp;width=2400" srcset="//niallhoran.com/cdn/shop/files/envelope4_bkg.jpg?v=1772636708&amp;width=100 100w, //niallhoran.com/cdn/shop/files/envelope4_bkg.jpg?v=1772636708&amp;width=300 300w, //niallhoran.com/cdn/shop/files/envelope4_bkg.jpg?v=1772636708&amp;width=400 400w, //niallhoran.com/cdn/shop/files/envelope4_bkg.jpg?v=1772636708&amp;width=500 500w, //niallhoran.com/cdn/shop/files/envelope4_bkg.jpg?v=1772636708&amp;width=600 600w, //niallhoran.com/cdn/shop/files/envelope4_bkg.jpg?v=1772636708&amp;width=800 800w, //niallhoran.com/cdn/shop/files/envelope4_bkg.jpg?v=1772636708&amp;width=1200 1200w, //niallhoran.com/cdn/shop/files/envelope4_bkg.jpg?v=1772636708&amp;width=1600 1600w, //niallhoran.com/cdn/shop/files/envelope4_bkg.jpg?v=1772636708&amp;width=2000 2000w" width="2400" height="1600" loading="eager" sizes="100vw" class="w-full h-full object-cover image__responsive">
1968
1969
1970
1971
1972      
1973    </div>
1974  
1975
1976
1977
1978</div>
1979
1980</header><header id="shopify-section-sections--28662239560050__header-md" class="shopify-section shopify-section-group-header-group site-header site-header--md hidden md:grid">
1981<style data-shopify>
1982    body {
1983      --header-group-header-position-md: sticky;
1984    }
1985  </style>
1986<style>
1987	#shopify-section-sections--28662239560050__header-md {
1988		position: sticky;top: 0;z-index: 999997;
1989    width: 100%;
1990	}
1991	</style>
1992  
1992<script>document.getElementById('shopify-section-sections--28662239560050__header-md').classList.add('umg-sticky', 'transition-[transform]')</script>
1992
1993
1994
1995
1996
1997
1998
1999<div id="header-md-wrapper--28662239560050" class="header__wrapper header__wrapper--md scheme-scheme1 z-[10] mx-auto h-auto w-full section__wrapper scheme-scheme1 grid columns-1 rows-1 place-items-center relative z-0 overflow-visible c-bg-surface c-text-on-surface mb-none border-none c-border-default-color border-x-0 border-t-0" x-data="{ hamburgerMenuOpen: false, searchBarOpen: false, dropDownMenuOpen: null }" data-position="dynamic_sticky_header" style=" --icon-width: 1.375rem; --icon-height: 1.375rem; ">
2000  <div id="header-md-container--28662239560050" class="header__container header__container--md grid gap-y-sm-2xs gap-x-sm-xs grid-cols-8 section-spacing mx-auto w-full relative z-10 py-container-xs px-lg-xs max-w-full md:px-container-xs md:max-w-full mx-auto text-center" >
2001    
2002      
2003          
2004
2005<div class="header__column header__column--0 header__column--logo flex col-span-1 justify-start items-center" >
2006  <div x-ref="logoContainer" class="logo-container" >
2007    
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023  
2024
2025  
2026  
2027
2028  
2029  
2030  
2031
2032  
2033  
2034
2035  
2036  
2037
2038  
2039
2040  
2041
2042  <a class="logo-cntr block" href="/" style=" --logo-width: 9.375rem; " aria-label="Niall Horan Official Store Home">
2043    
2044      
2045
2046            
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059  <picture class="image__adaptive">
2060    
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076    
2077  
2078<source data-src="//niallhoran.com/cdn/shop/files/rty84-nbk90-aqwyh.png?v=1772637081&amp;width=625" alt="Store Logo" srcset="//niallhoran.com/cdn/shop/files/rty84-nbk90-aqwyh.png?v=1772637081&amp;width=100 100w, //niallhoran.com/cdn/shop/files/rty84-nbk90-aqwyh.png?v=1772637081&amp;width=300 300w, //niallhoran.com/cdn/shop/files/rty84-nbk90-aqwyh.png?v=1772637081&amp;width=400 400w, //niallhoran.com/cdn/shop/files/rty84-nbk90-aqwyh.png?v=1772637081&amp;width=500 500w, //niallhoran.com/cdn/shop/files/rty84-nbk90-aqwyh.png?v=1772637081&amp;width=600 600w" width="625" height="142" loading="eager" sizes="(min-width: 768px) 150px, 150px" media="(min-width: 760px)">
2079
2080
2081
2082
2083    
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099  
2100<img aria-hidden="true" src="//niallhoran.com/cdn/shop/files/rty84-nbk90-aqwyh.png?v=1772637081&amp;width=509" alt="Store Logo" srcset="//niallhoran.com/cdn/shop/files/rty84-nbk90-aqwyh.png?v=1772637081&amp;width=100 100w, //niallhoran.com/cdn/shop/files/rty84-nbk90-aqwyh.png?v=1772637081&amp;width=300 300w, //niallhoran.com/cdn/shop/files/rty84-nbk90-aqwyh.png?v=1772637081&amp;width=400 400w, //niallhoran.com/cdn/shop/files/rty84-nbk90-aqwyh.png?v=1772637081&amp;width=500 500w" width="509" height="116" loading="eager" sizes="(min-width: 768px) 150px, 150px" class="w-full object-cover image__responsive">
2101
2102
2103
2104
2105  </picture>
2106
2107
2108
2109    
2110  </a>
2111  </div>
2112</div>
2113        
2114    
2115      
2116          
2117
2118<div class="mega-menu flex items-center col-span-5" >
2119  
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140<div class="mega-menu w-full overscroll-contain"
2141  x-data="{
2142    activeMenu: null,
2143    isOpen: false,
2144    close() {
2145      this.isOpen = false;
2146      this.activeMenu = null;
2147    },
2148    handleKeydown(e) {
2149      if (e.key === 'Escape') {
2150        this.close()
2151      }
2152    }
2153  }"
2154  @keydown="handleKeydown($event)">
2155  <nav class="mega-menu__nav" aria-label="Header main menu">
2156    <ul class="mega-menu__primary-list flex items-center w-full flex-wrap gap-x-lg-sm text-left justify-start" role="menubar">
2157      
2158        
2159
2160        
2161        
2162        
2163
2164        
2165        
2166
2167        <li class="mega-menu__primary-item grow-0 "
2168          x-data="{ id: 'music' }"
2169          role="none"
2170          
2171            @click="if(activeMenu == id) { close(); } else { close(); $nextTick(() => { activeMenu = id; isOpen = true; }); }"
2172          
2173        >
2174          <button
2175            
2176            
2177            :id="'button-' + id"
2178            class="mega-menu__primary-link text_navigation_lg flex justify-center items-center gap-sm-xs py-lg-2xs hover:c-text-secondary mega-menu__primary-link--has-submenu no-underline hover:no-underline active:no-underline group-[.is-current-page]:no-underline aria-expanded:no-underline has-[.is-current-page]:no-underline has-[aria-current]:no-underline aria-[current]:no-underline group-[.child-active]:no-underline"
2179            
2180              :class="activeMenu === id ? 'mega-menu__primary-link--active c-text-secondary' : ''"
2181              :aria-expanded="activeMenu === id ? 'true' : 'false'"
2182              aria-haspopup="true"
2183              :aria-controls="'dropdown-' + id"
2184              @keydown.arrow-down.prevent="$refs.submenu?.querySelector('[role=menuitem]')?.focus()"
2185              @keydown.arrow-up.prevent="$refs.submenu?.querySelector('[role=menuitem]:last-child')?.focus()"
2186            
2187            role="menuitem"
2188          >
2189            Music
2190            
2191              <span class="mega-menu__primary-link-icon w-1em h-1em" :class="activeMenu === id ? 'rotate-180' : ''" aria-hidden="true">
2192                
2193
2194
2195
2196  
2197  
2198  
2199  
2200      
2201          <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" class="icon icon--arrow w-full h-full icon--arrow--chevron" fill="currentColor">
2202            <path d="M233.4 406.6c12.5 12.5 32.8 12.5 45.3 0l192-192c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L256 338.7 86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l192 192z"/>
2203          </svg>
2204        
2205    
2206
2207              </span>
2208            
2209          </button>
2210
2211          
2212            
2213            
2214              
2215              
2216                
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242<div
2243  class="mega-menu__dropdown absolute shadow-lg min-w-[240px] max-w-[300px] z-100 max-h-[calc(100vh-var(--header-group-height)-44px)] overflow-y-auto text-left c-bg-surface c-text-on-surface -mx-lg-xs"
2244  x-cloak
2245  x-show="activeMenu === id"
2246  x-trap.noscroll="activeMenu === id"
2247  :id="'dropdown-' + id"
2248  :aria-labelledby="'button-' + id"
2249  x-transition:enter="transition ease-out duration-200"
2250  x-transition:enter-start="opacity-0 -translate-y-1"
2251  x-transition:enter-end="opacity-100 translate-y-0"
2252  x-transition:leave="transition ease-in duration-150"
2253  x-transition:leave-start="opacity-100 translate-y-0"
2254  x-transition:leave-end="opacity-0 -translate-y-1"
2255  @keydown.escape.prevent.stop="close()"
2256  @click.away="close()"
2257>
2258  <div class="mega-menu__dropdown-container mx-auto w-full p-lg-xs">
2259    <ul
2260      class="dropdown__stack flex flex-col items-start gap-sm-sm"
2261      role="menu"
2262    >
2263      
2264        
2265        
2266
2267        
2268        
2269
2270        
2271        
2272
2273        
2274        
2275
2276        
2277        
2278
2279        
2280        <li class="dropdown__child-item flex flex-col justify-center items-start gap-sm-sm" role="none">
2281          <a
2282            href="/collections/vinyl"
2283            class="dropdown__child-link text_navigation_sm hover:c-text-secondary no-underline hover:no-underline active:no-underline group-[.is-current-page]:no-underline aria-expanded:no-underline has-[.is-current-page]:no-underline has-[aria-current]:no-underline aria-[current]:no-underline"
2284            role="menuitem"
2285            
2286            :tabindex="activeMenu === id ? '0' : '-1'"
2287            @keydown.enter.prevent="window.location.href='/collections/vinyl'"
2288            @keydown.space.prevent="window.location.href='/collections/vinyl'"
2289          >
2290            VINYL
2291          </a>
2292          
2293        </li>
2294      
2295        
2296        
2297
2298        
2299        
2300
2301        
2302        
2303
2304        
2305        
2306
2307        
2308        
2309
2310        
2311        <li class="dropdown__child-item flex flex-col justify-center items-start gap-sm-sm" role="none">
2312          <a
2313            href="/collections/cd"
2314            class="dropdown__child-link text_navigation_sm hover:c-text-secondary no-underline hover:no-underline active:no-underline group-[.is-current-page]:no-underline aria-expanded:no-underline has-[.is-current-page]:no-underline has-[aria-current]:no-underline aria-[current]:no-underline"
2315            role="menuitem"
2316            
2317            :tabindex="activeMenu === id ? '0' : '-1'"
2318            @keydown.enter.prevent="window.location.href='/collections/cd'"
2319            @keydown.space.prevent="window.location.href='/collections/cd'"
2320          >
2321            CDs
2322          </a>
2323          
2324        </li>
2325      
2326        
2327        
2328
2329        
2330        
2331
2332        
2333        
2334
2335        
2336        
2337
2338        
2339        
2340
2341        
2342        <li class="dropdown__child-item flex flex-col justify-center items-start gap-sm-sm" role="none">
2343          <a
2344            href="/collections/cassettes"
2345            class="dropdown__child-link text_navigation_sm hover:c-text-secondary no-underline hover:no-underline active:no-underline group-[.is-current-page]:no-underline aria-expanded:no-underline has-[.is-current-page]:no-underline has-[aria-current]:no-underline aria-[current]:no-underline"
2346            role="menuitem"
2347            
2348            :tabindex="activeMenu === id ? '0' : '-1'"
2349            @keydown.enter.prevent="window.location.href='/collections/cassettes'"
2350            @keydown.space.prevent="window.location.href='/collections/cassettes'"
2351          >
2352            Cassettes
2353          </a>
2354          
2355        </li>
2356      
2357        
2358        
2359
2360        
2361        
2362
2363        
2364        
2365
2366        
2367        
2368
2369        
2370        
2371
2372        
2373        <li class="dropdown__child-item flex flex-col justify-center items-start gap-sm-sm" role="none">
2374          <a
2375            href="/collections/retail-variants"
2376            class="dropdown__child-link text_navigation_sm hover:c-text-secondary no-u
2376nderline hover:no-underline active:no-underline group-[.is-current-page]:no-underline aria-expanded:no-underline has-[.is-current-page]:no-underline has-[aria-current]:no-underline aria-[current]:no-underline"
2377            role="menuitem"
2378            
2379            :tabindex="activeMenu === id ? '0' : '-1'"
2380            @keydown.enter.prevent="window.location.href='/collections/retail-variants'"
2381            @keydown.space.prevent="window.location.href='/collections/retail-variants'"
2382          >
2383            Retail Variants
2384          </a>
2385          
2386        </li>
2387      
2388        
2389        
2390
2391        
2392        
2393
2394        
2395        
2396
2397        
2398        
2399
2400        
2401        
2402
2403        
2404        <li class="dropdown__child-item flex flex-col justify-center items-start gap-sm-sm" role="none">
2405          <a
2406            href="/collections/music"
2407            class="dropdown__child-link text_navigation_sm hover:c-text-secondary no-underline hover:no-underline active:no-underline group-[.is-current-page]:no-underline aria-expanded:no-underline has-[.is-current-page]:no-underline has-[aria-current]:no-underline aria-[current]:no-underline"
2408            role="menuitem"
2409            
2410            :tabindex="activeMenu === id ? '0' : '-1'"
2411            @keydown.enter.prevent="window.location.href='/collections/music'"
2412            @keydown.space.prevent="window.location.href='/collections/music'"
2413          >
2414            All Music 
2415          </a>
2416          
2417        </li>
2418      
2419    </ul>
2420  </div>
2421</div>
2422              
2423            
2424
2425            
2426          
2427        </li>
2428      
2429        
2430
2431        
2432        
2433        
2434
2435        
2436        
2437
2438        <li class="mega-menu__primary-item grow-0 "
2439          x-data="{ id: 'merch' }"
2440          role="none"
2441          
2442        >
2443          <a
2444            
2445              href="/collections/merch"
2446            
2447            
2448            :id="'button-' + id"
2449            class="mega-menu__primary-link text_navigation_lg flex justify-center items-center gap-sm-xs py-lg-2xs hover:c-text-secondary no-underline hover:no-underline active:no-underline group-[.is-current-page]:no-underline aria-expanded:no-underline has-[.is-current-page]:no-underline has-[aria-current]:no-underline aria-[current]:no-underline"
2450            
2451            role="menuitem"
2452          >
2453            Merch
2454            
2455          </a>
2456
2457          
2458        </li>
2459      
2460        
2461
2462        
2463        
2464        
2465
2466        
2467        
2468
2469        <li class="mega-menu__primary-item grow-0 "
2470          x-data="{ id: 'shop-by-album' }"
2471          role="none"
2472          
2473            @click="if(activeMenu == id) { close(); } else { close(); $nextTick(() => { activeMenu = id; isOpen = true; }); }"
2474          
2475        >
2476          <button
2477            
2478            
2479            :id="'button-' + id"
2480            class="mega-menu__primary-link text_navigation_lg flex justify-center items-center gap-sm-xs py-lg-2xs hover:c-text-secondary mega-menu__primary-link--has-submenu no-underline hover:no-underline active:no-underline group-[.is-current-page]:no-underline aria-expanded:no-underline has-[.is-current-page]:no-underline has-[aria-current]:no-underline aria-[current]:no-underline group-[.child-active]:no-underline"
2481            
2482              :class="activeMenu === id ? 'mega-menu__primary-link--active c-text-secondary' : ''"
2483              :aria-expanded="activeMenu === id ? 'true' : 'false'"
2484              aria-haspopup="true"
2485              :aria-controls="'dropdown-' + id"
2486              @keydown.arrow-down.prevent="$refs.submenu?.querySelector('[role=menuitem]')?.focus()"
2487              @keydown.arrow-up.prevent="$refs.submenu?.querySelector('[role=menuitem]:last-child')?.focus()"
2488            
2489            role="menuitem"
2490          >
2491            Shop By Album 
2492            
2493              <span class="mega-menu__primary-link-icon w-1em h-1em" :class="activeMenu === id ? 'rotate-180' : ''" aria-hidden="true">
2494                
2495
2496
2497
2498  
2499  
2500  
2501  
2502      
2503          <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" class="icon icon--arrow w-full h-full icon--arrow--chevron" fill="currentColor">
2504            <path d="M233.4 406.6c12.5 12.5 32.8 12.5 45.3 0l192-192c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L256 338.7 86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l192 192z"/>
2505          </svg>
2506        
2507    
2508
2509              </span>
2510            
2511          </button>
2512
2513          
2514            
2515            
2516              
2517              
2518                
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544<div
2545  class="mega-menu__dropdown absolute shadow-lg min-w-[240px] max-w-[300px] z-100 max-h-[calc(100vh-var(--header-group-height)-44px)] overflow-y-auto text-left c-bg-surface c-text-on-surface -mx-lg-xs"
2546  x-cloak
2547  x-show="activeMenu === id"
2548  x-trap.noscroll="activeMenu === id"
2549  :id="'dropdown-' + id"
2550  :aria-labelledby="'button-' + id"
2551  x-transition:enter="transition ease-out duration-200"
2552  x-transition:enter-start="opacity-0 -translate-y-1"
2553  x-transition:enter-end="opacity-100 translate-y-0"
2554  x-transition:leave="transition ease-in duration-150"
2555  x-transition:leave-start="opacity-100 translate-y-0"
2556  x-transition:leave-end="opacity-0 -translate-y-1"
2557  @keydown.escape.prevent.stop="close()"
2558  @click.away="close()"
2559>
2560  <div class="mega-menu__dropdown-container mx-auto w-full p-lg-xs">
2561    <ul
2562      class="dropdown__stack flex flex-col items-start gap-sm-sm"
2563      role="menu"
2564    >
2565      
2566        
2567        
2568
2569        
2570        
2571
2572        
2573        
2574
2575        
2576        
2577
2578        
2579        
2580
2581        
2582        <li class="dropdown__child-item flex flex-col justify-center items-start gap-sm-sm" role="none">
2583          <a
2584            href="/collections/dinner-party"
2585            class="dropdown__child-link text_navigation_sm hover:c-text-secondary no-u
2585nderline hover:no-underline active:no-underline group-[.is-current-page]:no-underline aria-expanded:no-underline has-[.is-current-page]:no-underline has-[aria-current]:no-underline aria-[current]:no-underline"
2586            role="menuitem"
2587            
2588            :tabindex="activeMenu === id ? '0' : '-1'"
2589            @keydown.enter.prevent="window.location.href='/collections/dinner-party'"
2590            @keydown.space.prevent="window.location.href='/collections/dinner-party'"
2591          >
2592            Dinner Party 
2593          </a>
2594          
2595        </li>
2596      
2597        
2598        
2599
2600        
2601        
2602
2603        
2604        
2605
2606        
2607        
2608
2609        
2610        
2611
2612        
2613        <li class="dropdown__child-item flex flex-col justify-center items-start gap-sm-sm" role="none">
2614          <a
2615            href="/collections/flicker"
2616            class="dropdown__child-link text_navigation_sm hover:c-text-secondary no-underline hover:no-underline active:no-underline group-[.is-current-page]:no-underline aria-expanded:no-underline has-[.is-current-page]:no-underline has-[aria-current]:no-underline aria-[current]:no-underline"
2617            role="menuitem"
2618            
2619            :tabindex="activeMenu === id ? '0' : '-1'"
2620            @keydown.enter.prevent="window.location.href='/collections/flicker'"
2621            @keydown.space.prevent="window.location.href='/collections/flicker'"
2622          >
2623            Flicker 
2624          </a>
2625          
2626        </li>
2627      
2628        
2629        
2630
2631        
2632        
2633
2634        
2635        
2636
2637        
2638        
2639
2640        
2641        
2642
2643        
2644        <li class="dropdown__child-item flex flex-col justify-center items-start gap-sm-sm" role="none">
2645          <a
2646            href="/collections/heartbreak-weather"
2647            class="dropdown__child-link text_navigation_sm hover:c-text-secondary no-underline hover:no-underline active:no-underline group-[.is-current-page]:no-underline aria-expanded:no-underline has-[.is-current-page]:no-underline has-[aria-current]:no-underline aria-[current]:no-underline"
2648            role="menuitem"
2649            
2650            :tabindex="activeMenu === id ? '0' : '-1'"
2651            @keydown.enter.prevent="window.location.href='/collections/heartbreak-weather'"
2652            @keydown.space.prevent="window.location.href='/collections/heartbreak-weather'"
2653          >
2654            Heartbreak Weather 
2655          </a>
2656          
2657        </li>
2658      
2659        
2660        
2661
2662        
2663        
2664
2665        
2666        
2667
2668        
2669        
2670
2671        
2672        
2673
2674        
2675        <li class="dropdown__child-item flex flex-col justify-center items-start gap-sm-sm" role="none">
2676          <a
2677            href="/collections/the-show"
2678            class="dropdown__child-link text_navigation_sm hover:c-text-secondary no-underline hover:no-underline active:no-underline group-[.is-current-page]:no-underline aria-expanded:no-underline has-[.is-current-page]:no-underline has-[aria-current]:no-underline aria-[current]:no-underline"
2679            role="menuitem"
2680            
2681            :tabindex="activeMenu === id ? '0' : '-1'"
2682            @keydown.enter.prevent="window.location.href='/collections/the-show'"
2683            @keydown.space.prevent="window.location.href='/collections/the-show'"
2684          >
2685            The Show 
2686          </a>
2687          
2688        </li>
2689      
2690        
2691        
2692
2693        
2694        
2695
2696        
2697        
2698
2699        
2700        
2701
2702        
2703        
2704
2705        
2706        <li class="dropdown__child-item flex flex-col justify-center items-start gap-sm-sm" role="none">
2707          <a
2708            href="/collections/the-show-live"
2709            class="dropdown__child-link text_navigation_sm hover:c-text-secondary no-underline hover:no-underline active:no-underline group-[.is-current-page]:no-underline aria-expanded:no-underline has-[.is-current-page]:no-underline has-[aria-current]:no-underline aria-[current]:no-underline"
2710            role="menuitem"
2711            
2712            :tabindex="activeMenu === id ? '0' : '-1'"
2713            @keydown.enter.prevent="window.location.href='/collections/the-show-live'"
2714            @keydown.space.prevent="window.location.href='/collections/the-show-live'"
2715          >
2716            The Show: Live 
2717          </a>
2718          
2719        </li>
2720      
2721    </ul>
2722  </div>
2723</div>
2724              
2725            
2726
2727            
2728          
2729        </li>
2730      
2731        
2732
2733        
2734        
2735        
2736
2737        
2738        
2739
2740        <li class="mega-menu__primary-item grow-0 "
2741          x-data="{ id: 'tour' }"
2742          role="none"
2743          
2744        >
2745          <a
2746            
2747              href="/pages/tour"
2748            
2749            
2750            :id="'button-' + id"
2751            class="mega-menu__primary-link text_navigation_lg flex justify-center items-center gap-sm-xs py-lg-2xs hover:c-text-secondary no-u
2751nderline hover:no-underline active:no-underline group-[.is-current-page]:no-underline aria-expanded:no-underline has-[.is-current-page]:no-underline has-[aria-current]:no-underline aria-[current]:no-underline"
2752            
2753            role="menuitem"
2754          >
2755            Tour
2756            
2757          </a>
2758
2759          
2760        </li>
2761      
2762        
2763
2764        
2765        
2766        
2767
2768        
2769        
2770
2771        <li class="mega-menu__primary-item grow-0 "
2772          x-data="{ id: 'sign-up' }"
2773          role="none"
2774          
2775        >
2776          <a
2777            
2778              href="/pages/newsletter"
2779            
2780            
2781            :id="'button-' + id"
2782            class="mega-menu__primary-link text_navigation_lg flex justify-center items-center gap-sm-xs py-lg-2xs hover:c-text-secondary no-underline hover:no-underline active:no-underline group-[.is-current-page]:no-underline aria-expanded:no-underline has-[.is-current-page]:no-underline has-[aria-current]:no-underline aria-[current]:no-underline"
2783            
2784            role="menuitem"
2785          >
2786            Sign Up 
2787            
2788          </a>
2789
2790          
2791        </li>
2792      
2793    </ul>
2794  </nav>
2795
2796  <template x-teleport="#header-md-wrapper--28662239560050">
2797    <button
2798      class="umg-backdrop block w-screen h-screen absolute left-0 right-0 bottom-0 top-full z-1"
2799      x-cloak
2800      x-show="activeMenu"
2801      x-transition.opacity
2802      aria-hidden="true"
2803      tabindex="-1"
2804      @click="close()">
2805      <span class="sr-only">Close navigation menu</span>
2806    </button>
2807  </template>
2808</div>
2809</div>
2810
2811        
2812    
2813      
2814          
2815
2816<div class="header__column header__column--2 header__column--actions flex col-span-2 justify-end items-center"  >
2817  <div class="actions-container flex flex-row flex-wrap gap-y-sm-sm gap-sm-xxs">
2818    
2819
2820
2821    
2822    
2823    
2824    
2825    
2826    <div class="flex fill-current items-center justify-center min-w-min-click-space min-h-min-click-space">
2827      <button class="btn-search text_navigation_lg no-underline hover:underline hover:decoration-2 hover:underline-offset-[4px]" 
2828      x-on:click="searchBarOpen = true;$nextTick(() => { $store.headerGroupManager.updateMeasurements(); setTimeout(() => $refs.searchInput.focus(), 10) })" type="button" aria-label="Open Search Bar" x-ref="searchToggle" :aria-expanded="searchBarOpen" aria-controls="header-search-dropdown"
2829     >
2830        
2831
2832
2833
2834  
2835  
2836  
2837      <svg xmlns="http://www.w3.org/2000/svg" viewBox="-64 0 576 512" class="icon icon--search umg-icon" fill="currentColor">
2838        <path d="M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376c-34.4 25.2-76.8 40-122.7 40C93.1 416 0 322.9 0 208S93.1 0 208 0S416 93.1 416 208zM208 352c79.5 0 144-64.5 144-144s-64.5-144-144-144S64 128.5 64 208s64.5 144 144 144z"/>
2839      </svg>
2840    
2841
2842      </button>
2843    </div>
2844
2845  
2846
2847
2848
2849
2850
2851<a href="https://shopify.com/23650831/account/orders?locale=en&buyer_flags=eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJuaWFsbC1ob3Jhbi5teXNob3BpZnkuY29tIiwiZmxhZ3MiOltdLCJleHAiOjE3OTA4ODg5MTcsIm5iZiI6MTc5MDI4NDExN30.UzEfaxIXrBeuraMQ4tL_Coy5DjJOhywAYVV80GMCpMQ&region_country=US" class="header__action header__action--account-link text_navigation_lg no-underline hover:underline hover:decoration-2 hover:underline-offset-[4px] flex h-full fill-current items-center justify-center min-w-min-click-space min-h-min-click-space block overflow-hidden">
2852  
2853      <div class="icon-wrapper">
2854        
2855
2856
2857
2858  
2859  
2860  
2861      <svg xmlns="http://www.w3.org/2000/svg" viewBox="-64 0 576 512" class="icon icon--user umg-icon" fill="currentColor">
2862        <path d="M224 256c70.7 0 128-57.3 128-128S294.7 0 224 0S96 57.3 96 128s57.3 128 128 128zm-45.7 48C79.8 304 0 383.8 0 482.3C0 498.7 13.3 512 29.7 512H418.3c16.4 0 29.7-13.3 29.7-29.7C448 383.8 368.2 304 269.7 304H178.3z"/>
2863      </svg>
2864    
2865
2866        <span class="sr-only">Account</span>
2867      </div>
2868    
2869</a>
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896   
2897  <cart-drawer-toggle-button class="header__action header__action--cart-trigger cart-toggle cursor-pointer text-center relative text_navigation_lg no-underline hover:underline hover:decoration-2 hover:underline-offset-[4px]" tabindex="-1">
2898    
2899  <a href="/cart" class="flex items-center flex h-full fill-current items-center justify-center min-w-min-click-s
2899pace min-h-min-click-space">
2900    
2901      <div class="cart-toggle__innerwrapper cart-toggle__innerwrapper--icon items-center">
2902        
2903
2904
2905
2906  
2907  
2908  
2909      
2910          
2911          <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512" class="icon icon--cart umg-icon" fill="currentColor">
2912            <path d="M24 0C10.7 0 0 10.7 0 24S10.7 48 24 48H76.1l60.3 316.5c2.2 11.3 12.1 19.5 23.6 19.5H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H179.9l-9.1-48h317c14.3 0 26.9-9.5 30.8-23.3l54-192C578.3 52.3 563 32 541.8 32H122l-2.4-12.5C117.4 8.2 107.5 0 96 0H24zM176 512c26.5 0 48-21.5 48-48s-21.5-48-48-48s-48 21.5-48 48s21.5 48 48 48zm336-48c0-26.5-21.5-48-48-48s-48 21.5-48 48s21.5 48 48 48s48-21.5 48-48z"/>
2913          </svg>
2914      
2915    
2916
2917      </div>
2918      <span class="sr-only">TODO</span>
2919    
2920    <div id="header-cart-count_md" class="cart-count grid place-items-center min-w-[22px] text_body_xs min-h-[22px] absolute place-content-center rounded-full -top-[0.3rem] -right-1 c-bg-tertiary c-text-tertiary-on empty:hidden"></div>
2921    
2922  </a>
2923
2924  </cart-drawer-toggle-button>
2925
2926    
2927
2928  </div>
2929</div>
2930          
2931        
2932    
2933  </div>
2934  
2935  
2936    
2937
2938
2939
2940
2941  
2942  
2943
2944  
2945  
2946  
2947
2948  
2949  
2950
2951  
2952  
2953
2954  
2955
2956  
2957
2958  <div class="header__search-wrapper section__wrapper w-full hidden border-x-0 border-t-0 z-10 border-none c-border-default-color c-bg-gray-100 c-text-gray-700" 
2959    x-show="searchBarOpen" @click.away="searchBarOpen = false; $nextTick(() => { $store.headerGroupManager.updateMeasurements() })" :class="{ '' : searchBarOpen , 'hidden' : !searchBarOpen }"
2960    @keydown.escape="searchBarOpen = false; $nextTick(() => { $store.headerGroupManager.updateMeasurements(); setTimeout(() => $refs.searchToggle.focus({ focusVisible: true }), 10) })"
2961    id="header-search-dropdown"
2962  >
2963    <div class="header__search-container flex md:max-w-[70ch] lg:max-w-[90ch] mx-auto justify-center section-spacing mx-auto w-full relative z-10 py-container-sm px-lg-sm max-w-full md:px-container-sm md:max-w-full">
2964      
2965      
2966
2967
2968
2969
2970    <form class="predictive-search__form flex-col items-center w-full" action="/search" method="get" role="search" aria-label="Sitewide">
2971      <div class="predictive-search__input-wrapper relative w-full">
2972        <input class="predictive-search__input appearance-none w-full text_body_md c-text-content-base c-bg-background shadow-sm rounded-none border-default-width c-border-gray-900 py-sm-xs px-sm-xs header-md__search-input" id="search-sections--28662239560050__header-md" type="search" value="" name="q" placeholder="Search"aria-label="Search" autocorrect="off" autocomplete="off" autocapitalize="off" spellcheck="false" x-ref="searchInput" >
2973        <button class="predictive-search__input-icon box-content h-full border-default-size flex absolute z-10 top-1/2 right-0 items-center justify-center transform -translate-y-1/2 border-r-default-width border-transparent c-text-gray-900 w-4 px-sm-xs" type="submit" aria-label="Search">
2974          
2975
2976
2977
2978  
2979  
2980  
2981      <svg xmlns="http://www.w3.org/2000/svg" viewBox="-64 0 576 512" class="icon icon--search umg-icon" fill="currentColor">
2982        <path d="M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376c-34.4 25.2-76.8 40-122.7 40C93.1 416 0 322.9 0 208S93.1 0 208 0S416 93.1 416 208zM208 352c79.5 0 144-64.5 144-144s-64.5-144-144-144S64 128.5 64 208s64.5 144 144 144z"/>
2983      </svg>
2984    
2985
2986        </button>
2987        
2988      </div>
2989    </form>
2990
2991    </div>
2992  </div>
2993
2994  
2995
2996  
2997
2998  
2999
3000
3001
3002  
3003  
3004
3005  
3006  
3007
3008  
3009    <div class="section__bg absolute col-start-1 row-start-1 col-span-1 row-span-1 z-0 h-full w-full select-none" aria-hidden="true">
3010      
3011      
3012
3013      
3014        
3015
3016
3017
3018
3019
3020
3021
3022
3023
3024
3025
3026
3027
3028
3029
3030  
3031<img src="//niallhoran.com/cdn/shop/files/envelope4_bkg.jpg?v=1772636708&amp;width=2400" srcset="//niallhoran.com/cdn/shop/files/envelope4_bkg.jpg?v=1772636708&amp;width=100 100w, //niallhoran.com/cdn/shop/files/envelope4_bkg.jpg?v=1772636708&amp;width=300 300w, //niallhoran.com/cdn/shop/files/envelope4_bkg.jpg?v=1772636708&amp;width=400 400w, //niallhoran.com/cdn/shop/files/envelope4_bkg.jpg?v=1772636708&amp;width=500 500w, //niallhoran.com/cdn/shop/files/envelope4_bkg.jpg?v=1772636708&amp;width=600 600w, //niallhoran.com/cdn/shop/files/envelope4_bkg.jpg?v=1772636708&amp;width=800 800w, //niallhoran.com/cdn/shop/files/envelope4_bkg.jpg?v=1772636708&amp;width=1200 1200w, //niallhoran.com/cdn/shop/files/envelope4_bkg.jpg?v=1772636708&amp;width=1600 1600w, //niallhoran.com/cdn/shop/files/envelope4_bkg.jpg?v=1772636708&amp;width=2000 2000w" width="2400" height="1600" loading="eager" sizes="100vw" class="w-full h-full object-cover image__responsive">
3032
3033
3034
3035
3036      
3037    </div>
3038  
3039
3040
3041</div>
3042
3043</header><aside id="shopify-section-sections--28662239560050__global-messaging" class="shopify-section shopify-section-group-header-group global-messaging"></aside><aside id="shopify-section-sections--28662239560050__soft-redirect" class="shopify-section shopify-section-group-header-group section-soft-redirects">
3044 
3045  
3046
3047
3048  
3049  
3050
3051  
3052  
3053
3054  
3055  
3056
3057  
3058  
3059  
3060  
3061
3062  
3063  
3064
3065  
3066  
3067    
3068      
3069
3070
3071
3072
3073
3074
3075
3076
3077<div class="w-full soft-redirect soft-redirect--inline" x-data="{ softRedirectVisible: $persist(true).using(sessionStorage) }" :class="{ 'hidden': !softRedirectVisible }">
3078  <div class="section__wrapper scheme-scheme1 grid columns-1 rows-1 place-items-center relative z-0 overflow-hidden hidden" data-geo-show="AU,BE,BR,CA,CO,DE,DK,ES,FR,GB,IT,MX,NL,PL">
3079    <div class="section-spacing mx-auto w-full relative z-10 py-container-xs px-lg-xs max-w-full md:px-container-xs md:max-w-full">
3080      <div class="section__container grid py-none px-none md:px-none gap-y-none rounded-none shadow-none flex flex-col gap-y-sm-sm justify-center text-center">
3081        
3082    
3083    
3084    <h2 class="text_display_md">Looks like you are in <span data-geo-countryname-replace></span>.</h2>
3085    <p class="text_body_md">Would you like to visit your local store?</p>
3086    <ul class="flex flex-col md:flex-row gap-sm-sm justify-center items-stretch text-center">
3087      
3088
3089        
3090        
3091
3092        
3093          
3094          <li class="hidden" data-geo-show="AU">
3095            <a class="block w-full btn btn--primary" href="https://shopau.niallhoran.com/">Take me there</a>
3096          </li>
3097        
3098
3099        
3100        
3101
3102        
3103          
3104          <li class="hidden" data-geo-show="BE">
3105            <a class="block w-full btn btn--primary" href="https://musicstation.be/collections/niall-horan">Take me there</a>
3106          </li>
3107        
3108
3109        
3110        
3111
3112        
3113          
3114          <li class="hidden" data-geo-show="BR">
3115            <a class="block w-full btn btn--primary" href="https://www.umusicstore.com/niall-horan">Take me there</a>
3116          </li>
3117        
3118
3119        
3120        
3121
3122        
3123          
3124          <li class="hidden" data-geo-show="CA">
3125            <a class="block w-full btn btn--primary" href="https://shopca.niallhoran.com/">Take me there</a>
3126          </li>
3127        
3128
3129        
3130        
3131
3132        
3133          
3134          <li class="hidden" data-geo-show="CO">
3135            <a class="block w-full btn btn--primary" href="https://udiscovermusic.co/collections/niall-horan">Take me there</a>
3136          </li>
3137        
3138
3139        
3140        
3141
3142        
3143          
3144          <li class="hidden" data-geo-show="DE">
3145            <a class="block w-full btn btn--primary" href="https://shopde.niallhoran.com/">Take me there</a>
3146          </li>
3147        
3148
3149        
3150        
3151
3152        
3153          
3154          <li class="hidden" data-geo-show="DK">
3155            <a class="block w-full btn btn--primary" href="https://umgshop.com/collections/niall-horan">Take me there</a>
3156          </li>
3157        
3158
3159        
3160        
3161
3162        
3163          
3164          <li class="hidden" data-geo-show="ES">
3165            <a class="block w-full btn btn--primary" href="https://universalmusiconline.es/collections/niall-horan">Take me there</a>
3166          </li>
3167        
3168
3169        
3170        
3171
3172        
3173          
3174          <li class="hidden" data-geo-show="FR">
3175            <a class="block w-full btn btn--primary" href="https://vinylcollector.store/collections/niall-horan">Take me there</a>
3176          </li>
3177        
3178
3179        
3180        
3181
3182        
3183          
3184          <li class="hidden" data-geo-show="GB">
3185            <a class="block w-full btn btn--primary" href="https://shopuk.niallhoran.com/">Take me there</a>
3186          </li>
3187        
3188
3189        
3190        
3191
3192        
3193          
3194          <li class="hidden" data-geo-show="IT">
3195            <a class="block w-full btn btn--primary" href="https://shop.universalmusic.it/collections/niall-horan">Take me there</a>
3196          </li>
3197        
3198
3199        
3200        
3201
3202        
3203          
3204          <li class="hidden" data-geo-show="MX">
3205            <a class="block w-full btn btn--primary" href="https://udiscover.mx/collections/niall-horan">Take me there</a>
3206          </li>
3207        
3208
3209        
3210        
3211
3212        
3213          
3214          <li class="hidden" data-geo-show="NL">
3215            <a class="block w-full btn btn--primary" href="https://platenzaak.nl/collections/niall-horan">Take me there</a>
3216          </li>
3217        
3218
3219        
3220        
3221
3222        
3223          
3224          <li class="hidden" data-geo-show="PL">
3225            <a class="block w-full btn btn--primary" href="https://muzyka.sklep.pl/niall-horan">Take me there</a>
3226          </li>
3227        
3228
3229      <li>
3230        <button class="block w-full btn btn--secondary" x-on:click="softRedirectVisible = false; const dialog = $event.target.closest('dialog'); dialog.classList.add('hidden'); dialog.close()">Stay here</button>
3231      </li>
3232    </ul>
3233  
3234      </div>
3235    </div>
3236  </div>
3237</div>
3238
3239    
3240  
3241
3242</aside>
3243<!-- END sections: header-group --><main id="MainContent" role="main" class="z-10 grow scroll-mt-[var(--header-sticky-height)]"><div id="shopify-section-template--28662239953266__cart" class="shopify-section">
3244
3245
3246
3247
3248
3249
3250
3251
3252
3253
3254
3255
3256
3257
3258
3259
3260
3261
3262
3263<div class="cart" id="cart" data-id="template--28662239953266__cart">
3264  <div class="section__wrapper scheme-scheme1 grid columns-1 rows-1 place-items-center relative z-0 overflow-hidden overflow-auto">
3265    <div class="section-spacing mx-auto w-full relative z-10 py-container-xs px-lg-2xs max-w-full md:px-container-2xs md:max-w-full col-start-1 row-start-1 col-span-1 row-span-1">
3266      <div class="section__container grid py-none px-none md:px-none gap-y-lg-2xs border-none c-border-gray-500 rounded-none shadow-none stacked grid gap-y-lg-2xs">
3267          <div class="cart__empty grow flex flex-col justify-center items-center gap-sm-lg">
3268
3269            <h4 class="cart-drawer__empty-title text_heading_2xl">Your cart is empty</h4>
3270            <p class="cart-drawer__empty-message text_body_lg">Time to fill up the cart</p>
3271
3272            <div class="cart__empty-action">
3273              
3274              
3275              <a href="https://niallhoran.com" class="btn btn--primary block z-1 relative">Continue shopping</a>
3276            </div>
3277          </div>
3278        
3279      </div>
3280    </div>
3281
3282    
3283
3284
3285
3286  </div>
3287</div>
3288
3289</div></main>
3290
3291  
3291<script defer="defer" src="//niallhoran.com/cdn/shop/t/56/assets/theme.bundle.js?v=157328288128894087361789132637"></script>
3291<script>
3292    window.focusVariantOnLoad = false;
3293    window.shop_iso_code = "US";
3294    window.shopUrl = 'https://niallhoran.com';
3295    window.currentCurrency = 'USD';
3296    window.shopCurrencyFormat = "${{amount}}"
3297    window.routes = {
3298      cart_add_url: '/cart/add',
3299      cart_change_url: '/cart/change',
3300      cart_update_url: '/cart/update',
3301      search_url: '/search',
3302      predictive_search_url: '/search/suggest',
3303      privacy_policy_url: '/policies/privacy-policy',
3304      legal_notice_url: '/policies/legal-notice',
3305      terms_of_sale_url: '/policies/terms-of-sale'
3306    };
3307    window.cartStrings = {
3308      error: `There was an error while updating your cart. Please try again.`,
3309      quantityError: `You can only add [quantity] of this item to your cart.`,
3310      pauseFrameUnavailableMessage: `Sorry, this frame is not available at this time`,
3311      pauseFrameSoldOutMessage: `Sorry this frame is no longer available`,
3312      pauseFrame: `Frame`
3313    };
3314    window.variantStrings = {
3315      addToCart: `Add to cart`,
3316      soldOut: `Sold out`,
3317      unavailable: `Unavailable`,
3318      extendCartTimer: `Extend cart timer`,
3319      chooseThisStyle: `Choose this style`
3320    };
3321    window.accessibilityStrings = {
3322      imageAvailable: `Image [index] is now available in gallery view`,
3323      shareSuccess: `Link copied to clipboard`,
3324      pauseSlideshow: `Pause slideshow`,
3325      playSlideshow: `Play slideshow`,
3326      nextSlide: `Next slide`,
3327      prevSlide: `Previous slide`,
3328      pauseFrameAltHtml: `{{ title }} frame {frameNum} from Video`,
3329      enterFullScreen: `Enter Fullscreen`,
3330      exitFullScreen: `Exit Fullscreen`,
3331      hideFilters: `Hide filters`,
3332      showFilters: `Show filters`,
3333      countdownElementChange: `The countdown has ended. Some elements on the page may have changed.`
3334    };
3335    window.shareStrings = {
3336      copyToClipboard: "Copy link",
3337      successMessage: "Link copied to clipboard",
3338      copyToClipboardError: "Error copying to clipboard",
3339      shareUrlError: "Error opening sharer"
3340    };
3341    window.quickModalStrings = {
3342      productError: "Product details not available.",
3343    };
3344    window.videoButtonStates = {
3345      playButton: "Play Button",
3346      pauseButton: "Pause Button"
3347    };window.shipDateLabel = 'Ships on: {{ date }}';
3348      window.shipDateLabelTitled = '<b>{{ title }}:</b> Ships on {{ date }}';window.jsDateLocale = "en-US";</script>
3348<!-- BEGIN sections: footer-group -->
3349<footer id="shopify-section-sections--28662239527282__footer" class="shopify-section shopify-section-group-footer-group site-footer">
3350
3351
3352
3353
3354
3355
3356
3357
3358
3359
3360
3361
3362
3363
3364
3365
3366
3367
3368<div class="section__wrapper scheme-scheme1 grid columns-1 rows-1 place-items-center relative z-0 overflow-visible c-bg-primary c-text-primary-on mt-none c-border-tertiary border-default-width-wide border-x-0 border-b-0 z-10">
3369  <div class="section-spacing mx-auto w-full relative z-10 py-container-md px-lg-xs max-w-full md:px-container-xs md:max-w-full grid gap-y-sm-sm gap-x-sm-xs md:grid-cols-12 mx-auto text-center">
3370
3371
3372
3373
3374
3375<div  class="footer__griditem footer__griditem--0 footer__griditem--logo md:col-span-2 md:row-span-1">
3376  <div class="logo-container w-full h-full flex flex-col md:justify-start items-center md:items-center py-none px-none">
3377    
3378      
3379
3380
3381
3382
3383
3384
3385
3386
3387
3388
3389
3390
3391
3392
3393
3394  
3395
3396  
3397  
3398
3399  
3400  
3401  
3402
3403  
3404  
3405
3406  
3407  
3408
3409  
3410
3411  
3412
3413  <a class="logo-cntr block" href="/" style=" --logo-width: 8.125rem; --logo-width_md: 9.375rem; " aria-label="Niall Horan Official Store Home">
3414    
3415      
3416
3417
3418
3419
3420
3421
3422
3423
3424
3425
3426
3427
3428
3429
3430
3431  
3432<img aria-hidden="true" src="//niallhoran.com/cdn/shop/files/7hfi9-wt387-nv091.png?v=1772637150&amp;width=625" srcset="//niallhoran.com/cdn/shop/files/7hfi9-wt387-nv091.png?v=1772637150&amp;width=100 100w, //niallhoran.com/cdn/shop/files/7hfi9-wt387-nv091.png?v=1772637150&amp;width=300 300w, //niallhoran.com/cdn/shop/files/7hfi9-wt387-nv091.png?v=1772637150&amp;width=400 400w, //niallhoran.com/cdn/shop/files/7hfi9-wt387-nv091.png?v=1772637150&amp;width=500 500w, //niallhoran.com/cdn/shop/files/7hfi9-wt387-nv091.png?v=1772637150&amp;width=600 600w" width="625" height="142" loading="lazy" sizes="(min-width: 768px) 150px, 130px" class=" image__responsive">
3433
3434
3435
3436
3437    
3438  </a>
3439    
3440    
3441  </div>
3442</div>
3443
3444
3445
3446
3447
3448<div  class="footer__griditem footer__griditem--1 footer__griditem--spacer md:col-span-1 md:row-span-1 py-none px-none">
3449  <div class="spacer-container hidden md:block"></div>
3450</div>
3451
3452
3453
3454
3455
3456
3457
3458
3459
3460
3461
3462
3463
3464
3465
3466
3467
3468
3469
3470
3471
3472
3473
3474
3475<div  class="footer__griditem footer__griditem--2 footer__griditem--navigation md:col-span-1 md:row-span-1 py-none px-none">
3476  <div class="navigation-container w-full h-full flex flex-col items-center gap-y-sm-xs text-center md:text-left md:justify-start">
3477    
3478
3479
3480
3481
3482
3483
3484
3485
3486
3487
3488
3489
3490
3491
3492
3493
3494
3495
3496
3497
3498
3499
3500
3501
3502
3503
3504
3505
3506
3507
3508
3509
3510
3511
3512
3513
3514
3515
3516
3517
3518<nav class="w-full md:flex md:items-start nav-wrapper" >
3519  <ul class="menu-nav text-center md:text-left md:flex justify-start md:flex-col md:justify-center md:grow gap-x-sm-xs gap-y-sm-xs nav-container flex flex-col md:flex-col">
3520    
3521      
3522        
3523        
3524        
3525        
3526          <li class="text_navigation_md c-text-primary-on hover:c-text-secondary no-underline hover:no-underline">
3527            <a href="/collections/music">Music</a>
3528          </li>
3529        
3530      
3531    
3532      
3533        
3534        
3535        
3536        
3537          <li class="text_navigation_md c-text-primary-on hover:c-text-secondary no-underline hover:no-underline">
3538            <a href="/collections/merch">Merch</a>
3539          </li>
3540        
3541      
3542    
3543      
3544        
3545        
3546        
3547        
3548          <li class="text_navigation_md c-text-primary-on hover:c-text-secondary no-underline hover:no-underline">
3549            <a href="/collections/all">Shop By Album </a>
3550          </li>
3551        
3552      
3553    
3554      
3555        
3556        
3557        
3558        
3559          <li class="text_navigation_md c-text-primary-on hover:c-text-secondary no-underline hover:no-underline">
3560            <a href="/pages/tour">Tour</a>
3561          </li>
3562        
3563      
3564    
3565      
3566        
3567        
3568        
3569        
3570          <li class="text_navigation_md c-text-primary-on hover:c-text-secondary no-underline hover:no-underline">
3571            <a href="/pages/newsletter">Sign Up </a>
3572          </li>
3573        
3574      
3575    
3576  </ul>
3577</nav>
3578
3579
3580    
3581  </div>
3582</div>
3583
3584
3585
3586
3587
3588
3589
3590
3591
3592
3593
3594
3595
3596
3597
3598
3599
3600
3601
3602
3603
3604
3605
3606
3607<div  class="footer__griditem footer__griditem--3 footer__griditem--navigation md:col-span-2 md:row-span-1 py-none px-none">
3608  <div class="navigation-container w-full h-full flex flex-col items-center gap-y-sm-xs text-center md:text-left md:justify-start">
3609    
3610
3611
3612
3613
3614
3615
3616
3617
3618
3619
3620
3621
3622
3623
3624
3625
3626
3627
3628
3629
3630
3631
3632
3633
3634
3635
3636
3637
3638
3639
3640
3641
3642
3643
3644
3645
3646
3647
3648
3649
3650<nav class="w-full md:flex md:items-start nav-wrapper" aria-label="Support Links">
3651  <ul class="menu-nav text-center md:text-left md:flex justify-start md:flex-col md:justify-center md:grow gap-x-sm-xs gap-y-sm-xs nav-container flex flex-col md:flex-col">
3652    
3653      
3654        
3655        
3656        
3657        
3658          <li class="text_navigation_md c-text-primary-on hover:c-text-secondary no-u
3658nderline hover:no-underline">
3659            <a href="/pages/help">Help & Support</a>
3660          </li>
3661        
3662      
3663    
3664      
3665        
3666        
3667        
3668        
3669          <li class="text_navigation_md c-text-primary-on hover:c-text-secondary no-underline hover:no-underline">
3670            <a href="/policies/terms-of-sale">Terms</a>
3671          </li>
3672        
3673      
3674    
3675      
3676        
3677        
3678        
3679        
3680          <li class="text_navigation_md c-text-primary-on hover:c-text-secondary no-underline hover:no-underline">
3681            <a href="/policies/privacy-policy">Privacy</a>
3682          </li>
3683        
3684      
3685    
3686      
3687        
3688        
3689        
3690        
3691          <li class="text_navigation_md c-text-primary-on hover:c-text-secondary no-underline hover:no-underline">
3692            <a href="/policies/legal-notice">Do not sell my personal information</a>
3693          </li>
3694        
3695      
3696    
3697      
3698        
3699        
3700        
3701        
3702          <li class="text_navigation_md c-text-primary-on hover:c-text-secondary no-underline hover:no-underline">
3703            <a href="#"
3704              
3705                onclick="event.preventDefault();transcend.showConsentManager({'viewState': 'CompleteOptions' });"
3706              
3707              
3708              data-linklist="transcend"
3709            >Cookie Choices</a>
3710          </li>
3711        
3712      
3713    
3714  </ul>
3715</nav>
3716
3717
3718    
3719  </div>
3720</div>
3721
3722
3723<div  class="footer__griditem footer__griditem--4 footer__griditem--developer md:col-span-6 md:row-span-1 py-none px-none">
3724  <div class="developer-container">
3725    <div class="privy-embed-form" data-campaign="4593729"></div>
3726
3727  </div>
3728</div>
3729
3730
3731<div  class="footer__griditem footer__griditem--5 footer__griditem--developer md:col-span-12 md:row-span-1 py-none px-none">
3732  <div class="developer-container">
3733    <nav aria-label="Socials menu">
3734  <ul class="flex flex-wrap justify-center md:justify-center gap-none" style="--icon-width: 1.25rem; --icon-height: 1.25rem">
3735     
3736      <li>
3737        <a href="https://www.facebook.com/Niallofficial/" target="_blank" aria-label="Open Facebook social link" class="icon_facebook flex h-full fill-current justify-center items-center h-min-click-space w-min-click-space c-text-primary-on hover:c-text-secondary">
3738          <div class="social-icons__wrapper">
3739            <svg width="48" height="48" viewBox="0 0 48 48" fill="currentColor" class="umg-icon" xmlns="http://www.w3.org/2000/svg"><path d="M24 0C10.7453 0 0 10.7453 0 24C0 35.255 7.74912 44.6995 18.2026 47.2934V31.3344H13.2538V24H18.2026V20.8397C18.2026 12.671 21.8995 8.8848 29.9194 8.8848C31.44 8.8848 34.0637 9.18336 35.137 9.48096V16.129C34.5706 16.0694 33.5866 16.0397 32.3645 16.0397C28.4294 16.0397 26.9088 17.5306 26.9088 21.4061V24H34.7482L33.4013 31.3344H26.9088V47.8243C38.7926 46.3891 48.001 36.2707 48.001 24C48 10.7453 37.2547 0 24 0Z" /></svg>
3740          </div>
3741        </a>
3742      </li> 
3743    
3744     
3745      <li>
3746        <a href="https://twitter.com/NiallOfficial?ref_src=twsrc%5Egoogle%7Ctwcamp%5Eserp%7Ctwgr%5Eauthor" target="_blank" aria-label="Open Twitter social link" class="icon_twitter flex h-full fill-current justify-center items-center h-min-click-space w-min-click-space c-text-primary-on hover:c-text-secondary">
3747          <div class="social-icons__wrapper">
3748            <svg width="48" height="48" viewBox="0 0 48 48" fill="currentColor" class="umg-icon" xmlns="http://www.w3.org/2000/svg"><path d="M36.6526 3.80786H43.3995L28.6594 20.6548L46 43.5798H32.4225L21.7881 29.6759L9.61989 43.5798H2.86886L18.6349 25.5601L2 3.80786H15.9222L25.5348 16.5165L36.6526 3.80786ZM34.2846 39.5414H38.0232L13.8908 7.63413H9.87892L34.2846 39.5414Z" /></svg>
3749          </div>
3750        </a>
3751      </li> 
3752    
3753     
3754      <li>
3755        <a href="https://www.instagram.com/niallhoran/" target="_blank" aria-label="Open Instagram social link" class="icon_instagram flex h-full fill-current justify-center items-center h-min-click-space w-min-click-space c-text-primary-on hover:c-text-secondary">
3756          <div class="social-icons__wrapper">
3757            <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512" class="umg-icon"><path d="M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z"/></svg>
3758          </div>
3759        </a>
3760      </li> 
3761    
3762     
3763      <li>
3764        <a href="https://www.youtube.com/channel/UCQcTX6rX7JhUpHg_T3STtoQ" target="_blank" aria-label="Open YouTube social link" class="icon_youtube flex h-full fill-current justify-center items-center h-min-click-space w-min-click-space c-text-primary-on hover:c-text-secondary">
3765          <div class="social-icons__wrapper">
3766            <svg width="48" height="48" viewBox="0 0 48 48" fill="currentColor" class="umg-icon" xmlns="http://www.w3.org/2000/svg"><path d="M47.5219 14.4001C47.5219 14.4001 47.0531 11.0907 45.6094 9.6376C43.7812 7.7251 41.7375 7.71572 40.8 7.60322C34.0875 7.11572 24.0094 7.11572 24.0094 7.11572H23.9906C23.9906 7.11572 13.9125 7.11572 7.2 7.60322C6.2625 7.71572 4.21875 7.7251 2.39062 9.6376C0.946875 11.0907 0.4875 14.4001 0.4875 14.4001C0.4875 14.4001 0 18.2907 0 22.172V25.8095C0 29.6907 0.478125 33.5813 0.478125 33.5813C0.478125 33.5813 0.946875 36.8907 2.38125 38.3438C4.20937 40.2563 6.60938 40.1907 7.67813 40.397C11.5219 40.7626 24 40.8751 24 40.8751C24 40.8751 34.0875 40.8563 40.8 40.3782C41.7375 40.2657 43.7812 40.2563 45.6094 38.3438C47.0531 36.8907 47.5219 33.5813 47.5219 33.5813C47.5219 33.5813 48 29.7001 48 25.8095V22.172C48 18.2907 47.5219 14.4001 47.5219 14.4001ZM19.0406 30.2251V16.7345L32.0062 23.5032L19.0406 30.2251Z" /></svg>
3767          </div>
3768        </a>
3769      </li> 
3770    
3771     
3772      <li>
3773        <a href="https://music.apple.com/us/artist/niall-horan/471260298" target="_blank" aria-label="Open Apple Music social link" class="icon_apple flex h-full fill-current justify-center items-center h-min-click-space w-min-click-space c-text-primary-on hover:c-text-secondary">
3774          <div class="social-icons__wrapper">
3775            <svg width="48" height="48" viewBox="0 0 48 48" fill="currentColor" class="umg-icon" xmlns="http://www.w3.org/2000/svg"><path d="M43.5839 37.4071C42.858 39.0841 41.9988 40.6277 41.0033 42.0469C39.6463 43.9817 38.5352 45.3209 37.6789 46.0646C36.3516 47.2853 34.9294 47.9105 33.4065 47.946C32.3132 47.946 30.9947 47.6349 29.4599 47.0038C27.9201 46.3757 26.5051 46.0646 25.2112 46.0646C23.8542 46.0646 22.3988 46.3757 20.8421 47.0038C19.2831 47.6349 18.0271 47.9638 17.0668 47.9964C15.6064 48.0586 14.1508 47.4157 12.6978 46.0646C11.7704 45.2557 10.6105 43.8691 9.22087 41.9047C7.72995 39.807 6.50422 37.3745 5.54395 34.6012C4.51554 31.6058 4 28.7051 4 25.8969C4 22.6801 4.69509 19.9057 6.08734 17.5807C7.18153 15.7132 8.63718 14.2401 10.4591 13.1586C12.2809 12.0772 14.2495 11.5261 16.3694 11.4908C17.5293 11.4908 19.0505 11.8496 20.9408 12.5548C22.8258 13.2623 24.0361 13.6211 24.5667 13.6211C24.9635 13.6211 26.308 13.2016 28.5874 12.3652C30.7428 11.5895 32.562 11.2683 34.0524 11.3948C38.0908 11.7207 41.1247 13.3127 43.1425 16.1807C39.5307 18.3691 37.7441 21.4342 37.7797 25.3662C37.8123 28.429 38.9233 30.9776 41.107 33.0013C42.0966 33.9405 43.2017 34.6664 44.4313 35.182C44.1646 35.9553 43.8832 36.696 43.5839 37.4071V37.4071ZM34.322 0.960762C34.322 3.36131 33.445 5.6027 31.6969 7.6773C29.5873 10.1436 27.0357 11.5687 24.2687 11.3439C24.2334 11.0559 24.213 10.7528 24.213 10.4343C24.213 8.12973 25.2162 5.66343 26.9978 3.6469C27.8872 2.6259 29.0185 1.77694 30.3903 1.09972C31.7591 0.432598 33.0539 0.0636663 34.2716 0.000488281C34.3072 0.321404 34.322 0.64234 34.322 0.960731V0.960762Z" /></svg>
3776          </div>
3777        </a>
3778      </li> 
3779    
3780     
3781      <li>
3782        <a href="https://open.spotify.com/artist/1Hsdzj7Dlq2I7tHP7501T4" target="_blank" aria-label="Open Spotify social link" class="icon_spotify flex h-full fill-current justify-center items-center h-min-click-space w-min-click-space c-text-primary-on hover:c-text-secondary">
3783          <div class="social-icons__wrapper">
3784            <svg width="48" height="48" viewBox="0 0 48 48" fill="currentColor" class="umg-icon" xmlns="http://www.w3.org/2000/svg"><path d="M23.9266 0C10.7126 0 0 10.7123 0 23.9263C0 37.1409 10.7126 47.8523 23.9266 47.8523C37.142 47.8523 47.8534 37.1409 47.8534 23.9263C47.8534 10.7131 37.142 0.00114285 23.9263 0.00114285L23.9266 0ZM34.8991 34.5086C34.4706 35.2114 33.5506 35.4343 32.8477 35.0029C27.23 31.5714 20.158 30.7943 11.8294 32.6971C11.0269 32.88 10.2269 32.3771 10.044 31.5743C9.86029 30.7714 10.3611 29.9714 11.1657 29.7886C20.28 27.7054 28.098 28.6029 34.4049 32.4571C35.1077 32.8886 35.3306 33.8057 34.8991 34.5086ZM37.8277 27.9929C37.2877 28.8714 36.1391 29.1486 35.262 28.6086C28.8306 24.6546 19.0269 23.5097 11.4197 25.8189C10.4331 26.1169 9.39114 25.5609 9.09171 24.576C8.79457 23.5894 9.35086 22.5494 10.3357 22.2494C19.0251 19.6129 29.8277 20.89 37.2134 25.4286C38.0906 25.9686 38.3677 27.1169 37.8277 27.9929ZM38.0791 21.2089C30.3677 16.6286 17.6449 16.2074 10.2823 18.442C9.1 18.8006 7.84971 18.1331 7.49143 16.9509C7.13314 15.768 7.8 14.5186 8.98314 14.1591C17.4349 11.5934 31.4849 12.0891 40.3631 17.3597C41.4289 17.9909 41.7774 19.3643 41.146 20.4263C40.5174 21.4897 39.1403 21.8403 38.0803 21.2089H38.0791Z" /></svg>  
3785          </div>
3786        </a>
3787      </li> 
3788    
3789     
3790      <li>
3791        <a href="https://www.tiktok.com/@niallhoran" target="_blank" aria-label="Open TikTok social link" class="icon_tiktok flex h-full fill-current justify-center items-center h-min-click-s
3791pace w-min-click-space c-text-primary-on hover:c-text-secondary">
3792          <div class="social-icons__wrapper">
3793            <svg width="48" height="48" viewBox="0 0 48 48" fill="currentColor" class="umg-icon" xmlns="http://www.w3.org/2000/svg"><path d="M34.1451 0H26.0556V32.6956C26.0556 36.5913 22.9444 39.7913 19.0725 39.7913C15.2007 39.7913 12.0894 36.5913 12.0894 32.6956C12.0894 28.8696 15.1315 25.7391 18.8651 25.6V17.3913C10.6374 17.5304 4 24.2783 4 32.6956C4 41.1827 10.7757 48 19.1417 48C27.5075 48 34.2833 41.1131 34.2833 32.6956V15.9304C37.3255 18.1565 41.059 19.4783 45 19.5479V11.3391C38.9157 11.1304 34.1451 6.12173 34.1451 0Z" /></svg>
3794          </div>
3795        </a>
3796      </li> 
3797    
3798      <li>
3799        <a href="https://www.whatsapp.com/channel/0029Vb7LmsDHLHQVeUP1cM19" target="_blank" aria-label="Open WhatsApp social link" class="icon_whatsapp flex h-full fill-current justify-center items-center h-min-click-space w-min-click-space c-text-primary-on hover:c-text-secondary">
3800          <div class="social-icons__wrapper">
3801            <svg width="48" height="55" viewBox="0 0 448 512" fill="currentColor" class="umg-icon" xmlns="http://www.w3.org/2000/svg"><path d="M380.9 97.1c-41.9-42-97.7-65.1-157-65.1-122.4 0-222 99.6-222 222 0 39.1 10.2 77.3 29.6 111L0 480 117.7 449.1c32.4 17.7 68.9 27 106.1 27l.1 0c122.3 0 224.1-99.6 224.1-222 0-59.3-25.2-115-67.1-157zm-157 341.6c-33.2 0-65.7-8.9-94-25.7l-6.7-4-69.8 18.3 18.6-68.1-4.4-7c-18.5-29.4-28.2-63.3-28.2-98.2 0-101.7 82.8-184.5 184.6-184.5 49.3 0 95.6 19.2 130.4 54.1s56.2 81.2 56.1 130.5c0 101.8-84.9 184.6-186.6 184.6zM325.1 300.5c-5.5-2.8-32.8-16.2-37.9-18-5.1-1.9-8.8-2.8-12.5 2.8s-14.3 18-17.6 21.8c-3.2 3.7-6.5 4.2-12 1.4-32.6-16.3-54-29.1-75.5-66-5.7-9.8 5.7-9.1 16.3-30.3 1.8-3.7 .9-6.9-.5-9.7s-12.5-30.1-17.1-41.2c-4.5-10.8-9.1-9.3-12.5-9.5-3.2-.2-6.9-.2-10.6-.2s-9.7 1.4-14.8 6.9c-5.1 5.6-19.4 19-19.4 46.3s19.9 53.7 22.6 57.4c2.8 3.7 39.1 59.7 94.8 83.8 35.2 15.2 49 16.5 66.6 13.9 10.7-1.6 32.8-13.4 37.4-26.4s4.6-24.1 3.2-26.4c-1.3-2.5-5-3.9-10.5-6.6z"/></svg>
3802          </div>
3803        </a>
3804      </li> 
3805  </ul>
3806</nav>
3807
3808  </div>
3809</div>
3810
3811
3812
3813
3814
3815<div  class="footer__griditem footer__griditem--6 footer__griditem--text md:col-span-12 md:row-span-1 py-none px-none text_body_xs c-text-primary-on">
3816  <div class="text-container w-full h-full flex flex-col text-center md:text-center md:justify-center">
3817
3818    
3819      
3820
3821      
3822        
3823          <p>
3824            If you are using a screen reader and are having problems using this website, please call 866-682-4413 for assistance.
3825          </p>
3826        
3827      
3828    
3829
3830    
3831  </div>
3832</div></div>
3833
3834  
3835
3836
3837
3838</div>
3839
3840
3841</footer>
3842<!-- END sections: footer-group -->
3842<script defer="defer" src="//niallhoran.com/cdn/shop/t/56/assets/utm-params.bundle.js?v=44857160626880170391789132636"></script>
3842
3843  
3843<script defer="defer" src="//niallhoran.com/cdn/shop/t/56/assets/section-render.bundle.js?v=141459979373393777191789132636"></script>
3843<script defer="defer" src="//niallhoran.com/cdn/shop/t/56/assets/product.bundle.js?v=118968317154721570471789132637"></script>
3843<script defer="defer" src="//niallhoran.com/cdn/shop/t/56/assets/template-cart.bundle.js?v=29863557894769406751789132637"></script>
3843<script defer="defer" src="//niallhoran.com/cdn/shop/t/56/assets/buy-now-pay-later.bundle.js?v=180350615595400516921789132637"></script>
3843
3844
3845
3846  
3846<script async>
3847    const affirmConfig = {
3848      public_api_key: '8KUZK8CFG93IUR0Q',
3849      script: 'https://cdn1.affirm.com/js/v2/affirm.js'
3850    };
3851
3852    if (!window.affirm) {
3853      (function(l,g,m,e,a,f,b){var d,c=l[m]||{},h=document.createElement(f),n=document.getElementsByTagName(f)[0],k=function(a,b,c){return function(){a[b]._.push([c,arguments]);}};c[e]=k(c,e,'set');d=c[e];c[a]={};c[a]._=[];d._=[];c[a][b]=k(c,a,b);a=0;for(b='set add save post open empty reset on off trigger ready setProduct'.split(' ');a<b.length;a++)d[b[a]]=k(c,e,b[a]);a=0;for(b=['get','token','url','items'];a<b.length;a++)d[b[a]]=function(){};h.async=!0;h.src=g[f];n.parentNode.insertBefore(h,n);delete g[f];d(g);l[m]=c;})(window,affirmConfig,'affirm','checkout','ui','script','ready');
3854    }
3855  </script>
3855
3856
3857<!-- BEGIN sections: background-group -->
3858<aside id="shopify-section-sections--28662239494514__page-background" class="shopify-section shopify-section-group-background-group page-bg">
3859  
3860
3861
3862  
3863  
3864
3865  
3866
3867  
3868
3869  
3870  
3871
3872  
3873  
3874
3875  <div class="fixed -z-[1] h-full w-full top-0 left-0 select-none" aria-hidden="true">
3876    
3877
3878
3879
3880
3881
3882
3883
3884
3885
3886
3887
3888
3889  <picture class="image__adaptive h-full w-full">
3890    
3891
3892
3893
3894
3895
3896
3897
3898
3899
3900
3901
3902
3903
3904
3905
3906    
3907  
3908<source data-src="//niallhoran.com/cdn/shop/files/envelope4_bkg.jpg?v=1772636708&amp;width=2400" srcset="//niallhoran.com/cdn/shop/files/envelope4_bkg.jpg?v=1772636708&amp;width=100 100w, //niallhoran.com/cdn/shop/files/envelope4_bkg.jpg?v=1772636708&amp;width=300 300w, //niallhoran.com/cdn/shop/files/envelope4_bkg.jpg?v=1772636708&amp;width=400 400w, //niallhoran.com/cdn/shop/files/envelope4_bkg.jpg?v=1772636708&amp;width=500 500w, //niallhoran.com/cdn/shop/files/envelope4_bkg.jpg?v=1772636708&amp;width=600 600w, //niallhoran.com/cdn/shop/files/envelope4_bkg.jpg?v=1772636708&amp;width=800 800w, //niallhoran.com/cdn/shop/files/envelope4_bkg.jpg?v=1772636708&amp;width=1200 1200w, //niallhoran.com/cdn/shop/files/envelope4_bkg.jpg?v=1772636708&amp;width=1600 1600w, //niallhoran.com/cdn/shop/files/envelope4_bkg.jpg?v=1772636708&amp;width=2000 2000w" width="2400" height="1600" loading="lazy" sizes="100vw" media="(min-width: 760px)">
3909
3910
3911
3912
3913    
3914
3915
3916
3917
3918
3919
3920
3921
3922
3923
3924
3925
3926
3927
3928
3929  
3930<img src="//niallhoran.com/cdn/shop/files/envelope4_bkg.jpg?v=1772636708&amp;width=900" srcset="//niallhoran.com/cdn/shop/files/envelope4_bkg.jpg?v=1772636708&amp;width=100 100w, //niallhoran.com/cdn/shop/files/envelope4_bkg.jpg?v=1772636708&amp;width=300 300w, //niallhoran.com/cdn/shop/files/envelope4_bkg.jpg?v=1772636708&amp;width=400 400w, //niallhoran.com/cdn/shop/files/envelope4_bkg.jpg?v=1772636708&amp;width=500 500w, //niallhoran.com/cdn/shop/files/envelope4_bkg.jpg?v=1772636708&amp;width=600 600w, //niallhoran.com/cdn/shop/files/envelope4_bkg.jpg?v=1772636708&amp;width=800 800w" width="900" height="600" loading="lazy" sizes="100vw" class="w-full h-full object-cover object-center image__responsive">
3931
3932
3933
3934
3935  </picture>
3936
3937
3938  </div>
3939
3940
3941
3942
3943</aside>
3944<!-- END sections: background-group -->
3945  <!-- STYLE SIGNED CUSTOM VISUAL TAGS -->
3946  <style>
3947    .card__tags .product__tag--signed {
3948      background-color: #51311f;
3949      border-color: #000000;
3950    }
3951  </style>
3952
3953
3954<!-- START HOMEPAGE CUSTOM LOGO SECTION -->
3955<script>
3956  document.addEventListener("DOMContentLoaded", () => {
3957    const customLogoSection = document.querySelector(".custom-logo-section");
3958    if (customLogoSection) {
3959      const supportsHover = window.matchMedia("(hover: hover) and (pointer: fine)");
3960      function handleHoverChange(e) {
3961        if (!e.matches) {
3962          customLogoSection.classList.add("no-hover");
3963        } else {
3964          customLogoSection.classList.remove("no-hover");
3965        }
3966      }
3967      supportsHover.addEventListener("change", handleHoverChange);
3968      handleHoverChange(supportsHover);
3969
3970      const customLogos = customLogoSection.querySelectorAll(".media-item-image-overlay");
3971      const customLogoObserver = new IntersectionObserver(
3972        (entries) => {
3973          entries.forEach((entry) => {
3974            if (entry.isIntersecting) {
3975              entry.target.classList.add("visible");
3976            } else {
3977              entry.target.classList.remove("visible");
3978            }
3979          });
3980        },
3981        {
3982          root: null,
3983          rootMargin: "-50% 0px -50% 0px",
3984          threshold: 0,
3985        },
3986      );
3987      for (const logo of customLogos) {
3988        customLogoObserver.observe(logo);
3989      }
3990    }
3991  });
3992</script>
3992
3993<!-- END HOMEPAGE CUSTOM LOGO SECTION -->
3994
3995<!-- START OPEN EXTERNAL LINKS IN NEW TAB -->
3996<script>
3997  document.addEventListener("DOMContentLoaded", function () {
3998    const links = document.links;
3999    for (let i = 0, linksLength = links.length; i < linksLength; i++) {
4000      if (links[i].hostname !== window.location.hostname) {
4001        links[i].target = "_blank";
4002        links[i].rel = "noreferrer noopener";
4003      }
4004    }
4005  });
4006</script>
4006
4007<!-- END OPEN EXTERNAL LINKS IN NEW TAB -->
4007<script>Shopify.analytics.publish('view_cart', {
4008            currency: 'USD',
4009            value: 0.00,
4010            items: [
4011            ],
4012            gift: false
4013          })</script>
4013<script async="async" src="//niallhoran.com/cdn/shop/t/56/assets/dotdigital-site-tracking.bundle.js?v=56115862656055679041789132637"></script>
4013<script>
4014      window.customerEmail = ''
4015      window.customerAcceptsMarketing = ''
4016      window.dotDigitalCartInsights = {
4017        programId: '26840',
4018        currency: 'USD',
4019        subtotal: '0.00',
4020        discountAmount: '0.00',
4021        grandTotal: '0.00',
4022        cartUrl: 'https://niallhoran.com',
4023        lineItems: '[]'
4024      }
4025    </script>
4025<script async="async" src="//niallhoran.com/cdn/shop/t/56/assets/dotdigital-cart-insight.bundle.js?v=73368649038972163841789132637"></script>
4025
4026<style>  </style>
4027<script src="https://cdn.shopify.com/storefront/standard-actions.js" type="module" data-source-attribution="shopify.standard_actions"></script>
4027
4028</body>
4029</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.