body {
    font-family: sans-serif;
    padding: 0px;
    margin: 0px;
}

.page-content {
    margin-left: 20px;
    margin-right: 20px;
}

.message {
    font-weight: bold;
}

.status-failure {
    color: crimson;
}

.section {
    font-weight: bold;
    background-color: lightgrey;
    padding: 5px;
    padding-left: 1em;
    margin-top: 15px;
    margin-bottom: 30px;
}

.audiobook-indicator {
    width: 30px;
    height: auto;
    opacity: 50%;
}

input.search {
    padding: 0.25em;
    margin-bottom: 0.5em;
    width: 500px;
    font-size: 16px;
}

/* style from https://getcssscan.com/css-buttons-examples */
.submitButton {
    font-size: 16px;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 6px 14px;
    font-family: -apple-system, BlinkMacSystemFont, 'Roboto', sans-serif;
    border-radius: 6px;
    border: none;
    color: #fff;
    background: linear-gradient(180deg, #4B91F7 0%, #367AF6 100%);
    background-origin: border-box;
    box-shadow: 0px 0.5px 1.5px rgba(54, 122, 246, 0.25), inset 0px 0.8px 0px -0.25px rgba(255, 255, 255, 0.2);
    user-select: none;
    -webkit-user-select: none;
    touch-action: manipulation;
}

.submitButton:focus {
    box-shadow: inset 0px 0.8px 0px -0.25px rgba(255, 255, 255, 0.2), 0px 0.5px 1.5px rgba(54, 122, 246, 0.25), 0px 0px 0px 3.5px rgba(58, 108, 217, 0.5);
    outline: 0;
}

.stackDump {
    border: 1px solid black;
    padding: 10px;
    font-family: monospace;
    background-color: #f0f0f0;
}

div.rightLink {
    font-weight: bold;
    text-align: right;
    white-space: nowrap;
    padding-right: 2em;
}

#recommendationSection {
    padding-bottom: 2em;
}

div.rightLink a {
    text-decoration: none;
}

.sortLink {
    float: right;
    text-decoration: none;
}

a:link {
    color: black;
}

a:visited {
    color: black;
}


/* RESPONSIVE LAYOUT FOR BOOKS */
/* fits books in a row based on browser width */

/* This is the hierarchy of the html being styled:

book-grid-container (contains all the books)
  book-grid-item (each book)
    cover-image-container (left)
      img
    book-info (right)
      book-info-text (top)
        book-info-section
          book-info-title
          book-info-author
          book-info-series
          book-info-pub-year
        book-info-tags
        book-info-acq-date
      book-info-links (bottom)
        book-action-icon
        book-action-icon
        book-action-icon
 */

.book-grid-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: left;
    gap: 10px;
}

.book-grid-item {
    width: 20em;
    display: flex;
}

.book-grid-item .book-info {
    padding-left: 1em; /* so there's space between the cover image and the text */
    flex: 60;
    height: 100%;
    font-size: 80%;
}

.cover-image-container {
    flex: 40;
}

.cover-image-container img {
    width: 100%;
    max-height: 100%;
    object-fit: cover;
    overflow: hidden;
    border-radius: 1em;
}

.book-grid-container .book-grid-item .book-info .book-info-text {
    display: grid;
    grid-gap: 1em;
}

.book-info-title {
    font-weight: bold;
}

.book-info-acq-date {
    font-style: italic;
}

.rec-container {
    width: 100%;
    display: flex;
    margin-bottom: 20px;
}

.clearfix {
    reset: both;
}

.rec-text {
    font-size: 80%;
    float: right;
    width: 100%;
    margin-left: 1em;
}

.rec-cover-div {
    float: left;
    width: 123px;
    max-width: 123px;
    min-width: 123px;
}

.rec-cover-div img {
    width: 100%;
    height: auto;
    border-radius: 1em;
}

.rec-title {
    font-style: italic;
}