* {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

body {
	background: #fff;
	color: #222;
	font: 1em/1.5 "Helvetica Neue", Arial, Helvetica, sans-serif;
	margin: 0 auto;
	max-width: 42em;
	padding: 0 0.5em;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-size: 1em;
}

h1,
h2 {
	padding: 0 0 1.5rem;
}
ol,
p,
ul {
	padding: 0 0 1.5rem;
}
ol li::marker,
ul li::marker {
	color: #de2246;
}

ol.unstyled,
ul.unstyled {
	list-style: none;
}

code {
	background: #eee;
	border-radius: 4px;
	color: #222;
	font-family: "Andale Mono";
	letter-spacing: -1px;
	padding: 2px;
}
pre {
	margin: -0.5rem -0.5rem 1rem;
	outline: 1px solid #ddd;
	padding: 0.5rem;
}

img {
	border: 1px solid #ddd;
	margin: -1px;
	max-width: 100%;
}

a {
	color: #de2246;
	text-decoration: underline;
	text-decoration-skip: edges;
}
a:visited {
	color: #de2246;
}
a:hover	 {
	color: #222;
}

main {
	margin: 0 -0.75rem;
	padding: 4.5rem 0.75rem 1.5rem;
}

.meta {
	color: #bbb;
	font-size: 0.75em;
	line-height: 2em;
	padding: 0;
}
.tags a {
	display: inline-block;
	margin-right: 0.25em;
}
.tags a:last-child {
	margin-right: 0;
}

blockquote {
	border-left: 0.125em solid #de2246;
	font-style: italic;
	margin-bottom: 1.5rem;
	padding-left: 1em;
}
blockquote > * {
	padding-bottom: 0;
}

figure {
	margin: 0 0 1.5rem;
}
figure.small-left {
	float: left;
	margin: 0 1.5rem 0.5em 0;
	width: calc(50% - 1.5em);
}
figure.small-right {
	float: right;
	margin: 0 0 1.5rem 2.25em;
	width: calc(50% - 2.25em);
}

.gallery {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-gap: 1.5rem;
	grid-auto-rows: minmax(100px, auto);
	margin: 0 0 1.5rem;
}
.gallery-3 {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-gap: 1.5rem;
	grid-auto-rows: minmax(100px, auto);
	margin: 0 0 1.5rem;
}
.gallery figure,
.gallery-3 figure {
	margin: 0;
}

.posts {
	list-style: none;
}
.posts h2 {
	padding: 0;
}
.posts .meta {
	clear: both;
}

.header h1 {
	float: right;
	margin: 0 -0.75rem 0 0;
}
.header a {
	background: #ddd;
	color: #fff;
	display: inline-block;
	padding: 0.75rem;
	text-decoration: none;
	transition: background 0.2s ease-in-out;
}
.header a:hover {
	background: #de2246;
}

.footer {
	color: #bbb;
	padding: 0;
	text-align: center;
}
.footer a {
	color: #bbb;
	text-decoration: none;
}
.footer a:hover {
	color: #de2246;
}

.post footer {
	clear: both;
}

.footnotes {
	border-top: 1px solid #ddd;
	font-size: 0.8em;
	line-height: 1.5rem;
	margin: -1px 0;
}
.footnotes hr {
	display: none;
}
.footnotes ol {
	padding: 1.5rem 0;
}

#home {
	padding-bottom: 0;
}
#home p {
	font-size: 2em;
	line-height: 1.5em;
}

#cv {
}

@media screen and (max-width: 549px) {
	figure.small-left,
	figure.small-right {
		float: none;
		margin: 0 -1px 1.5rem;
		width: 100%;
	}
}

@media screen and (max-width: 719px) {
	.header h1 {
		margin-right: 0;
	}
	main {
		margin-right: 0;
	}
}

@media (prefers-color-scheme: dark) {
	body {
		background: #222;
		color: #fff;
	}
	a {
		color: #de2246;
	}
	a:visited {
		color: #de2246;
	}
	a:hover	 {
		color: #fff;
	}
	code {
		background: #444;
		color: #fff;
	}
	.meta {
		color: #666;
	}
	.header a {
		background: #444;
		color: #fff;
	}
	.footer {
		color: #666;
	}
	.footer a {
		color: #666;
	}
	.footer a:hover {
		color: #de2246;
	}
}
