* {
    font-family: sans-serif;
}

body {
    max-width: 960px;
    margin: auto;
    padding: 1em;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

.slim {
    margin: 0%;
    padding: 0%;
}

hr {
    width: 100%;
    height: 2px;
    border-width: 0;
    color: black;
    background-color: black;
}

h1 {
    font-size: 22pt;
}

h2 {
    font-size: 18pt;
    margin: 0%;
    padding: 0%;
    padding-bottom: 0.5em;
    padding-top: 0.5em;
}

h3 {
    font-size: 14pt;
    margin-bottom: 0.5em;
    padding: 0%;
    padding-bottom: 0.5em;
    padding-top: 0.5em;
}

p {
    padding-top: 0em margin-bottom: 0.5em;
}

ul {
    margin: 0%;
    padding-top: 0em;
    padding-left: 1.5em;
}

a:link {
    color: rgb(217, 28, 18);
    /* Vibrant red */
    background-color: transparent;
    text-decoration: none;
}

a:visited {
    color: rgb(198, 2, 2);
    /* Darker red for visited links */
    background-color: transparent;
    text-decoration: none;
}

a:hover {
    color: rgb(217, 28, 18);
    /* Ripe tomato */
    background-color: transparent;
    text-decoration: underline;
}

a:active {
    color: rgb(217, 28, 18);
    /* Vibrant red */
    background-color: transparent;
    text-decoration: underline;
}

footer {
    position: relative;
    margin-top: auto;
    margin-bottom: 1em;
    margin-top: 100px;
}

/* top menu */
.menu {
    overflow: hidden;
    background-color: rgb(217, 28, 18);
    /* Vibrant red */
}

.menu a {
    float: left;
    color: white;
    /* White text */
    text-align: center;
    padding: 1em 1em;
    text-decoration: none;
}

.menu a:hover {
    background-color: rgb(224, 42, 10);
    /* Ripe tomato */
    color: white;
    /* White text */
}

.menu a.active {
    background-color: rgb(217, 28, 18);
    /* Vibrant red */
    color: white;
    /* White text */
}