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

:root {
	--background-color: #0a0a0a;
	--primary-color: #cd2682;
	--secondary-color: #9f2b68;
	--text-color: #f5f5f5;
	--text-indent: 1.6rem;
	--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); }

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;
	width: 98%; }

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

#logo {
	display: block;
	width: 360px; }

#logo text { fill: var(--text-color); }

#logo .logo {
	font-size: 2rem;
	font-variant-caps: small-caps;
	font-weight: bold; }

@media screen and (-webkit-min-device-pixel-ratio:0) {
	#logo .logo { font-size: 2.082rem; } }

@-moz-document url-prefix() {
	#logo .logo { font-size: 2rem; } }

#logo .under { font-size: .88rem; }

nav { margin-top: .5rem; }

nav a { font-variant: small-caps; }

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

section { margin-top: 1rem; }

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

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

#overlay span {
	color: var(--background-color);
	text-shadow: 0 0 .3rem var(--secondary-color);
}

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

tr { vertical-align: top; }

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

tr:hover a { color: white; }

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; }

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

@media screen and (max-width: 640px) {
	header { display: block; }

	#logo {
		margin: 0 auto;
		width: 100%; }

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