@import "./variables.css";

@font-face {
	font-family: "Keroine";
	src: url(Keroine-DouxExtreme.woff2) format("woff2"),
		url(Keroine-DouxExtreme.woff) format("woff"),
		url(Keroine-DouxExtreme.eot) format("eot");
}

:root {
	--text-width: 33rem;
}

body {
	margin: 0;
	min-height: 100vh;
	display: grid;
	grid-template-columns: 1fr;
	grid-template-rows: [header] max-content [nav] max-content [main] 1fr [footer] max-content;
}

html {
	font-size: 16pt;
	color: var(--color-stone-800);
	font-family: Keroine;
	font-kerning: normal;
	hyphens: auto;
}

main {
	max-width: var(--text-width);
	margin: 0 auto;
}

footer {
	width: 100%;
	margin: 3.1rem auto 1rem;
}

a {
	text-decoration: none;
}

a:link {
	color: var(--color-blue-500)
}

a:visited {
	color: var(--color-green-600)
}

h1 {
	font-size: 1.5rem;
	font-weight: normal;
}

h2 {
	font-size: 1.3rem;
	font-weight: normal;
}

/* || Elements */

.hero {
	font-size: 2.3rem;
	max-width: var(--text-width);
	padding: 3.1rem 0;
	margin: 0 auto;
	text-align: center;
	color: var(--color-stone-500);
}

.index__list {
	list-style: none;
	padding: 0;
}

.protocol {
	margin-bottom: 0.7rem;
	padding: 0.5rem 1rem 1rem;
	background-color: var(--color-stone-50);

	border-radius: 0.3rem;
	border: solid thin var(--color-stone-200);

	color: var(--color-stone-500);
}

.protocol__console {
	display: flex;
	flex-direction: row;
	column-gap: 0.3rem;
	border-top: 0.05rem solid var(--color-stone-300);
	padding-top: 0.5rem;
}

.protocol__link {
	display: block;
	width: 100%;
	height: 100%;
}

a.protocol__link--current:visited {
	color: var(--color-rose-400);
}

.protocol__title {
	margin: 0.5rem auto;
	font-size: 1.7rem;
}

.protocol__description {
	margin: 0.5rem auto;
}

.content {
	padding: 0.3rem;
}

.portrait {
	width: 60%;
	margin: 3rem auto 0;
	display: block; /* img is an inline element and therefore margin: auto would have no effect*/
}

.navbar {
	list-style: none;
	padding: 0;
	margin: 0.3em auto;
	max-width: var(--text-width);

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

	background-color: var(--color-stone-50);

	border-radius: 0.3rem;
	border: solid thin var(--color-stone-200);
}

.navbar__way {
	margin: 0.5em;
	font-size: 15pt;
}

.navbar__way > a:visited {
	color: var(--color-blue-500);
}

.navbar__way--active > a:visited {
	color: var(--color-rose-400);
}

.ellipsis {
	margin-top: 1.3rem;
	text-align: center;
}

.footnote-definition > p {
	display: inline;
	margin: 0.3em 0;
}

.footnote-definition > sup {
	display: inline-block;
	vertical-align: baseline;
	width: 1.3rem;
	font-size: inherit;
	font-weight: bold;
}

/* || Breakpoints */

@media (width <= 48rem) {
	html {
		font-size: 15pt;
	}

	body {
		margin: 0 1rem;
	}

	.navbar__way {
		font-size: 14pt;
	}
}

@media (width <= 40rem) {
	html {
		font-size: 14pt;
	}

	.navbar__way {
		font-size: 13pt;
	}

	.portrait {
		width: 75%;
	}
}

@media (width <= 32rem) {
	html {
		font-size: 13pt;
	}

	body {
		margin: 0 0.7rem;
	}

	.portrait {
		width: 80%;
	}
}
