html {
  box-sizing: border-box;
  scroll-behavior: smooth;
  height: 100%;
}

body {
  background-color: #fffffe;
  background-color: var(--background);
}

body::-webkit-scrollbar {
  width: 6px;
}

body {
  scrollbar-width: thin;
  scrollbar-color: rgba(41, 41, 41, 0.9) #fffffe;
  scrollbar-color: rgba(41, 41, 41, 0.9) var(--background);
  height: 100%;
}

body::-webkit-scrollbar-track {
  background: #fffffe;
  background: var(--background);
}

body::-webkit-scrollbar-thumb {
  background-color: rgba(41, 41, 41, 0.9);
  background-color: rgba(41, 41, 41, 0.9);
}

*,
*:before,
*:after {
  box-sizing: inherit;
  border-style: solid;
  border-width: 0;
  border-color: currentColor;
  margin: 0;
  padding: 0;
}

img,
video,
canvas,
audio,
iframe,
embed,
object {
  display: block;
}

img,
video {
  max-width: 100%;
  height: auto;
}

img {
  display: block;
  max-width: 100%;
}

hr {
  width: 100%;
  border: none;
  background: rgba(41, 41, 41, 0.1);
  background: rgba(41, 41, 41, 0.1);
  height: 1px;
  margin-top: 2rem;
}

a {
  text-decoration: none;
  color: inherit;
  text-decoration: inherit;
  transition: all 200ms linear;
  text-decoration: underline;
}

a:hover {
  color: #0074d9;
  color: var(--accent);
}

ol {
  list-style-position: inside;
}

ol ol {
  list-style-type: lower-alpha;
}

ul {
  list-style-type: square;
  list-style-position: inside;
}

b,
strong {
  font-weight: 500;
}

table {
  border-collapse: collapse;
  caption-side: bottom;
  overflow-x: auto;
  min-width: 100%;
  border: 1px solid rgba(41, 41, 41, 0.3);
  border: 1px solid rgba(41, 41, 41, 0.3);
  margin-top: 1rem;
}

table caption {
  margin-top: 1rem;
}

td,
th {
  border: 1px solid rgba(41, 41, 41, 0.3);
  border: 1px solid rgba(41, 41, 41, 0.3);
  padding: 0.5rem;
  text-align: left;
}

th {
  font-weight: 500;
}

td:only-child {
  text-align: center;
}

* + h1,
* + h2 {
  margin-top: 5rem;
}

* + h3,
* + h4,
* + h5 {
  margin-top: 3rem;
}

* + p {
  margin-top: 2rem;
}

h2 + p,
h3 + p,
h4 + p {
  margin-top: 1rem;
}

iframe,
audio,
video,
img {
  width: 100%;
  max-width: 100%;
  margin-top: 1rem;
}

blockquote {
  margin-top: 1rem;
  margin-bottom: 1rem;
  padding-left: 1rem;
  border-left: 3px solid #0074d9;
  border-left: 3px solid var(--accent);
  font-style: italic;
}

pre {
  white-space: pre-wrap;
  -moz-tab-size: 2;
    -o-tab-size: 2;
       tab-size: 2;
  font-size: 0.95rem;
  border: 1px solid rgba(41, 41, 41, 0.1);
  border: 1px solid rgba(41, 41, 41, 0.1);
  padding: 1rem;
  margin-top: 1rem;
}

code,
kbd {
  color: #0074d9;
  color: var(--accent);
  font-feature-settings: normal;
  background: rgba(0, 116, 217, 0.2);
  background: rgba(0, 116, 217, 0.2);
  color: #0074d9;
  color: var(--accent);
  padding: 1px 6px;
  margin: 0 2px;
  font-size: 0.95rem;
}

pre,
code {
  font-family: 'Inconsolata', monospace;
}

pre code {
  background: transparent;
}

mark {
  background: #0074d9;
  background: var(--accent);
  color: #fffffe;
  color: var(--background);
  padding: 1px 6px;
  margin: 0 2px;
  font-size: 0.95rem;
}

.visually-hidden {
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

:root {
  --accent: #0074d9;
  --background: #fffffe;
  --color: rgb(41, 41, 41);
}

/**
 * prism.js default theme for JavaScript, CSS and HTML
 * Based on dabblet (https://dabblet.com)
 * @author Lea Verou
 */

code[class*="language-"],
pre[class*="language-"] {
  color: #ABB2BF;
  background: none;
  font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
  text-align: left;
  white-space: pre;
  word-spacing: normal;
  word-break: normal;
  word-wrap: normal;
  line-height: 1.5;
  -moz-tab-size: 4;
  -o-tab-size: 4;
  tab-size: 4;
  -webkit-hyphens: none;
  -ms-hyphens: none;
  hyphens: none;
}

pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection,
code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection {
  text-shadow: none;
  background: #383e49;
}

pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection {
  text-shadow: none;
  background: #9aa2b1;
}

pre[class*="language-"]::selection, pre[class*="language-"] ::selection,
code[class*="language-"]::selection, code[class*="language-"] ::selection {
  text-shadow: none;
  background: #9aa2b1;
}

@media print {
  code[class*="language-"],
  pre[class*="language-"] {
    text-shadow: none;
  }
}

/* Code blocks */

pre[class*="language-"] {
  padding: 1em;
  margin: .5em 0;
  overflow: auto;
}

:not(pre) > code[class*="language-"],
pre[class*="language-"] {
  background: #282c34;
}

/* Inline code */

:not(pre) > code[class*="language-"] {
  padding: .1em;
  border-radius: .3em;
  white-space: normal;
}

.token.comment,
.token.prolog,
.token.doctype,
.token.cdata {
  color: #5C6370;
}

.token.punctuation {
  color: #abb2bf;
}

.token.selector,
.token.tag {
  color: #e06c75;
}

.token.property,
.token.boolean,
.token.number,
.token.constant,
.token.symbol,
.token.attr-name,
.token.deleted {
  color: #d19a66;
}

.token.string,
.token.char,
.token.attr-value,
.token.builtin,
.token.inserted {
  color: #98c379;
}

.token.operator,
.token.entity,
.token.url,
.language-css .token.string,
.style .token.string {
  color: #56b6c2;
}

.token.atrule,
.token.keyword {
  color: #c678dd;
}

.token.function {
  color: #61afef;
}

.token.regex,
.token.important,
.token.variable {
  color: #c678dd;
}

.token.important,
.token.bold {
  font-weight: bold;
}

.token.italic {
  font-style: italic;
}

.token.entity {
  cursor: help;
}

pre.line-numbers {
	position: relative;
	padding-left: 3.8em;
	counter-reset: linenumber;
}

pre.line-numbers > code {
	position: relative;
}

.line-numbers .line-numbers-rows {
	position: absolute;
	pointer-events: none;
	top: 0;
	font-size: 100%;
	left: -3.8em;
	width: 3em; /* works for line-numbers below 1000 lines */
	letter-spacing: -1px;
	border-right: 0;

	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;

}

.line-numbers-rows > span {
	pointer-events: none;
	display: block;
	counter-increment: linenumber;
}

.line-numbers-rows > span:before {
	content: counter(linenumber);
	color: #5C6370;
	display: block;
	padding-right: 0.8em;
	text-align: right;
}

:root {
  --text-xs: 0.75rem;
  --text-sm: 0.875rem;
  --text-base: 1rem;
  --text-lg: 1.125rem;
  --text-xl: 1.25rem;
  --text-2xl: 1.5rem;
  --text-3xl: 1.875rem;
  --text-4xl: 2.25rem;
  --text-5xl: 3rem;
  --text-6xl: 5rem;
}

body {
  font-size: 1.125rem;
  font-size: var(--text-lg);
  line-height: 1.54;
  color: rgb(41, 41, 41);
  color: var(--color);
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  font-feature-settings: 'liga', 'tnum', 'case', 'calt', 'zero', 'ss01', 'locl', "calt";
  font-variant-ligatures: contextual;
  -webkit-overflow-scrolling: touch;
  -webkit-text-size-adjust: 100%;
  font-family: 'IBM Plex Sans', sans-serif;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  line-height: 1.3;
  font-weight: 400;
  color: rgb(41, 41, 41);
}

h1 {
  font-size: 2.25rem;
  font-size: var(--text-4xl);
}

h2 {
  font-size: 1.875rem;
  font-size: var(--text-3xl);
}

h3 {
  font-size: 1.5rem;
  font-size: var(--text-2xl);
}

h4 {
  font-size: 1.25rem;
  font-size: var(--text-xl);
}

h4 {
  font-size: 1.125rem;
  font-size: var(--text-lg);
}

p {
  font-size: 1.125rem;
  font-size: var(--text-lg);
}

.tags > * {
  margin-right: 1rem;
  margin-top: 0.5rem;
}

.tags {
  margin-top: 1rem;
  font-size: 0.875rem;
  font-size: var(--text-sm);
  margin-bottom: 1rem;
}

.tags a {
  text-decoration: none;
  color: rgb(117, 117, 117);
}

.post-list__wrapper {
  margin-top: 6rem;
}

.post-list__heading {
  font-size: 1.875rem;
  font-size: var(--text-3xl);
  margin-bottom: 1rem;
}

.post-list {
  list-style: none;
}

.post-list__item {
  display: flex;
  flex-direction: column;
  padding-bottom: 3rem;
  padding-top: 3rem;
  border-top: 1px solid rgba(230, 230, 230, 1);
}

.post-list__item:last-child {
  border-bottom: 1px solid rgba(230, 230, 230, 1);
}

.post-list__title {
  font-size: 1.5rem;
  font-size: var(--text-2xl);
  margin-top: 0.5rem;
}

.post-list__title a {
  font-weight: normal;
  text-decoration: none;
  color: rgb(41, 41, 41);
}

.post-list__title a:hover {
  /* color: var(--accent); */
  text-decoration: underline;
}

.post-list__meta {
  font-size: 0.875rem;
  font-size: var(--text-sm);
  margin-top: 1rem;
  color: rgb(117, 117, 117);
}

.post-list__meta > * + * {
  margin-left: 1rem;
}

.post-list__tags {
  text-decoration: none;
  font-size: 0.875rem;
  font-size: var(--text-sm);
  margin-top: 0.5rem;
}

.post-list__tags a {
  text-decoration: none;
  color: rgb(117, 117, 117);
}

.post-list__tags a:hover {
  color: #0074d9;
  color: var(--accent);
}

.post-list__tags > * + * {
  margin-left: 1rem;
}

.post-list__excerpt {
  margin-top: 1rem;
  color: rgba(0, 0, 0, 0.8);
}

.post-list__read-more {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-size: 1rem;
  text-transform: capitalize;
  margin-top: 1rem;
  text-decoration: underline;
}

.post-list__read-more:hover {
  text-decoration: underline;
}

.all-posts-link {
  margin-top: 4rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: inline-block;
  margin-left: auto;
  margin-right: auto;
  font-size: 1.125rem;
  font-size: var(--text-lg);
  text-decoration: underline;
  color: currentColor;
}

.hero {
  display: flex;
  flex-direction: column;
}

.hero h1 {
  font-size: 3rem;
  font-size: var(--text-5xl);
}

.hero p {
  font-size: 1.5rem;
  font-size: var(--text-2xl);
  margin-top: 1rem;
}

.hero__social-links {
  display: flex;
  flex-wrap: wrap;
  list-style-type: none;
  margin-top: 2rem;
  text-transform: uppercase;
}

.hero__social-links > li {
  margin-right: 2rem;
  margin-top: 1rem;
}

.hero__skip-link {
  align-self: center;
  cursor: pointer;
  position: absolute;
  bottom: 2rem;
  border: 2px solid rgb(0, 0, 0, 0.4);
  border-radius: 50%;
  width: 2.5rem;
  height: 2.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity 0.2s ease-in-out;
}

.hero__skip-link svg {
  transition: opacity 0.2s ease-in-out;
  stroke: rgb(0, 0, 0, 0.4);
  /* color: rgb(41, 41, 41); */
}

.header {
  max-width: none;
  width: 100%;
  text-transform: capitalize;
  text-transform: uppercase;
  margin-bottom: 4rem;
}

.header__content {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  margin-left: auto;
  margin-right: auto;
  max-width: 48.75rem;
  padding: 1rem;
  margin-top: 1rem;
  border-bottom: 1px solid rgba(230, 230, 230, 1);
}

.site-title {
  font-size: 1.25rem;
  font-size: var(--text-xl);
  margin-top: 1rem;
  margin-bottom: 1rem;
}

.site-title a {
  color: rgb(6, 6, 6);
  color: rgb(6 6 6);
  text-decoration: none;
}

.site-title a:hover {
  color: rgb(41, 41, 41);
}

.nav__list {
  display: flex;
  justify-content: space-around;
  list-style: none;
  font-size: 1rem;
  font-size: var(--text-base);
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

.nav__list a {
  color: rgb(117, 117, 117);
  text-decoration: none;
  margin-top: 1rem;
  margin-bottom: 1rem;
}

.nav__list li {
  margin-right: 2rem;
}

.nav__list li:last-child {
  margin-right: 0;
}

.nav__list a:hover {
  color: rgb(41, 41, 41);
}

.footer {
  padding-bottom: 4rem;
  padding-left: 1rem;
  padding-right: 1rem;
  max-width: none;
  width: 100%;
}

.footer__content {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-left: auto;
  margin-right: auto;
  max-width: 48.75rem;
  width: 100%;
  font-size: 1rem;
  font-size: var(--text-base);
  border-top: 1px solid rgba(230, 230, 230, 1);
}

.footer__content > * {
  margin-top: 2rem;
}

.footer__attribution {
  font-size: 0.875rem;
  font-size: var(--text-sm);
}

.footer ul {
  list-style: none;
  display: flex;
}

.footer li {
  margin-right: 2rem;
}

.post {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.post > * + * {
  margin-top: 4rem;
}

.post__details {
  opacity: 0.6;
  font-size: 0.9rem;
}

.post__details > * + * {
  margin-left: 0.5rem;
}

.post__content {
  word-wrap: break-word;
}

.post__aside {
  margin-top: 2rem;
}

.post__tags {
  opacity: 0.8;
  font-size: 0.875rem;
  font-size: var(--text-sm);
}

.post__tags * + * {
  margin-left: 0.5rem;
}

.post__pagination {
  margin-top: 2rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.post__pagination > *:only-child {
  margin-right: auto;
  margin-left: auto;
}

.post__pagination a {
  display: flex;
  align-items: center;
}

.post__pagination span {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}

.about h1 {
  margin-bottom: 2rem;
}

.about img {
  border: 4px solid rgba(0, 0, 0, 70%);
  float: none;
  margin-left: auto;
  margin-right: auto;
  margin-top: 0;
}

@media (min-width: 35.9375em) {
  .about img {
    width: 200px;
    float: right;
    margin-left: 1rem;
    margin-top: 0.5rem;
  }
}

.layout-wrapper {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  min-height: 100%;
}

.main {
  display: flex;
  padding-bottom: 4rem;
  flex-direction: column;
  padding-left: 1rem;
  padding-right: 1rem;
  min-width: 0;
  max-width: 48.75rem;
  margin-left: auto;
  margin-right: auto;
}

