1<!doctype html><html lang="en"><head> 2 <meta charset="utf-8"> 3 <title>The Rest Is History | Popular History Podcast | Tom Holland & Dominic Sandbrook</title> 4 5 <link rel="shortcut icon" href="https://therestishistory.com/hubfs/TRIH_AVATAR_SIMP.png"> 6 7 <meta name="description" content="Discover The Rest Is History, the acclaimed podcast where historians Tom Holland and Dominic Sandbrook explore compelling historical events and figures through engaging storytelling and expert analysis."> 8 9 10 11 12 13 14 <meta name="viewport" content="width=device-width, initial-scale=1"> 15 16 17 <meta property="og:description" content="Discover The Rest Is History, the acclaimed podcast where historians Tom Holland and Dominic Sandbrook explore compelling historical events and figures through engaging storytelling and expert analysis."> 18 <meta property="og:title" content="The Rest Is History | Popular History Podcast | Tom Holland & Dominic Sandbrook"> 19 <meta name="twitter:description" content="Discover The Rest Is History, the acclaimed podcast where historians Tom Holland and Dominic Sandbrook explore compelling historical events and figures through engaging storytelling and expert analysis."> 20 <meta name="twitter:title" content="The Rest Is History | Popular History Podcast | Tom Holland & Dominic Sandbrook"> 21 22 23 24 25 <style> 26a.cta_button{-moz-box-sizing:content-box !important;-webkit-box-sizing:content-box !important;box-sizing:content-box !important;vertical-align:middle}.hs-breadcrumb-menu{list-style-type:none;margin:0px 0px 0px 0px;padding:0px 0px 0px 0px}.hs-breadcrumb-menu-item{float:left;padding:10px 0px 10px 10px}.hs-breadcrumb-menu-divider:before{content:'âº';padding-left:10px}.hs-featured-image-link{border:0}.hs-featured-image{float:right;margin:0 0 20px 20px;max-width:50%}@media (max-width: 568px){.hs-featured-image{float:none;margin:0;width:100%;max-width:100%}}.hs-screen-reader-text{clip:rect(1px, 1px, 1px, 1px);height:1px;overflow:hidden;position:absolute !important;width:1px} 27</style> 28 29<link rel="stylesheet" href="https://therestishistory.com/hubfs/hub_generated/template_assets/1/269015067861/1784122889591/template_swiper-bundle.min.css"> 30<link rel="stylesheet" href="https://therestishistory.com/hubfs/hub_generated/template_assets/1/267420823749/1784122892818/template_main.min.css"> 31<link rel="stylesheet" href="https://therestishistory.com/hubfs/hub_generated/template_assets/1/267420823751/1788942101078/template_theme-overrides.min.css"> 32<link rel="stylesheet" href="https://therestishistory.com/hubfs/hub_generated/template_assets/1/268614268120/1784122908152/template_tailwind.min.css"> 33<link rel="stylesheet" href="https://therestishistory.com/hubfs/hub_generated/module_assets/1/268619186366/1786626664018/module_Header.min.css"> 34<link rel="stylesheet" href="https://therestishistory.com/hubfs/hub_generated/module_assets/1/269037279428/1756137111056/module_Testimonial.min.css"> 35<style> 36@font-face { 37 font-family: "Queens Condensed Trial"; 38 src: url("https://therestishistory.com/hubfs/QueensCondensedTrial-Bold-1.ttf") format("truetype"); 39 font-display: swap; 40 font-weight: 700; 41} 42 43@font-face { 44 font-family: "Queens Trial"; 45 src: url("https://therestishistory.com/hubfs/QueensTrial-Bold-1.ttf") format("truetype"); 46 font-display: swap; 47 font-weight: 700; 48} 49 50@font-face { 51 font-family: "Queens Trial"; 52 src: url("https://therestishistory.com/hubfs/QueensTrial-Light-1.ttf") format("truetype"); 53 font-display: swap; 54 font-weight: 300; 55} 56 57@font-face { 58 font-family: "Queens Trial"; 59 src: url("https://therestishistory.com/hubfs/QueensTrial-Regular-1.ttf") format("truetype"); 60 font-display: swap; 61 font-weight: 400; 62} 63 64@font-face { 65 font-family: "Queens Trial"; 66 src: url("https://therestishistory.com/hubfs/QueensTrial-Regular-1.ttf") format("truetype"); 67 font-display: swap; 68} 69</style> 70 71<!-- Editor Styles --> 72<style id="hs_editor_style" type="text/css"> 73.dnd_area-row-0-force-full-width-section > .row-fluid { 74 max-width: none !important; 75} 76.dnd_area-row-1-force-full-width-section > .row-fluid { 77 max-width: none !important; 78} 79.dnd_area-row-2-force-full-width-section > .row-fluid { 80 max-width: none !important; 81} 82.dnd_area-row-3-force-full-width-section > .row-fluid { 83 max-width: none !important; 84} 85.dnd_area-row-4-force-full-width-section > .row-fluid { 86 max-width: none !important; 87} 88.dnd_area-row-5-force-full-width-section > .row-fluid { 89 max-width: none !important; 90} 91/* HubSpot Styles (default) */ 92.dnd_area-row-0-padding { 93 padding-top: 0px !important; 94 padding-bottom: 0px !important; 95} 96.dnd_area-row-1-padding { 97 padding-top: 0px !important; 98 padding-bottom: 0px !important; 99} 100.dnd_area-row-1-background-layers { 101 background-image: url('https://therestishistory.com/hubfs/Rectangle2411.jpg') !important; 102 background-position: center center !important; 103 background-size: cover !important; 104 background-repeat: no-repeat !important; 105} 106.dnd_area-row-2-padding { 107 padding-top: 0px !important; 108 padding-bottom: 0px !important; 109} 110.dnd_area-row-3-padding { 111 padding-top: 0px !important; 112 padding-bottom: 0px !important; 113} 114.dnd_area-row-4-padding { 115 padding-top: 0px !important; 116 padding-bottom: 0px !important; 117} 118.dnd_area-row-5-padding { 119 padding-top: 0px !important; 120 padding-bottom: 0px !important; 121} 122.widget_1756136489476-hidden { 123 display: block !important; 124} 125</style> 126 127 128 129 <link rel="canonical" href="https://therestishistory.com/about"> 130 131 132 133<!-- Google Tag Manager
134<script>
vendor: 327 bytes, lines 134-138
134(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': 135new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], 136j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 137'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); 138})(window,document,'script','dataLayer','
138GTM-TKG5WWJK
vendor: 3 bytes, line 138
138');
138</script>
138 139End Google Tag Manager --> 140 141<style> 142 body #supportingcast-widget dialog { 143 top: 50% !important; 144 left: 50% !important; 145 transform: translate(-50%, -50%) !important; 146 max-width: 90%!important; 147 max-height: calc(100vh - 200px)!important; 148 overflow: hidden!important; 149 overflow-y: auto!important; 150} 151</style> 152<meta property="og:url" content="https://therestishistory.com/about"> 153<meta name="twitter:card" content="summary"> 154<meta http-equiv="content-language" content="en"> 155 156 157 158 159 160 161 162 <!-- Google tag (gtag.js) -->
vendor: 68 bytes, lines 162-163
162 163 <script async src="https://www.googletagmanager.com/gtag/js?id=
163G-6CZ75CKWWG
vendor: 16 bytes, lines 163-164
163"></script> 164
164<script> 165
vendor: 146 bytes, lines 165-169
165window.dataLayer = window.dataLayer || []; 166 function gtag(){dataLayer.push(arguments);} 167 gtag('js', new Date()); 168 169 gtag('config', '
169G-6CZ75CKWWG
vendor: 8 bytes, lines 169-170
169'); 170
170</script>
170 171 172
173<script> 174 /* ------------------------------------------------------------------ 175 THE REST IS HISTORY â site config for the shared gating engine. 176 This is the ONLY part that differs between brands. Everything below 177 it is byte-identical across TRIH / TRIC / TRIP / TRIPUS / Empire, so 178 fixes land everywhere at once instead of drifting per site. 179 ------------------------------------------------------------------ */ 180 window.RC_SITE = { 181 brand: 'trih', 182 paths: { 183 home: ['/'], 184 club: ['/club'], 185 setup: ['/feed-setup'], 186 account: ['/account'], 187 login: ['/login'], 188 logout: ['/logout'], 189 protectedPrefixes: ['/miniseries'] 190 }, 191 // /club and /club-7 (and any future numbered variant) behave identically. 192 clubMatch: '^/club(?:-[0-9]+)?$', 193 194 // TRIH header markup: the theme already ships both buttons, so the 195 // adapter just relabels them. Other brands clone buttons instead. 196 header: { 197 clubWrapper: '.btn-drop-wrapper', 198 clubButton: '.js-join-account-button', 199 authButton: '.js-auth-button', 200 authLabel: '.js-auth-label', 201 hideWhenLoggedIn: 'ul#menu-top-primary-menu > li:first-child' 202 } 203 }; 204 205 /* TRIH gates its homepage: logged-out visitors on / go to the club page. 206 The other brands leave the homepage open. Set here rather than in the 207 engine so the engine stays identical everywhere. */ 208 window.RC_CFG = window.RC_CFG || {}; 209 window.RC_CFG.redirectHomeToClub = true; 210</script>
210 211<style> 212 /* ---- Redirect overlay ---- */ 213 #sc-redirect-overlay { 214 position: fixed; inset: 0; 215 display: flex; align-items: center; justify-content: center; 216 background: rgba(255, 255, 255, .92); 217 opacity: 0; transition: opacity .2s ease; 218 z-index: 99999; 219 } 220 #sc-redirect-overlay.is-visible { opacity: 1; } 221 #sc-redirect-overlay .sc-overlay-inner { 222 display: flex; flex-direction: column; align-items: center; gap: 16px; 223 text-align: center; color: #212121; 224 padding: 0 20px; 225 } 226 #sc-redirect-overlay .sc-spinner { 227 width: 42px; height: 42px; border-radius: 50%; 228 border: 4px solid #f0d9d8; border-top-color: #ea4e47; 229 animation: sc-spin .8s linear infinite; 230 } 231 @keyframes sc-spin { to { transform: rotate(360deg); } } 232</style> 233 234<!-- 235 ============================================================ 236 GOALHANGER â Supporting Cast auth gating + HubSpot lead capture 237 Multi-tenant build. One script, per-brand config. 238 ============================================================ 239 240 DEPLOYMENT 241 ---------- 242 Put a small config block ABOVE this snippet on each site, e.g. for 243 The Rest Is Classified: 244 245
245<script> 246 window.RC_SITE = { 247 brand: 'tric', 248 paths: { 249 home: ['/', '/home'], 250 club: ['/club'], 251 setup: ['/feed-setup'], 252 account:['/account'], 253 login: ['/sign-in'], 254 logout: ['/logout'], 255 protectedPrefixes: ['/episodes'] 256 } 257 }; 258 </script>
258 259 260 Anything you omit falls back to the defaults below. Path matching is 261 case-insensitive and ignores trailing slashes and query strings, so 262 '/club', '/Club/' and '/club?x=1' all match. 263 264 A/B TEST CLUB PAGES 265 ------------------- 266 The club page is matched by PATTERN, not by a list, because marketing 267 clones it for tests (/club-2, /club-7, â¦). The default pattern is: 268 269 clubMatch: '^/club(?:-[0-9]+)?$' 270 271 so /club, /club-2 and /club-7 all behave identically and any future 272 numbered variant works with no code change. Two escape hatches: 273 274 - non-numeric variants -> widen the pattern, e.g. '^/club(?:-[a-z0-9]+)?$' 275 - an unrelated slug -> add it to paths.club, e.g. club: ['/club','/join-2026'] 276 277 Whichever variant the buyer landed on is remembered for the session, so 278 guard redirects and logout return them to THAT page rather than to 279 canonical /club â otherwise our own redirects would pollute the test. 280 281 HOW SUPPORTING CAST FINISHES A 3DS PURCHASE (per SC engineering) 282 --------------------------------------------------------------- 283 The embed keeps sc_widget_pending_order_identifier, polls until Stripe 284 has finished processing, finalises the order in SC, then creates the 285 account + auth token and logs the user in (writes sc_widget_token). 286 That takes TIME and needs the embed to STAY ON THE PAGE. Everything in 287 this script's post-purchase handling is built around not interrupting it. 288 289 WHAT CHANGED vs the previous per-brand scripts 290 ---------------------------------------------- 291 1. REDIRECT NO LONGER DEPENDS ON EMAIL CAPTURE. 292 2. HUBSPOT SUBMIT IS NO LONGER AWAITED BEFORE NAVIGATING. 293 3. RETRY BACKOFF NO LONGER SLEEPS ON THE FIRST ATTEMPT. 294 4. CONVERSION LISTENERS ARE BOUND BEFORE THE ROUTING BLOCKS. 295 5. POST-PURCHASE GRACE PERIOD ON THE PROTECTED-PAGE GUARD. 296 6. LOGIN EMAIL CAPTURE PORTED IN, click fallback narrowed. 297 7. SEPARATE SUBMIT-ONCE KEYS for login and purchase. 298 8. CLUB PAGE IS PATTERN-MATCHED (A/B variants redirect too). 299 9. STRIPE REDIRECT-FLOW RETURNS ARE HANDLED. 300 10. CONFIG PRECEDENCE FIXED (defaults < RC_SITE.cfg < window.RC_CFG). 301 11. GATED PAGES WAIT FOR THE SC EMBED. 302 303 MOBILE 3DS FIXES (this build) 304 ----------------------------- 305 12. OVERLAY NO LONGER VANISHES ON NORMAL PAGE LOADS. The pageshow handler 306 treated every pageshow as a back/forward-cache restore, but pageshow 307 fires on EVERY load, right after window.load. On a Stripe return the 308 "Setting up your private feedâ¦" overlay went up at DOMContentLoaded 309 and was torn down a moment later, so the buyer stared at the pricing 310 view while SC was still logging them in â "kicked back to signup". 311 Reset now only happens on a genuine bfcache restore, and never while 312 we are waiting for a session. 313 314 13. RECOVERY PROMPT NO LONGER FIRES AFTER 10 SECONDS. The old threshold 315 assumed a pending order that hadn't resolved in a few seconds never 316 would. Since SC's race-condition fix it DOES resolve â it just can 317 take longer than 10s on a mobile connection. The early "Sign in" 318 prompt pulled buyers off the page before SC finished, leaving them 319 dependent on the magic link. Now: reassurance at 6s / 20s, sign-in 320 offered at 45s, and the background poll still redirects if the 321 session lands while the prompt is showing. 322 323 14. IN-PAGE 3DS (no full redirect) NOW SHOWS THE HOLD SCREEN. When the 324 conversion event fired before SC had written the token, the redirect 325 was correctly held â but silently, with the purchase view still on 326 screen. The buyer now sees the waiting overlay, and the same 45s 327 recovery applies. 328 329 15. TOKEN LANDING ON THE SIGN-IN PAGE AFTER A PURCHASE -> FEED SETUP. 330 If a buyer does use the recovery link and SC's embed on the sign-in 331 page finishes the pending order, they are sent on to feed setup 332 instead of being left on the sign-in form. 333 334 16. The one-shot redirect flag is now cleared at parse time on club 335 pages (a new document can never have redirected yet), not on 336 pageshow, which could fire after a redirect had already started and 337 re-open the door to a second, in-flight-destroying navigation. 338 339 17. REDIRECT ONLY ON A SETTLED SESSION. Tester on iOS Safari reached 340 /feed-setup, then landed on the Join page logged out: the token that 341 triggered the redirect was gone by the time feed setup loaded. We now 342 move a buyer on only once the token has been stable for tokenSettleMs 343 AND SC's pending-order marker has cleared (or the token has been stable 344 for pendingClearMaxMs, in case SC never clears the marker). 345 346 18. A RECENT BUYER IS NEVER BOUNCED TO THE JOIN PAGE. If /feed-setup has no 347 session after a purchase, or the session disappears while the buyer is 348 on it, they get the "Payment received / Sign in" screen instead. The
349 trace records exactly which of those happened and SC's state at the time. 350 351 20. The purchase flag now survives the first setupWatchMs on /feed-setup 352 (it was cleared at boot, which disabled the #18 watcher), and Stripe 353 client secrets are redacted in the trace. 354 355 19. ON-SCREEN DIAGNOSTICS: add ?rc_diag=1 to any URL once and a small 356 "RC log" button appears on every page for the rest of that browser 357 session (?rc_diag=0 turns it off). It shows the full trace with Copy, 358 so testers can send it from a phone without a Mac. 359 ============================================================ 360--> 361
362<script> 363 (function () { 364 /* ========================= 365 * CONFIG â defaults + per-site overrides via window.RC_SITE 366 * ========================= */ 367 var SITE = window.RC_SITE || {}; 368 369 var DEFAULTS = { 370 brand: 'unknown', 371 hsPortalId: '146396756', 372 hsFormGuid: '3753cd96-e4e4-4646-bb9d-70df9647cf1c', 373 paths: { 374 home: ['/', '/home'], 375 club: ['/club'], 376 setup: ['/feed-setup'], 377 account: ['/account'], 378 login: ['/login', '/sign-in'], 379 logout: ['/logout'], 380 protectedPrefixes: ['/miniseries', '/episodes'] 381 }, 382 383 // A/B test variants of the club page (/club-2, /club-7, â¦) are matched 384 // by pattern, not by an explicit list, so a new variant works the day 385 // marketing publishes it. Anything in paths.club is ALSO treated as a 386 // club page, so a variant with an unrelated slug can just be added there. 387 // Override per site if the naming differs, e.g. to allow word suffixes: 388 // clubMatch: '^/club(?:-[a-z0-9]+)?$' 389 clubMatch: '^/club(?:-[0-9]+)?$' 390 }; 391 392 var BRAND = SITE.brand || DEFAULTS.brand; 393 var HS_PORTAL_ID = SITE.hsPortalId || DEFAULTS.hsPortalId; 394 var HS_FORM_GUID = SITE.hsFormGuid || DEFAULTS.hsFormGuid; 395 396 var P = (function (a, b) { 397 var out = {}, k; 398 for (k in a) out[k] = a[k]; 399 for (k in (b || {})) if (b[k]) out[k] = b[k]; 400 return out; 401 })(DEFAULTS.paths, SITE.paths); 402 403 // Canonical single paths used for navigation targets. 404 var CLUB_PATH = P.club[0]; 405 var SETUP_PATH = P.setup[0]; 406 var ACCOUNT_PATH = P.account[0]; 407 var LOGIN_TARGET = (P.login && P.login[0]) || '/login'; 408 409 var CLUB_RE = (function (src) { 410 try { return new RegExp(src, 'i'); } 411 catch (e) { return new RegExp(DEFAULTS.clubMatch, 'i'); } 412 })(SITE.clubMatch || DEFAULTS.clubMatch); 413 414 // Remembers which club variant the buyer actually landed on, so every 415 // bounce-back sends them to THAT page rather than to canonical /club â 416 // otherwise a guard redirect silently contaminates the A/B test. 417 var LAST_CLUB_KEY = 'rc_last_club_path'; 418 419 var LOGOUT_FLAG_KEY = 'sc_just_logged_out_at'; 420 var LOGOUT_COOLDOWN_MS = 15000; 421 422 var PURCHASE_FLAG_KEY = 'rc_just_purchased_at'; 423 // Long enough to outlive a slow Stripe finalisation, a reload, and any 424 // wandering the buyer does before landing back on a club page. Cleared 425 // on logout and once they reach feed setup. 426 var PURCHASE_GRACE_MS = 15 * 60 * 1000; 427 428 var UTM_KEYS = ['utm_source','utm_medium','utm_campaign','utm_term','utm_content','utm_id','fbclid']; 429 var UTM_COOKIE = 'rc_utms'; 430 var UTM_SESSION_KEY = 'rc_utms'; 431 var UTM_LOCAL_KEY = 'rc_utms_local'; 432 var UTM_TTL_MS = 1000 * 60 * 60 * 24 * 7; 433 434 // Separate keys so a login submit can't suppress the purchase submit. 435 var SUBMIT_ONCE_PREFIX = 'sc_hs_submitted:'; 436 var REDIRECT_ONCE_KEY = 'sc_order_redirected'; 437 // Survives a frozen/bfcached page: the INTENT to redirect is persisted, so 438 // if timers are suspended mid app-switch we still navigate on resume. 439 var PENDING_REDIRECT_KEY = 'rc_pending_setup_redirect'; 440 var OVERLAY_ID = 'sc-redirect-overlay'; 441 442 var EMAIL_LOCAL_KEY = 'rc_checkout_email'; 443 var EMAIL_SESSION_KEY = 'rc_checkout_email_s'; 444 var EMAIL_COOKIE = 'rc_checkout_email'; 445 var EMAIL_TTL_DAYS = 14; 446 var EMAIL_SAVED_EVENT = 'rc_email_saved'; 447 448 var PENDING_QUEUE_KEY = 'rc_hs_pending_queue_v1'; 449 450 var WIDGET_SEL = '#supportingcast-widget'; 451 var EMAIL_SEL = '#user-email-input'; 452 453 /* Precedence, lowest to highest: 454 * engine defaults < RC_SITE.cfg < window.RC_CFG set before this script 455 * Console overrides after load still work, since they mutate the object 456 * this returns. */ 457 var RC_DEFAULTS = { 458 debug: true, 459 460 // testing switches 461 disableRedirect: false, 462 disableOverlay: false, 463 forceRedirectAnywhere: false, 464 465 // guards 466 forceNoAccountRedirect: false, 467 redirectHomeToClub: false, // logged-out visitors on / go to the club page 468 skipInHubSpotEditor: true, 469 assumeEditor: false, 470 471 // timings 472 emailWaitMs: 2000, // how long to look for an email before giving up 473 redirectHardTimeoutMs: 3000, // absolute ceiling before we navigate regardless 474 tokenGraceMs: 8000, // wait for sc_widget_token after a purchase 475 authInitGraceMs: 6000, // wait for the SC embed to initialise on a gated page 476 tokenWatchMs: 500, // how often to check for a token appearing on club 477 // A token must stay unchanged this long before we treat the session as 478 // real. Guards against SC writing a token briefly mid-finalisation. 479 tokenSettleMs: 1500, 480 // SC should clear sc_widget_pending_order_identifier once the order is 481 // finalised. If it never does, stop waiting for that after this long. 482 pendingClearMaxMs: 5000, 483 // After a purchase, keep watching /feed-setup this long in case the 484 // session is cleared after the page loaded. 485 setupWatchMs: 20000, 486 // ScWidget.init() is NOT re-entrant: calling it after the embed has 487 // auto-initialised throws NotFoundError (removeChild) and leaves the
488 // widget dead on "Loading...". Off. Only enable if SC confirm otherwise. 489 stripeReinitEnabled: false, 490 stripeReinitAtMs: 4000, 491 stripeReinitEveryMs: 6000, 492 /* EXPERIMENT (off): treat sc_widget_pending_order_identifier as 493 * provisional proof of purchase, purely to reach /feed-setup. Paired 494 * with the recent-purchase flag and unlocks only the setup route. */ 495 treatPendingOrderAsAuth: false, 496 497 /* How long SC gets to finish a pending order before we offer sign-in. 498 * SC polls Stripe, finalises, then writes the token â this can take 499 * well over 10s on mobile data. Offering sign-in too early pulls the 500 * buyer off the page and aborts that handoff. */ 501 pendingOrderStallMs: 45000, 502 stripeReturnWatchMs: 60000, // no pending order either: recovery UI after this 503 stripeMaxWatchMs: 180000, // keep polling in the background until this 504 maxRetryAttempts: 8, 505 retryBackoffBaseMs: 1500, 506 507 // Mobile fallback: if a token appears while the visitor is sitting on a 508 // club page, treat that as "they just authenticated here" and send them 509 // to feed setup â even if the conversion event never reached us. 510 redirectOnTokenArrival: true 511 }; 512 513 var RC_CFG = window.RC_CFG = (function (defaults, siteCfg, preset) { 514 var out = {}, k; 515 for (k in defaults) out[k] = defaults[k]; 516 for (k in (siteCfg || {})) out[k] = siteCfg[k]; 517 for (k in (preset || {})) out[k] = preset[k]; 518 return out; 519 })(RC_DEFAULTS, SITE.cfg, window.RC_CFG); 520 521 var justTokenizedThisPageLoad = false; 522 523 // True while this document is holding a buyer on the overlay waiting for 524 // SC to write the session. Nothing may tear the overlay down meanwhile. 525 var awaitingSession = false; 526 527 if (BRAND === 'unknown') { 528 try { 529 console.warn('[RC] window.RC_SITE is MISSING â running on fallback ' + 530 'paths. Add the site config block above this script.'); 531 } catch (e) {} 532 } 533 534 /* ---- Persistent trace ------------------------------------------------ 535 * Every log line is also appended to a sessionStorage ring buffer that 536 * survives navigation. After a failed test, run RC_DIAG() in the 537 * console for the whole timeline, or RC_DIAG('copy') for a blob to 538 * paste into a ticket. */ 539 var TRACE_KEY = 'rc_trace_v1'; 540 var TRACE_MAX = 300; 541 542 function traceRead() { 543 try { return JSON.parse(sessionStorage.getItem(TRACE_KEY) || '[]'); } 544 catch (e) { return []; } 545 } 546 function trace(level, args) { 547 try { 548 var rows = traceRead(); 549 var parts = [], i, a; 550 for (i = 0; i < args.length; i++) { 551 a = args[i]; 552 if (a && typeof a === 'object') { 553 try { parts.push(JSON.stringify(a)); } catch (e2) { parts.push('[obj]'); } 554 } else { parts.push(String(a)); } 555 } 556 rows.push({ 557 t: new Date().toISOString().slice(11, 23), 558 lvl: level, 559 // Stripe client secrets are redacted: testers paste this trace into Slack. 560 p: window.location.pathname + 561 String(window.location.search || '').replace(/(client_secret=)[^&]+/g, '$1[redacted]'), 562 msg: parts.join(' ') 563 }); 564 if (rows.length > TRACE_MAX) rows = rows.slice(rows.length - TRACE_MAX); 565 sessionStorage.setItem(TRACE_KEY, JSON.stringify(rows)); 566 } catch (e) {} 567 } 568 569 window.RC_DIAG = function (mode) { 570 var rows = traceRead(); 571 if (mode === 'clear') { 572 try { sessionStorage.removeItem(TRACE_KEY); } catch (e) {} 573 return 'trace cleared'; 574 } 575 if (mode === 'copy') { 576 var out = rows.map(function (r) { 577 return r.t + ' [' + r.lvl + '] ' + r.p + ' :: ' + r.msg; 578 }).join('\n'); 579 try { if (window.copy) window.copy(out); } catch (e) {} 580 return out; 581 } 582 try { console.table(rows); } catch (e) { console.log(rows); } 583 return rows.length + ' entries â RC_DIAG("copy") for text'; 584 }; 585 586 function log() { 587 var args = [].slice.call(arguments); 588 trace('log', args); 589 if (!RC_CFG.debug) return;
590 try { console.log.apply(console, ['[RC:' + BRAND + ']'].concat(args)); } catch (e) {} 591 } 592 function warn() { 593 var args = [].slice.call(arguments); 594 trace('warn', args); 595 try { console.warn.apply(console, ['[RC:' + BRAND + ']'].concat(args)); } catch (e) {} 596 } 597 function dump(label, obj) { 598 trace('dump', [label, obj]); 599 if (!RC_CFG.debug) return; 600 try { console.log('[RC:' + BRAND + '][DUMP] ' + label, obj); } catch (e) {} 601 } 602 603 /* ========================= 604 * PATH HELPERS (tolerant) 605 * ========================= */ 606 function normPath(p) { 607 p = String(p == null ? (window.location.pathname || '/') : p).toLowerCase(); 608 p = p.split('?')[0].split('#')[0]; 609 p = p.replace(/\/+$/, ''); 610 return p || '/'; 611 } 612 613 function pathIn(list, p) { 614 var cur = normPath(p), i; 615 if (!list || !list.length) return false; 616 for (i = 0; i < list.length; i++) { 617 if (normPath(list[i]) === cur) return true; 618 } 619 return false; 620 } 621 622 function pathUnder(list, p) { 623 var cur = normPath(p), i, base; 624 if (!list || !list.length) return false; 625 for (i = 0; i < list.length; i++) { 626 base = normPath(list[i]); 627 if (cur === base || cur.indexOf(base + '/') === 0) return true; 628 } 629 return false; 630 } 631 632 // Matches /club, /club-2, /club-7 ⦠plus anything listed in paths.club. 633 function isClubPath(p) { 634 if (pathIn(P.club, p)) return true; 635 try { return CLUB_RE.test(normPath(p)); } catch (e) { return false; } 636 } 637 638 function rememberClubPath() { 639 if (!isClubPath()) return; 640 try { 641 sessionStorage.setItem(LAST_CLUB_KEY, window.location.pathname || CLUB_PATH); 642 } catch (e) {} 643 } 644 645 function clubTarget() { 646 var p = ''; 647 try { p = sessionStorage.getItem(LAST_CLUB_KEY) || ''; } catch (e) { p = ''; } 648 if (p && isClubPath(p)) return p; 649 return CLUB_PATH; 650 } 651 652 function isHomePath(p) { return pathIn(P.home, p); } 653 function isSetupPath(p) { return pathIn(P.setup, p); } 654 function isLoginPath(p) { return pathIn(P.login, p); } 655 function isLogoutPath(p) { return pathIn(P.logout, p); } 656 function isAccountPath(p) { return pathIn(P.account, p); } 657 658 /* ========================= 659 * STATE HELPERS 660 * ========================= */ 661 function isLoggedIn() { 662 try { return !!localStorage.getItem('sc_widget_token'); } catch (e) { return false; } 663 } 664 665 /* SC's own handoff breadcrumb. A pending id with no token means SC is 666 * mid-handoff (polling Stripe / finalising) and should finish on its 667 * own if the embed is left alone on the page. */ 668 var PENDING_ORDER_KEY = 'sc_widget_pending_order_identifier'; 669 670 function pendingOrderId() { 671 try { return localStorage.getItem(PENDING_ORDER_KEY) || ''; } catch (e) { return ''; } 672 } 673 674 function hasPendingAuth() { 675 return !!RC_CFG.treatPendingOrderAsAuth && 676 !!pendingOrderId() && 677 justPurchasedRecently(); 678 } 679 680 function scState() { 681 if (isLoggedIn()) return 'authenticated'; 682 if (pendingOrderId()) return 'order-pending'; 683 return 'none'; 684 } 685 686 /* A session is only "settled" once the token has stopped changing for 687 * tokenSettleMs AND SC's pending-order marker has cleared â or the token 688 * has been stable for pendingClearMaxMs, in case SC leaves the marker 689 * behind. Must be POLLED: stability is measured between calls. A token 690 * that arrived in the URL (?t= / ?sc_t=) is trusted immediately. */ 691 var urlToken = ''; 692 var settleTok = ''; 693 var settleSince = 0; 694 695 function tokenValue() { 696 try { return localStorage.getItem('sc_widget_token') || ''; } catch (e) { return ''; } 697 } 698 699 function sessionSettled() { 700 var t = tokenValue(); 701 if (!t) { settleTok = ''; settleSince = 0; return false; } 702 if (urlToken && t === urlToken) return true; 703 if (t !== settleTok) { 704 settleTok = t; 705 settleSince = Date.now(); 706 return false; 707 } 708 var stable = Date.now() - settleSince; 709 if (stable < RC_CFG.tokenSettleMs) return false;
710 if (pendingOrderId() && stable < RC_CFG.pendingClearMaxMs) return false; 711 return true; 712 } 713 714 function markPurchased() { 715 try { sessionStorage.setItem(PURCHASE_FLAG_KEY, String(Date.now())); } catch (e) {} 716 } 717 718 function justPurchasedRecently() { 719 try { 720 var ts = parseInt(sessionStorage.getItem(PURCHASE_FLAG_KEY) || '0', 10); 721 return !!ts && (Date.now() - ts) < PURCHASE_GRACE_MS; 722 } catch (e) { return false; } 723 } 724 725 function justLoggedOutRecently() { 726 try { 727 var ts = parseInt(sessionStorage.getItem(LOGOUT_FLAG_KEY) || '0', 10); 728 return !!ts && (Date.now() - ts) < LOGOUT_COOLDOWN_MS; 729 } catch (e) { return false; } 730 } 731 732 /* ------------------------------------------------------------- 733 * Stripe redirect-flow return. 734 * /club?setup_intent=â¦&setup_intent_client_secret=â¦&redirect_status=succeeded 735 * A NEW page load: the URL is the only evidence the purchase happened. 736 * ------------------------------------------------------------- */ 737 var STRIPE_PARAMS = [ 738 'setup_intent', 'setup_intent_client_secret', 739 'payment_intent', 'payment_intent_client_secret', 740 'redirect_status', 'source_type' 741 ]; 742 743 function getStripeReturn() { 744 try { 745 var p = new URLSearchParams(window.location.search || ''); 746 var status = String(p.get('redirect_status') || '').toLowerCase(); 747 var setup = p.get('setup_intent'); 748 var pay = p.get('payment_intent'); 749 if (!setup && !pay && !status) return null; 750 return { 751 kind: setup ? 'setup_intent' : (pay ? 'payment_intent' : 'unknown'), 752 status: status || 'unknown' 753 }; 754 } catch (e) { return null; } 755 } 756 757 var STRIPE_RETURN = getStripeReturn(); 758 759 function isStripeSuccessReturn() { 760 return !!(STRIPE_RETURN && STRIPE_RETURN.status === 'succeeded'); 761 } 762 763 // Only called once we've given up waiting or have a session, never on 764 // arrival: the SC widget may still need these params. Hash preserved. 765 function stripStripeParams() { 766 try { 767 var p = new URLSearchParams(window.location.search || ''); 768 var i; 769 for (i = 0; i < STRIPE_PARAMS.length; i++) p.delete(STRIPE_PARAMS[i]); 770 var clean = window.location.pathname + 771 (p.toString() ? '?' + p.toString() : '') + 772 (window.location.hash || ''); 773 window.history.replaceState({}, '', clean); 774 } catch (e) {} 775 } 776 777 // Client secrets must not travel to HubSpot in the pageUri. 778 function sanitizedHref() { 779 try { 780 var u = new URL(window.location.href); 781 var i; 782 for (i = 0; i < STRIPE_PARAMS.length; i++) u.searchParams.delete(STRIPE_PARAMS[i]); 783 return u.toString(); 784 } catch (e) { return window.location.pathname; } 785 } 786 787 function isHubSpotEditor() { 788 try { 789 if (RC_CFG.assumeEditor === true) return true; 790 if (window.hsInEditor === true) return true; 791 if (window.hsVars && (window.hsVars.is_in_editor === true || window.hsVars.editor === true)) return true; 792 793 var host = (window.location.hostname || '').toLowerCase(); 794 var search = (window.location.search || '').toLowerCase(); 795 796 if (host.indexOf('hubspotpreview') !== -1) return true; 797 if (host.indexOf('hubspotpagebuilder') !== -1) return true; 798 if (search.indexOf('hs_preview') !== -1) return true; 799 if (search.indexOf('content-preview') !== -1) return true; 800 if (search.indexOf('hspreviewkey') !== -1) return true; 801 if (search.indexOf('hsupdriver') !== -1) return true; 802 803 if (window.self !== window.top) { 804 var ref = ''; 805 try { ref = (document.referrer || '').toLowerCase(); } catch (e) { ref = ''; } 806 if (ref.indexOf('.hubspot.com') !== -1 || 807 ref.indexOf('hubspotpreview') !== -1 || 808 ref.indexOf('hubspotpagebuilder') !== -1) { 809 return true; 810 } 811 } 812 } catch (e) {} 813 return false; 814 } 815 816 var IS_HS_EDITOR = (RC_CFG.skipInHubSpotEditor !== false) && isHubSpotEditor(); 817 if (IS_HS_EDITOR) log('[ENV] HubSpot editor/preview detected â all redirects disabled'); 818 819 function setCookie(name, value, days) {
820 try { 821 var d = new Date(); 822 d.setTime(d.getTime() + (days * 24 * 60 * 60 * 1000)); 823 document.cookie = 824 name + '=' + encodeURIComponent(value) + 825 '; expires=' + d.toUTCString() + 826 '; path=/' + 827 '; SameSite=Lax'; 828 } catch (e) {} 829 } 830 831 function getCookie(name) { 832 try { 833 var m = document.cookie.match(new RegExp('(?:^|; )' + name.replace(/([.$?*|{}()[\]\\/+^])/g,'\\$1') + '=([^;]*)')); 834 return m ? decodeURIComponent(m[1]) : ''; 835 } catch (e) { return ''; } 836 } 837 838 function expireCookie(name) { 839 try { 840 var past = 'Thu, 01 Jan 1970 00:00:00 GMT'; 841 var root = window.location.hostname.replace(/^www\./, ''); 842 document.cookie = name + '=; expires=' + past + '; path=/'; 843 document.cookie = name + '=; expires=' + past + '; path=/; SameSite=Lax'; 844 document.cookie = name + '=; expires=' + past + '; path=/; domain=.' + root + '; SameSite=Lax'; 845 } catch (e) {} 846 } 847 848 function safe255(v) { 849 v = (v == null) ? '' : String(v); 850 return v.length > 255 ? v.slice(0, 255) : v; 851 } 852 853 function pushFieldIf(fields, name, value) { 854 var v = (value == null) ? '' : String(value).trim(); 855 if (v) fields.push({ name: name, value: v }); 856 } 857 858 function isValidEmail(v) { 859 return /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(String(v || '').trim()); 860 } 861 862 function wait(ms) { return new Promise(function (r) { setTimeout(r, ms); }); } 863 864 /* ========================= 865 * UTM 866 * ========================= */ 867 function readUtmsFromUrl() { 868 var p = new URLSearchParams(window.location.search || ''); 869 var out = {}, found = false, i, k, v; 870 for (i = 0; i < UTM_KEYS.length; i++) { 871 k = UTM_KEYS[i]; 872 v = String(p.get(k) || '').trim(); 873 if (v) { out[k] = v; found = true; } 874 } 875 return found ? out : null; 876 } 877 878 function persistUtms(utms) { 879 if (!utms) return; 880 var payload = {}, k; 881 for (k in utms) payload[k] = utms[k]; 882 payload.__ts = Date.now(); 883 884 var str = ''; 885 try { str = JSON.stringify(payload); } catch (e) { str = ''; } 886 887 if (str) { 888 try { sessionStorage.setItem(UTM_SESSION_KEY, str); } catch (e1) {} 889 try { localStorage.setItem(UTM_LOCAL_KEY, str); } catch (e2) {} 890 try { setCookie(UTM_COOKIE, str, 7); } catch (e3) {} 891 log('[UTM] persisted', payload); 892 } 893 } 894 895 function parseStored(str) { 896 try { 897 var obj = JSON.parse(str || '{}'); 898 if (!obj || !obj.__ts) return null; 899 if ((Date.now() - obj.__ts) > UTM_TTL_MS) return null; 900 901 var utms = {}, k, hasAny = false; 902 for (k in obj) { 903 if (!Object.prototype.hasOwnProperty.call(obj, k)) continue; 904 if (k === '__ts') continue; 905 utms[k] = obj[k]; 906 } 907 for (k in utms) { 908 if (!Object.prototype.hasOwnProperty.call(utms, k)) continue; 909 if (utms[k]) { hasAny = true; break; } 910 } 911 return hasAny ? utms : null; 912 } catch (e) { return null; } 913 } 914 915 function getUtmsBestEffort() { 916 var fromUrl = readUtmsFromUrl(); 917 if (fromUrl) return fromUrl; 918 919 try { 920 var s = parseStored(sessionStorage.getItem(UTM_SESSION_KEY)); 921 if (s) return s; 922 } catch (e1) {} 923 924 try { 925 var l = parseStored(localStorage.getItem(UTM_LOCAL_KEY)); 926 if (l) return l; 927 } catch (e2) {} 928 929 try { 930 var c = parseStored(getCookie(UTM_COOKIE)); 931 if (c) return c; 932 } catch (e3) {} 933 934 return {}; 935 } 936 937 function getHutkSafe() { 938 try { 939 var m = document.cookie.match(/hubspotutk=([^;]+)/); 940 return m ? m[1] : ''; 941 } catch (e) { return ''; } 942 } 943 944 /* ========================= 945 * EMAIL capture 946 * ========================= */ 947 function cacheEmail(email, reason) { 948 var em = String(email || '').trim(); 949 if (!isValidEmail(em)) return false; 950 951 try { localStorage.setItem(EMAIL_LOCAL_KEY, em); } catch (e1) {} 952 try { sessionStorage.setItem(EMAIL_SESSION_KEY, em); } catch (e2) {}
953 try { setCookie(EMAIL_COOKIE, em, EMAIL_TTL_DAYS); } catch (e3) {} 954 955 log('[EMAIL] saved', { email: em, reason: reason || '' }); 956 957 try { 958 window.dispatchEvent(new CustomEvent(EMAIL_SAVED_EVENT, { detail: { email: em, reason: reason || '' } })); 959 } catch (e4) {} 960 961 return true; 962 } 963 964 function readCachedEmail() { 965 var em = ''; 966 try { em = String(localStorage.getItem(EMAIL_LOCAL_KEY) || '').trim(); } catch (e1) { em = ''; } 967 if (isValidEmail(em)) return em; 968 969 try { em = String(sessionStorage.getItem(EMAIL_SESSION_KEY) || '').trim(); } catch (e2) { em = ''; } 970 if (isValidEmail(em)) return em; 971 972 em = String(getCookie(EMAIL_COOKIE) || '').trim(); 973 if (isValidEmail(em)) return em; 974 975 return ''; 976 } 977 978 function getCheckoutEmailNow() { 979 var a = document.getElementById('user-email-input'); 980 if (a && a.value && isValidEmail(a.value)) return String(a.value).trim(); 981 982 var selectors = [ 983 'input[type="email"]', 984 'input[name="email"]', 985 'input[name*="email"]', 986 'input[id*="email"]', 987 '[autocomplete="email"]', 988 '#email' 989 ]; 990 991 var i, el, v; 992 for (i = 0; i < selectors.length; i++) { 993 el = document.querySelector(selectors[i]); 994 if (!el) continue; 995 v = String(el.value || '').trim(); 996 if (isValidEmail(v)) return v; 997 } 998 return ''; 999 } 1000 1001 async function waitForEmail(maxMs) { 1002 var start = Date.now(); 1003 var email = getCheckoutEmailNow() || readCachedEmail(); 1004 if (isValidEmail(email)) return email; 1005 1006 while ((Date.now() - start) < maxMs) { 1007 await wait(250); 1008 email = getCheckoutEmailNow() || readCachedEmail(); 1009 if (isValidEmail(email)) return email; 1010 } 1011 return ''; 1012 } 1013 1014 document.addEventListener('input', function (e) { 1015 var t = e && e.target; 1016 if (!t) return; 1017 1018 var type = String(t.type || '').toLowerCase(); 1019 var name = String(t.name || '').toLowerCase(); 1020 var id = String(t.id || '').toLowerCase(); 1021 var ac = String((t.getAttribute && t.getAttribute('autocomplete')) || '').toLowerCase(); 1022 1023 var looksEmail = 1024 type === 'email' || 1025 ac === 'email' || 1026 name === 'email' || name.indexOf('email') > -1 || 1027 id === 'user-email-input' || id.indexOf('email') > -1; 1028 1029 if (!looksEmail) return; 1030 1031 var v = String(t.value || '').trim(); 1032 if (isValidEmail(v)) cacheEmail(v, 'input'); 1033 }, true); 1034 1035 /* ========================= 1036 * HUBSPOT SUBMIT (queue + retry) 1037 * ========================= */ 1038 function buildHubSpotPayload(email, utmOverride) { 1039 var utm = utmOverride || getUtmsBestEffort(); 1040 var fields = [{ name: 'email', value: email }]; 1041 1042 pushFieldIf(fields, 'utm_source', utm.utm_source); 1043 pushFieldIf(fields, 'utm_medium', utm.utm_medium); 1044 pushFieldIf(fields, 'utm_campaign', safe255(utm.utm_campaign)); 1045 pushFieldIf(fields, 'utm_content', safe255(utm.utm_content)); 1046 pushFieldIf(fields, 'utm_term', safe255(utm.utm_term)); 1047 pushFieldIf(fields, 'utm_id', utm.utm_id); 1048 pushFieldIf(fields, 'fbclid', safe255(utm.fbclid)); 1049 1050 var hutk = getHutkSafe(); 1051 1052 return { 1053 fields: fields, 1054 context: { 1055 pageUri: sanitizedHref(), 1056 pageName: document.title, 1057 hutk: hutk || undefined 1058 } 1059 }; 1060 } 1061 1062 function getQueue() { 1063 try { return JSON.parse(localStorage.getItem(PENDING_QUEUE_KEY) || '[]') || []; } 1064 catch (e) { return []; } 1065 } 1066 1067 function setQueue(q) { 1068 try { localStorage.setItem(PENDING_QUEUE_KEY, JSON.stringify(q || [])); } catch (e) {} 1069 } 1070 1071 function enqueueSubmission(email) { 1072 var item = { 1073 id: 'q_' + Date.now() + '_' + Math.random().toString(16).slice(2), 1074 email: email, 1075 utm: getUtmsBestEffort(), 1076 createdAt: Date.now(), 1077 attempts: 0, 1078 lastError: '' 1079 }; 1080 var q = getQueue(); 1081 q.push(item); 1082 setQueue(q); 1083 dump('queued', item); 1084 return item.id; 1085 } 1086 1087 async function postToHubSpot(payload) { 1088 var url = 'https://api.hsforms.com/submissions/v3/integration/submit/'
1088+ HS_PORTAL_ID + '/' + HS_FORM_GUID; 1089 1090 var res = await fetch(url, { 1091 method: 'POST', 1092 headers: { 'Content-Type': 'application/json' }, 1093 body: JSON.stringify(payload), 1094 keepalive: true 1095 }); 1096 1097 var data = null; 1098 try { data = await res.json(); } catch (e) { data = null; } 1099 return { ok: res.ok, status: res.status, data: data }; 1100 } 1101 1102 var flushInFlight = false; 1103 1104 async function flushQueue(reason) { 1105 if (flushInFlight) { log('[QUEUE] flush already running, skipping', reason); return; } 1106 1107 var q0 = getQueue(); 1108 if (!q0.length) return; 1109 1110 flushInFlight = true; 1111 log('[QUEUE] flush start', { reason: reason, len: q0.length, path: window.location.pathname }); 1112 1113 try { 1114 var q = q0.slice(0); 1115 var remaining = []; 1116 var i, item, waitMs, payload, r; 1117 1118 for (i = 0; i < q.length; i++) { 1119 item = q[i]; 1120 item.attempts = (item.attempts || 0) + 1; 1121 1122 if (item.attempts > RC_CFG.maxRetryAttempts) { 1123 warn('[QUEUE] dropping (max attempts)', item); 1124 continue; 1125 } 1126 1127 if (!isValidEmail(item.email)) { 1128 warn('[QUEUE] dropping (invalid email)', item); 1129 continue; 1130 } 1131 1132 waitMs = RC_CFG.retryBackoffBaseMs * Math.max(0, item.attempts - 1); 1133 if (waitMs) await wait(waitMs); 1134 1135 payload = buildHubSpotPayload(item.email, item.utm); 1136 1137 try { 1138 r = await postToHubSpot(payload); 1139 if (r.ok) { 1140 log('[QUEUE] submitted OK', { id: item.id, status: r.status }); 1141 } else { 1142 item.lastError = 'HTTP ' + r.status; 1143 warn('[QUEUE] submit failed', { id: item.id, status: r.status, data: r.data }); 1144 remaining.push(item); 1145 } 1146 } catch (err) { 1147 item.lastError = String(err && err.message ? err.message : err); 1148 warn('[QUEUE] submit error', { id: item.id, err: item.lastError }); 1149 remaining.push(item); 1150 } 1151 } 1152 1153 setQueue(remaining); 1154 log('[QUEUE] flush done', { remaining: remaining.length }); 1155 } finally { 1156 flushInFlight = false; 1157 } 1158 } 1159 1160 // context is 'login' or 'order' â separate keys so one can't suppress the other. 1161 async function submitHubSpotQueued(email, context) { 1162 cacheEmail(email, 'pre-enqueue'); 1163 1164 var key = SUBMIT_ONCE_PREFIX + (context || 'generic') + ':' + String(email).toLowerCase(); 1165 1166 try { 1167 if (sessionStorage.getItem(key) === '1') { 1168 log('[HS] already enqueued this session -> flush only', { context: context }); 1169 await flushQueue('already-enqueued'); 1170 return true; 1171 } 1172 sessionStorage.setItem(key, '1'); 1173 } catch (e) {} 1174 1175 enqueueSubmission(email); 1176 await flushQueue('immediate-after-enqueue'); 1177 return true; 1178 } 1179 1180 /* ========================= 1181 * LOGIN capture â SC login embed 1182 * ========================= */ 1183 (function bindLoginEmailCapture() { 1184 document.addEventListener('submit', function (e) { 1185 var form = e && e.target; 1186 if (!form || form.nodeName !== 'FORM') return; 1187 1188 var widget = form.closest ? form.closest(WIDGET_SEL) : null; 1189 if (!widget) return; 1190 1191 var input = form.querySelector(EMAIL_SEL) || form.querySelector('input[type="email"]'); 1192 if (!input) return; 1193 1194 var email = String(input.value || '').trim(); 1195 if (!isValidEmail(email)) return; 1196 1197 log('[SC][LOGIN] login form submitted', { email: email }); 1198 cacheEmail(email, 'login_submit'); 1199 submitHubSpotQueued(email, 'login'); 1200 }, true); 1201 1202 document.addEventListener('click', function (e) { 1203 var btn = e && e.target; 1204 if (!btn) return; 1205 if (btn.closest) btn = btn.closest('button') || btn; 1206 if (btn.nodeName !== 'BUTTON') return; 1207 1208 var widget = btn.closest ? btn.closest(WIDGET_SEL) : null; 1209 if (!widget) return; 1210 1211 var btnType = String(btn.getAttribute('type') || '').toLowerCase(); 1212 var inForm = !!(btn.closest && btn.closest('form')); 1213 if (btnType !== 'submit' && !(inForm && btnType !== 'button')) return; 1214 1215 var scope = (btn.closest && btn.closest('form')) || widget; 1216 var input = scope.querySelector(EMAIL_SEL) || scope.querySelector('input[type="email"]'); 1217 if (!input) return; 1218 1219 var email = String(input.value || '').trim(); 1220 if (!isValidEmail(email)) return; 1221 1222 setTimeout(function () { 1223 cacheEmail(email, 'login_click'); 1224 submitHubSpotQueued(email, 'login'); 1225 }, 30); 1226 }, true); 1227 })(); 1228 1229 /* ========================= 1230 * OVERLAY 1231 * Queued until the body exists (the script can run in <head>). 1232 * ========================= */ 1233 var overlayWanted = false;
1234 1235 function showRedirectOverlay() { 1236 if (RC_CFG.disableOverlay) return; 1237 overlayWanted = true; 1238 1239 if (!document.body) { 1240 document.addEventListener('DOMContentLoaded', function () { 1241 if (overlayWanted) showRedirectOverlay(); 1242 }, { once: true }); 1243 return; 1244 } 1245 if (document.getElementById(OVERLAY_ID)) return; 1246 1247 var overlay = document.createElement('div'); 1248 overlay.id = OVERLAY_ID; 1249 overlay.innerHTML = 1250 '<div class="sc-overlay-inner">' + 1251 '<div class="sc-spinner"></div>' + 1252 '<div class="sc-overlay-main" style="font-size:16px;font-weight:600;">' + 1253 'Setting up your private feedâ¦</div>' + 1254 '</div>'; 1255 1256 document.body.appendChild(overlay); 1257 overlay.offsetHeight; 1258 overlay.classList.add('is-visible'); 1259 } 1260 1261 /* Updates the waiting copy. If the overlay is still queued behind 1262 * DOMContentLoaded, the message is applied once it exists. */ 1263 function setOverlayMessage(main, sub) { 1264 var overlay = document.getElementById(OVERLAY_ID); 1265 if (!overlay) { 1266 if (overlayWanted && !document.body) { 1267 document.addEventListener('DOMContentLoaded', function () { 1268 setTimeout(function () { setOverlayMessage(main, sub); }, 0); 1269 }, { once: true }); 1270 } 1271 return; 1272 } 1273 var inner = overlay.querySelector('.sc-overlay-inner'); 1274 if (!inner) return; 1275 if (inner.getAttribute('data-state') === 'stalled') return; 1276 1277 var m = inner.querySelector('.sc-overlay-main'); 1278 if (m) m.textContent = main; 1279 1280 var s = inner.querySelector('.sc-overlay-sub'); 1281 if (!s && sub) { 1282 s = document.createElement('div'); 1283 s.className = 'sc-overlay-sub'; 1284 s.style.cssText = 'font-size:14px;opacity:.75;max-width:320px;line-height:1.45;'; 1285 inner.appendChild(s); 1286 } 1287 if (s) s.textContent = sub || ''; 1288 } 1289 1290 function cancelOverlayIntent() { overlayWanted = false; } 1291 1292 function hideOverlayAndResetClubUI() { 1293 cancelOverlayIntent(); 1294 var overlay = document.getElementById(OVERLAY_ID); 1295 if (overlay) overlay.remove(); 1296 1297 var widget = document.querySelector(WIDGET_SEL); 1298 if (widget) { 1299 widget.style.opacity = ''; 1300 widget.style.pointerEvents = ''; 1301 widget.style.transition = ''; 1302 } 1303 } 1304 1305 /* Recovery state, shown only after SC has had a fair chance to finish 1306 * (pendingOrderStallMs). The background poll keeps running underneath: 1307 * if the token lands while this is on screen, we still redirect. */ 1308 function showStripeStalledUI(loginPath, opts) { 1309 opts = opts || {}; 1310 var overlay = document.getElementById(OVERLAY_ID); 1311 if (!overlay) { showRedirectOverlay(); overlay = document.getElementById(OVERLAY_ID); } 1312 if (!overlay) return; 1313 1314 var inner = overlay.querySelector('.sc-overlay-inner'); 1315 if (!inner) return; 1316 if (inner.getAttribute('data-state') === 'stalled') return; 1317 inner.setAttribute('data-state', 'stalled'); 1318 1319 var btn = 'display:inline-block;padding:11px 20px;border-radius:9px;' + 1320 'font-weight:600;text-decoration:none;cursor:pointer;border:0;' + 1321 'font-size:15px;line-height:1.2;'; 1322 1323 var email = opts.email || ''; 1324 var emailLine = email 1325 ? '<div style="font-size:14px;opacity:.8;">Use <strong>' + 1326 String(email).replace(/[<>&"]/g, '') + '</strong></div>' 1327 : ''; 1328 1329 inner.innerHTML = 1330 '<div style="font-size:17px;font-weight:700;">Payment received \u2713</div>' + 1331 '<div style="font-size:15px;max-width:340px;line-height:1.45;">' + 1332 'Your subscription is active, but logging you in is taking longer ' + 1333 'than usual. Sign in to go straight to your feed.' + 1334 '</div>' + 1335 emailLine + 1336 '<div style="display:flex;gap:10px;flex-wrap:wrap;justify-content:center;">' + 1337 '<a href="' + loginPath + '" id="sc-stall-login" style="' + btn + 1338 'background:#ea4e47;color:#fff;">Sign in</a>' + 1339 '<button type="button" id="sc-stall-retry" style="' + btn + 1340 'background:#f0f0f0;color:#212121;">Try again</button>' + 1341 '</div>' + 1342 '<div style="font-size:13px;opacity:.65;max-width:320px;line-height:1.4;">' +
1343 'Nothing else to pay \u2014 your welcome email also contains your sign-in link. ' + 1344 'If this page finishes on its own, we\u2019ll take you to your feed automatically.' + 1345 '</div>'; 1346 1347 var retry = document.getElementById('sc-stall-retry'); 1348 if (retry) { 1349 retry.addEventListener('click', function () { 1350 try { window.location.reload(); } catch (e) {} 1351 }); 1352 } 1353 } 1354 1355 /* ========================= 1356 * POST-PURCHASE HOLD (in-page checkout, no Stripe redirect) 1357 * The conversion event can fire before SC has written the token (SC 1358 * still has to poll Stripe and finalise). The redirect is held until 1359 * the token exists â this makes that hold VISIBLE and gives it the same 1360 * generous recovery timeout as the Stripe-return path. 1361 * ========================= */ 1362 var holdStarted = false; 1363 1364 function startPostPurchaseHold(reason) { 1365 if (holdStarted) return; 1366 if (IS_HS_EDITOR || RC_CFG.disableRedirect) return; 1367 if (!isClubPath() && !RC_CFG.forceRedirectAnywhere) return; 1368 if (STRIPE_RETURN) return; // section 7 owns this case 1369 holdStarted = true; 1370 awaitingSession = true; 1371 1372 var started = Date.now(); 1373 log('[NAV] holding on club until SC writes the session', { 1374 reason: reason || '', sc_state: scState() 1375 }); 1376 1377 showRedirectOverlay(); 1378 setOverlayMessage( 1379 'Payment received \u2014 activating your feed\u2026', 1380 'This can take a few seconds. Please keep this page open.' 1381 ); 1382 1383 var nudged = false; 1384 var id = setInterval(function () { 1385 var elapsed = Date.now() - started; 1386 1387 if (sessionSettled()) { 1388 clearInterval(id); 1389 awaitingSession = false; 1390 log('[NAV] session settled during hold', { waited_ms: elapsed, sc_state: scState() }); 1391 redirectToSetupWithOverlay('hold:token-arrived'); 1392 return; 1393 } 1394 1395 if (!nudged && elapsed > 20000) { 1396 nudged = true; 1397 setOverlayMessage( 1398 'Still confirming with your bank\u2026', 1399 'Nearly there \u2014 please don\u2019t close or leave this page.' 1400 ); 1401 } 1402 1403 if (elapsed > RC_CFG.pendingOrderStallMs) { 1404 clearInterval(id); 1405 warn('[NAV] post-purchase hold timed out â offering sign-in', { 1406 waited_ms: elapsed, sc_state: scState() 1407 }); 1408 showStripeStalledUI(LOGIN_TARGET, { email: readCachedEmail() }); 1409 // awaitingSession stays true: the club token watcher still 1410 // redirects if the session lands while the prompt is showing. 1411 } 1412 }, 500); 1413 } 1414 1415 /* ========================= 1416 * REDIRECT 1417 * Mobile-safe: intent is written to sessionStorage FIRST, then we try 1418 * to navigate; resumed on visibilitychange / pageshow / focus / poll. 1419 * ========================= */ 1420 function setPendingRedirect() { 1421 try { sessionStorage.setItem(PENDING_REDIRECT_KEY, '1'); } catch (e) {} 1422 } 1423 1424 function clearPendingRedirect() { 1425 try { sessionStorage.removeItem(PENDING_REDIRECT_KEY); } catch (e) {} 1426 } 1427 1428 function hasPendingRedirect() { 1429 try { return sessionStorage.getItem(PENDING_REDIRECT_KEY) === '1'; } catch (e) { return false; } 1430 } 1431 1432 function redirectToSetupWithOverlay(reason) { 1433 if (IS_HS_EDITOR) { log('[NAV] editor â redirect suppressed'); return; } 1434 if (RC_CFG.disableRedirect) { log('[NAV] redirect disabled'); return; } 1435 1436 // Loop-breaker: /feed-setup is gated, so going there without a session 1437 // guarantees a bounce back. Hold â visibly â until a token exists. 1438 if (!sessionSettled() && !hasPendingAuth()) { 1439 log('[NAV] no settled session yet â holding redirect', { 1440 reason: reason || '', sc_state: scState() 1441 }); 1442 setPendingRedirect(); 1443 startPostPurchaseHold(reason); 1444 return; 1445 } 1446 if (!isLoggedIn()) { 1447 log('[NAV] provisional auth (pending order) â trying setup', reason || ''); 1448 } 1449 1450 if (!isClubPath() && !RC_CFG.forceRedirectAnywhere) { 1451 log('[NAV] not on club, skipping redirect', window.location.pathname); 1452 return; 1453 } 1454 1455 setPendingRedirect(); 1456 markPurchased(); 1457 1458 if (document.visibilityState === 'hidden') { 1459 log('[NAV] page hidden â deferring redirect until visible', reason || ''); 1460 return; 1461 } 1462
1463 try { 1464 if (sessionStorage.getItem(REDIRECT_ONCE_KEY) === '1') return; 1465 sessionStorage.setItem(REDIRECT_ONCE_KEY, '1'); 1466 } catch (e) {} 1467 1468 var widget = document.querySelector(WIDGET_SEL); 1469 if (widget) { 1470 widget.style.transition = 'opacity 0.12s ease'; 1471 widget.style.opacity = '0'; 1472 widget.style.pointerEvents = 'none'; 1473 } 1474 1475 showRedirectOverlay(); 1476 log('[NAV] redirecting to', SETUP_PATH, reason || ''); 1477 1478 /* Backstop retry for mobile, cancelled the moment this document starts 1479 * unloading so we never discard an in-flight /feed-setup load. */ 1480 var navStarted = false; 1481 var cancelNav = function () { navStarted = true; }; 1482 window.addEventListener('pagehide', cancelNav); 1483 window.addEventListener('beforeunload', cancelNav); 1484 1485 var go = function () { 1486 if (navStarted) return; 1487 try { window.location.replace(SETUP_PATH); } catch (e) {} 1488 }; 1489 setTimeout(go, 220); 1490 setTimeout(go, 2500); 1491 } 1492 1493 function resumePendingRedirect(reason) { 1494 if (!hasPendingRedirect()) return; 1495 if (!isClubPath() && !RC_CFG.forceRedirectAnywhere) return; 1496 if (document.visibilityState === 'hidden') return; 1497 if (!sessionSettled() && !hasPendingAuth()) return; 1498 log('[NAV] resuming pending redirect', reason || ''); 1499 redirectToSetupWithOverlay('resume:' + (reason || '')); 1500 } 1501 1502 /* ========================= 1503 * ORDER COMPLETE 1504 * Navigation is not conditional on email capture or HubSpot. 1505 * ========================= */ 1506 async function onOrderComplete(evt) { 1507 log('[SC] order conversion fired', { 1508 type: (evt && evt.type) || '', 1509 path: window.location.pathname, 1510 vis: document.visibilityState, 1511 sc_state: scState(), 1512 hutk_present: !!getHutkSafe() 1513 }); 1514 1515 if (!isClubPath() && !RC_CFG.forceRedirectAnywhere) { 1516 log('[SC] conversion fired off-club, skipping', window.location.pathname); 1517 return; 1518 } 1519 1520 markPurchased(); 1521 setPendingRedirect(); 1522 1523 var failsafe = setTimeout(function () { 1524 redirectToSetupWithOverlay('failsafe'); 1525 }, RC_CFG.redirectHardTimeoutMs); 1526 1527 try { 1528 var email = await waitForEmail(RC_CFG.emailWaitMs); 1529 1530 if (isValidEmail(email)) { 1531 cacheEmail(email, 'order_conversion'); 1532 submitHubSpotQueued(email, 'order'); 1533 } else { 1534 warn('[SC] no email resolved â redirecting anyway', { 1535 email_now: getCheckoutEmailNow(), 1536 email_cached: readCachedEmail() 1537 }); 1538 } 1539 } catch (err) { 1540 warn('[SC] order handler error', err); 1541 } 1542 1543 clearTimeout(failsafe); 1544 redirectToSetupWithOverlay('order-complete'); 1545 } 1546 1547 document.addEventListener('sc_widget_order_conversion', onOrderComplete, true); 1548 window.addEventListener('sc_widget_order_conversion', onOrderComplete, true); 1549 1550 /* ========================= 1551 * LIFECYCLE HOOKS 1552 * ========================= */ 1553 document.addEventListener('visibilitychange', function () { 1554 flushQueue('visibility-' + document.visibilityState); 1555 if (document.visibilityState === 'visible') resumePendingRedirect('visible'); 1556 }); 1557 1558 window.addEventListener('focus', function () { resumePendingRedirect('focus'); }); 1559 1560 window.addEventListener('pagehide', function () { flushQueue('pagehide'); }); 1561 1562 /* pageshow fires on EVERY page load (right after window.load), not just 1563 * on back/forward-cache restores. Only a genuine restore (persisted) 1564 * gets the UI reset â and never while this document is holding a buyer 1565 * on the overlay waiting for SC to write the session. */ 1566 window.addEventListener('pageshow', function (e) { 1567 var restored = !!(e && e.persisted); 1568 1569 if (isSetupPath()) { 1570 clearPendingRedirect(); 1571 try { sessionStorage.removeItem(REDIRECT_ONCE_KEY); } catch (err) {} 1572 } 1573 if (isClubPath()) { 1574 rememberClubPath(); 1575 if (restored && !awaitingSession) { 1576 hideOverlayAndResetClubUI(); 1577 try { sessionStorage.removeItem(REDIRECT_ONCE_KEY); } catch (err) {} 1578 } 1579 resumePendingRedirect('pageshow' + (restored ? ':bfcache' : '')); 1580 } 1581 flushQueue('pageshow'); 1582 }); 1583 1584 (function backstopPoll() { 1585 var started = Date.now(); 1586 var id = setInterval(function () { 1587 if ((Date.now() - started) > RC_CFG.stripeMaxWatchMs) { clearInterval(id); return; } 1588 resumePendingRedirect('poll'); 1589 }, 1500); 1590 })(); 1591 1592 setTimeout(function () { flushQueue('boot-flush'); }, 600); 1593 1594 setTimeout(function () { 1595 var em = readCachedEmail(); 1596 if (isValidEmail(em)) cacheEmail(em, 'boot-refresh'); 1597 }, 800); 1598 1599 /* ========================= 1600 * 0) UTMs + club variant memory 1601 * ========================= */ 1602 persistUtms(readUtmsFromUrl()); 1603 rememberClubPath(); 1604 1605 // A fresh club document can't have redirected yet, so any one-shot flag 1606 // is left over from a previous page. Clear it here, at parse time, before 1607 // any redirect logic runs. 1608 if (isClubPath()) {
1609 try { sessionStorage.removeItem(REDIRECT_ONCE_KEY); } catch (e) {} 1610 } 1611 1612 /* ========================= 1613 * 1) Token from URL: t / sc_t 1614 * ========================= */ 1615 try { 1616 var params = new URLSearchParams(window.location.search || ''); 1617 var token = String(params.get('t') || params.get('sc_t') || '').trim(); 1618 1619 if (token) { 1620 justTokenizedThisPageLoad = true; 1621 urlToken = token; 1622 1623 try { localStorage.setItem('sc_widget_token', token); } catch (e1) {} 1624 try { window.dispatchEvent(new Event('rc_auth_changed')); } catch (eX) {} 1625 1626 params.delete('t'); 1627 params.delete('sc_t'); 1628 1629 var clean = 1630 window.location.pathname + 1631 (params.toString() ? '?' + params.toString() : '') + 1632 (window.location.hash || ''); 1633 1634 window.history.replaceState({}, '', clean); 1635 1636 try { window.dispatchEvent(new Event('sc_token_saved')); } catch (e2) {} 1637 log('[AUTH] token captured and URL cleaned'); 1638 } 1639 } catch (e0) {} 1640 1641 if (isSetupPath()) { 1642 try { sessionStorage.removeItem(REDIRECT_ONCE_KEY); } catch (e) {} 1643 try { sessionStorage.removeItem(PENDING_REDIRECT_KEY); } catch (e) {} 1644 // Journey complete â but keep the purchase flag until the setup-page 1645 // watcher (section 3) has had its window to catch a session that SC 1646 // clears after load. Clearing it here at boot switched that watcher off. 1647 if (isLoggedIn()) { 1648 setTimeout(function () { 1649 if (isLoggedIn()) { 1650 try { sessionStorage.removeItem(PURCHASE_FLAG_KEY); } catch (e) {} 1651 } 1652 }, RC_CFG.setupWatchMs + 1000); 1653 } 1654 } 1655 1656 /* ========================= 1657 * 2) Logout 1658 * ========================= */ 1659 if (!IS_HS_EDITOR && isLogoutPath()) { 1660 try { localStorage.removeItem('sc_widget_token'); } catch (e) {} 1661 try { localStorage.removeItem(EMAIL_LOCAL_KEY); } catch (e) {} 1662 try { sessionStorage.removeItem(EMAIL_SESSION_KEY); } catch (e) {} 1663 try { sessionStorage.removeItem(REDIRECT_ONCE_KEY); } catch (e) {} 1664 try { sessionStorage.removeItem(PURCHASE_FLAG_KEY); } catch (e) {} 1665 1666 expireCookie('hubspotutk'); 1667 expireCookie(EMAIL_COOKIE); 1668 1669 try { window.dispatchEvent(new Event('rc_auth_changed')); } catch (e) {} 1670 try { sessionStorage.setItem(LOGOUT_FLAG_KEY, String(Date.now())); } catch (e) {} 1671 1672 var backTo = clubTarget(); 1673 try { sessionStorage.removeItem(LAST_CLUB_KEY); } catch (e) {} 1674 setTimeout(function () { window.location.replace(backTo); }, 500); 1675 return; 1676 } 1677 1678 /* ========================= 1679 * 3) PROTECTED PAGES GUARD 1680 * Waits when there is something to wait for (recent purchase, or an 1681 * embed on the page); bounces immediately otherwise. 1682 * ========================= */ 1683 (function protectPages() { 1684 if (IS_HS_EDITOR) return; 1685 1686 var isProtected = 1687 isSetupPath() || 1688 isAccountPath() || 1689 pathUnder(P.protectedPrefixes); 1690 1691 if (!isProtected) return; 1692 1693 var purchasedAtLoad = justPurchasedRecently(); 1694 1695 function strandedBuyer(why) { 1696 warn('[AUTH] recent buyer has no session on gated page â ' + 1697 'showing sign-in instead of the Join page', { 1698 why: why, sc_state: scState(), path: window.location.pathname 1699 }); 1700 showStripeStalledUI(LOGIN_TARGET, { email: readCachedEmail() }); 1701 } 1702 1703 if (isLoggedIn()) { 1704 // Arrived with a session. After a purchase, keep watching: if SC 1705 // clears it after load (explanation 2), catch it and say so. 1706 if (isSetupPath() && purchasedAtLoad) { 1707 var tokAtLoad = tokenValue(); 1708 var watchStart = Date.now(); 1709 var loss = setInterval(function () { 1710 var t = tokenValue(); 1711 if (!t) { 1712 clearInterval(loss); 1713 strandedBuyer('token-cleared-after-load'); 1714 return; 1715 } 1716 if (t !== tokAtLoad) { 1717 log('[AUTH] token replaced on setup page', { 1718 ms_after_load: Date.now() - watchStart 1719 }); 1720 tokAtLoad = t; 1721 } 1722 if ((Date.now() - watchStart) > RC_CFG.setupWatchMs) clearInterval(loss); 1723 }, 250); 1724 } 1725 return; 1726 } 1727 1728 if (isSetupPath() && hasPendingAuth()) { 1729 log('[AUTH] provisional auth â holding on setup page'); 1730 var provStart = Date.now(); 1731 var provPoll = setInterval(function () { 1732 if (isLoggedIn()) { 1733 clearInterval(provPoll); 1734 log('[AUTH] setup view resolved the pending order', { 1735 waited_ms: Date.now() - provStart 1736 }); 1737 try { window.dispatchEvent(new Event('rc_auth_changed')); } catch (e) {} 1738 return; 1739 } 1740 if ((Date.now() - provStart) > RC_CFG.pendingOrderStallMs) { 1741 clearInterval(provPoll); 1742 warn('[AUTH] setup view did not resolve the order either â ' + 1743 'offering sign-in', { waited_ms: Date.now() - provStart }); 1744 showStripeStalledUI(LOGIN_TARGET, { email: readCachedEmail() }); 1745 } 1746 }, 400); 1747 return; 1748 } 1749 1750 var purchased = purchasedAtLoad; 1751 var maxWait = purchased ? RC_CFG.tokenGraceMs : RC_CFG.authInitGraceMs; 1752 var started = Date.now(); 1753 var settled = false;
1754 1755 function allow(why) { 1756 if (settled) return; 1757 settled = true; 1758 clearInterval(poll); 1759 log('[AUTH] token present â staying on gated page', why || ''); 1760 try { window.dispatchEvent(new Event('rc_auth_changed')); } catch (e) {} 1761 } 1762 1763 function bounce(why) { 1764 if (settled) return; 1765 settled = true; 1766 clearInterval(poll); 1767 // A buyer who has just paid never goes back to the pricing page. 1768 // Keep polling quietly in case the session still lands. 1769 if (purchased) { 1770 strandedBuyer('no-token:' + (why || '')); 1771 var late = setInterval(function () { 1772 if (isLoggedIn()) { 1773 clearInterval(late); 1774 log('[AUTH] session arrived late on gated page â reloading'); 1775 try { window.location.reload(); } catch (e) {} 1776 } 1777 }, 500); 1778 setTimeout(function () { clearInterval(late); }, RC_CFG.stripeMaxWatchMs); 1779 return; 1780 } 1781 warn('[AUTH] no token on gated page â returning to club', { 1782 why: why || '', waited_ms: Date.now() - started, purchased: purchased, 1783 sc_state: scState() 1784 }); 1785 window.location.replace(clubTarget()); 1786 } 1787 1788 window.addEventListener('sc_token_saved', function () { 1789 if (isLoggedIn()) allow('sc_token_saved'); 1790 }); 1791 window.addEventListener('storage', function (e) { 1792 if (e && e.key === 'sc_widget_token' && e.newValue) allow('storage'); 1793 }); 1794 1795 var poll = setInterval(function () { 1796 if (isLoggedIn()) { allow('poll'); return; } 1797 1798 var elapsed = Date.now() - started; 1799 1800 if (!purchased && document.readyState !== 'loading') { 1801 if (!document.querySelector(WIDGET_SEL)) { bounce('no-embed'); return; } 1802 } 1803 1804 if (elapsed > maxWait) { bounce('timeout'); } 1805 }, 250); 1806 })(); 1807 1808 /* ========================= 1809 * 4) Login page guard 1810 * ========================= */ 1811 if (isLoginPath() && isLoggedIn() && !IS_HS_EDITOR) { 1812 window.location.replace(SETUP_PATH); 1813 return; 1814 } 1815 1816 /* ========================= 1817 * 5) Homepage gating (off by default) 1818 * ========================= */ 1819 if (isHomePath() && !IS_HS_EDITOR) { 1820 if (!justTokenizedThisPageLoad && !isLoggedIn() && RC_CFG.redirectHomeToClub) { 1821 var utmsNow = readUtmsFromUrl(); 1822 if (utmsNow) persistUtms(utmsNow); 1823 1824 var clubBase = clubTarget(); 1825 var clubUrl = clubBase; 1826 var utmStr = window.location.search; 1827 if (utmStr) clubUrl = clubBase + utmStr; 1828 1829 window.location.replace(clubUrl); 1830 return; 1831 } 1832 } 1833 1834 /* ========================= 1835 * 6) /club -> /account for existing members 1836 * ========================= */ 1837 if (isClubPath() && !IS_HS_EDITOR) { 1838 if (isLoggedIn() && justPurchasedRecently() && !pendingOrderId() && !isSetupPath()) { 1839 log('[AUTH] recent purchase + token on club â sending to feed setup'); 1840 window.location.replace(SETUP_PATH); 1841 return; 1842 } 1843 // Token present but SC's order still pending: let the watchers below 1844 // wait for the session to settle rather than jumping now. 1845 1846 if (!RC_CFG.forceNoAccountRedirect) { 1847 if (isLoggedIn() && 1848 !justTokenizedThisPageLoad && 1849 !justLoggedOutRecently() && 1850 !justPurchasedRecently() && 1851 !isStripeSuccessReturn()) { 1852 window.location.replace(ACCOUNT_PATH); 1853 return; 1854 } 1855 } else { 1856 log('[AUTH] forceNoAccountRedirect ON (staying on club)'); 1857 } 1858 } 1859 1860 /* ========================= 1861 * 7) STRIPE REDIRECT-FLOW RETURN (club pages only) 1862 * Hold the overlay while SC polls Stripe, finalises the order and 1863 * writes the token â then go to feed setup. The embed must stay on 1864 * this page for that to happen, so sign-in is only offered once SC 1865 * has had a fair chance (pendingOrderStallMs). 1866 * ========================= */ 1867 (function handleStripeRedirectReturn() { 1868 if (IS_HS_EDITOR) return; 1869 if (!STRIPE_RETURN) return; 1870 if (!isClubPath()) return; 1871 1872 log('[STRIPE] returned from redirect flow', STRIPE_RETURN); 1873 1874 if (STRIPE_RETURN.status !== 'succeeded') { 1875 warn('[STRIPE] non-success status, staying on club', STRIPE_RETURN.status); 1876 return; 1877 } 1878 1879 markPurchased(); 1880 setPendingRedirect(); 1881 awaitingSession = true; 1882 showRedirectOverlay(); 1883 1884 if (sessionSettled()) { 1885 log('[STRIPE] session already present â going straight to setup'); 1886 awaitingSession = false;
1887 stripStripeParams(); 1888 redirectToSetupWithOverlay('stripe-return:token-present'); 1889 return; 1890 } 1891 1892 var started = Date.now(); 1893 var lastReinit = 0; 1894 var stalledShown = false; 1895 var msgStage = 0; 1896 1897 function elapsedMs() { return Date.now() - started; } 1898 1899 var lastState = scState(); 1900 log('[STRIPE] initial SC state', lastState); 1901 function watchState() { 1902 var s = scState(); 1903 if (s === lastState) return; 1904 log('[STRIPE] SC state changed', { from: lastState, to: s, waited_ms: elapsedMs() }); 1905 if (lastState === 'order-pending' && s === 'none') { 1906 warn('[STRIPE] pending order cleared WITHOUT a session â SC ' + 1907 'finalised but did not authenticate this browser'); 1908 } 1909 lastState = s; 1910 } 1911 1912 function nudgeEmbed(elapsed) { 1913 // ScWidget.init() is NOT re-entrant (see stripeReinitEnabled). 1914 if (!RC_CFG.stripeReinitEnabled) return; 1915 if (elapsed < RC_CFG.stripeReinitAtMs) return; 1916 if (lastReinit && (elapsed - lastReinit) < RC_CFG.stripeReinitEveryMs) return; 1917 lastReinit = elapsed; 1918 try { 1919 if (window.ScWidget && typeof window.ScWidget.init === 'function') { 1920 log('[STRIPE] re-initialising SC embed', { waited_ms: elapsed }); 1921 window.ScWidget.init(); 1922 } 1923 } catch (e) { warn('[STRIPE] re-init failed', e); } 1924 } 1925 1926 var poll = setInterval(function () { 1927 var elapsed = elapsedMs(); 1928 watchState(); 1929 1930 if (sessionSettled()) { 1931 clearInterval(poll); 1932 awaitingSession = false; 1933 log('[STRIPE] session settled â redirecting to setup', { 1934 waited_ms: elapsed, sc_state: scState() 1935 }); 1936 stripStripeParams(); 1937 redirectToSetupWithOverlay('stripe-return:token-arrived'); 1938 return; 1939 } 1940 1941 nudgeEmbed(elapsed); 1942 1943 if (msgStage < 1 && elapsed > 6000) { 1944 msgStage = 1; 1945 setOverlayMessage( 1946 'Payment received \u2014 activating your feed\u2026', 1947 'This can take a few seconds. Please keep this page open.' 1948 ); 1949 } 1950 if (msgStage < 2 && elapsed > 20000) { 1951 msgStage = 2; 1952 setOverlayMessage( 1953 'Still confirming with your bank\u2026', 1954 'Nearly there \u2014 please don\u2019t close or leave this page.' 1955 ); 1956 } 1957 1958 // Experimental provisional route (off by default). 1959 if (!stalledShown && pendingOrderId() && 1960 elapsed > RC_CFG.pendingOrderStallMs && hasPendingAuth()) { 1961 clearInterval(poll); 1962 log('[STRIPE] pending order unresolved here â trying setup page', { 1963 waited_ms: elapsed 1964 }); 1965 stripStripeParams(); 1966 redirectToSetupWithOverlay('stripe-return:provisional'); 1967 return; 1968 } 1969 1970 // SC has had its chance and the order is still pending: offer 1971 // sign-in, but keep polling â a session may still land. 1972 if (!stalledShown && pendingOrderId() && elapsed > RC_CFG.pendingOrderStallMs) { 1973 stalledShown = true; 1974 warn('[STRIPE] pending order unresolved â offering sign-in', { 1975 waited_ms: elapsed 1976 }); 1977 stripStripeParams(); 1978 showStripeStalledUI(LOGIN_TARGET, { email: readCachedEmail() }); 1979 return; 1980 } 1981 1982 if (!stalledShown && elapsed > RC_CFG.stripeReturnWatchMs) { 1983 stalledShown = true; 1984 warn('[STRIPE] slow finalisation â showing recovery UI', { 1985 waited_ms: elapsed, sc_state: scState() 1986 }); 1987 stripStripeParams(); 1988 showStripeStalledUI(LOGIN_TARGET, { email: readCachedEmail() }); 1989 } 1990 1991 if (elapsed > RC_CFG.stripeMaxWatchMs) { 1992 clearInterval(poll); 1993 awaitingSession = false; 1994 clearPendingRedirect(); 1995 warn('[STRIPE] gave up waiting for session', { waited_ms: elapsed }); 1996 if (!stalledShown) { 1997 stripStripeParams(); 1998 showStripeStalledUI(LOGIN_TARGET, { email: readCachedEmail() }); 1999 } 2000 } 2001 }, 400); 2002 2003 document.addEventListener('sc_widget_ready', function () { 2004 log('[STRIPE] sc_widget_ready seen on return', { sc_state: scState() }); 2005 nudgeEmbed(Math.max(RC_CFG.stripeReinitAtMs, elapsedMs())); 2006 }, true); 2007 })(); 2008 2009 /* ========================= 2010 * 8) TOKEN-ARRIVAL WATCHER (club pages only) 2011 * Event-independent safety net: a token appearing while the visitor is 2012 * on a club page means they just authenticated here -> feed setup. 2013 * ========================= */ 2014 (function watchForTokenOnClub() { 2015 if (IS_HS_EDITOR) return; 2016 if (!RC_CFG.redirectOnTokenArrival) return; 2017 if (!isClubPath()) return; 2018 2019 if (justTokenizedThisPageLoad) { 2020 log('[AUTH] tokenised on club â treating as post-checkout return'); 2021 redirectToSetupWithOverlay('token-in-url'); 2022 return; 2023 } 2024 2025 var hadTokenAtLoad = isLoggedIn(); 2026 // Existing members are handled by block 6. A recent buyer who already
2027 // has a (possibly unsettled) token keeps watching until it settles. 2028 if (hadTokenAtLoad && !justPurchasedRecently()) return; 2029 2030 var watcher = setInterval(function () { 2031 if (!sessionSettled()) return; 2032 clearInterval(watcher); 2033 awaitingSession = false; 2034 log('[AUTH] session settled while on club â redirecting to setup', { 2035 sc_state: scState() 2036 }); 2037 try { window.dispatchEvent(new Event('rc_auth_changed')); } catch (e) {} 2038 redirectToSetupWithOverlay('token-arrival'); 2039 }, RC_CFG.tokenWatchMs); 2040 2041 // Token written by another tab: the poll above picks it up once it 2042 // has settled, so just note it here. 2043 window.addEventListener('storage', function (e) { 2044 if (e && e.key === 'sc_widget_token') { 2045 log('[AUTH] token changed in another tab', { present: !!e.newValue }); 2046 } 2047 }); 2048 })(); 2049 2050 /* ========================= 2051 * 8b) TOKEN-ARRIVAL WATCHER (sign-in page, recent buyers only) 2052 * If a buyer used the recovery "Sign in" link and SC's embed here 2053 * finishes the pending order, send them on to feed setup rather than 2054 * leaving them on the sign-in form. 2055 * ========================= */ 2056 (function watchForTokenOnLogin() { 2057 if (IS_HS_EDITOR) return; 2058 if (!isLoginPath()) return; 2059 if (isLoggedIn()) return; // section 4 already handled it 2060 if (!justPurchasedRecently()) return; 2061 2062 var started = Date.now(); 2063 log('[AUTH] recent buyer on sign-in page â watching for session', { 2064 sc_state: scState() 2065 }); 2066 2067 var id = setInterval(function () { 2068 if (sessionSettled()) { 2069 clearInterval(id); 2070 log('[AUTH] session settled on sign-in page â sending to feed setup', { 2071 waited_ms: Date.now() - started 2072 }); 2073 try { window.dispatchEvent(new Event('rc_auth_changed')); } catch (e) {} 2074 window.location.replace(SETUP_PATH); 2075 return; 2076 } 2077 if ((Date.now() - started) > RC_CFG.stripeMaxWatchMs) clearInterval(id); 2078 }, RC_CFG.tokenWatchMs); 2079 })(); 2080 2081 /* ========================= 2082 * 9) ON-SCREEN DIAGNOSTICS (?rc_diag=1 / ?rc_diag=0) 2083 * Sticky for the browser session so it survives the checkout journey. 2084 * Shows only this browser's own trace; nothing is sent anywhere. 2085 * ========================= */ 2086 (function diagPanel() { 2087 var FLAG = 'rc_diag_on'; 2088 try { 2089 var q = new URLSearchParams(window.location.search || '').get('rc_diag'); 2090 if (q === '1') sessionStorage.setItem(FLAG, '1'); 2091 if (q === '0') sessionStorage.removeItem(FLAG); 2092 if (sessionStorage.getItem(FLAG) !== '1') return; 2093 } catch (e) { return; } 2094 2095 function snapshotText() { 2096 var t = tokenValue(); 2097 return [ 2098 'path: ' + window.location.pathname, 2099 'brand: ' + BRAND, 2100 'sc_state: ' + scState(), 2101 'token: ' + (t ? 'present(' + t.length + ')' : 'none'), 2102 'pending_order: ' + (pendingOrderId() ? 'yes' : 'no'), 2103 'purchased_flag: ' + justPurchasedRecently(), 2104 'pending_redirect: ' + hasPendingRedirect(), 2105 'ua: ' + (navigator.userAgent || '').slice(0, 140) 2106 ].join('\n'); 2107 } 2108 2109 function fullText() { 2110 var rows = traceRead().map(function (r) { 2111 return r.t + ' [' + r.lvl + '] ' + r.p + ' :: ' + r.msg; 2112 }); 2113 return '--- NOW ---\n' + snapshotText() + '\n--- TRACE ---\n' + rows.join('\n'); 2114 } 2115 2116 function build() { 2117 if (document.getElementById('rc-diag-btn')) return; 2118 2119 var bs = 'position:fixed;left:10px;bottom:10px;z-index:100001;' + 2120 'background:#212121;color:#fff;border:0;border-radius:18px;' + 2121 'padding:8px 14px;font:600 13px/1 system-ui,sans-serif;opacity:.85;'; 2122 var btn = document.createElement('button'); 2123 btn.id = 'rc-diag-btn'; 2124 btn.type = 'button'; 2125 btn.textContent = 'RC log'; 2126 btn.style.cssText = bs; 2127 2128 var panel = document.createElement('div'); 2129 panel.style.cssText = 'position:fixed;inset:0;z-index:100002;display:none;' + 2130 'background:rgba(0,0,0,.55);padding:16px;box-sizing:border-box;' + 2131 'padding-top:max(16px, env(safe-area-inset-top));'; 2132 panel.innerHTML = 2133 '<div style="background:#fff;border-radius:12px;height:100%;display:flex;' + 2134 'flex-direction:column;overflow:hidden;font:13px/1.4 system-ui,sans-serif;">' + 2135 '<div style="display:flex;gap:8px;padding:10px;border-bottom:1px solid #eee;">' + 2136 '<button type="button" data-a="copy" style="flex:1;padding:10px;border:0;' + 2137 'border-radius:8px;background:#ea4e47;color:#fff;font-weight:600;">Copy</button>' + 2138 '<button type="button" data-a="clear" style="padding:10px;border:0;' + 2139 'border-radius:8px;background:#f0f0f0;">Clear</button>' + 2140 '<button type="button" data-a="close" style="padding:10px;border:0;' + 2141 'border-radius:8px;background:#f0f0f0;">Close</button></div>' + 2142 '<textarea readonly style="flex:1;border:0;padding:10px;' + 2143 'font:11px/1.35 ui-monospace,Menlo,monospace;resize:none;"></textarea></div>'; 2144 2145 var ta = panel.querySelector('textarea'); 2146 2147 btn.addEventListener('click', function () { 2148 ta.value = fullText(); 2149 panel.style.display = 'block'; 2150 ta.scrollTop = ta.scrollHeight; 2151 }); 2152 2153 panel.addEventListener('click', function (e) { 2154 var a = e.target && e.target.getAttribute && e.target.getAttribute('data-a'); 2155 if (a === 'close') panel.style.display = 'none'; 2156 if (a === 'clear') { window.RC_DIAG('clear'); ta.value = fullText(); } 2157 if (a === 'copy') { 2158 var done = function () { e.target.textContent = 'Copied \u2713'; }; 2159 try { 2160 if (navigator.clipboard && navigator.clipboard.writeText) { 2161 navigator.clipboard.writeText(ta.value).then(done, function () { 2162 ta.focus(); ta.select(); document.execCommand('copy'); done(); 2163 }); 2164 } else { 2165 ta.focus(); ta.select(); document.execCommand('copy'); done(); 2166 } 2167 } catch (err) {} 2168 } 2169 }); 2170 2171 document.body.appendChild(btn); 2172 document.body.appendChild(panel); 2173 } 2174 2175 if (document.body) build(); 2176 else document.addEventListener('DOMContentLoaded', build, { once: true }); 2177 })(); 2178 2179 dump('boot-end', { 2180 brand: BRAND, 2181 cfg: RC_CFG, 2182 paths: P, 2183 path: window.location.pathname, 2184 clubMatch: CLUB_RE.source, 2185 isClub: isClubPath(), 2186 clubTarget: clubTarget(), 2187 isSetup: isSetupPath(), 2188 isLoggedIn: isLoggedIn(), 2189 sc_state: scState(), 2190 justPurchased: justPurchasedRecently(),
2191 stripeReturn: STRIPE_RETURN, 2192 pendingRedirect: hasPendingRedirect(), 2193 visibility: document.visibilityState, 2194 ua_mobile: /Mobi|Android|iPhone|iPad/i.test(navigator.userAgent || ''), 2195 hutk_present: !!getHutkSafe(), 2196 email_cached: readCachedEmail(), 2197 queue_len: getQueue().length 2198 }); 2199 2200 (function bootSnapshot() { 2201 function tokenState() { 2202 try { 2203 var t = localStorage.getItem('sc_widget_token'); 2204 if (!t) return 'none'; 2205 return 'present(' + String(t).length + ' chars)'; 2206 } catch (e) { return 'unreadable'; } 2207 } 2208 var ready = function () { 2209 log('[SNAPSHOT]', { 2210 path: window.location.pathname, 2211 stripe: STRIPE_RETURN ? STRIPE_RETURN.status : 'no', 2212 token: tokenState(), 2213 sc_state: scState(), 2214 provisional_auth: hasPendingAuth(), 2215 pending_order: pendingOrderId() ? 'yes' : 'no', 2216 awaiting_session: awaitingSession, 2217 sc_t_param: !!new URLSearchParams(window.location.search || '').get('sc_t'), 2218 embed_on_page: !!document.querySelector(WIDGET_SEL), 2219 ScWidget_api: !!(window.ScWidget && typeof window.ScWidget.init === 'function'), 2220 purchased_flag: justPurchasedRecently(), 2221 pending_redirect: hasPendingRedirect(), 2222 referrer: (document.referrer || '').slice(0, 120) 2223 }); 2224 }; 2225 if (document.readyState === 'loading') { 2226 document.addEventListener('DOMContentLoaded', ready); 2227 } else { ready(); } 2228 window.addEventListener('load', function () { setTimeout(ready, 3000); }); 2229 })(); 2230 })(); 2231</script>
2231 2232
2233<script> 2234 /* ============================================================ 2235 Header UI sync â THE REST IS HISTORY adapter. 2236 2237 TRIH's theme renders both the club button and the auth button 2238 server-side with js- hooks, so this only relabels and rewires 2239 them. No cloning, no injected markup. 2240 2241 - appears ONCE (it was previously pasted twice on the live 2242 site, so every listener bound twice) 2243 - selectors and paths come from window.RC_SITE 2244 - skipped inside the HubSpot editor so the header stays 2245 editable 2246 ============================================================ */ 2247 (function () { 2248 var SITE = window.RC_SITE || {}; 2249 var PP = SITE.paths || {}; 2250 var H = SITE.header || {}; 2251 2252 var TOKEN_KEY = 'sc_widget_token'; 2253 2254 var CLUB_PATH = (PP.club && PP.club[0]) || '/club'; 2255 var LOGIN_PATH = (PP.login && PP.login[0]) || '/login'; 2256 var LOGOUT_PATH = (PP.logout && PP.logout[0]) || '/logout'; 2257 2258 var CLUB_DROPDOWN_WRAPPER_SEL = H.clubWrapper || '.btn-drop-wrapper'; 2259 var CLUB_BUTTON_SEL = H.clubButton || '.js-join-account-button'; 2260 var AUTH_BUTTON_SEL = H.authButton || '.js-auth-button'; 2261 var AUTH_LABEL_SEL = H.authLabel || '.js-auth-label'; 2262 var MENU_ITEM_SEL = H.hideWhenLoggedIn || ''; 2263 2264 function isLoggedIn() { 2265 try { return !!localStorage.getItem(TOKEN_KEY); } catch (e) { return false; } 2266 } 2267 2268 function isHubSpotEditor() { 2269 try { 2270 if (window.RC_CFG && window.RC_CFG.assumeEditor === true) return true; 2271 if (window.hsInEditor === true) return true; 2272 if (window.hsVars && (window.hsVars.is_in_editor === true || window.hsVars.editor === true)) return true; 2273 var host = (window.location.hostname || '').toLowerCase(); 2274 var search = (window.location.search || '').toLowerCase(); 2275 if (host.indexOf('hubspotpreview') !== -1) return true; 2276 if (host.indexOf('hubspotpagebuilder') !== -1) return true; 2277 if (search.indexOf('hs_preview') !== -1) return true; 2278 if (search.indexOf('content-preview') !== -1) return true; 2279 if (search.indexOf('hspreviewkey') !== -1) return true; 2280 if (window.self !== window.top) { 2281 var ref = ''; 2282 try { ref = (document.referrer || '').toLowerCase(); } catch (e) { ref = ''; } 2283 if (ref.indexOf('.hubspot.com') !== -1 || 2284 ref.indexOf('hubspotpreview') !== -1 || 2285 ref.indexOf('hubspotpagebuilder') !== -1) { 2286 return true; 2287 } 2288 } 2289 } catch (e) {} 2290 return false; 2291 } 2292 2293 function preventNav(e) { e.preventDefault(); } 2294 2295 function bindOnce(el, key, handler) { 2296 if (!el) return; 2297 var flag = '__rc_bound_' + key; 2298 if (el[flag]) return; 2299 el.addEventListener('click', handler); 2300 el[flag] = true; 2301 } 2302 2303 function unbindIfBound(el, key, handler) { 2304 if (!el) return; 2305 var flag = '__rc_bound_' + key; 2306 if (!el[flag]) return; 2307 el.removeEventListener('click', handler); 2308 el[flag] = false; 2309 } 2310 2311 function updateHeaderUI() { 2312 var loggedIn = isLoggedIn(); 2313 2314 var clubWrapper = document.querySelector(CLUB_DROPDOWN_WRAPPER_SEL); 2315 var clubBtn = clubWrapper ? clubWrapper.querySelector(CLUB_BUTTON_SEL) : null; 2316 2317 if (clubWrapper && clubBtn) { 2318 if (loggedIn) { 2319 clubWrapper.classList.add('is-logged-in'); 2320 bindOnce(clubBtn, 'club_prevent_nav', preventNav); 2321 clubBtn.setAttribute('aria-haspopup', 'true'); 2322 clubBtn.setAttribute('aria-expanded', 'false'); 2323 } else { 2324 clubWrapper.classList.remove('is-logged-in'); 2325 unbindIfBound(clubBtn, 'club_prevent_nav', preventNav); 2326 clubBtn.removeAttribute('aria-haspopup'); 2327 clubBtn.removeAttribute('aria-expanded'); 2328 clubBtn.href = CLUB_PATH; 2329 } 2330 } 2331 2332 var authBtn = document.querySelector(AUTH_BUTTON_SEL); 2333 var authLabel = authBtn ? authBtn.querySelector(AUTH_LABEL_SEL) : null; 2334 2335 if (authBtn && authLabel) { 2336 if (loggedIn) { 2337 authLabel.textContent = 'Logout'; 2338 authBtn.href = LOGOUT_PATH; 2339 } else { 2340 authLabel.textContent = 'Member Login'; 2341 authBtn.href = LOGIN_PATH; 2342 } 2343 } 2344 2345 if (MENU_ITEM_SEL) { 2346 var menuItem = document.querySelector(MENU_ITEM_SEL); 2347 if (menuItem) menuItem.style.display = loggedIn ? 'none' : ''; 2348 } 2349 } 2350 2351 function boot() { 2352 if (isHubSpotEditor()) return; 2353 2354 updateHeaderUI(); 2355 2356 window.addEventListener('sc_token_saved', updateHeaderUI); 2357 window.addEventListener('rc_auth_changed', updateHeaderUI); 2358 window.addEventListener('rc_email_saved', updateHeaderUI); 2359 2360 window.addEventListener('storage', function (e) { 2361 if (e && e.key === TOKEN_KEY) updateHeaderUI(); 2362 }); 2363 2364 window.addEventListener('pageshow', updateHeaderUI); 2365 2366 document.addEventListener('visibilitychange', function () { 2367 if (document.visibilityState === 'visible') updateHeaderUI(); 2368 }); 2369 } 2370 2371 if (document.readyState === 'loading') { 2372 document.addEventListener('DOMContentLoaded', boot); 2373 } else { 2374 boot(); 2375 } 2376 })(); 2377</script>
2377 2378 2379 <meta name="generator" content="HubSpot"></head> 2380 <body> 2381 <div class="body-wrapper hs-content-id-269059603677 hs-site-page page "> 2382 2383 <div data-global-resource-path="TRIH_Aug2025/templates/partials/header.html"><div id="hs_cos_wrapper_module_17560097081082" class="hs_cos_wrapper hs_cos_wrapper_widget hs_cos_wrapper_type_module" style="" data-hs-cos-general-type="widget" data-hs-cos-type="module"><header class="py-7 md:py-6 floating-header relative border-b border-black z-50 top-0 left-0 w-full bg-off_white_bg"> 2384 <div class="holder"> 2385 <div class="flex items-center"> 2386 2387 2388 2389 <div class=" site-logo-wrapper w-full max-w-[15.625rem] md:max-w-[21.8125rem]"> 2390 <div class="siteLogo" title="The Rest Is History"> 2391 2392 2393 <a class="block" href="https://therestishistory.com/"> 2394 2395 2396 2397 2398 <img src="https://therestishistory.com/hs-fs/hubfs/TRIH%20BANNER-1.png?width=349&height=52&name=TRIH%20BANNER-1.png" alt="The Rest Is History" loading="lazy" width="349" height="52" srcset="https://therestishistory.com/hs-fs/hubfs/TRIH%20BANNER-1.png?width=175&height=26&name=TRIH%20BANNER-1.png 175w, https://therestishistory.com/hs-fs/hubfs/TRIH%20BANNER-1.png?width=349&height=52&name=TRIH%20BANNER-1.png 349w, https://therestishistory.com/hs-fs/hubfs/TRIH%20BANNER-1.png?width=524&height=78&name=TRIH%20BANNER-1.png 524w, https://therestishistory.com/hs-fs/hubfs/TRIH%20BANNER-1.png?width=698&height=104&name=TRIH%20BANNER-1.png 698w, https://therestishistory.com/hs-fs/hubfs/TRIH%20BANNER-1.png?width=873&height=130&name=TRIH%20BANNER-1.png 873w, https://therestishistory.com/hs-fs/hubfs/TRIH%20BANNER-1.png?width=1047&height=156&name=TRIH%20BANNER-1.png 1047w" sizes="(max-width: 349px) 100vw, 349px"> 2399 2400 </a> 2401 </div> 2402 </div> 2403 <!-- header logo --> 2404 <div class="menu--wrapper w-full lg:flex flex-wrap items-center space-x-0 lg:space-x-6 min-[1440px]:space-x-6 opacity-0 lg:opacity-100" mobile-view="false"> 2405 <nav class="block mx-auto"> 2406 <ul id="menu-top-primary-menu" class="main--menu border-t lg:border-0 border-black text-center pt-11 lg:pt-0 lg:flex lg:items-center lg:gap-4 min-[1440px]:gap-6 space-y-5 lg:space-y-0 [&>li>a]:text-black [&>li>a]:text-2xl md:[&>li>a]:text-base min-[1024px]:max-[1279px]:[&>li>a]:text-sm [&>li>a]:font-queensCondensedTrial [&>li>a]:font-bold [&>li>a]:leading-[125%] [&>li>a]:tracking-[0.01rem] [&>li>a]:relative"> 2407 2408 <li id="menu-item-421" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-421 "> 2409 2410 2411 <a aria-current="page" href="https://therestishistory.com/main"> 2412 Home 2413 </a> 2414 </li> 2415 2416 <li id="menu-item-421" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-421 "> 2417 2418 2419 <a href="https://therestishistory.com/episodes"> 2420 Episodes 2421 </a> 2422 </li> 2423 2424 <li id="menu-item-421" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-421 "> 2425 2426 2427 <a href="https://therestishistory.com/newsletter"> 2428 Newsletter 2429 </a> 2430 </li> 2431 2432 <li id="menu-item-421" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-421 "> 2433 2434 2435 <a href="https://therestishistory.com/books"> 2436 Books 2437 </a> 2438 </li> 2439 2440 <li id="menu-item-421" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-421 "> 2441 2442 2443 <a href="https://therestishistory.com/events"> 2444 Events 2445 </a> 2446 </li> 2447 2448 <li id="menu-item-421" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-421 "> 2449 2450 2451 <a href="https://therestishistory.com/merch"> 2452 Merch 2453 </a> 2454 </li> 2455 2456 <li id="menu-item-421" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-421 "> 2457 2458 2459 <a href="https://therestishistory.supportingcast.fm/gifts" target="_blank" rel="noopener"> 2460 Gifts 2461 </a> 2462 </li> 2463 2464 <li id="menu-item-421" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-421 "> 2465 2466 2467 <a href="https://therestishistory.com/faqs"> 2468 FAQs 2469 </a> 2470 </li> 2471 2472 </ul> 2473 </nav> 2474 <!-- main menu --> 2475 <div class="ml-0 lg:ml-auto flex-col items-center lg:flex-row lg:flex-wrap lg:justify-center gap-5 lg:gap-0 lg:space-x-4 flex lg:mt-0 mt-5 md:px-0 px-10"> 2476 <div class="btn-drop-wrapper"> 2477 <a class="button !w-auto group js-join-account-button" href="/club">
2478 <span class="js-join-account-label not-log">Join our club</span> 2479 <span class="js-join-account-label yes-log">Members' club</span> 2480 <svg xmlns="http://www.w3.org/2000/svg" width="18" height="13" viewbox="0 0 18 13" fill="none"> 2481 <path d="M18 6.53171C17.6111 6.71952 17.2436 6.87964 16.8936 7.06866C15.5213 7.81027 14.5279 8.90342 13.7502 10.1988C13.4027 10.7779 13.0515 11.357 12.6664 11.9132C12.2863 12.4634 11.7043 12.6295 11.1511 12.3996C10.5465 12.1492 10.2768 11.5063 10.5176 10.8694C10.7447 10.2699 11.1762 9.80876 11.6579 9.39221C13.0126 8.2208 14.6094 7.44428 16.3104 6.81222C15.791 6.81222 15.2905 6.79898 14.7913 6.81463C13.5645 6.85315 12.3315 6.84473 11.1135 6.96993C10.0096 7.0831 5.57664 7.39612 3.94971 7.5442C3.6311 7.57309 3.29744 7.61162 2.88475 7.67302C2.43066 7.73923 1.74577 7.83675 1.3105 7.791C0.249297 7.68024 -0.333989 6.681 0.202885 5.84789C0.540313 5.32419 1.09851 5.15082 1.68807 5.19537C2.36794 5.24593 3.04781 5.36512 3.71389 5.512C5.13761 5.82501 10.2918 6.01764 11.7482 6.08024C13.1405 6.13923 14.5354 6.17174 15.929 6.21508C16.0118 6.21749 16.0933 6.21508 16.1862 6.17294C15.722 5.97189 15.2542 5.77806 14.7951 5.56738C13.4729 4.9594 12.2161 4.2527 11.2314 3.18844C10.9341 2.8682 10.6832 2.48175 10.5151 2.08446C10.278 1.52464 10.5151 0.953982 11.0031 0.675878C11.5136 0.383327 12.0994 0.444727 12.5134 0.943146C12.911 1.4223 13.2409 1.96166 13.5532 2.4986C14.4865 4.10462 15.6894 5.44337 17.4656 6.23194C17.6162 6.29936 17.7679 6.36316 17.9172 6.43299C17.941 6.44382 17.9548 6.47633 18 6.53171Z" fill="#8B2121" /> 2482 </svg> 2483 </a> 2484 <div class="drop-wrapper"> 2485 <ul> 2486 <li> 2487 <a href="/feed-setup">Feed Setup</a> 2488 </li> 2489 <li> 2490 <a href="https://discord.gg/WgYTJQm3z9" target="_blank">Discord</a> 2491 </li> 2492 <li> 2493 <a href="/account">Account</a> 2494 </li> 2495 <li> 2496 <a href="/miniseries">Miniseries</a> 2497 </li> 2498 <li> 2499 <a href="https://therestishistoryfestival.seetickets.com/event/the-rest-is-history-festival/hampton-court-palace/3612491">Festival</a> 2500 </li> 2501 <li> 2502 <a href="https://the-rest-is-history-christmas-shop.teemill.com/" target="_blank">Members' Merch</a> 2503 </li> 2504 <li> 2505 <a href="https://therestishistory.supportingcast.fm/gifts">Gifts</a> 2506 </li> 2507 </ul> 2508 </div> 2509 </div> 2510 2511 <a class="button !w-auto group js-auth-button" href="/login"> 2512 <span class="js-auth-label">Member Login</span><svg xmlns="http://www.w3.org/2000/svg" width="18" height="13" viewbox="0 0 18 13" fill="none"> 2513 <path d="M18 6.53171C17.6111 6.71952 17.2436 6.87964 16.8936 7.06866C15.5213 7.81027 14.5279 8.90342 13.7502 10.1988C13.4027 10.7779 13.0515 11.357 12.6664 11.9132C12.2863 12.4634 11.7043 12.6295 11.1511 12.3996C10.5465 12.1492 10.2768 11.5063 10.5176 10.8694C10.7447 10.2699 11.1762 9.80876 11.6579 9.39221C13.0126 8.2208 14.6094 7.44428 16.3104 6.81222C15.791 6.81222 15.2905 6.79898 14.7913 6.81463C13.5645 6.85315 12.3315 6.84473 11.1135 6.96993C10.0096 7.0831 5.57664 7.39612 3.94971 7.5442C3.6311 7.57309 3.29744 7.61162 2.88475 7.67302C2.43066 7.73923 1.74577 7.83675 1.3105 7.791C0.249297 7.68024 -0.333989 6.681 0.202885 5.84789C0.540313 5.32419 1.09851 5.15082 1.68807 5.19537C2.36794 5.24593 3.04781 5.36512 3.71389 5.512C5.13761 5.82501 10.2918 6.01764 11.7482 6.08024C13.1405 6.13923 14.5354 6.17174 15.929 6.21508C16.0118 6.21749 16.0933 6.21508 16.1862 6.17294C15.722 5.97189 15.2542 5.77806 14.7951 5.56738C13.4729 4.9594 12.2161 4.2527 11.2314 3.18844C10.9341 2.8682 10.6832 2.48175 10.5151 2.08446C10.278 1.52464 10.5151 0.953982 11.0031 0.675878C11.5136 0.383327 12.0994 0.444727 12.5134 0.943146C12.911 1.4223 13.2409 1.96166 13.5532 2.4986C14.4865 4.10462 15.6894 5.44337 17.4656 6.23
2513194C17.6162 6.29936 17.7679 6.36316 17.9172 6.43299C17.941 6.44382 17.9548 6.47633 18 6.53171Z" fill="#8B2121" /> 2514 </svg> 2515 </a> 2516 </div> 2517 <!-- auth links --> 2518 </div> 2519 <div class="lg:hidden absolute top-7 right-6"> 2520 <button class="toggleNav block w-7 bg-transparent space-y-1.5" aria-expanded="false"> 2521 <i class="block w-full h-0.5 relative bg-black"> 2522 <svg width="24" height="4" viewbox="0 0 24 4" fill="none" xmlns="http://www.w3.org/2000/svg"> 2523 <g id="Icons"> 2524 <path id="Minus" d="M23.9941 1.99953C24.0205 2.26456 23.9549 2.54436 23.7803 2.80742C23.4141 3.35816 22.8098 3.53944 22.1716 3.49313C21.435 3.43993 20.6984 3.31481 19.9766 3.16111C18.6188 2.87244 14.1324 2.67934 11.9999 2.59362C9.86733 2.67934 5.37996 2.87244 4.02317 3.16111C3.30032 3.31481 2.56478 3.43993 1.82711 3.49313C1.18999 3.53944 0.584621 3.35816 0.219493 2.80742C0.0438085 2.54436 -0.0207503 2.26554 0.00570827 2.00052C-0.0207503 1.73549 0.0438085 1.45569 0.219493 1.19264C0.584621 0.641899 1.18999 0.460618 1.82711 0.506923C2.56478 0.560125 3.30032 0.685249 4.02317 0.838943C5.37996 1.12761 9.86733 1.31973 11.9999 1.40643C14.1324 1.31973 18.6188 1.12761 19.9766 0.838943C20.6984 0.685249 21.435 0.560125 22.1716 0.506923C22.8098 0.460618 23.4141 0.641899 23.7803 1.19264C23.9549 1.45569 24.0205 1.73451 23.9941 1.99953Z" class=" fill-none" /> 2525 </g> 2526 </svg> 2527 </i> 2528 <i class="block w-full h-0.5 relative bg-black"></i> 2529 <i class="block w-full h-0.5 relative bg-black"> 2530 <svg width="24" height="4" viewbox="0 0 24 4" fill="none" xmlns="http://www.w3.org/2000/svg"> 2531 <g id="Icons"> 2532 <path id="Minus" d="M23.9941 1.99953C24.0205 2.26456 23.9549 2.54436 23.7803 2.80742C23.4141 3.35816 22.8098 3.53944 22.1716 3.49313C21.435 3.43993 20.6984 3.31481 19.9766 3.16111C18.6188 2.87244 14.1324 2.67934 11.9999 2.59362C9.86733 2.67934 5.37996 2.87244 4.02317 3.16111C3.30032 3.31481 2.56478 3.43993 1.82711 3.49313C1.18999 3.53944 0.584621 3.35816 0.219493 2.80742C0.0438085 2.54436 -0.0207503 2.26554 0.00570827 2.00052C-0.0207503 1.73549 0.0438085 1.45569 0.219493 1.19264C0.584621 0.641899 1.18999 0.460618 1.82711 0.506923C2.56478 0.560125 3.30032 0.685249 4.02317 0.838943C5.37996 1.12761 9.86733 1.31973 11.9999 1.40643C14.1324 1.31973 18.6188 1.12761 19.9766 0.838943C20.6984 0.685249 21.435 0.560125 22.1716 0.506923C22.8098 0.460618 23.4141 0.641899 23.7803 1.19264C23.9549 1.45569 24.0205 1.73451 23.9941 1.99953Z" class=" fill-none" /> 2533 </g> 2534 </svg> 2535 </i> 2536 </button> 2537 </div> 2538 <!-- toggle --> 2539 </div> 2540 </div> 2541</header></div></div> 2542 2543 2544 2545<main class="body-container-wrapper"> 2546 <div class="container-fluid body-container body-container--blank-page"> 2547<div class="row-fluid-wrapper"> 2548<div class="row-fluid"> 2549<div class="span12 widget-span widget-type-cell " style="" data-widget-type="cell" data-x="0" data-w="12"> 2550 2551<div class="row-fluid-wrapper row-depth-1 row-number-1 dnd_area-row-0-force-full-width-section dnd-section dnd_area-row-0-padding"> 2552<div class="row-fluid "> 2553<div class="span12 widget-span widget-type-cell dnd-column" style="" data-widget-type="cell" data-x="0" data-w="12"> 2554 2555<div class="row-fluid-wrapper row-depth-1 row-number-2 dnd-row"> 2556<div class="row-fluid "> 2557<div class="span12 widget-span widget-type-custom_widget widget_1756136489476-hidden dnd-module" style="" data-widget-type="custom_widget" data-x="0" data-w="12"> 2558<div id="hs_cos_wrapper_widget_1756136489476" class="hs_cos_wrapper hs_cos_wrapper_widget hs_cos_wrapper_type_module" style="" data-hs-cos-general-type="widget" data-hs-cos-type="module"><section class=" min-h-[30rem] flex items-center justify-center relative after:absolute after:h-full after:w-full after:left-0 after:top-0 after:bg-gradient-to-t after:from-black after:to-transparent after:opacity-50"> 2559 <figure> 2560 <img class="bnr-img w-full h-full object-cover absolute left-0 top-0 hidden-phone" src="https://therestishistory.com/hubfs/Dominic_Sandbrook_Tom_Holland_2024_TRIH_1030_lowres.jpeg" alt="About the show"> 2561 2562 <img class="bnr-img w-full h-full object-cover absolute left-0 top-0 visible-phone" src="https://therestishistory.com/hubfs/TRIH/d_GepINg.jpeg" alt="d_GepINg"> 2563 2564 </figure>
2565 <div class="holder max-w-[845px] mt-auto md:mt-0 mb-10 md:mb-0 mx-auto md:text-center relative z-30 w-full"> 2566 <h1 class="text-white text-5xl md:text-xxl leading-none font-bold">About the show</h1> 2567 </div> 2568</section></div> 2569 2570</div><!--end widget-span --> 2571</div><!--end row--> 2572</div><!--end row-wrapper --> 2573 2574<div class="row-fluid-wrapper row-depth-1 row-number-3 dnd-row"> 2575<div class="row-fluid "> 2576<div class="span12 widget-span widget-type-custom_widget dnd-module" style="" data-widget-type="custom_widget" data-x="0" data-w="12"> 2577<div id="hs_cos_wrapper_widget_1756136510253" class="hs_cos_wrapper hs_cos_wrapper_widget hs_cos_wrapper_type_module" style="" data-hs-cos-general-type="widget" data-hs-cos-type="module"><section id="block_5ace12d7e5f280c16a5e223d0085c6d4" class=" py-8 md:py-10 "> 2578 <div class="holder"> 2579 <h2 class="font-bold text-32 md:text-40 leading-[100%] mb-6">The world's most popular history podcast</h2> 2580 <div class="columns-1 md:columns-2 gap-6 [&>p]:mb-6 "> 2581 <p>The Rest Is History, produced by Goalhanger, is the worldâs most popular history podcast, with over 20 million monthly downloads and views.<br><br>Hosted by historians Tom Holland and Dominic Sandbrook, the show dives deep into historyâs most dramatic moments and fascinating figures - exploring the stories of great empires, epic battles, and world-changing events.<br><br>From the rise and fall of the Roman Empire to the French Revolution, the sinking of the Titanic, and the Norman Conquest of 1066, Tom and Dominic bring the past to life through gripping storytelling and expert analysis.<br><br>In 2025, it was announced as Apple Podcastsâ Global Show of the Year - the first time a non-US show had received the accolade.</p> 2582<p> </p> 2583 </div> 2584 </div> 2585</section></div> 2586 2587</div><!--end widget-span --> 2588</div><!--end row--> 2589</div><!--end row-wrapper --> 2590 2591</div><!--end widget-span --> 2592</div><!--end row--> 2593</div><!--end row-wrapper --> 2594 2595<div class="row-fluid-wrapper row-depth-1 row-number-4 dnd_area-row-1-padding dnd-section dnd_area-row-1-background-image dnd_area-row-1-background-layers dnd_area-row-1-force-full-width-section"> 2596<div class="row-fluid "> 2597<div class="span12 widget-span widget-type-cell dnd-column" style="" data-widget-type="cell" data-x="0" data-w="12"> 2598 2599<div class="row-fluid-wrapper row-depth-1 row-number-5 dnd-row"> 2600<div class="row-fluid "> 2601<div class="span12 widget-span widget-type-custom_widget dnd-module" style="" data-widget-type="custom_widget" data-x="0" data-w="12"> 2602<div id="hs_cos_wrapper_widget_1756136527491" class="hs_cos_wrapper hs_cos_wrapper_widget hs_cos_wrapper_type_module" style="" data-hs-cos-general-type="widget" data-hs-cos-type="module"><section class="py-16 bg-center bg-no-repeat bg-cover w-full border-y border-solid border-black relative after:absolute after:w-full after:h-full after:left-0 after:top-0 after:bg-off_white_bg/70 after:z-0 "> 2603 <div class="holder"> 2604 <div class="grid grid-cols-1 md:grid-cols-2 gap-6 z-10 relative"> 2605 2606 <div class="space-y-9"> 2607 <div class=" relative w-full aspect-square border-[1rem] md:border-[24px] border-color_red bg-off_white_bg z-0 overflow-hidden"> 2608 <img decoding="async" class="w-full h-full object-cover relative" src="https://therestishistory.com/hubfs/Tom_Headshot.jpg" alt="Tom_Headshot"> 2609 </div> 2610 <div> 2611 <h2 class="font-bold text-[40px] leading-[100%]">Tom Holland</h2> 2612 </div> 2613 <div class="space-y-6"> 2614 <p>Tom Holland is an award-winning historian, translator and broadcaster. His most recent book, Pax, covers the heyday of the Roman Empire. He has translated Herodotus and Suetonius for Penguin Classics. He is co-presenter of the worldâs most popular history podcast, The Rest is History, which in 2025 was Appleâs Podcast of the Year. He has written and presented several TV documentaries, on subjects ranging from the Islamic State to dinosaurs. He is a trustee of the British Library and the British Museum, an honorary fellow of Queensâ College, Cambridge, a lay canon of Salisbury Cathedral, the Bede Librarian at Durham Cathedral, and has been described
2614in The Times as âa leading English cricketer.â</p> 2615 </div> 2616 2617 </div> 2618 2619 <div class="space-y-9"> 2620 <div class=" relative w-full aspect-square border-[1rem] md:border-[24px] border-color_red bg-off_white_bg z-0 overflow-hidden"> 2621 <img decoding="async" class="w-full h-full object-cover relative" src="https://therestishistory.com/hubfs/Dom_MockUp.jpg" alt="Dom_MockUp"> 2622 </div> 2623 <div> 2624 <h2 class="font-bold text-[40px] leading-[100%]">Dominic Sandbrook</h2> 2625 </div> 2626 <div class="space-y-6"> 2627 <p>Dominic Sandbrook was educated at Oxford, St Andrews and Cambridge, and was an academic before becoming a writer. He is best known for his histories of Britain since the 1950âs, most recently Who Dares Wins, as well as a series of history books for young readers, Adventures in Time. He has presented many documentaries on BBC Two and Radio 4, and is a columnist for The Times and book critic for The Sunday Times. A fellow of the Royal Historical Society, he is also a fervent Wolverhampton Wanderers fan.</p> 2628 </div> 2629 2630 </div> 2631 2632 </div> 2633 </div> 2634</section></div> 2635 2636</div><!--end widget-span --> 2637</div><!--end row--> 2638</div><!--end row-wrapper --> 2639 2640</div><!--end widget-span --> 2641</div><!--end row--> 2642</div><!--end row-wrapper --> 2643 2644<div class="row-fluid-wrapper row-depth-1 row-number-6 dnd_area-row-2-force-full-width-section dnd_area-row-2-padding dnd-section"> 2645<div class="row-fluid "> 2646<div class="span12 widget-span widget-type-cell dnd-column" style="" data-widget-type="cell" data-x="0" data-w="12"> 2647 2648<div class="row-fluid-wrapper row-depth-1 row-number-7 dnd-row"> 2649<div class="row-fluid "> 2650<div class="span12 widget-span widget-type-custom_widget dnd-module" style="" data-widget-type="custom_widget" data-x="0" data-w="12"> 2651<div id="hs_cos_wrapper_widget_1756136837440" class="hs_cos_wrapper hs_cos_wrapper_widget hs_cos_wrapper_type_module" style="" data-hs-cos-general-type="widget" data-hs-cos-type="module"><section class=" py-16 md:py-20"> 2652 <div class="holder"> 2653 <div class="swiper quote-slider"> 2654 <div class="swiper-wrapper"> 2655 2656 <div class="swiper-slide h-auto"> 2657 <blockquote class="max-w-[907px] mx-auto space-y-6 h-full flex flex-col items-center justify-center"> 2658 <img decoding="async" src="https://therestishistory.com/hubfs/The-Times.svg" alt="The-Times" class="mx-auto mb-4"> 2659 <h2 class="text-32 md:text-52 font-bold leading-[100%] text-center"> âI am a helpless, devoted, pathetic fan. So is everyone I know. The Rest Is History takes the form of a series of witty, clever, informative conversations.â </h2> 2660 <span class="text-xl leading-[125%] text-center block font-light text-[#00000080]"> 2661 <strong class=" mr-1 font-medium text-black">â James Marriott, </strong> The Times </span> 2662 </blockquote> 2663 </div> 2664 2665 <div class="swiper-slide h-auto"> 2666 <blockquote class="max-w-[907px] mx-auto space-y-6 h-full flex flex-col items-center justify-center"> 2667 <img decoding="async" src="https://therestishistory.com/hubfs/New-York-Vulture-Log.svg" alt="New-York-Vulture-Log" class="mx-auto mb-4"> 2668 <h2 class="text-32 md:text-52 font-bold leading-[100%] text-center"> âI listen to The Rest Is History, but I think everybody listens to The Rest Is History. Itâs so well done! Itâs clean, itâs humble; these are not guys trying to talk about things they donât know.â </h2> 2669 <span class="text-xl leading-[125%] text-center block font-light text-[#00000080]"> 2670 <strong class=" mr-1 font-medium text-black">â Rachel Maddow, </strong> in Vulture </span> 2671 </blockquote> 2672 </div> 2673 2674 <div class="swiper-slide h-auto"> 2675 <blockquote class="max-w-[907px] mx-auto space-y-6 h-full flex flex-col items-center justify-center"> 2676 <img decoding="async" src="https://therestishistory.com/hubfs/STM.svg" alt="STM" class="mx-auto mb-4"> 2677 <h2 class="text-32 md:text-52 font-bold leading-[100%] text-center"> âPossibly the most joyous and brain-enhancing podcast out there.â </h2>
2678 <span class="text-xl leading-[125%] text-center block font-light text-[#00000080]"> 2679 <strong class=" mr-1 font-medium text-black">â The Sunday Times Magazine </strong> </span> 2680 </blockquote> 2681 </div> 2682 2683 </div> 2684 <div class="qoute-controller mt-7 mx-auto w-fit"> 2685 <div class="quote-pagination"></div> 2686 </div> 2687 </div> 2688 </div> 2689</section></div> 2690 2691</div><!--end widget-span --> 2692</div><!--end row--> 2693</div><!--end row-wrapper --> 2694 2695</div><!--end widget-span --> 2696</div><!--end row--> 2697</div><!--end row-wrapper --> 2698 2699<div class="row-fluid-wrapper row-depth-1 row-number-8 dnd-section dnd_area-row-3-padding dnd_area-row-3-force-full-width-section"> 2700<div class="row-fluid "> 2701<div class="span12 widget-span widget-type-cell dnd-column" style="" data-widget-type="cell" data-x="0" data-w="12"> 2702 2703<div class="row-fluid-wrapper row-depth-1 row-number-9 dnd-row"> 2704<div class="row-fluid "> 2705<div class="span12 widget-span widget-type-custom_widget dnd-module" style="" data-widget-type="custom_widget" data-x="0" data-w="12"> 2706<div id="hs_cos_wrapper_widget_1756200505585" class="hs_cos_wrapper hs_cos_wrapper_widget hs_cos_wrapper_type_module" style="" data-hs-cos-general-type="widget" data-hs-cos-type="module"><section class="py-16 border-y-[0.5px] border-black"> 2707 <div class="holder"> 2708 <div class="flex items-center mb-9 lg:mb-7"> 2709 <h2 class="text-32 md:text-40 font-bold leading-[100%]">The rest of the team</h2> 2710 </div> 2711 <!-- end title block --> 2712 <div class="grid grid-cols-1 lg:grid-cols-2 lg:gap-x-6 [&>div]:border-b-[0.5px] [&>div]:border-b-black custom-border"> 2713 2714 <div class="flex items-center gap-6 py-7 relative group"> 2715 <h3 class="text-xl lg:text-2xl leading-[100%] font-light w-1/3"> Producer </h3> 2716 <h4 class="text-xl lg:text-2xl leading-[100%] font-light w-2/3">Tabby Syrett</h4> 2717 <div class="hidden group-hover:block w-full lg:max-w-[386px] bg-color_red px-8 py-11 absolute top-0 right-0 z-20 [&>*]:text-white space-y-11"> 2718 <h3 class="text-32 font-bold leading-none">Tabby Syrett</h3> 2719 <!-- end hover title --> 2720 <div class="space-y-7"> 2721 2722 <div class="flex space-x-4"> 2723 <img decoding="async" src="https://therestishistory.com/hubfs/book.svg" alt="book" class="w-6 h-6"> 2724 <div class="space-y-2 [&>p]:font-queensCondensedTrial"> 2725 <h4 class="text-2xl font-bold leading-none" style="color:#fff;">Favourite Book</h4> 2726 <p>Middlemarch by George Eliot </p> 2727 </div> 2728 </div> 2729 2730 </div> 2731 </div> 2732 <!-- end hover content --> 2733 </div> 2734 2735 <div class="flex items-center gap-6 py-7 relative group"> 2736 <h3 class="text-xl lg:text-2xl leading-[100%] font-light w-1/3"> Producer </h3> 2737 <h4 class="text-xl lg:text-2xl leading-[100%] font-light w-2/3">Aaliyah Akude</h4> 2738 <div class="hidden group-hover:block w-full lg:max-w-[386px] bg-color_red px-8 py-11 absolute top-0 right-0 z-20 [&>*]:text-white space-y-11"> 2739 <h3 class="text-32 font-bold leading-none">Aaliyah Akude</h3> 2740 <!-- end hover title --> 2741 <div class="space-y-7"> 2742 2743 <div class="flex space-x-4"> 2744 <img decoding="async" src="https://therestishistory.com/hubfs/book.svg" alt="book" class="w-6 h-6"> 2745 <div class="space-y-2 [&>p]:font-queensCondensedTrial"> 2746 <h4 class="text-2xl font-bold leading-none" style="color:#fff;">Favourite Book</h4> 2747 <p>Der Sandmann by E.T.A. Hoffmann </p> 2748 </div> 2749 </div> 2750 2751 </div> 2752 </div> 2753 <!-- end hover content --> 2754 </div> 2755 2756 <div class="flex items-center gap-6 py-7 relative group"> 2757 <h3 class="text-xl lg:text-2xl leading-[100%] font-light w-1/3"> Social Producer </h3> 2758 <h4 class="text-xl lg:text-2xl leading-[100%] font-light w-2/3">Harry Balden</h4> 2759 <div class="hidden group-hover:block w-full lg:max-w-[386px] bg-color_red px-8 py-11 absolute top-0 right-0 z-20 [&>*]:text-white space-y-11"> 2760 <h3 class="text-32 font-bold leading-none">Harry Balden</h3> 2761 <!-- end hover title --> 2762 <div class="space-y-7"> 2763 2764 <div class="flex space-x-4"> 2765 <img decoding="async" src="https://therestishistory.com/hubfs/book.svg" alt="book" class="w-6 h-6"> 2766 <div class="space-y-2 [&>p]:font-queensCondensedTrial"> 2767 <h4 class="text-2xl font-bold leading-none" style="color:#fff;">Favourite Book</h4> 2768 <p>The Years Of Lyndon Johnson by Robert Caro </p> 2769 </div> 2770 </div> 2771 2772 </div> 2773 </div> 2774 <!-- end hover content --> 2775 </div> 2776 2777 <div class="flex items-center gap-6 py-7 relative group"> 2778 <h3 class="text-xl lg:text-2xl leading-[100%] font-light w-1/3">
2778 Video Editor </h3> 2779 <h4 class="text-xl lg:text-2xl leading-[100%] font-light w-2/3">Jack Meek</h4> 2780 <div class="hidden group-hover:block w-full lg:max-w-[386px] bg-color_red px-8 py-11 absolute top-0 right-0 z-20 [&>*]:text-white space-y-11"> 2781 <h3 class="text-32 font-bold leading-none">Jack Meek</h3> 2782 <!-- end hover title --> 2783 <div class="space-y-7"> 2784 2785 <div class="flex space-x-4"> 2786 <img decoding="async" src="https://therestishistory.com/hubfs/book.svg" alt="book" class="w-6 h-6"> 2787 <div class="space-y-2 [&>p]:font-queensCondensedTrial"> 2788 <h4 class="text-2xl font-bold leading-none" style="color:#fff;">Favourite Book</h4> 2789 <p>The Fellowship of the Ring by JRR Tolkien </p> 2790 </div> 2791 </div> 2792 2793 </div> 2794 </div> 2795 <!-- end hover content --> 2796 </div> 2797 2798 <div class="flex items-center gap-6 py-7 relative group"> 2799 <h3 class="text-xl lg:text-2xl leading-[100%] font-light w-1/3"> Post-Production Manager </h3> 2800 <h4 class="text-xl lg:text-2xl leading-[100%] font-light w-2/3">Harry Swan</h4> 2801 <div class="hidden group-hover:block w-full lg:max-w-[386px] bg-color_red px-8 py-11 absolute top-0 right-0 z-20 [&>*]:text-white space-y-11"> 2802 <h3 class="text-32 font-bold leading-none">Harry Swan</h3> 2803 <!-- end hover title --> 2804 <div class="space-y-7"> 2805 2806 <div class="flex space-x-4"> 2807 <img decoding="async" src="https://therestishistory.com/hubfs/book.svg" alt="book" class="w-6 h-6"> 2808 <div class="space-y-2 [&>p]:font-queensCondensedTrial"> 2809 <h4 class="text-2xl font-bold leading-none" style="color:#fff;">Favourite Book</h4> 2810 <p>The Forever War by Joe Haldeman </p> 2811 </div> 2812 </div> 2813 2814 </div> 2815 </div> 2816 <!-- end hover content --> 2817 </div> 2818 2819 <div class="flex items-center gap-6 py-7 relative group"> 2820 <h3 class="text-xl lg:text-2xl leading-[100%] font-light w-1/3"> Executive Producer </h3> 2821 <h4 class="text-xl lg:text-2xl leading-[100%] font-light w-2/3">Dom Johnson</h4> 2822 <div class="hidden group-hover:block w-full lg:max-w-[386px] bg-color_red px-8 py-11 absolute top-0 right-0 z-20 [&>*]:text-white space-y-11"> 2823 <h3 class="text-32 font-bold leading-none">Dom Johnson</h3> 2824 <!-- end hover title --> 2825 <div class="space-y-7"> 2826 2827 <div class="flex space-x-4"> 2828 <img decoding="async" src="https://therestishistory.com/hubfs/book.svg" alt="book" class="w-6 h-6"> 2829 <div class="space-y-2 [&>p]:font-queensCondensedTrial"> 2830 <h4 class="text-2xl font-bold leading-none" style="color:#fff;">Favourite Book</h4> 2831 <p>Any Human Heart William Boyd </p> 2832 </div> 2833 </div> 2834 2835 </div> 2836 </div> 2837 <!-- end hover content --> 2838 </div> 2839 2840 <div class="flex items-center gap-6 py-7 relative group"> 2841 <h3 class="text-xl lg:text-2xl leading-[100%] font-light w-1/3"> Membership Manager </h3> 2842 <h4 class="text-xl lg:text-2xl leading-[100%] font-light w-2/3">Hannah Rashbass</h4> 2843 <div class="hidden group-hover:block w-full lg:max-w-[386px] bg-color_red px-8 py-11 absolute top-0 right-0 z-20 [&>*]:text-white space-y-11"> 2844 <h3 class="text-32 font-bold leading-none">Hannah Rashbass</h3> 2845 <!-- end hover title --> 2846 <div class="space-y-7"> 2847 2848 <div class="flex space-x-4"> 2849 <img decoding="async" src="https://therestishistory.com/hubfs/book.svg" alt="book" class="w-6 h-6"> 2850 <div class="space-y-2 [&>p]:font-queensCondensedTrial"> 2851 <h4 class="text-2xl font-bold leading-none" style="color:#fff;">Favourite Book</h4> 2852 <p>Drive Your Plow Over the Bones of the Dead by Olga Tokarczuk </p> 2853 </div> 2854 </div> 2855 2856 </div> 2857 </div> 2858 <!-- end hover content --> 2859 </div> 2860 2861 <div class="flex items-center gap-6 py-7 relative group"> 2862 <h3 class="text-xl lg:text-2xl leading-[100%] font-light w-1/3"> Communities Co-ordinator </h3> 2863 <h4 class="text-xl lg:text-2xl leading-[100%] font-light w-2/3">Susana Justham Bello</h4> 2864 <div class="hidden group-hover:block w-full lg:max-w-[386px] bg-color_red px-8 py-11 absolute top-0 right-0 z-20 [&>*]:text-white space-y-11"> 2865 <h3 class="text-32 font-bold leading-none">Susana Justham Bello</h3> 2866 <!-- end hover title --> 2867 <div class="space-y-7"> 2868 2869 <div class="flex space-x-4"> 2870 <img decoding="async" src="https://therestishistory.com/hubfs/book.svg" alt="book" class="w-6 h-6"> 2871 <div class="space-y-2 [&>p]:font-queensCondensedTrial"> 2872 <h4 class="text-2xl font-bold leading-none" style="color:#fff;">Favourite Book</h4> 2873 <p>The Leopard by Giuseppe Tomasi di Lampedusa </p> 2874 </div> 2875 </div> 2876 2877 </div> 2878 </div> 2879 <!-- end hover content --> 2880 </div> 2881 2882 <div class="flex items-center gap-6 py-7 relative group"> 2883 <h3 class="text-xl lg:text-2xl leading-[100%] font-light w-1/3"> Producer </h3> 2884 <h4 class="text-xl lg:text-2xl leading-[100%] font-light w-2/3">Theo Young-Smit</h4> 2885 <div class="hidden group-hover:block w-full lg:max-w-[386px] bg-color_red px-8 py-11 absolute top-0 right-0 z-20 [&>*]:text-white space-y-11"> 2886 <h3 class="text-32 font-bold leading-none">Theo Young-Smit</h3> 2887 <!-- end hover title --> 2888 <div class="space-y-7"> 2889 2890 <div class="flex space-x-4"> 2891 <img decoding="async" src="https://therestishistory.com/hubfs/book.svg" alt="book" class="w-6 h-6"> 2892 <div class="space-y-2 [&>p]:font-queensCondensedTrial"> 2893 <h4 class="text-2xl font-bold leading-none" style="color:#fff;">Favourite Book</h4> 2894 <p>
2894Bel Ami by Guy de Maupassant </p> 2895 </div> 2896 </div> 2897 2898 </div> 2899 </div> 2900 <!-- end hover content --> 2901 </div> 2902 2903 </div> 2904 <!-- end team items --> 2905 </div> 2906</section></div> 2907 2908</div><!--end widget-span --> 2909</div><!--end row--> 2910</div><!--end row-wrapper --> 2911 2912<div class="row-fluid-wrapper row-depth-1 row-number-10 dnd-row"> 2913<div class="row-fluid "> 2914<div class="span12 widget-span widget-type-custom_widget dnd-module" style="" data-widget-type="custom_widget" data-x="0" data-w="12"> 2915<div id="hs_cos_wrapper_widget_1756203793922" class="hs_cos_wrapper hs_cos_wrapper_widget hs_cos_wrapper_type_module" style="" data-hs-cos-general-type="widget" data-hs-cos-type="module"><section class="py-16 md:py-20 overflow-hidden"> 2916 <div class="holder"> 2917 <!-- common section title --> 2918 <div class="flex items-center"> 2919 <h2 class="block-title pb-1 text-32 md:text-40 font-bold leading-[100%] relative z-10">The Bookshop 2920 </h2> 2921 2922 <div class="ml-auto !hidden md:!inline-flex"> 2923 2924 2925 <a class="button" href="https://therestishistory.com/books"> 2926 View all books <svg xmlns="http://www.w3.org/2000/svg" width="18" height="13" viewbox="0 0 18 13" fill="none"> 2927 <path d="M18 6.53171C17.6111 6.71952 17.2436 6.87964 16.8936 7.06866C15.5213 7.81027 14.5279 8.90342 13.7502 10.1988C13.4027 10.7779 13.0515 11.357 12.6664 11.9132C12.2863 12.4634 11.7043 12.6295 11.1511 12.3996C10.5465 12.1492 10.2768 11.5063 10.5176 10.8694C10.7447 10.2699 11.1762 9.80876 11.6579 9.39221C13.0126 8.2208 14.6094 7.44428 16.3104 6.81222C15.791 6.81222 15.2905 6.79898 14.7913 6.81463C13.5645 6.85315 12.3315 6.84473 11.1135 6.96993C10.0096 7.0831 5.57664 7.39612 3.94971 7.5442C3.6311 7.57309 3.29744 7.61162 2.88475 7.67302C2.43066 7.73923 1.74577 7.83675 1.3105 7.791C0.249297 7.68024 -0.333989 6.681 0.202885 5.84789C0.540313 5.32419 1.09851 5.15082 1.68807 5.19537C2.36794 5.24593 3.04781 5.36512 3.71389 5.512C5.13761 5.82501 10.2918 6.01764 11.7482 6.08024C13.1405 6.13923 14.5354 6.17174 15.929 6.21508C16.0118 6.21749 16.0933 6.21508 16.1862 6.17294C15.722 5.97189 15.2542 5.77806 14.7951 5.56738C13.4729 4.9594 12.2161 4.2527 11.2314 3.18844C10.9341 2.8682 10.6832 2.48175 10.5151 2.08446C10.278 1.52464 10.5151 0.953982 11.0031 0.675878C11.5136 0.383327 12.0994 0.444727 12.5134 0.943146C12.911 1.4223 13.2409 1.96166 13.5532 2.4986C14.4865 4.10462 15.6894 5.44337 17.4656 6.23194C17.6162 6.29936 17.7679 6.36316 17.9172 6.43299C17.941 6.44382 17.9548 6.47633 18 6.53171Z" fill="#8B2121" /> 2928 </svg> 2929 </a> 2930 </div> 2931 2932 </div> 2933 <!-- section title end --> 2934 <div class="swiper gridPromo-swiper overflow-visible mt-8"> 2935 <div class="swiper-wrapper"> 2936 2937 2938 2939 2940 <div class="swiper-slide"> 2941 <a href="https://coles-books.co.uk/the-rest-is-history-returns-by-dominic-sandbrook" target="_blank" class="group book-promo"> 2942 <div class="relative"> 2943 <div class="h-[342px] lg:h-[420px] flex items-center justify-center border-[16px] lg:border-[1.5rem] bg-off_white_bg booksImg flex items-center justify-center"> 2944 <img decoding="async" src="https://therestishistory.com/hubfs/TRIH2_static_portrait.jpg" alt="The Rest Is History Returns" class="max-w-[60%] max-h-[80%]"> 2945 </div> 2946 </div> 2947 <div class="mt-6 flex"> 2948 <div> 2949 <h3 class="text-2xl leading-[100%] font-bold">The Rest Is History Returns</h3> 2950 <span class="text-xl text-base leading-[140%] font-light tracking-[0.025rem] mt-1 block">by Tom Holland and Dominic Sandbrook</span> 2951 </div> 2952 <div class="ml-auto"> 2953 <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewbox="0 0 20 20" fill="none"> 2954 <path d="M19.6017 0.706029C19.6499 0.565644 19.699 0.422907 19.7474 0.276191L19.7483 0.272669C19.717 0.269262 19.6924 0.264799 19.6724 0.261163C19.6406 0.255391 19.6203 0.251717 19.603 0.257667C19.4851 0.298262 19.3683 0.342086 19.2516 0.38586C19.1959
29540.406774 19.1402 0.427688 19.0844 0.448233C17.0459 1.19991 15.0091 1.04816 12.9636 0.466757C12.2794 0.272669 11.5811 0.0909263 10.8767 0.0106391C10.1449 -0.0722926 9.63598 0.337064 9.47395 0.978459C9.31986 1.58897 9.59899 2.24271 10.2427 2.51533C10.6988 2.70854 11.2113 2.82765 11.7062 2.85676C13.3475 2.95293 14.9114 2.54445 16.4453 2.00363C16.8082 1.87565 17.1677 1.73744 17.527 1.59931C17.6953 1.53462 17.8636 1.46995 18.0321 1.40635C17.9942 1.51399 17.9317 1.58015 17.8648 1.64279C17.5362 1.95152 17.2083 2.261 16.8806 2.57042C16.0824 3.32389 15.2845 4.07714 14.4755 4.81887C14.383 4.90367 14.2723 5.00529 14.1464 5.12101C12.6473 6.49801 8.97481 9.8714 7.70844 10.6682C7.06651 11.0722 6.43603 11.5081 5.86102 12.0012C5.36263 12.4282 5.06676 13.0088 5.22966 13.7031C5.48943 14.8068 6.7636 15.1676 7.68642 14.4239C8.06506 14.1195 8.52295 13.5019 8.82498 13.0899C9.09972 12.7159 9.32954 12.4221 9.55585 12.1477C10.1085 11.4774 11.1351 10.2706 12.14 9.08929C13.234 7.80317 14.3024 6.54729 14.7054 6.04695C15.3339 5.26647 16.0283 4.53912 16.7225 3.81201C16.9708 3.55201 17.219 3.29204 17.4641 3.02968C17.722 2.75397 17.9912 2.48888 18.2655 2.21884C18.394 2.09226 18.5237 1.96459 18.6538 1.83423C17.8357 3.69048 17.2176 5.58025 17.1128 7.60412C17.0758 8.32404 17.1137 9.04042 17.4254 9.71004C17.7556 10.4211 18.4926 10.7352 19.1724 10.4652C19.7932 10.2182 20.1138 9.62446 19.9632 8.87544C19.8108 8.11671 19.6127 7.36679 19.4119 6.61953C18.962 4.94769 18.8493 3.27142 19.3186 1.58544C19.4001 1.29259 19.499 1.00464 19.6017 0.706029Z" fill="#8B2121" /> 2955 <path d="M0 20H16.7817V13.4696H15.725V18.9413H1.05667V4.24398H7.28839V3.18528H0V20Z" fill="#8B2121" /> 2956 </svg> 2957 </div> 2958 </div> 2959 <!-- end text content --> 2960 </a> 2961 <!-- end book item --> 2962 </div> 2963 2964 2965 2966 2967 <div class="swiper-slide"> 2968 <a href="https://coles-books.co.uk/the-rest-is-history-by-goalhanger-podcasts" target="_blank" class="group book-promo"> 2969 <div class="relative"> 2970 <div class="h-[342px] lg:h-[420px] flex items-center justify-center border-[16px] lg:border-[1.5rem] bg-off_white_bg booksImg flex items-center justify-center"> 2971 <img decoding="async" src="https://therestishistory.com/hubfs/The_Rest_is_History_Book1.jpg" alt="The Rest Is History" class="max-w-[60%] max-h-[80%]"> 2972 </div> 2973 </div> 2974 <div class="mt-6 flex"> 2975 <div> 2976 <h3 class="text-2xl leading-[100%] font-bold">The Rest Is History</h3> 2977 <span class="text-xl text-base leading-[140%] font-light tracking-[0.025rem] mt-1 block">by Tom Holland and Dominic Sandbrook</span> 2978 </div> 2979 <div class="ml-auto"> 2980 <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewbox="0 0 20 20" fill="none"> 2981 <path d="M19.6017 0.706029C19.6499 0.565644 19.699 0.422907 19.7474 0.276191L19.7483 0.272669C19.717 0.269262 19.6924 0.264799 19.6724 0.261163C19.6406 0.255391 19.6203 0.251717 19.603 0.257667C19.4851 0.298262 19.3683 0.342086 19.2516 0.38586C19.1959 0.406774 19.1402 0.427688 19.0844 0.448233C17.0459 1.19991 15.0091 1.04816 12.9636 0.466757C12.2794 0.272669 11.5811 0.0909263 10.8767 0.0106391C10.1449 -0.0722926 9.63598 0.337064 9.47395 0.978459C9.31986 1.58897 9.59899 2.24271 10.2427 2.51533C10.6988 2.70854 11.2113 2.82765 11.7062 2.85676C13.3475 2.95293 14.9114 2.54445 16.4453 2.00363C16.8082 1.87565 17.1677 1.73744 17.527 1.59931C17.6953 1.53462 17.8636 1.46995 18.0321 1.40635C17.9942 1.51399 17.9317 1.58015 17.8648 1.64279C17.5362 1.95152 17.2083 2.261 16.8806 2.57042C16.0824 3.32389 15.2845 4.07714 14.4755 4.81887C14.383 4.90367 14.2723 5.00529 14.1464 5.12101C12.6473 6.49801 8.97481 9.8714 7.70844 10.6682C7.06651 11.0722 6.43603 11.5081 5.86102 12.0012C5.36263 12.4282 5.06676 13.0088 5.22966 13.7031C5.48943 14.8068 6.7636 15.1676 7.68642 14.4239C8.06506 14.1195 8.52295 13.5019 8.82498 13.0899C9.09972 12.7159 9.32954 12.4221 9.55585 12.1477C10.1085 11.4774 11.1351 10.2706 12.14 9.08929C13.234 7.80317 14.3024 6.54729 14.7054 6.04695C15.3339 5.26647 16.0283 4.53912 16.7225 3.81201C16.9708 3.55201 17.219 3.29204 17.4641 3.02968C17.722 2.75397 17.9912 2.48888 18.2655 2.21884C18.394 2.09226 18.5237 1.96459 18.6538 1.83423C17.8357 3.69048 17.2176 5.58025 17.1128 7.604
298112C17.0758 8.32404 17.1137 9.04042 17.4254 9.71004C17.7556 10.4211 18.4926 10.7352 19.1724 10.4652C19.7932 10.2182 20.1138 9.62446 19.9632 8.87544C19.8108 8.11671 19.6127 7.36679 19.4119 6.61953C18.962 4.94769 18.8493 3.27142 19.3186 1.58544C19.4001 1.29259 19.499 1.00464 19.6017 0.706029Z" fill="#8B2121" /> 2982 <path d="M0 20H16.7817V13.4696H15.725V18.9413H1.05667V4.24398H7.28839V3.18528H0V20Z" fill="#8B2121" /> 2983 </svg> 2984 </div> 2985 </div> 2986 <!-- end text content --> 2987 </a> 2988 <!-- end book item --> 2989 </div> 2990 2991 2992 2993 2994 <div class="swiper-slide"> 2995 <a href="https://coles-books.co.uk/the-lives-of-the-caesars-by-suetonius-hardback" target="_blank" class="group book-promo"> 2996 <div class="relative"> 2997 <div class="h-[342px] lg:h-[420px] flex items-center justify-center border-[16px] lg:border-[1.5rem] bg-off_white_bg booksImg flex items-center justify-center"> 2998 <img decoding="async" src="https://therestishistory.com/hubfs/81mG3xf0CZL.jpg" alt="The Lives of the Caesars by Suetonius" class="max-w-[60%] max-h-[80%]"> 2999 </div> 3000 </div> 3001 <div class="mt-6 flex"> 3002 <div> 3003 <h3 class="text-2xl leading-[100%] font-bold">The Lives of the Caesars by Suetonius</h3> 3004 <span class="text-xl text-base leading-[140%] font-light tracking-[0.025rem] mt-1 block">by Tom Holland</span> 3005 </div> 3006 <div class="ml-auto"> 3007 <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewbox="0 0 20 20" fill="none"> 3008 <path d="M19.6017 0.706029C19.6499 0.565644 19.699 0.422907 19.7474 0.276191L19.7483 0.272669C19.717 0.269262 19.6924 0.264799 19.6724 0.261163C19.6406 0.255391 19.6203 0.251717 19.603 0.257667C19.4851 0.298262 19.3683 0.342086 19.2516 0.38586C19.1959 0.406774 19.1402 0.427688 19.0844 0.448233C17.0459 1.19991 15.0091 1.04816 12.9636 0.466757C12.2794 0.272669 11.5811 0.0909263 10.8767 0.0106391C10.1449 -0.0722926 9.63598 0.337064 9.47395 0.978459C9.31986 1.58897 9.59899 2.24271 10.2427 2.51533C10.6988 2.70854 11.2113 2.82765 11.7062 2.85676C13.3475 2.95293 14.9114 2.54445 16.4453 2.00363C16.8082 1.87565 17.1677 1.73744 17.527 1.59931C17.6953 1.53462 17.8636 1.46995 18.0321 1.40635C17.9942 1.51399 17.9317 1.58015 17.8648 1.64279C17.5362 1.95152 17.2083 2.261 16.8806 2.57042C16.0824 3.32389 15.2845 4.07714 14.4755 4.81887C14.383 4.90367 14.2723 5.00529 14.1464 5.12101C12.6473 6.49801 8.97481 9.8714 7.70844 10.6682C7.06651 11.0722 6.43603 11.5081 5.86102 12.0012C5.36263 12.4282 5.06676 13.0088 5.22966 13.7031C5.48943 14.8068 6.7636 15.1676 7.68642 14.4239C8.06506 14.1195 8.52295 13.5019 8.82498 13.0899C9.09972 12.7159 9.32954 12.4221 9.55585 12.1477C10.1085 11.4774 11.1351 10.2706 12.14 9.08929C13.234 7.80317 14.3024 6.54729 14.7054 6.04695C15.3339 5.26647 16.0283 4.53912 16.7225 3.81201C16.9708 3.55201 17.219 3.29204 17.4641 3.02968C17.722 2.75397 17.9912 2.48888 18.2655 2.21884C18.394 2.09226 18.5237 1.96459 18.6538 1.83423C17.8357 3.69048 17.2176 5.58025 17.1128 7.60412C17.0758 8.32404 17.1137 9.04042 17.4254 9.71004C17.7556 10.4211 18.4926 10.7352 19.1724 10.4652C19.7932 10.2182 20.1138 9.62446 19.9632 8.87544C19.8108 8.11671 19.6127 7.36679 19.4119 6.61953C18.962 4.94769 18.8493 3.27142 19.3186 1.58544C19.4001 1.29259 19.499 1.00464 19.6017 0.706029Z" fill="#8B2121" /> 3009 <path d="M0 20H16.7817V13.4696H15.725V18.9413H1.05667V4.24398H7.28839V3.18528H0V20Z" fill="#8B2121" /> 3010 </svg> 3011 </div> 3012 </div> 3013 <!-- end text content --> 3014 </a> 3015 <!-- end book item --> 3016 </div> 3017 3018 3019 3020 3021 <div class="swiper-slide"> 3022 <a href="https://coles-books.co.uk/adventures-in-time-nelson-hero-of-the-seas-by-dominic-sandbrook" target="_blank" class="group book-promo"> 3023 <div class="relative"> 3024 <div class="h-[342px] lg:h-[420px] flex items-center justify-center border-[16px] lg:border-[1.5rem] bg-off_white_bg booksImg flex items-center justify-center"> 3025 <img decoding="async" src="https://therestishistory.com/hubfs/81z0boMySTL._AC_UF894%2c1000_QL80_.jpg" alt="Nelson, Hero of the Seas" class="max-w-[60%] max-h-[80%]"> 3026 </div> 3027 </div> 3028 <div class="mt-6 flex"> 3029 <div> 3030 <h3 class="text-2xl leading-[100%] font-bold">Nelson, Hero of the Seas</h3>
3031 <span class="text-xl text-base leading-[140%] font-light tracking-[0.025rem] mt-1 block">by Dominic Sandbrook</span> 3032 </div> 3033 <div class="ml-auto"> 3034 <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewbox="0 0 20 20" fill="none"> 3035 <path d="M19.6017 0.706029C19.6499 0.565644 19.699 0.422907 19.7474 0.276191L19.7483 0.272669C19.717 0.269262 19.6924 0.264799 19.6724 0.261163C19.6406 0.255391 19.6203 0.251717 19.603 0.257667C19.4851 0.298262 19.3683 0.342086 19.2516 0.38586C19.1959 0.406774 19.1402 0.427688 19.0844 0.448233C17.0459 1.19991 15.0091 1.04816 12.9636 0.466757C12.2794 0.272669 11.5811 0.0909263 10.8767 0.0106391C10.1449 -0.0722926 9.63598 0.337064 9.47395 0.978459C9.31986 1.58897 9.59899 2.24271 10.2427 2.51533C10.6988 2.70854 11.2113 2.82765 11.7062 2.85676C13.3475 2.95293 14.9114 2.54445 16.4453 2.00363C16.8082 1.87565 17.1677 1.73744 17.527 1.59931C17.6953 1.53462 17.8636 1.46995 18.0321 1.40635C17.9942 1.51399 17.9317 1.58015 17.8648 1.64279C17.5362 1.95152 17.2083 2.261 16.8806 2.57042C16.0824 3.32389 15.2845 4.07714 14.4755 4.81887C14.383 4.90367 14.2723 5.00529 14.1464 5.12101C12.6473 6.49801 8.97481 9.8714 7.70844 10.6682C7.06651 11.0722 6.43603 11.5081 5.86102 12.0012C5.36263 12.4282 5.06676 13.0088 5.22966 13.7031C5.48943 14.8068 6.7636 15.1676 7.68642 14.4239C8.06506 14.1195 8.52295 13.5019 8.82498 13.0899C9.09972 12.7159 9.32954 12.4221 9.55585 12.1477C10.1085 11.4774 11.1351 10.2706 12.14 9.08929C13.234 7.80317 14.3024 6.54729 14.7054 6.04695C15.3339 5.26647 16.0283 4.53912 16.7225 3.81201C16.9708 3.55201 17.219 3.29204 17.4641 3.02968C17.722 2.75397 17.9912 2.48888 18.2655 2.21884C18.394 2.09226 18.5237 1.96459 18.6538 1.83423C17.8357 3.69048 17.2176 5.58025 17.1128 7.60412C17.0758 8.32404 17.1137 9.04042 17.4254 9.71004C17.7556 10.4211 18.4926 10.7352 19.1724 10.4652C19.7932 10.2182 20.1138 9.62446 19.9632 8.87544C19.8108 8.11671 19.6127 7.36679 19.4119 6.61953C18.962 4.94769 18.8493 3.27142 19.3186 1.58544C19.4001 1.29259 19.499 1.00464 19.6017 0.706029Z" fill="#8B2121" /> 3036 <path d="M0 20H16.7817V13.4696H15.725V18.9413H1.05667V4.24398H7.28839V3.18528H0V20Z" fill="#8B2121" /> 3037 </svg> 3038 </div> 3039 </div> 3040 <!-- end text content --> 3041 </a> 3042 <!-- end book item --> 3043 </div> 3044 3045 3046 3047 3048 <div class="swiper-slide"> 3049 <a href="https://coles-books.co.uk/adventures-in-time-the-first-world-war-by-dominic-sandbrook" target="_blank" class="group book-promo"> 3050 <div class="relative"> 3051 <div class="h-[342px] lg:h-[420px] flex items-center justify-center border-[16px] lg:border-[1.5rem] bg-off_white_bg booksImg flex items-center justify-center"> 3052 <img decoding="async" src="https://therestishistory.com/hubfs/9780141994314-jacket-large.jpg" alt="The First World War" class="max-w-[60%] max-h-[80%]"> 3053 </div> 3054 </div> 3055 <div class="mt-6 flex"> 3056 <div> 3057 <h3 class="text-2xl leading-[100%] font-bold">The First World War</h3> 3058 <span class="text-xl text-base leading-[140%] font-light tracking-[0.025rem] mt-1 block">by Dominic Sandbrook</span> 3059 </div> 3060 <div class="ml-auto"> 3061 <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewbox="0 0 20 20" fill="none"> 3062 <path d="M19.6017 0.706029C19.6499 0.565644 19.699 0.422907 19.7474 0.276191L19.7483 0.272669C19.717 0.269262 19.6924 0.264799 19.6724 0.261163C19.6406 0.255391 19.6203 0.251717 19.603 0.257667C19.4851 0.298262 19.3683 0.342086 19.2516 0.38586C19.1959 0.406774 19.1402 0.427688 19.0844 0.448233C17.0459 1.19991 15.0091 1.04816 12.9636 0.466757C12.2794 0.272669 11.5811 0.0909263 10.8767 0.0106391C10.1449 -0.0722926 9.63598 0.337064 9.47395 0.978459C9.31986 1.58897 9.59899 2.24271 10.2427 2.51533C10.6988 2.70854 11.2113 2.82765 11.7062 2.85676C13.3475 2.95293 14.9114 2.54445 16.4453 2.00363C16.8082 1.87565 17.1677 1.73744 17.527 1.59931C17.6953 1.53462 17.8636 1.46995 18.0321 1.40635C17.9942 1.51399 17.9317 1.58015 17.8648 1.64279C17.5362 1.95152 17.2083 2.261 16.8806 2.57042C16.0824 3.32389 15.2845 4.07714 14.4755 4.81887C14.383 4.90367 14.2723 5.00529 14.1464 5.12101C12.6473 6.49801 8.97481 9.8714 7.70844 10.6682C7.066
306251 11.0722 6.43603 11.5081 5.86102 12.0012C5.36263 12.4282 5.06676 13.0088 5.22966 13.7031C5.48943 14.8068 6.7636 15.1676 7.68642 14.4239C8.06506 14.1195 8.52295 13.5019 8.82498 13.0899C9.09972 12.7159 9.32954 12.4221 9.55585 12.1477C10.1085 11.4774 11.1351 10.2706 12.14 9.08929C13.234 7.80317 14.3024 6.54729 14.7054 6.04695C15.3339 5.26647 16.0283 4.53912 16.7225 3.81201C16.9708 3.55201 17.219 3.29204 17.4641 3.02968C17.722 2.75397 17.9912 2.48888 18.2655 2.21884C18.394 2.09226 18.5237 1.96459 18.6538 1.83423C17.8357 3.69048 17.2176 5.58025 17.1128 7.60412C17.0758 8.32404 17.1137 9.04042 17.4254 9.71004C17.7556 10.4211 18.4926 10.7352 19.1724 10.4652C19.7932 10.2182 20.1138 9.62446 19.9632 8.87544C19.8108 8.11671 19.6127 7.36679 19.4119 6.61953C18.962 4.94769 18.8493 3.27142 19.3186 1.58544C19.4001 1.29259 19.499 1.00464 19.6017 0.706029Z" fill="#8B2121" /> 3063 <path d="M0 20H16.7817V13.4696H15.725V18.9413H1.05667V4.24398H7.28839V3.18528H0V20Z" fill="#8B2121" /> 3064 </svg> 3065 </div> 3066 </div> 3067 <!-- end text content --> 3068 </a> 3069 <!-- end book item --> 3070 </div> 3071 3072 3073 3074 3075 <div class="swiper-slide"> 3076 <a href="https://coles-books.co.uk/the-wolf-girl-the-greeks-and-the-gods-by-tom-holland-hardback" target="_blank" class="group book-promo"> 3077 <div class="relative"> 3078 <div class="h-[342px] lg:h-[420px] flex items-center justify-center border-[16px] lg:border-[1.5rem] bg-off_white_bg booksImg flex items-center justify-center"> 3079 <img decoding="async" src="https://therestishistory.com/hubfs/wolf%20girl.jpeg" alt="The Wolf-Girl, the Greeks and the Gods " class="max-w-[60%] max-h-[80%]"> 3080 </div> 3081 </div> 3082 <div class="mt-6 flex"> 3083 <div> 3084 <h3 class="text-2xl leading-[100%] font-bold">The Wolf-Girl, the Greeks and the Gods </h3> 3085 <span class="text-xl text-base leading-[140%] font-light tracking-[0.025rem] mt-1 block">by Tom Holland</span> 3086 </div> 3087 <div class="ml-auto"> 3088 <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewbox="0 0 20 20" fill="none"> 3089 <path d="M19.6017 0.706029C19.6499 0.565644 19.699 0.422907 19.7474 0.276191L19.7483 0.272669C19.717 0.269262 19.6924 0.264799 19.6724 0.261163C19.6406 0.255391 19.6203 0.251717 19.603 0.257667C19.4851 0.298262 19.3683 0.342086 19.2516 0.38586C19.1959 0.406774 19.1402 0.427688 19.0844 0.448233C17.0459 1.19991 15.0091 1.04816 12.9636 0.466757C12.2794 0.272669 11.5811 0.0909263 10.8767 0.0106391C10.1449 -0.0722926 9.63598 0.337064 9.47395 0.978459C9.31986 1.58897 9.59899 2.24271 10.2427 2.51533C10.6988 2.70854 11.2113 2.82765 11.7062 2.85676C13.3475 2.95293 14.9114 2.54445 16.4453 2.00363C16.8082 1.87565 17.1677 1.73744 17.527 1.59931C17.6953 1.53462 17.8636 1.46995 18.0321 1.40635C17.9942 1.51399 17.9317 1.58015 17.8648 1.64279C17.5362 1.95152 17.2083 2.261 16.8806 2.57042C16.0824 3.32389 15.2845 4.07714 14.4755 4.81887C14.383 4.90367 14.2723 5.00529 14.1464 5.12101C12.6473 6.49801 8.97481 9.8714 7.70844 10.6682C7.06651 11.0722 6.43603 11.5081 5.86102 12.0012C5.36263 12.4282 5.06676 13.0088 5.22966 13.7031C5.48943 14.8068 6.7636 15.1676 7.68642 14.4239C8.06506 14.1195 8.52295 13.5019 8.82498 13.0899C9.09972 12.7159 9.32954 12.4221 9.55585 12.1477C10.1085 11.4774 11.1351 10.2706 12.14 9.08929C13.234 7.80317 14.3024 6.54729 14.7054 6.04695C15.3339 5.26647 16.0283 4.53912 16.7225 3.81201C16.9708 3.55201 17.219 3.29204 17.4641 3.02968C17.722 2.75397 17.9912 2.48888 18.2655 2.21884C18.394 2.09226 18.5237 1.96459 18.6538 1.83423C17.8357 3.69048 17.2176 5.58025 17.1128 7.60412C17.0758 8.32404 17.1137 9.04042 17.4254 9.71004C17.7556 10.4211 18.4926 10.7352 19.1724 10.4652C19.7932 10.2182 20.1138 9.62446 19.9632 8.87544C19.8108 8.11671 19.6127 7.36679 19.4119 6.61953C18.962 4.94769 18.8493 3.27142 19.3186 1.58544C19.4001 1.29259 19.499 1.00464 19.6017 0.706029Z" fill="#8B2121" /> 3090 <path d="M0 20H16.7817V13.4696H15.725V18.9413H1.05667V4.24398H7.28839V3.18528H0V20Z" fill="#8B2121" /> 3091 </svg> 3092 </div> 3093 </div> 3094 <!-- end text content --> 3095 </a> 3096 <!-- end book item --> 3097 </div> 3098 3099 3100 3101 3102 <div class="swiper-slide"> 3103 <a href="https://coles-books.co.uk/pax-by-tom-holland" target="_blank" class="group book-promo"> 3104 <div class="relative"> 3105 <div class="h-[342px] lg:h-[420px] flex items-center justify-center border-[16px] lg:border-[1.5rem] bg-off_white_bg booksImg flex items-center justify-center"> 3106 <img decoding="async" src="https://therestishistory.com/hubfs/9780349141213.jpg" alt="Pax" class="max-w-[60%] max-h-[80%]"> 3107 </div> 3108 </div> 3109 <div class="mt-6 flex"> 3110 <div> 3111 <h3 class="text-2xl leading-[100%] font-bold">Pax</h3>
3112 <span class="text-xl text-base leading-[140%] font-light tracking-[0.025rem] mt-1 block">by Tom Holland</span> 3113 </div> 3114 <div class="ml-auto"> 3115 <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewbox="0 0 20 20" fill="none"> 3116 <path d="M19.6017 0.706029C19.6499 0.565644 19.699 0.422907 19.7474 0.276191L19.7483 0.272669C19.717 0.269262 19.6924 0.264799 19.6724 0.261163C19.6406 0.255391 19.6203 0.251717 19.603 0.257667C19.4851 0.298262 19.3683 0.342086 19.2516 0.38586C19.1959 0.406774 19.1402 0.427688 19.0844 0.448233C17.0459 1.19991 15.0091 1.04816 12.9636 0.466757C12.2794 0.272669 11.5811 0.0909263 10.8767 0.0106391C10.1449 -0.0722926 9.63598 0.337064 9.47395 0.978459C9.31986 1.58897 9.59899 2.24271 10.2427 2.51533C10.6988 2.70854 11.2113 2.82765 11.7062 2.85676C13.3475 2.95293 14.9114 2.54445 16.4453 2.00363C16.8082 1.87565 17.1677 1.73744 17.527 1.59931C17.6953 1.53462 17.8636 1.46995 18.0321 1.40635C17.9942 1.51399 17.9317 1.58015 17.8648 1.64279C17.5362 1.95152 17.2083 2.261 16.8806 2.57042C16.0824 3.32389 15.2845 4.07714 14.4755 4.81887C14.383 4.90367 14.2723 5.00529 14.1464 5.12101C12.6473 6.49801 8.97481 9.8714 7.70844 10.6682C7.06651 11.0722 6.43603 11.5081 5.86102 12.0012C5.36263 12.4282 5.06676 13.0088 5.22966 13.7031C5.48943 14.8068 6.7636 15.1676 7.68642 14.4239C8.06506 14.1195 8.52295 13.5019 8.82498 13.0899C9.09972 12.7159 9.32954 12.4221 9.55585 12.1477C10.1085 11.4774 11.1351 10.2706 12.14 9.08929C13.234 7.80317 14.3024 6.54729 14.7054 6.04695C15.3339 5.26647 16.0283 4.53912 16.7225 3.81201C16.9708 3.55201 17.219 3.29204 17.4641 3.02968C17.722 2.75397 17.9912 2.48888 18.2655 2.21884C18.394 2.09226 18.5237 1.96459 18.6538 1.83423C17.8357 3.69048 17.2176 5.58025 17.1128 7.60412C17.0758 8.32404 17.1137 9.04042 17.4254 9.71004C17.7556 10.4211 18.4926 10.7352 19.1724 10.4652C19.7932 10.2182 20.1138 9.62446 19.9632 8.87544C19.8108 8.11671 19.6127 7.36679 19.4119 6.61953C18.962 4.94769 18.8493 3.27142 19.3186 1.58544C19.4001 1.29259 19.499 1.00464 19.6017 0.706029Z" fill="#8B2121" /> 3117 <path d="M0 20H16.7817V13.4696H15.725V18.9413H1.05667V4.24398H7.28839V3.18528H0V20Z" fill="#8B2121" /> 3118 </svg> 3119 </div> 3120 </div> 3121 <!-- end text content --> 3122 </a> 3123 <!-- end book item --> 3124 </div> 3125 3126 3127 3128 3129 <div class="swiper-slide"> 3130 <a href="https://coles-books.co.uk/adventures-in-time-the-fall-of-the-aztecs-by-dominic-sandbrook" target="_blank" class="group book-promo"> 3131 <div class="relative"> 3132 <div class="h-[342px] lg:h-[420px] flex items-center justify-center border-[16px] lg:border-[1.5rem] bg-off_white_bg booksImg flex items-center justify-center"> 3133 <img decoding="async" src="https://therestishistory.com/hubfs/9780141999210-jacket-large.webp" alt="The Fall of the Aztecs" class="max-w-[60%] max-h-[80%]"> 3134 </div> 3135 </div> 3136 <div class="mt-6 flex"> 3137 <div> 3138 <h3 class="text-2xl leading-[100%] font-bold">The Fall of the Aztecs</h3> 3139 <span class="text-xl text-base leading-[140%] font-light tracking-[0.025rem] mt-1 block">by Dominic Sandbrook</span> 3140 </div> 3141 <div class="ml-auto"> 3142 <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewbox="0 0 20 20" fill="none"> 3143 <path d="M19.6017 0.706029C19.6499 0.565644 19.699 0.422907 19.7474 0.276191L19.7483 0.272669C19.717 0.269262 19.6924 0.264799 19.6724 0.261163C19.6406 0.255391 19.6203 0.251717 19.603 0.257667C19.4851 0.298262 19.3683 0.342086 19.2516 0.38586C19.1959 0.406774 19.1402 0.427688 19.0844 0.448233C17.0459 1.19991 15.0091 1.04816 12.9636 0.466757C12.2794 0.272669 11.5811 0.0909263 10.8767 0.0106391C10.1449 -0.0722926 9.63598 0.337064 9.47395 0.978459C9.31986 1.58897 9.59899 2.24271 10.2427 2.51533C10.6988 2.70854 11.2113 2.82765 11.7062 2.85676C13.3475 2.95293 14.9114 2.54445 16.4453 2.00363C16.8082 1.87565 17.1677 1.73744 17.527 1.59931C17.6953 1.53462 17.8636 1.46995 18.0321 1.40635C17.9942 1.51399 17.9317 1.58015 17.8648 1.64279C17.5362 1.95152 17.2083 2.261 16.8806 2.57042C16.0824 3.32389 15.2845 4.07714 14.4755 4.81887C14.383 4.90367 14.2723 5.00529 14.1464 5.12101C12.6473 6.49801 8.97481 9.8714 7.70844 10.6682C7.066
314351 11.0722 6.43603 11.5081 5.86102 12.0012C5.36263 12.4282 5.06676 13.0088 5.22966 13.7031C5.48943 14.8068 6.7636 15.1676 7.68642 14.4239C8.06506 14.1195 8.52295 13.5019 8.82498 13.0899C9.09972 12.7159 9.32954 12.4221 9.55585 12.1477C10.1085 11.4774 11.1351 10.2706 12.14 9.08929C13.234 7.80317 14.3024 6.54729 14.7054 6.04695C15.3339 5.26647 16.0283 4.53912 16.7225 3.81201C16.9708 3.55201 17.219 3.29204 17.4641 3.02968C17.722 2.75397 17.9912 2.48888 18.2655 2.21884C18.394 2.09226 18.5237 1.96459 18.6538 1.83423C17.8357 3.69048 17.2176 5.58025 17.1128 7.60412C17.0758 8.32404 17.1137 9.04042 17.4254 9.71004C17.7556 10.4211 18.4926 10.7352 19.1724 10.4652C19.7932 10.2182 20.1138 9.62446 19.9632 8.87544C19.8108 8.11671 19.6127 7.36679 19.4119 6.61953C18.962 4.94769 18.8493 3.27142 19.3186 1.58544C19.4001 1.29259 19.499 1.00464 19.6017 0.706029Z" fill="#8B2121" /> 3144 <path d="M0 20H16.7817V13.4696H15.725V18.9413H1.05667V4.24398H7.28839V3.18528H0V20Z" fill="#8B2121" /> 3145 </svg> 3146 </div> 3147 </div> 3148 <!-- end text content --> 3149 </a> 3150 <!-- end book item --> 3151 </div> 3152 3153 3154 3155 3156 <div class="swiper-slide"> 3157 <a href="https://coles-books.co.uk/adventures-in-time-alexander-the-great-by-dominic-sandbrook" target="_blank" class="group book-promo"> 3158 <div class="relative"> 3159 <div class="h-[342px] lg:h-[420px] flex items-center justify-center border-[16px] lg:border-[1.5rem] bg-off_white_bg booksImg flex items-center justify-center"> 3160 <img decoding="async" src="https://therestishistory.com/hubfs/9780141994307-jacket-large.webp" alt="Alexander the Great" class="max-w-[60%] max-h-[80%]"> 3161 </div> 3162 </div> 3163 <div class="mt-6 flex"> 3164 <div> 3165 <h3 class="text-2xl leading-[100%] font-bold">Alexander the Great</h3> 3166 <span class="text-xl text-base leading-[140%] font-light tracking-[0.025rem] mt-1 block">by Dominic Sandbrook</span> 3167 </div> 3168 <div class="ml-auto"> 3169 <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewbox="0 0 20 20" fill="none"> 3170 <path d="M19.6017 0.706029C19.6499 0.565644 19.699 0.422907 19.7474 0.276191L19.7483 0.272669C19.717 0.269262 19.6924 0.264799 19.6724 0.261163C19.6406 0.255391 19.6203 0.251717 19.603 0.257667C19.4851 0.298262 19.3683 0.342086 19.2516 0.38586C19.1959 0.406774 19.1402 0.427688 19.0844 0.448233C17.0459 1.19991 15.0091 1.04816 12.9636 0.466757C12.2794 0.272669 11.5811 0.0909263 10.8767 0.0106391C10.1449 -0.0722926 9.63598 0.337064 9.47395 0.978459C9.31986 1.58897 9.59899 2.24271 10.2427 2.51533C10.6988 2.70854 11.2113 2.82765 11.7062 2.85676C13.3475 2.95293 14.9114 2.54445 16.4453 2.00363C16.8082 1.87565 17.1677 1.73744 17.527 1.59931C17.6953 1.53462 17.8636 1.46995 18.0321 1.40635C17.9942 1.51399 17.9317 1.58015 17.8648 1.64279C17.5362 1.95152 17.2083 2.261 16.8806 2.57042C16.0824 3.32389 15.2845 4.07714 14.4755 4.81887C14.383 4.90367 14.2723 5.00529 14.1464 5.12101C12.6473 6.49801 8.97481 9.8714 7.70844 10.6682C7.06651 11.0722 6.43603 11.5081 5.86102 12.0012C5.36263 12.4282 5.06676 13.0088 5.22966 13.7031C5.48943 14.8068 6.7636 15.1676 7.68642 14.4239C8.06506 14.1195 8.52295 13.5019 8.82498 13.0899C9.09972 12.7159 9.32954 12.4221 9.55585 12.1477C10.1085 11.4774 11.1351 10.2706 12.14 9.08929C13.234 7.80317 14.3024 6.54729 14.7054 6.04695C15.3339 5.26647 16.0283 4.53912 16.7225 3.81201C16.9708 3.55201 17.219 3.29204 17.4641 3.02968C17.722 2.75397 17.9912 2.48888 18.2655 2.21884C18.394 2.09226 18.5237 1.96459 18.6538 1.83423C17.8357 3.69048 17.2176 5.58025 17.1128 7.60412C17.0758 8.32404 17.1137 9.04042 17.4254 9.71004C17.7556 10.4211 18.4926 10.7352 19.1724 10.4652C19.7932 10.2182 20.1138 9.62446 19.9632 8.87544C19.8108 8.11671 19.6127 7.36679 19.4119 6.61953C18.962 4.94769 18.8493 3.27142 19.3186 1.58544C19.4001 1.29259 19.499 1.00464 19.6017 0.706029Z" fill="#8B2121" /> 3171 <path d="M0 20H16.7817V13.4696H15.725V18.9413H1.05667V4.24398H7.28839V3.18528H0V20Z" fill="#8B2121" /> 3172 </svg> 3173 </div> 3174 </div> 3175 <!-- end text content --> 3176 </a> 3177 <!-- end book item --> 3178 </div> 3179 3180 3181 3182 3183 <div class="swiper-slide"> 3184 <a href="https://coles-books.co.uk/adventures-in-time-cleopatra-queen-of-the-nile-by-dominic-sandbrook" target="_blank" class="group book-promo"> 3185 <div class="relative"> 3186 <div class="h-[342px] lg:h-[420px] flex items-center justify-center border-[16px] lg:border-[1.5rem] bg-off_white_bg booksImg flex items-center justify-center"> 3187 <img decoding="async" src="https://therestishistory.com/hubfs/Cleop
3187atra.jpg" alt="Cleopatra, Queen of the Nile" class="max-w-[60%] max-h-[80%]"> 3188 </div> 3189 </div> 3190 <div class="mt-6 flex"> 3191 <div> 3192 <h3 class="text-2xl leading-[100%] font-bold">Cleopatra, Queen of the Nile</h3> 3193 <span class="text-xl text-base leading-[140%] font-light tracking-[0.025rem] mt-1 block">by Dominic Sandbrook</span> 3194 </div> 3195 <div class="ml-auto"> 3196 <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewbox="0 0 20 20" fill="none"> 3197 <path d="M19.6017 0.706029C19.6499 0.565644 19.699 0.422907 19.7474 0.276191L19.7483 0.272669C19.717 0.269262 19.6924 0.264799 19.6724 0.261163C19.6406 0.255391 19.6203 0.251717 19.603 0.257667C19.4851 0.298262 19.3683 0.342086 19.2516 0.38586C19.1959 0.406774 19.1402 0.427688 19.0844 0.448233C17.0459 1.19991 15.0091 1.04816 12.9636 0.466757C12.2794 0.272669 11.5811 0.0909263 10.8767 0.0106391C10.1449 -0.0722926 9.63598 0.337064 9.47395 0.978459C9.31986 1.58897 9.59899 2.24271 10.2427 2.51533C10.6988 2.70854 11.2113 2.82765 11.7062 2.85676C13.3475 2.95293 14.9114 2.54445 16.4453 2.00363C16.8082 1.87565 17.1677 1.73744 17.527 1.59931C17.6953 1.53462 17.8636 1.46995 18.0321 1.40635C17.9942 1.51399 17.9317 1.58015 17.8648 1.64279C17.5362 1.95152 17.2083 2.261 16.8806 2.57042C16.0824 3.32389 15.2845 4.07714 14.4755 4.81887C14.383 4.90367 14.2723 5.00529 14.1464 5.12101C12.6473 6.49801 8.97481 9.8714 7.70844 10.6682C7.06651 11.0722 6.43603 11.5081 5.86102 12.0012C5.36263 12.4282 5.06676 13.0088 5.22966 13.7031C5.48943 14.8068 6.7636 15.1676 7.68642 14.4239C8.06506 14.1195 8.52295 13.5019 8.82498 13.0899C9.09972 12.7159 9.32954 12.4221 9.55585 12.1477C10.1085 11.4774 11.1351 10.2706 12.14 9.08929C13.234 7.80317 14.3024 6.54729 14.7054 6.04695C15.3339 5.26647 16.0283 4.53912 16.7225 3.81201C16.9708 3.55201 17.219 3.29204 17.4641 3.02968C17.722 2.75397 17.9912 2.48888 18.2655 2.21884C18.394 2.09226 18.5237 1.96459 18.6538 1.83423C17.8357 3.69048 17.2176 5.58025 17.1128 7.60412C17.0758 8.32404 17.1137 9.04042 17.4254 9.71004C17.7556 10.4211 18.4926 10.7352 19.1724 10.4652C19.7932 10.2182 20.1138 9.62446 19.9632 8.87544C19.8108 8.11671 19.6127 7.36679 19.4119 6.61953C18.962 4.94769 18.8493 3.27142 19.3186 1.58544C19.4001 1.29259 19.499 1.00464 19.6017 0.706029Z" fill="#8B2121" /> 3198 <path d="M0 20H16.7817V13.4696H15.725V18.9413H1.05667V4.24398H7.28839V3.18528H0V20Z" fill="#8B2121" /> 3199 </svg> 3200 </div> 3201 </div> 3202 <!-- end text content --> 3203 </a> 3204 <!-- end book item --> 3205 </div> 3206 3207 3208 3209 3210 <div class="swiper-slide"> 3211 <a href="https://coles-books.co.uk/adventures-in-time-fury-of-the-vikings-by-dominic-sandbrook" target="_blank" class="group book-promo"> 3212 <div class="relative"> 3213 <div class="h-[342px] lg:h-[420px] flex items-center justify-center border-[16px] lg:border-[1.5rem] bg-off_white_bg booksImg flex items-center justify-center"> 3214 <img decoding="async" src="https://therestishistory.com/hubfs/Fury%20of%20the%20Vikings.jpg" alt="Fury of the Vikings" class="max-w-[60%] max-h-[80%]"> 3215 </div> 3216 </div> 3217 <div class="mt-6 flex"> 3218 <div> 3219 <h3 class="text-2xl leading-[100%] font-bold">Fury of the Vikings</h3> 3220 <span class="text-xl text-base leading-[140%] font-light tracking-[0.025rem] mt-1 block">by Dominic Sandbrook</span> 3221 </div> 3222 <div class="ml-auto"> 3223 <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewbox="0 0 20 20" fill="none"> 3224 <path d="M19.6017 0.706029C19.6499 0.565644 19.699 0.422907 19.7474 0.276191L19.7483 0.272669C19.717 0.269262 19.6924 0.264799 19.6724 0.261163C19.6406 0.255391 19.6203 0.251717 19.603 0.257667C19.4851 0.298262 19.3683 0.342086 19.2516 0.38586C19.1959 0.406774 19.1402 0.427688 19.0844 0.448233C17.0459 1.19991 15.0091 1.04816 12.9636 0.466757C12.2794 0.272669 11.5811 0.0909263 10.8767 0.0106391C10.1449 -0.0722926 9.63598 0.337064 9.47395 0.978459C9.31986 1.58897 9.59899 2.24271 10.2427 2.51533C10.6988 2.70854 11.2113 2.82765 11.7062 2.85676C13.3475 2.95293 14.9114 2.54445 16.4453 2.00363C16.8082 1.87565 17.1677 1.73744 17.527 1.59931C17.6953 1.53462 17.8636 1.46995 18.0321 1.40635C17.9942 1.51399 17.9317 1.58015 17.8648 1.64279C17.5362 1.95152 17.2083 2.261 16.8806 2.57042C16.0824 3.32389 15.2845 4.07714 14.4755 4.81887C14.383 4.90367 14.2723 5.00529 14.1464 5.12101C12.6473 6.49801 8.97481 9.8714 7.70844 10.6682C7.066
322451 11.0722 6.43603 11.5081 5.86102 12.0012C5.36263 12.4282 5.06676 13.0088 5.22966 13.7031C5.48943 14.8068 6.7636 15.1676 7.68642 14.4239C8.06506 14.1195 8.52295 13.5019 8.82498 13.0899C9.09972 12.7159 9.32954 12.4221 9.55585 12.1477C10.1085 11.4774 11.1351 10.2706 12.14 9.08929C13.234 7.80317 14.3024 6.54729 14.7054 6.04695C15.3339 5.26647 16.0283 4.53912 16.7225 3.81201C16.9708 3.55201 17.219 3.29204 17.4641 3.02968C17.722 2.75397 17.9912 2.48888 18.2655 2.21884C18.394 2.09226 18.5237 1.96459 18.6538 1.83423C17.8357 3.69048 17.2176 5.58025 17.1128 7.60412C17.0758 8.32404 17.1137 9.04042 17.4254 9.71004C17.7556 10.4211 18.4926 10.7352 19.1724 10.4652C19.7932 10.2182 20.1138 9.62446 19.9632 8.87544C19.8108 8.11671 19.6127 7.36679 19.4119 6.61953C18.962 4.94769 18.8493 3.27142 19.3186 1.58544C19.4001 1.29259 19.499 1.00464 19.6017 0.706029Z" fill="#8B2121" /> 3225 <path d="M0 20H16.7817V13.4696H15.725V18.9413H1.05667V4.24398H7.28839V3.18528H0V20Z" fill="#8B2121" /> 3226 </svg> 3227 </div> 3228 </div> 3229 <!-- end text content --> 3230 </a> 3231 <!-- end book item --> 3232 </div> 3233 3234 3235 3236 3237 <div class="swiper-slide"> 3238 <a href="https://coles-books.co.uk/adventures-in-time-the-six-wives-of-henry-viii-by-dominic-sandbrook" target="_blank" class="group book-promo"> 3239 <div class="relative"> 3240 <div class="h-[342px] lg:h-[420px] flex items-center justify-center border-[16px] lg:border-[1.5rem] bg-off_white_bg booksImg flex items-center justify-center"> 3241 <img decoding="async" src="https://therestishistory.com/hubfs/Six%20Wives.jpg" alt="The Six Wives of Henry VIII" class="max-w-[60%] max-h-[80%]"> 3242 </div> 3243 </div> 3244 <div class="mt-6 flex"> 3245 <div> 3246 <h3 class="text-2xl leading-[100%] font-bold">The Six Wives of Henry VIII</h3> 3247 <span class="text-xl text-base leading-[140%] font-light tracking-[0.025rem] mt-1 block">by Dominic Sandbrook</span> 3248 </div> 3249 <div class="ml-auto"> 3250 <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewbox="0 0 20 20" fill="none"> 3251 <path d="M19.6017 0.706029C19.6499 0.565644 19.699 0.422907 19.7474 0.276191L19.7483 0.272669C19.717 0.269262 19.6924 0.264799 19.6724 0.261163C19.6406 0.255391 19.6203 0.251717 19.603 0.257667C19.4851 0.298262 19.3683 0.342086 19.2516 0.38586C19.1959 0.406774 19.1402 0.427688 19.0844 0.448233C17.0459 1.19991 15.0091 1.04816 12.9636 0.466757C12.2794 0.272669 11.5811 0.0909263 10.8767 0.0106391C10.1449 -0.0722926 9.63598 0.337064 9.47395 0.978459C9.31986 1.58897 9.59899 2.24271 10.2427 2.51533C10.6988 2.70854 11.2113 2.82765 11.7062 2.85676C13.3475 2.95293 14.9114 2.54445 16.4453 2.00363C16.8082 1.87565 17.1677 1.73744 17.527 1.59931C17.6953 1.53462 17.8636 1.46995 18.0321 1.40635C17.9942 1.51399 17.9317 1.58015 17.8648 1.64279C17.5362 1.95152 17.2083 2.261 16.8806 2.57042C16.0824 3.32389 15.2845 4.07714 14.4755 4.81887C14.383 4.90367 14.2723 5.00529 14.1464 5.12101C12.6473 6.49801 8.97481 9.8714 7.70844 10.6682C7.06651 11.0722 6.43603 11.5081 5.86102 12.0012C5.36263 12.4282 5.06676 13.0088 5.22966 13.7031C5.48943 14.8068 6.7636 15.1676 7.68642 14.4239C8.06506 14.1195 8.52295 13.5019 8.82498 13.0899C9.09972 12.7159 9.32954 12.4221 9.55585 12.1477C10.1085 11.4774 11.1351 10.2706 12.14 9.08929C13.234 7.80317 14.3024 6.54729 14.7054 6.04695C15.3339 5.26647 16.0283 4.53912 16.7225 3.81201C16.9708 3.55201 17.219 3.29204 17.4641 3.02968C17.722 2.75397 17.9912 2.48888 18.2655 2.21884C18.394 2.09226 18.5237 1.96459 18.6538 1.83423C17.8357 3.69048 17.2176 5.58025 17.1128 7.60412C17.0758 8.32404 17.1137 9.04042 17.4254 9.71004C17.7556 10.4211 18.4926 10.7352 19.1724 10.4652C19.7932 10.2182 20.1138 9.62446 19.9632 8.87544C19.8108 8.11671 19.6127 7.36679 19.4119 6.61953C18.962 4.94769 18.8493 3.27142 19.3186 1.58544C19.4001 1.29259 19.499 1.00464 19.6017 0.706029Z" fill="#8B2121" /> 3252 <path d="M0 20H16.7817V13.4696H15.725V18.9413H1.05667V4.24398H7.28839V3.18528H0V20Z" fill="#8B2121" /> 3253 </svg> 3254 </div> 3255 </div> 3256 <!-- end text content --> 3257 </a> 3258 <!-- end book item --> 3259 </div> 3260 3261 3262 3263 3264 <div class="swiper-slide"> 3265 <a href="https://coles-books.co.uk/adventures-in-time-the-second-world-war-by-dominic-sandbrook" target="_blank" class="group book-promo"> 3266 <div class="relative"> 3267 <div class="h-[342px] lg:h-[420px] flex items-center justify-center border-[16px] lg:border-[1.5rem] bg-off_white_bg booksImg flex items-center justify-center"> 3268 <img decoding="async" src="https://therestishistory.com/hubfs/WW2.jpg" alt="The Second World War" class="max-w-[60%] max-h-[80%]"> 3269 </div> 3270 </div> 3271 <div class="mt-6 flex"> 3272 <div> 3273 <h3 class="text-2xl leading-[100%] font-bold">The Second World War</h3>
3274 <span class="text-xl text-base leading-[140%] font-light tracking-[0.025rem] mt-1 block">by Dominic Sandbrook</span> 3275 </div> 3276 <div class="ml-auto"> 3277 <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewbox="0 0 20 20" fill="none"> 3278 <path d="M19.6017 0.706029C19.6499 0.565644 19.699 0.422907 19.7474 0.276191L19.7483 0.272669C19.717 0.269262 19.6924 0.264799 19.6724 0.261163C19.6406 0.255391 19.6203 0.251717 19.603 0.257667C19.4851 0.298262 19.3683 0.342086 19.2516 0.38586C19.1959 0.406774 19.1402 0.427688 19.0844 0.448233C17.0459 1.19991 15.0091 1.04816 12.9636 0.466757C12.2794 0.272669 11.5811 0.0909263 10.8767 0.0106391C10.1449 -0.0722926 9.63598 0.337064 9.47395 0.978459C9.31986 1.58897 9.59899 2.24271 10.2427 2.51533C10.6988 2.70854 11.2113 2.82765 11.7062 2.85676C13.3475 2.95293 14.9114 2.54445 16.4453 2.00363C16.8082 1.87565 17.1677 1.73744 17.527 1.59931C17.6953 1.53462 17.8636 1.46995 18.0321 1.40635C17.9942 1.51399 17.9317 1.58015 17.8648 1.64279C17.5362 1.95152 17.2083 2.261 16.8806 2.57042C16.0824 3.32389 15.2845 4.07714 14.4755 4.81887C14.383 4.90367 14.2723 5.00529 14.1464 5.12101C12.6473 6.49801 8.97481 9.8714 7.70844 10.6682C7.06651 11.0722 6.43603 11.5081 5.86102 12.0012C5.36263 12.4282 5.06676 13.0088 5.22966 13.7031C5.48943 14.8068 6.7636 15.1676 7.68642 14.4239C8.06506 14.1195 8.52295 13.5019 8.82498 13.0899C9.09972 12.7159 9.32954 12.4221 9.55585 12.1477C10.1085 11.4774 11.1351 10.2706 12.14 9.08929C13.234 7.80317 14.3024 6.54729 14.7054 6.04695C15.3339 5.26647 16.0283 4.53912 16.7225 3.81201C16.9708 3.55201 17.219 3.29204 17.4641 3.02968C17.722 2.75397 17.9912 2.48888 18.2655 2.21884C18.394 2.09226 18.5237 1.96459 18.6538 1.83423C17.8357 3.69048 17.2176 5.58025 17.1128 7.60412C17.0758 8.32404 17.1137 9.04042 17.4254 9.71004C17.7556 10.4211 18.4926 10.7352 19.1724 10.4652C19.7932 10.2182 20.1138 9.62446 19.9632 8.87544C19.8108 8.11671 19.6127 7.36679 19.4119 6.61953C18.962 4.94769 18.8493 3.27142 19.3186 1.58544C19.4001 1.29259 19.499 1.00464 19.6017 0.706029Z" fill="#8B2121" /> 3279 <path d="M0 20H16.7817V13.4696H15.725V18.9413H1.05667V4.24398H7.28839V3.18528H0V20Z" fill="#8B2121" /> 3280 </svg> 3281 </div> 3282 </div> 3283 <!-- end text content --> 3284 </a> 3285 <!-- end book item --> 3286 </div> 3287 3288 3289 3290 3291 <div class="swiper-slide"> 3292 <a href="https://coles-books.co.uk/dominion-the-making-of-the-western-mind-by-tom-holland" target="_blank" class="group book-promo"> 3293 <div class="relative"> 3294 <div class="h-[342px] lg:h-[420px] flex items-center justify-center border-[16px] lg:border-[1.5rem] bg-off_white_bg booksImg flex items-center justify-center"> 3295 <img decoding="async" src="https://therestishistory.com/hubfs/Dominion.jpg" alt="Dominion" class="max-w-[60%] max-h-[80%]"> 3296 </div> 3297 </div> 3298 <div class="mt-6 flex"> 3299 <div> 3300 <h3 class="text-2xl leading-[100%] font-bold">Dominion</h3> 3301 <span class="text-xl text-base leading-[140%] font-light tracking-[0.025rem] mt-1 block">by Tom Holland</span> 3302 </div> 3303 <div class="ml-auto"> 3304 <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewbox="0 0 20 20" fill="none"> 3305 <path d="M19.6017 0.706029C19.6499 0.565644 19.699 0.422907 19.7474 0.276191L19.7483 0.272669C19.717 0.269262 19.6924 0.264799 19.6724 0.261163C19.6406 0.255391 19.6203 0.251717 19.603 0.257667C19.4851 0.298262 19.3683 0.342086 19.2516 0.38586C19.1959 0.406774 19.1402 0.427688 19.0844 0.448233C17.0459 1.19991 15.0091 1.04816 12.9636 0.466757C12.2794 0.272669 11.5811 0.0909263 10.8767 0.0106391C10.1449 -0.0722926 9.63598 0.337064 9.47395 0.978459C9.31986 1.58897 9.59899 2.24271 10.2427 2.51533C10.6988 2.70854 11.2113 2.82765 11.7062 2.85676C13.3475 2.95293 14.9114 2.54445 16.4453 2.00363C16.8082 1.87565 17.1677 1.73744 17.527 1.59931C17.6953 1.53462 17.8636 1.46995 18.0321 1.40635C17.9942 1.51399 17.9317 1.58015 17.8648 1.64279C17.5362 1.95152 17.2083 2.261 16.8806 2.57042C16.0824 3.32389 15.2845 4.07714 14.4755 4.81887C14.383 4.90367 14.2723 5.00529 14.1464 5.12101C12.6473 6.49801 8.97481 9.8714 7.70844 10.6682C7.066
330551 11.0722 6.43603 11.5081 5.86102 12.0012C5.36263 12.4282 5.06676 13.0088 5.22966 13.7031C5.48943 14.8068 6.7636 15.1676 7.68642 14.4239C8.06506 14.1195 8.52295 13.5019 8.82498 13.0899C9.09972 12.7159 9.32954 12.4221 9.55585 12.1477C10.1085 11.4774 11.1351 10.2706 12.14 9.08929C13.234 7.80317 14.3024 6.54729 14.7054 6.04695C15.3339 5.26647 16.0283 4.53912 16.7225 3.81201C16.9708 3.55201 17.219 3.29204 17.4641 3.02968C17.722 2.75397 17.9912 2.48888 18.2655 2.21884C18.394 2.09226 18.5237 1.96459 18.6538 1.83423C17.8357 3.69048 17.2176 5.58025 17.1128 7.60412C17.0758 8.32404 17.1137 9.04042 17.4254 9.71004C17.7556 10.4211 18.4926 10.7352 19.1724 10.4652C19.7932 10.2182 20.1138 9.62446 19.9632 8.87544C19.8108 8.11671 19.6127 7.36679 19.4119 6.61953C18.962 4.94769 18.8493 3.27142 19.3186 1.58544C19.4001 1.29259 19.499 1.00464 19.6017 0.706029Z" fill="#8B2121" /> 3306 <path d="M0 20H16.7817V13.4696H15.725V18.9413H1.05667V4.24398H7.28839V3.18528H0V20Z" fill="#8B2121" /> 3307 </svg> 3308 </div> 3309 </div> 3310 <!-- end text content --> 3311 </a> 3312 <!-- end book item --> 3313 </div> 3314 3315 3316 3317 3318 <div class="swiper-slide"> 3319 <a href="https://coles-books.co.uk/aethelflaed-a-ladybird-expert-book-england-s-forgotten-founder-by-tom-holland-hardback" target="_blank" class="group book-promo"> 3320 <div class="relative"> 3321 <div class="h-[342px] lg:h-[420px] flex items-center justify-center border-[16px] lg:border-[1.5rem] bg-off_white_bg booksImg flex items-center justify-center"> 3322 <img decoding="async" src="https://therestishistory.com/hubfs/%C3%86thelfl%C3%A6d.jpeg" alt="Aethelflaed " class="max-w-[60%] max-h-[80%]"> 3323 </div> 3324 </div> 3325 <div class="mt-6 flex"> 3326 <div> 3327 <h3 class="text-2xl leading-[100%] font-bold">Aethelflaed </h3> 3328 <span class="text-xl text-base leading-[140%] font-light tracking-[0.025rem] mt-1 block">by Tom Holland</span> 3329 </div> 3330 <div class="ml-auto"> 3331 <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewbox="0 0 20 20" fill="none"> 3332 <path d="M19.6017 0.706029C19.6499 0.565644 19.699 0.422907 19.7474 0.276191L19.7483 0.272669C19.717 0.269262 19.6924 0.264799 19.6724 0.261163C19.6406 0.255391 19.6203 0.251717 19.603 0.257667C19.4851 0.298262 19.3683 0.342086 19.2516 0.38586C19.1959 0.406774 19.1402 0.427688 19.0844 0.448233C17.0459 1.19991 15.0091 1.04816 12.9636 0.466757C12.2794 0.272669 11.5811 0.0909263 10.8767 0.0106391C10.1449 -0.0722926 9.63598 0.337064 9.47395 0.978459C9.31986 1.58897 9.59899 2.24271 10.2427 2.51533C10.6988 2.70854 11.2113 2.82765 11.7062 2.85676C13.3475 2.95293 14.9114 2.54445 16.4453 2.00363C16.8082 1.87565 17.1677 1.73744 17.527 1.59931C17.6953 1.53462 17.8636 1.46995 18.0321 1.40635C17.9942 1.51399 17.9317 1.58015 17.8648 1.64279C17.5362 1.95152 17.2083 2.261 16.8806 2.57042C16.0824 3.32389 15.2845 4.07714 14.4755 4.81887C14.383 4.90367 14.2723 5.00529 14.1464 5.12101C12.6473 6.49801 8.97481 9.8714 7.70844 10.6682C7.06651 11.0722 6.43603 11.5081 5.86102 12.0012C5.36263 12.4282 5.06676 13.0088 5.22966 13.7031C5.48943 14.8068 6.7636 15.1676 7.68642 14.4239C8.06506 14.1195 8.52295 13.5019 8.82498 13.0899C9.09972 12.7159 9.32954 12.4221 9.55585 12.1477C10.1085 11.4774 11.1351 10.2706 12.14 9.08929C13.234 7.80317 14.3024 6.54729 14.7054 6.04695C15.3339 5.26647 16.0283 4.53912 16.7225 3.81201C16.9708 3.55201 17.219 3.29204 17.4641 3.02968C17.722 2.75397 17.9912 2.48888 18.2655 2.21884C18.394 2.09226 18.5237 1.96459 18.6538 1.83423C17.8357 3.69048 17.2176 5.58025 17.1128 7.60412C17.0758 8.32404 17.1137 9.04042 17.4254 9.71004C17.7556 10.4211 18.4926 10.7352 19.1724 10.4652C19.7932 10.2182 20.1138 9.62446 19.9632 8.87544C19.8108 8.11671 19.6127 7.36679 19.4119 6.61953C18.962 4.94769 18.8493 3.27142 19.3186 1.58544C19.4001 1.29259 19.499 1.00464 19.6017 0.706029Z" fill="#8B2121" /> 3333 <path d="M0 20H16.7817V13.4696H15.725V18.9413H1.05667V4.24398H7.28839V3.18528H0V20Z" fill="#8B2121" /> 3334 </svg> 3335 </div> 3336 </div> 3337 <!-- end text content --> 3338 </a> 3339 <!-- end book item --> 3340 </div> 3341 3342 3343 3344 3345 <div class="swiper-slide"> 3346 <a href="https://coles-books.co.uk/who-dares-wins-britain-1979-1982-by-dominic-sandbrook" target="_blank" class="group book-promo"> 3347 <div class="relative"> 3348 <div class="h-[342px] lg:h-[420px] flex items-center justify-center border-[16px] lg:border-[1.5rem] bg-off_white_bg booksImg flex items-center justify-center"> 3349 <img decoding="async" src="https://therestishistory.com/hubfs/811HzkcB1HL._AC_UF894%2c1000_QL80_.jpg" alt="Who Dares Wins" class="max-w-[60%] max-h-[80%]"> 3350 </div> 3351 </div> 3352 <div class="mt-6 flex"> 3353 <div> 3354 <h3 class="text-2xl leading-[100%] font-bold">Who Dares Wins</h3>
3355 <span class="text-xl text-base leading-[140%] font-light tracking-[0.025rem] mt-1 block">by Dominic Sandbrook</span> 3356 </div> 3357 <div class="ml-auto"> 3358 <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewbox="0 0 20 20" fill="none"> 3359 <path d="M19.6017 0.706029C19.6499 0.565644 19.699 0.422907 19.7474 0.276191L19.7483 0.272669C19.717 0.269262 19.6924 0.264799 19.6724 0.261163C19.6406 0.255391 19.6203 0.251717 19.603 0.257667C19.4851 0.298262 19.3683 0.342086 19.2516 0.38586C19.1959 0.406774 19.1402 0.427688 19.0844 0.448233C17.0459 1.19991 15.0091 1.04816 12.9636 0.466757C12.2794 0.272669 11.5811 0.0909263 10.8767 0.0106391C10.1449 -0.0722926 9.63598 0.337064 9.47395 0.978459C9.31986 1.58897 9.59899 2.24271 10.2427 2.51533C10.6988 2.70854 11.2113 2.82765 11.7062 2.85676C13.3475 2.95293 14.9114 2.54445 16.4453 2.00363C16.8082 1.87565 17.1677 1.73744 17.527 1.59931C17.6953 1.53462 17.8636 1.46995 18.0321 1.40635C17.9942 1.51399 17.9317 1.58015 17.8648 1.64279C17.5362 1.95152 17.2083 2.261 16.8806 2.57042C16.0824 3.32389 15.2845 4.07714 14.4755 4.81887C14.383 4.90367 14.2723 5.00529 14.1464 5.12101C12.6473 6.49801 8.97481 9.8714 7.70844 10.6682C7.06651 11.0722 6.43603 11.5081 5.86102 12.0012C5.36263 12.4282 5.06676 13.0088 5.22966 13.7031C5.48943 14.8068 6.7636 15.1676 7.68642 14.4239C8.06506 14.1195 8.52295 13.5019 8.82498 13.0899C9.09972 12.7159 9.32954 12.4221 9.55585 12.1477C10.1085 11.4774 11.1351 10.2706 12.14 9.08929C13.234 7.80317 14.3024 6.54729 14.7054 6.04695C15.3339 5.26647 16.0283 4.53912 16.7225 3.81201C16.9708 3.55201 17.219 3.29204 17.4641 3.02968C17.722 2.75397 17.9912 2.48888 18.2655 2.21884C18.394 2.09226 18.5237 1.96459 18.6538 1.83423C17.8357 3.69048 17.2176 5.58025 17.1128 7.60412C17.0758 8.32404 17.1137 9.04042 17.4254 9.71004C17.7556 10.4211 18.4926 10.7352 19.1724 10.4652C19.7932 10.2182 20.1138 9.62446 19.9632 8.87544C19.8108 8.11671 19.6127 7.36679 19.4119 6.61953C18.962 4.94769 18.8493 3.27142 19.3186 1.58544C19.4001 1.29259 19.499 1.00464 19.6017 0.706029Z" fill="#8B2121" /> 3360 <path d="M0 20H16.7817V13.4696H15.725V18.9413H1.05667V4.24398H7.28839V3.18528H0V20Z" fill="#8B2121" /> 3361 </svg> 3362 </div> 3363 </div> 3364 <!-- end text content --> 3365 </a> 3366 <!-- end book item --> 3367 </div> 3368 3369 3370 3371 3372 <div class="swiper-slide"> 3373 <a href="https://coles-books.co.uk/athelstan-penguin-monarchs-the-making-of-england-by-tom-holland" target="_blank" class="group book-promo"> 3374 <div class="relative"> 3375 <div class="h-[342px] lg:h-[420px] flex items-center justify-center border-[16px] lg:border-[1.5rem] bg-off_white_bg booksImg flex items-center justify-center"> 3376 <img decoding="async" src="https://therestishistory.com/hubfs/athelstan.jpeg" alt="Athelstan" class="max-w-[60%] max-h-[80%]"> 3377 </div> 3378 </div> 3379 <div class="mt-6 flex"> 3380 <div> 3381 <h3 class="text-2xl leading-[100%] font-bold">Athelstan</h3> 3382 <span class="text-xl text-base leading-[140%] font-light tracking-[0.025rem] mt-1 block">by Tom Holland</span> 3383 </div> 3384 <div class="ml-auto"> 3385 <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewbox="0 0 20 20" fill="none"> 3386 <path d="M19.6017 0.706029C19.6499 0.565644 19.699 0.422907 19.7474 0.276191L19.7483 0.272669C19.717 0.269262 19.6924 0.264799 19.6724 0.261163C19.6406 0.255391 19.6203 0.251717 19.603 0.257667C19.4851 0.298262 19.3683 0.342086 19.2516 0.38586C19.1959 0.406774 19.1402 0.427688 19.0844 0.448233C17.0459 1.19991 15.0091 1.04816 12.9636 0.466757C12.2794 0.272669 11.5811 0.0909263 10.8767 0.0106391C10.1449 -0.0722926 9.63598 0.337064 9.47395 0.978459C9.31986 1.58897 9.59899 2.24271 10.2427 2.51533C10.6988 2.70854 11.2113 2.82765 11.7062 2.85676C13.3475 2.95293 14.9114 2.54445 16.4453 2.00363C16.8082 1.87565 17.1677 1.73744 17.527 1.59931C17.6953 1.53462 17.8636 1.46995 18.0321 1.40635C17.9942 1.51399 17.9317 1.58015 17.8648 1.64279C17.5362 1.95152 17.2083 2.261 16.8806 2.57042C16.0824 3.32389 15.2845 4.07714 14.4755 4.81887C14.383 4.90367 14.2723 5.00529 14.1464 5.12101C12.6473 6.49801 8.97481 9.8714 7.70844 10.6682C7.066
338651 11.0722 6.43603 11.5081 5.86102 12.0012C5.36263 12.4282 5.06676 13.0088 5.22966 13.7031C5.48943 14.8068 6.7636 15.1676 7.68642 14.4239C8.06506 14.1195 8.52295 13.5019 8.82498 13.0899C9.09972 12.7159 9.32954 12.4221 9.55585 12.1477C10.1085 11.4774 11.1351 10.2706 12.14 9.08929C13.234 7.80317 14.3024 6.54729 14.7054 6.04695C15.3339 5.26647 16.0283 4.53912 16.7225 3.81201C16.9708 3.55201 17.219 3.29204 17.4641 3.02968C17.722 2.75397 17.9912 2.48888 18.2655 2.21884C18.394 2.09226 18.5237 1.96459 18.6538 1.83423C17.8357 3.69048 17.2176 5.58025 17.1128 7.60412C17.0758 8.32404 17.1137 9.04042 17.4254 9.71004C17.7556 10.4211 18.4926 10.7352 19.1724 10.4652C19.7932 10.2182 20.1138 9.62446 19.9632 8.87544C19.8108 8.11671 19.6127 7.36679 19.4119 6.61953C18.962 4.94769 18.8493 3.27142 19.3186 1.58544C19.4001 1.29259 19.499 1.00464 19.6017 0.706029Z" fill="#8B2121" /> 3387 <path d="M0 20H16.7817V13.4696H15.725V18.9413H1.05667V4.24398H7.28839V3.18528H0V20Z" fill="#8B2121" /> 3388 </svg> 3389 </div> 3390 </div> 3391 <!-- end text content --> 3392 </a> 3393 <!-- end book item --> 3394 </div> 3395 3396 3397 3398 3399 <div class="swiper-slide"> 3400 <a href="https://coles-books.co.uk/dynasty-the-rise-and-fall-of-the-house-of-caesar-by-tom-holland" target="_blank" class="group book-promo"> 3401 <div class="relative"> 3402 <div class="h-[342px] lg:h-[420px] flex items-center justify-center border-[16px] lg:border-[1.5rem] bg-off_white_bg booksImg flex items-center justify-center"> 3403 <img decoding="async" src="https://therestishistory.com/hubfs/71CKo7f-mwL._AC_UF894%2c1000_QL80_.jpg" alt="Dynasty" class="max-w-[60%] max-h-[80%]"> 3404 </div> 3405 </div> 3406 <div class="mt-6 flex"> 3407 <div> 3408 <h3 class="text-2xl leading-[100%] font-bold">Dynasty</h3> 3409 <span class="text-xl text-base leading-[140%] font-light tracking-[0.025rem] mt-1 block">by Tom Holland</span> 3410 </div> 3411 <div class="ml-auto"> 3412 <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewbox="0 0 20 20" fill="none"> 3413 <path d="M19.6017 0.706029C19.6499 0.565644 19.699 0.422907 19.7474 0.276191L19.7483 0.272669C19.717 0.269262 19.6924 0.264799 19.6724 0.261163C19.6406 0.255391 19.6203 0.251717 19.603 0.257667C19.4851 0.298262 19.3683 0.342086 19.2516 0.38586C19.1959 0.406774 19.1402 0.427688 19.0844 0.448233C17.0459 1.19991 15.0091 1.04816 12.9636 0.466757C12.2794 0.272669 11.5811 0.0909263 10.8767 0.0106391C10.1449 -0.0722926 9.63598 0.337064 9.47395 0.978459C9.31986 1.58897 9.59899 2.24271 10.2427 2.51533C10.6988 2.70854 11.2113 2.82765 11.7062 2.85676C13.3475 2.95293 14.9114 2.54445 16.4453 2.00363C16.8082 1.87565 17.1677 1.73744 17.527 1.59931C17.6953 1.53462 17.8636 1.46995 18.0321 1.40635C17.9942 1.51399 17.9317 1.58015 17.8648 1.64279C17.5362 1.95152 17.2083 2.261 16.8806 2.57042C16.0824 3.32389 15.2845 4.07714 14.4755 4.81887C14.383 4.90367 14.2723 5.00529 14.1464 5.12101C12.6473 6.49801 8.97481 9.8714 7.70844 10.6682C7.06651 11.0722 6.43603 11.5081 5.86102 12.0012C5.36263 12.4282 5.06676 13.0088 5.22966 13.7031C5.48943 14.8068 6.7636 15.1676 7.68642 14.4239C8.06506 14.1195 8.52295 13.5019 8.82498 13.0899C9.09972 12.7159 9.32954 12.4221 9.55585 12.1477C10.1085 11.4774 11.1351 10.2706 12.14 9.08929C13.234 7.80317 14.3024 6.54729 14.7054 6.04695C15.3339 5.26647 16.0283 4.53912 16.7225 3.81201C16.9708 3.55201 17.219 3.29204 17.4641 3.02968C17.722 2.75397 17.9912 2.48888 18.2655 2.21884C18.394 2.09226 18.5237 1.96459 18.6538 1.83423C17.8357 3.69048 17.2176 5.58025 17.1128 7.60412C17.0758 8.32404 17.1137 9.04042 17.4254 9.71004C17.7556 10.4211 18.4926 10.7352 19.1724 10.4652C19.7932 10.2182 20.1138 9.62446 19.9632 8.87544C19.8108 8.11671 19.6127 7.36679 19.4119 6.61953C18.962 4.94769 18.8493 3.27142 19.3186 1.58544C19.4001 1.29259 19.499 1.00464 19.6017 0.706029Z" fill="#8B2121" /> 3414 <path d="M0 20H16.7817V13.4696H15.725V18.9413H1.05667V4.24398H7.28839V3.18528H0V20Z" fill="#8B2121" /> 3415 </svg> 3416 </div> 3417 </div> 3418 <!-- end text content --> 3419 </a> 3420 <!-- end book item --> 3421 </div> 3422 3423 3424 3425 3426 <div class="swiper-slide"> 3427 <a href="https://coles-books.co.uk/the-great-british-dream-factory-the-strange-history-of-our-national-imagination-by-dominic-sandbrook" target="_blank" class="group book-promo"> 3428 <div class="relative"> 3429 <div class="h-[342px] lg:h-[420px] flex items-center justify-center border-[16px] lg:border-[1.5rem] bg-off_white_bg booksImg flex items-center justify-center"> 3430 <img decoding="async" src="https://therestishistory.com/hubfs/Great%20British.jpg" alt="The Great British Dream Factory" class="max-w-[60%] max-h-[80%]"> 3431 </div> 3432 </div> 3433 <div class="mt-6 flex"> 3434 <div> 3435 <h3 class="text-2xl leading-[100%] font-bold">The Great British Dream Factory</h3>
3436 <span class="text-xl text-base leading-[140%] font-light tracking-[0.025rem] mt-1 block">by Dominic Sandbrook</span> 3437 </div> 3438 <div class="ml-auto"> 3439 <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewbox="0 0 20 20" fill="none"> 3440 <path d="M19.6017 0.706029C19.6499 0.565644 19.699 0.422907 19.7474 0.276191L19.7483 0.272669C19.717 0.269262 19.6924 0.264799 19.6724 0.261163C19.6406 0.255391 19.6203 0.251717 19.603 0.257667C19.4851 0.298262 19.3683 0.342086 19.2516 0.38586C19.1959 0.406774 19.1402 0.427688 19.0844 0.448233C17.0459 1.19991 15.0091 1.04816 12.9636 0.466757C12.2794 0.272669 11.5811 0.0909263 10.8767 0.0106391C10.1449 -0.0722926 9.63598 0.337064 9.47395 0.978459C9.31986 1.58897 9.59899 2.24271 10.2427 2.51533C10.6988 2.70854 11.2113 2.82765 11.7062 2.85676C13.3475 2.95293 14.9114 2.54445 16.4453 2.00363C16.8082 1.87565 17.1677 1.73744 17.527 1.59931C17.6953 1.53462 17.8636 1.46995 18.0321 1.40635C17.9942 1.51399 17.9317 1.58015 17.8648 1.64279C17.5362 1.95152 17.2083 2.261 16.8806 2.57042C16.0824 3.32389 15.2845 4.07714 14.4755 4.81887C14.383 4.90367 14.2723 5.00529 14.1464 5.12101C12.6473 6.49801 8.97481 9.8714 7.70844 10.6682C7.06651 11.0722 6.43603 11.5081 5.86102 12.0012C5.36263 12.4282 5.06676 13.0088 5.22966 13.7031C5.48943 14.8068 6.7636 15.1676 7.68642 14.4239C8.06506 14.1195 8.52295 13.5019 8.82498 13.0899C9.09972 12.7159 9.32954 12.4221 9.55585 12.1477C10.1085 11.4774 11.1351 10.2706 12.14 9.08929C13.234 7.80317 14.3024 6.54729 14.7054 6.04695C15.3339 5.26647 16.0283 4.53912 16.7225 3.81201C16.9708 3.55201 17.219 3.29204 17.4641 3.02968C17.722 2.75397 17.9912 2.48888 18.2655 2.21884C18.394 2.09226 18.5237 1.96459 18.6538 1.83423C17.8357 3.69048 17.2176 5.58025 17.1128 7.60412C17.0758 8.32404 17.1137 9.04042 17.4254 9.71004C17.7556 10.4211 18.4926 10.7352 19.1724 10.4652C19.7932 10.2182 20.1138 9.62446 19.9632 8.87544C19.8108 8.11671 19.6127 7.36679 19.4119 6.61953C18.962 4.94769 18.8493 3.27142 19.3186 1.58544C19.4001 1.29259 19.499 1.00464 19.6017 0.706029Z" fill="#8B2121" /> 3441 <path d="M0 20H16.7817V13.4696H15.725V18.9413H1.05667V4.24398H7.28839V3.18528H0V20Z" fill="#8B2121" /> 3442 </svg> 3443 </div> 3444 </div> 3445 <!-- end text content --> 3446 </a> 3447 <!-- end book item --> 3448 </div> 3449 3450 3451 3452 3453 <div class="swiper-slide"> 3454 <a href="https://coles-books.co.uk/in-the-shadow-of-the-sword-the-battle-for-global-empire-and-the-end-of-the-ancient-world-by-tom-holland" target="_blank" class="group book-promo"> 3455 <div class="relative"> 3456 <div class="h-[342px] lg:h-[420px] flex items-center justify-center border-[16px] lg:border-[1.5rem] bg-off_white_bg booksImg flex items-center justify-center"> 3457 <img decoding="async" src="https://therestishistory.com/hubfs/shadow%20of%20the%20sword.jpeg" alt="In the Shadow of the Sword" class="max-w-[60%] max-h-[80%]"> 3458 </div> 3459 </div> 3460 <div class="mt-6 flex"> 3461 <div> 3462 <h3 class="text-2xl leading-[100%] font-bold">In the Shadow of the Sword</h3> 3463 <span class="text-xl text-base leading-[140%] font-light tracking-[0.025rem] mt-1 block">by Tom Holland</span> 3464 </div> 3465 <div class="ml-auto"> 3466 <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewbox="0 0 20 20" fill="none"> 3467 <path d="M19.6017 0.706029C19.6499 0.565644 19.699 0.422907 19.7474 0.276191L19.7483 0.272669C19.717 0.269262 19.6924 0.264799 19.6724 0.261163C19.6406 0.255391 19.6203 0.251717 19.603 0.257667C19.4851 0.298262 19.3683 0.342086 19.2516 0.38586C19.1959 0.406774 19.1402 0.427688 19.0844 0.448233C17.0459 1.19991 15.0091 1.04816 12.9636 0.466757C12.2794 0.272669 11.5811 0.0909263 10.8767 0.0106391C10.1449 -0.0722926 9.63598 0.337064 9.47395 0.978459C9.31986 1.58897 9.59899 2.24271 10.2427 2.51533C10.6988 2.70854 11.2113 2.82765 11.7062 2.85676C13.3475 2.95293 14.9114 2.54445 16.4453 2.00363C16.8082 1.87565 17.1677 1.73744 17.527 1.59931C17.6953 1.53462 17.8636 1.46995 18.0321 1.40635C17.9942 1.51399 17.9317 1.58015 17.8648 1.64279C17.5362 1.95152 17.2083 2.261 16.8806 2.57042C16.0824 3.32389 15.2845 4.07714 14.4755 4.81887C14.383 4.90367 14.2723 5.00529 14.1464 5.12101C12.6473 6.49801 8.97481 9.8714 7.70844 10.6682C7.066
346751 11.0722 6.43603 11.5081 5.86102 12.0012C5.36263 12.4282 5.06676 13.0088 5.22966 13.7031C5.48943 14.8068 6.7636 15.1676 7.68642 14.4239C8.06506 14.1195 8.52295 13.5019 8.82498 13.0899C9.09972 12.7159 9.32954 12.4221 9.55585 12.1477C10.1085 11.4774 11.1351 10.2706 12.14 9.08929C13.234 7.80317 14.3024 6.54729 14.7054 6.04695C15.3339 5.26647 16.0283 4.53912 16.7225 3.81201C16.9708 3.55201 17.219 3.29204 17.4641 3.02968C17.722 2.75397 17.9912 2.48888 18.2655 2.21884C18.394 2.09226 18.5237 1.96459 18.6538 1.83423C17.8357 3.69048 17.2176 5.58025 17.1128 7.60412C17.0758 8.32404 17.1137 9.04042 17.4254 9.71004C17.7556 10.4211 18.4926 10.7352 19.1724 10.4652C19.7932 10.2182 20.1138 9.62446 19.9632 8.87544C19.8108 8.11671 19.6127 7.36679 19.4119 6.61953C18.962 4.94769 18.8493 3.27142 19.3186 1.58544C19.4001 1.29259 19.499 1.00464 19.6017 0.706029Z" fill="#8B2121" /> 3468 <path d="M0 20H16.7817V13.4696H15.725V18.9413H1.05667V4.24398H7.28839V3.18528H0V20Z" fill="#8B2121" /> 3469 </svg> 3470 </div> 3471 </div> 3472 <!-- end text content --> 3473 </a> 3474 <!-- end book item --> 3475 </div> 3476 3477 3478 3479 3480 <div class="swiper-slide"> 3481 <a href="https://coles-books.co.uk/the-histories-penguin-classics-by-herodotus" target="_blank" class="group book-promo"> 3482 <div class="relative"> 3483 <div class="h-[342px] lg:h-[420px] flex items-center justify-center border-[16px] lg:border-[1.5rem] bg-off_white_bg booksImg flex items-center justify-center"> 3484 <img decoding="async" src="https://therestishistory.com/hubfs/herodotus.jpeg" alt="The Histories by Herodotus" class="max-w-[60%] max-h-[80%]"> 3485 </div> 3486 </div> 3487 <div class="mt-6 flex"> 3488 <div> 3489 <h3 class="text-2xl leading-[100%] font-bold">The Histories by Herodotus</h3> 3490 <span class="text-xl text-base leading-[140%] font-light tracking-[0.025rem] mt-1 block">by Tom Holland</span> 3491 </div> 3492 <div class="ml-auto"> 3493 <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewbox="0 0 20 20" fill="none"> 3494 <path d="M19.6017 0.706029C19.6499 0.565644 19.699 0.422907 19.7474 0.276191L19.7483 0.272669C19.717 0.269262 19.6924 0.264799 19.6724 0.261163C19.6406 0.255391 19.6203 0.251717 19.603 0.257667C19.4851 0.298262 19.3683 0.342086 19.2516 0.38586C19.1959 0.406774 19.1402 0.427688 19.0844 0.448233C17.0459 1.19991 15.0091 1.04816 12.9636 0.466757C12.2794 0.272669 11.5811 0.0909263 10.8767 0.0106391C10.1449 -0.0722926 9.63598 0.337064 9.47395 0.978459C9.31986 1.58897 9.59899 2.24271 10.2427 2.51533C10.6988 2.70854 11.2113 2.82765 11.7062 2.85676C13.3475 2.95293 14.9114 2.54445 16.4453 2.00363C16.8082 1.87565 17.1677 1.73744 17.527 1.59931C17.6953 1.53462 17.8636 1.46995 18.0321 1.40635C17.9942 1.51399 17.9317 1.58015 17.8648 1.64279C17.5362 1.95152 17.2083 2.261 16.8806 2.57042C16.0824 3.32389 15.2845 4.07714 14.4755 4.81887C14.383 4.90367 14.2723 5.00529 14.1464 5.12101C12.6473 6.49801 8.97481 9.8714 7.70844 10.6682C7.06651 11.0722 6.43603 11.5081 5.86102 12.0012C5.36263 12.4282 5.06676 13.0088 5.22966 13.7031C5.48943 14.8068 6.7636 15.1676 7.68642 14.4239C8.06506 14.1195 8.52295 13.5019 8.82498 13.0899C9.09972 12.7159 9.32954 12.4221 9.55585 12.1477C10.1085 11.4774 11.1351 10.2706 12.14 9.08929C13.234 7.80317 14.3024 6.54729 14.7054 6.04695C15.3339 5.26647 16.0283 4.53912 16.7225 3.81201C16.9708 3.55201 17.219 3.29204 17.4641 3.02968C17.722 2.75397 17.9912 2.48888 18.2655 2.21884C18.394 2.09226 18.5237 1.96459 18.6538 1.83423C17.8357 3.69048 17.2176 5.58025 17.1128 7.60412C17.0758 8.32404 17.1137 9.04042 17.4254 9.71004C17.7556 10.4211 18.4926 10.7352 19.1724 10.4652C19.7932 10.2182 20.1138 9.62446 19.9632 8.87544C19.8108 8.11671 19.6127 7.36679 19.4119 6.61953C18.962 4.94769 18.8493 3.27142 19.3186 1.58544C19.4001 1.29259 19.499 1.00464 19.6017 0.706029Z" fill="#8B2121" /> 3495 <path d="M0 20H16.7817V13.4696H15.725V18.9413H1.05667V4.24398H7.28839V3.18528H0V20Z" fill="#8B2121" /> 3496 </svg> 3497 </div> 3498 </div> 3499 <!-- end text content --> 3500 </a> 3501 <!-- end book item --> 3502 </div> 3503 3504 3505 3506 3507 <div class="swiper-slide"> 3508 <a href="https://coles-books.co.uk/seasons-in-the-sun-britain-1974-1979-by-dominic-sandbrook" target="_blank" class="group book-promo"> 3509 <div class="relative"> 3510 <div class="h-[342px] lg:h-[420px] flex items-center justify-center border-[16px] lg:border-[1.5rem] bg-off_white_bg booksImg flex items-center justify-center"> 3511 <img decoding="async" src="https://therestishistory.com/hubfs/Seaons%20in%20the%20SUn.jpg" alt="Seasons in the Sun" class="max-w-[60%] max-h-[80%]"> 3512 </div> 3513 </div> 3514 <div class="mt-6 flex"> 3515 <div> 3516 <h3 class="text-2xl leading-[100%] font-bold">Seasons in the Sun</h3>
3517 <span class="text-xl text-base leading-[140%] font-light tracking-[0.025rem] mt-1 block">by Dominic Sandbrook</span> 3518 </div> 3519 <div class="ml-auto"> 3520 <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewbox="0 0 20 20" fill="none"> 3521 <path d="M19.6017 0.706029C19.6499 0.565644 19.699 0.422907 19.7474 0.276191L19.7483 0.272669C19.717 0.269262 19.6924 0.264799 19.6724 0.261163C19.6406 0.255391 19.6203 0.251717 19.603 0.257667C19.4851 0.298262 19.3683 0.342086 19.2516 0.38586C19.1959 0.406774 19.1402 0.427688 19.0844 0.448233C17.0459 1.19991 15.0091 1.04816 12.9636 0.466757C12.2794 0.272669 11.5811 0.0909263 10.8767 0.0106391C10.1449 -0.0722926 9.63598 0.337064 9.47395 0.978459C9.31986 1.58897 9.59899 2.24271 10.2427 2.51533C10.6988 2.70854 11.2113 2.82765 11.7062 2.85676C13.3475 2.95293 14.9114 2.54445 16.4453 2.00363C16.8082 1.87565 17.1677 1.73744 17.527 1.59931C17.6953 1.53462 17.8636 1.46995 18.0321 1.40635C17.9942 1.51399 17.9317 1.58015 17.8648 1.64279C17.5362 1.95152 17.2083 2.261 16.8806 2.57042C16.0824 3.32389 15.2845 4.07714 14.4755 4.81887C14.383 4.90367 14.2723 5.00529 14.1464 5.12101C12.6473 6.49801 8.97481 9.8714 7.70844 10.6682C7.06651 11.0722 6.43603 11.5081 5.86102 12.0012C5.36263 12.4282 5.06676 13.0088 5.22966 13.7031C5.48943 14.8068 6.7636 15.1676 7.68642 14.4239C8.06506 14.1195 8.52295 13.5019 8.82498 13.0899C9.09972 12.7159 9.32954 12.4221 9.55585 12.1477C10.1085 11.4774 11.1351 10.2706 12.14 9.08929C13.234 7.80317 14.3024 6.54729 14.7054 6.04695C15.3339 5.26647 16.0283 4.53912 16.7225 3.81201C16.9708 3.55201 17.219 3.29204 17.4641 3.02968C17.722 2.75397 17.9912 2.48888 18.2655 2.21884C18.394 2.09226 18.5237 1.96459 18.6538 1.83423C17.8357 3.69048 17.2176 5.58025 17.1128 7.60412C17.0758 8.32404 17.1137 9.04042 17.4254 9.71004C17.7556 10.4211 18.4926 10.7352 19.1724 10.4652C19.7932 10.2182 20.1138 9.62446 19.9632 8.87544C19.8108 8.11671 19.6127 7.36679 19.4119 6.61953C18.962 4.94769 18.8493 3.27142 19.3186 1.58544C19.4001 1.29259 19.499 1.00464 19.6017 0.706029Z" fill="#8B2121" /> 3522 <path d="M0 20H16.7817V13.4696H15.725V18.9413H1.05667V4.24398H7.28839V3.18528H0V20Z" fill="#8B2121" /> 3523 </svg> 3524 </div> 3525 </div> 3526 <!-- end text content --> 3527 </a> 3528 <!-- end book item --> 3529 </div> 3530 3531 3532 3533 3534 <div class="swiper-slide"> 3535 <a href="https://www.amazon.co.uk/Mad-Hell-Crisis-1970s-Populist/dp/1400077249" target="_blank" class="group book-promo"> 3536 <div class="relative"> 3537 <div class="h-[342px] lg:h-[420px] flex items-center justify-center border-[16px] lg:border-[1.5rem] bg-off_white_bg booksImg flex items-center justify-center"> 3538 <img decoding="async" src="https://therestishistory.com/hubfs/mad%20as%20hell.jpeg" alt="Mad as Hell" class="max-w-[60%] max-h-[80%]"> 3539 </div> 3540 </div> 3541 <div class="mt-6 flex"> 3542 <div> 3543 <h3 class="text-2xl leading-[100%] font-bold">Mad as Hell</h3> 3544 <span class="text-xl text-base leading-[140%] font-light tracking-[0.025rem] mt-1 block">by Dominic Sandbrook</span> 3545 </div> 3546 <div class="ml-auto"> 3547 <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewbox="0 0 20 20" fill="none"> 3548 <path d="M19.6017 0.706029C19.6499 0.565644 19.699 0.422907 19.7474 0.276191L19.7483 0.272669C19.717 0.269262 19.6924 0.264799 19.6724 0.261163C19.6406 0.255391 19.6203 0.251717 19.603 0.257667C19.4851 0.298262 19.3683 0.342086 19.2516 0.38586C19.1959 0.406774 19.1402 0.427688 19.0844 0.448233C17.0459 1.19991 15.0091 1.04816 12.9636 0.466757C12.2794 0.272669 11.5811 0.0909263 10.8767 0.0106391C10.1449 -0.0722926 9.63598 0.337064 9.47395 0.978459C9.31986 1.58897 9.59899 2.24271 10.2427 2.51533C10.6988 2.70854 11.2113 2.82765 11.7062 2.85676C13.3475 2.95293 14.9114 2.54445 16.4453 2.00363C16.8082 1.87565 17.1677 1.73744 17.527 1.59931C17.6953 1.53462 17.8636 1.46995 18.0321 1.40635C17.9942 1.51399 17.9317 1.58015 17.8648 1.64279C17.5362 1.95152 17.2083 2.261 16.8806 2.57042C16.0824 3.32389 15.2845 4.07714 14.4755 4.81887C14.383 4.90367 14.2723 5.00529 14.1464 5.12101C12.6473 6.49801 8.97481 9.8714 7.70844 10.6682C7.066
354851 11.0722 6.43603 11.5081 5.86102 12.0012C5.36263 12.4282 5.06676 13.0088 5.22966 13.7031C5.48943 14.8068 6.7636 15.1676 7.68642 14.4239C8.06506 14.1195 8.52295 13.5019 8.82498 13.0899C9.09972 12.7159 9.32954 12.4221 9.55585 12.1477C10.1085 11.4774 11.1351 10.2706 12.14 9.08929C13.234 7.80317 14.3024 6.54729 14.7054 6.04695C15.3339 5.26647 16.0283 4.53912 16.7225 3.81201C16.9708 3.55201 17.219 3.29204 17.4641 3.02968C17.722 2.75397 17.9912 2.48888 18.2655 2.21884C18.394 2.09226 18.5237 1.96459 18.6538 1.83423C17.8357 3.69048 17.2176 5.58025 17.1128 7.60412C17.0758 8.32404 17.1137 9.04042 17.4254 9.71004C17.7556 10.4211 18.4926 10.7352 19.1724 10.4652C19.7932 10.2182 20.1138 9.62446 19.9632 8.87544C19.8108 8.11671 19.6127 7.36679 19.4119 6.61953C18.962 4.94769 18.8493 3.27142 19.3186 1.58544C19.4001 1.29259 19.499 1.00464 19.6017 0.706029Z" fill="#8B2121" /> 3549 <path d="M0 20H16.7817V13.4696H15.725V18.9413H1.05667V4.24398H7.28839V3.18528H0V20Z" fill="#8B2121" /> 3550 </svg> 3551 </div> 3552 </div> 3553 <!-- end text content --> 3554 </a> 3555 <!-- end book item --> 3556 </div> 3557 3558 3559 3560 3561 <div class="swiper-slide"> 3562 <a href="https://coles-books.co.uk/state-of-emergency-britain-1970-1974-by-dominic-sandbrook" target="_blank" class="group book-promo"> 3563 <div class="relative"> 3564 <div class="h-[342px] lg:h-[420px] flex items-center justify-center border-[16px] lg:border-[1.5rem] bg-off_white_bg booksImg flex items-center justify-center"> 3565 <img decoding="async" src="https://therestishistory.com/hubfs/9780141032153-jacket-large.jpg" alt="State of Emergency" class="max-w-[60%] max-h-[80%]"> 3566 </div> 3567 </div> 3568 <div class="mt-6 flex"> 3569 <div> 3570 <h3 class="text-2xl leading-[100%] font-bold">State of Emergency</h3> 3571 <span class="text-xl text-base leading-[140%] font-light tracking-[0.025rem] mt-1 block">by Dominic Sandbrook</span> 3572 </div> 3573 <div class="ml-auto"> 3574 <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewbox="0 0 20 20" fill="none"> 3575 <path d="M19.6017 0.706029C19.6499 0.565644 19.699 0.422907 19.7474 0.276191L19.7483 0.272669C19.717 0.269262 19.6924 0.264799 19.6724 0.261163C19.6406 0.255391 19.6203 0.251717 19.603 0.257667C19.4851 0.298262 19.3683 0.342086 19.2516 0.38586C19.1959 0.406774 19.1402 0.427688 19.0844 0.448233C17.0459 1.19991 15.0091 1.04816 12.9636 0.466757C12.2794 0.272669 11.5811 0.0909263 10.8767 0.0106391C10.1449 -0.0722926 9.63598 0.337064 9.47395 0.978459C9.31986 1.58897 9.59899 2.24271 10.2427 2.51533C10.6988 2.70854 11.2113 2.82765 11.7062 2.85676C13.3475 2.95293 14.9114 2.54445 16.4453 2.00363C16.8082 1.87565 17.1677 1.73744 17.527 1.59931C17.6953 1.53462 17.8636 1.46995 18.0321 1.40635C17.9942 1.51399 17.9317 1.58015 17.8648 1.64279C17.5362 1.95152 17.2083 2.261 16.8806 2.57042C16.0824 3.32389 15.2845 4.07714 14.4755 4.81887C14.383 4.90367 14.2723 5.00529 14.1464 5.12101C12.6473 6.49801 8.97481 9.8714 7.70844 10.6682C7.06651 11.0722 6.43603 11.5081 5.86102 12.0012C5.36263 12.4282 5.06676 13.0088 5.22966 13.7031C5.48943 14.8068 6.7636 15.1676 7.68642 14.4239C8.06506 14.1195 8.52295 13.5019 8.82498 13.0899C9.09972 12.7159 9.32954 12.4221 9.55585 12.1477C10.1085 11.4774 11.1351 10.2706 12.14 9.08929C13.234 7.80317 14.3024 6.54729 14.7054 6.04695C15.3339 5.26647 16.0283 4.53912 16.7225 3.81201C16.9708 3.55201 17.219 3.29204 17.4641 3.02968C17.722 2.75397 17.9912 2.48888 18.2655 2.21884C18.394 2.09226 18.5237 1.96459 18.6538 1.83423C17.8357 3.69048 17.2176 5.58025 17.1128 7.60412C17.0758 8.32404 17.1137 9.04042 17.4254 9.71004C17.7556 10.4211 18.4926 10.7352 19.1724 10.4652C19.7932 10.2182 20.1138 9.62446 19.9632 8.87544C19.8108 8.11671 19.6127 7.36679 19.4119 6.61953C18.962 4.94769 18.8493 3.27142 19.3186 1.58544C19.4001 1.29259 19.499 1.00464 19.6017 0.706029Z" fill="#8B2121" /> 3576 <path d="M0 20H16.7817V13.4696H15.725V18.9413H1.05667V4.24398H7.28839V3.18528H0V20Z" fill="#8B2121" /> 3577 </svg> 3578 </div> 3579 </div> 3580 <!-- end text content --> 3581 </a> 3582 <!-- end book item --> 3583 </div> 3584 3585 3586 3587 3588 <div class="swiper-slide"> 3589 <a href="https://www.waterstones.com/book/millennium/tom-holland/9780349119724" target="_blank" class="group book-promo"> 3590 <div class="relative"> 3591 <div class="h-[342px] lg:h-[420px] flex items-center justify-center border-[16px] lg:border-[1.5rem] bg-off_white_bg booksImg flex items-center justify-center"> 3592 <img decoding="async" src="https://therestishistory.com/hubfs/91y7F-f9VcL.jpg" alt="Millennium" class="max-w-[60%] max-h-[80%]"> 3593 </div> 3594 </div> 3595 <div class="mt-6 flex"> 3596 <div> 3597 <h3 class="text-2xl leading-[100%] font-bold">Millennium</h3>
3598 <span class="text-xl text-base leading-[140%] font-light tracking-[0.025rem] mt-1 block">by Tom Holland</span> 3599 </div> 3600 <div class="ml-auto"> 3601 <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewbox="0 0 20 20" fill="none"> 3602 <path d="M19.6017 0.706029C19.6499 0.565644 19.699 0.422907 19.7474 0.276191L19.7483 0.272669C19.717 0.269262 19.6924 0.264799 19.6724 0.261163C19.6406 0.255391 19.6203 0.251717 19.603 0.257667C19.4851 0.298262 19.3683 0.342086 19.2516 0.38586C19.1959 0.406774 19.1402 0.427688 19.0844 0.448233C17.0459 1.19991 15.0091 1.04816 12.9636 0.466757C12.2794 0.272669 11.5811 0.0909263 10.8767 0.0106391C10.1449 -0.0722926 9.63598 0.337064 9.47395 0.978459C9.31986 1.58897 9.59899 2.24271 10.2427 2.51533C10.6988 2.70854 11.2113 2.82765 11.7062 2.85676C13.3475 2.95293 14.9114 2.54445 16.4453 2.00363C16.8082 1.87565 17.1677 1.73744 17.527 1.59931C17.6953 1.53462 17.8636 1.46995 18.0321 1.40635C17.9942 1.51399 17.9317 1.58015 17.8648 1.64279C17.5362 1.95152 17.2083 2.261 16.8806 2.57042C16.0824 3.32389 15.2845 4.07714 14.4755 4.81887C14.383 4.90367 14.2723 5.00529 14.1464 5.12101C12.6473 6.49801 8.97481 9.8714 7.70844 10.6682C7.06651 11.0722 6.43603 11.5081 5.86102 12.0012C5.36263 12.4282 5.06676 13.0088 5.22966 13.7031C5.48943 14.8068 6.7636 15.1676 7.68642 14.4239C8.06506 14.1195 8.52295 13.5019 8.82498 13.0899C9.09972 12.7159 9.32954 12.4221 9.55585 12.1477C10.1085 11.4774 11.1351 10.2706 12.14 9.08929C13.234 7.80317 14.3024 6.54729 14.7054 6.04695C15.3339 5.26647 16.0283 4.53912 16.7225 3.81201C16.9708 3.55201 17.219 3.29204 17.4641 3.02968C17.722 2.75397 17.9912 2.48888 18.2655 2.21884C18.394 2.09226 18.5237 1.96459 18.6538 1.83423C17.8357 3.69048 17.2176 5.58025 17.1128 7.60412C17.0758 8.32404 17.1137 9.04042 17.4254 9.71004C17.7556 10.4211 18.4926 10.7352 19.1724 10.4652C19.7932 10.2182 20.1138 9.62446 19.9632 8.87544C19.8108 8.11671 19.6127 7.36679 19.4119 6.61953C18.962 4.94769 18.8493 3.27142 19.3186 1.58544C19.4001 1.29259 19.499 1.00464 19.6017 0.706029Z" fill="#8B2121" /> 3603 <path d="M0 20H16.7817V13.4696H15.725V18.9413H1.05667V4.24398H7.28839V3.18528H0V20Z" fill="#8B2121" /> 3604 </svg> 3605 </div> 3606 </div> 3607 <!-- end text content --> 3608 </a> 3609 <!-- end book item --> 3610 </div> 3611 3612 3613 3614 3615 <div class="swiper-slide"> 3616 <a href="https://coles-books.co.uk/never-had-it-so-good-a-history-of-britain-from-suez-to-the-beatles-by-dominic-sandbrook" target="_blank" class="group book-promo"> 3617 <div class="relative"> 3618 <div class="h-[342px] lg:h-[420px] flex items-center justify-center border-[16px] lg:border-[1.5rem] bg-off_white_bg booksImg flex items-center justify-center"> 3619 <img decoding="async" src="https://therestishistory.com/hubfs/Never-Had-it-so-Good.jpg" alt="Never Had It So Good" class="max-w-[60%] max-h-[80%]"> 3620 </div> 3621 </div> 3622 <div class="mt-6 flex"> 3623 <div> 3624 <h3 class="text-2xl leading-[100%] font-bold">Never Had It So Good</h3> 3625 <span class="text-xl text-base leading-[140%] font-light tracking-[0.025rem] mt-1 block">by Dominic Sandbrook</span> 3626 </div> 3627 <div class="ml-auto"> 3628 <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewbox="0 0 20 20" fill="none"> 3629 <path d="M19.6017 0.706029C19.6499 0.565644 19.699 0.422907 19.7474 0.276191L19.7483 0.272669C19.717 0.269262 19.6924 0.264799 19.6724 0.261163C19.6406 0.255391 19.6203 0.251717 19.603 0.257667C19.4851 0.298262 19.3683 0.342086 19.2516 0.38586C19.1959 0.406774 19.1402 0.427688 19.0844 0.448233C17.0459 1.19991 15.0091 1.04816 12.9636 0.466757C12.2794 0.272669 11.5811 0.0909263 10.8767 0.0106391C10.1449 -0.0722926 9.63598 0.337064 9.47395 0.978459C9.31986 1.58897 9.59899 2.24271 10.2427 2.51533C10.6988 2.70854 11.2113 2.82765 11.7062 2.85676C13.3475 2.95293 14.9114 2.54445 16.4453 2.00363C16.8082 1.87565 17.1677 1.73744 17.527 1.59931C17.6953 1.53462 17.8636 1.46995 18.0321 1.40635C17.9942 1.51399 17.9317 1.58015 17.8648 1.64279C17.5362 1.95152 17.2083 2.261 16.8806 2.57042C16.0824 3.32389 15.2845 4.07714 14.4755 4.81887C14.383 4.90367 14.2723 5.00529 14.1464 5.12101C12.6473 6.49801 8.97481 9.8714 7.70844 10.6682C7.066
362951 11.0722 6.43603 11.5081 5.86102 12.0012C5.36263 12.4282 5.06676 13.0088 5.22966 13.7031C5.48943 14.8068 6.7636 15.1676 7.68642 14.4239C8.06506 14.1195 8.52295 13.5019 8.82498 13.0899C9.09972 12.7159 9.32954 12.4221 9.55585 12.1477C10.1085 11.4774 11.1351 10.2706 12.14 9.08929C13.234 7.80317 14.3024 6.54729 14.7054 6.04695C15.3339 5.26647 16.0283 4.53912 16.7225 3.81201C16.9708 3.55201 17.219 3.29204 17.4641 3.02968C17.722 2.75397 17.9912 2.48888 18.2655 2.21884C18.394 2.09226 18.5237 1.96459 18.6538 1.83423C17.8357 3.69048 17.2176 5.58025 17.1128 7.60412C17.0758 8.32404 17.1137 9.04042 17.4254 9.71004C17.7556 10.4211 18.4926 10.7352 19.1724 10.4652C19.7932 10.2182 20.1138 9.62446 19.9632 8.87544C19.8108 8.11671 19.6127 7.36679 19.4119 6.61953C18.962 4.94769 18.8493 3.27142 19.3186 1.58544C19.4001 1.29259 19.499 1.00464 19.6017 0.706029Z" fill="#8B2121" /> 3630 <path d="M0 20H16.7817V13.4696H15.725V18.9413H1.05667V4.24398H7.28839V3.18528H0V20Z" fill="#8B2121" /> 3631 </svg> 3632 </div> 3633 </div> 3634 <!-- end text content --> 3635 </a> 3636 <!-- end book item --> 3637 </div> 3638 3639 3640 3641 3642 <div class="swiper-slide"> 3643 <a href="https://coles-books.co.uk/persian-fire-the-first-world-empire-battle-for-the-west-by-tom-holland" target="_blank" class="group book-promo"> 3644 <div class="relative"> 3645 <div class="h-[342px] lg:h-[420px] flex items-center justify-center border-[16px] lg:border-[1.5rem] bg-off_white_bg booksImg flex items-center justify-center"> 3646 <img decoding="async" src="https://therestishistory.com/hubfs/A1O2pjDdT3L._AC_UF894%2c1000_QL80_.jpg" alt="Persian Fire" class="max-w-[60%] max-h-[80%]"> 3647 </div> 3648 </div> 3649 <div class="mt-6 flex"> 3650 <div> 3651 <h3 class="text-2xl leading-[100%] font-bold">Persian Fire</h3> 3652 <span class="text-xl text-base leading-[140%] font-light tracking-[0.025rem] mt-1 block">by Tom Holland</span> 3653 </div> 3654 <div class="ml-auto"> 3655 <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewbox="0 0 20 20" fill="none"> 3656 <path d="M19.6017 0.706029C19.6499 0.565644 19.699 0.422907 19.7474 0.276191L19.7483 0.272669C19.717 0.269262 19.6924 0.264799 19.6724 0.261163C19.6406 0.255391 19.6203 0.251717 19.603 0.257667C19.4851 0.298262 19.3683 0.342086 19.2516 0.38586C19.1959 0.406774 19.1402 0.427688 19.0844 0.448233C17.0459 1.19991 15.0091 1.04816 12.9636 0.466757C12.2794 0.272669 11.5811 0.0909263 10.8767 0.0106391C10.1449 -0.0722926 9.63598 0.337064 9.47395 0.978459C9.31986 1.58897 9.59899 2.24271 10.2427 2.51533C10.6988 2.70854 11.2113 2.82765 11.7062 2.85676C13.3475 2.95293 14.9114 2.54445 16.4453 2.00363C16.8082 1.87565 17.1677 1.73744 17.527 1.59931C17.6953 1.53462 17.8636 1.46995 18.0321 1.40635C17.9942 1.51399 17.9317 1.58015 17.8648 1.64279C17.5362 1.95152 17.2083 2.261 16.8806 2.57042C16.0824 3.32389 15.2845 4.07714 14.4755 4.81887C14.383 4.90367 14.2723 5.00529 14.1464 5.12101C12.6473 6.49801 8.97481 9.8714 7.70844 10.6682C7.06651 11.0722 6.43603 11.5081 5.86102 12.0012C5.36263 12.4282 5.06676 13.0088 5.22966 13.7031C5.48943 14.8068 6.7636 15.1676 7.68642 14.4239C8.06506 14.1195 8.52295 13.5019 8.82498 13.0899C9.09972 12.7159 9.32954 12.4221 9.55585 12.1477C10.1085 11.4774 11.1351 10.2706 12.14 9.08929C13.234 7.80317 14.3024 6.54729 14.7054 6.04695C15.3339 5.26647 16.0283 4.53912 16.7225 3.81201C16.9708 3.55201 17.219 3.29204 17.4641 3.02968C17.722 2.75397 17.9912 2.48888 18.2655 2.21884C18.394 2.09226 18.5237 1.96459 18.6538 1.83423C17.8357 3.69048 17.2176 5.58025 17.1128 7.60412C17.0758 8.32404 17.1137 9.04042 17.4254 9.71004C17.7556 10.4211 18.4926 10.7352 19.1724 10.4652C19.7932 10.2182 20.1138 9.62446 19.9632 8.87544C19.8108 8.11671 19.6127 7.36679 19.4119 6.61953C18.962 4.94769 18.8493 3.27142 19.3186 1.58544C19.4001 1.29259 19.499 1.00464 19.6017 0.706029Z" fill="#8B2121" /> 3657 <path d="M0 20H16.7817V13.4696H15.725V18.9413H1.05667V4.24398H7.28839V3.18528H0V20Z" fill="#8B2121" /> 3658 </svg> 3659 </div> 3660 </div> 3661 <!-- end text content --> 3662 </a> 3663 <!-- end book item --> 3664 </div> 3665 3666 3667 3668 3669 <div class="swiper-slide"> 3670 <a href="https://coles-books.co.uk/rubicon-the-triumph-and-tragedy-of-the-roman-republic-by-tom-holland" target="_blank" class="group book-promo"> 3671 <div class="relative"> 3672 <div class="h-[342px] lg:h-[420px] flex items-center justify-center border-[16px] lg:border-[1.5rem] bg-off_white_bg booksImg flex items-center justify-center"> 3673 <img decoding="async" src="https://therestishistory.com/hubfs/tomholland_9780349115634.jpg" alt="Rubicon" class="max-w-[60%] max-h-[80%]"> 3674 </div> 3675 </div> 3676 <div class="mt-6 flex"> 3677 <div> 3678 <h3 class="text-2xl leading-[100%] font-bold">Rubicon</h3>
3679 <span class="text-xl text-base leading-[140%] font-light tracking-[0.025rem] mt-1 block">by Tom Holland</span> 3680 </div> 3681 <div class="ml-auto"> 3682 <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewbox="0 0 20 20" fill="none"> 3683 <path d="M19.6017 0.706029C19.6499 0.565644 19.699 0.422907 19.7474 0.276191L19.7483 0.272669C19.717 0.269262 19.6924 0.264799 19.6724 0.261163C19.6406 0.255391 19.6203 0.251717 19.603 0.257667C19.4851 0.298262 19.3683 0.342086 19.2516 0.38586C19.1959 0.406774 19.1402 0.427688 19.0844 0.448233C17.0459 1.19991 15.0091 1.04816 12.9636 0.466757C12.2794 0.272669 11.5811 0.0909263 10.8767 0.0106391C10.1449 -0.0722926 9.63598 0.337064 9.47395 0.978459C9.31986 1.58897 9.59899 2.24271 10.2427 2.51533C10.6988 2.70854 11.2113 2.82765 11.7062 2.85676C13.3475 2.95293 14.9114 2.54445 16.4453 2.00363C16.8082 1.87565 17.1677 1.73744 17.527 1.59931C17.6953 1.53462 17.8636 1.46995 18.0321 1.40635C17.9942 1.51399 17.9317 1.58015 17.8648 1.64279C17.5362 1.95152 17.2083 2.261 16.8806 2.57042C16.0824 3.32389 15.2845 4.07714 14.4755 4.81887C14.383 4.90367 14.2723 5.00529 14.1464 5.12101C12.6473 6.49801 8.97481 9.8714 7.70844 10.6682C7.06651 11.0722 6.43603 11.5081 5.86102 12.0012C5.36263 12.4282 5.06676 13.0088 5.22966 13.7031C5.48943 14.8068 6.7636 15.1676 7.68642 14.4239C8.06506 14.1195 8.52295 13.5019 8.82498 13.0899C9.09972 12.7159 9.32954 12.4221 9.55585 12.1477C10.1085 11.4774 11.1351 10.2706 12.14 9.08929C13.234 7.80317 14.3024 6.54729 14.7054 6.04695C15.3339 5.26647 16.0283 4.53912 16.7225 3.81201C16.9708 3.55201 17.219 3.29204 17.4641 3.02968C17.722 2.75397 17.9912 2.48888 18.2655 2.21884C18.394 2.09226 18.5237 1.96459 18.6538 1.83423C17.8357 3.69048 17.2176 5.58025 17.1128 7.60412C17.0758 8.32404 17.1137 9.04042 17.4254 9.71004C17.7556 10.4211 18.4926 10.7352 19.1724 10.4652C19.7932 10.2182 20.1138 9.62446 19.9632 8.87544C19.8108 8.11671 19.6127 7.36679 19.4119 6.61953C18.962 4.94769 18.8493 3.27142 19.3186 1.58544C19.4001 1.29259 19.499 1.00464 19.6017 0.706029Z" fill="#8B2121" /> 3684 <path d="M0 20H16.7817V13.4696H15.725V18.9413H1.05667V4.24398H7.28839V3.18528H0V20Z" fill="#8B2121" /> 3685 </svg> 3686 </div> 3687 </div> 3688 <!-- end text content --> 3689 </a> 3690 <!-- end book item --> 3691 </div> 3692 3693 3694 3695 3696 <div class="swiper-slide"> 3697 <a href="https://coles-books.co.uk/white-heat-a-history-of-britain-in-the-swinging-sixties-by-dominic-sandbrook" target="_blank" class="group book-promo"> 3698 <div class="relative"> 3699 <div class="h-[342px] lg:h-[420px] flex items-center justify-center border-[16px] lg:border-[1.5rem] bg-off_white_bg booksImg flex items-center justify-center"> 3700 <img decoding="async" src="https://therestishistory.com/hubfs/White%20Heat.jpg" alt="White Heat" class="max-w-[60%] max-h-[80%]"> 3701 </div> 3702 </div> 3703 <div class="mt-6 flex"> 3704 <div> 3705 <h3 class="text-2xl leading-[100%] font-bold">White Heat</h3> 3706 <span class="text-xl text-base leading-[140%] font-light tracking-[0.025rem] mt-1 block">by Dominic Sandbrook</span> 3707 </div> 3708 <div class="ml-auto"> 3709 <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewbox="0 0 20 20" fill="none"> 3710 <path d="M19.6017 0.706029C19.6499 0.565644 19.699 0.422907 19.7474 0.276191L19.7483 0.272669C19.717 0.269262 19.6924 0.264799 19.6724 0.261163C19.6406 0.255391 19.6203 0.251717 19.603 0.257667C19.4851 0.298262 19.3683 0.342086 19.2516 0.38586C19.1959 0.406774 19.1402 0.427688 19.0844 0.448233C17.0459 1.19991 15.0091 1.04816 12.9636 0.466757C12.2794 0.272669 11.5811 0.0909263 10.8767 0.0106391C10.1449 -0.0722926 9.63598 0.337064 9.47395 0.978459C9.31986 1.58897 9.59899 2.24271 10.2427 2.51533C10.6988 2.70854 11.2113 2.82765 11.7062 2.85676C13.3475 2.95293 14.9114 2.54445 16.4453 2.00363C16.8082 1.87565 17.1677 1.73744 17.527 1.59931C17.6953 1.53462 17.8636 1.46995 18.0321 1.40635C17.9942 1.51399 17.9317 1.58015 17.8648 1.64279C17.5362 1.95152 17.2083 2.261 16.8806 2.57042C16.0824 3.32389 15.2845 4.07714 14.4755 4.81887C14.383 4.90367 14.2723 5.00529 14.1464 5.12101C12.6473 6.49801 8.97481 9.8714 7.70844 10.6682C7.066
371051 11.0722 6.43603 11.5081 5.86102 12.0012C5.36263 12.4282 5.06676 13.0088 5.22966 13.7031C5.48943 14.8068 6.7636 15.1676 7.68642 14.4239C8.06506 14.1195 8.52295 13.5019 8.82498 13.0899C9.09972 12.7159 9.32954 12.4221 9.55585 12.1477C10.1085 11.4774 11.1351 10.2706 12.14 9.08929C13.234 7.80317 14.3024 6.54729 14.7054 6.04695C15.3339 5.26647 16.0283 4.53912 16.7225 3.81201C16.9708 3.55201 17.219 3.29204 17.4641 3.02968C17.722 2.75397 17.9912 2.48888 18.2655 2.21884C18.394 2.09226 18.5237 1.96459 18.6538 1.83423C17.8357 3.69048 17.2176 5.58025 17.1128 7.60412C17.0758 8.32404 17.1137 9.04042 17.4254 9.71004C17.7556 10.4211 18.4926 10.7352 19.1724 10.4652C19.7932 10.2182 20.1138 9.62446 19.9632 8.87544C19.8108 8.11671 19.6127 7.36679 19.4119 6.61953C18.962 4.94769 18.8493 3.27142 19.3186 1.58544C19.4001 1.29259 19.499 1.00464 19.6017 0.706029Z" fill="#8B2121" /> 3711 <path d="M0 20H16.7817V13.4696H15.725V18.9413H1.05667V4.24398H7.28839V3.18528H0V20Z" fill="#8B2121" /> 3712 </svg> 3713 </div> 3714 </div> 3715 <!-- end text content --> 3716 </a> 3717 <!-- end book item --> 3718 </div> 3719 3720 3721 3722 3723 <div class="swiper-slide"> 3724 <a href="https://www.amazon.co.uk/Eugene-McCarthy-Postwar-American-Liberalism-ebook/dp/B000XUDG80" target="_blank" class="group book-promo"> 3725 <div class="relative"> 3726 <div class="h-[342px] lg:h-[420px] flex items-center justify-center border-[16px] lg:border-[1.5rem] bg-off_white_bg booksImg flex items-center justify-center"> 3727 <img decoding="async" src="https://therestishistory.com/hubfs/eugene.jpeg" alt="Eugene McCarthy" class="max-w-[60%] max-h-[80%]"> 3728 </div> 3729 </div> 3730 <div class="mt-6 flex"> 3731 <div> 3732 <h3 class="text-2xl leading-[100%] font-bold">Eugene McCarthy</h3> 3733 <span class="text-xl text-base leading-[140%] font-light tracking-[0.025rem] mt-1 block">by Dominic Sandbrook</span> 3734 </div> 3735 <div class="ml-auto"> 3736 <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewbox="0 0 20 20" fill="none"> 3737 <path d="M19.6017 0.706029C19.6499 0.565644 19.699 0.422907 19.7474 0.276191L19.7483 0.272669C19.717 0.269262 19.6924 0.264799 19.6724 0.261163C19.6406 0.255391 19.6203 0.251717 19.603 0.257667C19.4851 0.298262 19.3683 0.342086 19.2516 0.38586C19.1959 0.406774 19.1402 0.427688 19.0844 0.448233C17.0459 1.19991 15.0091 1.04816 12.9636 0.466757C12.2794 0.272669 11.5811 0.0909263 10.8767 0.0106391C10.1449 -0.0722926 9.63598 0.337064 9.47395 0.978459C9.31986 1.58897 9.59899 2.24271 10.2427 2.51533C10.6988 2.70854 11.2113 2.82765 11.7062 2.85676C13.3475 2.95293 14.9114 2.54445 16.4453 2.00363C16.8082 1.87565 17.1677 1.73744 17.527 1.59931C17.6953 1.53462 17.8636 1.46995 18.0321 1.40635C17.9942 1.51399 17.9317 1.58015 17.8648 1.64279C17.5362 1.95152 17.2083 2.261 16.8806 2.57042C16.0824 3.32389 15.2845 4.07714 14.4755 4.81887C14.383 4.90367 14.2723 5.00529 14.1464 5.12101C12.6473 6.49801 8.97481 9.8714 7.70844 10.6682C7.06651 11.0722 6.43603 11.5081 5.86102 12.0012C5.36263 12.4282 5.06676 13.0088 5.22966 13.7031C5.48943 14.8068 6.7636 15.1676 7.68642 14.4239C8.06506 14.1195 8.52295 13.5019 8.82498 13.0899C9.09972 12.7159 9.32954 12.4221 9.55585 12.1477C10.1085 11.4774 11.1351 10.2706 12.14 9.08929C13.234 7.80317 14.3024 6.54729 14.7054 6.04695C15.3339 5.26647 16.0283 4.53912 16.7225 3.81201C16.9708 3.55201 17.219 3.29204 17.4641 3.02968C17.722 2.75397 17.9912 2.48888 18.2655 2.21884C18.394 2.09226 18.5237 1.96459 18.6538 1.83423C17.8357 3.69048 17.2176 5.58025 17.1128 7.60412C17.0758 8.32404 17.1137 9.04042 17.4254 9.71004C17.7556 10.4211 18.4926 10.7352 19.1724 10.4652C19.7932 10.2182 20.1138 9.62446 19.9632 8.87544C19.8108 8.11671 19.6127 7.36679 19.4119 6.61953C18.962 4.94769 18.8493 3.27142 19.3186 1.58544C19.4001 1.29259 19.499 1.00464 19.6017 0.706029Z" fill="#8B2121" /> 3738 <path d="M0 20H16.7817V13.4696H15.725V18.9413H1.05667V4.24398H7.28839V3.18528H0V20Z" fill="#8B2121" /> 3739 </svg> 3740 </div> 3741 </div> 3742 <!-- end text content --> 3743 </a> 3744 <!-- end book item --> 3745 </div> 3746 3747 3748 3749 3750 3751 </div>
3752 <div class="singleCollection-prev gridPromo-prev group w-14 aspect-square rounded-full hidden md:flex items-center justify-center bg-white transition-all duration-300 left-0 top-1/2 -translate-y-1/2 absolute z-20"> 3753 <svg xmlns="http://www.w3.org/2000/svg" width="32" height="22" viewbox="0 0 32 22" fill="none"> 3754 <path d="M0.00169627 10.6139C0.692959 10.2799 1.34632 9.99519 1.96845 9.6591C4.40793 8.3404 6.17387 6.39681 7.5562 4.0937C8.1738 3.06415 8.79808 2.0346 9.48258 1.04571C10.1582 0.0675156 11.1928 -0.227964 12.1763 0.180718C13.2512 0.625775 13.7308 1.76863 13.3028 2.9009C12.8993 3.96681 12.1323 4.78663 11.276 5.52727C8.86785 7.61005 6.02921 8.99086 3.00546 10.1149C3.92868 10.1148 4.81845 10.1382 5.70599 10.1103C7.88693 10.0415 10.079 10.0563 12.2443 9.83342C14.2067 9.63201 22.0875 9.07462 24.9798 8.81104C25.5462 8.7596 26.1394 8.69105 26.873 8.58181C27.6803 8.464 28.8978 8.29049 29.6717 8.37174C31.5583 8.56843 32.5954 10.3447 31.6412 11.8259C31.0414 12.757 30.0491 13.0653 29.001 12.9863C27.7923 12.8965 26.5836 12.6848 25.3994 12.4238C22.8683 11.8676 13.7052 11.5262 11.1161 11.4152C8.64082 11.3106 6.16105 11.2531 3.6835 11.1764C3.53632 11.1721 3.39137 11.1764 3.22636 11.2513C4.0515 11.6087 4.88333 11.9532 5.69956 12.3276C8.05011 13.4082 10.2847 14.6643 12.0355 16.5561C12.5641 17.1253 13.0101 17.8123 13.309 18.5186C13.7306 19.5138 13.3093 20.5283 12.4419 21.0228C11.5343 21.543 10.4929 21.434 9.75688 20.548C9.04987 19.6962 8.46327 18.7375 7.90789 17.783C6.24844 14.928 4.10959 12.5482 0.951737 11.1467C0.684123 11.0269 0.414282 10.9135 0.148897 10.7894C0.106525 10.7701 0.0819878 10.7123 0.00169627 10.6139Z" class="fill-black group-hover:fill-color_red" /> 3755 </svg> 3756 </div> 3757 <div class="singleCollection-next gridPromo-next group w-14 aspect-square rounded-full hidden md:flex items-center justify-center bg-white transition-all duration-300 right-0 top-1/2 -translate-y-1/2 absolute z-20"> 3758 <svg xmlns="http://www.w3.org/2000/svg" width="32" height="22" viewbox="0 0 32 22" fill="none"> 3759 <path d="M32 10.723C31.3087 11.0569 30.6553 11.3416 30.0331 11.6776C27.5935 12.996 25.8273 14.9394 24.4447 17.2424C23.827 18.2718 23.2026 19.3013 22.518 20.2901C21.8423 21.2682 20.8076 21.5636 19.8242 21.1548C18.7493 20.7096 18.2699 19.5667 18.698 18.4345C19.1016 17.3686 19.8688 16.5489 20.7251 15.8084C23.1335 13.7259 25.9723 12.3454 28.9962 11.2217C28.073 11.2217 27.1832 11.1982 26.2956 11.226C24.1147 11.2945 21.9226 11.2795 19.7573 11.5021C17.7949 11.7033 9.91403 12.2598 7.02171 12.523C6.45529 12.5744 5.86211 12.6429 5.12844 12.752C4.32117 12.8698 3.10359 13.0431 2.32978 12.9618C0.443195 12.7649 -0.593758 10.9884 0.360684 9.50736C0.960556 8.57633 1.95291 8.26813 3.00101 8.34732C4.20967 8.43721 5.41834 8.6491 6.60247 8.91021C9.13353 9.46669 18.2966 9.80914 20.8857 9.92043C23.361 10.0253 25.8407 10.0831 28.3183 10.1601C28.4654 10.1644 28.6104 10.1601 28.7754 10.0852C27.9503 9.72781 27.1185 9.38322 26.3023 9.00867C23.9519 7.92782 21.7174 6.67147 19.9669 4.77946C19.4384 4.21014 18.9924 3.52311 18.6936 2.81681C18.2721 1.82158 18.6936 0.807079 19.561 0.312672C20.4686 -0.207419 21.5101 -0.0982639 22.246 0.787816C22.9529 1.63965 23.5394 2.5985 24.0946 3.55307C25.7538 6.40822 27.8923 8.78822 31.05 10.1901C31.3176 10.31 31.5874 10.4234 31.8528 10.5475C31.8952 10.5668 31.9197 10.6246 32 10.723Z" class="fill-black group-hover:fill-color_red" /> 3760 </svg> 3761 </div> 3762 <div class=" md:w-full md:absolute flex md:hidden items-center justify-between gap-2 md:gap-x-10 lg:gap-x-16 md:top-1/2 md:-translate-y-1/2 z-10 mt-6 md:mt-0"> 3763 <div class="singleCollection-mob-prev gridPromo-prev w-5 md:w-14 md:aspect-square md:rounded-full flex items-center justify-center md:bg-color_red"> 3764 <svg xmlns="http://www.w3.org/2000/svg" width="32" height="22" viewbox="0 0 32 22" fill="none"> 3765 <path d="M0.00169627 10.6139C0.692959 10.2799 1.34632 9.99519 1.96845 9.6591C4.40793 8.3404 6.17387 6.39681 7.5562 4.0937C8.1738 3.06415 8.79808 2.0346 9.48258 1.04571C10.1582 0.0675156 11.1928 -0.227964 12.1763 0.180718C13.2512 0.625775 13.7308 1.76863 13.3028 2.9009C12.8993 3.96681 12.1323 4.78663 11.276 5.52727C8.86785 7.61005 6.02921 8.99086 3.00546 10.
37651149C3.92868 10.1148 4.81845 10.1382 5.70599 10.1103C7.88693 10.0415 10.079 10.0563 12.2443 9.83342C14.2067 9.63201 22.0875 9.07462 24.9798 8.81104C25.5462 8.7596 26.1394 8.69105 26.873 8.58181C27.6803 8.464 28.8978 8.29049 29.6717 8.37174C31.5583 8.56843 32.5954 10.3447 31.6412 11.8259C31.0414 12.757 30.0491 13.0653 29.001 12.9863C27.7923 12.8965 26.5836 12.6848 25.3994 12.4238C22.8683 11.8676 13.7052 11.5262 11.1161 11.4152C8.64082 11.3106 6.16105 11.2531 3.6835 11.1764C3.53632 11.1721 3.39137 11.1764 3.22636 11.2513C4.0515 11.6087 4.88333 11.9532 5.69956 12.3276C8.05011 13.4082 10.2847 14.6643 12.0355 16.5561C12.5641 17.1253 13.0101 17.8123 13.309 18.5186C13.7306 19.5138 13.3093 20.5283 12.4419 21.0228C11.5343 21.543 10.4929 21.434 9.75688 20.548C9.04987 19.6962 8.46327 18.7375 7.90789 17.783C6.24844 14.928 4.10959 12.5482 0.951737 11.1467C0.684123 11.0269 0.414282 10.9135 0.148897 10.7894C0.106525 10.7701 0.0819878 10.7123 0.00169627 10.6139Z" class="md:fill-white fill-black" /> 3766 </svg> 3767 </div> 3768 <div class="singleCollection-mob-next gridPromo-next w-5 md:w-14 md:aspect-square md:rounded-full flex items-center justify-center md:bg-color_red"> 3769 <svg xmlns="http://www.w3.org/2000/svg" width="32" height="22" viewbox="0 0 32 22" fill="none"> 3770 <path d="M32 10.723C31.3087 11.0569 30.6553 11.3416 30.0331 11.6776C27.5935 12.996 25.8273 14.9394 24.4447 17.2424C23.827 18.2718 23.2026 19.3013 22.518 20.2901C21.8423 21.2682 20.8076 21.5636 19.8242 21.1548C18.7493 20.7096 18.2699 19.5667 18.698 18.4345C19.1016 17.3686 19.8688 16.5489 20.7251 15.8084C23.1335 13.7259 25.9723 12.3454 28.9962 11.2217C28.073 11.2217 27.1832 11.1982 26.2956 11.226C24.1147 11.2945 21.9226 11.2795 19.7573 11.5021C17.7949 11.7033 9.91403 12.2598 7.02171 12.523C6.45529 12.5744 5.86211 12.6429 5.12844 12.752C4.32117 12.8698 3.10359 13.0431 2.32978 12.9618C0.443195 12.7649 -0.593758 10.9884 0.360684 9.50736C0.960556 8.57633 1.95291 8.26813 3.00101 8.34732C4.20967 8.43721 5.41834 8.6491 6.60247 8.91021C9.13353 9.46669 18.2966 9.80914 20.8857 9.92043C23.361 10.0253 25.8407 10.0831 28.3183 10.1601C28.4654 10.1644 28.6104 10.1601 28.7754 10.0852C27.9503 9.72781 27.1185 9.38322 26.3023 9.00867C23.9519 7.92782 21.7174 6.67147 19.9669 4.77946C19.4384 4.21014 18.9924 3.52311 18.6936 2.81681C18.2721 1.82158 18.6936 0.807079 19.561 0.312672C20.4686 -0.207419 21.5101 -0.0982639 22.246 0.787816C22.9529 1.63965 23.5394 2.5985 24.0946 3.55307C25.7538 6.40822 27.8923 8.78822 31.05 10.1901C31.3176 10.31 31.5874 10.4234 31.8528 10.5475C31.8952 10.5668 31.9197 10.6246 32 10.723Z" class="md:fill-white fill-black" /> 3771 </svg> 3772 </div> 3773 <div class="episode-progress flex-1 relative md:hidden inline-flex"> 3774 <div class="singleCollection-mob-progress gridPromo-progress"></div> 3775 </div> 3776 </div> 3777 <!-- end swiper controller --> 3778 </div> 3779 </div> 3780</section></div> 3781 3782</div><!--end widget-span --> 3783</div><!--end row--> 3784</div><!--end row-wrapper --> 3785 3786</div><!--end widget-span --> 3787</div><!--end row--> 3788</div><!--end row-wrapper --> 3789 3790<div class="row-fluid-wrapper row-depth-1 row-number-11 dnd-section dnd_area-row-4-force-full-width-section dnd_area-row-4-padding"> 3791<div class="row-fluid "> 3792<div class="span12 widget-span widget-type-cell dnd-column" style="" data-widget-type="cell" data-x="0" data-w="12"> 3793 3794<div class="row-fluid-wrapper row-depth-1 row-number-12 dnd-row"> 3795<div class="row-fluid "> 3796<div class="span12 widget-span widget-type-custom_widget dnd-module" style="" data-widget-type="custom_widget" data-x="0" data-w="12"> 3797<div id="hs_cos_wrapper_widget_1756204468928" class="hs_cos_wrapper hs_cos_wrapper_widget hs_cos_wrapper_type_module" style="" data-hs-cos-general-type="widget" data-hs-cos-type="module"><section class="pt-10 pb-20 overflow-hidden"> 3798 <div class="holder"> 3799 <!-- common section title --> 3800 <div class="flex items-center"> 3801 <h2 class="pb-1 text-32 md:text-40 font-bold leading-[100%] relative z-10">Behind the scenes <img decoding="async" class="h-[5px] w-full absolute bottom-0 left-0" src="https://therestishistory.com/hubfs/TRIH/title-bg.png" alt="image"> 3802 </h2> 3803 </div> 3804 <!-- section title end --> 3805 <div class="swiper singleCollection overflow-visible mt-10"> 3806 <div class="swiper-wrapper"> 3807 3808 <div class="swiper-slide gallery-img"> 3809 <img decoding="async" class="w-full h-full object-cover" src="https://therestishistory.com/hubfs/E9C2B15A-42DC-4E0D-95E3-F8CEB605D3F6_1_105_c.jpeg" alt="E9C2B15A-42DC-4E0D-95E3-F8CEB605D3F6_1_105_c"> 3810 </div> 3811 3812 <div class="swiper-slide gallery-img"> 3813 <img decoding="async" class="w-full h-full object-cover" src="https://therestishistory.com/hubfs/E92FE2C6-5A7C-4
38131FF-8264-DDF5C77C6468_1_105_c-1.jpeg" alt="E92FE2C6-5A7C-41FF-8264-DDF5C77C6468_1_105_c-1"> 3814 </div> 3815 3816 <div class="swiper-slide gallery-img"> 3817 <img decoding="async" class="w-full h-full object-cover" src="https://therestishistory.com/hubfs/WhatsApp%20Image%202025-10-28%20at%2010.19.20.jpeg" alt="WhatsApp Image 2025-10-28 at 10.19.20"> 3818 </div> 3819 3820 <div class="swiper-slide gallery-img"> 3821 <img decoding="async" class="w-full h-full object-cover" src="https://therestishistory.com/hubfs/WhatsApp%20Image%202025-10-28%20at%2010.09.42.jpeg" alt="WhatsApp Image 2025-10-28 at 10.09.42"> 3822 </div> 3823 3824 <div class="swiper-slide gallery-img"> 3825 <img decoding="async" class="w-full h-full object-cover" src="https://therestishistory.com/hubfs/2E36FB1B-E92A-4BDF-A652-7BBFF7A84FA6_1_105_c.jpeg" alt="2E36FB1B-E92A-4BDF-A652-7BBFF7A84FA6_1_105_c"> 3826 </div> 3827 3828 <div class="swiper-slide gallery-img"> 3829 <img decoding="async" class="w-full h-full object-cover" src="https://therestishistory.com/hubfs/WhatsApp%20Image%202025-10-28%20at%2010.18.06%20(1).jpeg" alt="WhatsApp Image 2025-10-28 at 10.18.06 (1)"> 3830 </div> 3831 3832 <div class="swiper-slide gallery-img"> 3833 <img decoding="async" class="w-full h-full object-cover" src="https://therestishistory.com/hubfs/7FFD52C0-3479-4DFC-83E0-ABBBF9B85B25_1_105_c%20(1).jpeg" alt="7FFD52C0-3479-4DFC-83E0-ABBBF9B85B25_1_105_c (1)"> 3834 </div> 3835 3836 </div> 3837 <div class="singleCollection-prev group w-14 aspect-square rounded-full hidden md:flex items-center justify-center bg-white transition-all duration-300 left-0 top-1/2 -translate-y-1/2 absolute z-20"> 3838 <svg xmlns="http://www.w3.org/2000/svg" width="32" height="22" viewbox="0 0 32 22" fill="none"> 3839 <path d="M0.00169627 10.6139C0.692959 10.2799 1.34632 9.99519 1.96845 9.6591C4.40793 8.3404 6.17387 6.39681 7.5562 4.0937C8.1738 3.06415 8.79808 2.0346 9.48258 1.04571C10.1582 0.0675156 11.1928 -0.227964 12.1763 0.180718C13.2512 0.625775 13.7308 1.76863 13.3028 2.9009C12.8993 3.96681 12.1323 4.78663 11.276 5.52727C8.86785 7.61005 6.02921 8.99086 3.00546 10.1149C3.92868 10.1148 4.81845 10.1382 5.70599 10.1103C7.88693 10.0415 10.079 10.0563 12.2443 9.83342C14.2067 9.63201 22.0875 9.07462 24.9798 8.81104C25.5462 8.7596 26.1394 8.69105 26.873 8.58181C27.6803 8.464 28.8978 8.29049 29.6717 8.37174C31.5583 8.56843 32.5954 10.3447 31.6412 11.8259C31.0414 12.757 30.0491 13.0653 29.001 12.9863C27.7923 12.8965 26.5836 12.6848 25.3994 12.4238C22.8683 11.8676 13.7052 11.5262 11.1161 11.4152C8.64082 11.3106 6.16105 11.2531 3.6835 11.1764C3.53632 11.1721 3.39137 11.1764 3.22636 11.2513C4.0515 11.6087 4.88333 11.9532 5.69956 12.3276C8.05011 13.4082 10.2847 14.6643 12.0355 16.5561C12.5641 17.1253 13.0101 17.8123 13.309 18.5186C13.7306 19.5138 13.3093 20.5283 12.4419 21.0228C11.5343 21.543 10.4929 21.434 9.75688 20.548C9.04987 19.6962 8.46327 18.7375 7.90789 17.783C6.24844 14.928 4.10959 12.5482 0.951737 11.1467C0.684123 11.0269 0.414282 10.9135 0.148897 10.7894C0.106525 10.7701 0.0819878 10.7123 0.00169627 10.6139Z" class="fill-black group-hover:fill-color_red" /> 3840 </svg> 3841 </div> 3842 <div class="singleCollection-next group w-14 aspect-square rounded-full hidden md:flex items-center justify-center bg-white transition-all duration-300 right-0 top-1/2 -translate-y-1/2 absolute z-20"> 3843 <svg xmlns="http://www.w3.org/2000/svg" width="32" height="22" viewbox="0 0 32 22" fill="none"> 3844 <path d="M32 10.723C31.3087 11.0569 30.6553 11.3416 30.0331 11.6776C27.5935 12.996 25.8273 14.9394 24.4447 17.2424C23.827 18.2718 23.2026 19.3013 22.518 20.2901C21.8423 21.2682 20.8076 21.5636 19.8242 21.1548C18.7493 20.7096 18.2699 19.5667 18.698 18.4345C19.1016 17.3686 19.8688 16.5489 20.7251 15.8084C23.1335 13.7259 25.9723 12.3454 28.9962 11.2217C28.073 11.2217 27.1832 11.1982 26.2956 11.226C24.1147 11.2945 21.9226 11.2795 19.7573 11.5021C17.7949 11.7033 9.91403 12.2598 7.02171 12.523C6.45529 12.5744 5.86211 12.6429 5.12844 12.752C4.32117 12.8698 3.10359 13.0431 2.32978 12.9618C0.443195 12.7649 -0.593758 10.9884 0.360684 9.50736C0.960556 8.57633 1.95291 8.26813 3.00101 8.34732C4.20967 8.43721 5.41834 8.6491 6.60247 8.91021C9.13353 9.46669 18.2966 9.80914 20.8857 9.92043C23.361 10.0253 25.8407 10.0831 28.3183 10.1601C28.4654 10.1644 28.6104 10.1601 28.7754 10.0852C27.9503 9.72781 27.1185 9.38322 26.3023 9.00867C23.9519 7.92782 21.7174 6.67147 19.9669 4.77946C19.4384 4.21014 18.9924 3.52311 18.6936 2.81681C18.2721 1.82158 18.6936 0.807079 19.561 0.312672C20.4686 -0.207419 21.5101 -0.
38440982639 22.246 0.787816C22.9529 1.63965 23.5394 2.5985 24.0946 3.55307C25.7538 6.40822 27.8923 8.78822 31.05 10.1901C31.3176 10.31 31.5874 10.4234 31.8528 10.5475C31.8952 10.5668 31.9197 10.6246 32 10.723Z" class="fill-black group-hover:fill-color_red" /> 3845 </svg> 3846 </div> 3847 <div class=" md:w-full md:absolute flex md:hidden items-center justify-between gap-2 md:gap-x-10 lg:gap-x-16 md:top-1/2 md:-translate-y-1/2 z-10 mt-6 md:mt-0"> 3848 <div class="singleCollection-mob-prev w-5 md:w-14 md:aspect-square md:rounded-full flex items-center justify-center md:bg-color_red"> 3849 <svg xmlns="http://www.w3.org/2000/svg" width="32" height="22" viewbox="0 0 32 22" fill="none"> 3850 <path d="M0.00169627 10.6139C0.692959 10.2799 1.34632 9.99519 1.96845 9.6591C4.40793 8.3404 6.17387 6.39681 7.5562 4.0937C8.1738 3.06415 8.79808 2.0346 9.48258 1.04571C10.1582 0.0675156 11.1928 -0.227964 12.1763 0.180718C13.2512 0.625775 13.7308 1.76863 13.3028 2.9009C12.8993 3.96681 12.1323 4.78663 11.276 5.52727C8.86785 7.61005 6.02921 8.99086 3.00546 10.1149C3.92868 10.1148 4.81845 10.1382 5.70599 10.1103C7.88693 10.0415 10.079 10.0563 12.2443 9.83342C14.2067 9.63201 22.0875 9.07462 24.9798 8.81104C25.5462 8.7596 26.1394 8.69105 26.873 8.58181C27.6803 8.464 28.8978 8.29049 29.6717 8.37174C31.5583 8.56843 32.5954 10.3447 31.6412 11.8259C31.0414 12.757 30.0491 13.0653 29.001 12.9863C27.7923 12.8965 26.5836 12.6848 25.3994 12.4238C22.8683 11.8676 13.7052 11.5262 11.1161 11.4152C8.64082 11.3106 6.16105 11.2531 3.6835 11.1764C3.53632 11.1721 3.39137 11.1764 3.22636 11.2513C4.0515 11.6087 4.88333 11.9532 5.69956 12.3276C8.05011 13.4082 10.2847 14.6643 12.0355 16.5561C12.5641 17.1253 13.0101 17.8123 13.309 18.5186C13.7306 19.5138 13.3093 20.5283 12.4419 21.0228C11.5343 21.543 10.4929 21.434 9.75688 20.548C9.04987 19.6962 8.46327 18.7375 7.90789 17.783C6.24844 14.928 4.10959 12.5482 0.951737 11.1467C0.684123 11.0269 0.414282 10.9135 0.148897 10.7894C0.106525 10.7701 0.0819878 10.7123 0.00169627 10.6139Z" class="md:fill-white fill-black" /> 3851 </svg> 3852 </div> 3853 <div class="singleCollection-mob-next w-5 md:w-14 md:aspect-square md:rounded-full flex items-center justify-center md:bg-color_red"> 3854 <svg xmlns="http://www.w3.org/2000/svg" width="32" height="22" viewbox="0 0 32 22" fill="none"> 3855 <path d="M32 10.723C31.3087 11.0569 30.6553 11.3416 30.0331 11.6776C27.5935 12.996 25.8273 14.9394 24.4447 17.2424C23.827 18.2718 23.2026 19.3013 22.518 20.2901C21.8423 21.2682 20.8076 21.5636 19.8242 21.1548C18.7493 20.7096 18.2699 19.5667 18.698 18.4345C19.1016 17.3686 19.8688 16.5489 20.7251 15.8084C23.1335 13.7259 25.9723 12.3454 28.9962 11.2217C28.073 11.2217 27.1832 11.1982 26.2956 11.226C24.1147 11.2945 21.9226 11.2795 19.7573 11.5021C17.7949 11.7033 9.91403 12.2598 7.02171 12.523C6.45529 12.5744 5.86211 12.6429 5.12844 12.752C4.32117 12.8698 3.10359 13.0431 2.32978 12.9618C0.443195 12.7649 -0.593758 10.9884 0.360684 9.50736C0.960556 8.57633 1.95291 8.26813 3.00101 8.34732C4.20967 8.43721 5.41834 8.6491 6.60247 8.91021C9.13353 9.46669 18.2966 9.80914 20.8857 9.92043C23.361 10.0253 25.8407 10.0831 28.3183 10.1601C28.4654 10.1644 28.6104 10.1601 28.7754 10.0852C27.9503 9.72781 27.1185 9.38322 26.3023 9.00867C23.9519 7.92782 21.7174 6.67147 19.9669 4.77946C19.4384 4.21014 18.9924 3.52311 18.6936 2.81681C18.2721 1.82158 18.6936 0.807079 19.561 0.312672C20.4686 -0.207419 21.5101 -0.0982639 22.246 0.787816C22.9529 1.63965 23.5394 2.5985 24.0946 3.55307C25.7538 6.40822 27.8923 8.78822 31.05 10.1901C31.3176 10.31 31.5874 10.4234 31.8528 10.5475C31.8952 10.5668 31.9197 10.6246 32 10.723Z" class="md:fill-white fill-black" /> 3856 </svg> 3857 </div> 3858 <div class="episode-progress flex-1 relative md:hidden inline-flex"> 3859 <div class="singleCollection-mob-progress"></div> 3860 </div> 3861 </div> 3862 <!-- /. swiepr controller end --> 3863 <!-- /. swiepr controller end --> 3864 </div> 3865 <!-- /. collections items end --> 3866 </div> 3867</section></div> 3868 3869</div><!--end widget-span --> 3870</div><!--end row--> 3871</div><!--end row-wrapper --> 3872 3873</div><!--end widget-span --> 3874</div><!--end row--> 3875</div><!--end row-wrapper --> 3876 3877<div class="row-fluid-wrapper row-depth-1 row-number-13 dnd-section dnd_area-row-5-padding dnd_area-row-5-force-full-width-section"> 3878<div class="row-fluid "> 3879<div class="span12 widget-span widget-type-cell dnd-column" style="" data-widget-type="cell" data-x="0" data-w="12"> 3880 3881<div class="row-fluid-wrapper row-depth-1 row-number-14 dnd-row"> 3882<div class="row-fluid "> 3883<div class="span12 widget-span widget-type-custom_widget dnd-module" style="" data-widget-type="custom_widget" data-x="0" data-w="12"> 3884<div id="hs_cos_wrapper_widget_1756127831950" class="hs_cos_wrapper hs_cos_wrapper_widget hs_cos_wrapper_type_module" style="" data-hs-cos-general-type="widget" data-hs-cos-type="module"><section style="background-image: url('https://therestishistory.com/hubfs/TRIH/texture-bg%20%281%29.jpg');" class="bg-no-repeat bg-center bg-cover border-t-[0.5px] border-semi_dark bottom-footer"> 3885 <div class="holder custom-holder"> 3886 <div class="grid grid-cols-1 md:grid-cols-2 md:gap-10 lg:gap-[6.25rem]"> 3887 <div class=" py-12 max-w-full md:max-w-[556px] space-y-5"> 3888 <h4 class="sub-title text-2xl md:text-32 font-bold leading-[118%] md:leading-[100%]">Sign up to our <span>free</span> newsletter </h4> 3889
3889<script async src="https://subscribe-forms.beehiiv.com/v3/loader.js" data-beehiiv-form="8bece284-dca5-4ae0-b7ea-943f79d3f634"></script>
3889 3890 </div> 3891 <div class="py-8 lg:py-12 pl-0 md:pl-10 lg:pl-[6.25rem] space-y-6 border-l-0 md:border-l-[0.5px] border-t-[0.5px] md:border-t-0 border-semi_dark"> 3892 <h4 class="text-2xl md:text-32 font-bold leading-[100%]"> Follow us</h4> 3893 <div class="flex flex-wrap justify-between lg:justify-normal items-center gap-3 lg:gap-5 md:gap-6"> 3894 <a href="https://open.spotify.com/show/7Cvsbcjhtur7nplC148TWy?si=868b7288bdb0494e" target="_blank" class=" group"> 3895 <svg class="w-10 h-10 md:w-[52px] md:h-[52px]" xmlns="http://www.w3.org/2000/svg" width="52" height="52" viewbox="0 0 52 52" fill="none"> 3896 <circle cx="26" cy="26" r="26" fill="white" class="group-hover:fill-color_red transition-all duration-500" /> 3897 <path d="M35.44 24.24C30.32 21.2 21.76 20.88 16.88 22.4C16.08 22.64 15.28 22.16 15.04 21.44C14.8 20.64 15.28 19.84 16 19.6C21.68 17.92 31.04 18.24 36.96 21.76C37.68 22.16 37.92 23.12 37.52 23.84C37.12 24.4 36.16 24.64 35.44 24.24ZM35.28 28.72C34.88 29.28 34.16 29.52 33.6 29.12C29.28 26.48 22.72 25.68 17.68 27.28C17.04 27.44 16.32 27.12 16.16 26.48C16 25.84 16.32 25.12 16.96 24.96C22.8 23.2 30 24.08 34.96 27.12C35.44 27.36 35.68 28.16 35.28 28.72ZM33.36 33.12C33.04 33.6 32.48 33.76 32 33.44C28.24 31.12 23.52 30.64 17.92 31.92C17.36 32.08 16.88 31.68 16.72 31.2C16.56 30.64 16.96 30.16 17.44 30C23.52 28.64 28.8 29.2 32.96 31.76C33.52 32 33.6 32.64 33.36 33.12ZM26 10C23.8989 10 21.8183 10.4139 19.8771 11.2179C17.9359 12.022 16.172 13.2006 14.6863 14.6863C11.6857 17.6869 10 21.7565 10 26C10 30.2435 11.6857 34.3131 14.6863 37.3137C16.172 38.7994 17.9359 39.978 19.8771 40.7821C21.8183 41.5861 23.8989 42 26 42C30.2435 42 34.3131 40.3143 37.3137 37.3137C40.3143 34.3131 42 30.2435 42 26C42 23.8989 41.5861 21.8183 40.7821 19.8771C39.978 17.9359 38.7994 16.172 37.3137 14.6863C35.828 13.2006 34.0641 12.022 32.1229 11.2179C30.1817 10.4139 28.1012 10 26 10Z" fill="black" class="group-hover:fill-white transition-all duration-500" /> 3898 </svg> 3899 </a> 3900 <a href="https://podcasts.apple.com/gb/podcast/the-rest-is-history/id1537788786" target="_blank" class=" group"> 3901 <svg class="w-10 h-10 md:w-[52px] md:h-[52px]" xmlns="http://www.w3.org/2000/svg" width="52" height="52" viewbox="0 0 52 52" fill="none"> 3902 <circle class="group-hover:fill-color_red transition-all duration-500" cx="26" cy="26" r="26" fill="white" /> 3903 <path d="M30.4683 27.5882C30.9855 26.8505 31.2905 25.9851 31.3499 25.086C31.4093 24.187 31.2208 23.2889 30.8051 22.4896C30.3894 21.6903 29.7623 21.0203 28.9922 20.5528C28.2221 20.0853 27.3384 19.838 26.4375 19.838C25.5366 19.838 24.6529 20.0853 23.8828 20.5528C23.1127 21.0203 22.4856 21.6903 22.0699 22.4896C21.6542 23.2889 21.4657 24.187 21.5251 25.086C21.5845 25.9851 21.8895 26.8505 22.4067 27.5882C21.8796 27.8371 21.418 28.2059 21.059 28.6652C20.7145 29.1048 20.4757 29.6178 20.361 30.1644C20.2463 30.711 20.2588 31.2767 20.3975 31.8177L22.2713 39.2029C22.4769 40.0055 22.9445 40.7165 23.6 41.2232C24.2555 41.7299 25.0613 42.0033 25.8898 42H26.9852C27.813 42.0035 28.6184 41.7308 29.2738 41.225C29.9292 40.7192 30.3972 40.0092 30.6037 39.2075L32.4775 31.8224C32.6162 31.2813 32.6287 30.7156 32.514 30.169C32.3993 29.6224 32.1605 29.1094 31.816 28.6698C31.4575 28.2089 30.9959 27.8384 30.4683 27.5882ZM26.4375 22.3063C26.9243 22.3063 27.4003 22.4507 27.8051 22.7212C28.2099 22.9917 28.5254 23.3762 28.7117 23.826C28.898 24.2758 28.9467 24.7708 28.8517 25.2483C28.7568 25.7258 28.5223 26.1644 28.1781 26.5087C27.8338 26.853 27.3952 27.0874 26.9177 27.1824C26.4402 27.2774 25.9453 27.2287 25.4955 27.0423C25.0457 26.856 24.6613 26.5405 24.3908 26.1357C24.1203 25.7309 23.976 25.2549 23.976 24.768C23.976 24.1151 24.2353 23.489 24.6969 23.0273C25.1586 22.5657 25.7847 22.3063 26.4375 22.3063ZM30.0913 31.2162L28.2175 38.6013C28.1459 38.8722 27.986 39.1115 27.7631 39.2812C27.5401 39.4509 27.2669 39.5414 26.9867 39.5383H25.8913C25.6112 39.5414 25.338 39.4509 25.115 39.2812C24.8921 39.1115 24.7321 38.8722 24.6606 38.6013L22.7867 31.2162C22.7405 31.0384 22.7362 30.8524 22.7741 30.6727C22.812 30.493 22.8911 30.3246 23.0052 30.1807C23.1251 30.027 23.2788 29.9029 23.4543 29.818C23.6298 29.7332 23.8225 29.6899 24.0175 29.6914H28.8637C29.0586 29.6899 29.2513 29.7332 29.4269 29.818C29.6024 29.9029 29.7561 30.027 29.876 30.1807C29.9895 30.3249 30.0681 30.4934 30.1054 30.6731C30.1428 30.8528 30.138 31.0387 30.0913 31.2162ZM17.8221 25.9989C17.8204 26.7785 17.9239 27.5548 18.1298 28.3067C18.2091 28.6185 18.1633 28.9489 18.002 29.2272C17.8408 29.5056 17.577 29.7097 17.2671 29.796C16.9573 29.8823 16.6259 29.8438 16.3441 29.6888C16.0622 29.5338 15.8522 29.2747 15.759 28.9668C15.3017 27.3213 15.231 25.5923 15.5524 23.9149C15.8739 22.2375 16.5788 20.6572 17.6121 19.2974C18.6454 17.9376 19.9791 16.8352 21.509 16.0763C23.0389 15.3173 24.7236 14.9224 26.4313 14.9224C28.1391 14.9224 29.8238 15.3173 31.3537 16.0763C32.8836 16.8352 34.2173 17.9376 35.2506 19.2974C36.2839 20.6572 36.9888 22.2375 37.3103 23.9149C37.6317 25.5923 37.561 27.3213 37.1037 28.9668C36.9923 29.2508 36.7796 29.4833 36.5066 29.6193C36.2336 29.7553 35.9198 29.7851 35.6261 29.7029C35.3324 29.6207 35.0796 29.4324 34.9169 29.1744C34.7541 28.9164 34.6929 28.6072 34.7452 28.3067C35.0703 27.1229 35.1387 25.8834 34.9458 24.671C34.7529 23.4586 34.3032 22.3015 33.6268 21.2771C32.9504 20.2526 32.0629 19.3846 31.0237 18.7311C29.9846 18.0776 28.8178 17.6537 27.6015 17.4878C26.3852 17.322 25.1476 17.418 23.9714 17.7693C22.7952 18.1207 21.7077 18.7194 20.7817 19.5253C19.8557 20.3312 19.1126 21.3257 18.6022 22.4422C18.0918 23.5586 17.8258 24.7713 17.8221 25.9989ZM42.4375 25.9989C42.4389 28.6296 41.7913 31.22 40.552 33.5404C39.3127 35.8609 37.52 37.8397 35.3329 39.3013C35.0615 39.4829 34.7292 39.5493 34.4089 39.4858C34.0887 39.4223 33.8068 39.2342 33.6252 38.9628C33.4436 38.6915 33.3773 38.3591 33.4407 38.0388C33.5042 37.7186 33.6923 37.4366 33.9637 37.255C36.3776 35.6406 38.2085 33.2926 39.1859 30.5579C40.1634 27.8232 40.2358 24.8466 39.3922 22.0676C38.5486 19.2886 36.8339 16.8545 34.5012 15.1248C32.1685 13.395 29.3415 12.4611 26.4375 12.4611C23.5335 12.4611 20.7065 13.395 18.3738 15.1248C16.0411 16.8545 14.3264 19.2886 13.4828 22.0676C12.6392 24.8466 12.7116 27.8232 13.6891 30.5579C14.6665 33.2926 16.4974 35.6406 18.9113 37.255C19.1827 37.4366 19.3708 37.7186 19.4343 38.0388C19.4977 38.3591 19.4314 38.6915 19.2498 38.9628C19.0682 39.2342 18.7863 39.4223 18.4661 39.4858C18.1458 39.5493 17.8135 39.4829 17.5421 39.3013C15.2448 37.7647 13.3847 35.6591 12.1431 33.1897C10.9014 30.7204 10.3205 27.9715 10.457 25.2109C10.5935 22.4503 11.4427 19.7721 12.9219 17.4373C14.4011 15.1025 16.4598 13.1907 18.8975 11.8881C21.3352 10.5856 24.0686 9.93677 26.8316 10.0049C29.5946 10.0729 32.2928 10.8556 34.6633 12.2766C37.0339 13.6976 38.996 15.7085 40.3584 18.1133C41.7208 20.5181 42.4371 23.2349 42.4375 25.9989Z" fill="black" class="group-hover:fill-white transition-all duration-500" /> 3904 </svg> 3905 </a> 3906 <a href="https://www.youtube.com/channel/UCUYK0BJZF3yNb2fw1EdAXUQ" target="_blank" class=" group"> 3907 <svg class="w-10 h-10 md:w-[52px] md:h-[52px]" xmlns="http://www.w3.org/2000/svg" width="52" height="52" viewbox="0 0 52 52" fill="none"> 3908 <circle class="group-hover:fill-color_red transition-all duration-500" cx="26" cy="26" r="26" fill="white" /> 3909 <path fill-rule="evenodd" clip-rule="evenodd" d="M25.5 14C26.868 14 28.2712 14.0344 29.6312 14.0906L31.2376 14.1656L32.7752 14.2547L34.2152 14.35L35.5304 14.45C36.9577 14.5567 38.3007 15.1515 39.3232 16.1297C40.3458 17.108 40.9823 18.4071 41.1208 19.7984L41.1848 20.4625L41.3048 21.8844C41.4168 23.3578 41.5 24.9641 41.5 26.5C41.5 28.0359 41.4168 29.6422 41.3048 31.1156L41.1848 32.5375C41.164 32.7656 41.1432 32.9859 41.1208 33.2016C40.9822 34.5932 40.3455 35.8924 39.3226 36.8707C38.2998 37.849 36.9564 38.4437 35.5288 38.55L34.2168 38.6484L32.7768 38.7453L31.2376 38.8344L29.6312 38.9094C28.2549 38.9678 26.8776 38.998 25.5 39C24.1224 38.998 22.7451 38.9678 21.3688 38.9094L19.7624 38.8344L18.2248 38.7453L16.7848 38.6484L15.4696 38.55C14.0423 38.4433 12.6993 37.8485 11.6768 36.8703C10.6542 35.892 10.0177 34.5929 9.8792 33.2016L9.8152 32.5375L9.6952 31.1156C9.57286 29.5799 9.50775 28.0403 9.5 26.5C9.5 24.9641 9.5832 23.3578 9.6952 21.8844L9.8152 20.4625C9.836 20.2344 9.8568 20.0141 9.8792 19.7984C10.0177 18.4073 10.6539 17.1085 11.6761 16.1302C12.6983 15.152 14.041 14.557 15.468 14.45L16.7816 14.35L18.2216 14.2547L19.7608 14.1656L21.3672 14.0906C22.744 14.0322 24.1219 14.002 25.5 14ZM22.3 22.7109V30.2891C22.3 31.0109 23.1 31.4609 23.74 31.1016L30.46 27.3125C30.6062 27.2303 30.7277 27.1119 30.8121 26.9693C30.8966 26.8266 30.9411 26.6648 30.9411 26.5C30.9411 26.3352 30.8966 26.1734 30.8121 26.0307C30.7277 25.8881 30.6062 25.7697 30.46 25.6875L23.74 21.9C23.594 21.8177 23.4284 21.7744 23.2598 21.7744C23.0913 21.7744 22.9257 21.8178 22.7797 21.9002C22.6338 21.9825 22.5126 22.1009 22.4284 22.2435C22.3442 22.3861 22.2999 22.5479 22.3 22.7125V22.7109Z" fill="black" class="group-hover:fill-white transition-all duration-500" /> 3910 </svg> 3911 </a> 3912 <a href="https://www.instagram.com/theresthistory/" target="_blank" class=" group"> 3913 <svg class="w-10 h-10 md:w-[52px] md:h-[52px]" xmlns="http://www.w3.org/2000/svg" width="52" height="52" viewbox="0 0 52 52" fill="none"> 3914 <circle class="group-hover:fill-color_red transition-all duration-500" cx="26" cy="26" r="26" fill="white" /> 3915 <path d="M19.8486 13H30.7686C34.9286 13 38.3086 16.38 38.3086 20.54V31.46C38.3086 33.4597 37.5142 35.3776 36.1002 36.7916C34.6862 38.2056 32.7683 39 30.7686 39H19.8486C15.6886 39 12.3086 35.62 12.3086 31.46V20.54C12.3086 18.5403 13.103 16.6224 14.517 15.2084C15.931 13.7944
391517.8489 13 19.8486 13ZM19.5886 15.6C18.3474 15.6 17.157 16.0931 16.2793 16.9707C15.4017 17.8484 14.9086 19.0388 14.9086 20.28V31.72C14.9086 34.307 17.0016 36.4 19.5886 36.4H31.0286C32.2698 36.4 33.4602 35.9069 34.3379 35.0293C35.2155 34.1516 35.7086 32.9612 35.7086 31.72V20.28C35.7086 17.693 33.6156 15.6 31.0286 15.6H19.5886ZM32.1336 17.55C32.5646 17.55 32.9779 17.7212 33.2826 18.026C33.5874 18.3307 33.7586 18.744 33.7586 19.175C33.7586 19.606 33.5874 20.0193 33.2826 20.324C32.9779 20.6288 32.5646 20.8 32.1336 20.8C31.7026 20.8 31.2893 20.6288 30.9845 20.324C30.6798 20.0193 30.5086 19.606 30.5086 19.175C30.5086 18.744 30.6798 18.3307 30.9845 18.026C31.2893 17.7212 31.7026 17.55 32.1336 17.55ZM25.3086 19.5C27.0325 19.5 28.6858 20.1848 29.9048 21.4038C31.1238 22.6228 31.8086 24.2761 31.8086 26C31.8086 27.7239 31.1238 29.3772 29.9048 30.5962C28.6858 31.8152 27.0325 32.5 25.3086 32.5C23.5847 32.5 21.9314 31.8152 20.7124 30.5962C19.4934 29.3772 18.8086 27.7239 18.8086 26C18.8086 24.2761 19.4934 22.6228 20.7124 21.4038C21.9314 20.1848 23.5847 19.5 25.3086 19.5ZM25.3086 22.1C24.2743 22.1 23.2823 22.5109 22.5509 23.2423C21.8195 23.9737 21.4086 24.9657 21.4086 26C21.4086 27.0343 21.8195 28.0263 22.5509 28.7577C23.2823 29.4891 24.2743 29.9 25.3086 29.9C26.3429 29.9 27.3349 29.4891 28.0663 28.7577C28.7977 28.0263 29.2086 27.0343 29.2086 26C29.2086 24.9657 28.7977 23.9737 28.0663 23.2423C27.3349 22.5109 26.3429 22.1 25.3086 22.1Z" fill="black" class="group-hover:fill-white transition-all duration-500" /> 3916 </svg> 3917 </a> 3918 <a href="https://x.com/TheRestHistory" target="_blank" class=" group"> 3919 <svg class="w-10 h-10 md:w-[52px] md:h-[52px]" xmlns="http://www.w3.org/2000/svg" width="52" height="52" viewbox="0 0 52 52" fill="none"> 3920 <circle class="group-hover:fill-color_red transition-all duration-500" cx="26" cy="26" r="26" fill="white" /> 3921 <path d="M12.8972 14L22.9355 27.7889L12.834 39H15.1076L23.9517 29.1843L31.0972 39H38.834L28.2307 24.4356L37.6332 14H35.3596L27.2149 23.0398L20.634 14H12.8972ZM16.2407 15.7204H19.7949L35.4901 37.2796H31.9358L16.2407 15.7204Z" fill="black" class="group-hover:fill-white transition-all duration-500" /> 3922 </svg> 3923 </a> 3924 <a href="https://www.tiktok.com/@theresthistory" target="_blank" class=" group"> 3925 <svg class="w-10 h-10 md:w-[52px] md:h-[52px]" width="52" height="52" viewbox="0 0 52 52" fill="none" xmlns="http://www.w3.org/2000/svg"> 3926 <circle class="group-hover:fill-color_red transition-all duration-500" cx="26" cy="26" r="26" fill="white" /> 3927 <path d="M32.5159 17.245C31.5475 16.1395 31.0138 14.7197 31.0142 13.25H26.6367V30.8167C26.603 31.7673 26.2016 32.6677 25.5172 33.3283C24.8328 33.9889 23.9188 34.3582 22.9676 34.3583C20.9559 34.3583 19.2842 32.715 19.2842 30.675C19.2842 28.2383 21.6359 26.4108 24.0584 27.1617V22.685C19.1709 22.0333 14.8926 25.83 14.8926 30.675C14.8926 35.3925 18.8026 38.75 22.9534 38.75C27.4017 38.75 31.0142 35.1375 31.0142 30.675V21.7642C32.7893 23.039 34.9205 23.7229 37.1059 23.7192V19.3417C37.1059 19.3417 34.4426 19.4692 32.5159 17.245Z" fill="black" class="group-hover:fill-white transition-all duration-500" /> 3928 </svg> 3929 </a> 3930 </div> 3931 </div> 3932 </div> 3933 </div> 3934</section></div> 3935 3936</div><!--end widget-span --> 3937</div><!--end row--> 3938</div><!--end row-wrapper --> 3939 3940</div><!--end widget-span --> 3941</div><!--end row--> 3942</div><!--end row-wrapper --> 3943 3944</div><!--end widget-span --> 3945</div> 3946</div> 3947</div> 3948</main> 3949 3950 3951 3952 <div data-global-resource-path="TRIH_Aug2025/templates/partials/footer.html"><div id="hs_cos_wrapper_module_175602601185513" class="hs_cos_wrapper hs_cos_wrapper_widget hs_cos_wrapper_type_module" style="" data-hs-cos-general-type="widget" data-hs-cos-type="module"><footer class="bg-color_red"> 3953 <div class="holder"> 3954 <div class="flex flex-col lg:flex-row lg:flex-wrap lg:gap-0 gap-6 items-center pt-6 pb-4 lg:py-12"> 3955 <div class="max-w-[15.625rem] lg:max-w-[26.5rem] w-full"> 3956 3957 3958 <a href="https://therestishistory.com/"> 3959 3960 3961 3962 3963 3964 3965 <img src="https://therestishistory.com/hs-fs/hubfs/GH%20BANNER.png?width=2000&name=GH%20BANNER.png" alt="GH BANNER" loading="lazy" width="2000" style="max-width: 100%; height: auto;" srcset="https://therestishistory.com/hs-fs/hubfs/GH%20BANNER.png?width=1000&name=GH%20BANNER.png 1000w, https://therestishistory.com/hs-fs/hubfs/GH%20BANNER.png?width=2000&name=GH%20BANNER.png 2000w, https://therestishistory.com/hs-fs/hubfs/GH%20BANNER.png?width=3000&name=GH%20BANNER.png 3000w, https://therestishistory.com/hs-fs/hubfs/GH%20BANNER.png?width=4000&name=GH%20BANNER.png 4000w, https://therestishistory.com/hs-fs/hubfs/GH%20BANNER.png?width=5000&name=GH%20BANNER.png 5000w, https://therestishistory.com/hs-fs/hubfs/GH%20BANNER.png?width=6000&
3965name=GH%20BANNER.png 6000w" sizes="(max-width: 2000px) 100vw, 2000px"> 3966 3967 </a> 3968 </div> 3969 3970 <div class="inline-flex md:flex flex-wrap justify-center items-center mx-auto lg:mr-0 divide-x divide-white/50"> 3971 3972 <ul id="menu-footer-menu" class="footer--menu divide-x divide-white/50 list-none flex flex-wrap justify-center lg:justify-end gap-y-2 gap-x-3 lg:gap-4 [&>li>a]:text-white/50 [&>li]:text-white/50 [&>li]:text-xs [&>li>a]:text-xs lg:[&>li]:text-xxs lg:[&>li>a]:text-xxs [&>li>a]:font-normal [&>li]:leading-[100%] [&>li>a]:leading-[100%] [&>li]:pl-3 [&>li:first-child]:pl-0 lg:[&>li]:pl-4 [&>li]:relative"> 3973 3974 <li id="menu-item-349" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-349"> 3975 3976 3977 <a href="https://therestishistory.com/terms-of-use"> 3978 Terms of Use 3979 </a> 3980 </li> 3981 3982 <li id="menu-item-349" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-349"> 3983 3984 3985 <a href="https://therestishistory.com/rest-is-history-terms-of-use"> 3986 Rest Is History Club â Terms of Use 3987 </a> 3988 </li> 3989 3990 <li id="menu-item-349" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-349"> 3991 3992 3993 <a href="https://therestishistory.com/privacy-policy"> 3994 Privacy Policy 3995 </a> 3996 </li> 3997 3998 <li id="menu-item-349" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-349"> 3999 4000 4001 <a href="https://therestishistory.com/cookies-policy"> 4002 Cookie Policy 4003 </a> 4004 </li> 4005 4006 <li id="menu-item-349" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-349"> 4007 4008 4009 4010 4011 <a href="mailto:[email protected]"> 4012 Contact Us 4013 </a> 4014 </li> 4015 4016 <li id="menu-item-349" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-349"> 4017 4018 4019 <a href="https://therestishistory.com/faqs"> 4020 FAQs 4021 </a> 4022 </li> 4023 4024 <li id="menu-item-349" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-349"> 4025 4026 4027 <a href="https://goalhanger.com/partner-with-us?brand=TRIH"> 4028 Partner With Us 4029 </a> 4030 </li> 4031 4032 </ul> <!-- <span class="text-white/50 font-normal text-xxs leading-none pl-3">Site designed by <a target="_blank" href="https://skylarkcreative.co.uk"> Skylark</a></span> --> 4033 </div> 4034 </div> 4035 </div> 4036</footer></div></div> 4037 4038 </div> 4039 4040 4041
4041<script src="/hs/hsstatic/jquery-libs/static-1.1/jquery/jquery-1.7.1.js"></script>
vendor: 1 bytes, line 4041
4041
4042<script>hsjQuery = window['jQuery'];</script>
4042 4043<!-- HubSpot performance collection script -->
4044<script defer src="/hs/hsstatic/content-cwv-embed/static-1.1293/embed.js"></script>
vendor: 1 bytes, line 4044
4044
4045<script src="https://therestishistory.com/hubfs/hub_generated/template_assets/1/267420805315/1785771584685/template_main.min.js"></script>
vendor: 1 bytes, line 4045
4045
4046<script> 4047var hsVars = hsVars || {}; hsVars['language'] = 'en'; 4048</script>
4048 4049
4050<script src="/hs/hsstatic/cos-i18n/static-1.53/bundles/project.js"></script>
4050 4051 4052<!-- Start of HubSpot Analytics Code -->
4053<script type="text/javascript"> 4054var _hsq = _hsq || []; 4055_hsq.push(["setContentType", "standard-page"]); 4056_hsq.push(["setCanonicalUrl", "https:\/\/therestishistory.com\/about"]); 4057_hsq.push(["setPageId", "269059603677"]); 4058_hsq.push(["setContentMetadata", { 4059 "contentPageId": 269059603677, 4060 "legacyPageId": "269059603677", 4061 "contentFolderId": null, 4062 "contentGroupId": null, 4063 "abTestId": null, 4064 "languageVariantId": 269059603677, 4065 "languageCode": "en", 4066 4067 4068}]); 4069</script>
4069 4070
4071<script type="text/javascript" id="hs-script-loader" async defer src="/hs/scriptloader/146396756.js"></script>
4071 4072<!-- End of HubSpot Analytics Code --> 4073 4074
4075<script type="text/javascript"> 4076var hsVars = { 4077 render_id: "80d5bb63-facb-475c-b1de-f3a5a05affe0", 4078 ticks: 1790689941104, 4079 page_id: 269059603677, 4080 4081 content_group_id: 0, 4082 portal_id: 146396756, 4083 app_hs_base_url: "https://app-eu1.hubspot.com", 4084 cp_hs_base_url: "https://cp-eu1.hubspot.com", 4085 language: "en", 4086 analytics_page_type: "standard-page", 4087 scp_content_type: "", 4088 4089 analytics_page_id: "269059603677", 4090 category_id: 1, 4091 folder_id: 0, 4092 is_hubspot_user: false 4093} 4094</script>
4094 4095 4096
4097<script defer src="/hs/hsstatic/HubspotToolsMenu/static-1.640/js/index.js"></script>
4097 4098 4099<!-- Google Tag Manager (noscript) -->
vendor: 68 bytes, lines 4099-4100
4099 4100<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
4100GTM-TKG5WWJK
vendor: 83 bytes, line 4100
4100" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
4101<!-- End Google Tag Manager (noscript) --> 4102 4103 4104 4105</body></html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.