html, body {
    height: 100%;
}

body {
    background-color: #FFFFFF;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    width: 60%;
    margin: 0 auto;
}

@font-face {
  font-family: "IBM Plex Serif";
  src: url("assets/IBMPlexSerif-Regular.ttf") format("truetype");
}

@font-face {
  font-family: "IBM Plex Serif Italic";
  src: url("assets/IBMPlexSerif-Italic.ttf") format("truetype");
}

@font-face {
  font-family: "IBM Plex Serif Bold";
  src: url("assets/IBMPlexSerif-Bold.ttf") format("truetype");
}

@font-face {
  font-family: "IBM Plex Serif Bold Italic";
  src: url("assets/IBMPlexSerif-BoldItalic.ttf") format("truetype");
}

@font-face {
  font-family: "IBM Plex Serif Light";
  src: url("assets/IBMPlexSerif-Light.ttf") format("truetype");
}

.content {
    font-family: "IBM Plex Serif";
    flex: 1 0 auto;
}

.content::after {
    content: "";
    display: table;
    clear: both;
}

p {
    color: #000000;
    text-wrap: pretty;
}

a {
    color: #303030;
}


a:hover {
    color: #5f5f5f;
}

ul {
    color: #000000;
    list-style-type: none;
    margin-left: -38px;
}

li {
    padding-left: 25px;
    font-size: 18px;
    line-height: 1.3;
    margin-bottom: 10px;
}

hr {
    border: 1px solid #000000;
}

h1 {
    color: #000000;
    font-family: "IBM Plex Serif Bold Italic";
    font-size: 35px;
    padding: 10px;
    margin-top: 5%;

}

h2 {
    color: #000000;
    font-family: "IBM Plex Serif Bold Italic";
    font-size: 20px;
    margin-top: 5%;
    margin-bottom: -5%;

}

h3, h4, h5, h6 {
    color: #000000;
    font-family: "IBM Plex Serif Italic";
    font-size: 18px;
    margin-top: 10%;

}

.header {
    border: 2px solid #000000;
    background-color: #CCCCCC;
    background-image: repeating-linear-gradient(
        to bottom,
        #999999 0px,
        #999999 1px,
        #CCCCCC 1px,
        #CCCCCC 3px
    );
    padding: 12px;
    margin-top: 20px;
}

.header h1 {
    background-color: #FFFFFF;
    border: 1px solid #000000;
    display: inline-block;
    margin: 0;
    padding: 8px 14px;
    font-size: 28px;
}

.top-hr {
    display: none;
}

.currents {
    border: 1px solid #000000;
    background-color: #FFFFFF;
    box-shadow: 3px 3px 0 #000000;
    padding: 12px;
    margin: 10px;
}

.cd-list {
    border: 1px solid #000000;
    background-color: #FFFFFF;
    box-shadow: 3px 3px 0 #000000;
    padding: 12px;
    margin: 10px;
}

.book-list {
    border: 1px solid #000000;
    background-color: #FFFFFF;
    box-shadow: 3px 3px 0 #000000;
    padding: 12px;
    margin: 10px;
}

.bookshelf-page .sidebar {
    width: 64%;
}

.nav {
    float: right;
    width: 30%;
    font-size: 20px;
    padding: 10px;
}

.nav li {
    margin-bottom: 10px;
    padding-left: 0;
    font-size: 20px;
}

.nav li a {
    display: block;
    border: 1px solid #000000;
    background-color: #CCCCCC;
    color: #000000;
    text-decoration: none;
    padding: 6px 10px;
    box-shadow: 2px 2px 0 #000000;
}

.nav li a:hover {
    background-color: #FFFFFF;
    color: #393939;
}

.nav li a:active {
    box-shadow: none;
    transform: translate(2px, 2px);
}

.sidebar {
    float: left;
    width: 60%;
    padding: 10px;
    font-size: 20px;
    text-wrap: pretty;
}

.bottom-hr {
    width:100%;
    position: sticky;
    bottom: 0;
}

.footnav {
    text-decoration: none;
    padding: 6px 30px;
    font-family: "IBM Plex Serif Light";
}

.footer-image {
    float: left;
    width: 150px;
    padding: 20px;
    position: absolute; 
    bottom: 0;
}

.sidebar-image {
    height: 50px;
    margin-top: 10px;
    margin-bottom: 10px;
}