/* ----------------------------
   Global Styles
---------------------------- */

body {
    font-family: "Times New Roman", Georgia, serif;
    background-color: #ffffff; /* light mode background */
    color: #000000;
    margin: 0;
    padding: 0;
}

a {
    color: #0000cc; /* classic blue links */
    text-decoration: none;
}

a:hover {
    text-decoration: underline;
}

/* ----------------------------
   Page Layout
---------------------------- */

#page {
    width: 800px;
    margin: 20px auto;
    padding: 20px;
    border: 2px solid #999999; /* page border */
}

/* ----------------------------
   Header
---------------------------- */

#header {
    text-align: center;
    margin-bottom: 30px;
}

#header h1 {
    margin: 0;
    font-size: 2.5em;
    color: #000080;
}

#header .tagline {
    font-style: italic;
    color: #333333;
    margin-top: 5px;
}

/* ----------------------------
   Navigation
---------------------------- */

#nav {
    text-align: center;
    margin-bottom: 30px;
}

#nav a {
    margin: 0 10px;
    font-weight: bold;
}

/* ----------------------------
   Content Layout
---------------------------- */

#content {
    display: flex;
    flex-wrap: wrap;
}

/* Main content */
#main {
    flex: 3;
    min-width: 500px;
}

/* Sidebar */
#sidebar {
    flex: 1;
    min-width: 200px;
    margin-left: 20px;
    padding: 10px;
    border: 1px solid #ccc; /* sidebar border */
    background-color: #fffaf0;
}

/* Short sidebar variant */
#sidebar.short {
    padding: 5px;
    font-size: 0.9em;
}

#sidebar.short h3 {
    margin-top: 10px;
    margin-bottom: 5px;
}

#sidebar.short p,
#sidebar.short ul {
    margin-bottom: 10px;
}

#sidebar.short ul li {
    margin-bottom: 8px;
}

/* Clear floats / flex */
.clear {
    clear: both;
}

/* ----------------------------
   Posts and Lists
---------------------------- */

.post {
    margin-bottom: 40px; /* spacing between posts */
    padding: 10px;
    border: 1px solid #ccc;
    background-color: #fffaf0;
}

.post h2 {
    margin-top: 0;
    color: #000080;
}

.post .date {
    font-size: 0.9em;
    color: #555555;
    margin-bottom: 10px;
}

ul {
    padding-left: 20px;
}

ul li {
    margin-bottom: 15px;
}

/* ----------------------------
   Sidebar
---------------------------- */

#sidebar h3 {
    margin-top: 20px;
    margin-bottom: 10px;
    color: #000080;
}

#sidebar p, #sidebar ul {
    margin-bottom: 20px;
}

/* ----------------------------
   Footer
---------------------------- */

#footer {
    text-align: center;
    margin-top: 40px;
    font-size: 0.8em;
    color: #555555;
    padding-top: 10px;
    border-top: 1px solid #999999;
}

/* ----------------------------
   Video Styling
---------------------------- */

video {
    display: block;
    margin-top: 15px;
    margin-bottom: 25px;
    border: 1px solid #999;
}

/* ----------------------------
   Dark Mode (via body.dark)
---------------------------- */

body.dark {
    background-color: #111111;
    color: #eeeeee;
}

body.dark a {
    color: #3399ff;
}

body.dark #page {
    background-color: #222222;
    border-color: #555555;
}

body.dark .post,
body.dark #sidebar {
    background-color: #333333;
    border-color: #555555;
}

body.dark #footer {
    color: #aaaaaa;
    border-top-color: #555555;
}

body.dark video {
    border-color: #555555;
}
