/* ========================================
   RESET STYLES
   ======================================== */

* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

/* ========================================
   TYPOGRAPHY
   ======================================== */

p, li {
	font-family: "Times New Roman", Serif;
	font-size: 12pt;
	margin-bottom: 0.5em;
}

h1, h2 {
	font-family: Arial, Helvetica, Sans-serif;
	margin-bottom: 0.5em;
}

h1 {
	font-size: 20pt;
}

h2 {
	font-size: 16pt;
}

/* ========================================
   LINKS
   ======================================== */

a {
    color: #69bf94;
}

a:visited {
    color: #708060;
}

/* ========================================
   HEADER
   ======================================== */

header {
	grid-area: header;
	background-color: #2c3e50;
	color: white;
	padding: 1rem;
}

header h1 {
	margin-bottom: 0;
}

header h1 a {
	color: inherit;
	text-decoration: inherit;
}

header h1 a:hover {
	text-decoration: inherit;
}

/* ========================================
   FOOTER
   ======================================== */

footer {
	grid-area: footer;
	background-color: #2c3e50;
	color: white;
	padding: 1rem;
}

footer p {
	font-family: "Times New Roman", Serif;
	font-size: 12pt;
	margin-bottom: 0;
}

/* ========================================
   SIDEBAR LAYOUT (for pages with menu)
   ======================================== */

body.index-page {
	height: 100vh;
	display: grid;
	grid-template-columns: 250px 1fr;
	grid-template-rows: 100px 1fr 40px;
	grid-template-areas:
		"header header"
		"sidebar main"
		"footer footer";
}

aside {
	grid-area: sidebar;
	background-color: #34495e;
	color: white;
	padding: 1rem;
	overflow-y: auto;
}

main {
	grid-area: main;
	display: flex;
	flex-direction: column;
	overflow: hidden;
}

.main-header {
	padding: 1rem;
	flex-shrink: 0;
}
