@import url('styles/reset.css');
@import url('styles/fonts.css');
@import url('styles/variables.css');

body {
	column-gap: var(--gap-md);
	display: grid;
	font-family: "Fira Mono", monospace;
	font-optical-sizing: auto;
	font-weight: 300;
	font-style: normal;
	font-size: 62.5%;
	grid-template-areas: "nav content";
	grid-template-columns: 3fr 9fr;
	margin: auto;
	padding: var(--gap-md) 0;
	max-width: 1200px;

	> header {
		border: 2px solid var(--color-bg);
		grid-area: nav;
		height: max-content;
		width: max-content;

		.title {
			background-color: var(--color-bg);
			color: var(--color-on-bg);
			padding: var(--size-md) var(--size-xl);

			h1 {
				font-size: var(--font-title);
				font-weight: 300;
				margin: 0;
			}
		}

		nav {
			display: flex;
			flex-direction: column;
			font-size: var(--font-nav);

			a {
				padding: var(--size-xs) var(--size-xl);
				text-decoration: none;

				&.current {
					background-color: var(--color-bg);
					color: var(--color-on-bg);
				}

				&:first-child.current {
					border-top: 1px solid var(--color-on-bg);
				}
			}
		}
	}
}

@media only screen and (max-width: 1199px) {
	body {
		display: flex;
		flex-direction: column;

		> header {
			margin: 0 auto var(--gap-sm) auto;
			width: 75%;
		}
	}
}

main {
	align-items: center;
	display: flex;
	flex-direction: column;
	font-size: var(--font-body);
	grid-area: content;
}

main > div, main > article.thought {
	border: 2px solid var(--color-black);
	width: 75%;
}

main > div:not(:last-child) {
	margin-bottom: var(--size-2x);
}

main > div > header {
	align-items: center;
	display: grid;
	font-size: var(--font-post-header);
	grid-template-columns: max-content auto max-content;
	padding: var(--size-md) var(--size-md) 0 var(--size-md);
}

main > div > header img {
	height: 20px;
	width: 20px;
}

main > div > header > .hash {
	margin-right: var(--size-sm);
}

main > div > header > a.title {
	color: var(--color-black);
	text-decoration: none;
}

main > div:hover > header > a.title {
	text-decoration: underline;
}

main > div > header > .link {
	display: flex;
	flex-direction: column;
	justify-content: center;
	visibility: hidden;
}

main > div:hover > header > .link {
	visibility: visible;
}

main > div > .content, main > article.thought > .content {
	border-top: 2px solid var(--color-black);
	margin-top: var(--size-md);
	padding: var(--size-xl) var(--size-2x);
}

main > div.essay > .content > a.read-more {
	color: var(--color-black);
}

main > article.thought > .content {
	border-top: unset;
	margin-top: unset;
}

main > div > .content > p:first-of-type {
	margin: 0;
}

main > div > footer, main > article.thought > footer {
	background-color: var(--color-bg);
	color: var(--color-on-bg);
	padding: var(--size-md);
}

main > article.essay {
	margin-top: var(--size-md);
	width: 75%;
}

main > article.essay > header > .title {
	font-weight: 300;
	margin-top: 0;
}

main > article.essay > .content > h2 {
	font-variant: small-caps;
	font-weight: 300;
}
