PageSourceSearch

https://www.eyebooksgroup.com/pages/about-us

html eyebooksgroup.com collected 2026-10-09 04:59:09 UTC 254,774 bytes, 4,098 lines download raw bytes

1<!doctype html>
2<html
3  
4  lang="en"
5>
6  <head><link
7        rel="icon"
8        type="image/png"
9        href="//www.eyebooksgroup.com/cdn/shop/files/favicon-eye.png?crop=center&height=32&v=1769019023&width=32"
10      >
11    
12
13
14<meta charset="utf-8">
15<meta
16  http-equiv="X-UA-Compatible"
17  content="IE=edge"
18>
19<meta
20  name="viewport"
21  content="width=device-width,initial-scale=1"
22>
23<meta
24  name="theme-color"
25  content=""
26>
27
28<meta
29  property="og:site_name"
30  content="Eye Books Group"
31>
32<meta
33  property="og:url"
34  content="https://www.eyebooksgroup.com/pages/about-us"
35>
36<meta
37  property="og:title"
38  content="Eye Books Group | About Us"
39>
40<meta
41  property="og:type"
42  content="website"
43>
44<meta
45  property="og:description"
46  content="Eye Books Group is an independent UK publisher bringing together Eye Books and Wilton Square Books."
47><meta
48    property="og:image"
49    content="http://www.eyebooksgroup.com/cdn/shop/files/Eye_Books_Group_LOGO_FINAL.png?v=1788876874"
50  >
51  <meta
52    property="og:image:secure_url"
53    content="https://www.eyebooksgroup.com/cdn/shop/files/Eye_Books_Group_LOGO_FINAL.png?v=1788876874"
54  >
55  <meta
56    property="og:image:width"
57    content="605"
58  >
59  <meta
60    property="og:image:height"
61    content="197"
62  ><meta
63  name="twitter:card"
64  content="summary_large_image"
65>
66<meta
67  name="twitter:title"
68  content="Eye Books Group | About Us"
69>
70<meta
71  name="twitter:description"
72  content="Eye Books Group is an independent UK publisher bringing together Eye Books and Wilton Square Books."
73>
74
75<title>
76  Eye Books Group | About Us
77</title>
78
79<link
80  rel="canonical"
81  href="https://www.eyebooksgroup.com/pages/about-us"
82>
83
84
85  <meta
86    name="description"
87    content="Eye Books Group is an independent UK publisher bringing together Eye Books and Wilton Square Books."
88  >
89
90<link href="//www.eyebooksgroup.com/cdn/shop/t/33/assets/overflow-list.css?v=16727044177065489451789662477" as="style" rel="preload">
91<link href="//www.eyebooksgroup.com/cdn/shop/t/33/assets/base.css?v=73872111640315507811789662477" rel="stylesheet" type="text/css" media="all" />
92<link href="//www.eyebooksgroup.com/cdn/fonts/nunito_sans/nunitosans_n4.0276fe080df0ca4e6a22d9cb55aed3ed5ba6b1da.woff2" as="font" type="font/woff2" fetchpriority="low" crossorigin="anonymous" rel="preload">
93<link href="//www.eyebooksgroup.com/cdn/fonts/nunito_sans/nunitosans_n4.0276fe080df0ca4e6a22d9cb55aed3ed5ba6b1da.woff2" as="font" type="font/woff2" fetchpriority="low" crossorigin="anonymous" rel="preload">
94<link href="//www.eyebooksgroup.com/cdn/fonts/nunito_sans/nunitosans_n6.6e9464eba570101a53130c8130a9e17a8eb55c21.woff2" as="font" type="font/woff2" fetchpriority="low" crossorigin="anonymous" rel="preload">
95<link href="//www.eyebooksgroup.com/cdn/fonts/nunito_sans/nunitosans_n4.0276fe080df0ca4e6a22d9cb55aed3ed5ba6b1da.woff2" as="font" type="font/woff2" fetchpriority="low" crossorigin="anonymous" rel="preload">
96
97
98<script async crossorigin fetchpriority="high" src="/cdn/shopifycloud/importmap-polyfill/es-modules-shim.2.4.0.js"></script>
vendor: 1 bytes, line 98
98
99<script type="importmap">
100  {
101    "imports": {
102      "@theme/overflow-list": "//www.eyebooksgroup.com/cdn/shop/t/33/assets/overflow-list.js?v=46858356770684902511789662477",
103      "@theme/component": "//www.eyebooksgroup.com/cdn/shop/t/33/assets/component.js?v=175690430936884589731789662477",
104      "@theme/dialog": "//www.eyebooksgroup.com/cdn/shop/t/33/assets/dialog.js?v=144816527575655702281789662477",
105      "@theme/events": "//www.eyebooksgroup.com/cdn/shop/t/33/assets/events.js?v=99399773727497444581789662477",
106      "@shopify/events": "https://cdn.shopify.com/storefront/standard-events.js",
107      "@theme/view-event-elements": "//www.eyebooksgroup.com/cdn/shop/t/33/assets/view-event-elements.js?v=34258756885466567141789662477",
108      "@theme/focus": "//www.eyebooksgroup.com/cdn/shop/t/33/assets/focus.js?v=60436577539430446401789662477",
109      "@theme/morph": "//www.eyebooksgroup.com/cdn/shop/t/33/assets/morph.js?v=182601902166245204061789662477",
110      "@theme/paginated-list": "//www.eyebooksgroup.com/cdn/shop/t/33/assets/paginated-list.js?v=71290058904108491691789662477",
111      "@theme/performance": "//www.eyebooksgroup.com/cdn/shop/t/33/assets/performance.js?v=171015751390534793081789662477",
112      "@theme/product-form": "//www.eyebooksgroup.com/cdn/shop/t/33/assets/product-form.js?v=156247955454460663281789662477",
113      "@theme/recently-viewed-products": "//www.eyebooksgroup.com/cdn/shop/t/33/assets/recently-viewed-products.js?v=94729125001750262651789662477",
114      "@theme/scrolling": "//www.eyebooksgroup.com/cdn/shop/t/33/assets/scrolling.js?v=162288454571026455011789662477",
115      "@theme/section-renderer": "//www.eyebooksgroup.com/cdn/shop/t/33/assets/section-renderer.js?v=44511745960026958271789662477",
116      "@theme/section-hydration": "//www.eyebooksgroup.com/cdn/shop/t/33/assets/section-hydration.js?v=108434990705342316311789662477",
117      "@theme/money-formatting": "//www.eyebooksgroup.com/cdn/shop/t/33/assets/money-formatting.js?v=160151249720534550011789662477",
118      "@theme/utilities": "//www.eyebooksgroup.com/cdn/shop/t/33/assets/utilities.js?v=45418709732381409691789662477",
119      "@theme/variant-picker": "//www.eyebooksgroup.com/cdn/shop/t/33/assets/variant-picker.js?v=76692244208061220611789662477",
120      "@theme/variant-resolution": "//www.eyebooksgroup.com/cdn/shop/t/33/assets/variant-resolution.js?v=69293302205961280521789662477",
121      "@theme/media-gallery": "//www.eyebooksgroup.com/cdn/shop/t/33/assets/media-gallery.js?v=154207211298275592001789662477",
122      "@theme/quick-add": "//www.eyebooksgroup.com/cdn/shop/t/33/assets/quick-add.js?v=104449947874272868091789662477",
123      "@theme/paginated-list-aspect-ratio": "//www.eyebooksgroup.com/cdn/shop/t/33/assets/paginated-list-aspect-ratio.js?v=25254270272143792451789662477",
124      "@theme/popover-polyfill": "//www.eyebooksgroup.com/cdn/shop/t/33/assets/popover-polyfill.js?v=119029313658895111201789662477",
125      "@theme/component-quantity-selector": "//www.eyebooksgroup.com/cdn/shop/t/33/assets/component-quantity-selector.js?v=67906657287482036641789662477",
126      "@theme/comparison-slider": "//www.eyebooksgroup.com/cdn/shop/t/33/assets/comparison-slider.js?v=106705562947035711941789662477",
127      "@theme/sticky-add-to-cart": "//www.eyebooksgroup.com/cdn/shop/t/33/assets/sticky-add-to-cart.js?v=130489688094345781431789662477",
128      "@theme/fly-to-cart": "//www.eyebooksgroup.com/cdn/shop/t/33/assets/fly-to-cart.js?v=48483246440248933081789662477",
129      "@theme/scroll-container": "//www.eyebooksgroup.com/cdn/shop/t/33/assets/scroll-container.js?v=127018149358875384221789662477",
130      "@theme/theme-drawer": "//www.eyebooksgroup.com/cdn/shop/t/33/assets/theme-drawer.js?v=155110645205299884131789662477"
131    }
132  }
133</script>
133<script
134  src="//www.eyebooksgroup.com/cdn/shop/t/33/assets/standard-actions-override.js?v=171683365447094389611789662477"
135  type="module"
136></script>
136
137
138<script
139  src="//www.eyebooksgroup.com/cdn/shop/t/33/assets/page-view-event.js?v=12823247316348680231789662477"
140  type="module"
141  defer
142></script>
142
143
144<script
145  src="//www.eyebooksgroup.com/cdn/shop/t/33/assets/view-transitions.js?v=116552130480572511441789662477"
146  async
147  
148></script>
148
149
150<link
151  rel="modulepreload"
152  href="//www.eyebooksgroup.com/cdn/shop/t/33/assets/utilities.js?v=45418709732381409691789662477"
153  fetchpriority="low"
154>
155<link
156  rel="modulepreload"
157  href="//www.eyebooksgroup.com/cdn/shop/t/33/assets/component.js?v=175690430936884589731789662477"
158  fetchpriority="low"
159>
160<link
161  rel="modulepreload"
162  href="//www.eyebooksgroup.com/cdn/shop/t/33/assets/section-renderer.js?v=44511745960026958271789662477"
163  fetchpriority="low"
164>
165<link
166  rel="modulepreload"
167  href="//www.eyebooksgroup.com/cdn/shop/t/33/assets/section-hydration.js?v=108434990705342316311789662477"
168  fetchpriority="low"
169>
170<link
171  rel="modulepreload"
172  href="//www.eyebooksgroup.com/cdn/shop/t/33/assets/morph.js?v=182601902166245204061789662477"
173  fetchpriority="low"
174>
175
176
177
178<link
179  rel="modulepreload"
180  href="//www.eyebooksgroup.com/cdn/shop/t/33/assets/focus.js?v=60436577539430446401789662477"
181  fetchpriority="low"
182>
183<link
184  rel="modulepreload"
185  href="//www.eyebooksgroup.com/cdn/shop/t/33/assets/recently-viewed-products.js?v=94729125001750262651789662477"
186  fetchpriority="low"
187>
188<link
189  rel="modulepreload"
190  href="//www.eyebooksgroup.com/cdn/shop/t/33/assets/scrolling.js?v=162288454571026455011789662477"
191  fetchpriority="low"
192>
193<link
194  rel="modulepreload"
195  href="//www.eyebooksgroup.com/cdn/shop/t/33/assets/events.js?v=99399773727497444581789662477"
196  fetchpriority="low"
197>
198<script
199  src="//www.eyebooksgroup.com/cdn/shop/t/33/assets/popover-polyfill.js?v=119029313658895111201789662477"
200  type="module"
201  fetchpriority="low"
202></script>
vendor: 1 bytes, line 202
202
203<script
204  src="//www.eyebooksgroup.com/cdn/shop/t/33/assets/overflow-list.js?v=46858356770684902511789662477"
205  type="module"
206  fetchpriority="low"
207></script>
vendor: 1 bytes, line 207
207
208<script
209  src="//www.eyebooksgroup.com/cdn/shop/t/33/assets/quick-add.js?v=104449947874272868091789662477"
210  type="module"
211  fetchpriority="low"
212></script>
212
213
214  
214<script
215    src="//www.eyebooksgroup.com/cdn/shop/t/33/assets/cart-discount.js?v=138990160074728809221789662477"
216    type="module"
217    fetchpriority="low"
218  ></script>
218
219
220
221<script
222  src="//www.eyebooksgroup.com/cdn/shop/t/33/assets/dialog.js?v=144816527575655702281789662477"
223  type="module"
224  fetchpriority="low"
225></script>
vendor: 1 bytes, line 225
225
226<script
227  src="//www.eyebooksgroup.com/cdn/shop/t/33/assets/variant-picker.js?v=76692244208061220611789662477"
228  type="module"
229  fetchpriority="low"
230></script>
vendor: 1 bytes, line 230
230
231<script
232  src="//www.eyebooksgroup.com/cdn/shop/t/33/assets/product-card.js?v=80689566448612614681789662477"
233  type="module"
234  fetchpriority="low"
235></script>
vendor: 1 bytes, line 235
235
236<script
237  src="//www.eyebooksgroup.com/cdn/shop/t/33/assets/product-form.js?v=156247955454460663281789662477"
238  type="module"
239  fetchpriority="low"
240></script>
vendor: 1 bytes, line 240
240
241<script
242  src="//www.eyebooksgroup.com/cdn/shop/t/33/assets/fly-to-cart.js?v=48483246440248933081789662477"
243  type="module"
244  fetchpriority="low"
245></script>
vendor: 1 bytes, line 245
245
246<script
247  src="//www.eyebooksgroup.com/cdn/shop/t/33/assets/accordion-custom.js?v=105323356731531709191789662477"
248  type="module"
249  fetchpriority="low"
250></script>
vendor: 1 bytes, line 250
250
251<script
252  src="//www.eyebooksgroup.com/cdn/shop/t/33/assets/media.js?v=37825095869491791421789662477"
253  type="module"
254  fetchpriority="low"
255></script>
vendor: 1 bytes, line 255
255
256<script
257  src="//www.eyebooksgroup.com/cdn/shop/t/33/assets/product-price.js?v=179333985604099329921789662477"
258  type="module"
259  fetchpriority="low"
260></script>
vendor: 1 bytes, line 260
260
261<script
262  src="//www.eyebooksgroup.com/cdn/shop/t/33/assets/product-sku.js?v=28741104639155857071789662477"
263  type="module"
264  fetchpriority="low"
265></script>
vendor: 1 bytes, line 265
265
266<script
267  src="//www.eyebooksgroup.com/cdn/shop/t/33/assets/product-inventory.js?v=7173209571153411411789662477"
268  type="module"
269  fetchpriority="low"
270></script>
vendor: 1 bytes, line 270
270
271<script
272  src="//www.eyebooksgroup.com/cdn/shop/t/33/assets/show-more.js?v=94563802205717136101789662477"
273  type="module"
274  fetchpriority="low"
275></script>
vendor: 1 bytes, line 275
275
276<script
277  src="//www.eyebooksgroup.com/cdn/shop/t/33/assets/slideshow.js?v=28306258147874261831789662477"
278  type="module"
279  fetchpriority="low"
280></script>
vendor: 1 bytes, line 280
280
281<script
282  src="//www.eyebooksgroup.com/cdn/shop/t/33/assets/layered-slideshow.js?v=30135417790894624731789662477"
283  type="module"
284  fetchpriority="low"
285></script>
vendor: 1 bytes, line 285
285
286<script
287  src="//www.eyebooksgroup.com/cdn/shop/t/33/assets/anchored-popover.js?v=143987075196095667371789662477"
288  type="module"
289  fetchpriority="low"
290></script>
vendor: 1 bytes, line 290
290
291<script
292  src="//www.eyebooksgroup.com/cdn/shop/t/33/assets/floating-panel.js?v=151277338116891310371789662477"
293  type="module"
294  fetchpriority="low"
295></script>
vendor: 1 bytes, line 295
295
296<script
297  src="//www.eyebooksgroup.com/cdn/shop/t/33/assets/video-background.js?v=25237992823806706551789662477"
298  type="module"
299  fetchpriority="low"
300></script>
vendor: 1 bytes, line 300
300
301<script
302  src="//www.eyebooksgroup.com/cdn/shop/t/33/assets/component-quantity-selector.js?v=67906657287482036641789662477"
303  type="module"
304  fetchpriority="low"
305></script>
vendor: 1 bytes, line 305
305
306<script
307  src="//www.eyebooksgroup.com/cdn/shop/t/33/assets/media-gallery.js?v=154207211298275592001789662477"
308  type="module"
309  fetchpriority="low"
310></script>
vendor: 1 bytes, line 310
310
311<script
312  src="//www.eyebooksgroup.com/cdn/shop/t/33/assets/rte-formatter.js?v=40306132146590816021789662477"
313  type="module"
314  fetchpriority="low"
315></script>
vendor: 1 bytes, line 315
315
316<script
317  src="//www.eyebooksgroup.com/cdn/shop/t/33/assets/volume-pricing.js?v=15442793518842484731789662477"
318  type="module"
319  fetchpriority="low"
320></script>
vendor: 1 bytes, line 320
320
321<script
322  src="//www.eyebooksgroup.com/cdn/shop/t/33/assets/price-per-item.js?v=115937180292451397851789662477"
323  type="module"
324  fetchpriority="low"
325></script>
vendor: 1 bytes, line 325
325
326<script
327  src="//www.eyebooksgroup.com/cdn/shop/t/33/assets/volume-pricing-info.js?v=94479640769665442661789662477"
328  type="module"
329  fetchpriority="low"
330></script>
330
331
332
333  
333<script
334    src="//www.eyebooksgroup.com/cdn/shop/t/33/assets/localization.js?v=15585934801240115691789662477"
335    type="module"
336    fetchpriority="low"
337  ></script>
337
338
339
340
341
342<script
343  src="//www.eyebooksgroup.com/cdn/shop/t/33/assets/auto-close-details.js?v=58350291535404441581789662477"
344  defer="defer"
345></script>
345
346
347<script>
348  const Theme = {
349    translations: {
350      placeholder_image: `Placeholder image`,
351      added: `Added`,
352      recipient_form_fields_visible: `Recipient form fields are now visible`,
353      recipient_form_fields_hidden: `Recipient form fields are now hidden`,
354      recipient_form_error: `There was an error with the form submission`,
355      items_added_to_cart_one: `1 item added to cart`,
356      items_added_to_cart_other: `{{ count }} items added to cart`,
357      cart_count: `Total items in cart`,
358    },
359    routes: {
360      cart_add_url: '/cart/add.js',
361      cart_change_url: '/cart/change',
362      cart_update_url: '/cart/update',
363      cart_url: '/cart',
364      predictive_search_url: '/search/suggest',
365      search_url: '/search',
366    },
367    template: {
368      name: 'page',
369    },
370  };
371</script>
371
372<style data-shopify>
373@font-face {
374  font-family: "Nunito Sans";
375  font-weight: 400;
376  font-style: normal;
377  font-display: swap;
378  src: url("//www.eyebooksgroup.com/cdn/fonts/nunito_sans/nunitosans_n4.0276fe080df0ca4e6a22d9cb55aed3ed5ba6b1da.woff2") format("woff2"),
379       url("//www.eyebooksgroup.com/cdn/fonts/nunito_sans/nunitosans_n4.b4964bee2f5e7fd9c3826447e73afe2baad607b7.woff") format("woff");
380}
381@font-face {
382  font-family: "Nunito Sans";
383  font-weight: 700;
384  font-style: normal;
385  font-display: swap;
386  src: url("//www.eyebooksgroup.com/cdn/fonts/nunito_sans/nunitosans_n7.25d963ed46da26098ebeab731e90d8802d989fa5.woff2") format("woff2"),
387       url("//www.eyebooksgroup.com/cdn/fonts/nunito_sans/nunitosans_n7.d32e3219b3d2ec82285d3027bd673efc61a996c8.woff") format("woff");
388}
389@font-face {
390  font-family: "Nunito Sans";
391  font-weight: 400;
392  font-style: italic;
393  font-display: swap;
394  src: url("//www.eyebooksgroup.com/cdn/fonts/nunito_sans/nunitosans_i4.6e408730afac1484cf297c30b0e67c86d17fc586.woff2") format("woff2"),
395       url("//www.eyebooksgroup.com/cdn/fonts/nunito_sans/nunitosans_i4.c9b6dcbfa43622b39a5990002775a8381942ae38.woff") format("woff");
396}
397@font-face {
398  font-family: "Nunito Sans";
399  font-weight: 700;
400  font-style: italic;
401  font-display: swap;
402  src: url("//www.eyebooksgroup.com/cdn/fonts/nunito_sans/nunitosans_i7.8c1124729eec046a321e2424b2acf328c2c12139.woff2") format("woff2"),
403       url("//www.eyebooksgroup.com/cdn/fonts/nunito_sans/nunitosans_i7.af4cda04357273e0996d21184432bcb14651a64d.woff") format("woff");
404}
405@font-face {
406  font-family: "Nunito Sans";
407  font-weight: 600;
408  font-style: normal;
409  font-display: swap;
410  src: url("//www.eyebooksgroup.com/cdn/fonts/nunito_sans/nunitosans_n6.6e9464eba570101a53130c8130a9e17a8eb55c21.woff2") format("woff2"),
411       url("//www.eyebooksgroup.com/cdn/fonts/nunito_sans/nunitosans_n6.25a0ac0c0a8a26038c7787054dd6058dfbc20fa8.woff") format("woff");
412}
413@font-face {
414  font-family: "Nunito Sans";
415  font-weight: 600;
416  font-style: italic;
417  font-display: swap;
418  src: url("//www.eyebooksgroup.com/cdn/fonts/nunito_sans/nunitosans_i6.e62a4aa1de9af615155fca680231620b75369d24.woff2") format("woff2"),
419       url("//www.eyebooksgroup.com/cdn/fonts/nunito_sans/nunitosans_i6.84ec3dfef4c401afbcd538286a9d65b772072e4b.woff") format("woff");
420}
421
422
423  :root {
424    /* Page Layout */
425    --sidebar-width: 25rem;
426    --theme-drawer-width: 30rem;
427    --narrow-content-width: 36rem;
428    --normal-content-width: 42rem;
429    --wide-content-width: 46rem;
430    --narrow-page-width: 90rem;
431    --normal-page-width: 120rem;
432    --wide-page-width: 150rem;
433
434    /* Section Heights */
435    --section-height-small: 15rem;
436    --section-height-medium: 25rem;
437    --section-height-large: 35rem;
438
439    @media screen and (min-width: 40em) {
440      --section-height-small: 40svh;
441      --section-height-medium: 55svh;
442      --section-height-large: 70svh;
443    }
444
445    @media screen and (min-width: 60em) {
446      --section-height-small: 50svh;
447      --section-height-medium: 65svh;
448      --section-height-large: 80svh;
449    }
450
451    /* Letter spacing */
452    --letter-spacing-sm: 0.06em;
453    --letter-spacing-md: 0.13em;
454
455    /* Font families */
456    --font-body--family: "Nunito Sans", sans-serif;
457    --font-body--style: normal;
458    --font-body--weight: 400;
459    --font-subheading--family: "Nunito Sans", sans-serif;
460    --font-subheading--style: normal;
461    --font-subheading--weight: 400;
462    --font-heading--family: "Nunito Sans", sans-serif;
463    --font-heading--style: normal;
464    --font-heading--weight: 600;
465    --font-accent--family: "Nunito Sans", sans-serif;
466    --font-accent--style: normal;
467    --font-accent--weight: 400;
468
469    /* Margin sizes */
470    --font-heading--spacing: 0.25em;
471    --font-h1--spacing: var(--font-heading--spacing);
472    --font-h2--spacing: var(--font-heading--spacing);
473    --font-h3--spacing: var(--font-heading--spacing);
474    --font-h4--spacing: var(--font-heading--spacing);
475    --font-h5--spacing: var(--font-heading--spacing);
476    --font-h6--spacing: var(--font-heading--spacing);
477    --font-paragraph--spacing: 0.5em;
478
479    /** Z-Index / Layering */
480    --layer-section-background: -2;
481    --layer-lowest: -1;
482    --layer-base: 0;
483    --layer-flat: 1;
484    --layer-raised: 2;
485    --layer-heightened: 4;
486    --layer-sticky: 8;
487    --layer-window-overlay: 10;
488    --layer-header-menu: 12;
489    --layer-overlay: 16;
490    --layer-menu-drawer: 18;
491    --layer-temporary: 20;
492
493    /* Max-width / Measure */
494    --max-width--body-normal: 32.5em;
495    --max-width--body-narrow: 22.75em;
496
497    --max-width--heading-normal: 32.5em;
498    --max-width--heading-narrow: 19.5em;
499
500    --max-width--display-normal: 13em;
501    --max-width--display-narrow: 9.75em;
502    --max-width--display-tight: 3.25em;
503
504    /* Letter-spacing / Tracking */
505    --letter-spacing--display-tight: -0.03em;
506    --letter-spacing--display-normal: 0em;
507    --letter-spacing--display-loose: 0.03em;
508
509    --letter-spacing--heading-tight: -0.03em;
510    --letter-spacing--heading-normal: 0em;
511    --letter-spacing--heading-loose: 0.03em;
512
513    --letter-spacing--body-tight: -0.03em;
514    --letter-spacing--body-normal: 0em;
515    --letter-spacing--body-loose: 0.03em;
516
517    /* Line height / Leading */
518    --line-height: 1;
519
520    --line-height--display-tight: 1;
521    --line-height--display-normal: 1.1;
522    --line-height--display-loose: 1.2;
523
524    --line-height--heading-tight: 1.15;
525    --line-height--heading-normal: 1.25;
526    --line-height--heading-loose: 1.35;
527
528    --line-height--body-tight: 1.2;
529    --line-height--body-normal: 1.4;
530    --line-height--body-loose: 1.6;
531
532    /* Typography presets */
533    --font-size--paragraph: 0.875rem;--font-size--h1: clamp(2.25rem, 5.6vw, 3.5rem);--font-size--h2: 2.0rem;--font-size--h3: 2.0rem;--font-size--h4: 1.5rem;--font-size--h5: 0.875rem;--font-size--h6: 0.75rem;--font-paragraph--weight: 400;--font-paragraph--letter-spacing: var(--letter-spacing--body-normal);--font-paragraph--size: var(--font-size--paragraph);--font-paragraph--family: var(--font-body--family);--font-paragraph--style: var(--font-body--style);--font-paragraph--case: ;--font-paragraph--line-height: var(--line-height--body-loose);--font-h1--weight: var(--font-heading--weight);--font-h1--letter-spacing: var(--letter-spacing--heading-normal);--font-h1--size: var(--font-size--h1);--font-h1--family: var(--font-heading--family);--font-h1--style: var(--font-heading--style);--font-h1--case: none;--font-h1--line-height: var(--line-height--display-tight);--font-h2--weight: var(--font-heading--weight);--font-h2--letter-spacing: var(--letter-spacing--heading-normal);--font-h2--size: var(--font-size--h2);--font-h2--family: var(--font-heading--family);--font-h2--style: var(--font-heading--style);--font-h2--case: none;--font-h2--line-height: var(--line-height--display-tight);--font-h3--weight: var(--font-heading--weight);--font-h3--letter-spacing: var(--letter-spacing--heading-normal);--font-h3--size: var(--font-size--h3);--font-h3--family: var(--font-heading--family);--font-h3--style: var(--font-heading--style);--font-h3--case: none;--font-h3--line-height: var(--line-height--display-normal);--font-h4--weight: var(--font-heading--weight);--font-h4--letter-spacing: var(--letter-spacing--heading-normal);--font-h4--size: var(--font-size--h4);--font-h4--family: var(--font-heading--family);--font-h4--style: var(--font-heading--style);--font-h4--case: none;--font-h4--line-height: var(--line-height--display-tight);--font-h5--weight: var(--font-subheading--weight);--font-h5--letter-spacing: var(--letter-spacing--heading-normal);--font-h5--size: var(--font-size--h5);--font-h5--family: var(--font-subheading--family);--font-h5--style: var(--font-subheading--style);--font-h5--case: none;--font-h5--line-height: var(--line-height--display-loose);--font-h6--weight: var(--font-subheading--weight);--font-h6--letter-spacing: var(--letter-spacing--heading-normal);--font-h6--size: var(--font-size--h6);--font-h6--family: var(--font-subheading--family);--font-h6--style: var(--font-subheading--style);--font-h6--case: none;--font-h6--line-height: var(--line-height--display-loose);
534
535    /* Hardcoded font sizes */
536    --font-size--3xs: 0.625rem;
537    --font-size--2xs: 0.75rem;
538    --font-size--xs: 0.8125rem;
539    --font-size--sm: 0.875rem;
540    --font-size--md: 1rem;
541    --font-size--lg: 1.125rem;
542    --font-size--xl: 1.25rem;
543    --font-size--2xl: 1.5rem;
544    --font-size--3xl: 2rem;
545    --font-size--4xl: 2.5rem;
546    --font-size--5xl: 3rem;
547    --font-size--6xl: 3.5rem;
548
549    /* Menu font sizes */
550    --menu-font-sm--size: 0.875rem;
551    --menu-font-sm--line-height: calc(1.1 + 0.5 * min(16 / 14));
552    --menu-font-md--size: 1rem;
553    --menu-font-md--line-height: calc(1.1 + 0.5 * min(16 / 16));
554    --menu-font-lg--size: 1.125rem;
555    --menu-font-lg--line-height: calc(1.1 + 0.5 * min(16 / 18));
556    --menu-font-xl--size: 1.25rem;
557    --menu-font-xl--line-height: calc(1.1 + 0.5 * min(16 / 20));
558    --menu-font-2xl--size: 1.75rem;
559    --menu-font-2xl--line-height: calc(1.1 + 0.5 * min(16 / 28));
560
561    /* Colors */
562    --color-error: #8B0000;
563    --color-success: #006400;
564    --color-white: #FFFFFF;
565    --color-white-rgb: 255 255 255;
566    --color-black: #000000;
567    --color-instock: #3ED660;
568    --color-lowstock: #EE9441;
569    --color-outofstock: #C8C8C8;
570
571    /* Opacity */
572    --opacity-5: 0.05;
573    --opacity-8: 0.08;
574    --opacity-10: 0.1;
575    --opacity-15: 0.15;
576    --opacity-20: 0.2;
577    --opacity-25: 0.25;
578    --opacity-30: 0.3;
579    --opacity-40: 0.4;
580    --opacity-50: 0.5;
581    --opacity-60: 0.6;
582    --opacity-70: 0.7;
583    --opacity-80: 0.8;
584    --opacity-85: 0.85;
585    --opacity-90: 0.9;
586    --opacity-subdued-text: 0.8;
587    --opacity-muted-text: 0.6;
588
589    --shadow-button: 0 2px 3px rgb(0 0 0 / 20%);
590    --gradient-image-overlay: linear-gradient(to top, rgb(0 0 0 / 0.5), transparent);
591
592    /* Spacing */
593    --margin-3xs: 0.125rem;
594    --margin-2xs: 0.3rem;
595    --margin-xs: 0.5rem;
596    --margin-sm: 0.7rem;
597    --margin-md: 0.8rem;
598    --margin-lg: 1rem;
599    --margin-xl: 1.25rem;
600    --margin-2xl: 1.5rem;
601    --margin-3xl: 1.75rem;
602    --margin-4xl: 2rem;
603    --margin-5xl: 3rem;
604    --margin-6xl: 5rem;
605
606    --scroll-margin: 50px;
607
608    --padding-3xs: 0.125rem;
609    --padding-2xs: 0.25rem;
610    --padding-xs: 0.5rem;
611    --padding-sm: 0.7rem;
612    --padding-md: 0.8rem;
613    --padding-lg: 1rem;
614    --padding-xl: 1.25rem;
615    --padding-2xl: 1.5rem;
616    --padding-3xl: 1.75rem;
617    --padding-4xl: 2rem;
618    --padding-5xl: 3rem;
619    --padding-6xl: 4rem;
620
621    --gap-3xs: 0.125rem;
622    --gap-2xs: 0.3rem;
623    --gap-xs: 0.5rem;
624    --gap-sm: 0.7rem;
625    --gap-md: 0.9rem;
626    --gap-lg: 1rem;
627    --gap-xl: 1.25rem;
628    --gap-2xl: 2rem;
629    --gap-3xl: 3rem;
630
631    --spacing-scale-sm: 0.6;
632    --spacing-scale-md: 0.7;
633    --spacing-scale-default: 1.0;
634
635    /* Checkout buttons gap */
636    --checkout-button-gap: 10px;
637
638    /* Borders */
639    --style-border-width: 1px;
640    --style-border-radius-xs: 0.2rem;
641    --style-border-radius-sm: 0.6rem;
642    --style-border-radius-md: 0.8rem;
643    --style-border-radius-50: 50%;
644    --style-border-radius-lg: 1rem;
645    --style-border-radius-pills: 40px;
646    --style-border-radius-inputs: 4px;
647    --style-border-radius-buttons-primary: 0px;
648    --style-border-radius-buttons-secondary: 14px;
649    --style-border-width-primary: 0px;
650    --style-border-width-secondary: 1px;
651    --style-border-width-inputs: 1px;
652    --style-border-radius-popover: 14px;
653    --style-border-popover: 0px solid #000000;
654    --style-border-drawer: 1px solid #000000;
655    --style-border-swatch-opacity: 10%;
656    --style-border-swatch-width: 1px;
657    --style-border-swatch-style: solid;
658
659    /* Animation */
660    --ease-out-cubic: cubic-bezier(0.33, 1, 0.68, 1);
661    --ease-out-quad: cubic-bezier(0.32, 0.72, 0, 1);
662    --ease-in-out-quad: cubic-bezier(0.455, 0.03, 0.515, 0.955);
663    --animation-speed-fast: 0.0625s;
664    --animation-speed: 0.125s;
665    --animation-speed-slow: 0.2s;
666    --animation-speed-medium: 0.15s;
667    --animation-easing: ease-in-out;
668    --animation-slideshow-easing: cubic-bezier(0.4, 0, 0.2, 1);
669    --drawer-animation-speed: 0.2s;
670    --animation-values-slow: var(--animation-speed-slow) var(--animation-easing);
671    --animation-values: var(--animation-speed) var(--animation-easing);
672    --animation-values-fast: var(--animation-speed-fast) var(--animation-easing);
673    --animation-values-allow-discrete: var(--animation-speed) var(--animation-easing) allow-discrete;
674    --animation-timing-hover: cubic-bezier(0.25, 0.46, 0.45, 0.94);
675    --animation-timing-active: cubic-bezier(0.5, 0, 0.75, 0);
676    --animation-timing-bounce: cubic-bezier(0.34, 1.56, 0.64, 1);
677    --animation-timing-default: cubic-bezier(0, 0, 0.2, 1);
678    --animation-timing-fade-in: cubic-bezier(0.16, 1, 0.3, 1);
679    --animation-timing-fade-out: cubic-bezier(0.4, 0, 0.2, 1);
680    /* Spring definitions suffixed with perceptual duration (d<ms>) and bounce (b<%>)*/
681    --spring-d300-b0-easing: linear(0, 0.0033 0.81%, 0.027 2.42%, 0.0916 4.84%, 0.4745 15.32%, 0.6422 20.97%, 0.7175, 0.7789, 0.8283 30.64%, 0.876, 0.9111 38.71%, 0.941, 0.9611 48.39%, 0.9707, 0.978 54.84%, 0.9885 62.1%, 0.9949 70.97%, 0.9982 82.26%, 0.9997 100%);
682    --spring-d300-b0-duration: 0.4980s;
683    --spring-d280-b0-easing: linear(0, 0.0044, 0.0164 1.85%, 0.085 4.63%, 0.4571 14.81%, 0.575 18.52%, 0.6505, 0.7148 24.07%, 0.7849, 0.8393, 0.8809 35.18%, 0.9189, 0.9453 44.44%, 0.9662, 0.9793 55.55%, 0.9894 62.95%, 0.995 71.28%, 0.9982 82.39%, 0.9997 99.98%);
684    --spring-d280-b0-duration: 0.4648s;
685    --spring-d260-b0-easing: linear(0, 0.0058, 0.0216 2.15%, 0.0748 4.29%, 0.4646 15.03%, 0.5673, 0.655, 0.7279, 0.7872, 0.8349, 0.8727 34.36%, 0.9107, 0.9379 42.95%, 0.9609 48.31%, 0.9778 54.76%, 0.9887 62.27%, 0.9948 70.86%, 0.9983 82.67%, 0.9997 99.85%);
686    --spring-d260-b0-duration: 0.4316s;
687    --spring-d220-b0-easing: linear(
688      0,
689      0.0093 1.37%,
690      0.0696 4.12%,
691      0.4667 15.09%,
692      0.6322 20.58%,
693      0.6986 23.32%,
694      0.7793 27.44%,
695      0.8219 30.18%,
696      0.8721,
697      0.9089 38.42%,
698      0.9427,
699      0.9644,
700      0.978 54.88%,
701      0.9881 61.74%,
702      0.9944 69.97%,
703      0.998 80.95%,
704      0.9996 98.78%
705    );
706    --spring-d220-b0-duration: 0.3818s;
707    --spring-d180-b0-easing: linear(0, 0.0234, 0.0805 4.48%, 0.4865 15.68%, 0.6211 20.16%, 0.7696 26.88%, 0.8064 29.12%, 0.8646, 0.9063, 0.9358, 0.9563 47.04%, 0.9757, 0.9867 60.48%, 0.9941 69.44%, 0.9979 80.64%, 0.9996 98.56%);
708    --spring-d180-b0-duration: 0.2988s;
709
710    /* View transitions */
711    /* View transition old */
712    --view-transition-old-main-content: var(--animation-speed) var(--animation-easing) both fadeOut;
713
714    /* View transition new */
715    --view-transition-new-main-content: var(--animation-speed) var(--animation-easing) both fadeIn, var(--animation-speed) var(--animation-easing) both slideInTopViewTransition;
716
717    /* Focus */
718    --focus-outline-width: 0.09375rem;
719    --focus-outline-offset: 0.2em;
720
721    /* Badges */
722    --badge-blob-padding-block: 1px;
723    --badge-blob-padding-inline: 12px 8px;
724    --badge-rectangle-padding-block: 1px;
725    --badge-rectangle-padding-inline: 6px;
726    @media screen and (min-width: 750px) {
727      --badge-blob-padding-block: 4px;
728      --badge-blob-padding-inline: 16px 12px;
729      --badge-rectangle-padding-block: 4px;
730      --badge-rectangle-padding-inline: 10px;
731    }
732
733    /* Icons */
734    --icon-size-2xs: 0.6rem;
735    --icon-size-xs: 0.85rem;
736    --icon-size-sm: 1.25rem;
737    --icon-size-md: 1.375rem;
738    --icon-size-lg: 1.5rem;
739    --icon-stroke-width: 1.5px;
740
741    /* Input */
742    --input-email-min-width: 200px;
743    --input-search-max-width: 650px;
744    --input-padding-y: 0.8rem;
745    --input-padding-x: 0.8rem;
746    --input-padding: var(--input-padding-y) var(--input-padding-x);
747    --input-box-shadow-width: var(--style-border-width-inputs);
748    --input-box-shadow: 0 0 0 var(--input-box-shadow-width) var(--color-input-border);
749    --input-box-shadow-focus: 0 0 0 calc(var(--input-box-shadow-width) + 0.5px) var(--color-input-border);
750    --input-disabled-background-color: rgb(var(--color-foreground-rgb) / var(--opacity-10));
751    --input-disabled-border-color: rgb(var(--color-foreground-rgb) / var(--opacity-5));
752    --input-disabled-text-color: rgb(var(--color-foreground-rgb) / var(--opacity-50));
753    --input-textarea-min-height: 55px;
754
755    /* Checkbox */
756    --checkbox-size: 22px;
757    --checkbox-border-radius: 7px;
758    --checkbox-border: 1px solid rgb(var(--color-foreground-rgb) / var(--opacity-35-55));
759    --checkbox-label-padding: 8px;
760
761    @media screen and (min-width: 750px) {
762      --checkbox-size: 16px;
763      --checkbox-border-radius: 5px;
764      --checkbox-label-padding: 6px;
765    }
766
767    /* Button size */
768    --button-size-sm: 30px;
769    --button-size-md: 36px;
770    --button-size: var(--minimum-touch-target);
771    --button-padding-inline: 24px;
772    --button-padding-block: 16px;
773
774    /* Button font-family */
775    --button-font-family-primary: var(--font-body--family);
776    --button-font-family-secondary: var(--font-body--family);
777
778    /* Button text case */
779    --button-text-case: ;
780    --button-text-case-primary: default;
781    --button-text-case-secondary: default;
782
783    /* Borders */
784    --border-color: rgb(var(--color-border-rgb) / var(--opacity-50));
785    --border-width-sm: 1px;
786    --border-width-md: 2px;
787    --border-width-lg: 5px;
788    --border-radius-sm: 0.25rem;
789
790    /* Drawers */
791    --drawer-inline-padding: 25px;
792    --drawer-menu-inline-padding: 2.5rem;
793    --drawer-header-block-padding: 20px;
794    --drawer-content-block-padding: 10px;
795    --drawer-header-desktop-top: 0rem;
796    --drawer-padding: calc(var(--padding-sm) + 7px);
797    --drawer-height: 100dvh;
798    --drawer-width: 95vw;
799    --drawer-max-width: 500px;
800
801    /* Variant Picker Swatches */
802    --variant-picker-swatch-width-unitless: 34;
803    --variant-picker-swatch-height-unitless: 34;
804    --variant-picker-swatch-width: 34px;
805    --variant-picker-swatch-height: 34px;
806    --variant-picker-swatch-radius: 32px;
807    --variant-picker-border-width: 1px;
808    --variant-picker-border-style: solid;
809    --variant-picker-border-opacity: 10%;
810
811    /* Variant Picker Buttons */
812    --variant-picker-button-radius: 0px;
813    --variant-picker-button-border-width: 1px;
814    --variant-option-label-color: var(--color, var(--color-foreground));
815
816    /* Slideshow */
817    --slideshow-controls-size: 3.5rem;
818    --slideshow-controls-icon: 2rem;
819    --peek-next-slide-size: 3rem;
820
821    /* Utilities */
822    --backdrop-opacity: 0.15;
823    --backdrop-color-rgb: var(--color-shadow-rgb);
824    --minimum-touch-target: 44px;
825    --disabled-opacity: 0.5;
826    --skeleton-opacity: 0.025;
827
828    /* Shapes */
829    --shape--circle: circle(50% at center);
830    --shape--sunburst: polygon(100% 50%,94.62% 55.87%,98.3% 62.94%,91.57% 67.22%,93.3% 75%,85.7% 77.39%,85.36% 85.36%,77.39% 85.7%,75% 93.3%,67.22% 91.57%,62.94% 98.3%,55.87% 94.62%,50% 100%,44.13% 94.62%,37.06% 98.3%,32.78% 91.57%,25% 93.3%,22.61% 85.7%,14.64% 85.36%,14.3% 77.39%,6.7% 75%,8.43% 67.22%,1.7% 62.94%,5.38% 55.87%,0% 50%,5.38% 44.13%,1.7% 37.06%,8.43% 32.78%,6.7% 25%,14.3% 22.61%,14.64% 14.64%,22.61% 14.3%,25% 6.7%,32.78% 8.43%,37.06% 1.7%,44.13% 5.38%,50% 0%,55.87% 5.38%,62.94% 1.7%,67.22% 8.43%,75% 6.7%,77.39% 14.3%,85.36% 14.64%,85.7% 22.61%,93.3% 25%,91.57% 32.78%,98.3% 37.06%,94.62% 44.13%);
831    --shape--diamond: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
832    --shape--blob: polygon(85.349% 11.712%, 87.382% 13.587%, 89.228% 15.647%, 90.886% 17.862%, 92.359% 20.204%, 93.657% 22.647%, 94.795% 25.169%, 95.786% 27.752%, 96.645% 30.382%, 97.387% 33.048%, 98.025% 35.740%, 98.564% 38.454%, 99.007% 41.186%, 99.358% 43.931%, 99.622% 46.685%, 99.808% 49.446%, 99.926% 52.210%, 99.986% 54.977%, 99.999% 57.744%, 99.975% 60.511%, 99.923% 63.278%, 99.821% 66.043%, 99.671% 68.806%, 99.453% 71.565%, 99.145% 74.314%, 98.724% 77.049%, 98.164% 79.759%, 97.433% 82.427%, 96.495% 85.030%, 95.311% 87.529%, 93.841% 89.872%, 92.062% 91.988%, 89.972% 93.796%, 87.635% 95.273%, 85.135% 96.456%, 82.532% 97.393%, 79.864% 98.127%, 77.156% 98.695%, 74.424% 99.129%, 71.676% 99.452%, 68.918% 99.685%, 66.156% 99.844%, 63.390% 99.942%, 60.624% 99.990%, 57.856% 99.999%, 55.089% 99.978%, 52.323% 99.929%, 49.557% 99.847%, 46.792% 99.723%, 44.031% 99.549%, 41.273% 99.317%, 38.522% 99.017%, 35.781% 98.639%, 33.054% 98.170%, 30.347% 97.599%, 27.667% 96.911%, 25.024% 96.091%, 22.432% 95.123%, 19.907% 93.994%, 17.466% 92.690%, 15.126% 91.216%, 12.902% 89.569%, 10.808% 87.761%, 8.854% 85.803%, 7.053% 83.703%, 5.418% 81.471%, 3.962% 79.119%, 2.702% 76.656%, 1.656% 74.095%, 0.846% 71.450%, 0.294% 68.740%, 0.024% 65.987%, 0.050% 63.221%, 0.343% 60.471%, 0.858% 57.752%, 1.548% 55.073%, 2.370% 52.431%, 3.283% 49.819%, 4.253% 47.227%, 5.249% 44.646%, 6.244% 42.063%, 7.211% 39.471%, 8.124% 36.858%, 8.958% 34.220%, 9.711% 31.558%, 10.409% 28.880%, 11.083% 26.196%, 11.760% 23.513%, 12.474% 20.839%, 13.259% 18.186%, 14.156% 15.569%, 15.214% 13.012%, 16.485% 10.556%, 18.028% 8.261%, 19.883
832% 6.211%, 22.041% 4.484%, 24.440% 3.110%, 26.998% 2.057%, 29.651% 1.275%, 32.360% 0.714%, 35.101% 0.337%, 37.859% 0.110%, 40.624% 0.009%, 43.391% 0.016%, 46.156% 0.113%, 48.918% 0.289%, 51.674% 0.533%, 54.425% 0.837%, 57.166% 1.215%, 59.898% 1.654%, 62.618% 2.163%, 65.322% 2.750%, 68.006% 3.424%, 70.662% 4.197%, 73.284% 5.081%, 75.860% 6.091%, 78.376% 7.242%, 80.813% 8.551%, 83.148% 10.036%, 85.349% 11.712%);
833
834    /* Buy buttons */
835    --height-buy-buttons: calc(var(--padding-lg) * 2 + var(--icon-size-sm));
836
837    /* Card image width and height variables */
838    --card-width-small: 10rem;
839
840    --height-small: 10rem;
841    --height-medium: 11.5rem;
842    --height-large: 13rem;
843    --height-full: 100vh;
844
845    @media screen and (min-width: 750px) {
846      --height-small: 17.5rem;
847      --height-medium: 21.25rem;
848      --height-large: 25rem;
849    }
850
851    /* Modal */
852    --modal-max-height: 65dvh;
853    --quick-add-modal-height: min(38.5rem, 96vh);
854    --quick-add-modal-width: min(54rem, 96vw);
855    --quick-add-modal-gallery-width: 24rem;
856
857    /* Card styles for search */
858    --card-bg-hover: rgb(var(--color-foreground-rgb) / var(--opacity-5));
859    --card-border-hover: rgb(var(--color-foreground-rgb) / var(--opacity-30));
860    --card-border-focus: rgb(var(--color-foreground-rgb) / var(--opacity-10));
861
862    /* Cart */
863    --cart-primary-font-family: var(--font-body--family);
864    --cart-primary-font-style: var(--font-body--style);
865    --cart-primary-font-weight: var(--font-body--weight);
866    --cart-secondary-font-family: var(--font-secondary--family);
867    --cart-secondary-font-style: var(--font-secondary--style);
868    --cart-secondary-font-weight: var(--font-secondary--weight);
869  }
870</style>
871
872
873
874
875
876
877  <style data-shopify>
878    .color-custom-popover,
879    .color-custom-popover .text-block {
880      /* Background */
881      --color-background: #ffffff;
882      --color-background-rgb: 255 255 255;
883
884      /* Opacity values adjusted for background brightness */
885      
886--opacity-5-15: 0.05; --opacity-10-25: 0.1; --opacity-35-55: 0.35; --opacity-40-60:
8870.4; --opacity-30-60: 0.3; --opacity-60: 0.6;
888
889
890      
891        /* Foreground / text — explicit or smart-contrasted */
892        --color: #000000;
893        --color-rgb: 0 0 0;
894        --color-foreground: #000000;
895        --color-foreground-rgb: 0 0 0;
896        --color-foreground-muted: rgb(0 0 0 / var(--opacity-muted-text));
897        --color-foreground-subdued: rgb(0 0 0 / var(--opacity-subdued-text));
898        --color-border: #000000;
899        --color-border-rgb: 0 0 0;
900      
901    }
902
903    
904      .color-custom-popover {
905        /* Form-related tokens stay on .color-custom only — .text-block is a prose
906           container (text/announcement/inline-text/blog-post-description/
907           collection-link/price/sku) and never holds form inputs. */
908        --input-disabled-background-color: rgb(0 0 0 / var(--opacity-10));
909        --input-disabled-border-color: rgb(0 0 0 / var(--opacity-5));
910        --input-disabled-text-color: rgb(0 0 0 / var(--opacity-50));
911        --checkbox-border: 1px solid rgb(0 0 0 / var(--opacity-35-55));
912      }
913    
914
915    .color-custom-popover {
916      color: var(--color, var(--color-foreground));
917      background-color: var(--color-background);
918    }
919  </style>
920
921
922
923
924
925
926
927
928  <style data-shopify>
929    .color-custom-drawer,
930    .color-custom-drawer .text-block {
931      /* Background */
932      --color-background: #ffffff;
933      --color-background-rgb: 255 255 255;
934
935      /* Opacity values adjusted for background brightness */
936      
937--opacity-5-15: 0.05; --opacity-10-25: 0.1; --opacity-35-55: 0.35; --opacity-40-60:
9380.4; --opacity-30-60: 0.3; --opacity-60: 0.6;
939
940
941      
942        /* Foreground / text — explicit or smart-contrasted */
943        --color: #000000;
944        --color-rgb: 0 0 0;
945        --color-foreground: #000000;
946        --color-foreground-rgb: 0 0 0;
947        --color-foreground-muted: rgb(0 0 0 / var(--opacity-muted-text));
948        --color-foreground-subdued: rgb(0 0 0 / var(--opacity-subdued-text));
949        --color-border: #000000;
950        --color-border-rgb: 0 0 0;
951      
952    }
953
954    
955      .color-custom-drawer {
956        /* Form-related tokens stay on .color-custom only — .text-block is a prose
957           container (text/announcement/inline-text/blog-post-description/
958           collection-link/price/sku) and never holds form inputs. */
959        --input-disabled-background-color: rgb(0 0 0 / var(--opacity-10));
960        --input-disabled-border-color: rgb(0 0 0 / var(--opacity-5));
961        --input-disabled-text-color: rgb(0 0 0 / var(--opacity-50));
962        --checkbox-border: 1px solid rgb(0 0 0 / var(--opacity-35-55));
963      }
964    
965
966    .color-custom-drawer {
967      color: var(--color, var(--color-foreground));
968      background-color: var(--color-background);
969    }
970  </style>
971
972
973
974
975
976
977
978
979  <style data-shopify>
980    .color-custom-badge-sale,
981    .color-custom-badge-sale .text-block {
982      /* Background */
983      --color-background: #000000;
984      --color-background-rgb: 0 0 0;
985
986      /* Opacity values adjusted for background brightness */
987      
988--opacity-5-15: 0.15; --opacity-10-25: 0.25; --opacity-35-55: 0.55; --opacity-40-60:
9890.6; --opacity-30-60: 0.6; --opacity-60: 0.6;
990
991
992      
993        /* Foreground / text — explicit or smart-contrasted */
994        --color: var(--palette-lightest);
995        --color-rgb: var(--palette-lightest-rgb);
996        --color-foreground: var(--palette-lightest);
997        --color-foreground-rgb: var(--palette-lightest-rgb);
998        --color-foreground-muted: rgb(var(--palette-lightest-rgb) / var(--opacity-muted-text));
999        --color-foreground-subdued: rgb(var(--palette-lightest-rgb) / var(--opacity-subdued-text));
1000        --color-border: var(--palette-lightest);
1001        --color-border-rgb: var(--palette-lightest-rgb);
1002      
1003    }
1004
1005    
1006      .color-custom-badge-sale {
1007        /* Form-related tokens stay on .color-custom only — .text-block is a prose
1008           container (text/announcement/inline-text/blog-post-description/
1009           collection-link/price/sku) and never holds form inputs. */
1010        --input-disabled-background-color: rgb(var(--palette-lightest-rgb) / var(--opacity-10));
1011        --input-disabled-border-color: rgb(var(--palette-lightest-rgb) / var(--opacity-5));
1012        --input-disabled-text-color: rgb(var(--palette-lightest-rgb) / var(--opacity-50));
1013        --checkbox-border: 1px solid rgb(var(--palette-lightest-rgb) / var(--opacity-35-55));
1014      }
1015    
1016
1017    .color-custom-badge-sale {
1018      color: var(--color, var(--color-foreground));
1019      background-color: var(--color-background);
1020    }
1021  </style>
1022
1023
1024
1025
1026
1027
1028
1029
1030  <style data-shopify>
1031    .color-custom-badge-sold-out,
1032    .color-custom-badge-sold-out .text-block {
1033      /* Background */
1034      --color-background: #ffffff;
1035      --color-background-rgb: 255 255 255;
1036
1037      /* Opacity values adjusted for background brightness */
1038      
1039--opacity-5-15: 0.05; --opacity-10-25: 0.1; --opacity-35-55: 0.35; --opacity-40-60:
10400.4; --opacity-30-60: 0.3; --opacity-60: 0.6;
1041
1042
1043      
1044        /* Foreground / text — explicit or smart-contrasted */
1045        --color: #000000;
1046        --color-rgb: 0 0 0;
1047        --color-foreground: #000000;
1048        --color-foreground-rgb: 0 0 0;
1049        --color-foreground-muted: rgb(0 0 0 / var(--opacity-muted-text));
1050        --color-foreground-subdued: rgb(0 0 0 / var(--opacity-subdued-text));
1051        --color-border: #000000;
1052        --color-border-rgb: 0 0 0;
1053      
1054    }
1055
1056    
1057      .color-custom-badge-sold-out {
1058        /* Form-related tokens stay on .color-custom only — .text-block is a prose
1059           container (text/announcement/inline-text/blog-post-description/
1060           collection-link/price/sku) and never holds form inputs. */
1061        --input-disabled-background-color: rgb(0 0 0 / var(--opacity-10));
1062        --input-disabled-border-color: rgb(0 0 0 / var(--opacity-5));
1063        --input-disabled-text-color: rgb(0 0 0 / var(--opacity-50));
1064        --checkbox-border: 1px solid rgb(0 0 0 / var(--opacity-35-55));
1065      }
1066    
1067
1068    .color-custom-badge-sold-out {
1069      color: var(--color, var(--color-foreground));
1070      background-color: var(--color-background);
1071    }
1072  </style>
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091<style data-shopify>
1092  /* Palette colors */
1093  :root {
1094    --color-background: #ffffff;
1095    --color-background-rgb: 255 255 255;
1096    --color-foreground: #000000;
1097    --color-foreground-rgb: 0 0 0;
1098    --color-border: #000000;
1099    --color-border-rgb: 0 0 0;
1100    --palette-lightest: #ffffff;
1101    --palette-lightest-rgb: 255 255 255;
1102    --palette-darkest: #000000;
1103    --palette-darkest-rgb: 0 0 0;
1104    
1105--opacity-5-15: 0.05; --opacity-10-25: 0.1; --opacity-35-55: 0.35; --opacity-40-60:
11060.4; --opacity-30-60: 0.3; --opacity-60: 0.6;
1107
1108
1109    --color-primary-button-text: rgb(255 255 255 / 1.0);
1110    --color-primary-button-background: rgb(0 0 0 / 1.0);
1111    --color-primary-button-border: rgb(255 255 255 / 1.0);
1112    --color-primary-button-focus-outline: rgb(0 0 0);
1113    --color-primary-button-hover-text: rgb(255 255 255 / 1.0);
1114    --color-primary-button-hover-background: #262626;
1115    --color-primary-button-hover-border: #f2f2f2;
1116
1117    --color-secondary-button-text: rgb(0 0 0 / 1.0);
1118    --color-secondary-button-background: rgb(255 255 255 / 1.0);
1119    --color-secondary-button-border: rgb(0 0 0 / 1.0);
1120    --color-secondary-button-hover-text: rgb(0 0 0 / 1.0);
1121    --color-secondary-button-hover-background: #f2f2f2;
1122    --color-secondary-button-hover-border: #262626;
1123
1124    --color-input-background: rgb(255 255 255 / 1.0);
1125    --color-input-text: rgb(0 0 0 / 1.0);
1126    --color-input-text-rgb: 0 0 0;
1127    --color-input-border: rgb(0 0 0 / 1.0);
1128
1129    --color-variant-background: rgb(255 255 255 / 1.0);
1130    --color-variant-border: rgb(0 0 0 / 1.0);
1131    --color-variant-text: rgb(0 0 0 / 1.0);
1132    --color-variant-text-rgb: 0 0 0;
1133    --color-variant-hover-background: #f2f2f2;
1134    --color-variant-hover-text: rgb(0 0 0 / 1.0);
1135    --color-variant-hover-border: #262626;
1136
1137    --color-selected-variant-background: rgb(0 0 0 / 1.0);
1138    --color-selected-variant-border: rgb(0 0 0 / 1.0);
1139    --color-selected-variant-text: rgb(255 255 255 / 1.0);
1140    --color-selected-variant-text-rgb: 255 255 255;
1141    --color-selected-variant-hover-background: #262626;
1142    --color-selected-variant-hover-text: rgb(255 255 255 / 1.0);
1143    --color-selected-variant-hover-border: #262626;
1144
1145    --input-disabled-background-color: rgb(var(--color-foreground-rgb) / var(--opacity-10));
1146    --input-disabled-border-color: rgb(var(--color-foreground-rgb) / var(--opacity-5-15));
1147    --input-disabled-text-color: rgb(var(--color-foreground-rgb) / var(--opacity-50));
1148    --color-foreground-muted: rgb(var(--color-rgb, var(--color-foreground-rgb)) / var(--opacity-muted-text));
1149    --color-foreground-subdued: rgb(var(--color-rgb, var(--color-foreground-rgb)) / var(--opacity-subdued-text));
1150    --color-drawer-shadow-rgb: ;
1151    --color-popover-shadow-rgb: 0 0 0;
1152
1153    /* Shadows */
1154    
1155      --shadow-drawer: 0px 4px 20px rgb(var(--color-drawer-shadow-rgb) / var(--opacity-15));
1156    
1157    
1158      --shadow-blur: 20px;
1159      --shadow-popover: 0px 4px 20px rgb(var(--color-popover-shadow-rgb) / var(--opacity-15));
1160    
1161  }
1162
1163  body {
1164    color: var(--color-foreground);
1165    background-color: var(--color-background);
1166  }
1167</style>
1168
1169
1170    
1170<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script>
1170<meta name="facebook-domain-verification" content="tfbeabwu05fg49y7pjp7fzpkpv7jh8">
1171<meta name="google-site-verification" content="X1T_66q-ax_cKLIDRS5-qUBvMIz122J34bSTO5qyjwA">
1172<meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/12714023/digital_wallets/dialog">
1173<link rel="ucp" href="/.well-known/ucp" version="2026-08-25">
1173<script async="async" src="/checkouts/internal/preloads.js?locale=en-US"></script>
1173
1174<link rel="preconnect" href="https://shop.app" crossorigin="anonymous">
1175<script async="async" src="https://shop.app/checkouts/internal/preloads.js?locale=en-US&shop_id=12714023" crossorigin="anonymous"></script>
vendor: 1 bytes, line 1175
1175
1176<script id="apple-pay-shop-capabilities" type="application/json">{"shopId":12714023,"countryCode":"GB","currencyCode":"USD","merchantCapabilities":["supports3DS"],"merchantId":"gid:\/\/shopify\/Shop\/12714023","merchantName":"Eye Books Group","requiredBillingContactFields":["postalAddress","email","phone"],"requiredShippingContactFields":["postalAddress","email","phone"],"shippingType":"shipping","supportedNetworks":["visa","masterCard","discover","amex","maestro","elo"],"total":{"type":"pending","label":"Eye Books Group","amount":"1.00"},"shopifyPaymentsEnabled":true,"supportsSubscriptions":true}</script>
vendor: 1 bytes, line 1176
1176
1177<script id="shopify-features" type="application/json">{"accessToken":"6dbbb2694a2d6f5bf1befb34c1df9389","betas":["rich-media-storefront-analytics"],"domain":"www.eyebooksgroup.com","predictiveSearch":true,"shopId":12714023,"locale":"en"}</script>
vendor: 1 bytes, line 1177
1177
1178<script>var Shopify = Shopify || {};
1179Shopify.shop = "eye-books-store.myshopify.com";
1180Shopify.locale = "en";
1181Shopify.currency = {"active":"USD","rate":"1.350531"};
1182Shopify.country = "US";
1183Shopify.theme = {"name":"GSD LIVE 17-09-26 N","id":198742507904,"schema_name":"Horizon","schema_version":"4.1.3","theme_store_id":null,"role":"main"};
1184Shopify.theme.handle = "null";
1185Shopify.theme.style = {"id":null,"handle":null};
1186Shopify.cdnHost = "www.eyebooksgroup.com/cdn";
1187Shopify.routes = Shopify.routes || {};
1188Shopify.routes.root = "/";
1189Shopify.shopJsCdnBaseUrl = "https://cdn.shopify.com/shopifycloud/shop-js";
1190Shopify.SignInWithShop = Shopify.SignInWithShop || {};
1191Shopify.SignInWithShop.User = Shopify.SignInWithShop.User || {};
1192Shopify.SignInWithShop.User.recognized = false;</script>
vendor: 1 bytes, line 1192
1192
1193<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
vendor: 1 bytes, line 1193
1193
1194<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 1194
1194
1195<script>
1196  window.ShopifyPay = window.ShopifyPay || {};
1197  window.ShopifyPay.apiHost = "shop.app\/pay";
1198  window.ShopifyPay.redirectState = null;
1199</script>
vendor: 1 bytes, line 1199
1199
1200<script>
1201  window.Shopify = window.Shopify || {};
1202  window.Shopify.SignInWithShop = window.Shopify.SignInWithShop || {};
1203  window.Shopify.SignInWithShop.assetMetrics = { sampleRate: 0.25 };
1204  window.Shopify.SignInWithShop.eligible = true;
1205</script>
vendor: 1 bytes, line 1205
1205
1206<script id="shop-js-analytics" type="application/json">{"pageType":"page"}</script>
vendor: 1 bytes, line 1206
1206
1207<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 1207
1207
1208<script type="module">
1209  await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js");
1210
1211  window.Shopify.SignInWithShop?.initShopCartSync?.({"fedCMEnabled":true,"windoidEnabled":true});
1212
1213</script>
vendor: 1 bytes, line 1213
1213
1214<script>
1215  window.Shopify = window.Shopify || {};
1216  if (!window.Shopify.featureAssets) window.Shopify.featureAssets = {};
1217  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"]};
1218</script>
vendor: 1 bytes, line 1218
1218
1219<script>(function() {
1220  var isLoaded = false;
1221  function asyncLoad() {
1222    if (isLoaded) return;
1223    isLoaded = true;
1224    var urls = ["https:\/\/api.revy.io\/bundle.js?shop=eye-books-store.myshopify.com","https:\/\/cdn.nfcube.com\/instafeed-e039f38e79259d7dc9772b44f884dd45.js?shop=eye-books-store.myshopify.com"];
1225    for (var i = 0; i < urls.length; i++) {
1226      var s = document.createElement('script');
1227      s.type = 'text/javascript';
1228      s.async = true;
1229      s.src = urls[i];
1230      var x = document.getElementsByTagName('script')[0];
1231      x.parentNode.insertBefore(s, x);
1232    }
1233  };
1234  if(window.attachEvent) {
1235    window.attachEvent('onload', asyncLoad);
1236  } else {
1237    window.addEventListener('load', asyncLoad, false);
1238  }
1239})();</script>
vendor: 1 bytes, line 1239
1239
1240<script id="__st">var __st={"a":12714023,"offset":3600,"reqid":"79924ee8-d582-4ded-9ca8-e524f0dba898-1791521947","pageurl":"www.eyebooksgroup.com\/pages\/about-us","s":"pages-180467975","u":"dfd99616843e","p":"page","rtyp":"page","rid":180467975};</script>
vendor: 1 bytes, line 1240
1240
1241<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
vendor: 1 bytes, line 1241
1241
1242<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 1242
1242
1243<script integrity="sha256-JjoPp5ZfB1sSAs5SQaol1x1GgvveM+BgmRzyDexInEQ=" data-source-attribution="shopify.loadfeatures" defer="defer" src="//www.eyebooksgroup.com/cdn/shopifycloud/storefront/assets/storefront/load_feature-1bd60354.js" crossorigin="anonymous"></script>
vendor: 1 bytes, line 1243
1243
1244<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 = "//www.eyebooksgroup.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>
1244<script crossorigin="anonymous" defer="defer" src="//www.eyebooksgroup.com/cdn/shopifycloud/storefront/assets/shopify_pay/storefront-f0e26bdf.js?v=20250812"></script>
vendor: 1 bytes, line 1244
1244
1245<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 1245
1245
1246<script>
1247  window.Shopify = window.Shopify || {};
1248  window.Shopify.MCP = window.Shopify.MCP || {};
1249  window.Shopify.MCP.enabled = true;
1250  window.Shopify.MCP.shop = "eye-books-store.myshopify.com";
1251  window.Shopify.MCP.mcpEndpoint = "https:\/\/www.eyebooksgroup.com\/api\/mcp";
1252  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?\"\nSet policy_types to also get the store's written policies (full text and URL).\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."},"policy_types":{"type":"array","items":{"type":"string","enum":["refund","shipping","privacy","terms_of_service","terms_of_sale","subscription","legal_notice","contact"]},"description":"Policy kinds to fetch, chosen from the user's question — e.g. [\"refund\"] for returns\/exchanges\/damaged items, [\"contact\"] for phone\/hours\/address. Include every kind the question touches. Omit it to get only FAQ answers."}},"required":["query"]}}];
1253</script>
vendor: 1 bytes, line 1253
1253
1254<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("\/\/www.eyebooksgroup.com\/cdn\/shopifycloud\/storefront\/assets\/storefront\/webmcp-c6b62ece.js","sha256-ke4DDuBjdvea3vxLWxHc9E9nq8zihuG4IfYEGbb77ys=");})();
1255</script>
vendor: 1 bytes, line 1255
1255
1256<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://www.eyebooksgroup.com/cdn/shopifycloud/portable-wallets/latest/portable-wallets.en.js",t.type="module",document.head.appendChild(t)}};
1257</script>
vendor: 1 bytes, line 1257
1257
1258<script data-source-attribution="shopify.dynamic_checkout.buyer_consent">
1259  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);
1260</script>
vendor: 1 bytes, line 1260
1260
1261<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})}}));
1262</script>
1262
1263<link id="shopify-accelerated-checkout-styles" rel="stylesheet" media="screen" href="https://www.eyebooksgroup.com/cdn/shopifycloud/portable-wallets/latest/accelerated-checkout-backwards-compat.css" crossorigin="anonymous">
1264<style id="shopify-accelerated-checkout-cart">
1265        #shopify-buyer-consent {
1266  margin-top: 1em;
1267  display: inline-block;
1268  width: 100%;
1269}
1270
1271#shopify-buyer-consent.hidden {
1272  display: none;
1273}
1274
1275#shopify-subscription-policy-button {
1276  background: none;
1277  border: none;
1278  padding: 0;
1279  text-decoration: underline;
1280  font-size: inherit;
1281  cursor: pointer;
1282}
1283
1284#shopify-subscription-policy-button::before {
1285  box-shadow: none;
1286}
1287
1288      </style>
1289<link rel="stylesheet" media="screen" href="//www.eyebooksgroup.com/cdn/shop/t/33/compiled_assets/styles.css?v=156859018295266098541789662477">
1290<script id="shopify-cfh-end">window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
1290
1291  <!-- BEGIN app block: shopify://apps/klaviyo-email-marketing-sms/blocks/klaviyo-onsite-embed/2632fe16-c075-4321-a88b-50b567f42507 -->
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304  
1304<script async src="https://static.klaviyo.com/onsite/js/WLMrKJ/klaviyo.js?company_id=WLMrKJ"></script>
1304
1305  
1305<script>!function(){if(!window.klaviyo){window._klOnsite=window._klOnsite||[];try{window.klaviyo=new Proxy({},{get:function(n,i){return"push"===i?function(){var n;(n=window._klOnsite).push.apply(n,arguments)}:function(){for(var n=arguments.length,o=new Array(n),w=0;w<n;w++)o[w]=arguments[w];var t="function"==typeof o[o.length-1]?o.pop():void 0,e=new Promise((function(n){window._klOnsite.push([i].concat(o,[function(i){t&&t(i),n(i)}]))}));return e}}})}catch(n){window.klaviyo=window.klaviyo||[],window.klaviyo.push=function(){var n;(n=window._klOnsite).push.apply(n,arguments)}}}}();</script>
1305
1306
1307  
1308
1309
1310
1311
1312  
1312<script>
1313    window.klaviyoReviewsProductDesignMode = false
1314  </script>
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324<!-- END app block --><link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch">
1325<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: 12714023,url: window.location.href,navigation_start,duration: currentMs - navigation_start,session_token,page_type: "page"};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 1325
1325
1326<script>
1327  window.__TREKKIE_SHIM_QUEUE = window.__TREKKIE_SHIM_QUEUE || [];
1328</script>
vendor: 1 bytes, line 1328
1328
1329<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}
1329).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: 12714023,storefrontBaseUrl: "https://www.eyebooksgroup.com",extensionsBaseUrl: "https://extensions.shopifycdn.com/cdn/shopifycloud/web-pixels-manager",monorailEndpoint: "https://www.eyebooksgroup.com/.well-known/shopify/monorail/unstable/produce_batch",surface: "storefront-renderer",enabledBetaFlags: ["4c64608a","16072cab"],webPixelsConfigList: [{"id":"3808330112","configuration":"{\"accountID\":\"WLMrKJ\",\"webPixelConfig\":\"eyJlbmFibGVBZGRlZFRvQ2FydEV2ZW50cyI6IHRydWV9\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"c63c5b72c8d77be5f2d27d14c081da38","type":"APP","apiClientId":123074,"privacyPurposes":["ANALYTICS","MARKETING"],"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":"2347925888","configuration":"{\"subdomain\":\"eye-books-store\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"42cd9b1f0fb7c1cae5cd21175cef6782","type":"APP","apiClientId":1615517,"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":[]},"dataSharingState":"optimized","enabledFlags":["9a3ed68a"]}
1329,{"id":"1850179968","configuration":"{\"config\":\"{\\\"google_tag_ids\\\":[\\\"GT-PZ6C9ZFK\\\"],\\\"gtag_events\\\":[{\\\"type\\\":\\\"view_item\\\",\\\"action_label\\\":\\\"MC-637P6755LM\\\"},{\\\"type\\\":\\\"purchase\\\",\\\"action_label\\\":\\\"MC-637P6755LM\\\"},{\\\"type\\\":\\\"page_view\\\",\\\"action_label\\\":\\\"MC-637P6755LM\\\"}],\\\"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":"1777893760","configuration":"{\"pixel_id\":\"1589812867925939\",\"pixel_type\":\"facebook_pixel\"}","eventPayloadVersion":"v1","runtimeContext":"OPEN","scriptVersion":"bd2f978c17a94bbb8a74d43de2165dc5","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":"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":"Eye Books Group","paymentSettings":{"currencyCode":"GBP"},"myshopifyDomain":"eye-books-store.myshopify.com","countryCode":"GB","storefrontUrl":"https:\/\/www.eyebooksgroup.com"},"customer":null,"cart":null,"checkout":null,"productVariants":[],"products":[{"id":"15878791332224","handle":"108-psychopaths-and-me","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"58627807838592","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"15104264110464","handle":"a-circle-outside","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"55748313186688","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"15878785302912","handle":"a-hundred-years-to-arras","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"58627795583360","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"1327946629182","handle":"a-long-shadow","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"12192589119550","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]}],"purchasingCompany":null},},"https://www.eyebooksgroup.com/cdn","7ec887c8w14f9f074p854094e1m1370c602",{"modern":"","legacy":""},{"trekkieShim":true,"agentContext":true,"apiClientId":"580111","facebookCapiEnabled":"true","themeId":"198742507904","themePublished":"true","eventMetadataId":"06c11787-906b-4890-a1f4-b0431ea74cc7","pageType":"page","resourceId":"180467975","shopId":"12714023","storefrontBaseUrl":"https:\/\/www.eyebooksgroup.com","extensionBaseUrl":"https:\/\/extensions.shopifycdn.com\/cdn\/shopifycloud\/web-pixels-manager","surface":"storefront-renderer","enabledBetaFlags":"[\"4c64608a\", \"16072cab\"]","isMerchantRequest":"false","hashVersion":"7ec887c8w14f9f074p854094e1m1370c602","publish":"custom","events":"[[\"page_viewed\",{}]]"});})();</script>
1329<script>
1330  window.ShopifyAnalytics = window.ShopifyAnalytics || {};
1331  window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {};
1332  window.ShopifyAnalytics.meta.currency = 'USD';
1333  var meta = {"page":{"pageType":"page","resourceType":"page","resourceId":180467975,"requestId":"79924ee8-d582-4ded-9ca8-e524f0dba898-1791521947"}};
1334  for (var attr in meta) {
1335    window.ShopifyAnalytics.meta[attr] = meta[attr];
1336  }
1337</script>
vendor: 1 bytes, line 1337
1337
1338<script class="analytics">
1339  (function () {
1340    var customDocumentWrite = function(content) {
1341      var jquery = null;
1342
1343      if (window.jQuery) {
1344        jquery = window.jQuery;
1345      } else if (window.Checkout && window.Checkout.$) {
1346        jquery = window.Checkout.$;
1347      }
1348
1349      if (jquery) {
1350        jquery('body').append(content);
1351      }
1352    };
1353
1354    var hasLoggedConversion = function(token) {
1355      if (token) {
1356        return document.cookie.indexOf('loggedConversion=' + token) !== -1;
1357      }
1358      return false;
1359    }
1360
1361    var setCookieIfConversion = function(token) {
1362      if (token) {
1363        var twoMonthsFromNow = new Date(Date.now());
1364        twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2);
1365
1366        document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow;
1367      }
1368    }
1369
1370    var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || [];
1371    window.ShopifyAnalytics.lib.trekkie = window.trekkie;
1372    if (trekkie.integrations) {
1373      return;
1374    }
1375    trekkie.methods = [
1376      'identify',
1377      'page',
1378      'ready',
1379      'track',
1380      'trackForm',
1381      'trackLink'
1382    ];
1383    trekkie.factory = function(method) {
1384      return function() {
1385        var args = Array.prototype.slice.call(arguments);
1386        args.unshift(method);
1387        trekkie.push(args);
1388        if (method == 'track' || method == 'page') {
1389          var pageUrl;
1390          try {
1391            pageUrl = window.location.href;
1392          } catch (e) {}
1393          var pageReferrer;
1394          try {
1395            pageReferrer = document.referrer;
1396          } catch (e) {}
1397          try {
1398            if (window.__TREKKIE_SHIM_QUEUE == null) {
1399              window.__TREKKIE_SHIM_QUEUE = [];
1400            }
1401            window.__TREKKIE_SHIM_QUEUE.push({
1402              from: 'trekkie-stub',
1403              method: method,
1404              args: args.slice(1),
1405              pageContext: {
1406                url: pageUrl,
1407                referrer: pageReferrer
1408              }
1409            });
1410          } catch (e) {
1411            // no-op
1412          }
1413        }
1414        return trekkie;
1415      };
1416    };
1417    for (var i = 0; i < trekkie.methods.length; i++) {
1418      var key = trekkie.methods[i];
1419      trekkie[key] = trekkie.factory(key);
1420    }
1421    trekkie.load = function(config) {
1422      trekkie.config = config || {};
1423      trekkie.config.initialDocumentCookie = document.cookie;
1424      var first = document.getElementsByTagName('script')[0];
1425var script = document.createElement('script');
1426script.type = 'text/javascript';
1427script.onerror = function(e) {
1428  var scriptFallback = document.createElement('script');
1429  scriptFallback.type = 'text/javascript';
1430  scriptFallback.onerror = function(error) {
1431          var Monorail = {
1432      produce: function produce(monorailDomain, schemaId, payload) {
1433        var currentMs = new Date().getTime();
1434        var event = {
1435          schema_id: schemaId,
1436          payload: payload,
1437          metadata: {
1438            event_created_at_ms: currentMs,
1439            event_sent_at_ms: currentMs
1440          }
1441        };
1442        return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event));
1443      },
1444      sendRequest: function sendRequest(endpointUrl, payload) {
1445        // Try the sendBeacon API
1446        if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) {
1447          var blobData = new window.Blob([payload], {
1448            type: 'text/plain'
1449          });
1450
1451          if (window.navigator.sendBeacon(endpointUrl, blobData)) {
1452            return true;
1453          } // sendBeacon was not successful
1454
1455        } // XHR beacon
1456
1457        var xhr = new XMLHttpRequest();
1458
1459        try {
1460          xhr.open('POST', endpointUrl);
1461          xhr.setRequestHeader('Content-Type', 'text/plain');
1462          xhr.send(payload);
1463        } catch (e) {
1464          console.log(e);
1465        }
1466
1467        return false;
1468      },
1469      isIos12: function isIos12() {
1470        return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1;
1471      }
1472    };
1473    Monorail.produce('monorail-edge.shopifysvc.com',
1474      'trekkie_storefront_load_errors/1.1',
1475      {shop_id: 12714023,
1476      theme_id: 198742507904,
1477      app_name: "storefront",
1478      context_url: window.location.href,
1479      source_url: "//www.eyebooksgroup.com/cdn/s/trekkie.storefront.51e69540e15035ae012ec8cc42e8f9cd792233a0.min.js"});
1480
1481  };
1482  scriptFallback.async = true;
1483  scriptFallback.src = '//www.eyebooksgroup.com/cdn/s/trekkie.storefront.51e69540e15035ae012ec8cc42e8f9cd792233a0.min.js';
1484  first.parentNode.insertBefore(scriptFallback, first);
1485};
1486script.async = true;
1487script.src = '//www.eyebooksgroup.com/cdn/s/trekkie.storefront.51e69540e15035ae012ec8cc42e8f9cd792233a0.min.js';
1488first.parentNode.insertBefore(script, first);
1489
1490    };
1491    trekkie.load(
1492      {"Trekkie":{"appName":"storefront","development":false,"defaultAttributes":{"shopId":12714023,"isMerchantRequest":null,"themeId":198742507904,"themeCityHash":"3199356330705098414","contentLanguage":"en","currency":"USD","eventMetadataId":"06c11787-906b-4890-a1f4-b0431ea74cc7"},"isServerSideCookieWritingEnabled":true,"monorailRegion":"shop_domain","enabledBetaFlags":["764d78cb","4c64608a"]},"Session Attribution":{},"S2S":{"facebookCapiEnabled":true,"source":"trekkie-storefront-renderer","apiClientId":580111}}
1493    );
1494
1495    var loaded = false;
1496    trekkie.ready(function() {
1497      if (loaded) return;
1498      loaded = true;
1499
1500      window.ShopifyAnalytics.lib = window.trekkie;
1501
1502      var originalDocumentWrite = document.write;
1503      document.write = customDocumentWrite;
1504      try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {};
1505      document.write = originalDocumentWrite;
1506
1507      var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/)
1508      var token = match? match[1]: undefined;
1509      if (!hasLoggedConversion(token)) {
1510        setCookieIfConversion(token);
1511        
1512      }
1513    });
1514
1515    window.ShopifyAnalytics.lib.page(null,{"pageType":"page","resourceType":"page","resourceId":180467975,"requestId":"79924ee8-d582-4ded-9ca8-e524f0dba898-1791521947","shopifyEmitted":true});
1516
1517    var eventsListenerScript = document.createElement('script');
1518    eventsListenerScript.async = true;
1519    eventsListenerScript.src = "//www.eyebooksgroup.com/cdn/shopifycloud/storefront/assets/shop_events_listener-4e26a9ce.js";
1520    document.getElementsByTagName('head')[0].appendChild(eventsListenerScript);
1521})();</script>
vendor: 1 bytes, line 1521
1521
1522<script
1523  defer
1524  src="https://www.eyebooksgroup.com/cdn/shopifycloud/perf-kit/shopify-perf-kit-3.10.1.min.js"
1525  data-application="storefront-renderer"
1526  data-shop-id="12714023"
1527  data-render-region="gcp-us-west1"
1528  data-page-type="page"
1529  data-theme-instance-id="198742507904"
1530  data-theme-name="Horizon"
1531  data-theme-version="4.1.3"
1532  data-monorail-region="shop_domain"
1533  data-resource-timing-sampling-rate="10"
1534  data-shs="true"
1535  data-shs-beacon="true"
1536  data-shs-export-with-fetch="true"
1537  data-shs-logs-sample-rate="1"
1538  data-shs-beacon-endpoint="https://www.eyebooksgroup.com/api/collect"
1539></script>
vendor: 1 bytes, line 1539
1539
1540<script src="https://cdn.shopify.com/storefront/web-components/account.js" type="module" crossorigin fetchpriority="low" async></script>
1540<script id="shopify-customer-account-data" type="application/json">{"customer":null,"shop":{"id":"12714023","customerAccountTranslations":[{"key":"account_menu.signed_out_state.sheet_title","value":"Sign in or create account"},{"key":"account_menu.signed_out_state.section_divider","value":"More ways to sign in"},{"key":"account_menu.signed_out_state.alternate_divider","value":"OR"},{"key":"account_menu.signed_out_state.email_field_label","value":"Email"},{"key":"account_menu.signed_out_state.orders_button","value":"Orders"},{"key":"account_menu.signed_out_state.profile_button","value":"Profile"},{"key":"account_menu.signed_out_state.shop_login_button","value":"Sign in with Shop"},{"key":"account_menu.signed_out_state.continue_with_google","value":"Continue with Google"},{"key":"account_menu.signed_out_state.continue_with_facebook","value":"Continue with Facebook"},{"key":"account_menu.signed_out_state.marketing_consent_label","value":"I agree to receive emails from Eye Books and Wilton Square Books, related publishing companies, including updates about new books, events and offers. You can unsubscribe at any time."},{"key":"account_menu.signed_in_state.greeting_with_name","value":"Hi, {{first_name}}"},{"key":"account_menu.signed_in_state.greeting_without_name","value":"Account"},{"key":"account_menu.signed_in_state.orders_button","value":"Orders"},{"key":"account_menu.signed_in_state.profile_button","value":"Profile"},{"key":"account_menu.location_picker.sheet_title","value":"Locations"},{"key":"account_menu.location_picker.search_field_placeholder","value":"Search"},{"key":"account_menu.aria_labels.close_menu","value":"Close menu"},{"key":"account_menu.aria_labels.back_to_main_menu","value":"Back to main menu from {{title}}"},{"key":"account_menu.aria_labels.open_submenu","value":"{{title}}, opens submenu"},{"key":"account_menu.aria_labels.loading_menu","value":"Loading menu"},{"key":"account_menu.aria_labels.loading","value":"Loading"},{"key":"account_menu.aria_labels.account","value":"Account"},{"key":"account_menu.aria_labels.sign_in_with_email","value":"Sign in with email"},{"key":"account_menu.aria_labels.sign_in","value":"Sign in"}],"socialLoginProviders":[{"handle":"Shop"}],"legacyCustomerAccounts":false,"signInLinksVisible":true,"b2bEnabled":false,"marketingConsentSigninEnabled":true,"marketingConsentPreselected":true},"visitor":{"country":"US","language":"en"}}</script>
1540
1541<meta name="shopify-y" content="5f544200-e423-41ba-8bc9-e27bdd2d01a5" data-expiration="1823079547000"><meta name="shopify-s" content="98ce5377-ef0a-4a90-8b84-bb00acc82401" data-expiration="1791523747000">
1542</head>
1543
1544  <body class="page-width-narrow card-hover-effect-none">
1545    <a
1546  class="skip-to-content-link button-secondary"
1547  href="#MainContent"
1548>
1549  Skip to content
1550</a>
1551
1552
1553
1554
1555    
1556
1557<theme-drawer id="chat-drawer">
1558  <dialog
1559    ref="panel"
1560    class="theme-drawer__dialog chat-drawer"
1561  >
1562    <shopify-chat
1563      mode="standalone"
1564      mode-switch
1565    ></shopify-chat>
1566  </dialog>
1567</theme-drawer>
1568
1569<script type="module">
1570  const chatDrawer = document.querySelector('#chat-drawer');
1571  const shopifyChat = document.querySelector('shopify-chat');
1572
1573  document.addEventListener('theme-drawer:open', (event) => {
1574    if (/** @type {Element} */ (event.target).id !== 'chat-drawer') return;
1575    shopifyChat?.setAttribute('mode', 'managed');
1576  });
1577
1578  document.addEventListener('theme-drawer:close', (event) => {
1579    if (/** @type {Element} */ (event.target).id !== 'chat-drawer') return;
1580    // If mode is still managed, this is a theme-initiated close (backdrop /
1581    // Escape) — close the chat so the FAB appears. If mode is already
1582    // standalone, the close was triggered by an undock (enter-standalone sets
1583    // mode before closing the drawer) — leave the chat open as a floating panel.
1584    if (shopifyChat?.getAttribute('mode') === 'managed') {
1585      shopifyChat?.removeAttribute('open');
1586    }
1587    shopifyChat?.setAttribute('mode', 'standalone');
1588  });
1589
1590  document.addEventListener('shopify-chat:enter-managed', () => {
1591    // Captured at event-fire time — the dock-transition animation hint below
1592    // depends on state as it was when the event was dispatched.
1593    const isStandaloneAndOpen = shopifyChat?.hasAttribute('open') && shopifyChat?.getAttribute('mode') === 'standalone';
1594
1595    // The activator-click path (FAB click on desktop with stored
1596    // preferredMode=managed) dispatches enter-managed *before* calling show(),
1597    // so the chat's `open` attribute at event time understates the imminent
1598    // outcome. Defer to a microtask: by then show() (if any) has run, and we
1599    // can distinguish the viewport-driven mobile→desktop transition that left
1600    // a minimized FAB (chat stays closed → don't open an empty drawer) from
1601    // an activator click (chat just opened → open the drawer).
1602    queueMicrotask(() => {
1603      if (!shopifyChat?.hasAttribute('open') && !chatDrawer?.hasAttribute('open')) {
1604        return;
1605      }
1606      chatDrawer?.open?.(isStandaloneAndOpen ? { enter: 'inline-start' } : undefined);
1607    });
1608  });
1609
1610  document.addEventListener('shopify-chat:enter-standalone', () => {
1611    shopifyChat?.setAttribute('mode', 'standalone');
1612    chatDrawer?.close?.();
1613  });
1614
1615  document.addEventListener('shopify-chat:close', () => {
1616    if (shopifyChat?.getAttribute('mode') === 'managed') {
1617      chatDrawer?.close?.();
1618    }
1619  });
1620
1621  document.addEventListener('megaMenu:hover', () => {
1622    if (shopifyChat?.hasAttribute('open') && shopifyChat?.getAttribute('mode') === 'standalone') {
1623      shopifyChat?.removeAttribute('open');
1624    }
1625  });
1626
1627  // After the chat upgrades it self-restores its preferred mode from
1628  // sessionStorage. Reconcile any mismatch with the theme-drawer's state
1629  // — the drawer is the source of truth for which mode the chat should
1630  // be in (open → managed, closed → standalone).
1631  customElements.whenDefined('shopify-chat').then(() => {
1632    const mode = chatDrawer?.hasAttribute('open') ? 'managed' : 'standalone';
1633    if (shopifyChat?.getAttribute('mode') !== mode) {
1634      // When switching managed → standalone (e.g. narrow viewport skipped
1635      // drawer restore), also close the chat so it renders as the FAB
1636      // rather than an open standalone panel.
1637      if (mode === 'standalone' && shopifyChat?.hasAttribute('open')) {
1638        shopifyChat?.removeAttribute('open');
1639      }
1640      shopifyChat?.setAttribute('mode', mode);
1641    }
1642  });
1643</script>
1643
1644
1645
1646
1647
1648    <div class="page-wrapper">
1649      <div id="header-group">
1650        <!-- BEGIN sections: header-group -->
1651<header id="shopify-section-sections--30416071098752__header_section" class="shopify-section shopify-section-group-header-group header-section">
1652
1653
1654
1655
1656<script type="application/ld+json">
1657  {
1658    "@context": "http://schema.org",
1659    "@type": "Organization",
1660    "name": "Eye Books Group",
1661    
1662      "logo": "https:\/\/www.eyebooksgroup.com\/cdn\/shop\/files\/eye-books-group-wordmark.png?v=1787772567\u0026width=500",
1663    
1664    "url": "https:\/\/www.eyebooksgroup.com\/pages\/about-us"
1665  }
1666</script>
1666<header-component
1667  id="header-component"
1668  class="header header--collapse-row-paddings gsd-megamenu-on"
1669  data-theme-color="rgb(255 255 255)"
1670  data-bubble-style="default"
1671  
1672  
1673    sticky="always"
1674  
1675  data-skip-node-update
1676  data-scroll-direction="none"
1677  
1678  
1679    data-transparent-background="both"
1680  
1681  style="
1682    --color-background-top-row: rgba(255 255 255 / 1.0);
1683    --color-background-bottom-row: rgba(255 255 255 / 1.0);
1684    
1685    
1686    
1687      --gsd-mm-bg: #f4f4f4;
1688      --gsd-mm-overhang: 40px;
1689      --gsd-mm-pad-block: 32px;
1690      --gsd-mm-col-gap: 32px;
1691      --gsd-mm-subcol-width: 150px;
1692      --gsd-mm-heading-size: 0.8rem;
1693      --gsd-mm-mark-size: 96px;
1694      --gsd-mm-eye-colour: url(//www.eyebooksgroup.com/cdn/shop/files/eye-mark-colour.png?v=1787729088&width=400);
1695      --gsd-mm-eye-mono: url(//www.eyebooksgroup.com/cdn/shop/files/eye-mark-mono.png?v=1787729088&width=400);
1696      --gsd-mm-ws-colour: url(//www.eyebooksgroup.com/cdn/shop/files/ws-mark-colour.png?v=1790012245&width=400);
1697      --gsd-mm-ws-mono: url(//www.eyebooksgroup.com/cdn/shop/files/ws-mark-mono.png?v=1787729
1697088&width=400);
1698    
1699    
1700  "
1701>
1702  <div class="header__underlay header__underlay-closed"></div>
1703  <div
1704    class="header__underlay header__underlay-open"
1705  ></div>
1706    
1707
1708    
1709
1710    
1711    
1712      <div
1713        class="header__row header__row--top color- section section--full-width-margin section--page-width divider--page-width color-custom-top-sections--30416071098752__header_section"
1714        ref="headerRowTop"style="--border-bottom-width: 0px; --border-bottom-width-mobile: 0px; --border-bottom-color-mobile: var(--color-border);">
1715        <div class="header__columns spacing-style">
1716          <div
1717      class="header__column header__column--left"
1718      data-testid="header-top-left"
1719    >
1720      
1721        
1722          
1723              
1724
1725
1726    <div
1727      class="header__drawer"
1728      ref="headerDrawerContainer"
1729      data-hydration-key="header-drawer-mobile"
1730      
1731    >
1732      
1733
1734
1735
1736
1737  <style data-shopify>
1738    .color-custom-AMWlZWThYUmQ5SGNUZ__header-menu-1,
1739    .color-custom-AMWlZWThYUmQ5SGNUZ__header-menu-1 .text-block {
1740      /* Background */
1741      --color-background: #ffffff;
1742      --color-background-rgb: 255 255 255;
1743
1744      /* Opacity values adjusted for background brightness */
1745      
1746--opacity-5-15: 0.05; --opacity-10-25: 0.1; --opacity-35-55: 0.35; --opacity-40-60:
17470.4; --opacity-30-60: 0.3; --opacity-60: 0.6;
1748
1749
1750      
1751        /* Foreground / text — explicit or smart-contrasted */
1752        --color: #000000;
1753        --color-rgb: 0 0 0;
1754        --color-foreground: #000000;
1755        --color-foreground-rgb: 0 0 0;
1756        --color-foreground-muted: rgb(0 0 0 / var(--opacity-muted-text));
1757        --color-foreground-subdued: rgb(0 0 0 / var(--opacity-subdued-text));
1758        --color-border: var(--palette-darkest);
1759        --color-border-rgb: var(--palette-darkest-rgb);
1760      
1761    }
1762
1763    
1764      .color-custom-AMWlZWThYUmQ5SGNUZ__header-menu-1 {
1765        /* Form-related tokens stay on .color-custom only — .text-block is a prose
1766           container (text/announcement/inline-text/blog-post-description/
1767           collection-link/price/sku) and never holds form inputs. */
1768        --input-disabled-background-color: rgb(0 0 0 / var(--opacity-10));
1769        --input-disabled-border-color: rgb(0 0 0 / var(--opacity-5));
1770        --input-disabled-text-color: rgb(0 0 0 / var(--opacity-50));
1771        --checkbox-border: 1px solid rgb(0 0 0 / var(--opacity-35-55));
1772      }
1773    
1774
1775    .color-custom-AMWlZWThYUmQ5SGNUZ__header-menu-1 {
1776      color: var(--color, var(--color-foreground));
1777      background-color: var(--color-background);
1778    }
1779  </style>
1780
1781
1782
1783<script
1784  src="//www.eyebooksgroup.com/cdn/shop/t/33/assets/header-drawer.js?v=121243031541024704371789662477"
1785  type="module"
1786  fetchpriority="low"
1787></script>
1787
1788
1789<header-drawer
1790  class="header-drawer "
1791  style="--menu-image-border-radius: 0px; --resource-card-corner-radius: 0px;"
1792>
1793  <details
1794    id="Details-menu-drawer-container"
1795    data-skip-node-update="true"
1796    class="menu-drawer-container"
1797    ref="details"
1798    scroll-lock
1799  >
1800    <summary
1801      class="header__icon header__icon--menu header__icon--summary"
1802      aria-label="Menu"
1803      on:click="/toggle"
1804    >
1805      <span class="svg-wrapper header-drawer-icon header-drawer-icon--open"><svg aria-hidden="true" width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
1806  <path d="M1 3.5H13" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round"/>
1807  <path d="M1 10.5H13" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round"/>
1808</svg>
1809</span>
1810      <span class="svg-wrapper header-drawer-icon header-drawer-icon--close"><svg aria-hidden="true" width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
1811<path d="M11.1765 12.025C11.4108 12.2594 11.7907 12.2594 12.025 12.025C12.2594 11.7907 12.2594 11.4108 12.025 11.1765L8.84931 8.00078L12.025 4.82505C12.2594 4.59073 12.2594 4.21083 12.025 3.97652C11.7907 3.7422 11.4108 3.7422 11.1765 3.97652L8.00078 7.15225L4.82505 3.97652C4.59073 3.7422 4.21083 3.7422 3.97652 3.97652C3.7422 4.21083 3.7422 4.59073 3.97652 4.82505L7.15225 8.00078L3.97652 11.1765C3.7422 11.4108 3.7422 11.7907 3.97652 12.025C4.21083 12.2594 4.59073 12.2594 4.82505 12.025L8.00078 8.84931L11.1765 12.025Z" fill="currentColor"/>
1812</svg>
1813</span>
1814    </summary>
1815    <div
1816      ref="menuDrawer"
1817      class="
1818        menu-drawer
1819        
1820          color-custom-AMWlZWThYUmQ5SGNUZ__header-menu-1
1821        
1822      "
1823    >
1824      <button
1825        class="button close-button menu-drawer__close-button focus-inset"
1826        type="button"
1827        aria-label="Close"
1828        on:click="/close"
1829      >
1830        <span class="svg-wrapper header-drawer-icon header-drawer-icon--close"><svg aria-hidden="true" width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
1831<path d="M11.1765 12.025C11.4108 12.2594 11.7907 12.2594 12.025 12.025C12.2594 11.7907 12.2594 11.4108 12.025 11.1765L8.84931 8.00078L12.025 4.82505C12.2594 4.59073 12.2594 4.21083 12.025 3.97652C11.7907 3.7422 11.4108 3.7422 11.1765 3.97652L8.00078 7.15225L4.82505 3.97652C4.59073 3.7422 4.21083 3.7422 3.97652 3.97652C3.7422 4.21083 3.7422 4.59073 3.97652 4.82505L7.15225 8.00078L3.97652 11.1765C3.7422 11.4108 3.7422 11.7907 3.97652 12.025C4.21083 12.2594 4.59073 12.2594 4.82505 12.025L8.00078 8.84931L11.1765 12.025Z" fill="currentColor"/>
1832</svg>
1833</span>
1834      </button>
1835      <nav
1836        class="menu-drawer__navigation"
1837        style="--menu-top-level-font-family: var(--font-heading--family);
1838--menu-top-level-font-size-desktop: 1.125rem; --menu-top-level-font-style: var(--font-heading--style); --menu-top-level-font-weight: var(--font-heading--weight); --menu-top-level-font-case:none;
1839
1840  --menu-top-level-font-size: var(--menu-font-2xl--size); --menu-top-level-font-line-height:
1841  var(--menu-font-2xl--line-height);
1842
1843--menu-top-level-font-color: var(--color-foreground); --menu-top-level-font-color-rgb: var(--color-foreground-rgb);
1844
1845--menu-parent-font-family: var(--font-heading--family); --menu-parent-font-style:
1846var(--font-heading--style); --menu-parent-font-weight: var(--font-heading--weight); --menu-parent-font-case:
1847none;
1848
1849    --menu-parent-font-size: var(--menu-font-md--size); --menu-parent-font-line-height:
1850    var(--menu-font-md--line-height); --menu-parent-font-color: var(--color-foreground);
1851    --menu-parent-active-font-color: var(--color-foreground-subdued);
1852  
1853--menu-child-font-family: var(--font-heading--family); --menu-child-font-style:var(--font-heading--style); --menu-child-font-weight: var(--font-heading--weight); --menu-child-font-case:
1854none;
1855
1856    --menu-child-font-size: var(--menu-font-sm--size); --menu-child-font-line-height: var(--menu-font-sm--line-height);
1857    --menu-child-font-color: var(--color-foreground-subdued); --menu-child-active-font-color: var(--color-foreground);
1858  
1859
1860        "
1861        aria-label="Primary"
1862      >
1863        <ul
1864          class="menu-drawer__menu has-submenu"
1865          role="list"
1866        >
1867            
1868            
1869
1870              <li
1871                style="--menu-drawer-animation-index: 1;"
1872                class="menu-drawer__list-item--flat"
1873              >
1874                
1875<a
1876                    id="HeaderDrawer-home"
1877                    href="/"
1878                    class="menu-drawer__menu-item menu-drawer__menu-item--mainlist menu-drawer__animated-element focus-inset"
1879                    
1880                  >
1881                    <span class="menu-drawer__menu-item-text wrap-text">Home</span>
1882                  </a>
1883                
1884              </li>
1885              <li
1886                style="--menu-drawer-animation-index: 2;"
1887                class="menu-drawer__list-item--flat"
1888              >
1889                
1890<a
1891                    id="HeaderDrawer-books"
1892                    href="/collections/all-products"
1893                    class="menu-drawer__menu-item menu-drawer__menu-item--mainlist menu-drawer__animated-element focus-inset"
1894                    
1895                  >
1896                    <span class="menu-drawer__menu-item-text wrap-text">Books</span>
1897                  </a>
1898                
1899              </li>
1900              <li
1901                style="--menu-drawer-animation-index: 3;"
1902                class="menu-drawer__list-item--flat"
1903              >
1904                
1905<a
1906                    id="HeaderDrawer-authors"
1907                    href="/pages/authors"
1908                    class="menu-drawer__menu-item menu-drawer__menu-item--mainlist menu-drawer__animated-element focus-inset"
1909                    
1910                  >
1911                    <span class="menu-drawer__menu-item-text wrap-text">Authors</span>
1912                  </a>
1913                
1914              </li>
1915              <li
1916                style="--menu-drawer-animation-index: 4;"
1917                class="menu-drawer__list-item--flat"
1918              >
1919                
1920<a
1921                    id="HeaderDrawer-events"
1922                    href="/pages/events"
1923                    class="menu-drawer__menu-item menu-drawer__menu-item--mainlist menu-drawer__animated-element focus-inset"
1924                    
1925                  >
1926                    <span class="menu-drawer__menu-item-text wrap-text">Events</span>
1927                  </a>
1928                
1929              </li>
1930              <li
1931                style="--menu-drawer-animation-index: 5;"
1932                class="menu-drawer__list-item--flat"
1933              >
1934                
1935<a
1936                    id="HeaderDrawer-about"
1937                    href="/pages/about-us"
1938                    class="menu-drawer__menu-item menu-drawer__menu-item--mainlist menu-drawer__animated-element focus-inset"
1939                    
1940                      aria-current="page"
1941                    
1942                  >
1943                    <span class="menu-drawer__menu-item-text wrap-text">About</span>
1944                  </a>
1945                
1946              </li>
1947              <li
1948                style="--menu-drawer-animation-index: 6;"
1949                class="menu-drawer__list-item--flat"
1950              >
1951                
1952<a
1953                    id="HeaderDrawer-news"
1954                    href="/blogs/news"
1955                    class="menu-drawer__menu-item menu-drawer__menu-item--mainlist menu-drawer__animated-element focus-inset"
1956                    
1957                  >
1958                    <span class="menu-drawer__menu-item-text wrap-text">News</span>
1959                  </a>
1960                
1961              </li>
1962        </ul>
1963      </nav>
1964      <div
1965        class="menu-drawer__utility-links menu-drawer__animated-element"
1966        style="--menu-drawer-animation-index: 6;"
1967      >
1968        
1969        </div>
1970
1971      
1972    </div>
1973    <div
1974      class="menu-drawer__backdrop"
1975      on:click="header-drawer/close"
1976    ></div>
1977  </details>
1978</header-drawer>
1979
1980
1981
1982    </div>
1983
1984  
1985
1986<style data-shopify>
1987  .header__underlay {
1988    --color-submenu: rgb(255 255 255);
1989  }
1990</style>
1991
1992
1993
1994<div class="gsd-header-marks" style="--gsd-mark-size-desktop: 60px; --gsd-mark-size-mobile: 42px; --gsd-eye-scale: 0.87;"><a class="gsd-header-mark gsd-header-mark--eye" href="/collections/eye-books"><span class="gsd-header-mark__media gsd-header-mark__media--has-mono"><img src="//www.eyebooksgroup.com/cdn/shop/files/eye-mark-mono.png?v=1787729
1994088&amp;width=400" alt="" srcset="//www.eyebooksgroup.com/cdn/shop/files/eye-mark-mono.png?v=1787729088&amp;width=40 40w, //www.eyebooksgroup.com/cdn/shop/files/eye-mark-mono.png?v=1787729088&amp;width=60 60w, //www.eyebooksgroup.com/cdn/shop/files/eye-mark-mono.png?v=1787729088&amp;width=80 80w, //www.eyebooksgroup.com/cdn/shop/files/eye-mark-mono.png?v=1787729088&amp;width=120 120w, //www.eyebooksgroup.com/cdn/shop/files/eye-mark-mono.png?v=1787729088&amp;width=160 160w, //www.eyebooksgroup.com/cdn/shop/files/eye-mark-mono.png?v=1787729088&amp;width=240 240w, //www.eyebooksgroup.com/cdn/shop/files/eye-mark-mono.png?v=1787729088&amp;width=400 400w" width="308" height="400" loading="eager" class="gsd-header-mark__img gsd-header-mark__img--mono"><img src="//www.eyebooksgroup.com/cdn/shop/files/eye-mark-colour.png?v=1787729088&amp;width=400" alt="" srcset="//www.eyebooksgroup.com/cdn/shop/files/eye-mark-colour.png?v=1787729088&amp;width=40 40w, //www.eyebooksgroup.com/cdn/shop/files/eye-mark-colour.png?v=1787729088&amp;width=60 60w, //www.eyebooksgroup.com/cdn/shop/files/eye-mark-colour.png?v=1787729
1994088&amp;width=80 80w, //www.eyebooksgroup.com/cdn/shop/files/eye-mark-colour.png?v=1787729088&amp;width=120 120w, //www.eyebooksgroup.com/cdn/shop/files/eye-mark-colour.png?v=1787729088&amp;width=160 160w, //www.eyebooksgroup.com/cdn/shop/files/eye-mark-colour.png?v=1787729088&amp;width=240 240w, //www.eyebooksgroup.com/cdn/shop/files/eye-mark-colour.png?v=1787729088&amp;width=400 400w" width="308" height="400" loading="eager" class="gsd-header-mark__img gsd-header-mark__img--colour"></span><span class="gsd-header-mark__label">Eye Books</span></a><a class="gsd-header-mark" href="/collections/wilton-square"><span class="gsd-header-mark__media gsd-header-mark__media--has-mono"><img src="//www.eyebooksgroup.com/cdn/shop/files/ws-mark-mono.png?v=1787729088&amp;width=400" alt="" srcset="//www.eyebooksgroup.com/cdn/shop/files/ws-mark-mono.png?v=1787729088&amp;width=40 40w, //www.eyebooksgroup.com/cdn/shop/files/ws-mark-mono.png?v=1787729088&amp;width=60 60w, //www.eyebooksgroup.com/cdn/shop/files/ws-mark-mono.png?v=1787729088&amp;width=80 80w, //www.eyebooksgroup.com/cdn/shop/files/ws-mark-mono.png?v=1787729
1994088&amp;width=120 120w, //www.eyebooksgroup.com/cdn/shop/files/ws-mark-mono.png?v=1787729088&amp;width=160 160w, //www.eyebooksgroup.com/cdn/shop/files/ws-mark-mono.png?v=1787729088&amp;width=240 240w, //www.eyebooksgroup.com/cdn/shop/files/ws-mark-mono.png?v=1787729088&amp;width=400 400w" width="291" height="400" loading="eager" class="gsd-header-mark__img gsd-header-mark__img--mono"><img src="//www.eyebooksgroup.com/cdn/shop/files/ws-mark-colour.png?v=1790012245&amp;width=400" alt="" srcset="//www.eyebooksgroup.com/cdn/shop/files/ws-mark-colour.png?v=1790012245&amp;width=40 40w, //www.eyebooksgroup.com/cdn/shop/files/ws-mark-colour.png?v=1790012245&amp;width=60 60w, //www.eyebooksgroup.com/cdn/shop/files/ws-mark-colour.png?v=1790012245&amp;width=80 80w, //www.eyebooksgroup.com/cdn/shop/files/ws-mark-colour.png?v=1790012245&amp;width=120 120w, //www.eyebooksgroup.com/cdn/shop/files/ws-mark-colour.png?v=1790012245&amp;width=160 160w, //www.eyebooksgroup.com/cdn/shop/files/ws-mark-colour.png?v=1790012245&amp;width=240 240w, //www.eyebooksgroup.com/cdn/shop/files/ws-mark-colour.png?v=1790012245&amp;width=400 400w" width="291" height="400" loading="eager" class="gsd-header-mark__img gsd-header-mark__img--colour"></span><span class="gsd-header-mark__label">Wilton Square Books</span></a></div><div class="gsd-header-rule" aria-hidden="true"></div>
1995            
1996        
1997      
1998        
1999          
2000              
2001  <search-button
2002    class="search-action search-action--hidden-on-menu"
2003  >
2004    <button
2005      on:click="#search-modal/showDialog"
2006      class="button-unstyled header-actions__action"
2007      aria-label="Search"
2008      aria-haspopup="dialog"
2009    >
2010      <span class="hidden">
2011        Search
2012      </span>
2013
2014      <span class="svg-wrapper ">
2015        <svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><circle cx="9" cy="9" r="4.75" stroke="currentColor" stroke-width="var(--icon-stroke-width)"/><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="m12.5 12.5 3.25 3.25"/></svg>
2016
2017      </span>
2018    </button>
2019  </search-button>
2020
2021
2022
2023
2024            
2025        
2026      
2027    </div><div
2028      class="header__column header__column--center"
2029      data-testid="header-top-center"
2030    >
2031      
2032        
2033          
2034              
2035
2036
2037<a
2038  
2039  href="/"
2040  class="size-style spacing-style header-logo"
2041  style="
2042    --size-style-width: ;--size-style-height: ;
2043    --padding-block-start: 5px;--padding-block-end: 20px;
2044    --font-family: var(--font-body--family);
2045    --font-style: var(--font-body--style);
2046    --font-weight: 600;
2047  "
2048  
2049>
2050  
2051
2052  <span
2053    class="header-logo__image-container header-logo__image-container--original"
2054    data-testid="header-logo"
2055  >
2056    
2057  
2058  
2059  
2060  
2061
2062  
2063
2064  
2065
2066  
2067
2068  <img src="//www.eyebooksgroup.com/cdn/shop/files/eye-books-group-wordmark.png?height=90&amp;v=1787772567" alt="Eye Books Group - Home" width="332" height="90" class="header-logo__image" srcset="//www.eyebooksgroup.com/cdn/shop/files/eye-books-group-wordmark.png?height=90&amp;v=1787772567 1x, //www.eyebooksgroup.com/cdn/shop/files/eye-books-group-wordmark.png?height=180&amp;v=1787772567 2x, //www.eyebooksgroup.com/cdn/shop/files/eye-books-group-wordmark.png?height=270&amp;v=1787772567 3x" style="--header-logo-image-width: 333px;--header-logo-image-width-mobile: 215px; --header-logo-image-height: 90px; --header-logo-image-height-mobile: 58px;">
2069
2070
2071  </span>
2072
2073  
2074</a>
2075
2076
2077
2078
2079
2080            
2081        
2082      
2083    </div><div
2084      class="header__column header__column--right"
2085      data-testid="header-top-right"
2086    >
2087      
2088        
2089          
2090              
2091  
2092  
2093
2094            
2095        
2096      
2097        
2098          
2099              
2100  <search-button
2101    class="search-action search-action--hidden-on-drawer"
2102  >
2103    <button
2104      on:click="#search-modal/showDialog"
2105      class="button-unstyled header-actions__action"
2106      aria-label="Search"
2107      aria-haspopup="dialog"
2108    >
2109      <span class="hidden">
2110        Search
2111      </span>
2112
2113      <span class="svg-wrapper ">
2114        <svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><circle cx="9" cy="9" r="4.75" stroke="currentColor" stroke-width="var(--icon-stroke-width)"/><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="m12.5 12.5 3.25 3.25"/></svg>
2115
2116      </span>
2117    </button>
2118  </search-button>
2118
2119
2120
2121
2122
2123            
2124        
2125      
2126        
2127          
2128              
2129
2130<script
2131  type="module"
2132  src="//www.eyebooksgroup.com/cdn/shop/t/33/assets/cart-icon.js?v=109428858171217037751789662477"
2133  fetchpriority="low"
2134></script>
2134
2135
2136
2137
2138
2139
2140<header-actions
2141  
2142>
2143  
2144    
2145    <div
2146      class="account-button header-actions__action color-custom-popover"
2147    >
2148      <shopify-store store-domain="https://www.eyebooksgroup.com" country="US" language="en"></shopify-store>
2149<shopify-account
2150        menu="customer-account-main-menu"
2151        
2152      >
2153        
2154          <span
2155            slot="signed-out-avatar"
2156            class="account-button__text header-actions__text-style hidden"
2157          >
2158            Account
2159          </span>
2160
2161          <span
2162            slot="signed-out-avatar"
2163            class=""
2164            aria-hidden="true"
2165          >
2166            
2167  <svg
2168    xmlns="http://www.w3.org/2000/svg"
2169    width="15"
2170    height="17"
2171    viewBox="0 0 15 17"
2172    fill="none"
2173    slot="signed-out-avatar"
2174    class="account-button__icon"
2175  >
2176    <path
2177      stroke="currentColor"
2178      stroke-linejoin="round"
2179      stroke-width="var(--icon-stroke-width)"
2180      d="M10.375 3.813a3.063 3.063 0 1 1-6.125 0 3.063 3.063 0 0 1 6.125 0ZM7.313 9.5c-3.667 0-6.24 2.691-6.563 6.125h13.125C13.552 12.191 10.979 9.5 7.312 9.5Z"
2181    />
2182  </svg>
2183
2184          </span>
2185        
2186      </shopify-account>
2187    </div>
2188  
2189
2190  
2191    <button
2192      class="header-actions__action button-unstyled"
2193      on:click="#cart-drawer/toggle"
2194      aria-haspopup="dialog"
2195      aria-expanded="false"
2196      aria-controls="cart-drawer"
2197      aria-label="Cart"
2198      aria-describedby="cart-bubble-text"
2199      data-testid="cart-drawer-trigger"
2200    >
2201      
2202  <cart-icon
2203    class="header-actions__cart-icon"
2204    data-testid="cart-icon"
2205  >
2206    <span class="hidden">
2207      Cart
2208    </span>
2209
2210    <span
2211      class="svg-wrapper "
2212      aria-hidden="true"
2213    >
2214      <svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="M3.392 6.875h13.216v8.016c0 .567-.224 1.112-.624 1.513-.4.402-.941.627-1.506.627H5.522a2.13 2.13 0 0 1-1.506-.627 2.15 2.15 0 0 1-.624-1.513zM8.818 2.969h2.333c.618 0 1.211.247 1.649.686a2.35 2.35 0 0 1 .683 1.658v1.562H6.486V5.313c0-.622.246-1.218.683-1.658a2.33 2.33 0 0 1 1.65-.686"/></svg>
2215
2216    </span>
2217
2218    
2219
2220<div
2221  ref="cartBubble"
2222  class="cart-bubble visually-hidden"
2223  style="--cart-bubble-background-fallback: #000000; --cart-bubble-text-fallback: #ffffff;"
2224  
2225  
2226    data-maintain-ratio
2227  
2228>
2229  <span class="cart-bubble__background"></span>
2230  <span
2231    ref="cartBubbleText"
2232    id="cart-bubble-text"
2233    class="cart-bubble__text"
2234  >
2235    <span
2236      class="cart-bubble__text-count hidden"
2237      ref="cartBubbleCount"
2238      aria-hidden="true"
2239      data-testid="cart-bubble"
2240    >
22410</span>
2242  </span>
2243</div>
2244
2245
2246
2247  </cart-icon>
2248
2249    </button>
2250  
2251
2252  <span
2253    ref="liveRegion"
2254    class="visually-hidden"
2255    role="status"
2256    data-testid="cart-count-live-region"
2257  ></span>
2258</header-actions>
2259
2260<script
2261  type="module"
2262  src="//www.eyebooksgroup.com/cdn/shop/t/33/assets/header-actions.js?v=157135685635924702181789662477"
2263  fetchpriority="low"
2264></script>
2264
2265
2266
2267
2268          
2269        
2270      
2271    </div>
2272        </div>
2273      </div>
2274    
2275  
2276    
2277
2278    
2279
2280    
2281    
2282      <div
2283        class="header__row header__row--bottom color- section section--full-width-margin section--page-width mobile:hidden color-custom-bottom-sections--30416071098752__header_section"
2284        ref="headerRowTop"style="--border-bottom-width: 0px;">
2285        <div class="header__columns spacing-style">
2286          <div
2287      class="header__column header__column--center"
2288      data-testid="header-bottom-center"
2289    >
2290      
2291        
2292          
2293              
2294
2295
2296    
2297
2298
2299
2300
2301  <style data-shopify>
2302    .color-custom-AMWlZWThYUmQ5SGNUZ__header-menu,
2303    .color-custom-AMWlZWThYUmQ5SGNUZ__header-menu .text-block {
2304      /* Background */
2305      --color-background: #ffffff;
2306      --color-background-rgb: 255 255 255;
2307
2308      /* Opacity values adjusted for background brightness */
2309      
2310--opacity-5-15: 0.05; --opacity-10-25: 0.1; --opacity-35-55: 0.35; --opacity-40-60:
23110.4; --opacity-30-60: 0.3; --opacity-60: 0.6;
2312
2313
2314      
2315        /* Foreground / text — explicit or smart-contrasted */
2316        --color: #000000;
2317        --color-rgb: 0 0 0;
2318        --color-foreground: #000000;
2319        --color-foreground-rgb: 0 0 0;
2320        --color-foreground-muted: rgb(0 0 0 / var(--opacity-muted-text));
2321        --color-foreground-subdued: rgb(0 0 0 / var(--opacity-subdued-text));
2322        --color-border: var(--palette-darkest);
2323        --color-border-rgb: var(--palette-darkest-rgb);
2324      
2325    }
2326
2327    
2328      .color-custom-AMWlZWThYUmQ5SGNUZ__header-menu {
2329        /* Form-related tokens stay on .color-custom only — .text-block is a prose
2330           container (text/announcement/inline-text/blog-post-description/
2331           collection-link/price/sku) and never holds form inputs. */
2332        --input-disabled-background-color: rgb(0 0 0 / var(--opacity-10));
2333        --input-disabled-border-color: rgb(0 0 0 / var(--opacity-5));
2334        --input-disabled-text-color: rgb(0 0 0 / var(--opacity-50));
2335        --checkbox-border: 1px solid rgb(0 0 0 / var(--opacity-35-55));
2336      }
2337    
2338
2339    .color-custom-AMWlZWThYUmQ5SGNUZ__header-menu {
2340      color: var(--color, var(--color-foreground));
2341      background-color: var(--color-background);
2342    }
2343  </style>
2344
2345
2346
2347    
2348
2349    <header-menu
2350      ref="headerMenu"
2351      class="header-menu"
2352      
2353      data-hydration-key="header-menu"
2354    >
2355      <div class="header-menu__inner">
2356        <nav
2357          class="menu-list"
2358          aria-label="Primary"
2359          style="--menu-top-level-font-family: var(--font-heading--family);
2360--menu-top-level-font-size-desktop: 1.125rem; --menu-top-level-font-style: var(--font-heading--style); --menu-top-level-font-weight: var(--font-heading--weight); --menu-top-level-font-case:none;
2361
2362  --menu-top-level-font-size: var(--menu-font-sm--size); --menu-top-level-font-line-height:
2363  var(--menu-font-sm--line-height);
2364
2365--menu-top-level-font-color: var(--color-foreground); --menu-top-level-font-color-rgb: var(--color-foreground-rgb);
2366"
2367        >
2368          
2369          <overflow-list
2370  
2371    ref="overflowMenu"
2372  
2373  
2374    class="overflow-menu background-matches-parent"
2375  
2376  
2377    minimum-items="2"
2378  
2379  
2380    data-testid="header-menu-overflow-list"
2381  
2382  
2383    data-skip-node-update
2384  
2385>
2386  <template shadowrootmode="open">
2387    <link href="//www.eyebooksgroup.com/cdn/shop/t/33/assets/overflow-list.css?v=16727044177065489451789662477" rel="stylesheet" type="text/css" media="all" />
2388
2389    <ul part="list">
2390      <slot></slot>
2391      <slot
2392        name="more"
2393        part="more"
2394        hidden
2395        
2396      >
2397        <li
2398          part="more"
2399        >
2400          <button
2401            class="button"
2402            type="button"
2403            tabindex="0"
2404            
2405          >
2406            More
2407          </button>
2408        </li>
2409      </slot>
2410      <li
2411        part="placeholder"
2412        hidden
2413      ></li>
2414    </ul>
2415
2416    <div part="overflow">
2417      <ul part="overflow-list">
2418        <slot name="overflow"></slot>
2419      </ul>
2420    </div>
2421  </template>
2422
2423  
2424      
2425        <li
2426          role="presentation"
2427          class="menu-list__list-item"
2428          on:focus="/activate"
2429          on:blur="/deactivate"
2430          on:pointerenter="/activate"
2431          on:pointerleave="/deactivate"
2432        >
2433          <a
2434            href="/"
2435            data-skip-node-update="true"
2436            class="menu-list__link"
2437            ref="menuitem"
2438          >
2439            <span class="menu-list__link-title">Home</span>
2440          </a></li>
2441      
2442        <li
2443          role="presentation"
2444          class="menu-list__list-item"
2445          on:focus="/activate"
2446          on:blur="/deactivate"
2447          on:pointerenter="/activate"
2448          on:pointerleave="/deactivate"
2449        >
2450          <a
2451            href="/collections/all-products"
2452            data-skip-node-update="true"
2453            class="menu-list__link"
2454            ref="menuitem"
2455          >
2456            <span class="menu-list__link-title">Books</span>
2457          </a></li>
2458      
2459        <li
2460          role="presentation"
2461          class="menu-list__list-item"
2462          on:focus="/activate"
2463          on:blur="/deactivate"
2464          on:pointerenter="/activate"
2465          on:pointerleave="/deactivate"
2466        >
2467          <a
2468            href="/pages/authors"
2469            data-skip-node-update="true"
2470            class="menu-list__link"
2471            ref="menuitem"
2472          >
2473            <span class="menu-list__link-title">Authors</span>
2474          </a></li>
2475      
2476        <li
2477          role="presentation"
2478          class="menu-list__list-item"
2479          on:focus="/activate"
2480          on:blur="/deactivate"
2481          on:pointerenter="/activate"
2482          on:pointerleave="/deactivate"
2483        >
2484          <a
2485            href="/pages/events"
2486            data-skip-node-update="true"
2487            class="menu-list__link"
2488            ref="menuitem"
2489          >
2490            <span class="menu-list__link-title">Events</span>
2491          </a></li>
2492      
2493        <li
2494          role="presentation"
2495          class="menu-list__list-item"
2496          on:focus="/activate"
2497          on:blur="/deactivate"
2498          on:pointerenter="/activate"
2499          on:pointerleave="/deactivate"
2500        >
2501          <a
2502            href="/pages/about-us"
2503            data-skip-node-update="true"
2504            class="menu-list__link menu-list__link--active"
2505              aria-current="page"
2506            
2507            ref="menuitem"
2508          >
2509            <span class="menu-list__link-title">About</span>
2510          </a></li>
2511      
2512        <li
2513          role="presentation"
2514          class="menu-list__list-item"
2515          on:focus="/activate"
2516          on:blur="/deactivate"
2517          on:pointerenter="/activate"
2518          on:pointerleave="/deactivate"
2519        >
2520          <a
2521            href="/blogs/news"
2522            data-skip-node-update="true"
2523            class="menu-list__link"
2524            ref="menuitem"
2525          >
2526            <span class="menu-list__link-title">News</span>
2527          </a></li>
2528      
2529      <li
2530        class="menu-list__list-item"
2531        role="presentation"
2532        slot="more"
2533        on:focus="/activate"
2534        on:blur="/deactivate"
2535        on:pointerenter="/activate"
2536        on:pointerleave="/deactivate"
2537      >
2538        <button
2539          role="listitem"
2540          class="menu-list__link button-unstyled"
2541          aria-haspopup="true"
2542          aria-expanded="false"
2543          ref="menuitem"
2544        >
2545          <span class="menu-list__link-title">More</span>
2546        </button>
2547      </li>
2548    
2549</overflow-list>
2550
2551        </nav>
2552      </div>
2553
2554      
2554<script
2555        src="//www.eyebooksgroup.com/cdn/shop/t/33/assets/header-menu.js?v=177388175794493903551789662477"
2556        type="module"
2557        fetchpriority="low"
2558      ></script>
2558
2559    </header-menu>
2560
2561
2562<style data-shopify>
2563  .header__underlay {
2564    --color-submenu: rgb(255 255 255);
2565  }
2566</style>
2567
2568
2569
2570
2571            
2572        
2573      
2574    </div>
2575        </div>
2576      </div>
2577    
2578  
2579
2580  
2581    <div class="header__row header__navigation-bar-row">
2582      
2583
2584
2585    
2586  
2587
2588<style data-shopify>
2589  .header__underlay {
2590    --color-submenu: rgb(255 255 255);
2591  }
2592</style>
2593
2594
2595
2596
2597    </div>
2598  
2599</header-component>
2600
2601<script
2602  src="//www.eyebooksgroup.com/cdn/shop/t/33/assets/header.js?v=183210491532312943441789662477"
2603  type="module"
2604></script>
2604
2605
2606
2607<script type="module">
2608    (() => {
2609      const addClose = (root) => {
2610        (root || document).querySelectorAll('.mega-menu').forEach((panel) => {
2611          if (panel.querySelector('.gsd-mega-close')) return;
2612          const menu = panel.closest('header-menu');
2613          if (!menu || typeof menu.deactivate !== 'function') return;
2614
2615          const btn = document.createElement('button');
2616          btn.type = 'button';
2617          btn.className = 'gsd-mega-close';
2618          const x = document.createElement('span');
2619          x.className = 'gsd-mega-close__x';
2620          x.setAttribute('aria-hidden', 'true');
2621          const label = document.createElement('span');
2622          label.textContent = "Close";
2623          btn.append(x, label);
2624
2625          btn.addEventListener('click', (event) => {
2626            menu.deactivate(event);
2627            const item = panel.closest('.menu-list__list-item');
2628            const trigger = item && item.querySelector('.menu-list__link');
2629            if (trigger) trigger.focus();
2630          });
2631
2632          panel.append(btn);
2633        });
2634      };
2635
2636      addClose();
2637      document.addEventListener('shopify:section:load', (event) => addClose(event.target));
2638    })();
2639  </script>
2639
2640  
2640<script type="module">
2641    import { hydrate } from '@theme/section-hydration';
2642    const url = new URL(window.location.href);
2643    url.searchParams.delete('page');
2644    hydrate('sections--30416071098752__header_section', url);
2645  </script>
2645
2646
2647
2648
2649</header><div id="shopify-section-sections--30416071098752__divider_NbpUW6" class="shopify-section shopify-section-group-header-group">
2650
2651
2652
2653
2654
2655<div
2656  class="section-background"
2657></div>
2658
2659<div
2660  class="section section--page-width"
2661  data-testid="divider-sections--30416071098752__divider_NbpUW6"
2662>
2663  <div
2664  class="divider divider-sections--30416071098752__divider_NbpUW6 spacing-style"
2665  style="
2666    --divider-justify-content: center;
2667    --color-border: #d8d8d8;
2668    --padding-block-start: 0px;--padding-block-end: 16px;
2669  "
2670  
2671
2672>
2673  <span
2674    class="divider__line"
2675    style="
2676      --divider-border-thickness: 1.5px;
2677      
2678        --divider-border-rounded: 0;
2679      
2680      --divider-flex-basis: 100%;
2681    "
2682  ></span>
2683</div>
2684
2685
2686
2687</div>
2688
2689
2690</div>
2691<!-- END sections: header-group -->
2692      </div>
2693
2694      
2694<script>
2695        // Inline header height and menu style calculations to prevent layout shift
2696        // Note: Updates in calculateHeaderGroupHeight(), updateTransparentHeaderOffset() and setHeaderMenuStyle() utilities.js should be kept in sync with this function
2697        (function setHeaderHeighCustomProperties() {
2698          /*
2699           * Header calculation functions for maintaining CSS variables
2700           * Mimic calculateHeaderGroupHeight() in utilities.js
2701           */
2702          const header = document.querySelector('header-component');
2703          const headerGroup = document.querySelector('#header-group');
2704          const hasHeaderSection = headerGroup?.querySelector('.header-section');
2705
2706          if (!header || !headerGroup) return;
2707
2708          const headerTopRow = header.querySelector('.header__row--top');
2709          const headerHeight = header.offsetHeight;
2710
2711          // Calculate the total height of the header group
2712          let headerGroupHeight = 0;
2713          const children = headerGroup.children;
2714          for (let i = 0; i < children.length; i++) {
2715            const element = children[i];
2716            if (element === header || !(element instanceof HTMLElement)) continue;
2717            headerGroupHeight += element.offsetHeight;
2718          }
2719
2720          // Check for transparent header special case
2721          if (header.hasAttribute('transparent') && header.parentElement?.nextElementSibling) {
2722            headerGroupHeight += headerHeight;
2723          }
2724
2725          // Set CSS variables
2726          document.body.style.setProperty('--header-height', `${headerHeight}px`);
2727          document.body.style.setProperty('--header-group-height', `${headerGroupHeight}px`);
2728
2729          if (headerTopRow) {
2730            window.requestAnimationFrame(function () {
2731              document.body.style.setProperty('--top-row-height', `${headerTopRow.offsetHeight}px`);
2732            });
2733          }
2734
2735          /**
2736           * Updates CSS custom properties for transparent header offset calculation
2737           * Mimic updateTransparentHeaderOffset() in utilities.js
2738           */
2739
2740          if (!hasHeaderSection || !header?.hasAttribute('transparent')) {
2741            document.body.style.setProperty('--transparent-header-offset-boolean', '0');
2742            return;
2743          }
2744
2745          const hasImmediateSection = hasHeaderSection.nextElementSibling?.classList.contains('shopify-section');
2746
2747          const shouldApplyOffset = !hasImmediateSection ? '1' : '0';
2748          document.body.style.setProperty('--transparent-header-offset-boolean', shouldApplyOffset);
2749        })();
2750
2751        (function setHeaderMenuStyle() {
2752          const headerComponent = document.querySelector('#header-component');
2753          if (headerComponent) {
2754            const isTouchDevice = 'ontouchstart' in window && navigator.maxTouchPoints > 0;
2755            const overflowList = headerComponent?.querySelector('overflow-list');
2756            const hasReachedMinimum = overflowList && overflowList.hasAttribute('minimum-reached');
2757            headerComponent.dataset.menuStyle = isTouchDevice || hasReachedMinimum ? 'drawer' : 'menu';
2758          }
2759        })();
2760      </script>
2760
2761
2762      <main
2763        id="MainContent"
2764        class="content-for-layout"
2765        role="main"
2766        data-page-transition-enabled="false"
2767        data-product-transition="false"
2768        data-template="page"
2769      >
2770        <div id="shopify-section-template--30416077029760__main" class="shopify-section section-wrapper">
2771
2772<div
2773  class="section-background"
2774></div>
2775<div class="section page-width-content">
2776  <div
2777    class="
2778      spacing-style
2779      layout-panel-flex
2780      layout-panel-flex--column
2781      section-content-wrapper
2782      mobile-column
2783    "
2784    style="
2785      --flex-direction: column; --flex-wrap: nowrap; --flex-wrap-mobile: wrap;
2786
2787--gap: max(24px, calc(var(--gap-scale, 1.0) * 32px));
2788
2789--horizontal-alignment: ; --vertical-alignment: ;
2790--vertical-alignment-mobile: ;
2791
2792      --padding-block-start: max(20px, calc(var(--spacing-scale) * 40px));--padding-block-end: max(20px, calc(var(--spacing-scale) * 80px));
2793    "
2794  >
2795    
2796
2797
2798
2799
2800
2801
2802  <div class=" spacing-style text-block text-block--AM0RkMUZmdDJ1cmpvQ__heading h2    text-block--align-left  "  style="    --padding-block-start: 0px; --padding-block-end:0px; --padding-inline-start:0px; --padding-inline-end:0px;            --width: 100%;    --max-width: var(--max-width--body-normal);          --text-align: left;          ">
2803    <h1>About us</h1>
2804  </div>
2805
2806
2807
2808
2809
2810
2811<div id="shopify-block-AWEdobWxqckhxdDN5Z__page-content" class="shopify-block rte"><div
2812  class="page-content"
2813  style="
2814    
2815  "
2816>
2817  <rte-formatter>
2818    <p class="MsoNormal">Eye Books Group brings together Eye Books and Wilton Square Books, two independent publishing houses under one roof.</p>
2819<p class="MsoNormal">Eye Books was founded by Dan Hiscocks in 1996, with an ambition to publish the great stories of ordinary people doing extraordinary things. Nearly three decades later, Will Atkinson joined Dan and Eye Books in 2024.</p>
2820<p class="MsoNormal">In 2025, Dan and Will founded Wilton Square Books to provide a secure and continuing home for authors who were previously published by Unbound and Neem Tree Press. This new imprint gave us the opportunity to protect an existing body of work but also build a new list, using Will’s experience at Faber and Atlantic Books.</p>
2821<p class="MsoNormal">We publish fiction and non-fiction for curious readers everywhere. Across our two imprints, we look for distinctive voices, remarkable stories and books that have something to say. At Eye Books Group, we believe that publishing should be built on close relationships with authors, editorial judgement and the freedom to make decisions quickly. Being independent means we can take risks, champion work that might be overlooked elsewhere and give every book the attention it deserves.<span style="font-size: 10.5pt; line-height: 107%; font-family: 'Nunito Sans'; color: black; mso-color-alt: windowtext; background: white;"> </span><span style="font-size: 10.5pt; line-height: 107%; font-family: 'Nunito Sans'; background: white;"></span></p>
2822<p class="MsoNormal">Although our imprints have their own editorial identities, they benefit from the experience, expertise and shared values of the wider Eye Books Group.</p>
2823<p class="MsoNormal">Eye Books Group is led by joint founders Will Atkinson and Dan Hiscocks.</p>
2824<h2 class="MsoNormal"><a href="https://www.eyebooksgroup.com/collections/eye-books"><b>Eye Books</b></a></h2>
2825<p class="MsoNormal">Never forgetting its pedigree in travel writing, Eye Books now publishes books for a ready market, across memoir, business, self-help, and fiction, providing solutions, inspiration and entertainment.<span style="mso-spacerun: yes;">  </span>At its heart, Eye Books looks to great stories for a curious and general reader.</p>
2826<p class="MsoNormal">Founded in 1996 by Dan Hiscocks, Eye Books began by publishing remarkable true stories. Early titles included: <i>Frigid Women, </i>by members of the first all-female expedition to the North Pole; <i>Discovery Road </i>by the first cyclists to mountain-bike around the world without support; and <i>The Boy Who Biked the World, </i>Alastair Humphreys’ bestselling children’s trilogy based on his own round-the-world adventure.</p>
2827<p class="MsoNormal">Later, we created Lightning as our fiction imprint alongside Eye. Today, Lightning has been combined with Eye Books under one name.</p>
2828<p class="p1" style="background: white;"><span style="font-size: 10.5pt; font-family: 'Nunito Sans'; color: black; mso-color-alt: windowtext;">Our home-grown prize nominees include Ray Robinson’s <i>The Mating Habits of Stags</i> and James Corbett’s <i>The Outsiders </i>(Portico Prize), Hilary Taylor’s <i>Sea Defences</i> (New Angle Prize, Paul Torday Memorial Prize), Katharine Quarmby’s <i>The Low Road</i> (New Angle Prize), Adam Macqueen’s <i>Beneath the Streets</i> (Polari Prize), and George Harrison’s <em><span style="font-family: 'Nunito Sans';">Season</span></em> (Nero, Betty Trask and East Anglian Books Awards) and Jim Cockin’s <em><span style="font-family: 'Nunito Sans';">Ghost Tide</span></em> (East Anglian Book Awards).</span><span style="font-size: 10.5pt; font-family: 'Nunito Sans';"></span></p>
2829<p class="p1" style="background: white;"><span style="font-size: 10.5pt; font-family: 'Nunito Sans'; color: black; mso-color-alt: windowtext;">Other high-profile fiction authors include Nicola May, Dan Rhodes, Elinor Lipman, Peter Bradshaw, Antony Johnston, Simon Edge and Josh Berry.</span><span style="font-size: 10.5pt; font-family: 'Nunito Sans';"></span></p>
2830<p class="p1" style="background: white;"><span style="font-size: 10.5pt; font-family: 'Nunito Sans'; color: black; mso-color-alt: windowtext; background: white;">
2830In 2022 we were the Midlands regional winner of Small Press of the Year at the British Book Awards.</span><span style="font-size: 10.5pt; font-family: 'Nunito Sans';"></span></p>
2831<p class="MsoNormal"><img src="https://cdn.shopify.com/s/files/1/1271/4023/files/86F12095-A7DC-4C14-BB69-CDE7D57CF08B_1_105_c.webp?v=1788792882" alt=""></p>
2832<h2 class="MsoNormal"><a href="https://www.eyebooksgroup.com/collections/wilton-square"><b>Wilton Square Books</b></a></h2>
2833<p class="MsoNormal">In 2025, Will Atkinson and Dan Hiscocks established Wilton Square Books with the initial aim of ensuring that the best work previously published or commissioned by Unbound and Neem Tree Press had a continuing life.</p>
2834<p class="MsoNormal">Once this aim had been fulfilled, we set about publishing books that enhance our understanding of the world and the people within it. This means the fiction is broadly literary with a story, the non-fiction is about ideas and things, published in a <span style="mso-spacerun: yes;"> </span>thoughtful, intelligent and culturally engaged manner.</p>
2835<p class="MsoNormal">Today, Wilton Square Books is home to a mix of those ex-Unbound and Neem Tree books and authors, alongside work we have originated ourselves.</p>
2836<p class="MsoNormal">Some of our high-profile authors include C M Kosemen, Timothy O’Grady, Clare Clark, Alice Fraser, Nigel Planer, Emily Woof, Richard Negus, Robert Ashton and many others. </p>
2837  </rte-formatter>
2838</div>
2839
2840
2841
2842
2843</div>
2844
2845  </div>
2846</div>
2847
2848
2849</div>
2850      </main>
2851
2852      <footer>
2853        <!-- BEGIN sections: footer-group -->
2854<div id="shopify-section-sections--30416070705536__footer" class="shopify-section shopify-section-group-footer-group section-wrapper">
2855
2856
2857
2858
2859  <style data-shopify>
2860    .color-custom-sections--30416070705536__footer,
2861    .color-custom-sections--30416070705536__footer .text-block {
2862      /* Background */
2863      --color-background: #c9c9c9;
2864      --color-background-rgb: 201 201 201;
2865
2866      /* Opacity values adjusted for background brightness */
2867      
2868--opacity-5-15: 0.05; --opacity-10-25: 0.1; --opacity-35-55: 0.35; --opacity-40-60:
28690.4; --opacity-30-60: 0.3; --opacity-60: 0.6;
2870
2871
2872      
2873        /* Foreground / text — explicit or smart-contrasted */
2874        --color: #000000;
2875        --color-rgb: 0 0 0;
2876        --color-foreground: #000000;
2877        --color-foreground-rgb: 0 0 0;
2878        --color-foreground-muted: rgb(0 0 0 / var(--opacity-muted-text));
2879        --color-foreground-subdued: rgb(0 0 0 / var(--opacity-subdued-text));
2880        --color-border: var(--palette-darkest);
2881        --color-border-rgb: var(--palette-darkest-rgb);
2882      
2883    }
2884
2885    
2886      .color-custom-sections--30416070705536__footer {
2887        /* Form-related tokens stay on .color-custom only — .text-block is a prose
2888           container (text/announcement/inline-text/blog-post-description/
2889           collection-link/price/sku) and never holds form inputs. */
2890        --input-disabled-background-color: rgb(0 0 0 / var(--opacity-10));
2891        --input-disabled-border-color: rgb(0 0 0 / var(--opacity-5));
2892        --input-disabled-text-color: rgb(0 0 0 / var(--opacity-50));
2893        --checkbox-border: 1px solid rgb(0 0 0 / var(--opacity-35-55));
2894      }
2895    
2896
2897    .color-custom-sections--30416070705536__footer {
2898      color: var(--color, var(--color-foreground));
2899      background-color: var(--color-background);
2900    }
2901  </style>
2902
2903
2904
2905<div
2906  class="section-background color-custom-sections--30416070705536__footer"
2907></div>
2908<div
2909  class="section section--page-width color-custom-sections--30416070705536__footer"
2910>
2911  
2912  <div
2913    class="
2914      footer-content
2915      spacing-style
2916      
2917      
2918    "
2919    style="
2920      --padding-block-start: max(20px, calc(var(--spacing-scale) * 36px));--padding-block-end: max(20px, calc(var(--spacing-scale) * 36px));
2921      --footer-gap: 40px;
2922      --grid-columns: 3;
2923      --last-row-count: 3;
2924      --tablet-last-row-count: 1;
2925    "
2926  >
2927    
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937<div
2938  class="
2939    group-block
2940    group-block--height-fit
2941    group-block--width-fill
2942    border-style
2943    spacing-style
2944    size-style
2945    
2946    
2947  "
2948  style="
2949    
2950--border-width: 1px; --border-style: none; --border-color:
2951rgb(var(--color-border-rgb) / 1.0); --border-radius: 0px; 
2952
2953    --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
2954    --size-style-width: 100%;--size-style-height: fit;--size-style-width-mobile: 100%; --size-style-width-mobile-min: 5rem;
2955    
2956  "
2957  
2958  data-testid="group-block"
2959><div class="group-block__media-wrapper">
2960    
2961
2962
2963
2964
2965    
2966  </div>
2967
2968  <div
2969    class="
2970      group-block-content
2971      
2972      layout-panel-flex
2973      layout-panel-flex--column
2974       mobile-column
2975    "
2976    style="--flex-direction: column; --flex-wrap: nowrap; --flex-wrap-mobile: wrap;
2977
2978--gap: 12px;
2979
2980--horizontal-alignment: flex-start; --vertical-alignment: center;
2981--vertical-alignment-mobile: center;
2982"
2983  >
2984  
2985
2986
2987  
2988
2989
2990
2991
2992
2993
2994  <accordion-custom
2995  
2996    class="menu"
2997  
2998  
2999  
3000    open-by-default-on-desktop
3001  
3002  
3003    open-by-default-on-mobile
3004  
3005  
3006    data-disable-on-desktop="true"
3007  
3008  
3009    data-disable-on-mobile="true"
3010  
3011  
3012  
3013  
3014>
3015  
3016    <details
3017      class="
3018        menu__details
3019        spacing-style
3020        
3021      "
3022      data-testid="menu-details"
3023      style="
3024        --spacing--size: 12px;
3025        --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
3026      "
3027      
3028        open
3029      
3030      
3031    >
3032      <summary class="menu__heading paragraph">
3033        <span class="menu__heading__default">Quick Links</span>
3034        <span class="menu__heading__accordion">
3035          Quick Links
3036          
3037            <span class="menu__heading__toggle svg-wrapper icon-plus"><svg aria-hidden="true" width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
3038  <path class="vertical" d="M2.75 7H11.25" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round"/>
3039  <path class="horizontal" d="M7 2.75L7 11.25" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round"/>
3040</svg>
3041</span>
3042          
3043        </span>
3044      </summary>
3045
3046      <nav
3047        class="details-content"
3048        
3049      >
3050        
3051          <ul class="list-unstyled">
3052            
3053              <li class="menu__item paragraph">
3054                <a href="/pages/about-us">
3055                  About us
3056                </a>
3057              </li>
3058            
3059              <li class="menu__item paragraph">
3060                <a href="/pages/contact-us">
3061                  Contact us
3062                </a>
3063              </li>
3064            
3065              <li class="menu__item paragraph">
3066                <a href="https://www.eye-books.com/pages/submissions-1">
3067                  Submissions
3068                </a>
3069              </li>
3070            
3071              <li class="menu__item paragraph">
3072                <a href="/pages/sales-distribution">
3073                  Sales & Distribution
3074                </a>
3075              </li>
3076            
3077              <li class="menu__item paragraph">
3078                <a href="https://www.eye-books.com/pages/our-catalogues">
3079                  Catalogue
3080                </a>
3081              </li>
3082            
3083              <li class="menu__item paragraph">
3084                <a href="/pages/privacy-safety-polices">
3085                  Privacy and Safety Policies
3086                </a>
3087              </li>
3088            
3089              <li class="menu__item paragraph">
3090                <a href="/pages/careers">
3091                  Careers
3092                </a>
3093              </li>
3094            
3095          </ul>
3096        
3097      </nav>
3098    </details>
3099  
3100</accordion-custom>
3101
3102
3103
3104
3105
3106
3107
3108
3109
3110<div
3111  class="
3112    logo-block
3113    spacing-style
3114  "
3115  style="
3116    
3117      
3118        --logo-width: 177.25301204819277px;
3119      
3120    
3121
3122    
3123    --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
3124  "
3125  
3126>
3127  
3128    <div class="logo-block__image-wrapper">
3129      
3130<img src="//www.eyebooksgroup.com/cdn/shop/files/eye-books-group-wordmark.png?v=1787772567&amp;width=3840" alt="Eye Books Group" srcset="//www.eyebooksgroup.com/cdn/shop/files/eye-books-group-wordmark.png?v=1787772567&amp;width=240 240w, //www.eyebooksgroup.com/cdn/shop/files/eye-books-group-wordmark.png?v=1787772567&amp;width=352 352w, //www.eyebooksgroup.com/cdn/shop/files/eye-books-group-wordmark.png?v=1787772567&amp;width=832 832w, //www.eyebooksgroup.com/cdn/shop/files/eye-books-group-wordmark.png?v=1787772567&amp;width=1200 1200w, //www.eyebooksgroup.com/cdn/shop/files/eye-books-group-wordmark.png?v=1787772567&amp;width=1600 1600w, //www.eyebooksgroup.com/cdn/shop/files/eye-books-group-wordmark.png?v=1787772567&amp;width=1920 1920w, //www.eyebooksgroup.com/cdn/shop/files/eye-books-group-wordmark.png?v=1787772567&amp;width=2560 2560w, //www.eyebooksgroup.com/cdn/shop/files/eye-books-group-wordmark.png?v=1787772567&amp;width=3840 3840w" width="613" height="166" class="logo-block__image" sizes="(min-width: 750px) calc(var(--logo-width)), 100vw">
3131    </div>
3132  
3133</div>
3134
3135
3136
3137
3138
3139</div>
3140</div>
3141
3142
3143
3144
3145
3146
3147
3148
3149
3150
3151
3152
3153
3154
3155
3156<div
3157  class="
3158    group-block
3159    group-block--height-fit
3160    group-block--width-fill
3161    border-style
3162    spacing-style
3163    size-style
3164    
3165    
3166  "
3167  style="
3168    
3169--border-width: 1px; --border-style: none; --border-color:
3170rgb(var(--color-border-rgb) / 1.0); --border-radius: 0px; 
3171
3172    --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
3173    --size-style-width: 100%;--size-style-height: fit;--size-style-width-mobile: 100%; --size-style-width-mobile-min: 5rem;
3174    
3175  "
3176  
3177  data-testid="group-block"
3178><div class="group-block__media-wrapper">
3179    
3180
3181
3182
3183
3184    
3185  </div>
3186
3187  <div
3188    class="
3189      group-block-content
3190      
3191      layout-panel-flex
3192      layout-panel-flex--column
3193       mobile-column
3194    "
3195    style="--flex-direction: column; --flex-wrap: nowrap; --flex-wrap-mobile: wrap;
3196
3197--gap: 12px;
3198
3199--horizontal-alignment: flex-start; --vertical-alignment: center;
3200--vertical-alignment-mobile: center;
3201"
3202  >
3203  
3204</div>
3205</div>
3206
3207
3208
3209
3210
3211
3212
3213
3214
3215
3216
3217
3218
3219
3220
3221<div
3222  class="
3223    group-block
3224    group-block--height-fit
3225    group-block--width-fill
3226    border-style
3227    spacing-style
3228    size-style
3229    
3230    
3231  "
3232  style="
3233    
3234--border-width: 1px; --border-style: none; --border-color:
3235rgb(var(--color-border-rgb) / 1.0); --border-radius: 0px; 
3236
3237    --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
3238    --size-style-width: 100%;--size-style-height: fit;--size-style-width-mobile: 100%; --size-style-width-mobile-min: 5rem;
3239    
3240  "
3241  
3242  data-testid="group-block"
3243><div class="group-block__media-wrapper">
3244    
3245
3246
3247
3248
3249    
3250  </div>
3251
3252  <div
3253    class="
3254      group-block-content
3255      
3256      layout-panel-flex
3257      layout-panel-flex--column
3258       mobile-column
3259    "
3260    style="--flex-direction: column; --flex-wrap: nowrap; --flex-wrap-mobile: wrap;
3261
3262--gap: 12px;
3263
3264--horizontal-alignment: flex-start; --vertical-alignment: center;
3265--vertical-alignment-mobile: center;
3266"
3267  >
3268  
3269</div>
3270</div>
3271
3272
3273
3274
3275
3276
3277  </div>
3278</div>
3279
3280
3281
3282
3283</div>
3284<!-- END sections: footer-group -->
3285      </footer>
3286    </div>
3287
3288    
3289
3290    <div
3291      id="shopify-section-cart-drawer-section"
3292      class="shopify-section"
3293    >
3294  
3295
3296  
3296<script
3297    type="module"
3298    src="//www.eyebooksgroup.com/cdn/shop/t/33/assets/cart-drawer.js?v=101430053943909765251789662477"
3299    fetchpriority="low"
3300  ></script>
3300
3301
3302  
3303
3304  <theme-drawer
3305    id="cart-drawer"
3306    data-skip-node-update
3307  >
3308    <dialog
3309      ref="panel"
3310      class="theme-drawer__dialog color-custom-drawer"
3311      aria-labelledby="cart-drawer-heading"
3312      cart-summary-sticky="true"
3313    >
3314      <cart-drawer-component
3315        
3316      >
3317        <template id="empty-cart-template">
3318          
3319    <div
3320      class="cart-drawer__content"
3321      aria-label="Cart"
3322    >
3323      <h2
3324        class="theme-drawer__title h4"
3325        id="cart-drawer-heading"
3326      >
3327        Your cart is empty
3328      </h2>
3329
3330      <div class="cart-drawer__items">
3331        
3332
3333
3334
3335
3336
3337
3338
3339<script
3340  src="//www.eyebooksgroup.com/cdn/shop/t/33/assets/component-cart-items.js?v=14476580701730542761789662477"
3341  type="module"
3342  fetchpriority="low"
3343></script>
vendor: 1 bytes, line 3343
3343
3344<script
3345  src="//www.eyebooksgroup.com/cdn/shop/t/33/assets/component-cart-quantity-selector.js?v=168493463479860323171789662477"
3346  type="module"
3347  fetchpriority="low"
3348></script>
vendor: 1 bytes, line 3348
3348
3349<script
3350  src="//www.eyebooksgroup.com/cdn/shop/t/33/assets/volume-pricing-info.js?v=94479640769665442661789662477"
3351  type="module"
3352  fetchpriority="low"
3353></script>
3353
3354
3355
3356
3357
3358<div
3359  
3360  class="cart-items__wrapper cart-items__wrapper--drawer-empty"
3361  
3362    data-cart-drawer-empty
3363  
3364  style=""
3365>
3366  
3367<p>
3368        Have an account? <a href="https://www.eyebooksgroup.com/customer_authentication/redirect?locale=en&region_country=US">Log in</a> to check out faster.
3369      </p><a
3370      class="button cart-items__empty-button"
3371      href="/collections/all"
3372    >
3373      <span class="button-text">
3374        Continue shopping
3375      </span>
3376    </a></div>
3377
3378
3379
3380      </div>
3381    </div>
3382    
3383        </template>
3384
3385        <div
3386          class="cart-drawer__inner cart-drawer--empty"
3387          data-hydration-key="cart-drawer-inner"
3388        ><div class="theme-drawer__header">
3389              <button
3390                on:click="#cart-drawer/close"
3391                class="theme-drawer__close-button cart-drawer__close-button--empty"
3392                type="button"
3393                aria-label="Close"
3394              >
3395                <span class="svg-wrapper"><svg aria-hidden="true" width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
3396<path d="M11.1765 12.025C11.4108 12.2594 11.7907 12.2594 12.025 12.025C12.2594 11.7907 12.2594 11.4108 12.025 11.1765L8.84931 8.00078L12.025 4.82505C12.2594 4.59073 12.2594 4.21083 12.025 3.97652C11.7907 3.7422 11.4108 3.7422 11.1765 3.97652L8.00078 7.15225L4.82505 3.97652C4.59073 3.7422 4.21083 3.7422 3.97652 3.97652C3.7422 4.21083 3.7422 4.59073 3.97652 4.82505L7.15225 8.00078L3.97652 11.1765C3.7422 11.4108 3.7422 11.7907 3.97652 12.025C4.21083 12.2594 4.59073 12.2594 4.82505 12.025L8.00078 8.84931L11.1765 12.025Z" fill="currentColor"/>
3397</svg>
3398</span>
3399              </button>
3400            </div>
3401          
3402
3403<cart-items-component
3404  class="cart-items-component"
3405  
3406    data-drawer
3407    view-event-trigger="dialog"
3408  
3409  data-section-id="cart-drawer-section"
3410  
3411  view-event-payload="{&quot;context&quot;:null,&quot;cart&quot;:null}"
3412  
3413>
3414  
3415
3416    <div
3417      class="cart-drawer__content"
3418      aria-label="Cart"
3419    >
3420      <h2
3421        class="theme-drawer__title h4"
3422        id="cart-drawer-heading"
3423      >
3424        Your cart is empty
3425      </h2>
3426
3427      <div class="cart-drawer__items">
3428        
3429
3430
3431
3432
3433
3434
3435
3436<script
3437  src="//www.eyebooksgroup.com/cdn/shop/t/33/assets/component-cart-items.js?v=14476580701730542761789662477"
3438  type="module"
3439  fetchpriority="low"
3440></script>
vendor: 1 bytes, line 3440
3440
3441<script
3442  src="//www.eyebooksgroup.com/cdn/shop/t/33/assets/component-cart-quantity-selector.js?v=168493463479860323171789662477"
3443  type="module"
3444  fetchpriority="low"
3445></script>
vendor: 1 bytes, line 3445
3445
3446<script
3447  src="//www.eyebooksgroup.com/cdn/shop/t/33/assets/volume-pricing-info.js?v=94479640769665442661789662477"
3448  type="module"
3449  fetchpriority="low"
3450></script>
3450
3451
3452
3453
3454
3455<div
3456  
3457  class="cart-items__wrapper cart-items__wrapper--drawer-empty"
3458  
3459    data-cart-drawer-empty
3460  
3461  style=""
3462>
3463  
3464<p>
3465        Have an account? <a href="https://www.eyebooksgroup.com/customer_authentication/redirect?locale=en&region_country=US">Log in</a> to check out faster.
3466      </p><a
3467      class="button cart-items__empty-button"
3468      href="/collections/all"
3469    >
3470      <span class="button-text">
3471        Continue shopping
3472      </span>
3473    </a></div>
3474
3475
3476
3477      </div>
3478    </div>
3479    
3480
3481</cart-items-component>
3482
3483
3484
3485        </div>
3486      </cart-drawer-component>
3487    </dialog>
3488  </theme-drawer>
3489
3490  
3491    </div>
3492  
3493
3494
3495    
3496
3497
3498
3499
3500
3501
3502<script
3503  type="module"
3504  src="//www.eyebooksgroup.com/cdn/shop/t/33/assets/theme-drawer.js?v=155110645205299884131789662477"
3505  fetchpriority="low"
3506></script>
3506
3507
3508<script>
3509  /* Runs synchronously during HTML parsing — opens the correct drawer on first
3510     paint if navigation state was saved, so it renders with the rest of the page. */
3511  (function () {
3512    var drawerIds = (sessionStorage.getItem('theme-drawer-open') || '').split(',').filter(Boolean);
3513    if (!drawerIds.length) return;
3514
3515    // Only restore on wide viewports (squeeze mode). On narrow viewports the
3516    // drawer is a modal overlay — let it start closed after navigation rather
3517    // than re-opening a fullscreen dialog the user may have left behind.
3518    if (!window.matchMedia('(min-width: 990px)').matches) return;
3519
3520    var dialogs = [];
3521    for (var i = 0; i < drawerIds.length; i++) {
3522      var drawer = document.getElementById(drawerIds[i]);
3523      if (!drawer) continue;
3524
3525      drawer.setAttribute('open', '');
3526
3527      // Set [open] directly so the CSS slide-in applies without triggering
3528      // the browser's dialog focusing steps — on wide viewports the drawer is
3529      // a sidebar, not a modal, so focus should stay where it is.
3530      // The instant class suppresses the slide-in transition for the initial restore.
3531      // Set --drawer-stack-order so z-index layering matches the original order.
3532      drawer.style.setProperty('--drawer-stack-order', String(i + 1));
3533
3534      var dialog = drawer.querySelector('dialog');
3535      if (dialog) {
3536        dialog.setAttribute('open', '');
3537        dialog.classList.add('theme-drawer__dialog-instant');
3538        dialogs.push(dialog);
3539      }
3540
3541      // Let each drawer type handle its own restore (e.g. shopify-chat mode).
3542      // Synchronous dispatch — listeners attached during earlier parsing run immediately.
3543      drawer.dispatchEvent(new CustomEvent('theme-drawer:restoring'));
3544    }
3545
3546    // Apply squeeze immediately, bypassing the margin transition.
3547    // Only squeeze if at least one drawer was actually restored — saved
3548    // drawer IDs may not exist on every page (e.g. cart-drawer on /cart).
3549    var pageWrapper = document.querySelector('.page-wrapper');
3550    if (pageWrapper && dialogs.length > 0) {
3551      pageWrapper.style.transition = 'none';
3552      pageWrapper.classList.add('page-wrapper--drawer-open');
3553    }
3554
3555    // Re-enable transitions after one paint so the instant state is rendered first.
3556    requestAnimationFrame(function () {
3557      requestAnimationFrame(function () {
3558        if (pageWrapper) pageWrapper.style.transition = '';
3559        for (var j = 0; j < dialogs.length; j++) {
3560          dialogs[j].classList.remove('theme-drawer__dialog-instant');
3561        }
3562      });
3563    });
3564  })();
3565</script>
3565
3566
3567<script
3568  type="module"
3569>
3570  const pageWrapper = document.querySelector('.page-wrapper');
3571  const squeezeQuery = window.matchMedia('(min-width: 990px)');
3572
3573  // ── Squeeze coordination ──
3574  // Listens to all drawers. Only squeezes on wide viewports.
3575  document.addEventListener('theme-drawer:open', () => {
3576    if (squeezeQuery.matches) {
3577      pageWrapper?.classList.add('page-wrapper--drawer-open');
3578    }
3579  });
3580
3581  document.addEventListener('theme-drawer:close', () => {
3582    const openDrawer = document.querySelector('theme-drawer[open]');
3583    if (!openDrawer) {
3584      pageWrapper?.classList.remove('page-wrapper--drawer-open');
3585    }
3586  });
3587
3588  squeezeQuery.addEventListener('change', () => {
3589    const openDrawer = document.querySelector('theme-drawer[open]');
3590    pageWrapper?.classList.toggle('page-wrapper--drawer-open', Boolean(openDrawer) && squeezeQuery.matches);
3591  });
3592
3593  // ── State persistence ──
3594  // Store open drawer IDs sorted by their visual stack order so
3595  // the restore script can recreate the same z-index layering.
3596  function persistDrawerState() {
3597    const openDrawers = Array.from(document.querySelectorAll('theme-drawer[open]:not([no-persist])'));
3598    if (!openDrawers.length) {
3599      sessionStorage.removeItem('theme-drawer-open');
3600      return;
3601    }
3602
3603    openDrawers.sort((a, b) => {
3604      const orderA = Number(a.style.getPropertyValue('--drawer-stack-order') || 0);
3605      const orderB = Number(b.style.getPropertyValue('--drawer-stack-order') || 0);
3606      return orderA - orderB;
3607    });
3608
3609    sessionStorage.setItem('theme-drawer-open', openDrawers.map((d) => d.id).join(','));
3610  }
3611
3612  document.addEventListener('theme-drawer:open', persistDrawerState);
3613  document.addEventListener('theme-drawer:close', persistDrawerState);
3614</script>
3614
3615
3616
3617    
3618
3619
3620
3621
3622
3623
3624
3625
3626<script
3627  src="//www.eyebooksgroup.com/cdn/shop/t/33/assets/dialog.js?v=144816527575655702281789662477"
3628  type="module"
3629></script>
3629
3630
3631<script
3632  src="//www.eyebooksgroup.com/cdn/shop/t/33/assets/predictive-search.js?v=162722252387887966571789662477"
3633  type="module"
3634  fetchpriority="low"
3635></script>
3635
3636
3637<dialog-component
3638  id="search-modal"
3639  class="search-modal"
3640  
3641>
3642  <dialog
3643    ref="dialog"
3644    on:click="/closeDialogOnClickOutside"
3645    on:keydown="/closeDialogOnEscapePress"
3646    class="search-modal__content dialog-modal"
3647    scroll-lock
3648    aria-labelledby="search-modal-heading"
3649  >
3650    <h2
3651      id="search-modal-heading"
3652      class="visually-hidden"
3653    >
3654      Search
3655    </h2>
3656    <predictive-search-component
3657      class="predictive-search color-custom-popover"
3658      style="--product-corner-radius: 0px; --card-corner-radius: 4px;"
3659      data-section-id="predictive-search"
3660      data-testid="search-component--modal"
3661      role="search"
3662      aria-label="Search"
3663    >
3664      <form
3665        action="/search"
3666        method="get"
3667        role="search"
3668        class="predictive-search-form"
3669        ref="form"
3670        on:keydown="/onSearchKeyDown"
3671      >
3672        <div
3673          class="predictive-search-form__header"
3674        >
3675          <div class="predictive-search-form__header-inner">
3676            <label
3677              for="cmdk-input"
3678              class="visually-hidden"
3679            >Search</label>
3680            <input
3681              class="search-input"
3682              id="cmdk-input"
3683              type="search"
3684              name="q"
3685              role="combobox"
3686              aria-expanded="false"
3687              aria-owns="predictive-search-results"
3688              aria-controls="predictive-search-results"
3689              aria-haspopup="listbox"
3690              aria-autocomplete="list"
3691              autocomplete="off"
3692              placeholder="Search"
3693              ref="searchInput"
3694              on:input="/search"
3695              on:keydown="/onSearchKeyDown"
3696            >
3697            <input
3698              name="options[prefix]"
3699              type="hidden"
3700              value="last"
3701            >
3702            <span class="svg-wrapper predictive-search__icon">
3703              <svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><circle cx="9" cy="9" r="4.75" stroke="currentColor" stroke-width="var(--icon-stroke-width)"/><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="m12.5 12.5 3.25 3.25"/></svg>
3704
3705            </span>
3706            <button
3707              type="button"
3708              class="button-unstyled predictive-search__reset-button"
3709              ref="resetButton"
3710              hidden
3711              on:click="/resetSearch"
3712            >
3713              Clear
3714            </button>
3715          </div>
3716          <button
3717            type="button"
3718            class="button predictive-search__close-modal-button"
3719            aria-label="Close dialog"
3720            on:click="dialog-component/closeDialog"
3721            ref="closeModalButton"
3722          >
3723            <span class="svg-wrapper">
3724              <svg aria-hidden="true" width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
3725<path d="M11.1765 12.025C11.4108 12.2594 11.7907 12.2594 12.025 12.025C12.2594 11.7907 12.2594 11.4108 12.025 11.1765L8.84931 8.00078L12.025 4.82505C12.2594 4.59073 12.2594 4.21083 12.025 3.97652C11.7907 3.7422 11.4108 3.7422 11.1765 3.97652L8.00078 7.15225L4.82505 3.97652C4.59073 3.7422 4.21083 3.7422 3.97652 3.97652C3.7422 4.21083 3.7422 4.59073 3.97652 4.82505L7.15225 8.00078L3.97652 11.1765C3.7422 11.4108 3.7422 11.7907 3.97652 12.025C4.21083 12.2594 4.59073 12.2594 4.82505 12.025L8.00078 8.84931L11.1765 12.025Z" fill="currentColor"/>
3726</svg>
3727
3728            </span>
3729          </button>
3730        </div>
3731
3732        <div class="predictive-search-form__content-wrapper">
3733          <div
3734            class="predictive-search-form__content"
3735            ref="predictiveSearchResults"
3736            on:click="/handleModalClick"
3737          >
3738            
3739
3740<div
3741  id="predictive-search-results"
3742  class="predictive-search-dropdown"
3743  role="listbox"
3744  aria-expanded="true"
3745  style="--color-shadow: rgb(var(--color-foreground-rgb) / 0.1);"
3746>
3747  
3748    <div class="predictive-search-results__inner">
3749      
3750      
3751        
3752        
3753        
3754          <div
3755  id="predictive-search-products"
3756  class="predictive-search-results__products"
3757  
3758    data-testid="products-list-default--modal"
3759  
3760>
3761  
3762    <h4 class="predictive-search-results__title">
3763      Products
3764    </h4>
3765    <ul
3766      class="predictive-search-results__list predictive-search-results__wrapper-products list-unstyled"
3767    >
3768      
3769      
3770        <li
3771          class="predictive-search-results__card predictive-search-results__card--product"
3772          ref="resultsItems[]"
3773        >
3774          
3775<product-component
3776    class="resource-card__wrapper"
3777    
3778    
3779    view-event-payload="{&quot;product&quot;:{&quot;id&quot;:15878791332224,&quot;title&quot;:&quot;108 Psychopaths and Me&quot;,&quot;handle&quot;:&quot;108-psychopaths-and-me&quot;,&quot;selectedVariant&quot;:null},&quot;context&quot;:&quot;search&quot;,&quot;selectedOptions&quot;:[]}"
3780    
3781  ><div
3782  class="resource-card"
3783  data-resource-type="product"
3784>
3785  <a
3786    class="resource-card__link"
3787    href="/products/108-psychopaths-and-me"
3788  >
3789    <span class="visually-hidden">
3790      108 Psychopaths and Me
3791    </span>
3792  </a>
3793  <div
3794    class="resource-card__media"
3795    style="--resource-card-aspect-ratio: 4 / 5;"
3796    
3797  >
3798      
3799      
3800
3801        <img src="//www.eyebooksgroup.com/cdn/shop/files/9781806770076.jpg?v=1785754364&amp;width=500" alt="Cover of 108 Psychopaths and Me" srcset="//www.eyebooksgroup.com/cdn/shop/files/9781806770076.jpg?v=1785754364&amp;width=240 240w, //www.eyebooksgroup.com/cdn/shop/files/9781806770076.jpg?v=1785754364&amp;width=352 352w" width="500" height="767" loading="lazy" class="resource-card__image" sizes="auto" ref="" style="object-position: 50.0% 50.0%;">
3802</div>
3803
3804  <div class="resource-card__content">
3805    <p class="resource-card__title paragraph">108 Psychopaths and Me</p>
3806
3807    
3808      <div ref="priceContainer">
3809  
3810    
3811    
3812      <span class="price">$23.00</span>
3813    
3814  
3815</div>
3816    
3817  </div>
3818</div></product-component>
3819
3820        </li>
3821      
3822        <li
3823          class="predictive-search-results__card predictive-search-results__card--product"
3824          ref="resultsItems[]"
3825        >
3826          
3827<product-component
3828    class="resource-card__wrapper"
3829    
3830    
3831    view-event-payload="{&quot;product&quot;:{&quot;id&quot;:15104264110464,&quot;title&quot;:&quot;A Circle Outside&quot;,&quot;handle&quot;:&quot;a-circle-outside&quot;,&quot;selectedVariant&quot;:null},&quot;context&quot;:&quot;search&quot;,&quot;selectedOptions&quot;:[]}"
3832    
3833  ><div
3834  class="resource-card"
3835  data-resource-type="product"
3836>
3837  <a
3838    class="resource-card__link"
3839    href="/products/a-circle-outside"
3840  >
3841    <span class="visually-hidden">
3842      A Circle Outside
3843    </span>
3844  </a>
3845  <div
3846    class="resource-card__media"
3847    style="--resource-card-aspect-ratio: 4 / 5;"
3848    
3849  >
3850      
3851      
3852
3853        <img src="//www.eyebooksgroup.com/cdn/shop/files/ACircleOutside_6Mar.jpg?v=1741343387&amp;width=500" alt="" srcset="//www.eyebooksgroup.com/cdn/shop/files/ACircleOutside_6Mar.jpg?v=1741343387&amp;width=240 240w, //www.eyebooksgroup.com/cdn/shop/files/ACircleOutside_6Mar.jpg?v=1741343387&amp;width=352 352w" width="500" height="767" loading="lazy" class="resource-card__image" sizes="auto" ref="" style="object-position: 50.0% 50.0%;">
3854</div>
3855
3856  <div class="resource-card__content">
3857    <p class="resource-card__title paragraph">A Circle Outside</p>
3858
3859    
3860      <div ref="priceContainer">
3861  
3862    
3863    
3864      <span class="price">$14.00</span>
3865    
3866  
3867</div>
3868    
3869  </div>
3870</div></product-component>
3871
3872        </li>
3873      
3874        <li
3875          class="predictive-search-results__card predictive-search-results__card--product"
3876          ref="resultsItems[]"
3877        >
3878          
3879<product-component
3880    class="resource-card__wrapper"
3881    
3882    
3883    view-event-payload="{&quot;product&quot;:{&quot;id&quot;:15878785302912,&quot;title&quot;:&quot;A Hundred Years to Arras&quot;,&quot;handle&quot;:&quot;a-hundred-years-to-arras&quot;,&quot;selectedVariant&quot;:null},&quot;context&quot;:&quot;search&quot;,&quot;selectedOptions&quot;:[]}"
3884    
3885  ><div
3886  class="resource-card"
3887  data-resource-type="product"
3888>
3889  <a
3890    class="resource-card__link"
3891    href="/products/a-hundred-years-to-arras"
3892  >
3893    <span class="visually-hidden">
3894      A Hundred Years to Arras
3895    </span>
3896  </a>
3897  <div
3898    class="resource-card__media"
3899    style="--resource-card-aspect-ratio: 4 / 5;"
3900    
3901  >
3902      
3903      
3904
3905        <img src="//www.eyebooksgroup.com/cdn/shop/files/9781806770229.jpg?v=1785754332&amp;width=500" alt="Cover of A Hundred Years to Arras" srcset="//www.eyebooksgroup.com/cdn/shop/files/9781806770229.jpg?v=1785754332&amp;width=240 240w, //www.eyebooksgroup.com/cdn/shop/files/9781806770229.jpg?v=1785754332&amp;width=352 352w" width="500" height="767" loading="lazy" class="resource-card__image" sizes="auto" ref="" style="object-position: 50.0% 50.0%;">
3906</div>
3907
3908  <div class="resource-card__content">
3909    <p class="resource-card__title paragraph">A Hundred Years to Arras</p>
3910
3911    
3912      <div ref="priceContainer">
3913  
3914    
3915    
3916      <span class="price">$14.00</span>
3917    
3918  
3919</div>
3920    
3921  </div>
3922</div></product-component>
3923
3924        </li>
3925      
3926        <li
3927          class="predictive-search-results__card predictive-search-results__card--product"
3928          ref="resultsItems[]"
3929        >
3930          
3931<product-component
3932    class="resource-card__wrapper"
3933    
3934    
3935    view-event-payload="{&quot;product&quot;:{&quot;id&quot;:1327946629182,&quot;title&quot;:&quot;A Long Shadow&quot;,&quot;handle&quot;:&quot;a-long-shadow&quot;,&quot;selectedVariant&quot;:null},&quot;context&quot;:&quot;search&quot;,&quot;selectedOptions&quot;:[]}"
3936    
3937  ><div
3938  class="resource-card"
3939  data-resource-type="product"
3940>
3941  <a
3942    class="resource-card__link"
3943    href="/products/a-long-shadow"
3944  >
3945    <span class="visually-hidden">
3946      A Long Shadow
3947    </span>
3948  </a>
3949  <div
3950    class="resource-card__media"
3951    style="--resource-card-aspect-ratio: 4 / 5;"
3952    
3953  >
3954      
3955      
3956
3957        <img src="//www.eyebooksgroup.com/cdn/shop/products/A_Long_Shadow.jpg?v=1547208130&amp;width=500" alt="" srcset="//www.eyebooksgroup.com/cdn/shop/products/A_Long_Shadow.jpg?v=1547208130&amp;width=240 240w, //www.eyebooksgroup.com/cdn/shop/products/A_Long_Shadow.jpg?v=1547208130&amp;width=352 352w" width="500" height="767" loading="lazy" class="resource-card__image" sizes="auto" ref="" style="object-position: 50.0% 50.0%;">
3958</div>
3959
3960  <div class="resource-card__content">
3961    <p class="resource-card__title paragraph">A Long Shadow</p>
3962
3963    
3964      <div ref="priceContainer">
3965  
3966    
3967    
3968      <span class="price">$13.00</span>
3969    
3970  
3971</div>
3972    
3973  </div>
3974</div></product-component>
3975
3976        </li>
3977      
3978    </ul>
3979  
3980</div>
3981
3982        
3983      
3984    </div>
3985  
3986</div>
3987
3988          </div>
3989
3990          <div class="predictive-search-form__footer">
3991            <button
3992              class="button predictive-search__search-button"
3993              ref="viewAllButton"
3994            >
3995              View all
3996            </button>
3997          </div>
3998        </div>
3999      </form>
4000    </predictive-search-component>
4001  </dialog>
4002</dialog-component>
4003
4004
4005
4006
4007    
4008      
4008<script
4009  src="//www.eyebooksgroup.com/cdn/shop/t/33/assets/gift-card-recipient-form.js?v=170482155849799299241789662477"
4010  type="module"
4011  fetchpriority="low"
4012></script>
4012
4013<quick-add-dialog id="quick-add-dialog">
4014  <dialog
4015    class="quick-add-modal dialog-modal color-custom-popover"
4016    ref="dialog"
4017    scroll-lock
4018  >
4019    <button
4020      ref="closeButton"
4021      on:click="/closeDialog"
4022      class="button button-unstyled close-button quick-add-modal__close"
4023      aria-label="Close dialog"
4024    ><svg aria-hidden="true" width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
4025<path d="M11.1765 12.025C11.4108 12.2594 11.7907 12.2594 12.025 12.025C12.2594 11.7907 12.2594 11.4108 12.025 11.1765L8.84931 8.00078L12.025 4.82505C12.2594 4.59073 12.2594 4.21083 12.025 3.97652C11.7907 3.7422 11.4108 3.7422 11.1765 3.97652L8.00078 7.15225L4.82505 3.97652C4.59073 3.7422 4.21083 3.7422 3.97652 3.97652C3.7422 4.21083 3.7422 4.59073 3.97652 4.82505L7.15225 8.00078L3.97652 11.1765C3.7422 11.4108 3.7422 11.7907 3.97652 12.025C4.21083 12.2594 4.59073 12.2594 4.82505 12.025L8.00078 8.84931L11.1765 12.025Z" fill="currentColor"/>
4026</svg>
4027</button>
4028
4029    <product-component
4030      id="quick-add-modal-content"
4031      class="quick-add-modal__content"
4032      view-event-trigger="dialog"
4033    ></product-component>
4034  </dialog>
4035</quick-add-dialog>
4036
4037
4038
4039
4040
4041
4042
4043
4044
4045
4046    
4047  <style> @media screen and (min-width: 750px) {/* 1. Reduce Spacing (Keeping your existing reduction) */ .product-information .product-information__grid {gap: 0 !important; column-gap: 0 !important; } .product-information.spacing-style {--gap: 0px !important; } /* 2. Reduce Image Size and Center Content */ .product-information {/* Use max-width and margin: auto to limit the total width and center the entire product section */ max-width: 1000px; /* Adjust this value to control the maximum width of the content area */ margin-left: auto; margin-right: auto; } /* 3. Center the Image and Description Columns */ /* This targets the Horizon theme's grid structure for the product page */ .product__media-wrapper, /* Targets the image column */ .product__info-wrapper {/* Targets the description column */ /* By setting a max-width on these columns, you reduce the size of the image/info block */ max-width: 450px; /* Adjust this value to control the image and description block width */ margin-left: auto !important; margin-right: auto !important; }} variant-picker legend {display: none;} </style>
4048<div id="shopify-block-ARG1FTWVaU1hsQTJBU__1437736192165010668" class="shopify-block shopify-app-block">
4049
4050
4051
4052<script>
4053  window.Calendar = window.Calendar || {};
4054  window.Calendar.shopDomain = "eye-books-store.myshopify.com";
4055  window.Calendar.shopName = "Eye Books Group";
4056  window.Calendar.apiBaseUrl = "https:\/\/eventcalendar-api.orbitsdev.com";
4057  window.Calendar.embedRootSelector = "#calendar-embed-root";
4058  window.Calendar.page = {
4059    templateName: "page",
4060    productHandle: null,
4061    collectionHandle: null
4062  };
4063  // widgets is the full array of widget configs saved from the admin (one per widget id).
4064  // Section blocks (calendar_widget) read window.Calendar.sections to know which widget
4065  // to mount where; this embed exposes the raw catalog so storefront JS can resolve them.
4066  window.Calendar.metafields = {
4067    key: "calendar_config",
4068    widgets: [{"id":"w-mtr9voj2-ktwrus","name":"Upcoming","templateId":"brunch-light","targetPage":"page","appearance":{"customJs":"","customCss":"","layoutType":"original_calendar","hideWeekends":false,"paddingTopPx":30,"weekStartsOn":"sunday","tagsTextColor":"#4b5563","gridCardLayout":"row","hidePastEvents":true,"popupTextColor":"#000000","tagsFontSizePx":12,"tagsFontWeight":"500","defaultTimezone":"Europe\/London","eventsTextColor":"#000000","hideTimeOnTiles":false,"listCardsPerRow":1,"paddingBottomPx":30,"popupFontFamily":"'Inter', sans-serif","use24HourFormat":true,"eventsFontSizePx":19,"eventsFontWeight":"700","showTagSelection":false,"signupAlertEmail":"","calendarTextColor":"#181818","headingTitleAlign":"left","headingTitleColor":"#000000","listEventsPerPage":12,"calendarDateFormat":"DD\/MM\/YYYY","calendarFontFamily":"'Inter', sans-serif","eventDateTextColor":"#374151","eventTimeTextColor":"#818183","headingTitleFontPx":24,"selectedCalendarId":"1","useAccentEventText":true,"calendarButtonColor":"#b4b4b4","eventDateFontSizePx":14,"eventDateFontWeight":"500","eventTimeFontSizePx":13,"eventTimeFontWeight":"400","priceLabelTextColor":"#6b7280","priceValueTextColor":"#111827","showImageInCalendar":false,"calendarWidthPercent":100,"eventButtonTextColor":"#FFFFFF","eventsPopupTextColor":"#374151","popupButtonTextColor":"#949494","priceLabelFontSizePx":12,"priceLabelFontWeight":"500","priceValueFontSizePx":16,"priceValueFontWeight":"600","speakerNameTextColor":"#000000","eventButtonFontSizePx":14,"eventButtonFontWeight":"600","eventsPopupFontSizePx":14,"eventsPopupFontWeight":"400","speakerNameFontSizePx":15,"speakerNameFontWeight":"600","speakerTitleTextColor":"#6b7280","eventLocationTextColor":"#6b7280","speakerTitleFontSizePx":13,"speakerTitleFontWeight":"400","eventLocationFontSizePx":13,"eventLocationFontWeight":"400","listViewButtonTextColor":"#FFFFFF","removeLocationHyperlink":false,"defaultClassicEventColor":"#000000","eventDescriptionTextColor":"#4b5563","registrationFormTextColor":"#374151","registrationFullTextColor":"#b91c1c","eventDescriptionFontSizePx":14,"eventDescriptionFontWeight":"400","popupButtonBackgroundColor":"#000000","registrationFormFontSizePx":13,"registrationFormFontWeight":"500","registrationFullFontSizePx":13,"registrationFullFontWeight":"500","registrationSuccessTextColor":"#047857","listViewButtonBackgroundColor":"#000000","registrationSuccessFontSizePx":13,"registrationSuccessFontWeight":"500"},"events":[{"id":"e-1791208011009-ffbb700e1c7b68","color":"#000000","endAt":"2026-10-18T19:00","title":"Adder Stone: Book Space Cardiff","allDay":false,"hidden":false,"status":"upcoming","startAt":"2026-11-18T18:00","eventTag":"","imageUrl":"https:\/\/cdn.shopify.com\/s\/files\/1\/1271\/4023\/files\/Clare_Clark_9654f101-d04a-4015-8298-cc2c53f4096b.png?v=1791208109","location":"Book Space Cardiff","eventTags":[],"recurring":false,"buttonText":"Sign up","calendarId":"A1PQU9TX","maxSignups":"","priceLabel":"","priceValue":"","description":"Join us for an evening in conversation with Clare Clark to talk about her new book Adder Stone.\n\nWhen: 18\/11\/26 18:30 start (doors 18:15)\n\nWhere: 26a Crwys Road, CF24 4NL\n\n~~~~~~~~~~~~~~~~~~~~\n\nThere will be books available to buy at the event or you can preorder here. \n\nBook - £17.99 (£2 off the ticket price if you preorder the book)\n\nThere is an option to pay what you can as we would like to keep this event accessible for all. There is a limited number of PWYC tickets so please only use it if you need to.","externalUrl":"https:\/\/www.books
4068pacecardiff.co.uk\/products\/adder-stone-event-ticket","locationUrl":"https:\/\/maps.app.goo.gl\/sYeBCjqTg9cRWQ6g8","speakerName":"","scheduleMode":"date_time","speakerTitle":"","imageFileName":"Clare Clark.png","nameMandatory":false,"recurringRule":"none","emailMandatory":true,"phoneMandatory":false,"registerMethod":"event_form","addRegistration":false,"enableNameField":true,"guestsMandatory":false,"speakerImageUrl":"","customMonthlyDay":1,"customWeeklyDays":["wed"],"enableEmailField":true,"enableMaxSignups":false,"enablePhoneField":false,"customWeeklyLimit":3,"enableGuestsField":false,"customMonthlyLimit":3,"externalButtonText":"View event","registrationMobile":"","customMonthlyMonths":["jan"],"registrationFullText":"This event is full. No more signups are available.","speakerImageFileName":"","registrationButtonText":"Sign up","registrationSubmitText":"Submit","registrationSuccessText":"Thank you! Your registration was submitted."},{"id":"e-1791207860351-e614321cdc4bf8","color":"#000000","endAt":"2026-11-09T20:00","title":"\"The Dawn of Power Literacy: A Story of Power, Sex, Aloneness and Hope\"","allDay":false,"hidden":false,"status":"upcoming","startAt":"2026-11-09T19:00","eventTag":"","imageUrl":"https:\/\/cdn.shopify.com\/s\/files\/1\/1271\/4023\/files\/Untitled_-_18_June_2026_at_13.38.36_1.png?v=1791208116","location":"The Old Queens Head, London","eventTags":[],"recurring":false,"buttonText":"Sign up","calendarId":"E9YLM6U6","maxSignups":"","priceLabel":"","priceValue":"","description":"In his latest book, ‘The Blindspot’, Douglas Board and co-author Martin Henwood break down knowledge about power: does it exist, who has it and how it gets passed on (or not). This analysis links how we can better prepare ourselves for workplaces and boardrooms and usher in a social revolution – the era of power literacy.\n\nLearn what to put in your power first aid kit. Understand why tomorrow’s seventeen year olds will understand more about power than today’s elite leaders. Expect a story which weaves together power, sex, aloneness and hope, with a guest appearance (in your imagination!) from Darth Vader, and a suggestion as to how two such polar-opposite politicians, Boris Johnson and Keir Starmer, ended up in such similar messes.\n\n","externalUrl":"https:\/\/www.tickettailor.com\/events\/pintsofknowledge\/2436925","locationUrl":"https:\/\/maps.app.goo.gl\/iXqmn3Wx4gVrMW5SA","speakerName":"","scheduleMode":"date_time","speakerTitle":"","imageFileName":"Untitled - 18 June 2026 at 13.38.36 (1).png","nameMandatory":false,"recurringRule":"none","emailMandatory":true,"phoneMandatory":false,"registerMethod":"event_form","addRegistration":false,"enableNameField":true,"guestsMandatory":false,"speakerImageUrl":"","customMonthlyDay":1,"customWeeklyDays":["wed"],"enableEmailField":true,"enableMaxSignups":false,"enablePhoneField":false,"customWeeklyLimit":3,"enableGuestsField":false,"customMonthlyLimit":3,"externalButtonText":"View event","registrationMobile":"","customMonthlyMonths":["jan"],"registrationFullText":"This event is full. No more signups are available.","speakerImageFileName":"","registrationButtonText":"Sign up","registrationSubmitText":"Submit","registrationSuccessText":"Thank you! Your registration was submitted."},{"id":"e-1791207622528-61d033f528101","color":"#000000","endAt":"2026-11-05T20:00","title":"Secrets of Dorley Hall : Book Launch","allDay":false,"hidden":false,"status":"upcoming","startAt":"2026-11-05T19:00","eventTag":"","imageUrl":"https:\/\/cdn.shopify.com\/s\/files\/1\/1271\/4023\/files\/Untitled_-_18_June_2026_at_13.38.36.png?v=1791208123","location":"The Common Press Shoreditch","eventTags":[],"recurring":false,"buttonText":"Sign up","calendarId":"IAY64IXN","maxSignups":"","priceLabel":"","priceValue":"","description":"Join Wilton Square Books and author Alyson Greaves at The Common Press to celebrate the publication of Secrets of Dorley Hall, the highly anticipated second novel in the cult Sisters of Dorley series. \n\nFollowing Welcome to Dorley Hall, Alyson returns to the secretive world of Dorley, where questions of gender, identity, power and transformation collide in a gripping blend of psychological suspense and speculative fiction. \n\nAlyson will be in conversation about Secrets of Dorley Hall, the extraordinary community that has grown around the series, and the journey from online serial to published phenomenon, followed by an audie
4068nce Q\u0026A and book signing. ","externalUrl":"https:\/\/outsavvy.com\/Pages\/Event.aspx?eventid=40240","locationUrl":"https:\/\/maps.app.goo.gl\/F8dbw885dKzwREPS6","speakerName":"","scheduleMode":"date_time","speakerTitle":"","imageFileName":"Untitled - 18 June 2026 at 13.38.36.png","nameMandatory":false,"recurringRule":"none","emailMandatory":true,"phoneMandatory":false,"registerMethod":"event_form","addRegistration":false,"enableNameField":true,"guestsMandatory":false,"speakerImageUrl":"","customMonthlyDay":1,"customWeeklyDays":["wed"],"enableEmailField":true,"enableMaxSignups":false,"enablePhoneField":false,"customWeeklyLimit":3,"enableGuestsField":false,"customMonthlyLimit":3,"externalButtonText":"View event","registrationMobile":"","customMonthlyMonths":["jan"],"registrationFullText":"This event is full. No more signups are available.","speakerImageFileName":"","registrationButtonText":"Sign up","registrationSubmitText":"Submit","registrationSuccessText":"Thank you! Your registration was submitted."},{"id":"e-1791207435209-b24b22589e5b58","color":"#000000","endAt":"2026-10-23T20:00","title":"The Hedgerow - A Home for Wildlife","allDay":false,"hidden":false,"status":"upcoming","startAt":"2026-10-23T19:00","eventTag":"","imageUrl":"https:\/\/cdn.shopify.com\/s\/files\/1\/1271\/4023\/files\/Richard_Negus_1298eeb6-7145-4eef-bfeb-d6d4dba3b6c5.png?v=1791208130","location":"Offton \u0026 Willisham Village Hall, Ipswich, IP8 4RA","eventTags":[],"recurring":false,"buttonText":"Sign up","calendarId":"KXGTDF9Z","maxSignups":"","priceLabel":"","priceValue":"","description":"Event: The Hedgerow - A Home for Wildlife\nVenue: Offton \u0026 Willisham Village Hall, Ipswich\nDate: Friday 23rd October 2026 at 7:30PM\nSection: General","externalUrl":"https:\/\/www.ticketsource.com\/somersham-district-garden-club\/the-hedgerow-a-home-for-wildlife\/e-eveaqa?fbclid=IwY2xjawUwhdlleHRuA2FlbQIxMABwZG9mAWJyaWQRMUJncHN3aXVGdGZuWlZDaERzcnRjBmFwcF9pZBAyMjIwMzkxNzg4MjAwODkyAAEe_ZGVoLj1ihG8hzi0PYa2l7uvzjaVTbwT7QESgZg7FnrdqYo-DNVrB1KrUBI_aem_f5AHscrp8WzOr9Nm0Fpe3Q","locationUrl":"https:\/\/maps.app.goo.gl\/QeT9dYHdhfukD9Nj6","speakerName":"","scheduleMode":"date_time","speakerTitle":"","imageFileName":"Richard Negus.png","nameMandatory":false,"recurringRule":"none","emailMandatory":true,"phoneMandatory":false,"registerMethod":"event_form","addRegistration":false,"enableNameField":true,"guestsMandatory":false,"speakerImageUrl":"","customMonthlyDay":1,"customWeeklyDays":["wed"],"enableEmailField":true,"enableMaxSignups":false,"enablePhoneField":false,"customWeeklyLimit":3,"enableGuestsField":false,"customMonthlyLimit":3,"externalButtonText":"Tickets","registrationMobile":"","customMonthlyMonths":["jan"],"registrationFullText":"This event is full. No more signups are available.","speakerImageFileName":"","registrationButtonText":"Sign up","registrationSubmitText":"Submit","registrationSuccessText":"Thank you! Your registration was submitted."},{"id":"e-1790610821163-534cf356c05d78","color":"#000000","endAt":"2026-10-27T20:00","title":"All God’s Creatures: In Conversation with Anthony Gardner","allDay":false,"hidden":false,"status":"upcoming","startAt":"2026-10-27T19:00","eventTag":"","imageUrl":"https:\/\/cdn.shopify.com\/s\/files\/1\/1271\/4023\/files\/Andrew_Gardner.png?v=1790610978","location":"Online","eventTags":[],"recurring":false,"buttonText":"Sign up","calendarId":"XEEHHY5S","maxSignups":"","priceLabel":"","priceValue":"","description":"Join Anthony Gardner in conversation with Polly Clark about the wonderfully strange world of All God’s Creatures.\n\nJoin author Anthony Gardner for an entertaining online conversation with Polly Clark about his new novel, All God’s Creatures.\n\nBlending dark humour, satire, intrigue and murder, the novel follows mild-mannered editor Ben Fairweather as he finds himself caught up in a bizarre religious movement, a world of art forgery and a sinister Russian oligarch.\n\nExpect a lively conversation about a sharply observed and wonderfully strange story that is both thrilling and darkly funny.","externalUrl":"https:\/\/www.eventbrite.com\/e\/all-gods-creatures-in-conversation-with-anthony-gardner-tickets-2002454614657?aff=oddtdtcreator\u0026keep_tld=true","locationUrl":"https:\/\/www.eventbrite.com\/e\/all-gods-creatures-in-conversation-with-anthony-gardner-tickets-2002454614657?aff=oddtdtcreator\u0026keep_tld=true","speakerName":"Anthony Gardner","scheduleMode":"date_time","speakerTitle":"Author","imageFileName":"Andrew Gardner.png","nameMandatory":false,"recurringRule":"none","emailMandatory":true,"phoneMandatory":false,"registerMethod":"event_form","addRegistration":false,"enableNameField":true,"guestsMandatory":false,"speakerImageUrl":"","customMonthlyDay":1,"customWeeklyDays":["wed"],"enableEmailField":true,"enableMaxSignups":false,"enablePhoneField":false,"customWeeklyLimit":3,"enableGuestsField":false,"customMonthlyLimit":3,"externalButtonText":"Tickets","registrationMobile":"","customMonthlyMonths":["jan"],"registrationFullText":"This event is full. No more signups are available.","speakerImageFileName":"","registrationButtonText":"Sign up","registrationSubmitText":"Submit","registrationSuccessText":"Thank y
4068ou! Your registration was submitted."},{"id":"e-1788795900500-fc0f4fa5583c2","color":"#000000","endAt":"2026-09-19T16:00","title":"Leiston Book Festival - Down to Earth Interview and Book Signing","allDay":false,"hidden":false,"status":"upcoming","startAt":"2026-09-19T15:00","eventTag":"","imageUrl":"https:\/\/cdn.shopify.com\/s\/files\/1\/1271\/4023\/files\/Robert_1.png?v=1788787819","location":"Leiston Book Festival","eventTags":[],"recurring":false,"buttonText":"Sign up","calendarId":"GILX96FO","maxSignups":"","priceLabel":"","priceValue":"","description":"Join author Robert Ashton at Leiston Book Festival for a fascinating conversation about his book Down to Earth, exploring our evolving relationship with soil, the land and the natural world.","externalUrl":"https:\/\/www.leistonbookfestival.co.uk\/","locationUrl":"https:\/\/www.leistonbookfestival.co.uk\/","speakerName":"Robert Ashton","scheduleMode":"date_time","speakerTitle":"Author","imageFileName":"Robert 1.png","nameMandatory":false,"recurringRule":"none","emailMandatory":true,"phoneMandatory":false,"registerMethod":"event_form","addRegistration":false,"enableNameField":true,"guestsMandatory":false,"speakerImageUrl":"","customMonthlyDay":1,"customWeeklyDays":["wed"],"enableEmailField":true,"enableMaxSignups":false,"enablePhoneField":false,"customWeeklyLimit":3,"enableGuestsField":false,"customMonthlyLimit":3,"externalButtonText":"Tickets","registrationMobile":"","customMonthlyMonths":["jan"],"registrationFullText":"This event is full. No more signups are available.","speakerImageFileName":"","registrationButtonText":"Sign up","registrationSubmitText":"Submit","registrationSuccessText":"Thank you! Your registration was submitted."},{"id":"e-1788795897950-d22d18f6ead3c8","color":"#000000","endAt":"2026-09-24T20:00","title":"Author Event - Jim Phillips: 108 Psychopaths and Me","allDay":false,"hidden":false,"status":"upcoming","startAt":"2026-09-24T19:00","eventTag":"","imageUrl":"https:\/\/cdn.shopify.com\/s\/files\/1\/1271\/4023\/files\/Jim_Philips.png?v=1788788202","location":"Hartmanns Books, Portishead, England","eventTags":[],"recurring":false,"buttonText":"Sign up","calendarId":"XS7OHQAP","maxSignups":"","priceLabel":"","priceValue":"","description":"Jim Phillips tells the extraordinary true story of a trusted friend, more than 100 false identities and a betrayal he never saw coming.\n\nJim Phillips joins us at Hartmanns Books to tell the scarcely believable true story of a friendship and business partnership built on more than a hundred false identities, and what happened when it all began to unravel.\n\nFrom impersonating a Chinese government minister to fabricating multi-million-pound contracts, Jim's friend had orchestrated an elaborate con with devastating consequences. Stranger than fiction, Jim gives his account of how he discovered the truth.\n\nEvery ticket includes the talk, an audience Q\u0026A, a book signing and 10% off any additional book you buy on the night. Tickets are £6, or free when you buy a copy of 108 Psychopaths and Me for £16.99.\n\nJim spent 35 years in advertising, television and sports marketing, writing for the Daily Mirror and Daily Mail along the way - this is his first book.\n\nDoors open at 6:45pm for a 7:00pm start. The shop is step-free from the High Street and the evening is seated - just let us know about any access needs and we'll be glad to help.","externalUrl":"https:\/\/www.eventbrite.co.uk\/e\/author-event-jim-phillips-108-psychopaths-and-me-tickets-1998428054106?aff=ebdssbcategorybrowse","locationUrl":"https:\/\/maps.app.goo.gl\/ukQNRg7Vfnu3pN6G7","speakerName":"Jim Phillips","scheduleMode":"date_time","speakerTitle":"Author","imageFileName":"Jim Philips.png","nameMandatory":false,"recurringRule":"none","emailMandatory":true,"phoneMandatory":false,"registerMethod":"event_form","addRegistration":false,"enableNameField":true,"guestsMandatory":false,"speakerImageUrl":"","customMonthlyDay":1,"customWeeklyDays":["wed"],"enableEmailField":true,"enableMaxSignups":false,"enablePhoneField":false,"customWeeklyLimit":3,"enableGuestsField":false,"customMonthlyLimit":3,"externalButtonText":"Tickets","registrationMobile":"","customMonthlyMonths":["jan"],"registrationFullText":"This event is full. No more signups are available.","speakerImageFileName":"","registrationButtonText":"Sign up","registrationSubmitText":"Submit","registrationSuccessText":"Thank y
4068ou! Your registration was submitted."},{"id":"e-1788795894370-578c18d2af01a8","color":"#000000","endAt":"2026-09-26T20:00","title":"Talk: Custodians of the Land \u0026 Sea with Mike Warner and Richard Negus","allDay":false,"hidden":false,"status":"upcoming","startAt":"2026-09-26T19:00","eventTag":"","imageUrl":"https:\/\/cdn.shopify.com\/s\/files\/1\/1271\/4023\/files\/Richard_Negus.png?v=1788788196","location":"Aldeburgh Jubilee Hall","eventTags":[],"recurring":false,"buttonText":"Sign up","calendarId":"07388N8S","maxSignups":"","priceLabel":"","priceValue":"","description":"Join ‘Suffolk boys’ Mike Warner and Richard Negus in a captivating conversation about custodianship of our countryside and coast.\nRichard as a hedgelayer, and Mike as a fisherman, share many years experience of working ‘in the field’ and ‘out at sea’. They now also champion farming and fishing, which are such vital allies to our rural and coastal communities, landscape and wildlife.\nMike \u0026 Richard discuss the realities, challenges and successes of working the land and sea. As well as the future opportunities that can be harnessed to sustain a thriving countryside and coast.\n\nMike Warner – A Passion for Seafood \nMike is a born and bred Suffolk food writer, specialising in telling the ‘Net to Plate’ story of how our seasonal and regional British catch is caught and landed, whilst connecting producer to consumer. Mike is passionate about the sustainability of not just our native fish stocks, but the fishing communities themselves; their tradition, culture and heritage. He is also an independent seafood and fisheries consultant, working with mainly hospitality and media clients to help forge the traceability connection and better understanding of the realities of seafood production.\nHe is a member of the Guild of Food Writers, a trustee of the fishermen’s charity, Fishing into the Future and chairman of the Shellfish Association of Great Britain.\n\nRichard Negus – Words from the Hedge\nRichard is a former soldier and professional horseman. He now lays hedges for a living and is recognised for leading hedgerow management and rejuvenation. Richard is a practical conservationist, writer and now author of the widely acclaimed Words from the Hedge – A Hedgelayer’s View of the Countryside.\nRichard co-hosts a weekly podcast, Countryslide, covering British rural life, and his writing features in The Daily Telegraph, The Critic and Scribehound. He is Suffolk born and lives in the heart of his beloved county.","externalUrl":"https:\/\/aldeburghjubileehall.co.uk\/events\/talk-mike-warner-richard-negus\/","locationUrl":"https:\/\/maps.app.goo.gl\/Q7fwtZ83ujNKoQrCA","speakerName":"Richard Negus","scheduleMode":"date_time","speakerTitle":"Author","imageFileName":"Richard Negus.png","nameMandatory":false,"recurringRule":"none","emailMandatory":true,"phoneMandatory":false,"registerMethod":"event_form","addRegistration":false,"enableNameField":true,"guestsMandatory":false,"speakerImageUrl":"","customMonthlyDay":1,"customWeeklyDays":["wed"],"enableEmailField":true,"enableMaxSignups":false,"enablePhoneField":false,"customWeeklyLimit":3,"enableGuestsField":false,"customMonthlyLimit":3,"externalButtonText":"Tickets","registrationMobile":"","customMonthlyMonths":["jan"],"registrationFullText":"This event is full. No more signups are available.","speakerImageFileName":"","registrationButtonText":"Sign up","registrationSubmitText":"Submit","registrationSuccessText":"Thank you! Your registration was submitted."},{"id":"e-1788795627046-5c5f7312a4852","color":"#000000","endAt":"2026-09-26T13:00","title":"Royston Book Fair: Jane Wilson-Howarth","allDay":false,"hidden":false,"status":"upcoming","startAt":"2026-09-26T12:00","eventTag":"","imageUrl":"https:\/\/cdn.shopify.com\/s\/files\/1\/1271\/4023\/files\/Untitled_-_03_September_2026_at_17.56.20.png?v=1788795922","location":"Royston Parish Church","eventTags":[],"recurring":false,"buttonText":"Sign up","calendarId":"1WFL1IQN","maxSignups":"","priceLabel":"","priceValue":"","description":"Free event\n\nJoin Jane and at least 25 other authors at the third Royston Book Fair.\n\nMeet authors of fiction, non-fiction and poetry, browse the
4068ir books, have a chat and get your favourites signed.\n\nEveryone is welcome, and entry is free.","externalUrl":"https:\/\/www.roystonbookfair.co.uk\/","locationUrl":"https:\/\/maps.app.goo.gl\/8CFKgJHMtjDB6n4P8","speakerName":"Jane Wilson-Howarth","scheduleMode":"date_time","speakerTitle":"Author","imageFileName":"Untitled - 03 September 2026 at 17.56.20.png","nameMandatory":false,"recurringRule":"none","emailMandatory":true,"phoneMandatory":false,"registerMethod":"event_form","addRegistration":false,"enableNameField":true,"guestsMandatory":false,"speakerImageUrl":"","customMonthlyDay":1,"customWeeklyDays":["wed"],"enableEmailField":true,"enableMaxSignups":false,"enablePhoneField":false,"customWeeklyLimit":3,"enableGuestsField":false,"customMonthlyLimit":3,"externalButtonText":"View event","registrationMobile":"","customMonthlyMonths":["jan"],"registrationFullText":"This event is full. No more signups are available.","speakerImageFileName":"","registrationButtonText":"Sign up","registrationSubmitText":"Submit","registrationSuccessText":"Thank you! Your registration was submitted."},{"id":"e-1788795624660-5b0edb0d10f5f8","color":"#000000","endAt":"2026-09-26T21:00","title":"The Straw Yard: Hard Knocks With Rowan McCabe","allDay":false,"hidden":false,"status":"upcoming","startAt":"2026-09-26T19:00","eventTag":"","imageUrl":"https:\/\/cdn.shopify.com\/s\/files\/1\/1271\/4023\/files\/Rowan_McCabe.png?v=1788795928","location":"The Straw Yard, The Barracks, Parade, Berwick-upon-Tweed","eventTags":[],"recurring":false,"buttonText":"Sign up","calendarId":"4G487ACT","maxSignups":"","priceLabel":"","priceValue":"","description":"A show of spoken word and comedy about community and connection, from England's Door-to-Door Poet, as heard on BBC Radio 4 and BBC Breakfast.\nPlus support from Charlie Irving, winner of the Metro Poetry Prize 2026\n\nThe Book Loft is thrilled to announce the Berwick stop of Rowan McCabe’s \n\nHard Knocks UK tour.\n\nFollowing the release of his new book The Door-to-Door Poet, as well as a hit programme on BBC Radio 4, Rowan McCabe returns to the stage with Hard Knocks, a show of spoken word and comedy about community and connection. Plus support from Charlie Irving, winner of the Metro Poetry Prize 2026  \n\n\nRowan likes making a nuisance of himself with poetry. Born in South Shields, he was raised by a punk and a hippy in a council estate in Hebburn. Showing an interest in poetry from an early age, he went on to study English Literature at Newcastle University and graduated with honours in 2011. Over the past 10 years he’s been poet in residence in a pizza takeaway, in William Wordsworth’s childhood home and, once, on a miniature steam train. He's also the world's first Door-to-Door Poet and in 2019 he travelled across England, knocking on strangers' doors and writing bespoke verses for them, for free, on any subject of their cho
4068osing. It’s a project that’s been featured in the Guardian and on BBC Breakfast. \n\nHard Knocks is a collection of all new material that lifts the lid on some of the most funny and challenging moments of this unconventional career path. Expect stories of mistaken identity, odes to rebellious snails, and ruminations on time travelling public officials, all delivered with Rowan’s trademark warmth and wit. \n\n\nCopies of The Door-to-Door Poet can be found at The Book Loft and will also be available for sale at the event.","externalUrl":"https:\/\/www.thestrawyard.co.uk\/event-details\/hard-knocks-with-rowan-mccabe","locationUrl":"https:\/\/maps.app.goo.gl\/hshtxEbuD4bFs6zQ6","speakerName":"Rowan McCabe","scheduleMode":"date_time","speakerTitle":"Author","imageFileName":"Rowan McCabe.png","nameMandatory":false,"recurringRule":"none","emailMandatory":true,"phoneMandatory":false,"registerMethod":"event_form","addRegistration":false,"enableNameField":true,"guestsMandatory":false,"speakerImageUrl":"","customMonthlyDay":1,"customWeeklyDays":["wed"],"enableEmailField":true,"enableMaxSignups":false,"enablePhoneField":false,"customWeeklyLimit":3,"enableGuestsField":false,"customMonthlyLimit":3,"externalButtonText":"View event","registrationMobile":"","customMonthlyMonths":["jan"],"registrationFullText":"This event is full. No more signups are available.","speakerImageFileName":"","registrationButtonText":"Sign up","registrationSubmitText":"Submit","registrationSuccessText":"Thank you! Your registration was submitted."},{"id":"e-1788795349982-3abd243bb93f2","color":"#0e0e0e","endAt":"2026-09-29T20:00","title":"Green Thinking with Natalie Bennett","allDay":false,"hidden":false,"status":"upcoming","startAt":"2026-09-29T19:00","eventTag":"","imageUrl":"https:\/\/cdn.shopify.com\/s\/files\/1\/1271\/4023\/files\/Natalie_Bennett.png?v=1788795935","location":"Kurdish Community Centre, Leeds","eventTags":[],"recurring":false,"buttonText":"Sign up","calendarId":"PDNNBMTH","maxSignups":"","priceLabel":"","priceValue":"","description":"Natalie Bennett is a former journalist, Guardian editor and was leader of the Green Party of England and Wales from 2012 to 2016. Since 2019, as a peer of the House of Lords, she has been a distinctive and independent voice in parliament, campaigning on issues ranging from climate change and the protection of nature to inequality, democracy and social justice.\n\nNatalie will be joining us to discuss the ideas put forward in her new book, Green Thinking: Unlearning Outdated Ideas in Science, Economics and Politics, as well as her previously published work, Change Everything: How We Can Rethink, Repair and Rebuild Society. Taken together, these books offer a powerful vision of how we can achieve a greener, healthier and fairer future.\n\nBring your questions, share your ideas and join a conversation about the future we want to build","externalUrl":"https:\/\/www.ticketsource.com\/leeds-green-party\/green-thinking-with-natalie-bennett\/e-ljqmlm","locationUrl":"https:\/\/maps.app.goo.gl\/7EDQysuy1mFn2Jjv6","speakerName":"Natalie Bennett ","scheduleMode":"date_time","speakerTitle":"Author","imageFileName":"Natalie Bennett.png","nameMandatory":false,"recurringRule":"none","emailMandatory":true,"phoneMandatory":false,"registerMethod":"event_form","addRegistration":false,"enableNameField":true,"guestsMandatory":false,"speakerImageUrl":"","customMonthlyDay":1,"customWeeklyDays":["wed"],"enableEmailField":true,"enableMaxSignups":false,"enablePhoneField":false,"customWeeklyLimit":3,"enableGuestsField":false,"customMonthlyLimit":3,"externalButtonText":"View event","registrationMobile":"","customMonthlyMonths":["jan"],"registrationFullText":"This event is full. No more signups are available.","speakerImageFileName":"","registrationButtonText":"Sign up","registrationSubmitText":"Submit","registrationSuccessText":"Thank you! Your registration was submitted."},{"id":"e-1788795348861-dfc0257a8b55c","color":"#000000","endAt":"2026-10-03T18:00","title":"Cuckfield Book Festival: Harriet Rix \u0026 Richard Negus","allDay":false,"hidden":false,"status":"upcoming","startAt":"2026-10-03T17:00","eventTag":"","imageUrl":"https:\/\/cdn.shopify.com\/s\/files\/1\/1271\/4023\/files\/Richard_Negus_3b2a1f28-617d-49ec-b068-0c2d390775e2.png?v=1788795942","location":"The Queen's Hall, Cuckfield","eventTags":[],"recurring":false,"buttonText":"Sign up","calendarId":"2QX34L3O","maxSignups":"","priceLabel":"","priceValue":"","description":"Harriet Rix\nThe Genius of Trees\n\nRichard Negus\nWords from the Hedge\n\nwith Ruth Pavey\n\nProfoundly original, The Genius of Trees reveals the astonishing extent to which trees shape the world around us. We discover that trees manipulate fundamental elements, plants, animals, bacteria, fungi and even humankind to achieve their ends. The Genius of Trees gives us hope for the future.\n\nHarriet Rix is a tree science consultant.\nPhoto © Alex Chisholm\n\nProfessional hedge layer Richard Negus reveals that hedges are more than boundary markers. They are essential for much-needed wildlife recovery. Words from the Hedge is a timely exploration of how we can use hedges to make the British countryside a place where nature has a home.\n\nHarriet and Richard will be in conversation with Ruth Pavey who has a wood of her own.","externalUrl":"https:\/\/www.ticketsource.com\/booking\/select\/nzejydojboox","locationUrl":"https:\/\/maps.app.goo.gl\/FhGfGJR83mmi3bUW8","speakerName":"Richard Negus","scheduleMode":"date_time","speakerTitle":"Author","imageFileName":"Richard Negus.png","nameMandatory":false,"recurringRule":"none","emailMandatory":true,"phoneMandatory":false,"registerMethod":"event_form","addRegistration":false,"enableNameField":true,"guestsMandatory":false,"speakerImageUrl":"","customMonthlyDay":1,"customWeeklyDays":["wed"],"enableEmailField":true,"enableMaxSignups":false,"enablePhoneField":false,"customWeeklyLimit":3,"enableGuestsField":false,"customMonthlyLimit":3,"externalButtonText":"View event","registrationMobile":"","customMonthlyMonths":["jan"],"registrationFullText":"This event is full. No more signups are available.","speakerImageFileName":"","registrationButtonText":"Sign up","registrationSubmitText":"Submit","registrationSuccessText":"Thank y
4068ou! Your registration was submitted."},{"id":"e-1788795348208-5fea6c8f89dbd8","color":"#000000","endAt":"2026-10-03T13:00","title":"RICHARD NEGUS - The British Countryside","allDay":false,"hidden":false,"status":"upcoming","startAt":"2026-10-03T11:00","eventTag":"","imageUrl":"https:\/\/cdn.shopify.com\/s\/files\/1\/1271\/4023\/files\/Richard_Negus_42ad92ce-9c9a-4711-b86d-4bba5bdc5285.png?v=1788795949","location":"Barkway Village Hall, Royston","eventTags":[],"recurring":false,"buttonText":"Sign up","calendarId":"5FKN4WM7","maxSignups":"","priceLabel":"","priceValue":"","description":"A hedgelayer’s view of our natural environment.\n\nWords from the Hedge they stitch the landscape together, yet these crucial ribbons of thorn and barb often get\noverlooked. Master of the ancient craft Richard Negus champions rural people, work and wildlife - exploring the\nchallenges of modern farming, land ownership and conservation. He writes in the Times, the Telegraph and\nThe Critic magazine, features on Radio 4 Farming Today and co-hosts Countryslide, a popular weekly podcast.\nIn conversation with Callum McInerny-Riley, a fellow Countryslide raconteur.","externalUrl":"https:\/\/www.ticketsource.com\/barkwaylitfest\/richard-negus-the-british-countryside\/e-evzera","locationUrl":"https:\/\/maps.app.goo.gl\/oNDURedNmacCXAGh9","speakerName":"Richard Negus`","scheduleMode":"date_time","speakerTitle":"Author","imageFileName":"Richard Negus.png","nameMandatory":false,"recurringRule":"none","emailMandatory":true,"phoneMandatory":false,"registerMethod":"event_form","addRegistration":false,"enableNameField":true,"guestsMandatory":false,"speakerImageUrl":"","customMonthlyDay":1,"customWeeklyDays":["wed"],"enableEmailField":true,"enableMaxSignups":false,"enablePhoneField":false,"customWeeklyLimit":3,"enableGuestsField":false,"customMonthlyLimit":3,"externalButtonText":"View event","registrationMobile":"","customMonthlyMonths":["jan"],"registrationFullText":"This event is full. No more signups are available.","speakerImageFileName":"","registrationButtonText":"Sign up","registrationSubmitText":"Submit","registrationSuccessText":"Thank you! Your registration was submitted."},{"id":"e-1788795048068-2630c3e441717","color":"#000000","endAt":"2026-10-10T21:00","title":"Cheltenham Festival: Drowning Valleys, Haunted Hills with Clare Clark","allDay":false,"hidden":false,"status":"upcoming","startAt":"2026-10-10T19:00","eventTag":"","imageUrl":"https:\/\/cdn.shopify.com\/s\/files\/1\/1271\/4023\/files\/Clare_Clark_d9fd629b-1b47-42c5-a10a-39729fbe6f89.png?v=1788795955","location":"The Parabola Arts Centre, Cheltenham Ladies' College, Cheltenham","eventTags":[],"recurring":false,"buttonText":"Sign up","calendarId":"1A3GKRK8","maxSignups":"","priceLabel":"","priceValue":"","description":"Clare Clark and Liam Higginson discuss powerful stories about a lost way of life and the terrifying lengths we go to protect what we know. In Adder Stone, as the Liverpool Corporation build a dam, a young boy becomes involved in the Welsh Resistance Army fighting to protect land that is soon to be drowned. The Hill in the Dark Grove, sees a couple, the last in a long line of sheep farmers, fighting for survival on a hillside farm in North Wales. After the discovery of a prehistoric ruin, curiosity quickly descends into obsession. Chaired by Literary Explorer In Residence Ann Morgan.\n\nThere is a book signing after this event.","externalUrl":"https:\/\/www.cheltenhamfestivals.org\/events\/drowning-valleys-haunted-hills","locationUrl":"https:\/\/maps.app.goo.gl\/YupF8EaBWSZQC5Sy5","speakerName":"Clare Clark","scheduleMode":"date_time","speakerTitle":"Author","imageFileName":"Clare Clark.png","nameMandatory":false,"recurringRule":"none","emailMandatory":true,"phoneMandatory":false,"registerMethod":"event_form","addRegistration":false,"enableNameField":true,"guestsMandatory":false,"speakerImageUrl":"","customMonthlyDay":1,"customWeeklyDays":["wed"],"enableEmailField":true,"enableMaxSignups":false,"enablePhoneField":false,"customWeeklyLimit":3,"enableGuestsField":false,"customMonthlyLimit":3,"externalButtonText":"View event","registrationMobile":"","customMonthlyMonths":["jan"],"registrationFullText":"This event is full. No more signups are available.","speakerImageFileName":"","registrationButtonText":"Sign up","registrationSubmitText":"Submit","registrationSuccessText":"Thank y
4068ou! Your registration was submitted."},{"id":"e-1788795024412-72d025a69e29c","color":"#000000","endAt":"2026-10-11T12:00","title":"Bury St Edmonds Literary Festival: Words from the Wedge","allDay":false,"hidden":false,"status":"upcoming","startAt":"2026-10-11T11:00","eventTag":"","imageUrl":"https:\/\/cdn.shopify.com\/s\/files\/1\/1271\/4023\/files\/Richard_Negus_c5e60b5f-b3eb-4c60-88d3-68865d331ec9.png?v=1788795962","location":"UMH - Unitarian Meeting House, Bury St Edmund","eventTags":[],"recurring":false,"buttonText":"Sign up","calendarId":"WX1T5DKQ","maxSignups":"","priceLabel":"","priceValue":"","description":"Hedges are the stitches that hold the British countryside together. Yet, while we fawn over oak trees and wax poetic about chalk streams, the humble hedgerow - \"\"these ribbons of thorn and barb\"\" - often goes overlooked.\n\nBritain's hedgerows are among the most biodiverse and culturally rich habitats in the world - and they are disappearing. In Words From The Hedge, Richard Negus writes about hedges with a passion, precision and lyricism that transforms the familiar into the extraordinary.\n\nWith an introduction from our partners at Suffolk Wildlife Trust, this event explores what hedgerows mean to the farmers, walkers, naturalists and writers who have loved them - and what we stand to lose if they continue to vanish from our landscape. \n\nFormat: Presentation \u0026 Q\u0026A\nThemes: Non-Fiction, Adults, New Voices, Climate Focus, Local Interest\nAccess: Live Captioning\n\nRichard Negus Books: Words From The Hedge\nA former soldier and professional horseman, turned master hedgelayer, Richard Negus isn’t just an observer of the landscape, he is one of its primary architects. He spends his days practising an ancient craft that is equal parts brute force and delicate surgery. When his billhook is hanging up at his Suffolk home, he turns to writing and broadcasting to champion the people, work and wildlife of the countryside. \n\nIntroduction \u0026 Q\u0026A conducted by Laura Garthwaite - West Suffolk Warden, Suffolk Wildlife Trust\n\nSuffolk Wildlife Trust is the nature charity for Suffolk – the only organisation wholly dedicated to protecting the county's wildlife and restoring wild landscapes.","externalUrl":"https:\/\/www.burylitfest.co.uk\/product-page\/words-from-the-hedge-a-hedgelayer-s-view-of-the-countryside-10-45am-sun-12","locationUrl":"","speakerName":"Richard Negus","scheduleMode":"date_time","speakerTitle":"Author","imageFileName":"Richard Negus.png","nameMandatory":false,"recurringRule":"none","emailMandatory":true,"phoneMandatory":false,"registerMethod":"event_form","addRegistration":false,"enableNameField":true,"guestsMandatory":false,"speakerImageUrl":"","customMonthlyDay":1,"customWeeklyDays":["wed"],"enableEmailField":true,"enableMaxSignups":false,"enablePhoneField":false,"customWeeklyLimit":3,"enableGuestsField":false,"customMonthlyLimit":3,"externalButtonText":"View event","registrationMobile":"","customMonthlyMonths":["jan"],"registrationFullText":"This event is full. No more signups are available.","speakerImageFileName":"","registrationButtonText":"Sign up","registrationSubmitText":"Submit","registrationSuccessText":"Thank you! Your registration was submitted."},{"id":"e-1788794920214-6b03f7bfc3c5","color":"#000000","endAt":"2026-10-16T13:00","title":"The Coast is Queer: Self-Publishing: The Good, The Bad and the Beautiful (with Alyson Greaves)","allDay":false,"hidden":false,"status":"upcoming","startAt":"2026-10-16T12:00","eventTag":"","imageUrl":"https:\/\/cdn.shopify.com\/s\/files\/1\/1271\/4023\/files\/Alyson_Greeves.png?v=1788795967","location":"University of Sussex, Falmer, Brighton ","eventTags":[],"recurring":false,"buttonText":"Sign up","calendarId":"2QQ6P4DF","maxSignups":"","priceLabel":"","priceValue":"","description":"As more writers turn to 
4068self-publishing to get their stories out into the world, does the option offer radical creative freedom, unbound by genre or marketing expectations, or do platform algorithms and discoverability make it harder than ever to be seen? \n\nThis panel, chaired by self-publishing scholar Rachel O’Connell, invites three writers who got their start with self-published works — Alyson Greaves (Welcome to Dorley Hall), N M J Coveney (Everything Not Saved), and TJ Williams (Shades of Onyx) — to comment on the good, the bad, and the beautiful of pursuing self-publishing and where their work has gone from there. \n\nThis panel was curated by students from the University of Sussex and the Brighton University.\n\nAlyson Greaves is a trans woman who transitioned in the early 2000s and to whom nothing eventful has happened since. She started writing fiction on Archive of Our Own in the 2010s, but wrote nothing original until 2020, when like many other people she was stuck inside. In 2021, she started The Sisters of Dorley, a web serial on AO3 — and later Scribblehub — that is still going. Through the story she was introduced first to self-publishing on Amazon, then to Patreon, then to an editor who wanted to pitch it to their publisher. The second book, Secrets of Dorley Hall, comes out in late 2026. Alongside this, she has continued to publish independently, with her sci-fi trans body horror novel Kimmy and her nostalgic trans\/cis f\/f cheerleader series When You Fell from Heaven finding success outside mainstream publishing. She is currently working on the next chapter of something, probably.\n\nN M J Coveney (Nick) has worked in the book publishing industry for over sixteen years in a variety of roles. Everything Not Saved is his debut novel. His life-long passion for stories whether in books or computer games has been voraciously pursued in enjoying as many of both as humanly possible. Nick lives in London with his husband, fellow author Patrick Ness, their family currently consists of an overthinking Irish Doodle, Biscuit, an extremely happy Cockapoo named Oreo and a (human) baby daughter\n\nTJ Williams is a queer, autistic author who uses they\/she pronouns. She lives in England with too many cats and a toddler who likes to throw things at her, reads an unholy amount of mm books, and can quote Peppa Pig word for word. Since they were old enough to hold a pencil, they’ve been creating worlds to escape into, and any time someone tells them one of their books resonated, they have a little happy cry. It’s her goal to write the kind of stories she couldn’t find when she was growing up, because all queer POC deserve to see their love stories. All their books feature Black and brown characters, queerness, disabilities and body diversity. She loves to crochet (iffy), bake (rarely) and rewatch her comfort shows (happily).Find them on social media at @tjwilliamswrites\n\nRachel O’Connell (chair) teaches creative writing, LGBTQIA+\/queer studies, and recent\/contemporary American literature and popular culture at the University of Sussex. She is also the co-convenor of the MA in Sexual Dissidence, an MA programme in LGBTQIA+\/queer studies offered at the University of Sussex. Rachel’s research focuses on writers’ identities and strategies in romance fiction and self-publishing, and on the interactions between fiction, publishing practices, and digital cultures, technologies, and economies. Rachel also researches queer genders and sexualities from the Victorian period to the present, across British and US literature and culture. She has published work on Imogen Binnie’s trans road novel, Nevada; on gender, sexuality, and precarity in the TV show RuPaul’s Drag Race; and, in a forthcoming article co-authored with Dr Luke Robinson at University of Sussex, on Casey McQuiston’s queer romance novel Red, White and Royal Blue.","externalUrl":"https:\/\/coastisqueer.com\/event\/self-publishing-the-good-the-bad-and-the-beautiful\/","locationUrl":"https:\/\/maps.app.goo.gl\/eY3gYNyvVBGr7bvJ7","speakerName":"Alyson Greaves","scheduleMode":"date_time","speakerTitle":"Author","imageFileName":"Alyson Greeves.png","nameMandatory":false,"recurringRule":"none","emailMandatory":true,"phoneMandatory":false,"registerMethod":"event_form","addRegistration":false,"enableNameField":true,"guestsMandatory":false,"speakerImageUrl":"","customMonthlyDay":1,"customWeeklyDays":["wed"],"enableEmailField":true,"enableMaxSignups":false,"enablePhoneField":false,"customWeeklyLimit":3,"enableGuestsField":false,"customMonthlyLimit":3,"externalButtonText":"View event","registrationMobile":"","customMonthlyMonths":["jan"],"registrationFullText":"This event is full. No more signups are available.","speakerImageFileName":"","registrationButtonText":"Sign up","registrationSubmitText":"Submit","registrationSuccessText":"Thank y
4068ou! Your registration was submitted."},{"id":"e-1788794725874-95590128ff6488","color":"#000000","endAt":"2026-10-17T13:00","title":"The Coast is Queer: Against The Odds (with Majid Parsa)","allDay":false,"hidden":false,"status":"upcoming","startAt":"2026-10-17T12:00","eventTag":"","imageUrl":"https:\/\/cdn.shopify.com\/s\/files\/1\/1271\/4023\/files\/Majid_Parsa.png?v=1788795973","location":"University of Sussex, Falmer, Brighton ","eventTags":[],"recurring":false,"buttonText":"Sign up","calendarId":"PUB7FLRK","maxSignups":"","priceLabel":"","priceValue":"","description":"What happens when you discover you are queer in an environment where it is outlawed, shamed, silenced, even punishable by death? Some circumstances turn growing up LGBTQ+ and building an authentic life into a struggle against tremendous odds. And yet wherever these challenges exist, queer lives, loves and communities find a way against a backdrop of all sorts of seemingly impossible legal, cultural and social restrictions. \n\nJoin Musih Tedji Xaviere (these letters end in tears), Majid Parsa (The Ayatollah’s Gaze: A Memoir of the Forbidden and the Fabulous) and Avi Ben-Zeev (Calling My Deadname Home: The Trans Bear Diaries) for this powerful conversation on how queer love and self-expression can persevere and create joy in the most challenging circumstances chaired by activist, facilitator and community organiser, Dr Nat Arias. \n\n3-Day Festival and Saturday Pass holders: This event is free to attend with your pass, but advance registration is required as places are limited. Please book a Pass Holder Free Registration ticket to reserve your place. Without a reservation, we cannot guarantee entry.\n\n \n\nMusih Tedji Xaviere is a Cameroonian fiction writer whose work explores love, alternative ways of seeing, and the human condition. Her debut novel, These Letters End in Tears, won the 2021 Pontas \u0026 JJ Bola Emerging Writers Prize and was nominated for the 2025 British Book Awards. She is represented by the Pontas Literary and Film Agency.\n\nMajid Parsa (pseudonym) comes from a mixed Iranian–Turkish background and lived in Iran for twenty-nine years. He started writing in 2018. His debut, The Ayatollah’s Gaze, is his eye-opening life story of growing up as a gay man in the Islamic Republic of Iran. Majid now lives in the UK where he is a practicing doctor, living with his partner and two cats.\n\nAvi Ben-Zeev (he\/him) is a London-based gay trans man, high school failure, and Yale PhD. As a writer, psychologist, and immigrant, he explores the challenges and freedoms of journeying toward belonging and home. Avi’s stories won the 2024 London Independent Story Prize (LISP) and the UK’s first transgender writing competition. He was shortlisted and highly commended by the 2023 Oxford Flash Fiction Prize, and his co-edited anthology, Trans Homo, was a Lambda Literary Award Finalist. Avi’s literary memoir, Calling My Deadname Home, was published by Muswell Press and longlisted for the 2025 Polari Literary Prize.\n\nDr Nat Arias (chair) (they\/them\/theirs) is a Black queer and trans-masc Dominican activist\/researcher, facilitator and community organiser. Their work is rooted in anti-colonial collaborations with other queer and trans activists of colour in Europe to explore abolitionism, preserving queer of colour activist histories in Europe, and Black climate justice. Nat facilitates in-person and online training and community workshops, using creative discussions to strengthen research and advocacy skills and learn about local queer of colour activism and everyday abolition and Black Climate Justice in the UK.\n","externalUrl":"https:\/\/coastisqueer.com\/event\/against-the-odds\/","locationUrl":"https:\/\/maps.app.goo.gl\/eY3gYNyvVBGr7bvJ7","speakerName":"Majid Parsa","scheduleMode":"date_time","speakerTitle":"Author","imageFileName":"Majid Parsa.png","nameMandatory":false,"recurringRule":"none","emailMandatory":true,"phoneMandatory":false,"registerMethod":"event_form","addRegistration":false,"enableNameField":true,"guestsMandatory":false,"speakerImageUrl":"","customMonthlyDay":1,"customWeeklyDays":["wed"],"enableEmailField":true,"enableMaxSignups":false,"enablePhoneField":false,"customWeeklyLimit":3,"enableGuestsField":false,"customMonthlyLimit":3,"externalButtonText":"View event","registrationMobile":"","customMonthlyMonths":["jan"],"registrationFullText":"This event is full. No more signups are available.","speakerImageFileName":"","registrationButtonText":"Sign up","registrationSubmitText":"Submit","registrationSuccessText":"Thank y
4068ou! Your registration was submitted."},{"id":"e-1788794655334-a1896bf206c158","color":"#000000","endAt":"2026-09-21T20:00","title":"In Conversation with Jane Wilson-Howarth","allDay":false,"hidden":false,"status":"upcoming","startAt":"2026-10-21T19:00","eventTag":"","imageUrl":"https:\/\/cdn.shopify.com\/s\/files\/1\/1271\/4023\/files\/Untitled_-_03_September_2026_at_17.56.20_07760501-f5a8-4746-8667-f48715e2fc0f.png?v=1788795979","location":"Rock Road Library, Cambridge","eventTags":[],"recurring":false,"buttonText":"Sign up","calendarId":"EWJ0C09D","maxSignups":"","priceLabel":"","priceValue":"","description":"Wednesday 21 October 2026 | 7pm\nRock Road Library, CB1 7UG\nFree event\n\nJoin Writer-in-Residence Sarah Ingram in conversation with author Jane Wilson-Howarth about her latest memoir, Under a Himalayan Sky.\n\nExploring family life, difficult medical decisions and learning to live, Jane’s moving memoir offers an intimate and inspiring reflection on life and resilience.\n\nEnjoy a rolling photographic display throughout the evening, refreshments, and the opportunity to have copies of the book signed.\n\nDoors open at 7pm.","externalUrl":"https:\/\/www.wilson-howarth.com\/News\/In-Conversation?newsId=76","locationUrl":"https:\/\/maps.app.goo.gl\/xMVtizK4Jh2Ti3h19","speakerName":"Jane Wilson-Howarth","scheduleMode":"date_time","speakerTitle":"Author","imageFileName":"Untitled - 03 September 2026 at 17.56.20.png","nameMandatory":false,"recurringRule":"none","emailMandatory":true,"phoneMandatory":false,"registerMethod":"event_form","addRegistration":false,"enableNameField":true,"guestsMandatory":false,"speakerImageUrl":"","customMonthlyDay":1,"customWeeklyDays":["wed"],"enableEmailField":true,"enableMaxSignups":false,"enablePhoneField":false,"customWeeklyLimit":3,"enableGuestsField":false,"customMonthlyLimit":3,"externalButtonText":"More Information","registrationMobile":"","customMonthlyMonths":["jan"],"registrationFullText":"This event is full. No more signups are available.","speakerImageFileName":"","registrationButtonText":"Sign up","registrationSubmitText":"Submit","registrationSuccessText":"Thank you! Your registration was submitted."},{"id":"e-1788794582638-b9220134dda9d","color":"#000000","endAt":"2026-10-23T19:00","title":"Under a Himalayan Sky: Book Launch","allDay":false,"hidden":false,"status":"upcoming","startAt":"2026-10-23T18:00","eventTag":"","imageUrl":"https:\/\/cdn.shopify.com\/s\/files\/1\/1271\/4023\/files\/Untitled_-_03_September_2026_at_17.56.20_402330ea-5bf4-4d8c-a652-a991add3fb36.png?v=1788795985","location":"Petworth Bookshop","eventTags":[],"recurring":false,"buttonText":"Sign up","calendarId":"ZTRM1QC9","maxSignups":"","priceLabel":"","priceValue":"","description":"Friday 23 October 2026 | 6.30pm\nPetworth Bookshop, The Old Bakery, Golden Square, Petworth GU28 0AP\n\nCome and celebrate the launch of Jane Wilson-Howarth’s latest memoir, Under a Himalayan Sky, with a glass or two of wine.\n\nJane will share a little about the book and read a couple of short passages, offering a glimpse into this moving new memoir.\n\nCome along to support Jane and this lovely independent bookshop, and celebrate the book’s launch with us.","externalUrl":"https:\/\/www.wilson-howarth.com\/News\/In-Conversation?newsId=78","locationUrl":"https:\/\/maps.app.goo.gl\/YWm8fVBiDTA1Xm2n9","speakerName":"Jane Wilson-Howarth","scheduleMode":"date_time","speakerTitle":"Author","imageFileName":"Untitled - 03 September 2026 at 17.56.20.png","nameMandatory":false,"recurringRule":"none","emailMandatory":true,"phoneMandatory":false,"registerMethod":"event_form","addRegistration":false,"enableNameField":true,"guestsMandatory":false,"speakerImageUrl":"","customMonthlyDay":1,"customWeeklyDays":["wed"],"enableEmailField":true,"enableMaxSignups":false,"enablePhoneField":false,"customWeeklyLimit":3,"enableGuestsField":false,"customMonthlyLimit":3,"externalButtonText":"More Information","registrationMobile":"","customMonthlyMonths":["jan"],"registrationFullText":"This event is full. No more signups are available.","speakerImageFileName":"","registrationButtonText":"Sign up","registrationSubmitText":"Submit","registrationSuccessText":"Thank y
4068ou! Your registration was submitted."},{"id":"e-1788793830089-68e95a6c19f6c","color":"#000000","endAt":"2026-10-10T14:00","title":"The Beautiful Game: George Harrison at Bury St Edmonds Literary Festival","allDay":false,"hidden":false,"status":"upcoming","startAt":"2026-10-10T12:00","eventTag":"","imageUrl":"https:\/\/cdn.shopify.com\/s\/files\/1\/1271\/4023\/files\/George_Harrison_2.png?v=1788794016","location":"UMH - Unitarian Meeting House, Churchgate Street, Bury St Edmund","eventTags":[],"recurring":false,"buttonText":"Sign up","calendarId":"N30A5HLM","maxSignups":"","priceLabel":"","priceValue":"","description":"Football isn't just a game - it's a lens through which we see class, community, identity, gender, race, love and belonging. Three writers whose fiction has taken the beautiful game as its subject come together in a rich panel discussion exploring what football means, what it reveals, and why it keeps inspiring such extraordinary literature.\n\nFrom a graphic novel uncovering the history of women's football to the pressures of professional sport, from the terraces to the dressing room, this is a wide-ranging, passionate conversation moderated by novelist, lifelong football fan and referee Ashley Hickson-Lovence.\n\nSuitable for sports fans and literary enthusiasts alike - no football knowledge required!\nFormat: Panel Discussion \u0026 Q\u0026A\nThemes: Fiction, Adults, Young People, New Voices, Literary, Book Club, Local Interest, LGBTQ+, Graphic Novel, Health \u0026 Wellbeing\nAccess: Live Captioning\n\nAnna Trench Books: Florrie\nAnna Trench is an illustrator, cartoonist, writer and teacher based in London. Florrie is her first book. It won the 2025 East Anglian Book of the Year Award and was previously shortlisted for the First Graphic Novel Award and the LDComics Award.\n\nGeorge Harrison Books: Season\nGeorge Harrison’s debut novel, Season, was shortlisted for the Nero Book Awards and the East Anglian Book Awards. Season was also named among the Mail on Sunday's best new fiction and was described by the Telegraph as 'a heartfelt and sensitive portrait of male bonding in the stands.' George has written about football's role in society for the Observer and has discussed his work on Front Row, Five Live and Radio Norfolk. He is a lifelong Norwich City fan.\nIn addition to his creative writing work, George works as a freelance editor and ghostwriter. In this capacity, he has worked on an eclectic shelf full of non-fiction books, including the memoirs of a British banker, a book about a South African spy, and the final autobiography of the late golfing great Peter Alliss. \n\nAshley Hickson-Lovence  Books: Your Show\nAshley Hickson-Lovence is the author of the acclaimed novels The 392, Your Show and Wild East, overall winner of the East Anglian Book Awards 2024 and the YA winner of the Diverse Book Awards 2025. His poetry collection Why I Am Not a Bus Driver has been shortlisted for the Jhalak Poetry Prize and includes the poem “Munster Road,” highly commended for Best Single Poem at the Forward Prize. He holds a PhD in Creative and Critical Writing from the University of East Anglia and was nominated for the Black Excellence Award for Outstanding Contribution to Literature in 2023. His latest novel, About To Fall Apart, was published by Faber in April.Ashley is an Honorary Patron of Bury St Edmunds Literature Festival.","externalUrl":"https:\/\/www.burylitfest.co.uk\/product-page\/the-beautiful-game-1-00pm-sat-11-oct-unitarian-meeting-house","locationUrl":"https:\/\/maps.app.goo.gl\/irnbUwVegwmE82SD6","speakerName":"George Harrison","scheduleMode":"date_time","speakerTitle":"Author","imageFileName":"George Harrison (2).png","nameMandatory":false,"recurringRule":"none","emailMandatory":true,"phoneMandatory":false,"registerMethod":"event_form","addRegistration":false,"enableNameField":true,"guestsMandatory":false,"speakerImageUrl":"","customMonthlyDay":1,"customWeeklyDays":["wed"],"enableEmailField":true,"enableMaxSignups":false,"enablePhoneField":false,"customWeeklyLimit":3,"enableGuestsField":false,"customMonthlyLimit":3,"externalButtonText":"Tickets","registrationMobile":"","customMonthlyMonths":["jan"],"registrationFullText":"This event is full. No more signups are available.","speakerImageFileName":"","registrationButtonText":"Sign up","registrationSubmitText":"Submit","registrationSuccessText":"Thank y
4068ou! Your registration was submitted."},{"id":"e-1788793652209-8bc5a9a29a62f","color":"#000000","endAt":"2026-10-25T16:00","title":"Norwich Book Festival: Robert Ashton","allDay":false,"hidden":false,"status":"upcoming","startAt":"2026-10-25T15:00","eventTag":"","imageUrl":"https:\/\/cdn.shopify.com\/s\/files\/1\/1271\/4023\/files\/Robert_2.png?v=1788794024","location":"The Forum, Millennium Plain, Norwich","eventTags":[],"recurring":false,"buttonText":"Sign up","calendarId":"R61F16KB","maxSignups":"","priceLabel":"","priceValue":"","description":"We rely on the soil and its rich biodiversity for our food, traditions and folklore, but are we guilty of taking it for granted?\nIn Down to Earth, Robert Ashton traces our evolving relationship with the soil from Neolithic flint miners to modern day naturists. By engaging with the people who work the land – gardeners, farmers, gravediggers and archaeologists – he unearths a wealth of practical wisdom, moving from the mysteries of ancient folklore to the urgency of today's environmental crisis.\n\nIn conversation with nature writer Patrick Barkham, Ashton will explore our connection to the earth, seeking to deepen our understanding of its importance. All life depends on the soil, and this book serves as a vital call to treat our most precious resource with the reverence and respect it deserves.\n\nThe event will be followed by book sales and a signing with the author.\n\nTickets: £8","externalUrl":"https:\/\/norwichbookfestival.co.uk\/whats-on\/robert-ashton?start_time=2026-10-25T15.00","locationUrl":"https:\/\/maps.app.goo.gl\/CNE4uRc3SeB1AJNV6","speakerName":"Robert Ashton","scheduleMode":"date_time","speakerTitle":"Author","imageFileName":"Robert 2.png","nameMandatory":false,"recurringRule":"none","emailMandatory":true,"phoneMandatory":false,"registerMethod":"event_form","addRegistration":false,"enableNameField":true,"guestsMandatory":false,"speakerImageUrl":"","customMonthlyDay":1,"customWeeklyDays":["wed"],"enableEmailField":true,"enableMaxSignups":false,"enablePhoneField":false,"customWeeklyLimit":3,"enableGuestsField":false,"customMonthlyLimit":3,"externalButtonText":"Tickets","registrationMobile":"","customMonthlyMonths":["jan"],"registrationFullText":"This event is full. No more signups are available.","speakerImageFileName":"","registrationButtonText":"Sign up","registrationSubmitText":"Submit","registrationSuccessText":"Thank you! Your registration was submitted."},{"id":"e-1788793481389-3794655b668fb8","color":"#000000","endAt":"2026-10-31T16:00","title":"Stratford upon-Avon Literary Festival: ","allDay":false,"hidden":false,"status":"upcoming","startAt":"2026-10-31T14:00","eventTag":"","imageUrl":"https:\/\/cdn.shopify.com\/s\/files\/1\/1271\/4023\/files\/Untitled_-_03_September_2026_at_17.56.20-5.png?v=1788794032","location":" Crowne Plaza Stratford Upon Avon","eventTags":[],"recurring":false,"buttonText":"Sign up","calendarId":"OY89Z13K","maxSignups":"","priceLabel":"","priceValue":"","description":"How do we hold on to our loved ones after they are gone? The Bookseller editor Caroline Sanderson and novelist Louise Doughty discuss grief, love, and telling family stories that they've told through memoir. Sanderson’s Listen with Father recounts her journey reconnecting after his death with the classical music her father loved. In On This Spot Fell One Tear of Love, Doughty tells her parents’ love story in reverse, beginning at the end of their lives and tracing it back 50 years to the secret origin of their love affair.\n\nTalking to Olivia Chapman","externalUrl":"https:\/\/www.ticketsource.com\/stratford-literary-festival\/caroline-sanderson-and-louise-doughty-my-family-and-other-memories\/2026-10-31\/d-gwawlbtplmxyy","locationUrl":"https:\/\/maps.app.goo.gl\/kGVQVgSFjz8mh7Db6","speakerName":"","scheduleMode":"date_time","speakerTitle":"","imageFileName":"Untitled - 03 September 2026 at 17.56.20-5.png","nameMandatory":false,"recurringRule":"none","emailMandatory":true,"phoneMandatory":false,"registerMethod":"event_form","addRegistration":false,"enableNameField":true,"guestsMandatory":false,"speakerImageUrl":"","customMonthlyDay":1,"customWeeklyDays":["wed"],"enableEmailField":true,"enableMaxSignups":false,"enablePhoneField":false,"customWeeklyLimit":3,"enableGuestsField":false,"customMonthlyLimit":3,"externalButtonText":"Tickets","registrationMobile":"","customMonthlyMonths":["jan"],"registrationFullText":"This event is full. No more signups are available.","speakerImageFileName":"","registrationButtonText":"Sign up","registrationSubmitText":"Submit","registrationSuccessText":"Thank y
4068ou! Your registration was submitted."},{"id":"e-1788793335877-fc0eae402c4bd8","color":"#0a0a0a","endAt":"2026-10-31T14:00","title":"Stratford upon-Avon Literary Festival: Clare Clark and Roisin Maguire","allDay":false,"hidden":false,"status":"upcoming","startAt":"2026-10-31T13:00","eventTag":"","imageUrl":"https:\/\/cdn.shopify.com\/s\/files\/1\/1271\/4023\/files\/Clare_Clark.png?v=1788794040","location":"Crowne Plaza Stratford Upon Avon","eventTags":[],"recurring":false,"buttonText":"Sign up","calendarId":"GT1AENC9","maxSignups":"","priceLabel":"","priceValue":"","description":"Two novelists bring us books exploring rural communities under threat, and explore how setting can be the main character in a piece of fiction. Clare Clark’s Adder Stone is inspired by the true story of the Welsh village flooded in 1963 to create a reservoir to service Liverpool, and explores who we are when we lose the places that define us. In Snow Birds (Roisin Maguire), a longtime resident of an Irish village reluctantly bands together with visiting city dwellers when corporate interests threaten a nearby island colony of rare birds.\n\nTalking to Julia Wheeler","externalUrl":"https:\/\/www.stratfordliteraryfestival.co.uk\/events\/clare-clark-and-roisin-maguire","locationUrl":"https:\/\/maps.app.goo.gl\/kGVQVgSFjz8mh7Db6","speakerName":"Clare Clark","scheduleMode":"date_time","speakerTitle":"Author","imageFileName":"Clare Clark.png","nameMandatory":false,"recurringRule":"none","emailMandatory":true,"phoneMandatory":false,"registerMethod":"event_form","addRegistration":false,"enableNameField":true,"guestsMandatory":false,"speakerImageUrl":"","customMonthlyDay":1,"customWeeklyDays":["wed"],"enableEmailField":true,"enableMaxSignups":false,"enablePhoneField":false,"customWeeklyLimit":3,"enableGuestsField":false,"customMonthlyLimit":3,"externalButtonText":"Tickets","registrationMobile":"","customMonthlyMonths":["jan"],"registrationFullText":"This event is full. No more signups are available.","speakerImageFileName":"","registrationButtonText":"Sign up","registrationSubmitText":"Submit","registrationSuccessText":"Thank you! Your registration was submitted."},{"id":"e-1788793227773-18d600789dbf8","color":"#000000","endAt":"2026-11-12T20:00","title":"Hartmanns Books: Author Event - Clare Clark: Adder Stone","allDay":false,"hidden":false,"status":"upcoming","startAt":"2026-11-12T19:00","eventTag":"","imageUrl":"https:\/\/cdn.shopify.com\/s\/files\/1\/1271\/4023\/files\/Clare_Clark_e89a0f63-6f14-4ab4-a343-13938f4496bc.png?v=1788794046","location":"Hartmanns Books, Portishead","eventTags":[],"recurring":false,"buttonText":"Sign up","calendarId":"NPPCRFL7","maxSignups":"","priceLabel":"","priceValue":"","description":"Based on true events, Adder Stone is a moving story of a family divided by the planned flooding of their Welsh valley in 1963.\n\nJoin us at Hartmanns Books as acclaimed historical novelist Clare Clark discusses Adder Stone.\n\nIn 1963, the Jones family are being forced from the North Wales farm they have worked for generations. Their valley is to be flooded and turned into a reservoir supplying water to Liverpool.\n\nWhile Dai is grief-stricken, his wife Olwen privately sees the move as a chance to escape the confines of the valley. Their teenage son Emyr responds with anger and is drawn into the Welsh Resistance Army.\n\nInspired by the events surrounding the flooding of the Tryweryn Valley, Adder Stone explores family, land and national identity. It asks who we become when we lose the places that define us, how far we will go for our children or our country, and whether love can survive the choices people make in anger.\n\nClare talks about the history behind the novel, transforming real events into fiction and finding the individual lives within a larger political struggle.\n\nEvery ticket includes the author talk, audience Q\u0026A, signing and 10% off any additional book you buy on the night.\n\nTickets are £6, or free when you buy a copy of Adder Stone for £17.99.\n\nDoors open at 6:45pm for a 7:00pm start. The shop has step-free access from the High Street and the evening is seated. Please let us know about any access requirements and we’ll be glad to help.","externalUrl":"https:\/\/www.eventbrite.co.uk\/e\/author-event-clare-clark-adder-stone-tickets-1999362660539","locationUrl":"https:\/\/maps.app.goo.gl\/MtmzWuqrUHDJ2ViHA","speakerName":"Clare Clark","scheduleMode":"date_time","speakerTitle":"Author","imageFileName":"Clare Clark.png","nameMandatory":false,"recurringRule":"none","emailMandatory":true,"phoneMandatory":false,"registerMethod":"event_form","addRegistration":false,"enableNameField":true,"guestsMandatory":false,"speakerImageUrl":"","customMonthlyDay":1,"customWeeklyDays":["wed"],"enableEmailField":true,"enableMaxSignups":false,"enablePhoneField":false,"customWeeklyLimit":3,"enableGuestsField":false,"customMonthlyLimit":3,"externalButtonText":"Tickets","registrationMobile":"","customMonthlyMonths":["jan"],"registrationFullText":"This event is full. No more signups are available.","speakerImageFileName":"","registrationButtonText":"Sign up","registrationSubmitText":"Submit","registrationSuccessText":"Thank y
4068ou! Your registration was submitted."},{"id":"e-1788793077941-e18a9178501e2","color":"#000000","endAt":"2026-11-14T12:00","title":"Lavenham Literary Festival - Richard Negus","allDay":false,"hidden":false,"status":"upcoming","startAt":"2026-11-14T11:00","eventTag":"","imageUrl":"https:\/\/cdn.shopify.com\/s\/files\/1\/1271\/4023\/files\/Richard_Negus_efc0f12d-606c-4dde-852c-e3ba6fe661e2.png?v=1788794052","location":"Venue:Little Hall, Market Place, Lavenham","eventTags":[],"recurring":false,"buttonText":"Sign up","calendarId":"ZF7G09NJ","maxSignups":"","priceLabel":"","priceValue":"","description":"Hedges are as old as civilisation and emblematic of the British countryside, but they often remain on the periphery of public consciousness.\n\nRichard Negus takes us on a journey that reveals these ribbons are much more than mere decoration or boundary markers. They are essential for much needed wildlife recovery and a testament to generations of human skill and labour requiring ongoing maintenance to survive and thrive.\n\nWords from the Hedge is a timely exploration of how we can use hedges to make the British countryside a place where nature has a home.\n\nRichard Negus is a former soldier and professional horseman. He now las hedges for a living and is recognised as one of the country’s leading exponents and practitioners of hedgerow management. He co-hosts a weekly podcast, Countryslide, covering British rural life.\n\nTimes: 11.30am-12.30pm.\nTickets: £15. Students and u25’s £7.50 (please show proof of age at venue)\nBooking: Advised, please use the 'book now' button or call the Apex Box Office on 01284 758000\nVenue: Little Hall, Market Place, Lavenham, CO10 9QZ\n\nThis event is promoted by Lavenham Literary Festival.\n","externalUrl":"https:\/\/www.whatsonwestsuffolk.co.uk\/whats-on\/details.cfm?id=1140747\u0026ins=1939790","locationUrl":"https:\/\/maps.app.goo.gl\/RBxZMgjZzbbqoghu5","speakerName":"Ricahrd Negus","scheduleMode":"date_time","speakerTitle":"Author","imageFileName":"Richard Negus.png","nameMandatory":false,"recurringRule":"none","emailMandatory":true,"phoneMandatory":false,"registerMethod":"event_form","addRegistration":false,"enableNameField":true,"guestsMandatory":false,"speakerImageUrl":"","customMonthlyDay":1,"customWeeklyDays":["wed"],"enableEmailField":true,"enableMaxSignups":false,"enablePhoneField":false,"customWeeklyLimit":3,"enableGuestsField":false,"customMonthlyLimit":3,"externalButtonText":"Tickets","registrationMobile":"","customMonthlyMonths":["jan"],"registrationFullText":"This event is full. No more signups are available.","speakerImageFileName":"","registrationButtonText":"Sign up","registrationSubmitText":"Submit","registrationSuccessText":"Thank you! Your registration was submitted."},{"id":"e-1788792387949-bebb3148519f4","color":"#000000","endAt":"2026-11-17T21:00","title":"An evening with … Clare Clark","allDay":false,"hidden":false,"status":"upcoming","startAt":"2026-11-17T19:00","eventTag":"","imageUrl":"https:\/\/cdn.shopify.com\/s\/files\/1\/1271\/4023\/files\/Clare_Clark_3f2375a0-c438-40d8-8850-4d5e57ca0161.png?v=1788794059","location":"Book-ish, Crickhowell","eventTags":[],"recurring":false,"buttonText":"Sign up","calendarId":"MG3QGGGT","maxSignups":"","priceLabel":"","priceValue":"","description":"A haunting story of a Welsh Valley’s drowning and the family forever changed by it.\n\nAbout Adder Stone\n\nIt is 1963 and in north Wales the Jones family are being forcibly ejected from the land they have farmed for generations. Their valley is to be drowned, turned into a reservoir for the people of Liverpool.\n\nWhile her husband Dai is grief-stricken, Olwen Jones privately sees it as a blessing, an unforeseen chance to escape the narrow confines of the valley. But for her teenage son Emyr, Liverpool’s careless arrogance is proof that Wales will never be free to decide its own future until, like Ireland, it breaks the shackles of English imperialism.\n\nBased on true events, Adder Stone is an exploration of personal identity and the possibilities and limits of love. How far will we go for our child or for our country? Who are we when we lose the places and the people that define us? And how much, in the end, is it possible to forgive?\n\n‘A beautiful, breathtakingly written book, with shades of Claire Keegan. A novel that lives in the memory long after the last page is read.’ – Kate Hamer, author of The Girl in the Red Coat\n\nAbout Clare Clark\n\nClare Clark is the author of seven critically acclaimed novels including The Great Stink and Savage.\n\n‘Fantastic thriller … a rich work of history and a gripping exploration of the unmentionable currents that run beneath the surface of our lives – it reeks of talent.’ – Washington Post on The Great Stink\n\n‘Vigorous and intense, energetic and absorbing … an extraordinary feat of imagination … Clare Clark is one of those writers who can see into the past and help us feel its texture.’ – Hilary Mantel on Savage Lands\n\n‘Confirms Clark’s talent as a historical novelist able to conjure a world vivid in every sensory detail.’ – Observer on The Nature of Monsters\n\nEvent Format:\nAuthor talk in conversation, followed by audience Q\u0026A and book signing.\n\nTickets:\n£12 without book or £16 with book\n\nVenue:\nThe Loft at Bookish is located in our flagship store in Crickhowell. Doors open at 6.45pm for you to browse the bookshop. 10% off all books bought on the night. The event will start promptly at 7.30pm. Please let us know if you have an accessibility\/mobility requirements.\n\nRefunds:\nIt is our general policy not to refund event tickets unless an event has sold out. In the case of sold out events where we have a waiting list for tickets, we will attempt to sell on your tickets at face value, if notified 7 days prior to the event. If sold, you will receive a refund for the ticket value. Alternatively, you can request to transfer your tickets to another event, making up any difference in ticket price. Please contact us if you are unable to attend an event: [email protected] for further advice.\n\nSocial Media:\nOut team may record for social media, you may be seen on these videos\/photos. Please talk to a team member should you not wish to be recorded.","externalUrl":"https:\/\/www.book-ish.co.uk\/event\/an-evening-with-clare-clark\/","locationUrl":"https:\/\/maps.app.goo.gl\/oGnNBJog7y6jaGwp7","speakerName":"Clare Clark","scheduleMode":"date_time","speakerTitle":"Author","imageFileName":"Clare Clark.png","nameMandatory":false,"recurringRule":"none","emailMandatory":true,"phoneMandatory":false,"registerMethod":"event_form","addRegistration":false,"enableNameField":true,"guestsMandatory":false,"speakerImageUrl":"https:\/\/cdn.shopify.com\/s\/files\/1\/1271\/4023\/files\/Clare_Clark_99f10369-b9b2-4e87-bd11-8be783bf5883.png?v=1788794066","customMonthlyDay":1,"customWeeklyDays":["wed"],"enableEmailField":true,"enableMaxSignups":false,"enablePhoneField":false,"customWeeklyLimit":3,"enableGuestsField":false,"customMonthlyLimit":3,"externalButtonText":"Tickets","registrationMobile":"","customMonthlyMonths":["jan"],"registrationFullText":"This event is full. No more signups are available.","speakerImageFileName":"Clare Clark.png","registrationButtonText":"Sign up","registrationSubmitText":"Submit","registrationSuccessText":"Thank y
4068ou! Your registration was submitted."},{"id":"e-1788792295947-c1a8460d06832","color":"#000000","endAt":"2026-11-19T20:00","title":"In Conversation with Clare Clark - 'Adder Stone' - Bath","allDay":false,"hidden":false,"status":"upcoming","startAt":"2026-11-19T19:00","eventTag":"","imageUrl":"https:\/\/cdn.shopify.com\/s\/files\/1\/1271\/4023\/files\/Clare_Clark_4e48c6ce-dc77-48d1-9ae8-11c40094931d.png?v=1788794072","location":"Waterstones, Bath","eventTags":[],"recurring":false,"buttonText":"Sign up","calendarId":"X2CMN3KF","maxSignups":"","priceLabel":"","priceValue":"","description":"Join us as we chat to Women's Prize for Fiction longlisted author Clare Clark about her new novel Adder Stone.\n\nJoin us as we chat to Clare Clark author of Adder Stone, A haunting story of a Welsh Valley’s drowning and the family forever changed by it.\n\nClare Clark is the author of seven critically acclaimed novels including The Great Stink and Savage Lands, which was described by Hilary Mantel as 'Vigorous and intense, energetic and absorbing ... an extraordinary feat of imagination', both longlisted for the Women’s Prize.\n\n\nIt is 1963 and in north Wales the Jones family are being forcibly ejected from the land they have farmed for generations. Their valley is to be drowned, turned into a reservoir for the people of Liverpool.\n\nWhile her husband Dai is grief-stricken, Olwen Jones privately sees it as a blessing, an unforeseen chance to escape the narrow confines of the valley. But for her teenage son Emyr, Liverpool’s careless arrogance is proof that Wales will never be free to decide its own future until, like Ireland, it breaks the shackles of English imperialism.\n\nBased on true events, Adder Stone is an exploration of personal identity and the possibilities and limits of love. How far will we go for our child or for our country? Who are we when we lose the places and the people that define us? And how much, in the end, is it possible to forgive?\n\n\nFor accessibility requirements please email [email protected]","externalUrl":"https:\/\/www.eventbrite.co.uk\/e\/in-conversation-with-clare-clark-adder-stone-bath-tickets-1996453001671","locationUrl":"https:\/\/maps.app.goo.gl\/vRXNKzriFkLq7k5J7","speakerName":"Clare Clark","scheduleMode":"date_time","speakerTitle":"Author","imageFileName":"Clare Clark.png","nameMandatory":false,"recurringRule":"none","emailMandatory":true,"phoneMandatory":false,"registerMethod":"event_form","addRegistration":false,"enableNameField":true,"guestsMandatory":false,"speakerImageUrl":"https:\/\/cdn.shopify.com\/s\/files\/1\/1271\/4023\/files\/Clare_Clark_faa3f85b-2397-4988-857e-eb37efed6f10.png?v=1788794079","customMonthlyDay":1,"customWeeklyDays":["wed"],"enableEmailField":true,"enableMaxSignups":false,"enablePhoneField":false,"customWeeklyLimit":3,"enableGuestsField":false,"customMonthlyLimit":3,"externalButtonText":"Tickets","registrationMobile":"","customMonthlyMonths":["jan"],"registrationFullText":"This event is full. No more signups are available.","speakerImageFileName":"Clare Clark.png","registrationButtonText":"Sign up","registrationSubmitText":"Submit","registrationSuccessText":"Thank you! Your registration was submitted."},{"id":"e-1788792026975-6280d019b802a8","color":"#000000","endAt":"2026-12-12T20:00","title":"Science Lates - Illuminate:  Invisible Rainbows Talk ","allDay":false,"hidden":false,"status":"upcoming","startAt":"2026-12-12T18:00","eventTag":"","imageUrl":"https:\/\/cdn.shopify.com\/s\/files\/1\/1271\/4023\/files\/Alfredo.png?v=1788794085","location":"Glasgow Science Centre","eventTags":[],"recurring":false,"buttonText":"Sign up","calendarId":"11XM7QYH","maxSignups":"","priceLabel":"","priceValue":"","description":"Step into a world beyond human sight and discover the hidden universe of light.\n\nExplore lasers, colours, spectra and photonics as you follow the journey of a single photon. Enjoy after-hours access to Glasgow Science Centre, interactive exhibits, themed activities, expert demonstrations and more.\n\nDon your sparkles, bring the light of your life, and join us for a dazzling evening.\n\nTickets: £15 per person\n\nOptional Talk: Invisible Rainbows\n\n£3.50 per person\n\nJoin astrophysicist and science communicator Dr Alfredo Carpineti as he explores how invisible light, from radio waves to gamma rays, reveals the secrets of the universe.\n\nInspired by his acclaimed book Invisible Rainbows, Alfredo shines a light on the LGBTQIA+ scientists and astronomers who have shaped our understanding of the cosmos, and explores how who we are can influence the questions we ask and the discoveries we make.\n\nCopies of Invisible Rainbows: The Unseen Universe Beyond Our Senses will be available to buy on the night.\n\nScience Lates is strictly 18+. Photo ID is required if you look under 25. Programme subject to change.","externalUrl":"https:\/\/www.glasgowsciencecentre.org\/whats-on\/science-lates-illuminate","locationUrl":"https:\/\/maps.app.goo.gl\/W5YTCFoiEuWojkYF7","speakerName":" Dr Alfredo Carpineti","scheduleMode":"date_time","speakerTitle":"Author","imageFileName":"Alfredo.png","nameMandatory":false,"recurringRule":"none","emailMandatory":true,"phoneMandatory":false,"registerMethod":"event_form","addRegistration":false,"enableNameField":true,"guestsMandatory":false,"speakerImageUrl":"","customMonthlyDay":1,"customWeeklyDays":["wed"],"enableEmailField":true,"enableMaxSignups":false,"enablePhoneField":false,"customWeeklyLimit":3,"enableGuestsField":false,"customMonthlyLimit":3,"externalButtonText":"Tickets","registrationMobile":"","customMonthlyMonths":["jan"],"registrationFullText":"This event is full. No more signups are available.","speakerImageFileName":"","registrationButtonText":"Sign up","registrationSubmitText":"Submit","registrationSuccessText":"Thank y
4068ou! Your registration was submitted."}],"status":"1","updatedAt":"2026-10-05 13:48:52","createdAt":"2026-09-07 13:30:20"}],
4069    apiBaseUrl: "https:\/\/eventcalendar-api.orbitsdev.com",
4070    shopSettings: {"customCss":"","customJs":""}
4071  };
4072  window.Calendar.shopSettings = window.Calendar.metafields.shopSettings;
4073</script>
4073<script>
4074  (function () {
4075    if (window.__calendarWidgetRuntimeLoaded) return;
4076    window.__calendarWidgetRuntimeLoaded = true;
4077    var s = document.createElement('script');
4078    s.src = "https:\/\/cdn.shopify.com\/extensions\/01a0de07-3c41-7704-be3e-b8415eb5bc35\/orbits-events-calendar-widget-11\/assets\/calendar-widget-runtime.js";
4079    s.defer = true;
4080    document.head.appendChild(s);
4081  })();
4082</script>
4082
4083
4084<div
4085  id="calendar-embed-root"
4086  class="calendar-embed"
4087  data-shop="eye-books-store.myshopify.com"
4088  data-calendar-api-base="https://eventcalendar-api.orbitsdev.com"
4089  data-calendar-metafield-key="calendar_config"
4090  data-calendar-mf-storefront="ok"
4091  hidden
4092></div>
4093
4094
4095
4096</div>
4096<script src="https://cdn.shopify.com/storefront/standard-actions.js" type="module" data-source-attribution="shopify.standard_actions"></script>
4096
4097</body>
4098</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.