/*
	Based heavily on https://barrytsmith.com/
	also uses
	Josh's Custom CSS Reset
	https://www.joshwcomeau.com/css/custom-css-reset/
*/
*, *::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 {
	--purple: rgb(163, 123, 155);
	--light1: rgb(255, 255, 255);
	--light2: rgb(246, 245, 244);
	--light3: rgb(222, 221, 218);
	--light4: rgb(192, 191, 188);
	--light5: rgb(154, 153, 150);
	--dark1: rgb(119, 118, 123);
	--dark2: rgb(94, 92, 100);
	--dark3: rgb(61, 56, 70);
	--dark4: rgb(36, 31, 49);
	--dark5: rgb(0, 0, 0);
	--grey1: rgb(200, 200, 200);
	--grey2: rgb(120, 120, 120);
	--grey3: rgb(80, 80, 80);
	--grey4: rgb(50, 50, 50);
	--grey5: rgb(20, 20, 20);
	--btn-bg: rgba(0,0,0,0.1);

	--slickease: cubic-bezier(.17,.89,.32,1.28);

}

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: sans-serif; 
	line-height: 1.75em;
	background: #fff;
	color: var(--dark4);
}

#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;

}

img.logo {
	float: right;
	height: 6rem;
}

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 {
	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-family: serif;
	font-style: normal;
	content:"\201C";
	font-size: 12rem;
	color: #eee;
	position: absolute;
	top: 3rem;
	left: 0;
	z-index: -1;
}

table {
	caption-side: bottom;
}

table.center {
	min-width: 50%;
	padding-top: 1rem;
	margin: auto;
}

table caption {
	padding-bottom: 2rem;
}

th, td {
	padding: 0.5rem;
}

table.center th {
	text-align: center;
}

table.center td {
	text-align: center;
}

dt {
	font-weight: bold;
}

dd {
	text-indent: 1em;
	font-weight: bold;
}

dl div {
	padding-left: 1.5em;
}

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;
}

a.button {
	transition: all .3s;
}

.button {
	color: var(--light1);
	fill: var(--dark5);
	display: inline-block;
	font-size: 100%;
	white-space: nowrap;
	padding: 0.6rem 1.5rem;
	margin: .3rem;
	max-width: 20rem;
	vertical-align: middle;
	text-align: center;
	text-decoration: none;  
	min-width: 4rem;
	border-width: 1px;
	border-style: solid;
	border-color: var(--dark4);
	&:hover {
		color: var(--light1);
		text-decoration: none;
	}
	&:active {
		color: var(--light1);
	}
}
  
p>.button { margin: .5rem .5rem 0 0; } 

.button.primary {
	background-color: var(--light1);
	color: var(--dark3);
}
.button.primary:hover {
	background-color: var(--purple);
	color: var(--light2);
	border-color: var(--purple);
}
.button.primary:active {
	background-color: var(--dark2);
}

.button.inline {
	font-size: 90%;
	padding: .2rem .9rem;
	display: inline-block;
	vertical-align: baseline;
}
