* {
	box-sizing: border-box;
	border: 0;
	padding: 0;
	margin: 0;
	color: inherit;
	font: inherit;
	background: none;
}
body {
	background-color: #3b0226;
	background-image: linear-gradient(-45deg, #150135, #610316);
	color: white;
	font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New', monospace;

	width: 100%;
	min-height: 100vh;
	overflow-x: hidden;
	overflow-y: scroll;

	display: flex;
	flex-direction: column;
	align-items: stretch;
	cursor: default;
}

a[href^=http]:not(.hideext a):not(.hideext) {
	color: inherit;
	text-decoration: underline;
}
a[href^=http]/* not relative */:not(.hideext)/* direct removal */:not(.hideext a)/* inherited */::after {
	content: '🔗';
	display: inline-block;
	font-size: 0.9em;
	opacity: 0.5;
	transform: translateY(0);
	transition: transform 250ms ease, opacity 250ms;
}
a[href^=http]/* not relative */:not(.hideext):not(.hideext a):hover::after,
	a[href^=http]/* not relative */:not(.hideext):not(.hideext a):focus::after,
	a[href^=http]/* not relative */:not(.hideext):not(.hideext a):active::after {
	transition-duration: .1s;
	opacity: 1;
	transform: translateY(-1px);
}

.nav-link {
	font-size: 1em;
	color: #FFFFFF !important;
	transition-duration: .1s;
}
.nav-link:hover {
	color: #55CDFC !important;
	transition-duration: .1s;
}
.nav-ref {
	font-size: 1em;
	color: #FFFFFF !important;
	transition-duration: .1s;
}
.nav-ref:hover {
	color: #F7A8B8 !important;
	transition-duration: .1s;
}

.nav-dropdown {
	display: inline-block;
	font-size: 1em;
	text-decoration: underline;
	transition: transform 250ms ease, opacity 250ms;
	position: relative;
}
.nav-dropdown:hover {
	color: #FF9B55;
}
.nav-dropdown span {
	display: block;
	width: 100%;
	height: 1rem;
	position: absolute;
}
.nav-dropdown div {
	color: #D461A6;
	pointer-events: none;
	background-color: transparent;
	padding: 4px;
	border-radius: 8px;
	opacity: 0;
	margin-top: 0.5rem;
	margin-left: -1rem;
	line-height: 1.2rem;
	width: 11rem;
	position: absolute;
	transition-duration: .3s;
}
.nav-dropdown:hover div {
	pointer-events: auto;
	background-color: #000000C0;
	opacity: 1;
	position: absolute;
	transition-duration: .3s;
}

#root {
	position: relative;
	width: 100%;
	height: 100%;
	flex-grow: 1;

    display: flex;
    flex-flow: column nowrap;
    align-items: stretch;
}
nav {
	position: absolute;
	top: 0;
	width: 100%;
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
	padding: 2rem;
	gap: 2ch;
	z-index: 9;
}
@media (max-width: 650px) {
	nav {
		flex-wrap: wrap;
	}
}
.footer-sep {
	display: inline-block;
	max-height: 0;
	width: 5em;
}
@keyframes fadeInUp {
	0% {
		opacity: 0;
		transform: translate3d(0,50px,0)
	}

	100% {
		opacity: 1;
		transform: translate3d(0,0,0)
	}
}
.fadeInUp {
	animation: fadeInUp 150ms ease;
}

.activeNav {
	text-decoration: none;
	pointer-events: none;
	cursor: default;
}

.emoji {
	width: 1em;
	height: 1em;
	display: inline-block;
	vertical-align: baseline;
}

.screen-reader-only {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0); /* Legacy property for Internet Explorer */
  clip-path: inset(50%);
  white-space: nowrap;
}

footer {
	height: 3rem;

	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	justify-content: center;

	background-color: rgb(12, 0, 12);
	color: rgb(52, 6, 52);
}
