@font-face {
	font-family: Exo2;
	src: url("/media/font/Exo2-Medium.ttf");
	font-display: swap;
}
@font-face {
	font-family: Exo2-Bold;
	src: url("/media/font/Exo2-Bold.ttf");
	font-display: swap;
}
:root {
	--font-family-sans-serif: Exo2, Roboto, OpenSans, Arial, sans-serif;
	--font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas,
		"Liberation Mono", "Courier New", monospace;

	--color-highlight: rgb(243, 150, 25);
	--color-highlight-contrast: rgb(51, 51, 51);
	--color-forground: white;
	--color-background: black;
}
*,
:after,
:before {
	box-sizing: border-box;
}

@view-transition {
	navigation: auto;
}
header {
	view-transition-name: header;
}
main {
	view-transition-name: main;
}
footer {
	view-transition-name: footer;
}

html {
	background-color: var(--color-background);
	font-family: var(--font-family-sans-serif);
	color: var(--color-forground);
	overflow-y: scroll;
	line-height: 1.5;
}
input,
button {
	font-family: var(--font-family-sans-serif);
}

a {
	color: whitesmoke;
	text-decoration-color: lightgrey;
}

summary {
	cursor: pointer;
}

ul,
ol {
	margin: 0;
	padding: 0;
}
li {
	margin-left: 0.5rem;
}
dt {
	float: left;
	font-weight: bold;
}
dt:after {
	content: ":";
}
dd {
	padding-left: 1.5em;
}
p {
	margin: 0;
}
p,
ul,
ol,
.field_wrapper {
	padding-bottom: 0.5em;
}
b {
	font-weight: bold;
}

article,
.details-content {
	padding: 1rem;
}

summary::marker {
	content: "";
}
summary::-webkit-details-marker {
	/* iOS webkit */
	display: none;
}
.marker {
	float: right;
	font-size: 1.125rem;
	padding-top: 0.5rem;
	padding-right: 0.75rem;
}

/* Forms */

button,
input[type="submit"],
.btn {
	background-color: #ffb347;
	color: var(--color-highlight-contrast);
	padding: 6px 15px;
	letter-spacing: 1px;
	text-decoration: none;
	border-radius: 10em !important;
	border: none;
	font-weight: bold;
	font-size: 1rem;
	cursor: pointer;
}
button:hover,
button:active,
input[type="submit"]:hover,
input[type="submit"]:active,
.btn:hover,
.btn:active {
	color: white;
}

input[type="email"],
input[type="text"] {
	background-color: transparent;
	color: var(--color-forground);
	font-size: 1em;
	border: 1px solid var(--color-forground);
	padding: 0.33em;
	margin-right: 0.5em;
	accent-color: var(--color-highlight);
}
input[type="email"]::placeholder,
input[type="text"]::placeholder {
	color: var(--color-forground);
}
input[type="email"]:focus,
input[type="text"]:focus {
	border-color: var(--color-highlight);
	color: var(--color-highlight);
}
input[type="email"]:focus::placeholder,
input[type="text"]:focus::placeholder {
	color: var(--color-highlight);
}

.errorlist {
	color: var(--color-highlight);
}

/* Tables */

table {
	border-collapse: collapse;
	background-color: rgba(0, 0, 0, 0.5);
}
th,
td {
	padding: 0.25em;
	border: 1px solid rgb(76, 76, 76);
}

#background {
	height: 100%;
	background: url("/media/img/infinity-background.png") 50% 0 no-repeat;
	position: fixed;
	bottom: 0;
	width: 100%;
	opacity: 0.3;
	z-index: -999;
}
.heading {
	font: 600 1.125rem Exo2, Roboto, OpenSans, Arial, sans-serif;
	line-height: 1.5em;
	color: var(--color-forground);
	text-shadow: 1px 1px 2px var(--color-background);
	text-transform: uppercase;
}
footer {
	border-top: 1px solid rgb(76, 76, 76);
	text-align: center;
	font-size: 0.75 rem;
	opacity: 0.66;
	max-width: 66ch;
	margin: auto;
	margin-top: 5rem;
}

.logos {
	text-align: center;
	img {
		width: 100%;
		max-width: 350px;
		max-height: 125px;
	}
	a {
		text-decoration: none;
	}
}
.logos--large img {
	max-height: 350px;
}

.expander {
	border: 1px solid rgb(76, 76, 76);
	border-radius: 0.25rem;
	margin-bottom: 1rem;
	overflow: hidden;
}
.expander > summary {
	background-color: rgba(24, 24, 24, 0.75);
	padding: 0.5rem;
}
.details-content {
	background-color: rgba(0, 0, 0, 0.5);
}
details > summary .marker {
	color: rgb(243, 150, 25);
	float: right;
	font-size: 1.125rem;
	padding-top: 0.5rem;
	padding-right: 0.75rem;
	border-style: solid;
	border-width: 0 0.25rem 0.25rem 0;
	transform: rotate(45deg);
	width: 0.75rem;
	height: 1rem;
}
.expander[open] > summary {
	border-bottom: 1px solid rgb(76, 76, 76);
}
details[open] > summary .marker {
	transform: rotate(225deg);
	margin-top: 0.5rem;
}
.expander > summary h2,
.expander > summary h3 {
	margin: 0;
}
.expander .expander {
	margin-left: 1rem;
	margin-right: 1rem;
}

.masonry {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
.masonry article {
	width: 100%;
	max-width: 40em;
}
.headline {
	text-align: center;
}

.hex {
	color: var(--color-forground);
	width: 50px;
	height: 50px;
	padding: 0;
	clip-path: polygon(
		47.5% 5.66987%,
		48.2899% 5.30154%,
		49.13176% 5.07596%,
		50% 5%,
		50.86824% 5.07596%,
		51.7101% 5.30154%,
		52.5% 5.66987%,
		87.14102% 25.66987%,
		87.85495% 26.16978%,
		88.47124% 26.78606%,
		88.97114% 27.5%,
		89.33948% 28.2899%,
		89.56505% 29.13176%,
		89.64102% 30%,
		89.64102% 70%,
		89.56505% 70.86824%,
		89.33948% 71.7101%,
		88.97114% 72.5%,
		88.47124% 73.21394%,
		87.85495% 73.83022%,
		87.14102% 74.33013%,
		52.5% 94.33013%,
		51.7101% 94.69846%,
		50.86824% 94.92404%,
		50% 95%,
		49.13176% 94.92404%,
		48.2899% 94.69846%,
		47.5% 94.33013%,
		12.85898% 74.33013%,
		12.14505% 73.83022%,
		11.52876% 73.21394%,
		11.02886% 72.5%,
		10.66052% 71.7101%,
		10.43495% 70.86824%,
		10.35898% 70%,
		10.35898% 30%,
		10.43495% 29.13176%,
		10.66052% 28.2899%,
		11.02886% 27.5%,
		11.52876% 26.78606%,
		12.14505% 26.16978%,
		12.85898% 25.66987%
	);
	transition: background-color 0.2s ease;
	border-radius: 10px;
	text-align: center;
}
.info-boxes {
	display: flex;
	justify-content: center;
	cursor: default;
}
.info-box {
	background-color: var(--color-highlight-contrast);
	height: 7rem;
	width: 7rem;
	padding-top: 1.25rem;
	padding-left: 1.5rem;
	padding-right: 1.5rem;
}
.info-box:hover {
	background-color: var(--color-highlight);
	color: var(--color-highlight-contrast);
}
.info-box b {
	font-size: 1.5em;
}

.error-code {
	font-size: 7rem;
}

.infinity {
	font-weight: bold !important;
	color: var(--color-highlight) !important;
	cursor: crosshair !important;
}

.hidden {
	display: none !important;
}
