/* colors */

:root {
	--page-background-light: #fefefe;
	--page-background-dark: #222;
	--default-text-light: #333;
	--default-text-dark: #d3d3d3;
	--highlight-color-light: #d3effa;
	--highlight-color-dark: #483d8b;
	--nav-color-light: #767676;
	--nav-color-dark: #999;
	--blockquote-color-light: #333;
	--blockquote-color-dark: #d3d3d3;
	--button-color-light: #efefef;
	--button-color-dark: #333;
}


/* global styles  and layout */

body {
	background-color: var(--page-background-light);
	font-size: 18px;
	line-height: 1.5;
	color : var(--default-text-light);
	font-weight : 400;
	font-family: "IBM Plex Sans", system-ui, -apple-system, helvetica neue, Helvetica, Arial, sans-serif;
}

@media (max-width: 640px) {
	body {
		font-size: 16px;
	}
}

@media (prefers-color-scheme: dark) {
	body {
		background-color: var(--page-background-dark);
		color: var(--default-text-dark);
	}
}

.container {
	width: auto;
	max-width: 800px;
	padding: 0 15px;
	padding-bottom : 100px;
}

.container .text-muted {
	margin: 20px 0;
}


a {
	text-decoration: underline;
	color: inherit;
}

a:hover, a:active {
	text-decoration: underline;
	color: inherit;
	background-color: var(--highlight-color-light);
}

@media (prefers-color-scheme: dark) {
	a:hover, a:active {
		background-color: var(--highlight-color-dark);
	}
}

.archive-number {
	white-space: nowrap;
}


/* header */

.page-header {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	margin-top: 60px;
	margin-bottom : 40px;
	border-bottom: none;
}

.page-header h1 {
	font-weight : bold;
	font-size : 1.4em;
}

.page-header h1 a {
	text-decoration: none;
	background-color: var(--highlight-color-light);
	padding-left: 5px;
	padding-right: 5px;
}

@media (prefers-color-scheme: dark) {
	.page-header h1 a {
		background-color: var(--highlight-color-dark);
	}
}

.page-header h1 a:hover {
	background-color: inherit;
}

.page-header .main-nav {
	font-size: 0.9em;
	text-transform: lowercase;
	white-space: nowrap;
}

.page-header .main-nav a {
	text-decoration: none;
	color: var(--nav-color-light);
}

@media (max-width: 640px) {
	.page-header {
		flex-direction: column;
		align-items: flex-start;
	}
	
	.main-nav {
		align-self: flex-start;
	}
}

@media (prefers-color-scheme: dark) {
	.page-header .main-nav a {
		color: var(--nav-color-dark);
	}
}

h2.date-header {
	margin-bottom: 1em;
	padding-bottom: 1em;
}



/* body and posts */

.page-content .date-line {
	display: flex;
	align-items: center;
	font-size : 0.8em;
	color: var(--nav-color-light);
	font-weight: normal;
	line-height: 100%;
	text-transform: lowercase;
	justify-content: flex-end; /* Pushes everything to the right */
	margin-bottom: 2rem;
}

.page-content .date-line::after {
	content: "";
	flex: 1;
	border-bottom: 1px dashed var(--nav-color-light); /* Line color */
	margin-left: 10px; /* Optional spacing */
}

@media (prefers-color-scheme: dark) {
	.page-content .date-line {
		color: var(--nav-color-dark);
	}
	.page-content .date-line::after {
		color: var(--nav-color-dark);
	}
}


.page-content .date-line span {
	white-space: nowrap; /* Keep the date on one line */
}

.page-content .date-line a {
	text-decoration: none;
}


p, ul, ol {
	margin-bottom: 1em;
}

li {
	margin-top: 10px;
	margin-bottom: 10px;
}

img {
	width: 100%;
	height: auto;
}


.youtube-embed {
	position: relative;
	padding-bottom: 56.25%; /* 16:9 */
	height: 0;
	margin-bottom: 1rem;
}
.youtube-embed iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}


blockquote {
	color : var(--blockquote-color-light)
	margin-top : 0px;
	margin-bottom : 1em;
	padding-top : 0;
	padding-bottom : 0;
	margin-left : 10px;
	padding-left : 10px;
	border-left : 1px dashed var(--nav-color-light);
	font-size: inherit;
}

@media (prefers-color-scheme: dark) {
	blockquote {
		color: var(--blockquote-color-dark);
		border-left 1px dashed var(--nav-color-dark);
	}
}

.post blockquote strong {
	font-weight: normal;
	background-color: var(--highlight-color-light);
}

@media (prefers-color-scheme: dark) {
	.post blockquote strong {
		background-color: var(--highlight-color-dark);
	}
}

.page-content h2 {
	font-size : 1.2em;
	font-weight : bold;
	margin-bottom : 10px;
	margin-top : 10px;
}

.page-content h2 a {
	text-decoration: none;
}

.page-content h2 a:hover {
	border-bottom : 1px solid silver;
}


.published-on {
	color: var(--nav-color-light);
	margin-top: 2em;
	font-size: 0.9em;
	font-style: italic;
}

@media (prefers-color-scheme: dark) {
	.published-on {
		color: var(--nav-color-dark);
	}
}


.links,
.index-links,
.index-post {
	padding-bottom: 3em;
}

.search-post {
	padding-top: 1em;
	padding-bottom: 1em;
	margin-bottom: 1em;
}

.ais-search-box input {
	font-size: 16px !important;
}

.links .meta, 
.index-links .meta {
	margin-bottom: 1em;
}

.index-links .meta a {
	text-decoration : none;
	color: inherit;
}

.nav {
	margin-top : 80px;
	text-transform: lowercase;
}

.archive-months {
	margin-bottom: 2em;
}

.divider {
	color: var(--nav-color-light);
}

@media (prefers-color-scheme: dark) {
	.divider {
		color: var(--nav-color-dark);
	}
}

.divider-index-0 {
	display: none;
}

.form-container {
	display: flex;
	align-items: center;
}

#bd-email {
	padding-top: 5px;
	padding-bottom: 5px;
	padding-right: 10px;
	padding-left: 10px;
	border-radius: 5px;
	border: 1px solid var(--nav-color-light);
	margin-right: 10px;
	flex-grow: 1;
	box-sizing: border-box;
	
}

#bd-button {
	padding: 5px;
	color : inherit;
	background-color: var(--button-color-light);
	border: 1px solid var(--nav-color-light);
	border-radius: 5px;
	padding-left: 10px;
	padding-right: 10px;
	flex-shrink: 0;
	
}

@media (prefers-color-scheme: dark) {
	#bd-email {
		background-color: inherit;
		color: inherit;
		border-color: var(--nav-color-dark);
	}
	
	#bd-button {
		background-color: var(--button-color-dark);
		border: 1px solid var(--nav-color-dark);
	}
}
