@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:ital,wght@0,100..700;1,100..700&family=IBM+Plex+Serif:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;1,100;1,200;1,300;1,400;1,500;1,600;1,700&display=swap');

:root {
	--header-banner-background: #a5abef;
	--header-link-background: #c7ccf9;
	
	--h-highlight-color: #a5d0ef;
	--link-color: #4b46ee;

	--body-background: #eee;
	--body-color: #222;
	--strong-color: #5050a6;

	--page-list-background: #f4c0ff;
}

body {
	background-color: var(--body-background);
	color: var(--body-color);
	padding: 0;
	margin: 0;

	font-family: "IBM Plex Sans Text", sans-serif;
}

body > header {
	background-color: var(--header-banner-background);
	width: 95%;
	max-width: 50rem;
	margin: auto;
	padding: 0.5rem 0;
	border-radius: 0 0 5px 5px;

	font-family: "IBM Plex Serif Text", serif;

	p {
		margin: 0;
		text-align: center;
		font-family: "IBM Plex Serif Text", serif;
	}

	#site-title {
		font-size: 24pt;
	}

	#site-subtitle {
		font-style: oblique;
	}

	nav li {
		list-style-type: none;
		padding-left: 0;
	}

	nav ul {
		display: flex;
		flex-direction: row;
		justify-content: center;
		flex-wrap: wrap;
		padding: 0;
		gap: 1rem;
	}

	nav a {
		min-width: 15rem;
		border: 2pt solid var(--link-color);
		padding: 2pt;
		background-color: var(--header-link-background);
		text-decoration: none;
	}

	hr {
		width: 15rem;
		color: var(--text-color)
	}
}

body > main {
	padding-left: 1rem;
	padding-right: 1rem;
	display: flex;
	flex-direction: column;
	gap: 1rem;

	max-width: 60rem;
	margin: auto;
	
	@media (min-width: 70rem) {
		flex-direction: row;
	}
}

h1, h2, h3, h4, h5, h6 {
	font-family: "IBM Plex Serif Text", serif;
}

h1 {
	font-weight: 600;
}

h2 {
	font-weight: 400;
	position: relative;
}

/* Offset highlight */
h2::before {
	content: "";
	background-color: var(--h-highlight-color);
	position: absolute;
	width: 8rem;
	height: 1rem;
	bottom: 0;
	z-index: -1;
}

h3 {
	font-weigth: 400;
	font-style: oblique;
}

a {
	color: var(--link-color);
}

strong {
	color: var(--strong-color);
	font-weigth: 800;
}

#pages-list {
	border-radius: 5px;
	background: var(--page-list-background);
	padding: 1rem;
	margin: 0;
	margin-top: 1rem;
	height: 100%;

	h1 {
		font-size: 16pt;
		text-decoration: underline 1px solid black;
	}
}

img {
	width: 100%;
	height: auto;

	border-radius: 5px;
	border: 1px solid black;
}

#main-content {
	max-width: 40rem;
}
