*
{
	box-sizing: border-box;
}

body
{
	margin: 0;
	background: #161616;
	color: #acacac;
	font-family: serif
}

nav
{
	border: 1px solid #FFF;
	border-left: none;
	border-right: none;
	margin: 2em 0;
	text-transform: uppercase;
}

nav ul
{
	margin: -0.5em auto;
	padding: 0 1em;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(8em, 1fr));
	grid-auto-rows: 1fr;
	gap: 1em;
	max-width: 64em;
}

nav li
{
	display: grid;
}

nav a
{
	color: currentcolor;
	text-decoration: none;
	display: grid;
	place-content: center;
	padding: 0.5em 1em;
	text-align: center;
	border: 1px solid #FFF;
	background: #362c2c;
}

h1
{
	font-size: 2em;
	text-transform: uppercase;
	margin: 0.5em 1em;
	text-align: center;
}

h1 > span
{
	display: block;
	font-size: 0.5em;
}

h2
{
	font-size: 1.25em;
}

main
{
	margin: 0 auto;
	padding: 0 2em;
	max-width: 96em;
}

.left, .right
{
	text-align: center;
}

.left img, .right img
{
	max-width: 100%;
	max-height: 50vh;
}

.images
{
	padding: 0;
	display: flex;
	flex-flow: wrap;
	place-content: center;
	margin: 2em 0;
}

.images img
{
	display: block;
	object-fit: cover;
	height: 25vw;
	width: 40vw;
}

.images li
{
	display: block;
}

.center
{
	text-align: center;
}

.example
{
	display: flex;
	flex-flow: wrap;
	gap: 2em;
	justify-content: space-evenly;
	clear: both;
	padding: 0;
	margin: 2em 0;
}

.example li
{
	display: block;
}

.example img
{
	max-height: 50vh;
}

p{
	font-size: 150%;
}

form{
  padding: 1em;
  border: 1px solid #FFF;
  border-radius: 1em;
  max-width: 50%;
  background-color: #3d4746;
  color: #161324
  }

@media (min-width: 768px)
{
	nav
	{
		font-size: 1.5em;
	}
	
	h1
	{
		font-size: 4em;
	}
	
	h2
	{
		font-size: 2em;
	}
	
	.left
	{
		float: left;
		margin-right: 4em;
	}
	
	.right
	{
		float: right;
		margin-left: 4em;
	}
	
	h2, p
	{
		contain: layout;
	}
	
	.left + h2
	{
		clear: right;
	}
	
	.right + h2
	{
		clear: left;
	}
	
	.images
	{
		display: grid;
		grid-auto-flow: column;
		grid-auto-columns: 25%;
	}
	
	.images img
	{
		height: 25vh;
		width: 100%;
	}
}