@font-face {
	font-family: 'Roboto Condensed';
	font-style: normal;
	font-weight: 400;
	src: local('RobotoCondensed'), local('RobotoCondensed-Regular'),
	url(/assets/fonts/RobotoCondensed-Regular.ttf); }

:root {
	--background-color: #0a0a0a;
	--primary-color: #cd2682;
	--secondary-color: #9f2b68;
	--text-color: #f5f5f5;
	--text-indent: 1.6rem;
	color-scheme: light dark;
	--overlay-background-color: #f5f5f574;
	scrollbar-color: var(--primary-color) var(--background-color); }

@media (prefers-color-scheme: light) {
	:root {
		--background-color: #f5f5f5;
		--primary-color: #9f2b68;
		--secondary-color: #cd2682;
		--text-color: #0a0a0a;
		--overlay-background-color: #0a0a0a74; } }

* { margin: 0; }

::selection {
	background-color: var(--secondary-color);
	color: var(--background-color); }

::placeholder { color: var(--primary-color); }

.hidden { display: none; }

a {
	color: var(--primary-color);
	text-decoration: none; }

a:hover {
	color: var(--secondary-color);
	text-decoration: underline;
	text-decoration-style: dotted;
	transition: .5s; }

p {
	text-align: justify;
	line-height: var(--text-indent);
	text-indent: var(--text-indent); }

p:not(:last-child) { margin-bottom: .1rem; }

h1,
h2 {
	font-size: 1.8rem;
	font-variant: small-caps;
	text-align: center;
	margin-bottom: 1rem; }

h2 {
	font-size: 1.4rem;
	margin: 1rem 0; }

html { margin-left: calc(100vw - 100%); }

body {
	background-color: var(--background-color);
	color: var(--text-color);
	font-family: 'Roboto Condensed', Roboto, sans-serif;
	font-size: 1.1rem;
	margin: 0 auto;
	max-width: 960px;
	min-height: 100vh;
	width: 98%; }

header {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between; }

header svg text { fill: var(--text-color); }

header svg text:first-child {
	font-size: 3.55rem;
	font-variant-caps: small-caps;
	font-weight: bold; }

header svg text:last-child { font-size: 1.5rem; }

@supports (-moz-appearance:none) {
	header svg text:last-child { transform: scale(.993, 1); } }

header nav {
	display: flex;
	flex-direction: column;
	font-variant: small-caps;
	justify-content: space-evenly; }

header nav h1 {
	color: var(--secondary-color);
	margin: 0; }

section { margin-top: 1rem; }

input[name="filter"] {
	background-color: var(--background-color);
	border: none;
	border-bottom: 1px solid var(--primary-color);
	color: var(--text-color);
	font: inherit;
	width: 100%; }

table {
	overflow-y: scroll;
	width: 100%; }

tr { vertical-align: top; }

tr:hover,
tr:focus-within {
	background-color: var(--primary-color);
	color: white; }

tr:hover a,
tr:focus-within a { color: white; }

tr a { color: var(--text-color); }

th { text-align: left; }

th:nth-child(2),
th:last-child {
	width: 1%;
	white-space: nowrap; }

th,
td { line-break: strict; }

th:nth-child(2),
td:nth-child(2) { padding: 0 1rem; }

td a {
	display: block;
	width: 100%; }

td a:hover { transition: none; }

td:nth-child(2),
td:last-child { white-space: nowrap; }

thead tr th.clickable { cursor: pointer; }

thead tr th.clickable:hover { color: var(--secondary-color); }

thead tr th.clickable:not(.sort-up):not(.sort-down)::after { content: '⇅'; }

thead tr th.clickable.sort-up::after { content: '↑'; }

thead tr th.clickable.sort-down::after { content: '↓'; }

#overlay { 
	align-items: center;
	background-color: var(--overlay-background-color);
	display: flex;
	flex-direction: row;
	height: 100%;
	justify-content: space-between;
	left: 0;
	max-height: 100%;
	position: fixed;
	top: 0;
	visibility: hidden;
	width: 100%; }

#overlay div {
	align-items: center;
	display: flex;
	flex-direction: column;
	height: 100%;
	max-height: 100%;
	max-width: 100%;
	width: auto; }

#overlay span {
	bottom: 0;
	color: var(--background-color);
	left: 0;
	position: fixed;
	margin: 0 0 0 4rem;
	text-shadow: 0 0 .3rem var(--secondary-color);
	z-index: 999; }

#overlay span.c-autoplay { 
	left: auto;
	right: 0;
	margin: 0 4rem 0 0; }

#overlay :is(video, audio, img) {
	margin: auto;
	max-height: 100%;
	max-width: 100%;
	width: auto; }

#overlay button {
	background: none;
	border: none;
	color: var(--background-color);
	font: inherit;
	font-size: 2rem;
	padding: 0 1rem;
	height: 100%;
	z-index: 999; }

#overlay button:hover {
	background-color: var(--background-color);
	color: var(--primary-color); }

footer {
	font-size: .8rem;
	text-align: center;
	padding: 1rem 0; }


@media screen and (max-width: 640px) {
	header {
		align-items: center;
		flex-direction: column; }

	header svg { width: 100%; }

	header nav {
		width: 100%;
		text-align: center; } }