/* main */

body {
	margin: 0;
	background: linear-gradient(90deg, rgba(255, 255, 134, 1) 0%, rgba(255, 255, 183, 1) 25%, rgba(255, 255, 183, 1) 75%, rgba(255, 255, 134, 1) 100%);
	font-family: "Trebuchet MS", sans-serif;
	padding: 0 5vw;
}

main, header, footer, blockquote:hover, .gallery figure:hover {
	background: rgba(255, 255, 255, 0.5);
}

main, footer, blockquote {
	padding: 0 1em;
}

/* header, footer */

header {
	padding: 1em 0;
	position: relative;
}

header, footer {
	text-align: center;
}

header a {
	text-decoration: none;
}

h1 {
	font-style: italic;
	font-weight: 100;
}

nav {
	display: flex;
	/* anchor to bottom of header */
	position: absolute;
	bottom: 0;
}

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

nav li {
	padding: 0 1em 0.5em 1em;
	background: navy;
	position: relative;
	/* horizontal display */
	display: inline-block;
}

nav li + li {
	margin-left: 1em;
}

nav li:before {
	content: "";
	display: block;
	/* stretch horizontally */
	position: absolute;
	right: 0;
	left: 0;
	/* move above */
	top: -0.5em;
	/* trapezoid shape */
	border-bottom: 0.5em solid rgba(0, 0, 128, 0.5); /* navy */
	border-left: 0.5em solid transparent;
	border-right: 0.5em solid transparent;
}

nav li:hover:before {
	border-bottom-color: rgba(255, 165, 0, 0.5); /* orange */
}

nav li:before, nav li:hover:before {
	transition: border-bottom-color 0.2s;
}

nav a {
	color: white;
	text-decoration: none;
}

nav a:hover {
	color: white;
	text-decoration: underline;
}

/* headers */

h2 {
	border-left: 0.5em solid navy;
	padding-left: 0.5em;
	border-top: 0.2em solid transparent;
	border-bottom: 0.2em solid transparent;
	position: relative;
}

h2:hover {
	border-left-color: orange;
}

h2, h2:hover {
	transition: border-left-color 0.5s;
}

h2:after {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 100%;
	border-bottom: 0.2em solid navy;
}

h2:hover:after {
	left: 0%; /* make :after extend to width of h2 */
	border-bottom-color: orange;
}

h2:after, h2:hover:after {
	transition: left 0.5s, border-bottom-color 0.5s;
}

/* a */

a {
	color: navy;
}

a:hover {
	color: dodgerblue;
}

a:visited {
	color: purple;
}

/* dl */

dt {
	color: dodgerblue;
	font-weight: bold;
}

.classes-list dt {
	font-family: monospace;
}

/* blockquote */

blockquote {
	border-top: 0.2em solid navy;
	border-bottom: 0.2em solid navy;
	font-family: serif;
}

blockquote:hover {
	border-color: orange;
}

blockquote, blockquote:hover {
	transition: border-color 0.5s;
}

blockquote footer {
	text-align: right;
}

blockquote footer:before {
	content: "—"; /* em dash */
}

/* gallery */
.gallery {
	display: flex;
	flex-wrap: wrap;
	text-align: center;
}

.gallery figure {
	flex-grow: 1;
	margin: 0;
	padding: 1em;
}

.gallery img {
	max-width: 48px;
}

/* return to top */

#return-to-top {
	position: fixed;
	right: 0;
	bottom: 0;
}

#return-to-top a {
	display: inline-block;
	background: no-repeat center/50px url("https://upload.wikimedia.org/wikipedia/commons/f/f7/Oxygen480-actions-go-top.svg");
	height: 50px;
	width: 50px;
}

#return-to-top a:hover {
	height: 70px;
}

#return-to-top a, #return-to-top a:hover {
	transition: height 0.1s;
}

/* misc */

code {
	background: rgba(0, 0, 0, 0.8);
	color: rgba(255, 255, 255, 0.8);
}

/* http://www.washington.edu/brand/graphic-elements/primary-color-palette/ */
.uw {
	background: rgba(232, 211, 162, 0.5);
}

.hover-rotate:hover {
	display: inline-block; /* https://stackoverflow.com/a/4920080 */
	transform: rotate(360deg);
}

.hover-rotate, .hover-rotate:hover {
	transition: transform 0.5s;
}
