@charset "utf-8";

/* @import "_variables.css"; */
/* @import "_override.css"; */

/* ============================== */
/* Variables */
/* ============================== */
:root {
  font-size: MAX(0.7vw, 16px);
--global-font-family: system-ui, -apple-system, BlinkMacSystemFont, PingFang SC, Microsoft YaHei UI, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, Helvetica, Arial, sans-serif;
--global-font-size: MAX(0.7vw, 16px);
--global-font-weight: 400;
--global-line-height: MAX(0.77vw, 18px);
--global-scroll-margin-top: 0.5rem;
--global-border-radius: 5px;
--global-background-color: #dddddd;
--global-background-color-dark: #292a2e;
--global-font-color: #161209;
--global-font-color-dark: #b1b1ba;
--global-font-secondary-color: #b1b1ba;
--global-font-secondary-color-dark: #909092;
--global-link-color: #161209;
--global-link-color-dark: #b1b1ba;
--global-link-hover-color: #2983bb; 
--global-link-hover-color-dark: #fff;
--global-border-color: #f0f0f0;
--global-border-color-dark: #363636;
--scrollbar-color: #87878d;
--scrollbar-hover-color: #b1b1ba;
--selection-color: rgba(53, 166, 247, 0.25);
--selection-color-dark: rgba(50, 112, 194, 0.4);
--header-height: 3.5rem;
--header-background-color: #f8f8f8;
--header-background-color-dark: #252627;
--header-title-font-family: var(--global-font-family);
--header-title-font-size: 1.25rem;
--menu-color: var(--global-secondary-font-color);
--menu-color-dark: var(--global-secondary-font-color-dark);
--menu-active-color: #161209;
--menu-active-color-dark: #fff;
--submenu-backgroud-color: #e8e8e8;
--submenu-backgroud-color-dark: #151617;
--menu-font-size: 1.25rem;
--search-background-color: #e9e9e9;
--search-background-color-dark: #363636;
--footer-height: 3.5rem;
--footer-background-color: #f8f8f8;
--footer-background-color-dark: #252627;
--tag-cloud-start: var(--global-font-secondary-color);
--tag-cloud-end: var(--global-font-color);
--tag-cloud-start-dark: var(--global-font-secondary-color-dark);
--tag-cloud-end-dark: var(--global-font-color-dark);
--toc-title-font-size: 1.1rem;
--toc-content-font-size: 0.9rem;
--single-link-color: #2376b7; 
--single-link-color-dark: #1781b5; 
--single-link-hover-color: #ea517f;
--single-link-hover-color-dark: #cc5595;
--table-background-color: #fff;
--table-background-color-dark: #272c34;
--table-thead-color: #ededed;
--table-thead-color-dark: #20252b;
--blockquote-color: #697681;
--blockquote-color-dark: #9ba3aa;
--pagination-link-color: #bfbfbf;
--pagination-link-color-dark: #b1b1ba;
--pagination-link-hover-color: #000;
--pagination-link-hover-color-dark: #fff;
--code-color: #24292f;
--code-color-dark: #adbac7;
--code-background-color: #f6f8fa;
--code-background-color-dark: #2d333b;
--code-error-color: #dc3545;
--code-hightlight-color: #fff8c5;
--code-hightlight-color-dark: rgba(174, 124, 20, 0.15);
--code-info-color: #9c9c9c;
--code-info-color-dark: #b1b0b0;
--code-font-size: 0.875rem;
--code-font-family: Source Code Pro, Menlo, Consolas, Monaco, monospace, $global-font-family;
  /* Full grid area variable */
--fullGrid: 1 / 1 / -1 / -1;
}

html {
    -webkit-text-size-adjust: 100%;
}

html,
body {
  margin: 0;
  padding: 0;
  /*position: relative;*/
  font-family: system-ui, -apple-system, BlinkMacSystemFont, PingFang SC, Microsoft YaHei UI, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, Helvetica, Arial, sans-serif;
  font-weight: 400;
  font-display: swap;
  font-size: 1rem;
  line-height: 1.1rem;
  width: 100%;
  scroll-behavior: smooth;
  overflow: overlay;
}

body {
  /*font-family: 'Open Sans', sans-serif;*/
  text-rendering: optimizeLegibility;
  word-wrap: break-word;
  overflow-wrap: break-word;
  color: var(--global-font-color);
  background-color: var(--global-background-color);
  scrollbar-color: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -moz-font-feature-settings: "liga" on;
}
body[data-theme="dark"] {
  color: var(--global-font-color-dark);
  background-color: var(--global-background-color-dark);
}
body::-webkit-scrollbar {
  width: 0.75rem;
  height: 0.75rem;
  background-color: transparent;
}
body::-webkit-scrollbar-thumb {
  background-color: transparent;
  background-clip: content-box;
  border: 2px solid transparent;
  -webkit-border-radius: 0.5rem;
  -moz-border-radius: 0.5rem;
  border-radius: 0.5rem;
}
body[data-scroll]::-webkit-scrollbar-thumb {
  background-color: #87878d;
}

iframe {
  border: 0;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
}

main {
  display: block;
  margin-bottom: var(--footer-height);
}

h1, h2, h3, h4, h5, h6 {
  margin-top: 3.5vw;
  margin-bottom: 1vw;
  /*color: var(--heading-bg-color);*/
}
h1 {
  font-size: 2.25rem;
  margin: 1vw 0;
}
h2 {
  font-size: 2.0rem;
}
h3 {
  font-size: 1.8rem;
}
h4 {
  font-size: 1.65rem;
}
h5, h6 {
  font-size: 1.5rem;
}

a {
  background-color: transparent;
  color: var(--globa-link-color);
  outline: none;
}
a, a::before, a::after, i {
  text-decoration: none;
  /*color: #161209;*/
  color: var(--global-link-color);
}
[data-theme="dark"] a, [data-theme="dark"] a::before, [data-theme="dark"] a::after, i {
  /*color: #b1b1ba;*/
  color: var(--global-link-color-dark);
}
a:hover, a:focus, a:active {
  /*color: #ad2f21;*/
  color: var(--global-link-hover-color);
}
[data-theme="dark"] a:hover, [data-theme="dark"] a:focus, [data-theme="dark"] a:active {
  /*color: #c54a3c;*/
  color: var(--global-link-hover-color-dark);
}


[role="button"] {
  cursor: pointer;
}
button, input {
  overflow: visible;
}
button, input, optgroup, select, textarea {
  font-family: inherit;
  font-size: 100%;
  line-height: 1.15;
  margin: 0;
}
button, select {
  text-transform: none;
}
button, [type="button"], [type="reset"], [type="submit"] {
    -webkit-appearance: button;
}
button::-moz-focus-inner, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner {
    border-style: none;
    padding: 0;
}
button:-moz-focusring, [type="button"]:-moz-focusring, [type="reset"]:-moz-focusring, [type="submit"]:-moz-focusring {
    outline: 1px dotted ButtonText;
}

fieldset {
    padding: 0.35em 0.75em 0.625em;
}
legend {
    box-sizing: border-box;
    color: inherit;
    display: table;
    max-width: 100%;
    padding: 0;
    white-space: normal;
}
progress {
    vertical-align: baseline;
}
textarea {
    overflow: auto;
}
[type="checkbox"], [type="radio"] {
    box-sizing: border-box;
    padding: 0;
}
[type="number"]::-webkit-inner-spin-button, [type="number"]::-webkit-outer-spin-button {
    height: auto;
}
[type="search"] {
    -webkit-appearance: textfield;
    outline-offset: -2px;
}
[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
}
::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit;
}
details {
    display: block;
}
summary {
    cursor: pointer;
    display: list-item;
}
template {
    display: none;
}

[hidden] {
    display: none;
}

[data-theme="dark"] ::selection {
  background-color: rgba(68,18,13,0.3);
}



hr {
    box-sizing: content-box;
    height: 0;
    overflow: visible;
}
pre {
    font-family: monospace, monospace;
    font-size: 1em;
    color: var(--global-font-secondary-color);
}
[data-theme="dark"] pre {
    color: var(--global-font-secondary-color);
}
abbr[title] {
    cursor: help;
    text-decoration-skip-ink: none;
    border-bottom: none;
    text-decoration: underline;
    text-decoration: underline dotted;
}
b, strong {
    font-weight: bolder;
}
code, kbd, samp {
    font-family: monospace, monospace;
    font-size: 1em;
}
code {
  max-width: 100%;
  overflow: auto;
  display: block;
}
small {
    font-size: 80%;
}
sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}
sub {
    bottom: -0.25em;
}
sup {
    top: -0.5em;
}



img {
  -webkit-border-radius: 2.5px;
  -moz-border-radius: 2.5px;
  border-radius: 2.5px;
  border-style: none;
  max-width: 100%;
  height: auto;
}
svg.icon {
    display: inline-block;
    width: 1.25em;
    height: 1em;
    text-align: center;
}
svg.icon path {
    fill: currentColor;
}
img.emoji {
    display: inline-block;
    height: 1em;
    width: 1em;
    margin: 0 0.05em 0 0.1em;
    vertical-align: -0.1em;
}









.highlight {
  border-radius: 3px;
  position: relative;
  margin: 40px 0;
  font-size: 14px;
}

.highlight pre {
  padding: 10px;
}





.wrapper {
/*
  overflow: hidden;
  position: relative;
*/  
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  width: 100%;
}  
.wrapper main {
  flex: 1 0 auto;
}
.wrapper main.container {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: 0;
  max-width: 100% !important;
  padding-inline: 1rem;
  gap: 0.5rem;
}
.wrapper main.container.container-reverse {
  flex-direction: row-reverse;
}
.wrapper main.container:has(.home:not(.posts)) {
  align-items: center;
}

.container {
  max-width: 100% !important;
}





.content {
  /*max-width: 700px;*/
  /*margin: 60px auto 80px;*/
  padding: 25px 25px;
  /*font-size: 15px;*/
  /*line-height: 1.5;*/
  /*color: #555;*/
  /*margin: 25px 25px 25px 25px;*/
}
.content p {
  /*margin: 25px 0 25px 0;*/
}
.content a {
  text-decoration: none;
  /*color: inherit;*/
  /*border-bottom: 3px solid #CBF8DF;*/
  /*box-shadow: inset 0 -4px 0 #CBF8DF;*/
  background: transparent;
  /*transition: background 150ms ease;*/
}
.content a:hover,
.content a:focus {
  /*background: #CBF8DF;*/
  text-decoration: underline;
}

.content blockquote {
    display: block;
    border-left: 0.25em solid #f0f0f0;
    /*color: #697681;*/
    color: var(--blockquote-color);
    padding: 0 1em;
    margin: 1rem 0;
}
[data-theme="dark"] .content blockquote {
    /*color: #9ba3aa;*/
    color: var(--blockquote-color-dark);
    border-left-color: #363636;
}
.content blockquote ul,
.content blockquote ol {
    padding-left: 1.5em;
}
.content blockquote dl dd {
    margin-inline-start: 0.25em;
}
.content blockquote a,
.content blockquote a::before,
.content blockquote a::after {
    text-decoration: none;
    color: #ad2f21;
}
[data-theme="dark"] .content blockquote a,
[data-theme="dark"] .content blockquote a::before,
[data-theme="dark"] .content blockquote a::after {
    color: #b1b1ba;
}
.content blockquote a:active,
.content blockquote a:hover {
    color: #ad2f21;
}
[data-theme="dark"] .content blockquote a:active,
[data-theme="dark"] .content blockquote a:hover {
    color: #c54a3c;
}




.posts {
  /*max-width: 700px;*/
  /*margin: 60px auto 80px;*/
  padding: 0 25px;
  font-size: 15px;
  line-height: 1.5;
  color: #555;
  margin: 25px 25px 25px 25px;
}
.posts a {
  color: #444;
}
.posts a:hover,
.posts a:focus {
  color: #000;
}



.article {
  margin-left: 10px;
}
.article-title {
  font-size: 34px;
  color: #222;
  margin: 0;
  line-height: 1.3;
}
.article-date {
  color: #ccc;
}
.article-duration {
  margin-top: 12px;
  float: right;
  font-size: 10px;
  font-family: 'Lato', sans-serif;
  padding: 1px 5px;
  font-weight: bold;
  border-radius: 3px;
  background: #bbb;
  color: #fff
}
.article-content p {
  margin: 15px 0 25px;
}

.article-content a {
  text-decoration: none;
  color: inherit;
  border-bottom: 3px solid #CBF8DF;
  box-shadow: inset 0 -4px 0 #CBF8DF;
  background: transparent;
  transition: background 150ms ease;
}
.article-content a:hover,
.article-content a:focus {
  background: #CBF8DF;
}
.article-content hr {
  width: 150px;
  margin: 50px auto;
  height: 1px;
  overflow: hidden;
  border: none;
  background: #e5e5e5;
}



.archive {
  margin: 0;
  padding: 0;
  list-style: none;
  line-height: 1.3em;
  text-align: center;
  color: #111;
}
.archive-title {
  font-size: 32px;
  margin-top: 60px;
}
.archive-item {
  margin: 5px 0 15px;
  padding: 0;
}
.archive-item-date {
  color: #ccc;
  font-size: 14px;
  padding: 5px 0;
  margin-top: 5px;
  display: block;
}
.archive-item-link {
  display: inline-block;
  text-decoration: none;
  font-size: 21px;
  font-family: 'Lato', sans-serif;
  font-weight: bold;
  color: #222;
  padding: 5px 0;
  border-bottom: 1px solid #ddd;
}
.archive-item-link:hover {
  border-bottom-color: #222;
}







footer {
  /*position: sticky;*/
  height: auto;
  width: 100%;
  text-align: center;
  line-height: 1.25rem;
  padding: 1rem 0;
}
footer .footer-container {
  display: flex;
  flex-direction: column;
  font-size: 0.875rem;
}
footer .footer-container .footer-line {
  width: 100%;
}
footer .footer-container .footer-line .footer-divider:not(:first-child)::before {
  content: "|";
  margin-left: 0.25rem;
  margin-right: 0.25rem;
}
footer .footer-container .footer-line .animate-icon {
  color: #dc143c;
  animation: icon-animate 1.33s ease-in-out infinite;
}
footer .footer-container .footer-line .run-times {
  font-variant-numeric: tabular-nums lining-nums;
}
.blur footer {
  -webkit-filter: blur(1.5px);
  filter: blur(1.5px);
}
.footer {
  position: fixed;
  bottom: 0px;
  width: 100%;
  background-color: #555;
  min-height: 50px;
  padding: 10px 0;
  text-align: center;
  /*font-family: 'Lato', sans-serif;*/
}
.footer-links {
  list-style: none;
  margin: 0;
  padding: 0;
  color: #ccc;
  font-size: 14px;
}
.footer-links li {
  margin: 0;
  padding: 0;
  display: inline-block;
}
.footer-links a {
  color: #888;
  text-decoration: none;
  transition: color 150ms ease;
  margin: 0 15px;
}
.footer-links a:hover,
.footer-links a:focus {
  color: #222;
}
.footer-links li::before {
  /*content: '/';*/
  content: '|';
  position: relative;
  left: -1px;
}
.footer-links li:first-child::before {
  display: none;
}
.footer-links-kudos img {
  position: relative;
  top: 0px;
  margin-left: 2px;
  height: var(--footer-height);
}





.sitemap li {
  list-style-type: "- ";
}
.sitemap a {
  color: #444;
}
.sitemap a:hover {
  color: #000;
  background-color: transparent;
}
.sitemap small {
  font-weight: 100;
}
 




@media screen and (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}
::-webkit-scrollbar {
    width: 0.5rem;
    height: 0.5rem;
}
::-webkit-scrollbar-thumb {
    background-color: #87878d;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
}
::-webkit-scrollbar-thumb:hover {
    background-color: #b1b1ba;
}
::selection {
    background-color: rgba(68, 18, 13, 0.5);
}
[data-theme="dark"] ::selection {
    background-color: rgba(68, 18, 13, 0.3);
}






@media only screen and (min-width: 1441px) {
  .breadcrumb-container .breadcrumb, .page {
      width: 60%;
  }
  [data-page-style="wide"] .breadcrumb-container .breadcrumb, .breadcrumb-container [data-page-style="wide"] .breadcrumb, [data-page-style="wide"] .page {
      width: 64%;
  }
  [data-page-style="narrow"] .breadcrumb-container .breadcrumb, .breadcrumb-container [data-page-style="narrow"] .breadcrumb, [data-page-style="narrow"] .page {
      max-width: 800px;
  }
}
@media only screen and (max-width: 1440px) {
    .breadcrumb-container .breadcrumb, .page {
        width: 56%;
    }
    [data-page-style="wide"] .breadcrumb-container .breadcrumb, .breadcrumb-container [data-page-style="wide"] .breadcrumb, [data-page-style="wide"] .page {
        width: 60%;
    }
}
@media only screen and (max-width: 1200px) {
  .breadcrumb-container .breadcrumb, .page {
      width: 52%;
  }
  [data-page-style="wide"] .breadcrumb-container .breadcrumb, .breadcrumb-container [data-page-style="wide"] .breadcrumb, [data-page-style="wide"] .page {
      width: 56%;
  }
  .search-dropdown.desktop {
      right: 1rem;
  }
  .img-carouselHome {
    height: 100vw !important;
    object-fit: cover;
    object-position: 100% 0;
  }
}

@media only screen and (max-width: 960px) {
  .breadcrumb-container .breadcrumb, .page {
      width: 80% !important;
  }
  aside {
      display: none !important;
  }
  #toc-static {
      display: block;
  }

  .content {
    padding: 0 0;
  }
  .img-carouselHome {
    height: 180vw !important;
    object-fit: cover;
    object-position: 100% 0;
  }
}

@media only screen and (min-width: 681px) {
  .content {
    /*font-size: 15px;*/
    line-height: 1.6;
    /*margin: 100px auto;*/
  }
  .highlight {
    /*font-size: 16px;*/
    margin: 40px -20px;
  }
  .archive {
    text-align: left;
  }
  .archive-title {
    /*font-size: 38px;*/
  }
  .archive-item-date {
    /*font-size: 19px;*/
    text-align: right;
    float: right;
  }
  .article-title {
    /*font-size: 42px;*/
  }
  .article-duration {
    /*font-size: 12px;*/
  }
  .footer-links {
    /*font-size: inherit;*/
  }
}
@media only screen and (max-width: 680px) {
  .breadcrumb-container .breadcrumb, .page {
    width: 100% !important;
  }
  .page .categories-card .card-item, .page .collections-card .card-item {
    width: 100%;
  }
  footer .footer-container {
    font-size: 0.618rem;
  }
  .pagination .page-item {
    margin: 0 5px;
  }

  .content {
    padding: 0 0;
  }
  .img-carouselHome {
    height: 600px !important;
    object-fit: cover;
    object-position: 100% 0;
  }
}









@media only print {
  @page {
    size: A4 portrait;
    margin: 1.27cm;
  }
  .page {
    width: 100% !important;
    padding-top: 0 !important;
  }
  .page.single .single-title, .page.single .single-subtitle, .page.single .post-meta {
   text-align: center;
  }
  .page h1:not(.single-title), .page .page-break-before {
   page-break-before: always;
  }
  .page .page-break-after {
    page-break-after: always;
  }
  .print-d-none, .fixed-button, .github-corner, .reading-progress-bar, header, .breadcrumb-container, footer, #toc-auto, .collection-card, .aside-collection, 
  .single .post-meta .comment-visitors, 
  .single .post-meta .comment-count,
  .single .content .highlight > .chroma .code-header .ellipses, 
  .single .content .highlight > .chroma .code-header .edit,
  .single .content .highlight > .chroma .code-header .copy,
  .single .post-reward,
  .single .post-footer .post-info .post-info-line .post-info-share,
  .single .post-footer .post-info-more section:last-child,
  .single .post-footer .post-nav,
  .single > #comments {
    display: none !important;
  }
}

