@font-face {
    font-family: "Lato";
    src: url("Lato-Regular.woff2");
}

@font-face {
    font-family: "Lato";
    src: url("Lato-Bold.woff2");
    font-weight: bold;
}

@font-face {
    font-family: "Lato";
    src: url("Lato-Italic.woff2");
    font-style: italic;
}

@font-face {
    font-family: "Lato";
    src: url("Lato-BoldItalic.woff2");
    font-weight: bold;
    font-style: italic;
}

html {
	font: 16px/1.5 sans-serif;
	text-align: justify;
	overflow-wrap: break-word;

	font-family: 'Lato';
	margin: 0;
	height: 100%;

	scroll-behavior: smooth;
}

body {
	margin: 0;
	min-height: 100vh;

	display: flex;
	flex-direction: column;
}

main {
	padding: 16px 0;

	background-color: white;
	color: black;
	flex: 1 1 auto;
}

.content {
	margin: 0 auto;
	max-width: calc(800px + 16px);
	padding: 0 8px;
}

.introcontent {
	margin: 64px auto;
}

nav {
	text-align: center;
	user-select: none;
	position: sticky;
	top: 0;

	z-index: 10;

	width: 100%;
	height: calc(24px + 8px * 4);
	background-color: #FFF;
}

nav .shadow {
	position: absolute;
	top: 0;
	z-index: 10;

	width: 100%;
	height: calc(24px + 8px * 4);
	box-shadow: 0px 0px 4px black;
}

nav .content {
	height: calc(24px + 8px * 4);
	display: flex;
	flex-direction: row;
	margin: 0 auto;
	max-width: calc(800px + 16px + 8px);

	padding: 0 4px;
}

nav .content * {
	align-self: center;
}

nav a {
	background-color: #DDD;
	color: black;
	padding: 8px 16px;
	text-decoration: none;
	border-radius: 4px;

	height: 24px;

	display: inline-block;
	margin: 8px 4px;

	white-space: nowrap;

	transition: background-color 0.4s, color 0.4s;
}

nav a:hover {
	background-color: #888;
	color: white;
}

nav a:active {
	background-color: #000;
	color: white;
}

header {
	text-align: center;
}

footer {
	text-align: center;
	background-color: #222;
	color: white;
}

footer a {
	color: white;
}

ul,ol {
	text-align: left;
}

.dualtable {
	display: flex;
	flex-direction: row;
	align-items: center;

	width: 100%;
	border-spacing: 0;
}

.dualtable div {
	width: calc(50% - 8px);
}

.dualtable div:first-child {
	padding-right: 8px;
}

.dualtable div:last-child {
	padding-left: 8px;
}

.dualtablealignoverride {
	align-items: baseline;
}

.dualtablealignoverride div {
	vertical-align: top;
}

.dualtablealignoverride div:last-child {
	text-align: right;
}

.dualtablealignoverride div:first-child {
	text-align: left;
}

.imgbox {
	text-align: center;
	font-weight: bold;
}

.introicon {
	width: 66%;
	display: block;
	margin: 0 auto;
}

.scrot {
	box-shadow: 0px 0px 4px black;
	border-radius: 16px;
	max-width: 100%;
}

.titleicon {
	height: 32px;
}

.titleiconcontiner {
	text-align: left;
	margin: 4px;
	height: 32px;
}

.flexstretch {
	flex: 1;
}

h1 {
	text-align: center;
	font-size: 32px;
	line-height: 1;
}

h2 {
	text-align: left;
	font-size: 24px;
	line-height: 1;
}

.reallybigtitle {
	font-size: 96px;
	margin: 0;
}

.subtitle {
	text-align: center;
}

@keyframes faaaaaancy {
    0% {
        background-position: 0% 0%;
    }
    100% {
        background-position: 100% 0%;
    }
}

.intro {
	flex: 1 0 calc(100vh - (24px + 8px * 4));
	width: 100%;

	display: flex;
	flex-direction: column;
	justify-content: center;

	background: linear-gradient(-45deg, #ee7752, #e73c7e, #23a6d5, #23d5ab);
	background-size: 500% 100%;
	animation: faaaaaancy 60s ease infinite alternate;

	color: white;
	text-shadow: 0 0 48px black;
}

.onlysmall {
	display: none;
}

.onlylarge {
	display: initial;
}

#mobilemenu {
	display: none;
	position: absolute;
	left: 0;
	top: calc(24px + 8px * 4);
	height: calc(100vh - 24px - 8px * 4);

	z-index: 9;

	text-align: left;
	background-color: white;
	overflow-y: scroll;

/*	box-shadow: 0px 0px 4px black;*/
}

.canvasstack {
	margin: 0 auto;

	position: relative;

	max-width: 100%;
	width: 744px;
	aspect-ratio: 744 / 538;

	user-select: none;
}

.canvasstack canvas {
	position: absolute;
	left: 0;
	top: 0;
	max-width: 100%;
}

@media (max-width: calc(800px + 48px)) {
	.introcontent {
		margin: 16px auto;
	}
	
	.dualtable {
		flex-direction: column;
	}

	.dualtable div {
		width: 100%;
	}

	.dualtable div:first-child {
		padding: 0;
	}

	.dualtable div:last-child {
		padding: 0;
	}

	.dualtablealignoverride div:last-child {
		text-align: left;
	}

	.onlysmall {
		display: initial;
	}
	
	.onlylarge {
		display: none;
	}

	nav a {
		width: calc(100% - 48px);
		margin: 0px 8px;
	}
}
