/*
	BEGIN
	Josh's Custom CSS Reset
	https://www.joshwcomeau.com/css/custom-css-reset/

	MODIFIED
*/
*, *::before, *::after {
	box-sizing: border-box;
}
* {
	margin: 0;
}
body {
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
}
img, picture, video, canvas, svg {
	display: block;
	max-width: 100%;
}
input, button, textarea, select {
	font: inherit;
}
p, h1, h2, h3, h4, h5, h6 {
	overflow-wrap: break-word;
}

/*
	END
	Josh's Custom CSS Reset
*/

:root {
	--color-main-bg: #faf8f6;
	--color-link-hover: darkslategrey;
	--color-primary: #00ae4b;
	--color-secondary: #00a8b2;
	--color-tertiary: slategrey;
}

h1, h2, h3, h4, h5, h6, ul, ol, dl, p, blockquote {
	padding: .75rem 0;
}

body {
	font-size: 1em;
	padding: 0;
	padding-bottom: 3em;
	font-family: serif; 
	line-height: 1.75em;
	background: var(--color-main-bg);
}

#main {
	overflow: auto;
	padding-bottom: 1.5rem;
}

#main section {
	padding-top: 2em;
	padding-bottom: 2em;
}

.width-managed {
	max-width: 60em;
	margin: auto;
	padding-left: 1rem;
	padding-right: 1rem;
}

.blog-post {
	padding-top: 1.5em;
	padding-bottom: 1.5em;

}

figure {
	padding: 0.25rem;
	display: block;
}

figure.center {
	text-align: center;
}

figure.center>img {
	margin-left: auto;
	margin-right: auto;
}

figure.right {
	float: right;
	width: 50%;
	margin-left: 1em;
}

figure.left {
	float: left;
	width: 50%;
	margin-right: 1em;
}

div.side-by-side {
	display: inline-block;
}

div.side-by-side figure {
	margin-left: 0;
	margin-right: 0;
}

figcaption {
	font-style: italic;
	margin-bottom: 1rem;
}

header {
	padding: .75rem 0;
}

footer {
	padding-top: 1.5rem;
}

ul, ol {
	padding-left: 2rem;	
}

a, button {
	transition-duration: 0.5s;
}

a {
	color: inherit;
	text-decoration: none;
	border-bottom: 1px dashed;	
	position: relative;
}

a:hover, a:focus{
	color: var(--color-link-hover);
	border-bottom: 1px solid;
}

nav a { 
	display: inline-block;
	white-space: nowrap;
	margin-bottom: 0.5rem;
}

blockquote {
	margin-top: 2em;
	position: relative;
	padding-left: 2rem;
	font-style: italic;
}

blockquote:before {
	font-style: normal;
	content:"\201C";
	font-size: 12rem;
	color: #eee;
	position: absolute;
	top: 50%;
	left: 0;
	z-index: -1;
}

table {
	min-width: 50%;
	margin: auto;
	padding-top: 1rem;
	caption-side: bottom;
}

table caption {
	padding-bottom: 2rem;
}

th, td {
	padding: 0.5rem;
	text-align: center;
}

sup {
	/* the default superscript `vertical-align: super` causes inconsistent line height. */
	/* https://stackoverflow.com/questions/1530685/how-can-i-keep-consistent-line-height-with-superscript-elements	*/
	line-height: 0;
}

.button {
	color: white;
	font-family: sans-serif;
	border-radius: 0.5em;
	border-width: 0.2em;
	padding: 0.5em 1em;
	outline: none;
	text-align: center;
	cursor: pointer;
}

a.button {
	/* override link styles */
	display: inline;
	border: solid;
	display: inline-block;
}

.button:hover {
	color: #555;
	background: var(--color-main-bg) !important;
}

.button.primary {
	border-color: var(--color-primary);
	background: var(--color-primary);
}

.button.secondary {
	border-color: var(--color-secondary);
	background: var(--color-secondary);
}

.button.tertiary {
	border-color: var(--color-tertiary);
	background-color: var(--color-tertiary);
}
