*,
*::after,
*::before {
	box-sizing: border-box;
}

:root {
	font: 1.2em/1.4 Arial, Helvetica, sans-serif;
}

body {
	padding: 0 0 1em;
}

header {
	background-color: #333;
	color: #fff;
	border: 5px solid #000;
}

header ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

header a {
	color: #fff;
	text-decoration: none;
	display: block;
	padding: 0.5em 1em;
	border-top: 1px solid #999;
}

header .title {
	font-size: 150%;
	font-style: italic;
	font-weight: bold;
	padding: 1em;
}

main {
	padding: 0 1em;
}

.cards {
	list-style: none;
	margin: 0;
	padding: 0;
}

.cards li {
	border: 5px solid #000;
	margin-bottom: 1em;
}

.cards h2 {
	background-color: #333;
	color: #fff;
	margin: 0;
	padding: 0.5em 1em;
}

.cards .inner {
	padding: 0.5em 1em;
}

.sidebar {
	background-color: #333;
	border: 5px solid #000;
	padding: 0.5em 1em;
	color: #fff;
}

@media (min-width: 40em) {
	header {
		display: flex;
		justify-content: space-between;
		align-items: center;
	}

	header nav ul {
		display: flex;
		justify-content: space-between;
		align-items: center;
	}

	header nav a {
		border: none;
	}

	main {
		display: flex;
		flex-wrap: wrap;
		margin-top: 1rem;
		margin-inline: auto;
		max-width: 80rem;
	}

	article {
		width: 70%;
	}

	.sidebar {
		width: 30%;
	}

	.cards {
		display: flex;
		flex-wrap: wrap;
		gap: 1rem;
	}

	.cards li {
		width: 325px;
	}
}
