:root {
	--dark-bg: #1e1e2e;
	--dark-1: #cdd6f4;
	--dark-2: #8f5cf4;
	--dark-3: #6f7aaa;
	--dark-hover: #b4c0f4;
	--dark-link: #89b4fa;
	--dark-blockquote: #11111b;
	--code-bg: #24292E;
	--code-text: #A5A8AD;
}

html {
	background-color: var(--dark-bg);
	color: var(--dark-1);
}

body {
	font-family: Jetbrains Mono, monospace;
}

p {
	font-size: large;
}

h2,
h3,
h4 {
	font-weight: 600;
}

hr {
	margin: 2vh 5vh 2vh 0;
	border-color: #777;
}

iframe {
	display: block;
	margin: 1.05rem 0;
	max-width: 100%;
	border-radius: 1.05rem;
}

code {
	display: inline;
	background-color: var(--code-bg);
	color: var(--code-text);
	border-radius: 8px;
	padding: 4px 8px;
	font-size: small;
}

pre {
	padding: 10px;
	background-color: var(--code-bg);
	color: var(--code-text);
	border-radius: 10px;
	margin: 10px 0;
}

blockquote {
	background-color: var(--dark-blockquote);
	padding: 0 0 0 10px;
	border-left: 5px solid var(--dark-link);

	p {
		font-size: medium;
		line-height: 32px;
	}
}

::selection {
	background-color: var(--dark-1);
	color: var(--dark-bg);
}

/* HEADER */
.headerlink {
	border: 2px solid var(--dark-link);
	display: flex;
	align-items: center;
	padding: 0.5vh 1.5vh;
	border-radius: 10px;
	font-size: medium;
}

.headerlink:hover {
	background: var(--dark-link);
	color: var(--code-bg);
}

.headerlink-active {
	border: 2px solid var(--dark-link);
	padding: 0.5vh 1.5vh;
	border-radius: 10px;
	font-weight: 600;
	background-color: var(--dark-link);
	color: var(--dark-bg);
}

/* FOOTER */
.footerbg {
	background-color: var(--dark-bg);
	border-top: 1px solid var(--dark-1);
}

/* INDEX */
.index li {
	list-style: none;
	padding: 10px 0 0 0;
}

.index a {
	color: var(--dark-link);
}

.index a:hover {
	text-decoration: underline 2px;
}

/* BLOG */
.blog p {
	margin: 10px 0 0 0;
}

.blog li {
	list-style: disc inside;
	padding: 10px 0 0 10px;
	font-size: large;
}

.blog li ul {
	padding-left: 10px;
}

.blog img {
	border-radius: 10px;
	margin-top: 10px;
	width: 100%;
}

.blog h1 {
	display: none;
}

.blog h2 {
	font-size: x-large;
	margin-top: 18px;
}

.blog h3 {
	font-size: larger;
	margin-top: 18px;
}

.blog h4 {
	font-size: large;
	margin-top: 18px;
}

.blog table {
	width: 100%;
	border-collapse: collapse;
	margin: 10px 0px;
}

.blog th,
.blog td {
	border: 1px solid;
}

.blog th {
	padding: 5px 5px;
}

.blog a {
	color: var(--dark-link);
	font-weight: bolder;
}

.blog a:hover {
	text-decoration: underline 2px;
}

.blogtime {
	color: var(--dark-2);
}

.footnotes li {
	counter-increment: footnote-counter;
	margin-bottom: 1vh;
	padding-left: 0;
	display: flex;
	align-items: baseline;
	gap: 1vh;
}

.footnotes li::before {
	content: counter(footnote-counter) ".";
	font-weight: bold;
}

/* LOGS */
.borderbottom {
	border-bottom-width: 2px;
	border-color: var(--dark-3);
	font-size: large;
}

/* GALLERY */
.gallery {
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.gallery img {
	border: 15px solid white;
	margin-bottom: 100px;
}

.gallery table img {
	width: 95%;
	border: 10px solid white;
	margin-bottom: 10px;
}

.gallery table,
th,
td {
	border: 0;
	margin: 0;
}

@media screen and (max-width: 600px) {
	.gallery table img {
		border-width: 5px;
	}
}

/* CV */
.cv h2 {
	font-size: larger;
}

.cv h4 {
	font-size: medium;
}

.cv-date {
	color: var(--dark-2);
	font-size: small;
}

.cv a {
	color: var(--dark-link);
	font-size: small;
}

.cv a:hover {
	text-decoration: underline 2px;
}

.cv li {
	list-style: disc inside;
	padding: 0 0 5px 10px;
}

.cv li ul {
	padding-left: 10px;
}

/* QUOTES */
.author {
	color: var(--dark-2);
	font-size: medium;
}

/* PRINT */
@media print {
	body {
		background: #fff;
		color: #000;
		font-family: Georgia, serif;
	}

	h1,
	h2,
	h3 {
		line-height: 1.3;
		font-family: Helvetica, sans-serif;
	}

	a,
	main a,
	.post main a:visited {
		color: #000;
		text-decoration: none;
	}

	blockquote,
	pre {
		background: #fff;
		margin: 0;
		padding: 0 1.5em;
		border-left: 5px solid #000;
	}

	nav,
	footer,
	header {
		display: none !important;
	}

	.blogtime {
		color: #000;
	}

	#jr {
		display: none;
	}
}