body {
	font-family: Roboto, Helvetica, Arial, sans-serif;
	margin: 0;
}

	.error {
		color: firebrick;
	}

header {
	background-color: steelblue;
	border-bottom: 2px solid orange;
	color: white;
	padding: 1em;
	text-align: center;
}
	header a {
		color: white;
	}
	a:hover {
		color: orange;
	}

	a>img {
		vertical-align: middle;
	}

	.logo img {
		width: 250px;
		max-width: 100%;
		height: auto;
	}

	form input {
		border: 1px solid midnightblue;
		border-radius: 3px;
		padding: 2px;
	}

nav, .nav {
	padding: 1em;
	text-align: center;
}
	nav a, .nav a {
		padding: 0 .5em;
		white-space: nowrap;
	}

	a.action {
		background-color: dodgerblue;
		border: 1px solid midnightblue;
		border-radius: 4px;
		color: white;
		font-weight: bold;
		padding: 2px 1em;
		text-decoration: none;
	}
		a.action:hover {
			background-color: royalblue;
			color: white;
		}

main {
	background-color: white;
	color: #333;
	line-height: 1.4;
}
	main a {
		color: midnightblue;
	}

	main>* {
		padding: 1em 1%;
	}

	main>*:nth-child(even) {
		background-color: ghostwhite;
		border: 1px solid lavender;
	}

	h1 {
		font-size: 2em;
	}
	h1,h2 {
		font-weight: normal;
		text-align: center;
	}
	h2 {
		font-size: 1.5em;
	}
	h3 {
		font-size: 1em;
	}

	code {
		background-color: whitesmoke;
		padding: 2px;

		font-family: monospace;
		font-weight: bold;
	}

	figure {
		margin: 0;
	}
		figure>img {
			display: block;
			margin: 0 auto;
		}
		figure>img,
		li img {
			width: 320px;
			max-width: 100%;
			height: auto;
		}
		figcaption {
			color: gray;
			font-style: italic;
			text-align: center;
		}

		img.screenshot {
			border-radius: 2px;
			box-shadow: 1px 2px 4px rgba(0,0,0,.5);
		}

	.note {
		color: dimgray;
		font-size: small;
		font-style: italic;
		text-align: right;
	}
		.note a {
			color: dimgray;
		}
		.note a:hover {
			color: black;
		}

	.callouts>*, .infoboxes>* {
		display: block;

		background-color: white;
		border: 1px solid lightgray;
		border-radius: .5em;
		margin: 1em 0;
		padding: .5em;
	}

		.news .date {
			color: gray;
			font-size: small;
			margin: -1em 0;
		}

	aside {
		background-color: lightyellow;
		border: 1px solid gold;
		border-left: .5em solid gold;
		/* border-radius: 0 .5em .5em 0; */
		margin: 1em;
		padding: 1em;
	}

footer {
	background-color: #333;
	border-top: 2px solid gray;
	color: white;
	padding: 1em;
}
	footer a {
		color: white;
	}

@media only screen and (min-width:800px) {
	header {
		display: grid;
		grid-template-columns: repeat(3,auto);
		padding: 1em 2%;
	}
		header>* {
			align-self: center; /* vertical align */
		}

	nav a {
		padding: 1em .5em;
	}

		a.action {
			border-radius: .5em;
			padding: 1em 2em;
		}

	main>* {
		padding: 2em 10%;
	}

		.about {
			display: grid;
			grid-template-columns: 320px auto;
			column-gap: 5%;
		}
			.about>* {
				align-self: center; /* vert align */
			}

		.callouts {
			display: grid;
			grid-template-columns: repeat(2,1fr);
		}
		.infoboxes {
			display: grid;
			grid-template-columns: repeat(3,1fr);
		}
		.list {
			display: grid;
			grid-template-columns: repeat(4,1fr);
		}
			.callouts, .infoboxes,
			.list {
				column-gap: 1em;
				row-gap: 1em;
			}
			.callouts>*, .infoboxes>*,
			.list>* {
				margin: 0;
				padding: 1em;
			}

	footer {
		display: grid;
		grid-template-columns: 2fr 1fr;
		padding: 2em 5%;
	}
}
