/*
 * SPDX-License-Identifier: CC-BY-4.0
 */

body {
	font-family: sans-serif;
	line-height: 1.7;
	padding: 0;
	margin: 0;
}

header {
	border-bottom: 8px dashed #dd9955;
	background: #046;
	color: white;
	padding: 2em 20px;
	margin: 0;
}

main {
	background: #fff;
	max-width: 120ch;
	margin: 0 auto;
}

/* Flexbox magic */
main div.contrib {
	display: flex;
	justify-content: space-evenly;
	flex-direction: row;
}

main div.contrib_reverse {
	flex-direction: row-reverse;
}

main div.contrib_txt {
	padding: 10px;
	width: 100%;
}

header ul.header_links, header div.header_title {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1em 0;
	white-space: nowrap;
}

header div.header_main {
	display: flex;
	justify-content: space-around;
	max-width: 120ch;
	margin: 0 auto;
}

header div.header_int {
	padding: 2em;
}

header div.release {
	border-left: 8px solid #dd9955;
	padding: 1em 2em;
	margin: 0.1em;
	width: 18em;
}

header div.release p {
	margin: 0;
}

header div.release a {
	color: white;
}

header div.release a.release_link {
	font-size: 20pt;
}

/* Header links */
header ul.header_links {
	justify-content: space-evenly;
	list-style: none;
	padding: 0 4em;
}

header ul li a.header_link {
	padding: 10px;
	color: white;
	font-weight: bold;
}

header ul li a.header_link:hover {
	background: #dd9955;
}

/* Header text */
header div.header_title h1 {
	font-size: 50pt;
	border: none;
	color: white;
}
header div.header_title small {
	font-size: 14pt;
	font-weight: normal;
	font-family: monospace;
}

header div.header_title div {
	margin: 1px 20px;
}

/* Header image */
header div.header_title img {
	width: 150px;
	height: 150px;
}

/* Misc... */
pre:has(code) {
	font-size: 11.5pt;
	background: #ddd;
	padding: 2px 20px;
	border: 1px solid #ccc;
	border-radius: 3px;
}

footer {
	background: #046;
	border-top: 8px dashed #dd9955;
	border-bottom: 8px dashed #dd9955;
	text-align: center;
	color: white;
	padding: 2em 20px;
}

footer a {
	color: white;
}

footer ul {
	list-style: none;
	padding: 0;
}

a {
	font-weight: bold;
	color: #046;
	white-space: nowrap;
	transition: color 0.2s, background 0.2s ;
}

a:hover {
	background: #dd9955;
	text-decoration: none;
}

img.contrib_img {
	height: 250px;
	width: 400px;
	margin: 20px;
	border: 4px solid #046;
}

h1, h2, h3, h4, h5, hr {
	border-bottom: 4px solid #046;
	color: #046;
	padding: 0px 10px;
	margin: 10px -10px;
}

/* Make it responsive */
@media (max-width: 1000px) {
	header,
	header ul.header_links {
		white-space: wrap;
	}
	header ul.header_links li {
		margin: 15px 0;
	}
	header div.header_title h1 small {
		display: block;
	}
	header div.header_title img {
	}
	header * {
		flex-direction: column;
	}
	main div.contrib, main div.contrib_reverse {
		flex-direction: column;
		align-items: center;
	}
	main div.contrib div {
		padding: 0;
		margin: 0;
		max-width: 100%;
	}
	header div.release {
		width: auto;
	}
}
