/** Skip link — visible only to screen readers, shown on focus for keyboard users */
.skip-link { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.skip-link:focus { position: absolute; top: 0; left: 50%; transform: translateX(-50%); width: auto; height: auto; margin: 0; padding: 8px 16px; overflow: visible; clip: auto; white-space: normal; background: #002868; color: #fff; z-index: 100; border-radius: 0 0 4px 4px; font-weight: 700; }

/** Focus indicators */
a:focus, button:focus, input:focus, select:focus, textarea:focus, [tabindex]:focus { outline: 3px solid #002868; outline-offset: 2px; }
a:focus:not(:focus-visible), button:focus:not(:focus-visible) { outline: none; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, [tabindex]:focus-visible { outline: 3px solid #002868; outline-offset: 2px; }

/** Reset some basic elements */
body, h1, h2, h3, h4, h5, h6, p, blockquote, pre, hr, dl, dd, ol, ul, figure { margin: 0; padding: 0; }

/** Basic styling */
body { font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 16px; line-height: 1.5; font-weight: 400; color: #111; background-color: #fdfdfd; -webkit-text-size-adjust: 100%; }

/** Set `margin-bottom` to maintain vertical rhythm */
h1, h2, h3, h4, h5, h6, p, blockquote, pre, ul, ol, dl, figure, .highlight { margin-bottom: 15px; }

/** Images */
img { max-width: 100%; vertical-align: middle; }

/** Figures */
figure > img { display: block; }

figcaption { font-size: 14px; }

/** Lists */
ul, ol { margin-left: 30px; }

li > ul, li > ol { margin-bottom: 0; }

/** Headings */
h1, h2, h3, h4, h5, h6 { font-weight: 700; }

/** Links */
a { color: #002868; text-decoration: underline; }

a:visited { color: #000b1c; }

a:hover { color: #111; }

/** Blockquotes */
blockquote { color: #595959; border-left: 4px solid #e8e8e8; padding-left: 15px; font-size: 18px; letter-spacing: -1px; font-style: italic; }

blockquote > :last-child { margin-bottom: 0; }

/** Code formatting */
pre, code { font-size: 15px; border: 1px solid #e8e8e8; border-radius: 3px; background-color: #eef; }

code { padding: 1px 5px; }

pre { padding: 8px 12px; overflow-x: scroll; }

pre > code { border: 0; padding-right: 0; padding-left: 0; }

/** Wrapper */
.wrapper { max-width: -webkit-calc(800px - (30px * 2)); max-width: calc(800px - (30px * 2)); margin-right: auto; margin-left: auto; padding-right: 30px; padding-left: 30px; }

@media screen and (max-width: 800px) { .wrapper { max-width: -webkit-calc(800px - (30px)); max-width: calc(800px - (30px)); padding-right: 15px; padding-left: 15px; } }

/** Clearfix */
.footer-col-wrapper:after, .wrapper:after { content: ""; display: table; clear: both; }

/** Icons */
.icon > svg { display: inline-block; width: 16px; height: 16px; vertical-align: middle; }

.icon > svg path { fill: #828282; }

/** Site header */
.site-header { border-top: 5px solid #424242; border-bottom: 1px solid #e8e8e8; min-height: 56px; position: relative; }

.site-title { font-size: 26px; line-height: 56px; letter-spacing: -1px; margin-bottom: 0; float: left; text-decoration: none; }

.site-title, .site-title:visited { color: #424242; }

.site-nav { float: right; line-height: 56px; }

.site-nav .menu-icon { display: none; background: none; border: none; padding: 0; cursor: pointer; }

.site-nav .page-link { color: #111; line-height: 1.5; text-decoration: none; }

.site-nav .page-link:not(:first-child) { margin-left: 20px; }

@media screen and (max-width: 600px) { .site-nav { position: absolute; top: 9px; right: 30px; background-color: #fdfdfd; border: 1px solid #e8e8e8; border-radius: 5px; text-align: right; } .site-nav .menu-icon { display: block; float: right; width: 36px; height: 26px; line-height: 0; padding-top: 10px; text-align: center; } .site-nav .menu-icon > svg { width: 18px; height: 15px; } .site-nav .menu-icon > svg path { fill: #424242; } .site-nav .trigger { clear: both; display: none; } .site-nav .trigger.is-open { display: block; padding-bottom: 5px; } .site-nav .page-link { display: block; padding: 5px 10px; } }

/** Site footer */
.site-footer { border-top: 1px solid #e8e8e8; padding: 30px 0; }

.footer-heading { font-size: 18px; margin-bottom: 15px; }

.contact-list, .social-media-list { list-style: none; margin-left: 0; }

.contact-list a, .social-media-list a { text-decoration: none; }

.contact-list a:hover, .social-media-list a:hover { text-decoration: underline; }

.footer-col-wrapper { font-size: 15px; color: #595959; margin-left: -15px; }

.footer-col { float: left; margin-bottom: 15px; padding-left: 15px; }

.footer-col-1 { width: -webkit-calc(35% - (30px / 2)); width: calc(35% - (30px / 2)); }

.footer-col-2 { width: -webkit-calc(20% - (30px / 2)); width: calc(20% - (30px / 2)); }

.footer-col-3 { width: -webkit-calc(45% - (30px / 2)); width: calc(45% - (30px / 2)); }

@media screen and (max-width: 800px) { .footer-col-1, .footer-col-2 { width: -webkit-calc(50% - (30px / 2)); width: calc(50% - (30px / 2)); } .footer-col-3 { width: -webkit-calc(100% - (30px / 2)); width: calc(100% - (30px / 2)); } }

@media screen and (max-width: 600px) { .footer-col { float: none; width: -webkit-calc(100% - (30px / 2)); width: calc(100% - (30px / 2)); } }

/** Page content */
.page-content { padding-top: 0; padding-bottom: 30px; padding-right: 0; padding-left: 0; }

.page-heading { font-size: 20px; }

.post-list { margin-left: 0; list-style: none; }

.post-list > li { margin-bottom: 30px; }

.post-meta { font-size: 14px; color: #595959; }

.post-link { display: block; font-size: 24px; text-decoration: none; }

.post-link:hover { text-decoration: underline; }

/** Posts */
.post-header { margin-bottom: 30px; }

.post-title { font-size: 42px; letter-spacing: -1px; line-height: 1; }

@media screen and (max-width: 800px) { .post-title { font-size: 36px; } }

.post-content { margin-bottom: 30px; }

.post-content h2 { font-size: 32px; }

@media screen and (max-width: 800px) { .post-content h2 { font-size: 28px; } }

.post-content h3 { font-size: 26px; }

@media screen and (max-width: 800px) { .post-content h3 { font-size: 22px; } }

.post-content h4 { font-size: 20px; }

@media screen and (max-width: 800px) { .post-content h4 { font-size: 18px; } }

/** Syntax highlighting styles */
.highlight { background: #fff; }

.highlight .c { color: #998; font-style: italic; }

.highlight .err { color: #a61717; background-color: #e3d2d2; }

.highlight .k { font-weight: bold; }

.highlight .o { font-weight: bold; }

.highlight .cm { color: #998; font-style: italic; }

.highlight .cp { color: #999; font-weight: bold; }

.highlight .c1 { color: #998; font-style: italic; }

.highlight .cs { color: #999; font-weight: bold; font-style: italic; }

.highlight .gd { color: #000; background-color: #fdd; }

.highlight .gd .x { color: #000; background-color: #faa; }

.highlight .ge { font-style: italic; }

.highlight .gr { color: #a00; }

.highlight .gh { color: #999; }

.highlight .gi { color: #000; background-color: #dfd; }

.highlight .gi .x { color: #000; background-color: #afa; }

.highlight .go { color: #888; }

.highlight .gp { color: #555; }

.highlight .gs { font-weight: bold; }

.highlight .gu { color: #aaa; }

.highlight .gt { color: #a00; }

.highlight .kc { font-weight: bold; }

.highlight .kd { font-weight: bold; }

.highlight .kp { font-weight: bold; }

.highlight .kr { font-weight: bold; }

.highlight .kt { color: #458; font-weight: bold; }

.highlight .m { color: #099; }

.highlight .s { color: #d14; }

.highlight .na { color: #008080; }

.highlight .nb { color: #0086B3; }

.highlight .nc { color: #458; font-weight: bold; }

.highlight .no { color: #008080; }

.highlight .ni { color: #800080; }

.highlight .ne { color: #900; font-weight: bold; }

.highlight .nf { color: #900; font-weight: bold; }

.highlight .nn { color: #555; }

.highlight .nt { color: #000080; }

.highlight .nv { color: #008080; }

.highlight .ow { font-weight: bold; }

.highlight .w { color: #bbb; }

.highlight .mf { color: #099; }

.highlight .mh { color: #099; }

.highlight .mi { color: #099; }

.highlight .mo { color: #099; }

.highlight .sb { color: #d14; }

.highlight .sc { color: #d14; }

.highlight .sd { color: #d14; }

.highlight .s2 { color: #d14; }

.highlight .se { color: #d14; }

.highlight .sh { color: #d14; }

.highlight .si { color: #d14; }

.highlight .sx { color: #d14; }

.highlight .sr { color: #009926; }

.highlight .s1 { color: #d14; }

.highlight .ss { color: #990073; }

.highlight .bp { color: #999; }

.highlight .vc { color: #008080; }

.highlight .vg { color: #008080; }

.highlight .vi { color: #008080; }

.highlight .il { color: #099; }

#supermax { background: url("/img/hero.webp") no-repeat; background-size: cover; }

#supermax { width: 100%; height: 300px; }

@media only screen and (max-width: 768px) { #supermax { width: 100%; height: 250px; } }

/** Episode page styles */
.episode-title { margin-bottom: 10px; }
.episode-date { margin-bottom: 20px; }
.audio-player { width: 100%; }
.episode-links { padding-top: 20px; }
.episode-content { padding-top: 20px; }

/** Homepage styles */
.video-container { padding: 56.25% 0 0 0; position: relative; }
.video-container iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
.section-heading { padding-top: 1em; }
.episode-meta { padding-top: 10px; padding-bottom: 20px; }

/** Header styles */
.hero-quote { font-size: 1.6em; }
.subscription-badges { padding-top: 30px; }
.subscription-badges a { text-decoration: none; }

.subscription-badges img { padding-right: 20px; }
.subscription-badges img:last-child { padding-right: 0; }

/** Dark mode - follows system preference */
@media (prefers-color-scheme: dark) {
  body { background-color: #1a1a1a; color: #e5e5e5; }

  a { color: #6ba3ff; }
  a:visited { color: #9fc5ff; }
  a:hover { color: #fff; }

  blockquote { color: #a0a0a0; border-left-color: #444; }

  pre, code { border-color: #444; background-color: #2a2a3a; }

  .site-header { border-top-color: #888; border-bottom-color: #333; }
  .site-title, .site-title:visited { color: #ccc; }
  .site-nav .page-link { color: #e5e5e5; }

  .site-footer { border-top-color: #333; }
  .footer-col-wrapper { color: #a0a0a0; }

  .post-meta { color: #a0a0a0; }

  .icon > svg path { fill: #a0a0a0; }
  .icon > svg { background-color: #666; border-radius: 2px; }


  .highlight { background: #1e1e1e; }
  .highlight .err { color: #ff6b6b; background-color: #3d2020; }
  .highlight .c, .highlight .cm, .highlight .c1 { color: #6a9955; }
  .highlight .cp, .highlight .cs { color: #9cdcfe; }
  .highlight .gd { color: #f48771; background-color: #3d2020; }
  .highlight .gd .x { background-color: #5a2020; }
  .highlight .gi { color: #89d185; background-color: #203d20; }
  .highlight .gi .x { background-color: #205a20; }
  .highlight .kt { color: #4ec9b0; }
  .highlight .m, .highlight .mf, .highlight .mh, .highlight .mi, .highlight .mo, .highlight .il { color: #b5cea8; }
  .highlight .s, .highlight .sb, .highlight .sc, .highlight .sd, .highlight .s2, .highlight .se, .highlight .sh, .highlight .si, .highlight .sx, .highlight .s1 { color: #ce9178; }
  .highlight .sr { color: #d16969; }
  .highlight .ss { color: #dcdcaa; }
  .highlight .na, .highlight .no, .highlight .nv, .highlight .vc, .highlight .vg, .highlight .vi { color: #9cdcfe; }
  .highlight .nb, .highlight .nc { color: #4ec9b0; }
  .highlight .ne, .highlight .nf { color: #dcdcaa; }
  .highlight .nn { color: #e5e5e5; }
  .highlight .nt { color: #569cd6; }
  .highlight .ni { color: #c586c0; }
  .highlight .go { color: #808080; }
  .highlight .gp { color: #6a9955; }
  .highlight .gu { color: #808080; }
  .highlight .gr, .highlight .gt { color: #f48771; }
  .highlight .gh { color: #808080; }
  .highlight .bp { color: #9cdcfe; }
  .highlight .w { color: #505050; }

  a:focus, button:focus, input:focus, select:focus, textarea:focus, [tabindex]:focus { outline-color: #6ba3ff; }
  a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, [tabindex]:focus-visible { outline-color: #6ba3ff; }
  .skip-link:focus { background: #6ba3ff; color: #1a1a1a; }
}

@media (prefers-color-scheme: dark) and (max-width: 600px) {
  .site-nav { background-color: #1a1a1a; border-color: #333; }
  .site-nav .menu-icon > svg path { fill: #ccc; }
}

/*# sourceMappingURL=main.css.map */