@import url('https://fonts.googleapis.com/css?family=JetBrains+Mono');

* {
	border-radius: 12px;

	--cl-rosewater: #f5e0dc;
	--cl-flamingo: #f2cdcd;
	--cl-pink: #f5c2e7;
	--cl-mauve: #cba6f7;
	--cl-red: #f38ba8;
	--cl-maroon: #eba0ac;
	--cl-peach: #fab387;
	--cl-yellow: #f9e2af;
	--cl-green: #a6e3a1;
	--cl-teal: #94e2d5;
	--cl-sky: #89dceb;
	--cl-sapphire: #74c7ec;
	--cl-blue: #89b4fa;
	--cl-lavender: #b4befe;
	--cl-text: #cdd6f4;
	--cl-subtext-1: #bac2de;
	--cl-subtext-0: #a6adc8;
	--cl-overlay-2: #9399b2;
	--cl-overlay-1: #7f849c;
	--cl-overlay-0: #6c7086;
	--cl-surface-2: #585b70;
	--cl-surface-1: #45475a;
	--cl-surface-0: #313244;
	--cl-base: #1e1e2e;
	--cl-mantle: #181825;
	--cl-crust: #11111b;
}

body {
	font-family: "JetBrains Mono", monospace;
	background-color: var(--cl-mantle);
	color: var(--cl-text);
	margin: 0;
}

header {
	border-radius: 0px;
	padding: 2vh 2vw;
	background-color: var(--cl-base);
	margin: 0vh 0vw 5vh 0vw;
	border: 2px solid #0000;
	border-bottom-color: var(--cl-surface-0);
}

footer {
	border-radius: 0px;
	padding: 2vh 2vw;
	background-color: var(--cl-base);
	border: 2px solid #0000;
	border-top-color: var(--cl-surface-0);
}

h2 {
  margin-top: 2em;
}

a.tree-link:link,
a.tree-link:active {
	color: var(--cl-text);
	text-decoration: none;
}

a.tree-link:visited {
	color: var(--cl-blue);
}

a.tree-link:hover {
	text-decoration: underline;
}

a.link:link {
	color: var(--cl-mauve);
	border: 2px solid var(--cl-mauve);
	padding: 4px 8px;
	text-decoration: none;
	margin-bottom: 0.5em;
	line-height: 240%;
}
a.link:visited, a.link:active {
	color: var(--cl-blue);
}
a.link:hover {
	color: var(--cl-text);
	background-color: var(--cl-surface-0);
	border: 2px solid var(--cl-text);
}
.color_blue {
	color: var(--cl-blue);
}
.color_green {
	color: var(--cl-green);
}
.color_red {
	color: var(--cl-red);
}

.page_contents {
	margin: 0vh 10vw 5vh 10vw;
}

.block {
  background-color: var(--cl-base);
	border: 2px solid var(--cl-surface-0);
	padding: 16px 32px;
	margin-bottom: 0.75em;
}

.entries {
  padding: 1em;
	margin-bottom: 0.5em;
}

.subtitle summary {
  font-size: 1.5em;  
  font-weight: bold;
	color: var(--cl-text);
	border: 2px solid #0000;
	border-bottom-color: var(--cl-surface-0);
	padding: 16px;
	text-decoration: none;
	margin-bottom: 0.5em;
}

.subtitle summary:hover {
	border-color: var(--cl-blue);
}

.subtitle:open summary {
	border-color: var(--cl-blue);
}

details {
	margin-bottom: 1em;
}

p {
  overflow-wrap: break-word;
}

#grid-container {
   display:grid;
   grid-template-rows:auto 1fr auto;
   grid-template-columns:100%;
   min-height:100vh;
   min-height:100svh;
}