@import url(https://fonts.googleapis.com/css2?family=EB+Garamond:ital,wght@0,400..800;1,400..800&display=swap);
@import url("https://fonts.googleapis.com/css2?family=Space+Mono:ital,wght@0,400;0,700;1,400;1,700&display=swap");

/* Reset & Base Styles */

:root {
	--font-body: "Apercu", sans-serif;
	/* --font-header: "EB Garamond", serif; */
	--font-header: "Grenette Pro", serif;
}

body.theme-kiki {
	--font-body: "Space Mono", monospace;
	--font-header: "MNKY Albert";
}

* {
	-webkit-font-smoothing: antialiased;
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

body {
	width: 87.5%;
	margin: 100px 0px 100px calc(0.25 * calc(100% - 700px));
	font-family: var(--font-body);
	background-color: #fff;
	color: #000;
	transition: font-family 0.3s ease;
}

/* Font Face Declarations */

@font-face {
	font-family: "Apercu";
	src: url("../../fonts/Apercu/Apercu Pro Regular.otf") format("opentype");
	font-weight: 400;
	font-style: normal;
}

@font-face {
	font-family: "Apercu";
	src: url("../../fonts/Apercu/Apercu Pro Bold.otf") format("opentype");
	font-weight: 700;
	font-style: normal;
}

@font-face {
	font-family: "Apercu";
	src: url("../../fonts/Apercu/Apercu Pro Light.otf") format("opentype");
	font-weight: 300;
	font-style: normal;
}

@font-face {
	font-family: "Apercu";
	src: url("../../fonts/Apercu/Apercu Pro Medium.otf") format("opentype");
	font-weight: 500;
	font-style: normal;
}

@font-face {
	font-family: "Apercu";
	src: url("../../fonts/Apercu/Apercu Pro Italic.otf") format("opentype");
	font-weight: 400;
	font-style: italic;
}

@font-face {
	font-family: "Apercu";
	src: url("../../fonts/Apercu/Apercu Pro Bold Italic.otf") format("opentype");
	font-weight: 700;
	font-style: italic;
}

@font-face {
	font-family: "Apercu";
	src: url("../../fonts/Apercu/Apercu Pro Light Italic.otf") format("opentype");
	font-weight: 300;
	font-style: italic;
}

@font-face {
	font-family: "Apercu";
	src: url("../../fonts/Apercu/Apercu Pro Medium Italic.otf") format("opentype");
	font-weight: 500;
	font-style: italic;
}

@font-face {
	font-family: "Apercu Mono";
	src: url("../../fonts/Apercu/Apercu Pro Mono.otf") format("opentype");
	font-weight: 400;
	font-style: normal;
}

/* Grenette Pro Font */

@font-face {
	font-family: "Grenette Pro";
	src: url("../../fonts/Grenette Pro/grenette-regular-pro.ttf") format("truetype");
	font-weight: 400;
	font-style: normal;
}

@font-face {
	font-family: "Grenette Pro";
	src: url("../../fonts/Grenette Pro/grenette-bold-pro.ttf") format("truetype");
	font-weight: 700;
	font-style: normal;
}

@font-face {
	font-family: "Grenette Pro";
	src: url("../../fonts/Grenette Pro/grenette-italic-pro.ttf") format("truetype");
	font-weight: 400;
	font-style: italic;
}

/* MNKY Albert Font */

@font-face {
	font-family: "MNKY Albert";
	src: url("../../fonts/MNKYAlbert/MNKYAlbertTRIAL-Regular.otf") format("opentype");
	font-weight: 400;
	font-style: normal;
}

@font-face {
	font-family: "MNKY Albert";
	src: url("../../fonts/MNKYAlbert/MNKYAlbertTRIAL-Italic.otf") format("opentype");
	font-weight: 400;
	font-style: italic;
}

@font-face {
	font-family: "MNKY Albert";
	src: url("../../fonts/MNKYAlbert/MNKYAlbertTRIAL-Thin.otf") format("opentype");
	font-weight: 100;
	font-style: normal;
}

@font-face {
	font-family: "MNKY Albert";
	src: url("../../fonts/MNKYAlbert/MNKYAlbertTRIAL-ThinItalic.otf")
		format("opentype");
	font-weight: 100;
	font-style: italic;
}

@font-face {
	font-family: "MNKY Albert";
	src: url("../../fonts/MNKYAlbert/MNKYAlbertTRIAL-Extralight.otf")
		format("opentype");
	font-weight: 200;
	font-style: normal;
}

@font-face {
	font-family: "MNKY Albert";
	src: url("../../fonts/MNKYAlbert/MNKYAlbertTRIAL-ExtralightItalic.otf")
		format("opentype");
	font-weight: 200;
	font-style: italic;
}

@font-face {
	font-family: "MNKY Albert";
	src: url("../../fonts/MNKYAlbert/MNKYAlbertTRIAL-Light.otf") format("opentype");
	font-weight: 300;
	font-style: normal;
}

@font-face {
	font-family: "MNKY Albert";
	src: url("../../fonts/MNKYAlbert/MNKYAlbertTRIAL-LightItalic.otf")
		format("opentype");
	font-weight: 300;
	font-style: italic;
}

@font-face {
	font-family: "MNKY Albert";
	src: url("../../fonts/MNKYAlbert/MNKYAlbertTRIAL-Medium.otf") format("opentype");
	font-weight: 500;
	font-style: normal;
}

@font-face {
	font-family: "MNKY Albert";
	src: url("../../fonts/MNKYAlbert/MNKYAlbertTRIAL-MediumItalic.otf")
		format("opentype");
	font-weight: 500;
	font-style: italic;
}

@font-face {
	font-family: "MNKY Albert";
	src: url("../../fonts/MNKYAlbert/MNKYAlbertTRIAL-Semibold.otf") format("opentype");
	font-weight: 600;
	font-style: normal;
}

@font-face {
	font-family: "MNKY Albert";
	src: url("../../fonts/MNKYAlbert/MNKYAlbertTRIAL-SemiboldItalic.otf")
		format("opentype");
	font-weight: 600;
	font-style: italic;
}

@font-face {
	font-family: "MNKY Albert";
	src: url("../../fonts/MNKYAlbert/MNKYAlbertTRIAL-Bold.otf") format("opentype");
	font-weight: 700;
	font-style: normal;
}

@font-face {
	font-family: "MNKY Albert";
	src: url("../../fonts/MNKYAlbert/MNKYAlbertTRIAL-BoldItalic.otf")
		format("opentype");
	font-weight: 700;
	font-style: italic;
}

@font-face {
	font-family: "MNKY Albert";
	src: url("../../fonts/MNKYAlbert/MNKYAlbertTRIAL-Extrabold.otf")
		format("opentype");
	font-weight: 800;
	font-style: normal;
}

@font-face {
	font-family: "MNKY Albert";
	src: url("../../fonts/MNKYAlbert/MNKYAlbertTRIAL-ExtraboldItalic.otf")
		format("opentype");
	font-weight: 800;
	font-style: italic;
}

@font-face {
	font-family: "MNKY Albert";
	src: url("../../fonts/MNKYAlbert/MNKYAlbertTRIAL-Black.otf") format("opentype");
	font-weight: 900;
	font-style: normal;
}

@font-face {
	font-family: "MNKY Albert";
	src: url("../../fonts/MNKYAlbert/MNKYAlbertTRIAL-BlackItalic.otf")
		format("opentype");
	font-weight: 900;
	font-style: italic;
}

/* Typography */

h1,
h2 {
	font-family: var(--font-header);
	font-weight: 400 !important;
}

/* Header Styles */

.header {
	display: flex;
	align-items: flex-start;
	justify-content: flex-start;
	flex-direction: column;
	padding: 40px 0;
}

.header.minimized {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 50px;
	padding: 20px;
	justify-content: flex-start;
}

.header-title {
	font-size: 3em;
	margin: 0;
}

.header-title a {
	cursor: pointer;
	color: black;
	text-decoration: none;
}

.header.minimized .header-title a {
	cursor: pointer;
	font-size: 20px;
}

.header.minimized .header-title a:hover {
	color: grey;
}

.header.minimized .header-title a:hover::after {
	content: "go back";
	display: flex;
	font-size: 14px;
	color: grey;
}

/* Main Content Layout */

main {
	width: 55%;
}

main h2 {
	font-size: 2em;
	margin-bottom: 20px;
}

/* Blog Post List */

.blog-post-list {
	list-style: none;
	padding: 0;
}

.blog-post-list li {
	border: 1px solid #eee;
	border-radius: 4px;
	margin-bottom: 15px;
	padding: 10px;
}

.blog-post-list li a {
	color: #007bff;
	font-weight: 500;
	text-decoration: none;
}

.blog-post-list li a:hover {
	color: #0056b3;
	text-decoration: underline;
}

/* Article Styles */

article {
	margin-bottom: 40px;
}

article h2 {
	font-size: 1.5em;
	font-weight: 500;
	margin-bottom: 10px;
}

article p {
	color: #333;
	font-size: 1em;
	margin-bottom: 10px;
}

article a {
	border-bottom: 1px solid #000;
	color: inherit;
	font-size: 1em;
	text-decoration: none;
}

article a:hover {
	border-bottom: 1px solid transparent;
}

/* Footer Styles */

footer {
	border-top: 1px solid #eee;
	color: #555;
	font-size: 0.9em;
	margin-top: 40px;
	padding: 20px 0;
	text-align: center;
}

.blog-post-preview-link {
	text-decoration: none;
	color: black;
	--indent: 16px;
}

.blog-post-preview {
	padding: 14px 16px 14px var(--indent);
	border-top: 1px solid #ccc;
}

.blog-post-preview:hover {
	padding-left: calc(var(--indent) - 2px);
	border-left: 2px solid #ccc;
}

.blog-post-preview h2 {
	font-size: 1.5em;
	font-weight: 500;
	margin-bottom: 10px;
}

.blog-post-preview p {
	font-size: 1em;
	margin: 10px 0;
	color: #666;
	line-height: 1.4;
}

.blog-post-preview p:last-child {
	margin-bottom: 0;
}

/* Mobile responsive */

@media (max-width: 760px) {
	body {
		width: 100%;
		margin: 0;
		padding: 30px 5% 50px 5%;
		box-sizing: border-box;
	}

	.header {
		padding: 30px 0;
		width: 100%;
	}

	.header.minimized {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 50px;
		padding: 15px 20px;
		background-color: rgba(255, 255, 255, 0.95);
		backdrop-filter: blur(10px);
		border-bottom: 1px solid #eee;
		z-index: 100;
		box-sizing: border-box;
	}

	.header-title {
		font-size: 2.5em;
		margin-bottom: 20px;
		width: 100%;
	}

	.header.minimized .header-title a {
		font-size: 18px;
	}

	main {
		width: 100%;
		margin-top: 0;
		box-sizing: border-box;
	}

	main h2 {
		font-size: 1.8em;
		margin-bottom: 25px;
		width: 100%;
	}

	.blog-post-preview {
		padding: 25px 0;
		--indent: 0px;
		margin-bottom: 15px;
		width: 100%;
		box-sizing: border-box;
	}

	.blog-post-preview:hover {
		padding-left: 0;
		border-left: none;
		background-color: #f8f8f8;
		border-radius: 8px;
		padding: 25px 15px;
		box-sizing: border-box;
	}

	.blog-post-preview h2 {
		font-size: 1.8em;
		margin-bottom: 12px;
		line-height: 1.3;
		width: 100%;
	}

	.blog-post-preview p {
		font-size: 1.1em;
		margin: 8px 0;
		line-height: 1.4;
		width: 100%;
	}

	article h2 {
		font-size: 1.6em;
		margin-bottom: 15px;
		width: 100%;
	}

	article p {
		font-size: 1.1em;
		line-height: 1.5;
		margin-bottom: 12px;
		width: 100%;
	}
}
