.resume-title {
	text-decoration: none;
}
.resume-title:hover,
.resume-title:focus {
	text-decoration: underline;
}
.resume-title-hed {
	margin: 0;
	color: inherit;
}
.resume-header-block {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: 0 0 .5rem;
	gap: .5em 1em;
	list-style: none;
}
.resume-toc {
	list-style: none;
	display: flex;
	gap: .5em 1em;
	justify-content: center;
	margin-top: 0;
	margin-bottom: -2.333333333333em; /* -35px /15 */
	font-size: 0.7894736842105em; /* 15px /19 */
}
@media (min-width: 28.125em) { /* 450px */
	.resume-toc {
		margin-bottom: -2.058823529412em; /* -35px /17 */
		font-size: 0.8947368421053em; /* 17px /19 */
	}
}
@media (min-width: 61.25em) { /* 980px /16 */
	.resume-toc {
		margin-bottom: -1.944444444444em; /* -35px /18 */
		font-size: 0.8571428571429em; /* 18px /21 */
	}
}

/* Source links */
.resume-source {
	text-decoration: none;
	font-family: system-ui;
	font-weight: 900;
	margin-left: 0.3809523809524em; /* 8px /21 */
}
.content-main .resume-source {
	color: inherit;
}
.resume-source:before,
.resume-source:after {
	font-weight: 100;
	font-size: 90%;
	position: relative;
	top: -3px;
}
.resume-source:before {
	content: "[";
}
.resume-source:after {
	content: "]";
}

/* Content */
.resume-nbsp {
	white-space: nowrap;
}
.resume-subnote {
	white-space: nowrap;
	vertical-align: text-bottom;
	font-size: 0.6842105263158em; /* 13px /19 */
	color: #666;
	font-family: system-ui, sans-serif;
}
@media print {
	.resume-print-link {
		text-decoration: none;
	}
	.resume-print-link:after {
		content: " at zachleat.com" attr(href);
	}
	.resume-print-link-ext:after {
		content: " at " attr(data-print-href);
	}
}

/* Lists */
.resume-list > li {
	list-style: none;
	padding: .4em 0;
}
ul.resume-desc {
	margin: .4em 0;
	font-size: 0.8421052631579em; /* 16px /19 */
}
.resume-desc li {
	padding: 0;
}
.resume-desc a[href] {
	text-decoration-color: #ccc;
}
.resume-desc a[href]:hover,
.resume-desc a[href]:focus {
	text-decoration-color: inherit;
}

@media (max-width: 35em) { /* 560px */
	.resume-block-sm {
		display: block;
		text-align: center;
	}
	.resume-block-sm > li {
		display: block;
		padding: 0;
		margin: 0;
		float: none;
	}
	.resume-block-sm > li:before,
	.resume-block-sm > li:after {
		display: none;
	}
}

/* Locations */
.resume-location {
	display: block;
	font-size: 0.7894736842105em; /* 15px /19 */
	font-family: Lato, sans-serif;
	font-style: italic;
}

/* Dates */
.resume-date {
	font-family: Lato, sans-serif;
	font-style: italic;
}

/* Footer */
.resume-invitation {
	font-size: 0.8421052631579em; /* 16px /19 */
	line-height: 165%;
	border-top: 1px solid #ddd;
	padding-top: 1em;
}

/* Responsive helpers */
@media (max-width: 31.25em) { /* 500px */
	.resume-ahw {
		position: absolute;
		height: 1px;
		width: 1px;
		overflow: hidden;
		clip: rect(1px, 1px, 1px, 1px);
	}
}

/* Print */
.resume-print-only {
	display: none;
}
@media print {
	.resume-print-only {
		display: initial;
	}

	html,
	body,
	h1,
	h2 {
		border: none;
		padding: 0;
		margin: 0;
		background-color: #fff;
		color: #000;
	}
	body {
		max-width: 55em;
		margin: 0 auto;
		grid-template-columns: auto;
	}
	code {
		white-space: nowrap;
	}
	.resume-toc {
		display: none;
	}
	.content-main h2 {
		margin-top: 1em;
	}
	.footer,
	.table-of-contents,
	.rail {
		display: none;
	}
	.tmpl-page .content-grid {
		grid-template-columns: auto;
	}
}


/* Main stylesheet overrides */
.primary-title {
	position: absolute;
	height: 1px;
	width: 1px;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
}
.content-main.content-main ul:not(.posts) {
	padding-left: 0; /* Blog CSS override */
}
.content-main.content-main ul:not(.posts) ul:not(.list-inline) {
	padding-left: 2em; /* Blog CSS override */
}
.content-main a[href] {
	-ms-hyphens: none;
	hyphens: none;
}

.content-main .list-inline:not(.posts) {
	padding-left: 0; /* Override */
}

/* Global styles */
address {
	display: inline;
}


/* Details print styles */
details > summary {
	font-size: 0.875em; /* 14px /16 */
	font-style: italic;
	margin-left: 1em;
}
@media print {
	details-utils > details {
		display: none;
	}
}
