/* Blog pages: posts converted from WordPress, archives and comments. */

.blog h1 {
	font-size: 2rem;
	margin-bottom: 0.3em;
}

.blog .entry-meta,
.blog .post-date,
.blog .entry-footer,
.blog .comment-date {
	color: #6c757d;
}

.blog .post-date {
	display: inline-block;
	min-width: 6.5em;
	font-variant-numeric: tabular-nums;
}

.blog .post-list li {
	margin-bottom: 0.25em;
}

.blog-post .entry-content {
	overflow-wrap: break-word;
}

.blog-post .entry-content::after {
	content: "";
	display: table;
	clear: both;
}

.blog-post .entry-content li,
.blog-post .entry-content dd,
.blog .comment-content li {
	font-weight: 300;
	line-height: 1.7em;
}

.blog-post .entry-content h2,
.blog-post .entry-content h3,
.blog-post .entry-content h4 {
	margin-top: 1.5rem;
}

.blog-post img {
	max-width: 100%;
	height: auto;
}

.blog-post .alignleft {
	float: left;
	margin: 0.3em 1.5em 1em 0;
}

.blog-post .alignright {
	float: right;
	margin: 0.3em 0 1em 1.5em;
}

.blog-post .aligncenter {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.blog-post figure {
	max-width: 100%;
}

.blog-post figure.aligncenter {
	display: table;
}

.blog-post figcaption {
	font-size: 0.875em;
	color: #6c757d;
	margin-top: 0.3em;
}

.blog-post img.wp-smiley {
	height: 1em;
	width: auto;
	display: inline;
	vertical-align: -0.1em;
}

.blog-post pre {
	padding: 0.8em 1em;
	border: 1px solid #e1e4e8;
	border-radius: 4px;
	font-size: 0.85em;
	line-height: 1.5;
}

.blog-post blockquote:not(.twitter-tweet) {
	border-left: 4px solid #ddd;
	padding-left: 1em;
	color: #555;
}

.blog-post iframe {
	max-width: 100%;
	border: 0;
}

.blog-post .video-embed {
	max-width: 720px;
	aspect-ratio: 16 / 9;
	margin-bottom: 1rem;
}

.blog-post .video-embed iframe {
	width: 100%;
	height: 100%;
}

.blog-post table {
	margin-bottom: 1rem;
}

.blog-post td,
.blog-post th {
	padding: 0.25em 0.6em;
	border: 1px solid #dee2e6;
}

.blog .entry-footer {
	margin-top: 2rem;
	border-top: 1px dashed #ddd;
	padding-top: 1rem;
}

.blog .entry-footer p {
	margin-bottom: 0.3em;
}

.blog .post-navigation {
	display: flex;
	justify-content: space-between;
	gap: 2em;
	margin: 1.5rem 0;
}

.blog .post-navigation div:last-child {
	text-align: right;
}

.blog .comments {
	margin-top: 2rem;
}

.blog .comments h2 {
	font-size: 1.5rem;
	margin-bottom: 1rem;
}

.blog .comment-list,
.blog .comment-list .children {
	list-style: none;
	padding-left: 0;
}

.blog .comment-list .children {
	margin-left: 2em;
}

.blog .comment article {
	border-top: 1px solid #eee;
	padding: 0.8em 0 0.2em;
}

.blog .comment-meta {
	margin-bottom: 0.4em;
}

.blog .comment-date {
	margin-left: 0.6em;
	font-size: 0.875em;
}

.blog .comments-closed {
	color: #6c757d;
	font-style: italic;
}

/* Shiki marks each code line with class "line", which modern-business.css styles as a dashed separator. */
.astro-code .line {
	border-bottom: 0;
	margin: 0;
}

.blog-post .archive-note,
.blog-post .author-note {
	color: #6c757d;
	font-size: 0.95em;
}

.blog-post .archive-note {
	border-left: 3px solid #ddd;
	padding-left: 0.8em;
}

.blog-post .author-note {
	border-top: 1px dashed #ddd;
	padding-top: 0.8em;
	margin-top: 1.5em;
}

.blog .blog-archive {
	margin-top: 2em;
	color: #6c757d;
}

/* Videos and terminal recordings: a local thumbnail that links to the original */
.blog-post .video-link img {
	display: block;
	max-width: 100%;
	height: auto;
	margin-bottom: 0.3em;
}

/* Tweets quoted in posts, shown without Twitter's script */
.blog-post blockquote.twitter-tweet {
	border-left: 3px solid #ddd;
	padding-left: 0.8em;
	margin: 1em 0;
}
