/*
	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 {
	--blue1: rgb(153, 193, 241);
	--blue2: rgb(98, 160, 234);
	--blue3: rgb(53, 132, 228);
	--blue4: rgb(28, 113, 216);
	--blue5: rgb(26, 95, 180);
	--green1: rgb(143, 240, 164);
	--green2: rgb(87, 227, 137);
	--green3: rgb(51, 209, 122);
	--green4: rgb(46, 194, 126);
	--green5: rgb(38, 162, 105);
	--yellow1: rgb(249, 240, 107);
	--yellow2: rgb(248, 228, 92);
	--yellow3: rgb(246, 211, 45);
	--yellow4: rgb(245, 194, 17);
	--yellow5: rgb(229, 165, 10);
	--orange1: rgb(255, 190, 111);
	--orange2: rgb(255, 163, 72);
	--orange3: rgb(255, 120, 0);
	--orange4: rgb(230, 97, 0);
	--orange5: rgb(198, 70, 0);
	--red1: rgb(246, 97, 81);
	--red2: rgb(237, 51, 59);
	--red3: rgb(224, 27, 36);
	--red4: rgb(192, 28, 40);
	--red5: rgb(165, 29, 45);
	--purple1: rgb(220, 138, 221);
	--purple2: rgb(192, 97, 203);
	--purple3: rgb(145, 65, 172);
	--purple4: rgb(129, 61, 156);
	--purple5: rgb(97, 53, 131);
	--brown1: rgb(205, 171, 143);
	--brown2: rgb(181, 131, 90);
	--brown3: rgb(152, 106, 68);
	--brown4: rgb(134, 94, 60);
	--brown5: rgb(99, 69, 44);
	--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);
	--btn-bg: rgba(0,0,0,0.1);

	/* very large number for completely rounded buttons*/
	--btnround: 500px;

	--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: var(--light2);
	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;

}

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

a.button {
	border-bottom: none;
}

.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;  
	border-radius: var(--btnround);
	box-shadow: 0 0 0 0 var(--btn-bg);
	min-width: 4rem;
	transition: box-shadow 200ms var(--slickease);
	&:hover {
		box-shadow: 0 0 0 2px var(--btn-bg);
		color: var(--light1);
		text-decoration: none;
	}
	&:active {
		color: var(--light1);
	}
}
  
p>.button { margin: .5rem .5rem 0 0; } 

.button.primary {
	background-color: var(--green4);
	box-shadow: 0 0 0 0 var(--green4);
}
.button.primary:hover {
	background-color: var(--green5);
	box-shadow: 0 0 0 2px var(--green5);
}
.button.primary:active {
	background-color: var(--green5);
}

.button.secondary {
	background-color: var(--blue3);
	box-shadow: 0 0 0 0 var(--blue3);
}
.button.secondary:hover {
	background-color: var(--blue4);
	box-shadow: 0 0 0 2px var(--blue4);
}
.button.secondary:active {
	background-color: var(--blue5);
}

.button.tertiary {
	background-color: var(--dark2);
	box-shadow: 0 0 0 0 var(--dark2);
}
.button.tertiary:hover {
	box-shadow: 0 0 0 2px var(--dark4);
	background-color: var(--dark4);
}

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

.button.square {
	border-radius: var(--btnsqr);
}