:root {
	--d32-color-bg    : #111;
	--d32-color-text  : #EEE;
	--d32-color-border: #666;
}

body::before {
	content: "";
	position: fixed;
	inset: 0;
	pointer-events: none;
	mix-blend-mode: normal;

	background: 
		repeating-linear-gradient(
			45deg,
			rgba(255,255,255,0.035) 0px,
			rgba(255,255,255,0.035) 1px,
			transparent 1px,
			transparent 4px
		),
		repeating-linear-gradient(
			-45deg,
			rgba(0,0,0,0.035) 0px,
			rgba(0,0,0,0.035) 1px,
			transparent 1px,
			transparent 4px
		);
}


@font-face {
	src: url("/assets/fonts/Geist.ttf");
	font-family: Geist;
}

@font-face {
	src: url("/assets/fonts/GeistBold.ttf");
	font-family: GeistBold;
}

html, body {
	padding: 0px;
	margin: 0px;
	background-color: var(--d32-color-bg);
	color: var(--d32-color-text);
	font-family: Geist;
	min-height: 100%;
	max-height: 100%;
	min-width: 100%;
	max-width: 100%;
	height: 100%;
	width: 100%;
}

h1, h3 {
	margin-top: 0px;
	margin-bottom: 0px;
}

h1 {
	font-family: GeistBold;	
}

a, p {
	letter-spacing: 0.01rem;
}

img {
	user-select: none;
}

.topbar {
	position: fixed;
	top: 0px;
	left: 0px;
	right: 0px;
	height: 10%;
	align-content: center;
	text-align: center;
}

.content {
	position: fixed;
	top: calc(10%);
	left: 0px;
	right: 0px;
	height: calc(72.5% - 1rem);
	width: 90%;
	margin: auto;
}

.footer {
	position: fixed;
	bottom: 0px;
	left: 0px;
	right: 0px;
	height: 10%;
	align-content: center;
	text-align: center;
}

.intro-content {
	border-bottom: 1px solid var(--d32-color-border);
}

.intro-content, .otherly-content {
	padding-top: 0.25rem;
	padding-bottom: 1rem;
	text-align: center;
	justify-content: center;
	overflow: auto;
}

.otherly-content {
	height: 75%;
	justify-content: center;
	display: flex;
	gap: 2rem;
	padding: 1rem;
	flex-direction: column;
}

#subcontainer {
	display: flex;
	gap: 4rem;
}

.container {
	background: #222;
	max-width: 33%;
	height: 10rem;
	border-radius: 2rem;
	padding: 1rem;
	text-align: left;
	border: 1px solid var(--d32-color-border);
	width: 30%;
	margin: auto;
	display: flex;
	flex-direction: column;
	box-shadow: rgba(0, 0, 0, 0.56) 0px 22px 70px 4px;
	overflow: auto;
}

.container > a {
	border-bottom: 1px solid var(--d32-color-border);
	padding-bottom: 0.75rem;
}

.container-desc {
	flex: auto;
	margin-top: 1rem;
}

.container-footer, .container-desc {
	margin-left: 0.25rem;
	margin-right: 0.25rem;
	margin-bottom: 0.25rem;
}

.go-href {
	float: right;
}

.text-container {
	width: calc(100% - 4rem);
	height: 100%;
	text-align: left;
	padding: 2rem;
	border: 1px solid var(--d32-color-border);
	border-radius: 2rem;
	background-color: var(--d32-color-bg);
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	overflow: auto;
}

.text-container > p {
	padding: 0px;
	margin: 0px;
}

.yap-content {
	height: 100%;
	width: fit-content;
	margin: auto;
	overflow-y: hidden;	

}

#go-home {
	position: fixed;
	left: 0px;
	right: 0px;
	width: fit-content;
	bottom: 1rem;
	margin: auto;
	background: #0009;
	padding: 0.375rem;
	border-radius: 0.5rem;
	text-align: center;
	backdrop-filter: blur(0.25rem);
}


a:link {
	color: #F98E00;
}

a:visited {
	color: #F79833;
}

/* Scaling */

@media (orientation: portrait){
	.otherly-content {
		flex-direction: column;
		justify-content: flex-start;
		height: auto;
		max-height: calc(72.5% - 1rem);
	}

	.container {
		max-width: 95%;
		width: 90%;
		box-shadow: none;
	}

	#subcontainer {
		flex-direction: column;
	}
}

