* {
	box-sizing: border-box;
}
html {
	color: #444;
	height: 100%;
	line-height: 1.5;
}
body {
	display: grid;
	grid-template-columns: [nav] 30ch [content] auto;
	height: 100%;
	margin: 0;
}
a {
	color: inherit;
	text-decoration: underline solid #ffaaaa;
	text-underline-offset: .125lh;
}
a:hover {
	text-decoration-color: #555;
}
header.site {
	background-color: #222;
	font-family: sans-serif;
	font-size: 2rem;
	line-height: 1.2;
	padding: 1.5rem;
	text-transform: uppercase;
	a {
		color: white;
		display: block;
		margin-bottom: 1.5rem;
		text-decoration: none;
	}
	a:hover {
		color: #ff3333;
	}
	.name {
		margin-bottom: 1.5rem;
	}
}
nav.site a {
	color: #aaa;
	font-size: 2rem;
	margin-bottom: 1.5rem;
}
main {
	padding: 1.5rem;
	p,ul {
		max-width: 80ch;
	}
	ul {
		line-height: 2;
	}
}
h1,h2,h3 {
	color: #222;
	font-weight: normal;
	font-family: sans-serif;
	margin: 0;
}
h1 {
	margin-bottom: 1rem;
}
h2 {
	font-size: 1.3125rem;
	line-height: 1.1428;
}
input, label {
	line-height: 2;
	margin-bottom: .5rem;
}
textarea {
	min-height: 20ch;
	width: 100%;
}
kbd,.tag {
	background-color: #eee;
	border-radius: 6px;
	border: 1px solid #aaa;
	font-family: sans-serif;
	font-size: .825rem;
	padding: .125rem .25rem;
}
.date {
	font-family: sans-serif;
}
.tag {
	text-decoration: none;
	em {
		color: #888;
		font-size: .75rem;
	}
}
#pdf-resume {
	background-color: #ff3333;
	border-bottom-left-radius: 3px;
	border-bottom-right-radius: 3px;
	color: white;
	display: inline-block;
	font-family: sans-serif;
	left: 63ch;
	padding: 5px 10px;
	position: fixed;
	text-decoration: none;
	top: 0;
}
div.sourceCode {
	padding: .5rem;
}
.sourceCode {
	background-color: #eee;
}

/* menu toggler */
.hb-icon {
	cursor: pointer;
	display: inline-block;
	padding: 28px 20px;
	position: absolute;
	right: 1.5rem;
	top: 0.75rem;
	user-select: none;
}
.hb-icon span {
	background: #fff;
	display: block;
	height: 2px;
	position: relative;
	transition: background .2s ease-out;
	width: 18px;
}
.hb-icon span:before,
.hb-icon span:after {
	background: #fff;
	content: '';
	display: block;
	height: 100%;
	position: absolute;
	transition: all .2s ease-out;
	width: 100%;
}
.hb-icon span:before {
	top: 5px;
}
.hb-icon span:after {
	top: -5px;
}
.hb-btn {
	display: none;
}
.hb-btn:checked ~ nav {
	max-height: 240px;
}
.hb-btn:checked ~ .hb-icon span {
	background: transparent;
}
.hb-btn:checked ~ .hb-icon span:before {
	transform: rotate(-45deg);
}
.hb-btn:checked ~ .hb-icon span:after {
	transform: rotate(45deg);
}
.hb-btn:checked ~ .hb-icon:not(.steps) span:before,
.hb-btn:checked ~ .hb-icon:not(.steps) span:after {
	top: 0;
}
/* menu toggler end */

@media (max-width: 55em) {
	body {
		display: inherit;
		height: fit-content;
		grid-template-columns: none;
		grid-template-rows: [nav] fitcontent(100%) [content] auto;
	}
	header.site {
		padding-bottom: 0;
	}
	nav.site {
		max-height: 0;
		transition: max-height 0.2s ease-out;
		overflow: hidden;
	}
	#pdf-resume {
		border-bottom-left-radius: 3px;
		border-top-left-radius: 3px;
		left: inherit;
		position: absolute;
		right: 0;
		top: 6rem;
	}
}
