@import url('https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,400;0,700;1,400&display=swap');

html {
	color: #1a1a1a;
	background-color: #fdfdfd;
}

body {
	font-family: 'Open Sans', sans-serif;
	margin: 0 auto;
	max-width: 36em;
	padding-left: 50px;
	padding-right: 50px;
	padding-top: 10px;
	padding-bottom: 50px;
	hyphens: auto;
	overflow-wrap: break-word;
	text-rendering: optimizeLegibility;
	font-kerning: normal;
}

@media (max-width: 600px) {
	body {
		font-size: 0.9em;
		padding: 12px;
	}
	h1 {
		font-size: 1.8em;
	}
}

@media print {
	html {
		background-color: white;
	}
	body {
		background-color: transparent;
		color: black;
		font-size: 12pt;
	}
	p,
	h2,
	h3 {
		orphans: 3;
		widows: 3;
	}
	h2,
	h3,
	h4 {
		page-break-after: avoid;
	}
}

p {
	margin: 1em 0;
}

img {
	max-width: 100%;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	margin-top: 1.4em;
	color: darkred;
}

h5,
h6 {
	font-size: 1em;
	font-style: italic;
}

h6 {
	font-weight: normal;
}

ol,
ul {
	padding-left: 1.7em;
	margin-top: 1em;
}

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

blockquote {
	margin: 1em 0 1em 1.7em;
	padding-left: 1em;
	border-left: 2px solid #e6e6e6;
	color: #606060;
}

code {
	font-family: Menlo, Monaco, Consolas, 'Lucida Console', monospace;
	font-size: 85%;
	margin: 0;
	hyphens: manual;
}

pre {
	margin: 1em 0;
	overflow: auto;
}

pre code {
	padding: 0;
	overflow: visible;
	overflow-wrap: normal;
}

.sourceCode {
	background-color: transparent;
	overflow: visible;
}

hr {
	background-color: #1a1a1a;
	border: none;
	height: 1px;
	margin: 1em 0;
}

table {
	margin: 1em 0;
	border-collapse: collapse;
	width: 100%;
	overflow-x: auto;
	display: block;
	font-variant-numeric: lining-nums tabular-nums;
}

table caption {
	margin-bottom: 0.75em;
}

tbody {
	margin-top: 0.5em;
	border-top: 1px solid #1a1a1a;
	border-bottom: 1px solid #1a1a1a;
}

th {
	border-top: 1px solid #1a1a1a;
	padding: 0.25em 0.5em 0.25em 0.5em;
}

td {
	padding: 0.125em 0.5em 0.25em 0.5em;
}

header {
	margin-bottom: 4em;
}

#TOC li {
	list-style: none;
}

#TOC ul {
	padding-left: 1.3em;
}

#TOC > ul {
	padding-left: 0;
}

#TOC a:not(:hover) {
	text-decoration: none;
}

.navbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	row-gap: 10px;
}

.navbar-menu {
	display: flex;
	gap: 15px;
	align-items: center;
	flex-wrap: wrap;
}

.navbar-title {
	font-size: larger;
	display: flex;
	gap: 10px;
	align-items: center;
	flex-wrap: wrap;
	padding-right: 30px;
}

.post {
	margin: 1em 0;
}

.post-title {
	color: darkred;
	font-weight: bold;
	font-size: large;
	margin: 0;
}

.date {
	font-size: small;
	margin: 0;
}

/* CSS for syntax highlighting */
pre > code.sourceCode {
	white-space: pre;
}
pre > code.sourceCode > span {
	display: inline-block;
	line-height: 1.25;
}
pre > code.sourceCode > span:empty {
	height: 1.2em;
}

code.sourceCode > span {
	color: inherit;
	text-decoration: inherit;
}
div.sourceCode {
	margin: 1em 0;
}
pre.sourceCode {
	margin: 0;
}

@media screen {
	div.sourceCode {
		overflow: auto;
	}
}

@media print {
	pre > code.sourceCode {
		white-space: pre-wrap;
	}
	pre > code.sourceCode > span {
		text-indent: -5em;
		padding-left: 5em;
	}
}
pre.numberSource code {
	counter-reset: source-line 0;
}
pre.numberSource code > span {
	position: relative;
	left: -4em;
	counter-increment: source-line;
}
pre.numberSource code > span > a:first-child::before {
	content: counter(source-line);
	position: relative;
	left: -1em;
	text-align: right;
	vertical-align: baseline;
	border: none;
	display: inline-block;
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	padding: 0 4px;
	width: 4em;
	background-color: #232629;
	color: #7a7c7d;
}

pre.numberSource {
	margin-left: 3em;
	padding-left: 4px;
}

.sourceCode {
	overflow: visible;
	color: #cfcfc2;
	background-color: #232629;
	border-radius: 8px;
	padding-top: 1em;
	padding-bottom: 1em;
	padding-right: 1em;
}

.padLeft {
	padding-left: 2em;
}

.scroll {
	overflow: scroll;
}

code span {
	color: #cfcfc2;
} /* Normal */
code span.al {
	color: #95da4c;
	background-color: #4d1f24;
	font-weight: bold;
} /* Alert */
code span.an {
	color: #3f8058;
} /* Annotation */
code span.at {
	color: #2980b9;
} /* Attribute */
code span.bn {
	color: #f67400;
} /* BaseN */
code span.bu {
	color: #7f8c8d;
} /* BuiltIn */
code span.cf {
	color: #fdbc4b;
	font-weight: bold;
} /* ControlFlow */
code span.ch {
	color: #3daee9;
} /* Char */
code span.cn {
	color: #27aeae;
	font-weight: bold;
} /* Constant */
code span.co {
	color: #7a7c7d;
} /* Comment */
code span.cv {
	color: #7f8c8d;
} /* CommentVar */
code span.do {
	color: #a43340;
} /* Documentation */
code span.dt {
	color: #2980b9;
} /* DataType */
code span.dv {
	color: #f67400;
} /* DecVal */
code span.er {
	color: #da4453;
	text-decoration: underline;
} /* Error */
code span.ex {
	color: #0099ff;
	font-weight: bold;
} /* Extension */
code span.fl {
	color: #f67400;
} /* Float */
code span.fu {
	color: #8e44ad;
} /* Function */
code span.im {
	color: #27ae60;
} /* Import */
code span.in {
	color: #c45b00;
} /* Information */
code span.kw {
	color: #cfcfc2;
	font-weight: bold;
} /* Keyword */
code span.op {
	color: #cfcfc2;
} /* Operator */
code span.ot {
	color: #27ae60;
} /* Other */
code span.pp {
	color: #27ae60;
} /* Preprocessor */
code span.re {
	color: #2980b9;
	background-color: #153042;
} /* RegionMarker */
code span.sc {
	color: #3daee9;
} /* SpecialChar */
code span.ss {
	color: #da4453;
} /* SpecialString */
code span.st {
	color: #f44f4f;
} /* String */
code span.va {
	color: #27aeae;
} /* Variable */
code span.vs {
	color: #da4453;
} /* VerbatimString */
code span.wa {
	color: #da4453;
} /* Warning */
