/* Base */
/* ----------------------------------------------------------*/

/* make images/iframes scale to the column */
.post-content img,
.post-content video,
.post-content iframe {
  max-width: 100%;
  height: auto;
  display: block;
}

/* if legacy width/height are present, still force responsive */
.post-content img[width], 
.post-content img[height] {
  width: 100% !important;
  height: auto !important;
}

/* side by side figure becomes stacked on phones */
figure.responsive {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  margin: 8px 0;
}
figure.responsive img { width: 100%; height: auto; max-width: 520px; }

@media (max-width: 768px) {
  figure.responsive { flex-direction: column; }
  figure.responsive img { max-width: 100%; }
}


* {
    margin: 0;
    padding: 0;
  }
  
  html, body { height: 100%; }
  
  body {
    font-family: Helvetica; /*, Arial, sans-serif;*/
    font-size: 16px;
    line-height: 1.5;
    font-weight: 300;
    background-color: #fdfdfd;
  }

  * {
    font-family: Helvetica
  }
  
  h1, h2, h3, h4, h5, h6 { 
    font-size: 100%; 
    font-weight: 400; 
    font-family: Helvetica;
  }
  
  a         { color: #2a7ae2; text-decoration: none; }
  a:hover   { color: #000; text-decoration: underline; }
  a:visited { color: #205caa; }
  
  /* Utility */
  
  .wrap:before,
  .wrap:after { content:""; display:table; }
  .wrap:after { clear: both; }
  .wrap {
    max-width: 800px;
    padding: 0 30px;
    margin: 0 auto;
    zoom: 1;
  }
  
  
  /* Layout Styles */
  /* ----------------------------------------------------------*/
  
  /* Site header */
  
  .site-header {
    border-top: 5px solid #333;
    border-bottom: 1px solid #e8e8e8;
    min-height: 56px;
    background-color: white;
    font-family: Helvetica;
  }
  
  .site-title,
  .site-title:hover,
  .site-title:visited {
    display: block;
    color: #333;
    font-size: 26px;
    font-family: Helvetica;
    letter-spacing: -1px;
    float: left;
    line-height: 56px;
    position: relative;
    z-index: 1;
  }

  .blog-subtitle {
    display: block;
    color: #333;
    font-size: 26px !important; /* Added !important to ensure this style is applied */
    font-family: Helvetica;
    letter-spacing: -1px;
    line-height: 56px;
    position: relative;
    z-index: 1;
    float: none;
  }
  
  .site-nav {
    float: right;
    line-height: 56px;
  }
  
  .site-nav .menu-icon { display: none; }
  
  .site-nav .page-link {
    margin-left: 20px;
    color: #727272;
    letter-spacing: -.5px;
  }
  
  /* Site footer */
  
  .site-footer {
    border-top: 1px solid #e8e8e8;
    padding: 30px 0;
  }

  .site-footer .wrap {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

.progress-bar {
  position: fixed;
  top: 0;
  left: 0;
  width: 0%;
  height: 3px;
  background-color: black;
  z-index: 1000;
  transition: width 0.2s ease-out;
}
  
  .footer-heading {
    font-size: 18px;
    font-weight: 300;
    letter-spacing: -.5px;
    margin-bottom: 15px;
  }
  
  .site-footer .column { float: left; margin-bottom: 15px; }

  .site-footer .username {
  color: black;
  text-decoration: none;
  margin-left: 12px; 
}

/*f
.site-footer .username:hover {
  color: #505050;
  text-decoration: underline;
}
*/
  
  .footer-col-1 {
    width: 270px; /*fallback*/
    width: -webkit-calc(35% - 10px);
    width: -moz-calc(35% - 10px);
    width: -o-calc(35% - 10px);
    width: calc(35% - 10px);
    margin-right: 10px;
  }
  .footer-col-2 {
    width: 175px; /*fallback*/
    width: -webkit-calc(23.125% - 10px);
    width: -moz-calc(23.125% - 10px);
    width: -o-calc(23.125% - 10px);
    width: calc(23.125% - 10px);
    margin-right: 10px
  }
  .footer-col-3 {
    width: 335px; /*fallback*/
    width: -webkit-calc(41.875%);
    width: -moz-calc(41.875%);
    width: -o-calc(41.875%);
    width: calc(41.875%);
    text-align: right;
  }
  
  .site-footer ul { list-style: none; }
  
  .site-footer li,
  .site-footer p {
    font-size: 15px;
    letter-spacing: -.3px;
    color: black;
  }
  
  .github-icon-svg,
  .twitter-icon-svg,
  .goodreads-icon-svg,
  .instagram-icon-svg {
    display: inline-block;
    width: 16px;
    height: 16px;
    position: relative;
    top: 3px;
    fill: black;
  }
  

  .fa-instagram, 
  .fa-twitter,
  .fa-github,
  .goodreads-icon {
    width: 16px;
    height: 16px;
    position: relative;
    top: 3px;
    color: black;
    margin-right: 4px;
    text-decoration: none;
  }

  .goodreads-icon {
    font-family: Baskerville;
    font-size: 16px;
    display: inline-block;
    background: none;
    border: none;
    top: 1px;
  }
  /* Page Content styles */
  /* ----------------------------------------------------------*/
  
  .page-content {
    padding: 30px 0;
    background-color: #fff;
  }
  
  
  /* Home styles */
  /* ----------------------------------------------------------*/
  
  .home h1 { margin-bottom: 25px; }
  
  .posts { list-style-type: none; }
  
  .posts li { margin-bottom: 30px; }
  
  .posts .post-link {
    font-size: 20px;
    letter-spacing: -1px;
    line-height: 1;
    color: black;
  }
  
  .posts .post-date {
    display: block;
    font-size: 15px;
    color: #818181;
  }
  
  
  /* Post styles */
  /* ----------------------------------------------------------*/
  
  .post-header { margin: 10px 0 30px; }
  
  .post-header h1 {
    font-size: 36px;
    letter-spacing: -1.75px;
    line-height: 1;
    font-weight: 300;
  }
  
  .quote {
    font-style: italic;
    color: #555;
    text-align: right;
    margin-right: 20px; /* Adjust this value to align with the end of 'About' */
    margin-top: -10px; /* Adjust to reduce the space above the quote */
    margin-bottom: 0px; /* Reduce the space between the quote and subtitle */
  }

  .quote {
    font-style: italic;
    color: #555;
    text-align: right;
    margin-bottom: 10px;
    margin-top: 0px; /* Ensure there is no additional margin on top */
  }
  
  .post-header .meta {
    font-size: 15px;
    color: #818181;
    margin-top: 5px;
  }
  
  .post-content { margin: 0 0 30px; }
  
  .post-content > * { margin: 20px 0; }
  
  
  .post-content h1,
  .post-content h2,
  .post-content h3,
  .post-content h4,
  .post-content h5,
  .post-content h6 {
    line-height: 1;
    font-weight: 300;
    margin: 40px 0 20px;
  }
  
  .post-content h2 {
    font-size: 32px;
    letter-spacing: -1.25px;
  }
  
  .post-content h3 {
    font-size: 26px;
    letter-spacing: -1px;
  }
  
  .post-content h4 {
    font-size: 20px;
    letter-spacing: -1px;
  }
  
  .post-content blockquote {
  border-left: 4px solid #e8e8e8;
  padding-left: 20px;
  font-size: 18px;
  opacity: .8;           /* Change from .6 to 1 for full color */      
  letter-spacing: -1px;
  margin: 30px 0;
}
  
  .post-content ul,
  .post-content ol { padding-left: 20px; }
  
  .post pre,
  .post code {
    border: 1px solid #d5d5e9;
    background-color: #eef;
    padding: 8px 12px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
    font-size: 15px;
    overflow:auto;
  }
  
  .post code { padding: 1px 5px; }
  
  .post ul,
  .post ol { margin-left: 1.35em; }
  
  .post pre code {
    border: 0;
    padding-right: 0;
    padding-left: 0;
  }
  
  /* terminal */
  .post pre.terminal {
    border: 1px solid #000;
    background-color: #333;
    color: #FFF;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
  }
  
  .post pre.terminal code { background-color: #333; }
  
  /* AK custom CSS mods */
  .imgright { float: right; margin-left: 10px; }
  .imgcap img {
    border: 1px solid #999;
    max-width: 100%;
  }
  .imgcap {
    color: #555;
    font-size: 14px;
    text-align: center;
  }
  
  .svgdiv {
    width: 100%;
    text-align: center;
  }
  /* Syntax highlighting styles */
  /* ----------------------------------------------------------*/
  
  .highlight  { background: #ffffff; }
  .highlight .c { color: #999988; font-style: italic } /* Comment */
  .highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */
  .highlight .k { font-weight: bold } /* Keyword */
  .highlight .o { font-weight: bold } /* Operator */
  .highlight .cm { color: #999988; font-style: italic } /* Comment.Multiline */
  .highlight .cp { color: #999999; font-weight: bold } /* Comment.Preproc */
  .highlight .c1 { color: #999988; font-style: italic } /* Comment.Single */
  .highlight .cs { color: #999999; font-weight: bold; font-style: italic } /* Comment.Special */
  .highlight .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */
  .highlight .gd .x { color: #000000; background-color: #ffaaaa } /* Generic.Deleted.Specific */
  .highlight .ge { font-style: italic } /* Generic.Emph */
  .highlight .gr { color: #aa0000 } /* Generic.Error */
  .highlight .gh { color: #999999 } /* Generic.Heading */
  .highlight .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */
  .highlight .gi .x { color: #000000; background-color: #aaffaa } /* Generic.Inserted.Specific */
  .highlight .go { color: #888888 } /* Generic.Output */
  .highlight .gp { color: #555555 } /* Generic.Prompt */
  .highlight .gs { font-weight: bold } /* Generic.Strong */
  .highlight .gu { color: #aaaaaa } /* Generic.Subheading */
  .highlight .gt { color: #aa0000 } /* Generic.Traceback */
  .highlight .kc { font-weight: bold } /* Keyword.Constant */
  .highlight .kd { font-weight: bold } /* Keyword.Declaration */
  .highlight .kp { font-weight: bold } /* Keyword.Pseudo */
  .highlight .kr { font-weight: bold } /* Keyword.Reserved */
  .highlight .kt { color: #445588; font-weight: bold } /* Keyword.Type */
  .highlight .m { color: #009999 } /* Literal.Number */
  .highlight .s { color: #d14 } /* Literal.String */
  .highlight .na { color: #008080 } /* Name.Attribute */
  .highlight .nb { color: #0086B3 } /* Name.Builtin */
  .highlight .nc { color: #445588; font-weight: bold } /* Name.Class */
  .highlight .no { color: #008080 } /* Name.Constant */
  .highlight .ni { color: #800080 } /* Name.Entity */
  .highlight .ne { color: #990000; font-weight: bold } /* Name.Exception */
  .highlight .nf { color: #990000; font-weight: bold } /* Name.Function */
  .highlight .nn { color: #555555 } /* Name.Namespace */
  .highlight .nt { color: #000080 } /* Name.Tag */
  .highlight .nv { color: #008080 } /* Name.Variable */
  .highlight .ow { font-weight: bold } /* Operator.Word */
  .highlight .w { color: #bbbbbb } /* Text.Whitespace */
  .highlight .mf { color: #009999 } /* Literal.Number.Float */
  .highlight .mh { color: #009999 } /* Literal.Number.Hex */
  .highlight .mi { color: #009999 } /* Literal.Number.Integer */
  .highlight .mo { color: #009999 } /* Literal.Number.Oct */
  .highlight .sb { color: #d14 } /* Literal.String.Backtick */
  .highlight .sc { color: #d14 } /* Literal.String.Char */
  .highlight .sd { color: #d14 } /* Literal.String.Doc */
  .highlight .s2 { color: #d14 } /* Literal.String.Double */
  .highlight .se { color: #d14 } /* Literal.String.Escape */
  .highlight .sh { color: #d14 } /* Literal.String.Heredoc */
  .highlight .si { color: #d14 } /* Literal.String.Interpol */
  .highlight .sx { color: #d14 } /* Literal.String.Other */
  .highlight .sr { color: #009926 } /* Literal.String.Regex */
  .highlight .s1 { color: #d14 } /* Literal.String.Single */
  .highlight .ss { color: #990073 } /* Literal.String.Symbol */
  .highlight .bp { color: #999999 } /* Name.Builtin.Pseudo */
  .highlight .vc { color: #008080 } /* Name.Variable.Class */
  .highlight .vg { color: #008080 } /* Name.Variable.Global */
  .highlight .vi { color: #008080 } /* Name.Variable.Instance */
  .highlight .il { color: #009999 } /* Literal.Number.Integer.Long */
  
  
  /* media queries */
  /* ----------------------------------------------------------*/
  
  
  @media screen and (max-width: 750px) {
  
    .footer-col-1 { width: 50%; }
  
    .footer-col-2 {
      width: 45%; /*fallback*/
      width: -webkit-calc(50% - 10px);
      width: -moz-calc(50% - 10px);
      width: -o-calc(50% - 10px);
      width: calc(50% - 10px);
      margin-right: 0;
    }
  
    .site-footer .column.footer-col-3 {
      width: auto;
      float: none;
      clear: both;
    }
  
  }
  
  @media screen and (max-width: 600px) {
  
    .wrap { padding: 0 12px; }
  
    .site-nav {
      position: fixed;
      z-index: 10;
      top: 14px; right: 8px;
      background-color: white;
      -webkit-border-radius: 5px;
      -moz-border-radius: 5px;
      border-radius: 5px;
      border: 1px solid #e8e8e8;
    }
  
    .site-nav .menu-icon {
      display: block;
      font-size: 24px;
      color: #505050;
      float: right;
      width: 36px;
      text-align: center;
      line-height: 36px;
    }
  
    .site-nav .menu-icon svg { width: 18px; height: 16px; }
  
    .site-nav .trigger {
      clear: both;
      margin-bottom: 5px;
      display: none;
    }
  
    .site-nav:hover .trigger { display: block; }
  
    .site-nav .page-link {
      display: block;
      text-align: right;
      line-height: 1.25;
      padding: 5px 10px;
      margin: 0;
    }
  
    .post-header h1 { font-size: 36px; }
    .post-content h2 { font-size: 28px; }
    .post-content h3 { font-size: 22px; }
    .post-content h4 { font-size: 18px; }
    .post-content blockquote { padding-left: 5 px; }
    .post-content ul,
    .post-content ol { padding-left: 10px; }
  
    .site-footer .column {
      float: none;
      clear: both;
      width: auto;
      margin: 0 0 15px; }
  
  }

  /* add tag under blog post summary */
  .tag, a.tag {
    display: inline-block;
    vertical-align: central;
    font-family: Helvetica;
    font-size: 90%;
    line-height: 1.5em;
    padding: 0 .5em;
    color: white;
    background-color:#606060;
    border-radius: 5px;
}

/* 16:9 responsive iframe wrapper */
.responsive-embed { position: relative; width: 100%; padding-top: 56.25%; }
.responsive-embed > iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }


/* Layout/position */
.toc-wrap {
  position: fixed;
  left: 12px;
  top: 120px;               /* adjust if your navbar is taller */
  max-width: 220px;
  z-index: 5;
}

.toc-container {
  background: #fff;
  border: 1px solid #e5e5e5;
  border-radius: 6px;
  padding: 10px 12px;
  max-height: 70vh;
  overflow: auto;
  font-size: 14px;
}

/* List + links */
.toc-container ul { list-style: none; margin: 0; padding-left: 0; }
.toc-container li { margin: 6px 0; }
.toc-container a { text-decoration: none; color: #2563eb; }
.toc-container a:hover { text-decoration: underline; }

/* Indentation by level */
.toc-level-2 { margin-left: 0; }
.toc-level-3 { margin-left: 12px; }
.toc-level-4 { margin-left: 20px; }

/* Active section highlight */
.toc-container a.active { font-weight: 600; }

/* Make room so your content doesn't hide under a fixed header when jumped to */
.post-content h2, .post-content h3, .post-content h4 {
  scroll-margin-top: 90px;  /* match your navbar height */
}

/* Mobile: collapse or hide */
@media (max-width: 900px) {
  .toc-wrap {
    position: static;
    max-width: 100%;
    margin: 0 0 16px 0;
  }
}
