html {
	color: #151515;
	font-size: 100%;
	font-family: sans-serif;
	min-height: 100%;
	transition: .5s ease-in-out;
}

body {
	padding: 0;
	margin: 0;
	line-height: 1.5rem;
	min-height: 100%;
}

a {
	color: inherit;
	border-bottom: 1px dotted #151515;
	text-decoration: none;
}

a:hover {
	border-bottom-style: solid;
}

span {
	opacity: .7;
}

mark {
	color: inherit;
	background: rgba(125,125,125,.2);
}

h1 {
	font-size: 1.5rem;
	margin: 0;
}

h2 {
	font-size: 1.5rem;
	margin: 0 0 1.5rem;
}

h2:not(:first-child) {
	padding-top: 1.5rem;
}

p,
dl,
ol,
ul,
figure {
	margin: 0 0 1.5rem;
}

dt {
	font-weight: bold;
	float: left;
	clear: both;
	margin-right: .5rem;
}

dd {
	margin: 0;
}

ol,
ul {
	list-style: none;
	padding: 0;
}

ol li {
	margin-bottom: 1.5rem;
}

img {
	max-width: 100%;
	height: auto;
	display: block;
}

figure {
	position: relative;
	width: 100%;
	max-width: 4.5rem;
}

figure:before {
	content: '';
	display: block;
	padding-bottom: 100%;
}

figure img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

figcaption {
	position: absolute;
	left: 100%;
	bottom: 0;
	margin-left: 1rem;
}

blockquote {
	margin: .75rem 0 1.5rem;
	padding: 0 0 0 1.5rem;
	border-left: 4px #eee solid;
	opacity: .7;
}

button {
	color: inherit;
	background: none;
	border: 0;
	padding: 0;
	cursor: pointer;
}

.dark-mode {
	color: rgba(255,255,255,.9);
	background: #151515;
}

.dark-mode a {
	border-bottom-color: rgba(255,255,255,.9);
}

body > button {
	position: fixed;
	top: 1.5rem;
	right: 1.5rem;
	font-size: 1.25rem;
}
