/* Layout */

body {
	font-family: 'Fira Code', 'Nanum Gothic Coding', monospace;
	display: flex;
	flex-flow: row;
}

body > header {
	text-align: center;
}

body > header h1 {
	width: 1.5em;
	font-size: 10em;
	margin: 0 auto;
}

body > header p {
	color: gray;
}

#main {
	flex: auto;
	min-height: 100vh;
	max-width: 820px;
	overflow: hidden;

	display: flex;
	flex-flow: column;
}

#main > nav, #main > main, #main > footer {
	padding: 15px;
}

#main > nav {
	text-align: center;
}

#main > main {
	flex: 1;
	margin-right: 25px;
}

#main > footer {
	padding-top: 50px;
}

@media (max-width: 640px) {
	body {
		flex-direction: column;
	}

	body > header h1 {
		width: auto;
		font-size: 7em;
	}

	#main {
		display: block;
		min-height: 0;
	}

	#main > main {
		margin-right: 0;
	}
}

hr {
	border: none;
	border-top: 1px solid gray;
	max-width: 25px;
	margin: 35px auto;
}

.muted {
	color: gray;
}

/* Homepage */

#intro {
	width: 100%;
	min-height: 100vh;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
}

#intro h1 {
	font-size: 10em;
	margin: 0;
}

#intro p {
	color: gray;
	margin-bottom: 5em;
}

@media (max-width: 640px) {
	#intro h1 {
		font-size: 7em;
	}
}

/* Typography */

article > header {
	margin-bottom: 2em;
}

article > header time {
	color: gray;
	white-space: nowrap;
}

article p, article li {
	text-align: justify;
}

article img {
	max-width: 100%;
}

pre {
	font-family: 'Fira Code', 'Nanum Gothic Coding', monospace;
	background-color: #272822;
	color: #f8f8f2;
	padding: 15px;
	overflow: auto;

	tab-size: 2;
	-moz-tab-size: 2;
}

p code, li code {
	color: #930d72;
}

a, a:visited {
	color: inherit;
}

/* Article list */

.article-list article > header {
	display: flex;
	flex-flow: row;
	align-items: center;
	margin-bottom: 0;
}

.article-list article h3 {
	display: inline-block;
	margin: 0.5em;
}

.article-list article small {
	font-weight: normal;
	color: gray;
}
