body {
	margin: 0;
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: larger;
	line-height: 1.5em;
	background-color: #fff;
}

h1 {
	line-height: 1.25em;
}

main {
	min-width: 300px;
	max-width: 1000px;
	margin: 0 auto;
	padding: 0 2em;
}

section {
	display: flex;
	flex-direction: column-reverse;
	margin: 1em 0 2em 0;
	padding: 0.5em;
	overflow: none;
	background-color: #fff;
	transition-property: background-color;
	page-break-inside: avoid;
}

section:first-of-type {
	margin-top: 2.5em;
}

section:hover {
	transition: background-color .5s ease-in-out;
	background-color: #eee;
}

section > div {
}

section h2 {
	margin-top: 0;
}

section strong::before {
	content: '';
	display: block;
}

figure {
	max-width: 500px;
	margin: 0;
	line-height: 1em;
}

figure img {
	max-width: 100%;
	height: auto;
	margin: 0 auto;
	box-shadow: 2px 2px 2px #777;
}

figure iframe {
	width: 100%;
	min-height: 180px;
}

figcaption {
	font-size: small;
	text-align: center;
	font-style: italic;
}

aside {
	display: block;
 	border: 1px dotted red;
 	background-color: white;
 	padding: .5em;
 	margin: .5em;
}

aside p {
	margin: 0;
}

@media (min-width: 600px) {
	aside {
		position: fixed;
		display: inline-block;
		bottom: 0;
		right: 0;
	 	padding: 1em;
		opacity: .5;
	 	transition-property: opacity;
		box-shadow: 2px 2px 2px #777;
	}
	aside:hover {
		transition: opacity .5s ease-in-out;
		opacity: 1;
	}

	section {
		flex-direction: row;
	}
	section > div {
		flex: 1 1 50%;
		min-width: 250px;
	}
	figure {
		flex: 0 1 500px;
		margin: 0 2em 0.5em 0;
	}
}