PageSourceSearch

https://strangehistorypod.com/follow/

html strangehistorypod.com collected 2026-10-04 04:49:27 UTC 50,354 bytes, 1,102 lines download raw bytes

1
2
3<!DOCTYPE html>
4<html lang="en" class="h-full">
5<head>
6    <meta charset="UTF-8">
7    <meta name="viewport" content="width=device-width, initial-scale=1.0">
8    <title>Follow - The Strange History Podcast</title>
9
10    
11    
12    
13    <link rel="icon" type="image/x-icon" href="/static/images/favicon-theme.d917f31e4996.ico">
14    <link rel="icon" type="image/png" sizes="32x32" href="/static/images/favicon-theme-32x32.dcf76f9c9512.png">
15    <link rel="icon" type="image/png" href="/static/images/favicon-theme.250edd9f4eb9.png">
16    <link rel="apple-touch-icon" href="/static/images/apple-touch-icon-theme.1c8f2d6e14fe.png">
17    
18
19    <!-- Google Fonts for theme typography -->
20    
21    <link rel="preconnect" href="https://fonts.googleapis.com">
22    <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
23    <link href="https://fonts.googleapis.com/css2?family=DM%20Serif%20Display:wght@400;600;700&family=Work%20Sans:wght@400;500;600&display=swap" rel="stylesheet">
24    
25
26    <!-- Tailwind CSS (built from tailwind.config.js) -->
27    <link rel="stylesheet" href="/static/css/tailwind.7e32b469e897.css">
28
29    <!-- Plyr (HLS video player chrome) — pinned-major CDN, matches hls.js/htmx/wavesurfer pattern. Plyr JS itself is lazy-loaded by hls-player.js only when a video exists. -->
30    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/plyr@3/dist/plyr.css">
31
32    <!-- HTMX 2.x -->
33    
33<script src="https://unpkg.com/[email protected]"></script>
33
34    
34<script>
35        // Configure HTMX to include CSRF token in requests
36        document.addEventListener('htmx:configRequest', function(evt) {
37            const csrfToken = document.querySelector('[name=csrfmiddlewaretoken]')?.value
38                || document.cookie.split('; ').find(row => row.startsWith('csrftoken='))?.split('=')[1];
39            if (csrfToken) {
40                evt.detail.headers['X-CSRFToken'] = csrfToken;
41            }
42        });
43    </script>
43
44
45    
46    
46<script src="https://unpkg.com/[email protected]/dist/wavesurfer.min.js"></script>
46
47
48    <!-- Theme CSS variables and custom styles -->
49    <style>
50        :root {
51            --color-primary: #8B5CF6;
52            --color-secondary: #F97316;
53            --color-background: #111827;
54            --color-text: #F3F4F6;
55            --color-accent: #22D3EE;
56            --font-heading: 'DM Serif Display', serif;
57            --font-body: 'Work Sans', sans-serif;
58        }
59        [x-cloak] { display: none !important; }
60        body {
61            background-color: var(--color-background);
62            color: var(--color-text);
63            font-family: var(--font-body);
64            /* Break long unbreakable tokens (e.g. pasted URL runs in an episode
65               description) so they wrap instead of overflowing horizontally.
66               `anywhere` (not `break-word`) is required: it also shrinks the
67               token's min-content width, so a flex/grid column stops growing to
68               fit it. Inherited, so it applies to all theme text. */
69            overflow-wrap: anywhere;
70        }
71        /* A failed image can paint its alt text outside the replaced element.
72           Keep the accessible alternative while containing its visual fallback. */
73        img { overflow: hidden; }
74        h1, h2, h3, h4, h5, h6 {
75            font-family: var(--font-heading);
76            /* Headings opt DOWN from the body's `anywhere` to `break-word`. Both
77               still break a word that cannot fit, but `anywhere` also shrinks
78               min-content width, so a display heading in a flex/grid column got a
79               narrow column and then shattered mid-word: "TECH FOUNDER / S /
80               UNPLUGG / ED" on the arena hero. `break-word` leaves min-content
81               alone, so the column sizes to the longest word and only breaks as a
82               last resort. Body text keeps `anywhere` for pasted URL runs. */
83            overflow-wrap: break-word;
84        }
85
86        /* Chaptered player - current chapter highlight */
87        .chaptered-player [data-role="chapter-item"].is-current {
88            background: color-mix(in srgb, var(--color-primary) 12%, transparent);
89        }
90        .chaptered-player [data-role="chapter-item"].is-current > span:last-child {
91            color: var(--color-primary);
92            font-weight: 600;
93        }
94
95        /* Episode detail tabs (dramatic layout). Explicit .is-selected swap avoids
96           aria-selected: variant specificity ties with the base text color. */
97        .episode-tab {
98            color: var(--color-text);
99            opacity: 0.55;
100            border-color: transparent;
101        }
102        .episode-tab:hover {
103            opacity: 0.85;
104        }
105        .episode-tab.is-selected {
106            color: var(--color-accent);
107            opacity: 1;
108            border-color: var(--color-accent);
109        }
110
111        /* Align Tailwind Typography (prose) with theme tokens.
112           RSS descriptions often come as loose text (no <p> wrappers), so the
113           prose container's own color must be the theme text color — otherwise
114           it falls back to the plugin's slate defaults and looks washed out. */
115        .prose,
116        .prose.prose-invert {
117            --tw-prose-body: var(--color-text);
118            --tw-prose-headings: var(--color-text);
119            --tw-prose-lead: var(--color-text);
120            --tw-prose-links: var(--color-primary);
121            --tw-prose-bold: var(--color-text);
122            --tw-prose-counters: color-mix(in srgb, var(--color-text) 70%, var(--color-background));
123            --tw-prose-bullets: color-mix(in srgb, var(--color-text) 50%, var(--color-background));
124            --tw-prose-hr: color-mix(in srgb, var(--color-background) 85%, var(--color-text));
125            --tw-prose-quotes: var(--color-text);
126            --tw-prose-quote-borders: var(--color-primary);
127            --tw-prose-captions: color-mix(in srgb, var(--color-text) 70%, var(--color-background));
128            --tw-prose-code: var(--color-text);
129            --tw-prose-pre-code: var(--color-text);
130            --tw-prose-pre-bg: color-mix(in srgb, var(--color-background) 95%, var(--color-text));
131            --tw-prose-th-borders: color-mix(in srgb, var(--color-background) 85%, var(--color-text));
132            --tw-prose-td-borders: color-mix(in srgb, var(--color-background) 85%, var(--color-text));
133            --tw-prose-invert-body: var(--color-text);
134            --tw-prose-invert-headings: var(--color-text);
135            --tw-prose-invert-lead: var(--color-text);
136            --tw-prose-invert-links: var(--color-primary);
137            --tw-prose-invert-bold: var(--color-text);
138            --tw-prose-invert-counters: color-mix(in srgb, var(--color-text) 70%, var(--color-background));
139            --tw-prose-invert-bullets: color-mix(in srgb, var(--color-text) 50%, var(--color-background));
140            --tw-prose-invert-hr: color-mix(in srgb, var(--color-background) 85%, var(--color-text));
141            --tw-prose-invert-quotes: var(--color-text);
142            --tw-prose-invert-quote-borders: var(--color-primary);
143            --tw-prose-invert-captions: color-mix(in srgb, var(--color-text) 70%, var(--color-background));
144            --tw-prose-invert-code: var(--color-text);
145            --tw-prose-invert-pre-code: var(--color-text);
146            --tw-prose-invert-pre-bg: color-mix(in srgb, var(--color-background) 95%, var(--color-text));
147            --tw-prose-invert-th-borders: color-mix(in srgb, var(--color-background) 85%, var(--color-text));
148            --tw-prose-invert-td-borders: color-mix(in srgb, var(--color-background) 85%, var(--color-text));
149            font-family: var(--font-body);
150        }
151        .prose :where(h1, h2, h3, h4, h5, h6):not(:where([class~="not-prose"] *)) {
152            font-family: var(--font-heading);
153        }
154
155        
156        
157    </style>
158
159    
160    
161
162
163
164
165<link rel="canonical" href="https://strangehistorypod.com/">
166
167
168
169<link rel="alternate" type="application/rss+xml" title="The Strange History Podcast" href="https://www.spreaker.com/show/5773362/episodes/feed">
170
171
172
173
174<meta name="description" content="The Strange History Podcast explores the forgotten, bizarre, and mysterious stories that history left behind.">
175
176
177
178
179<meta property="og:type" content="website">
180<meta property="og:site_name" content="The Strange History Podcast">
181<meta property="og:title" content="The Strange History Podcast">
182
183<meta property="og:description" content="The Strange History Podcast explores the forgotten, bizarre, and mysterious stories that history left behind.">
184
185
186<meta property="og:image" content="https://d3wo5wojvuv7l.cloudfront.net/t_rss_itunes_square_1400/images.spreaker.com/original/e6ba8897445c11735ef9cde1ad7a0aad.jpg">
187<meta property="og:image:alt" content="The Strange History Podcast">
188
189<meta property="og:url" content="https://strangehistorypod.com/">
190<meta property="og:locale" content="en_US">
191
192
193
194
195
196<meta name="twitter:card" content="summary_large_image">
197<meta name="twitter:title" content="The Strange History Podcast">
198
199<meta name="twitter:description" content="The Strange History Podcast explores the forgotten, bizarre, and mysterious stories that history left behind.">
200
201
202<meta name="twitter:image" content="https://d3wo5wojvuv7l.cloudfront.net/t_rss_itunes_square_1400/images.spreaker.com/original/e6ba8897445c11735ef9cde1ad7a0aad.jpg">
203
204
205
206
207
208<meta name="apple-itunes-app" content="app-id=525463029">
209
210
211
212
213<script type="application/ld+json">
214{"@context": "https://schema.org", "@graph": [{"@type": "BreadcrumbList", "itemListElement": [{"@type": "ListItem", "position": 1, "name": "The Strange History Podcast", "item": "https://strangehistorypod.com/"}, {"@type": "ListItem", "position": 2, "name": "Follow", "item": "https://strangehistorypod.com/follow/"}]}]}
215</script>
215
216
217
218
219
220    
221    <meta name="robots" content="index, follow, max-image-preview:large">
222
223    
224
225    
226    
227</head>
228<body class="h-full antialiased">
229    
230    
231
232
233
234
235    
236    
237
238
239
240
241    
242    <div class="min-h-full">
243        
244        
245
246        
247        
248        
249        
250
251<nav class="sticky top-[var(--owner-bar-height,0px)] z-50 border-b border-theme-border/70 bg-theme-surface/75 backdrop-blur-xl">
252    <div class="mx-auto flex max-w-7xl items-center justify-between gap-4 px-4 py-3 sm:px-6 lg:px-8" data-nav-row="glass">
253        <a href="/" class="inline-flex min-w-0 shrink items-center gap-2 text-theme-text transition hover:text-theme-primary md:max-w-xs md:shrink-0" data-nav-brand>
254            <img src="https://d3wo5wojvuv7l.cloudfront.net/t_rss_itunes_square_1400/images.spreaker.com/original/e6ba8897445c11735ef9cde1ad7a0aad.jpg" alt="The Strange History Podcast" class="h-8 w-auto max-w-48 object-contain">
255        </a>
256        <div class="hidden shrink-0 items-center gap-1 md:flex">
257            <a href="/" class="whitespace-nowrap rounded-full px-3 py-1.5 text-sm text-theme-text-muted transition hover:bg-theme-border/50 hover:text-theme-text">Home</a>
258            <a href="/episodes/" class="shrink-0 whitespace-nowrap rounded-full px-3 py-1.5 text-sm text-theme-text-muted transition hover:bg-theme-border/50 hover:text-theme-text" data-nav-inline-link>Episodes</a><a href="/about/" class="shrink-0 whitespace-nowrap rounded-full px-3 py-1.5 text-sm text-theme-text-muted transition hover:bg-theme-border/50 hover:text-theme-text" data-nav-inline-link>About</a><a href="/contact/" class="shrink-0 whitespace-nowrap rounded-full px-3 py-1.5 text-sm text-theme-text-muted transition hover:bg-theme-border/50 hover:text-theme-text" data-nav-inline-link>Contact</a><a href="/follow/" class="shrink-0 whitespace-nowrap rounded-full px-3 py-1.5 text-sm text-theme-text-muted transition hover:bg-theme-border/50 hover:text-theme-text" data-nav-inline-link>Follow</a>
259        </div>
260        <button type="button" id="glass-menu-toggle" class="flex h-11 w-11 shrink-0 items-center justify-center rounded-full border border-theme-border text-theme-text-muted transition hover:text-theme-text" aria-expanded="false" aria-controls="glass-menu-panel" aria-haspopup="dialog">
261            <span class="sr-only">Open menu</span><svg fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" aria-hidden="true" width="24" height="24" class="h-5 w-5">
262  <path stroke-linecap="round" stroke-linejoin="round" d="M6.75 12a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0ZM12.75 12a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0ZM18.75 12a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0Z" />
263</svg>
264        </button>
265    </div>
266</nav>
267
268
269<div id="glass-menu-overlay" class="fixed inset-0 z-[60] hidden" aria-hidden="true">
270    <button type="button" class="absolute inset-0 bg-black/60 backdrop-blur-sm" data-nav-dismiss aria-label="Close navigation"></button>
271    <div id="glass-menu-panel" role="dialog" aria-modal="true" aria-label="Navigation"
272         class="absolute inset-x-0 bottom-0 flex max-h-[80vh] w-full translate-y-full flex-col overflow-hidden rounded-t-2xl border-t border-theme-border bg-theme-surface text-theme-text shadow-2xl transition-transform duration-200 md:inset-y-0 md:left-auto md:right-0 md:max-h-none md:w-96 md:translate-x-full md:translate-y-0 md:rounded-none md:border-l md:border-t-0">
273        <div class="flex items-center justify-between gap-3 border-b border-theme-border px-5 py-4">
274            <span class="min-w-0 truncate font-heading text-base font-bold text-theme-primary">The Strange History Podcast</span>
275            <button type="button" class="flex h-11 w-11 shrink-0 items-center justify-center rounded-full text-theme-text-muted transition hover:bg-theme-border/50 hover:text-theme-text" data-nav-dismiss aria-label="Close navigation">
276                <svg fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" aria-hidden="true" width="24" height="24" class="h-5 w-5">
277  <path stroke-linecap="round" stroke-linejoin="round" d="M6 18 18 6M6 6l12 12" />
278</svg>
279            </button>
280        </div>
281        <div class="min-h-0 flex-1 overflow-y-auto overscroll-contain p-3">
282            
283            <a href="/" class="flex min-h-11 items-center rounded-lg px-4 py-3 text-base font-medium text-theme-text transition hover:bg-theme-border/50 md:hidden" data-nav-link>
284                Home
285            </a>
286            
287            
288            
289            <a href="/episodes/" class="flex min-h-11 items-center rounded-lg px-4 py-3 text-base font-medium text-theme-text transition hover:bg-theme-border/50 md:hidden" data-nav-link data-nav-overflow-index="0">
290                Episodes
291            </a>
292            
293            
294            
295            <a href="/about/" class="flex min-h-11 items-center rounded-lg px-4 py-3 text-base font-medium text-theme-text transition hover:bg-theme-border/50 md:hidden" data-nav-link data-nav-overflow-index="1">
296                About
297            </a>
298            
299            
300            
301            <a href="/contact/" class="flex min-h-11 items-center rounded-lg px-4 py-3 text-base font-medium text-theme-text transition hover:bg-theme-border/50 md:hidden" data-nav-link data-nav-overflow-index="2">
302                Contact
303            </a>
304            
305            
306            
307            <a href="/follow/" class="flex min-h-11 items-center rounded-lg px-4 py-3 text-base font-medium text-theme-text transition hover:bg-theme-border/50 md:hidden" data-nav-link data-nav-overflow-index="3">
308                Follow
309            </a>
310            
311            
312        </div>
313    </div>
314</div>
315<script>
316(function () {
317    const toggle = document.getElementById('glass-menu-toggle');
318    const overlay = document.getElementById('glass-menu-overlay');
319    const panel = document.getElementById('glass-menu-panel');
320    const row = document.querySelector('[data-nav-row="glass"]');
321    if (!toggle || !overlay || !panel || !row) return;
322
323    // The toggle carries `flex`, and an author-stylesheet class beats the UA's
324    // [hidden] rule — setting the hidden property leaves it on screen, opening an
325    // empty drawer. Inline style is the only form that wins here.
326    function setToggleVisible(visible) {
327        toggle.style.display = visible ? '' : 'none';
328    }
329
330    function syncOverflow() {
331        const inlineLinks = [...row.querySelectorAll('[data-nav-inline-link]')];
332        const overflowLinks = [...panel.querySelectorAll('[data-nav-overflow-index]')];
333        inlineLinks.forEach((link) => { link.hidden = false; });
334        overflowLinks.forEach((link) => { link.classList.add('md:hidden'); });
335
336        if (!window.matchMedia('(min-width: 768px)').matches) {
337            setToggleVisible(true);
338            return;
339        }
340
341        setToggleVisible(false);
342        for (let index = inlineLinks.length - 1; row.scrollWidth > row.clientWidth && index >= 0; index -= 1) {
343            inlineLinks[index].hidden = true;
344            overflowLinks[index]?.classList.remove('md:hidden');
345            setToggleVisible(true);
346        }
347    }
348
349    function openMenu() {
350        overlay.classList.remove('hidden');
351        overlay.setAttribute('aria-hidden', 'false');
352        toggle.setAttribute('aria-expanded', 'true');
353        document.body.style.overflow = 'hidden';
354        requestAnimationFrame(() => {
355            panel.classList.remove('translate-y-full');
356            panel.classList.remove('md:translate-x-full');
357            const firstVisibleLink = [...panel.querySelectorAll('[data-nav-link]')]
358                .find((link) => link.offsetParent !== null);
359            firstVisibleLink?.focus();
360        });
361    }
362
363    function closeMenu() {
364        panel.classList.add('translate-y-full');
365        panel.classList.add('md:translate-x-full');
366        toggle.setAttribute('aria-expanded', 'false');
367        overlay.setAttribute('aria-hidden', 'true');
368        document.body.style.overflow = '';
369        window.setTimeout(() => overlay.classList.add('hidden'), 200);
370        toggle.focus();
371    }
372
373    // The panel says aria-modal, so focus has to actually stay inside it.
374    function focusables() {
375        return [...panel.querySelectorAll('a[href], button')].filter((el) => el.offsetParent !== null);
376    }
377
378    toggle.addEventListener('click', openMenu);
379    overlay.querySelectorAll('[data-nav-dismiss]').forEach((element) => element.addEventListener('click', closeMenu));
380    window.addEventListener('keydown', (event) => {
381        if (toggle.getAttribute('aria-expanded') !== 'true') return;
382        if (event.key === 'Escape') {
383            closeMenu();
384            return;
385        }
386        if (event.key !== 'Tab') return;
387
388        const items = focusables();
389        if (!items.length) return;
390        const first = items[0];
391        const last = items[items.length - 1];
392        if (!panel.contains(document.activeElement)) {
393            event.preventDefault();
394            first.focus();
395        } else if (event.shiftKey && document.activeElement === first) {
396            event.preventDefault();
397            last.focus();
398        } else if (!event.shiftKey && document.activeElement === last) {
399            event.preventDefault();
400            first.focus();
401        }
402    });
403    // The Browse menu is a native <details>, so nothing closes it on its own: a
404    // click elsewhere, Escape, or a boosted page swap that keeps this nav in the
405    // DOM would all leave the panel hanging open over the new page.
406    function closeDropdowns(except) {
407        row.querySelectorAll('[data-nav-dropdown][open]').forEach((dropdown) => {
408            if (dropdown !== except) dropdown.open = false;
409        });
410    }
411
412    document.addEventListener('click', (event) => {
413        const inside = event.target.closest?.('[data-nav-dropdown]');
414        closeDropdowns(inside && row.contains(inside) ? inside : null);
415    });
416    window.addEventListener('keydown', (event) => {
417        if (event.key !== 'Escape') return;
418        const open = row.querySelector('[data-nav-dropdown][open]');
419        if (!open) return;
420        open.open = false;
421        open.querySelector('summary')?.focus();
422    });
423    document.body.addEventListener('htmx:beforeSwap', () => closeDropdowns(null));
424
425    // Crossing a breakpoint can reveal links whose final font/image dimensions
426    // settle after the resize callback. Refit when the rendered row changes,
427    // including its children: the row itself can stay the same width while its
428    // links grow and push the menu button out of view.
429    let overflowFrame = null;
430    function scheduleOverflow() {
431        if (overflowFrame !== null) return;
432        overflowFrame = requestAnimationFrame(() => {
433            overflowFrame = null;
434            syncOverflow();
435        });
436    }
437    if (window.ResizeObserver) {
438        const observer = new ResizeObserver(scheduleOverflow);
439        observer.observe(row);
440        [...row.children].forEach((child) => observer.observe(child));
441    }
442    window.addEventListener('resize', scheduleOverflow);
443    document.fonts?.addEventListener('loadingdone', scheduleOverflow);
444    document.fonts?.ready.then(scheduleOverflow);
445    syncOverflow();
446})();
447</script>
447
448
449
450<style data-pv-player-offset>
451    /* A FLOW SPACER, not `padding-bottom` on the body. `<body class="h-full">` is
452       `height: 100%` and Tailwind's preflight makes everything `border-box`, so
453       body padding is consumed by that fixed height and reserves exactly nothing —
454       the footer's last link sat under the bar with a 157px "reserve" in the
455       computed styles. Found in browser QA; it also silently defeated `floating`'s
456       own 6rem mobile clearance, which had shipped that way. A block-level ::after
457       is a real child in normal flow, so it extends the scrollable content. */
458    body::after {
459        content: "";
460        display: block;
461        height: var(--pv-player-offset, 0px);
462        /* Matches the bar's own 200ms rise, so the page does not jolt open under it. */
463        transition: height 200ms ease-out;
464    }
465    @media (prefers-reduced-motion: reduce) {
466        body::after { transition: none; }
467    }
468
469</style>
470
471
472        
473
474        
475        
476        <main id="pv-public-content" tabindex="-1">
477            
478<div class="mx-auto max-w-2xl px-4 py-12 sm:px-6 lg:px-8">
479    <article class="bg-theme-surface rounded-xl shadow-sm border border-theme-border overflow-hidden">
480        <div class="p-6 sm:p-8 text-center">
481            
482            
483
484    
485<img src="https://d3wo5wojvuv7l.cloudfront.net/t_rss_itunes_square_1400/images.spreaker.com/original/e6ba8897445c11735ef9cde1ad7a0aad.jpg" alt="The Strange History Podcast" width="512" height="512" loading="lazy" decoding="async"
486     class="h-32 w-32 rounded-xl shrink-0 object-cover  mx-auto shadow-lg">
487
488
489
490
491
492
493            <h1 class="mt-6 text-3xl font-bold text-theme-text font-heading">Follow The Strange History Podcast</h1>
494            <p class="mt-2 text-theme-text-muted">
495                Subscribe to never miss an episode
496            </p>
497
498            
499            
500            <div class="mt-8 space-y-3">
501                
502                
503<a href="https://podcasts.apple.com/podcast/id1668145478" target="_blank" rel="noopener"
504   class="flex items-center justify-between w-full px-6 py-4 rounded-lg bg-theme-bg border border-theme-border text-theme-text hover:border-theme-primary hover:bg-theme-primary/5 transition group">
505    <div class="flex items-center gap-4">
506        
507
508
509<img src="/static/images/platform-logos/apple.81fb483bafac.svg" alt="" class="w-8 h-8 rounded-lg" loading="lazy">
510
511
512        <span class="text-lg font-medium">Apple Podcasts</span>
513    </div>
514    <svg fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" aria-hidden="true" width="24" height="24" class="w-5 h-5 text-theme-text-muted group-hover:text-theme-primary transition">
515  <path stroke-linecap="round" stroke-linejoin="round" d="M13.5 6H5.25A2.25 2.25 0 0 0 3 8.25v10.5A2.25 2.25 0 0 0 5.25 21h10.5A2.25 2.25 0 0 0 18 18.75V10.5m-10.5 6L21 3m0 0h-5.25M21 3v5.25" />
516</svg>
517</a>
518
519                
520                
521<a href="https://castbox.fm/vic/1668145478" target="_blank" rel="noopener"
522   class="flex items-center justify-between w-full px-6 py-4 rounded-lg bg-theme-bg border border-theme-border text-theme-text hover:border-theme-primary hover:bg-theme-primary/5 transition group">
523    <div class="flex items-center gap-4">
524        
525
526
527<img src="/static/images/platform-logos/castbox.b6404094c983.svg" alt="" class="w-8 h-8 rounded-lg" loading="lazy">
528
529
530        <span class="text-lg font-medium">Castbox</span>
531    </div>
532    <svg fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" aria-hidden="true" width="24" height="24" class="w-5 h-5 text-theme-text-muted group-hover:text-theme-primary transition">
533  <path stroke-linecap="round" stroke-linejoin="round" d="M13.5 6H5.25A2.25 2.25 0 0 0 3 8.25v10.5A2.25 2.25 0 0 0 5.25 21h10.5A2.25 2.25 0 0 0 18 18.75V10.5m-10.5 6L21 3m0 0h-5.25M21 3v5.25" />
534</svg>
535</a>
536
537                
538                
539<a href="https://castro.fm/itunes/1668145478" target="_blank" rel="noopener"
540   class="flex items-center justify-between w-full px-6 py-4 rounded-lg bg-theme-bg border border-theme-border text-theme-text hover:border-theme-primary hover:bg-theme-primary/5 transition group">
541    <div class="flex items-center gap-4">
542        
543
544
545<img src="/static/images/platform-logos/castro.932428c9f6cf.svg" alt="" class="w-8 h-8 rounded-lg" loading="lazy">
546
547
548        <span class="text-lg font-medium">Castro</span>
549    </div>
550    <svg fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" aria-hidden="true" width="24" height="24" class="w-5 h-5 text-theme-text-muted group-hover:text-theme-primary transition">
551  <path stroke-linecap="round" stroke-linejoin="round" d="M13.5 6H5.25A2.25 2.25 0 0 0 3 8.25v10.5A2.25 2.25 0 0 0 5.25 21h10.5A2.25 2.25 0 0 0 18 18.75V10.5m-10.5 6L21 3m0 0h-5.25M21 3v5.25" />
552</svg>
553</a>
554
555                
556                
557<a href="https://www.goodpods.com/podcasts-aid/1668145478" target="_blank" rel="noopener"
558   class="flex items-center justify-between w-full px-6 py-4 rounded-lg bg-theme-bg border border-theme-border text-theme-text hover:border-theme-primary hover:bg-theme-primary/5 transition group">
559    <div class="flex items-center gap-4">
560        
561
562
563<img src="/static/images/platform-logos/goodpods.d8bfe98d88ce.svg" alt="" class="w-8 h-8 rounded-lg" loading="lazy">
564
565
566        <span class="text-lg font-medium">Goodpods</span>
567    </div>
568    <svg fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" aria-hidden="true" width="24" height="24" class="w-5 h-5 text-theme-text-muted group-hover:text-theme-primary transition">
569  <path stroke-linecap="round" stroke-linejoin="round" d="M13.5 6H5.25A2.25 2.25 0 0 0 3 8.25v10.5A2.25 2.25 0 0 0 5.25 21h10.5A2.25 2.25 0 0 0 18 18.75V10.5m-10.5 6L21 3m0 0h-5.25M21 3v5.25" />
570</svg>
571</a>
572
573                
574                
575<a href="https://moon.fm/itunes/1668145478" target="_blank" rel="noopener"
576   class="flex items-center justify-between w-full px-6 py-4 rounded-lg bg-theme-bg border border-theme-border text-theme-text hover:border-theme-primary hover:bg-theme-primary/5 transition group">
577    <div class="flex items-center gap-4">
578        
579
580
581<img src="/static/images/platform-logos/moonfm.993f7bbd4ed7.svg" alt="" class="w-8 h-8 rounded-lg" loading="lazy">
582
583
584        <span class="text-lg font-medium">Moon FM</span>
585    </div>
586    <svg fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" aria-hidden="true" width="24" height="24" class="w-5 h-5 text-theme-text-muted group-hover:text-theme-primary transition">
587  <path stroke-linecap="round" stroke-linejoin="round" d="M13.5 6H5.25A2.25 2.25 0 0 0 3 8.25v10.5A2.25 2.25 0 0 0 5.25 21h10.5A2.25 2.25 0 0 0 18 18.75V10.5m-10.5 6L21 3m0 0h-5.25M21 3v5.25" />
588</svg>
589</a>
590
591                
592                
593<a href="https://overcast.fm/itunes1668145478" target="_blank" rel="noopener"
594   class="flex items-center justify-between w-full px-6 py-4 rounded-lg bg-theme-bg border border-theme-border text-theme-text hover:border-theme-primary hover:bg-theme-primary/5 transition group">
595    <div class="flex items-center gap-4">
596        
597
598
599<img src="/static/images/platform-logos/overcast.7dd3d35b2224.svg" alt="" class="w-8 h-8 rounded-lg" loading="lazy">
600
601
602        <span class="text-lg font-medium">Overcast</span>
603    </div>
604    <svg fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" aria-hidden="true" width="24" height="24" class="w-5 h-5 text-theme-text-muted group-hover:text-theme-primary transition">
605  <path stroke-linecap="round" stroke-linejoin="round" d="M13.5 6H5.25A2.25 2.25 0 0 0 3 8.25v10.5A2.25 2.25 0 0 0 5.25 21h10.5A2.25 2.25 0 0 0 18 18.75V10.5m-10.5 6L21 3m0 0h-5.25M21 3v5.25" />
606</svg>
607</a>
608
609                
610                
611<a href="https://pca.st/itunes/1668145478" target="_blank" rel="noopener"
612   class="flex items-center justify-between w-full px-6 py-4 rounded-lg bg-theme-bg border border-theme-border text-theme-text hover:border-theme-primary hover:bg-theme-primary/5 transition group">
613    <div class="flex items-center gap-4">
614        
615
616
617<img src="/static/images/platform-logos/pocketcasts.7da8fbe40791.svg" alt="" class="w-8 h-8 rounded-lg" loading="lazy">
618
619
620        <span class="text-lg font-medium">Pocket Casts</span>
621    </div>
622    <svg fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" aria-hidden="true" width="24" height="24" class="w-5 h-5 text-theme-text-muted group-hover:text-theme-primary transition">
623  <path stroke-linecap="round" stroke-linejoin="round" d="M13.5 6H5.25A2.25 2.25 0 0 0 3 8.25v10.5A2.25 2.25 0 0 0 5.25 21h10.5A2.25 2.25 0 0 0 18 18.75V10.5m-10.5 6L21 3m0 0h-5.25M21 3v5.25" />
624</svg>
625</a>
626
627                
628                
629<a href="https://www.podbean.com/itunes/1668145478" target="_blank" rel="noopener"
630   class="flex items-center justify-between w-full px-6 py-4 rounded-lg bg-theme-bg border border-theme-border text-theme-text hover:border-theme-primary hover:bg-theme-primary/5 transition group">
631    <div class="flex items-center gap-4">
632        
633
634
635<img src="/static/images/platform-logos/podbean.53ea8dc2b09b.png" alt="" class="w-8 h-8 rounded-lg" loading="lazy">
636
637
638        <span class="text-lg font-medium">Podbean</span>
639    </div>
640    <svg fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" aria-hidden="true" width="24" height="24" class="w-5 h-5 text-theme-text-muted group-hover:text-theme-primary transition">
641  <path stroke-linecap="round" stroke-linejoin="round" d="M13.5 6H5.25A2.25 2.25 0 0 0 3 8.25v10.5A2.25 2.25 0 0 0 5.25 21h10.5A2.25 2.25 0 0 0 18 18.75V10.5m-10.5 6L21 3m0 0h-5.25M21 3v5.25" />
642</svg>
643</a>
644
645                
646                
647<a href="https://podcastaddict.com/feed/https%3A%2F%2Fwww.spreaker.com%2Fshow%2F5773362%2Fepisodes%2Ffeed" target="_blank" rel="noopener"
648   class="flex items-center justify-between w-full px-6 py-4 rounded-lg bg-theme-bg border border-theme-border text-theme-text hover:border-theme-primary hover:bg-theme-primary/5 transition group">
649    <div class="flex items-center gap-4">
650        
651
652
653<img src="/static/images/platform-logos/podcastaddict.9deff13d511d.svg" alt="" class="w-8 h-8 rounded-lg" loading="lazy">
654
655
656        <span class="text-lg font-medium">Podcast Addict</span>
657    </div>
658    <svg fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" aria-hidden="true" width="24" height="24" class="w-5 h-5 text-theme-text-muted group-hover:text-theme-primary transition">
659  <path stroke-linecap="round" stroke-linejoin="round" d="M13.5 6H5.25A2.25 2.25 0 0 0 3 8.25v10.5A2.25 2.25 0 0 0 5.25 21h10.5A2.25 2.25 0 0 0 18 18.75V10.5m-10.5 6L21 3m0 0h-5.25M21 3v5.25" />
660</svg>
661</a>
662
663                
664                
665<a href="https://www.podcastrepublic.net/podcast/1668145478" target="_blank" rel="noopener"
666   class="flex items-center justify-between w-full px-6 py-4 rounded-lg bg-theme-bg border border-theme-border text-theme-text hover:border-theme-primary hover:bg-theme-primary/5 transition group">
667    <div class="flex items-center gap-4">
668        
669
670
671<img src="/static/images/platform-logos/podcastrepublic.a178b7a80b54.svg" alt="" class="w-8 h-8 rounded-lg" loading="lazy">
672
673
674        <span class="text-lg font-medium">Podcast Republic</span>
675    </div>
676    <svg fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" aria-hidden="true" width="24" height="24" class="w-5 h-5 text-theme-text-muted group-hover:text-theme-primary transition">
677  <path stroke-linecap="round" stroke-linejoin="round" d="M13.5 6H5.25A2.25 2.25 0 0 0 3 8.25v10.5A2.25 2.25 0 0 0 5.25 21h10.5A2.25 2.25 0 0 0 18 18.75V10.5m-10.5 6L21 3m0 0h-5.25M21 3v5.25" />
678</svg>
679</a>
680
681                
682                
683<a href="https://open.spotify.com/show/0rZxENLsTXyA0J60sP5N1z" target="_blank" rel="noopener"
684   class="flex items-center justify-between w-full px-6 py-4 rounded-lg bg-theme-bg border border-theme-border text-theme-text hover:border-theme-primary hover:bg-theme-primary/5 transition group">
685    <div class="flex items-center gap-4">
686        
687
688
689<img src="/static/images/platform-logos/spotify.14dc2fed5342.svg" alt="" class="w-8 h-8 rounded-lg" loading="lazy">
690
691
692        <span class="text-lg font-medium">Spotify</span>
693    </div>
694    <svg fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" aria-hidden="true" width="24" height="24" class="w-5 h-5 text-theme-text-muted group-hover:text-theme-primary transition">
695  <path stroke-linecap="round" stroke-linejoin="round" d="M13.5 6H5.25A2.25 2.25 0 0 0 3 8.25v10.5A2.25 2.25 0 0 0 5.25 21h10.5A2.25 2.25 0 0 0 18 18.75V10.5m-10.5 6L21 3m0 0h-5.25M21 3v5.25" />
696</svg>
697</a>
698
699                
700            </div>
701            
702
703            
704            
705            <div class="mt-8 pt-8 border-t border-theme-border">
706                <p class="text-sm text-theme-text-muted mb-3">Or subscribe via RSS</p>
707                <a href="https://www.spreaker.com/show/5773362/episodes/feed" target="_blank" rel="noopener"
708                   class="tap-target-mobile inline-flex items-center gap-2 px-4 py-2 rounded-lg bg-orange-500/10 text-orange-600 hover:bg-orange-500/20 transition">
709                    <svg viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" width="24" height="24" class="w-5 h-5">
710  <path fill-rule="evenodd" d="M3.75 4.5a.75.75 0 0 1 .75-.75h.75c8.284 0 15 6.716 15 15v.75a.75.75 0 0 1-.75.75h-.75a.75.75 0 0 1-.75-.75v-.75C18 11.708 12.292 6 5.25 6H4.5a.75.75 0 0 1-.75-.75V4.5Zm0 6.75a.75.75 0 0 1 .75-.75h.75a8.25 8.25 0 0 1 8.25 8.25v.75a.75.75 0 0 1-.75.75H12a.75.75 0 0 1-.75-.75v-.75a6 6 0 0 0-6-6H4.5a.75.75 0 0 1-.75-.75v-.75Zm0 7.5a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0Z" clip-rule="evenodd" />
711</svg>
712                    RSS Feed
713                </a>
714            </div>
715            
716        </div>
717    </article>
718</div>
719
720
721            
722            
723
724
725
726            
727            
728
729            
730            
731        </main>
732
733        
734        
735        
736
737
738
739
740
741<footer class="relative mt-auto overflow-hidden border-t border-theme-border bg-theme-surface">
742    <div class="pointer-events-none absolute inset-x-0 top-0 h-px bg-theme-primary/40" aria-hidden="true"></div>
743
744    <div class="relative mx-auto max-w-5xl px-4 py-16 sm:px-6 lg:px-8">
745        
746        <div class="text-center">
747            <p class="font-heading text-4xl font-bold leading-[1.05] tracking-tight text-theme-text sm:text-5xl">
748                The Strange History Podcast
749            </p>
750            <p class="mx-auto mt-4 max-w-xl text-sm leading-relaxed text-theme-text-muted sm:text-base">
751                The Strange History Podcast explores the forgotten, bizarre, and mysterious stories that history left behind. Each episode uncovers strange but true tales from the past—unsolved mysteries, unusual events, …
752            </p>
753            
754        </div>
755
756        
757        <nav class="mt-10 flex flex-wrap items-center justify-center gap-x-6 gap-y-2 text-sm font-medium">
758            <a href="/" class="tap-target-mobile text-theme-text transition-colors hover:text-theme-primary">Home</a>
759            <span aria-hidden="true" class="hidden h-3 w-px bg-theme-border sm:block"></span><a href="/episodes/" class="tap-target-mobile text-theme-text transition-colors hover:text-theme-primary">Episodes</a>
760            <span aria-hidden="true" class="hidden h-3 w-px bg-theme-border sm:block"></span><a href="/about/" class="tap-target-mobile text-theme-text transition-colors hover:text-theme-primary">About</a>
761            <span aria-hidden="true" class="hidden h-3 w-px bg-theme-border sm:block"></span><a href="/follow/" class="tap-target-mobile text-theme-text transition-colors hover:text-theme-primary">Follow</a>
762            
763            
764
765
766        </nav>
767
768        
769        
770        <div class="mt-8 flex flex-wrap items-center justify-center gap-2">
771            
772            <a href="https://podcasts.apple.com/podcast/id1668145478" target="_blank" rel="noopener"
773               class="tap-target-mobile inline-flex items-center gap-1.5 rounded-full border border-theme-border bg-theme-bg/50 px-3 py-1.5 text-xs text-theme-text-muted transition-colors hover:border-theme-primary hover:text-theme-primary">
774                
775
776
777<img src="/static/images/platform-logos/apple.81fb483bafac.svg" alt="" class="w-3.5 h-3.5 rounded shrink-0" loading="lazy">
778
779
780                <span>Apple Podcasts</span>
781            </a>
782            
783            <a href="https://castbox.fm/vic/1668145478" target="_blank" rel="noopener"
784               class="tap-target-mobile inline-flex items-center gap-1.5 rounded-full border border-theme-border bg-theme-bg/50 px-3 py-1.5 text-xs text-theme-text-muted transition-colors hover:border-theme-primary hover:text-theme-primary">
785                
786
787
788<img src="/static/images/platform-logos/castbox.b6404094c983.svg" alt="" class="w-3.5 h-3.5 rounded shrink-0" loading="lazy">
789
790
791                <span>Castbox</span>
792            </a>
793            
794            <a href="https://castro.fm/itunes/1668145478" target="_blank" rel="noopener"
795               class="tap-target-mobile inline-flex items-center gap-1.5 rounded-full border border-theme-border bg-theme-bg/50 px-3 py-1.5 text-xs text-theme-text-muted transition-colors hover:border-theme-primary hover:text-theme-primary">
796                
797
798
799<img src="/static/images/platform-logos/castro.932428c9f6cf.svg" alt="" class="w-3.5 h-3.5 rounded shrink-0" loading="lazy">
800
801
802                <span>Castro</span>
803            </a>
804            
805            <a href="https://www.goodpods.com/podcasts-aid/1668145478" target="_blank" rel="noopener"
806               class="tap-target-mobile inline-flex items-center gap-1.5 rounded-full border border-theme-border bg-theme-bg/50 px-3 py-1.5 text-xs text-theme-text-muted transition-colors hover:border-theme-primary hover:text-theme-primary">
807                
808
809
810<img src="/static/images/platform-logos/goodpods.d8bfe98d88ce.svg" alt="" class="w-3.5 h-3.5 rounded shrink-0" loading="lazy">
811
812
813                <span>Goodpods</span>
814            </a>
815            
816            <a href="https://moon.fm/itunes/1668145478" target="_blank" rel="noopener"
817               class="tap-target-mobile inline-flex items-center gap-1.5 rounded-full border border-theme-border bg-theme-bg/50 px-3 py-1.5 text-xs text-theme-text-muted transition-colors hover:border-theme-primary hover:text-theme-primary">
818                
819
820
821<img src="/static/images/platform-logos/moonfm.993f7bbd4ed7.svg" alt="" class="w-3.5 h-3.5 rounded shrink-0" loading="lazy">
822
823
824                <span>Moon FM</span>
825            </a>
826            
827            <a href="https://overcast.fm/itunes1668145478" target="_blank" rel="noopener"
828               class="tap-target-mobile inline-flex items-center gap-1.5 rounded-full border border-theme-border bg-theme-bg/50 px-3 py-1.5 text-xs text-theme-text-muted transition-colors hover:border-theme-primary hover:text-theme-primary">
829                
830
831
832<img src="/static/images/platform-logos/overcast.7dd3d35b2224.svg" alt="" class="w-3.5 h-3.5 rounded shrink-0" loading="lazy">
833
834
835                <span>Overcast</span>
836            </a>
837            
838            
839
840<a href="/follow/" class="tap-target-mobile inline-flex items-center gap-1.5 rounded-full border border-theme-border bg-theme-bg px-3 py-1.5 text-xs text-theme-text-muted transition-colors hover:border-theme-primary hover:text-theme-primary">
841    <span>All listening apps</span>
842    <svg fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" aria-hidden="true" width="24" height="24" class="h-3.5 w-3.5 shrink-0">
843  <path stroke-linecap="round" stroke-linejoin="round" d="M13.5 4.5 21 12m0 0-7.5 7.5M21 12H3" />
844</svg>
845</a>
846
847
848        </div>
849        
850
851        
852        
853
854
855
856    </div>
857
858    
859    <div class="relative border-t border-theme-border bg-theme-bg">
860        <div class="mx-auto flex max-w-7xl flex-col items-start justify-between gap-2 px-4 py-4 text-xs text-theme-text-subtle sm:flex-row sm:items-center sm:px-6 lg:px-8">
861            
862
863
864
865<p>&copy; The Strange History Podcast. 
866
867
868
869
870
871Powered by <a href="https://podview.com/?ref=site&amp;s=thestrangehistorypodcast" class="text-theme-primary hover:opacity-80 transition">PodView</a>. <a href="https://podseo.com/?ref=site&amp;s=thestrangehistorypodcast" class="text-theme-primary hover:opacity-80 transition">Get Podcast SEO</a>
872</p>
873<a href="/privacy/" class="tap-target-mobile hover:text-theme-primary transition">Privacy Policy</a>
874
875        </div>
876    </div>
877</footer>
878
879        
880
881    </div>
882    
883    
884    
885
886
887
888
889
890
891    
892    
893    
894
895
896
897
898
899<div id="pv-showcase-modal" hidden role="dialog" aria-modal="true" aria-labelledby="pv-showcase-modal-title">
900    <style>
901        #pv-showcase-modal[hidden] { display: none !important; }
902        #pv-showcase-modal {
903            position: fixed; inset: 0; z-index: 2147483000;
904            display: flex; align-items: center; justify-content: center;
905            background: rgba(0, 0, 0, 0.6); backdrop-filter: blur(4px);
906            font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
907            animation: pv-fade-in 240ms ease-out;
908        }
909        @keyframes pv-fade-in { from { opacity: 0; } to { opacity: 1; } }
910        @keyframes pv-pop-in {
911            from { opacity: 0; transform: translateY(20px) scale(0.96); }
912            to { opacity: 1; transform: translateY(0) scale(1); }
913        }
914        #pv-showcase-modal .pv-card {
915            position: relative;
916            max-width: 440px; width: calc(100% - 32px);
917            background: #ffffff; color: #111827;
918            border-radius: 16px; padding: 32px 28px 28px;
919            box-shadow: 0 20px 50px rgba(0, 0, 0, 0.3);
920            animation: pv-pop-in 280ms cubic-bezier(0.16, 1, 0.3, 1);
921        }
922        #pv-showcase-modal .pv-close {
923            position: absolute; top: 12px; right: 12px;
924            width: 32px; height: 32px; border: 0; border-radius: 50%;
925            background: transparent; cursor: pointer; color: #6b7280;
926            font-size: 20px; line-height: 1; display: flex;
927            align-items: center; justify-content: center;
928        }
929        #pv-showcase-modal .pv-close:hover { background: #f3f4f6; color: #111827; }
930        #pv-showcase-modal .pv-eyebrow {
931            font-size: 11px; font-weight: 700; letter-spacing: 0.08em;
932            text-transform: uppercase; color: #f97316; margin-bottom: 12px;
933        }
934        #pv-showcase-modal h2 {
935            margin: 0 0 12px; font-size: 24px; font-weight: 700;
936            line-height: 1.2; color: #111827;
937        }
938        #pv-showcase-modal p {
939            margin: 0 0 24px; font-size: 15px; line-height: 1.55;
940            color: #4b5563;
941        }
942        #pv-showcase-modal .pv-cta {
943            display: inline-flex; align-items: center; justify-content: center;
944            width: 100%; padding: 14px 20px;
945            background: #f97316; color: #fff;
946            border-radius: 10px; text-decoration: none;
947            font-size: 15px; font-weight: 600;
948            transition: background 160ms ease;
949        }
950        #pv-showcase-modal .pv-cta:hover { background: #ea580c; }
951        #pv-showcase-modal .pv-fineprint {
952            margin-top: 14px; font-size: 12px; color: #9ca3af; text-align: center;
953        }
954    </style>
955    <div class="pv-card" role="document">
956        <button type="button" class="pv-close" aria-label="Close" data-pv-dismiss>&times;</button>
957        <div class="pv-eyebrow">Built with PodView</div>
958        <h2 id="pv-showcase-modal-title">Want a podcast site like this?</h2>
959        <p>
959Build your own in under 5 minutes. Preview before you sign up — no credit card needed.</p>
960        <a class="pv-cta"
961           href="https://podview.com/onboarding/get-started/?utm_source=podview&utm_medium=showcase_modal&utm_campaign=showcase"
962           data-pv-cta
963           rel="noopener">
964            Create your free site &rarr;
965        </a>
966        <div class="pv-fineprint">Powered by PodView</div>
967    </div>
968</div>
969<script>
970(function () {
971    var STORAGE_KEY = "pv_showcase_modal_seen";
972    var DELAY_MS = 25000;
973    var SCROLL_THRESHOLD = 0.5;
974
975    try {
976        var params = new URLSearchParams(window.location.search);
977        if (params.get("ref") !== "showcase") return;
978        if (window.localStorage && window.localStorage.getItem(STORAGE_KEY)) return;
979    } catch (e) {
980        return;
981    }
982
983    var modal = document.getElementById("pv-showcase-modal");
984    if (!modal) return;
985
986    var shown = false;
987    function show() {
988        if (shown) return;
989        shown = true;
990        modal.hidden = false;
991        document.body.style.overflow = "hidden";
992        try { window.localStorage.setItem(STORAGE_KEY, "1"); } catch (e) {}
993    }
994    function dismiss() {
995        modal.hidden = true;
996        document.body.style.overflow = "";
997        window.removeEventListener("scroll", onScroll);
998        window.removeEventListener("keydown", onKey);
999        if (timer) clearTimeout(timer);
1000    }
1001    function onScroll() {
1002        var top = window.pageYOffset || document.documentElement.scrollTop;
1003        var docH = Math.max(document.body.scrollHeight, document.documentElement.scrollHeight) - window.innerHeight;
1004        if (docH > 0 && top / docH >= SCROLL_THRESHOLD) show();
1005    }
1006    function onKey(e) { if (e.key === "Escape") dismiss(); }
1007
1008    modal.addEventListener("click", function (e) {
1009        if (e.target === modal) dismiss();
1010        if (e.target.closest("[data-pv-dismiss]")) dismiss();
1011        if (e.target.closest("[data-pv-cta]")) {
1012            // Keep the modal flag set; visitor heading off-site.
1013            try { window.localStorage.setItem(STORAGE_KEY, "1"); } catch (err) {}
1014        }
1015    });
1016
1017    var timer = setTimeout(show, DELAY_MS);
1018    window.addEventListener("scroll", onScroll, { passive: true });
1019    window.addEventListener("keydown", onKey);
1020})();
1021</script>
1021
1022
1023
1024    
1025
1026    
1027    
1028
1029    
1030    <p class="sr-only" aria-live="polite" data-pv-route-announce></p>
1031
1032    
1032<script src="/static/js/transcript-toggle.2caf56525409.js"></script>
1032
1033    
1033<script src="/static/js/pv-boost-nav.2f011fe57dd9.js" defer></script>
1033
1034    
1034<script src="/static/js/chapter_seek.df6e32ab809f.js" defer></script>
1034
1035    
1035<script src="/static/js/chaptered_player.20b62baf4764.js" defer></script>
1035
1036    
1036<script src="/static/js/hls-player.7e1cd4eb69de.js" defer></script>
1036
1037    
1037<script src="/static/js/episode_tabs.a0e8bc4376fd.js" defer></script>
1037
1038    
1038<script src="/static/js/host-player.a243d8a07ae2.js" defer></script>
1038
1039    
1039<script src="/static/js/pv-hero-motion.2f219bb77669.js" defer></script>
1039
1040    
1041    <!-- email-signup-guard-hydrator:start -->
1042    <template id="email-signup-bot-fields-template">
1043        
1044<!-- email-signup-bot-fields:start -->
1045<div aria-hidden="true" style="position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden;">
1046    <label>
1047        Website
1048        <input type="text"
1049               name="website"
1050               value=""
1051               tabindex="-1"
1052               autocomplete="off">
1053    </label>
1054</div>
1055<input type="hidden" name="signup_timing_token" value="eyJpc3N1ZWRfYXQiOjE3OTEwODkzNjYuNzA5OTI5N30:1xDEAA:KpTn1aq71t1J3P_CjXX19jBBUlEMBoO019rzQxTDTpY">
1056
1057<input type="hidden" name="cf-turnstile-response" value="">
1058
1059<iframe class="email-signup-turnstile-frame"
1060        data-src="https://podview.com/_turnstile/email-signup/?embed=Imh0dHBzOi8vc3RyYW5nZWhpc3Rvcnlwb2QuY29tIg%3A1xDEAA%3A1I9AAGaLYpc08bidtO4O7t6g_ziz0sHJ8Ndxzc6685I"
1061        title="Security verification"
1062        scrolling="no"
1063        style="position:absolute;width:1px;height:1px;border:0;clip-path:inset(50%);overflow:hidden;"></iframe>
1064
1065<p class="email-signup-challenge-error w-full text-xs text-theme-text-muted" role="alert" hidden>Verification couldn&#x27;t load. Please refresh and try again.</p>
1066
1067<!-- email-signup-bot-fields:end -->
1068
1069    </template>
1070    
1070<script src="/static/js/email-signup-guards.2dfe65de62dc.js"></script>
1070
1071    <!-- email-signup-guard-hydrator:end -->
1072    
1073    
1074
1075    
1076    
1077
1078
1079
1080
1081
1082
1083
1084
1085    
1086    
1087
1088
1089
1090
1091
1092    
1093    
1094
1095
1096
1097
1098    
1099    
1100<script>(function(){function c(){var b=a.contentDocument||(a.contentWindow&&a.contentWindow.document);if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'a4518f5d7bd77ce0',t:'MTc5MTA4OTM2Ng=='};var a=document.createElement('script');a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&&(document.onreadystatechange=e,c())}}}})();</script>
1100<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"512eef4f250244daad5aa4c2fdbacceb","r":1,"spa":2}' crossorigin="anonymous"></script>
1100
1101</body>
1102</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.