* { box-sizing: border-box; }
main, header, footer, nav, section, article { display: block; }
html { background: #f6f3eb; color: #201f1a; -webkit-text-size-adjust: 100%; }
body { margin: 0; font: 18px/1.45 "Atkinson Hyperlegible Next", Arial, sans-serif; }
.wrap { max-width: 880px; margin: 0 auto; padding: 0 18px; }
a { color: #244438; text-decoration: underline; }
a:focus, button:focus, input:focus, select:focus { outline: 2px solid #244438; outline-offset: 2px; }
h1, h2, h3 { font-family: Georgia, serif; line-height: 1.19; color: #1f291f; overflow-wrap: break-word; }
h1 { font-size: 32px; font-weight: normal; margin: 0 0 9px; }
h2 { font-size: 24px; margin: 0 0 6px; }
h3 { font-size: 23px; margin: 0 0 6px; }
p { margin: 0 0 13px; }
img { border: 0; }
.site-head { background: #fdfbf5; }
.site-head .wrap { padding-top: 4px; padding-bottom: 4px; }
.brand { display: inline-block; margin: 4px 12px 4px 0; font: bold 19px/1.2 Georgia, serif; color: #243729; text-decoration: none; vertical-align: middle; }
.brand-addon { font-weight: normal; }
.main-nav { display: inline-block; vertical-align: middle; font-size: 0; }
.main-nav a { display: inline-block; font-size: 14px; font-weight: bold; line-height: 20px; min-height: 32px; padding: 5px 7px; margin-right: 2px; text-decoration: none; border: 1px solid transparent; }
.main-nav a[aria-current] { background: #e5ebdd; border-color: #4c5d49; border-radius: 5px; }
main.wrap { display: block; padding-top: 12px; min-height: 320px; padding-bottom: 18px; }
.site-foot { color: #45473d; margin-top: 8px; min-height: 52px; font-size: 15px; padding-top: 6px; padding-bottom: 8px; }
.site-foot form { display: inline-block; float: right; }
button, input, select { font: inherit; color: inherit; }
button, .button { cursor: pointer; }
.button, .text-button { display: inline-block; min-height: 44px; padding: 8px 13px; border: 1px solid #575e51; background: #fdfbf5; color: #26382b; border-radius: 5px; font: bold 17px/1.35 Arial, sans-serif; text-decoration: none; text-align: center; vertical-align: middle; }
.button.primary { background: #283f32; border-color: #283f32; color: #fffdf5; }
.button.selected { background: #dfe7d9; border-color: #3e5747; }
.text-button { background: transparent; border-color: transparent; text-decoration: underline; padding: 0 3px; }
.button-form { display: inline-block; margin-bottom: 0; vertical-align: middle; }
.actions > .button, .actions > .button-form { margin: 4px 4px 4px 0; }
input:not([type=hidden]), select { min-height: 47px; padding: 8px 10px; border: 1px solid #666d5c; background: #fffefa; border-radius: 5px; }
label { display: block; font-weight: bold; }
.eyebrow { color: #4a5346; font-weight: bold; font-size: 15px; }
.catalog-heading { margin-bottom: 5px; }
.catalog-heading h1, .catalog-heading .eyebrow { display: inline-block; vertical-align: baseline; margin: 0; }
.catalog-heading h1 { margin-right: 10px; font-size: 27px; }
.catalog-heading .eyebrow { font-size: 14px; }
.edition-link { display: inline-block; padding: 3px 0; }
.visually-hidden { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.search-rail { margin: 5px 0 6px; white-space: nowrap; }
.search-rail input { width: 70%; width: calc(100% - 78px); min-height: 36px; padding: 5px 8px; font-size: 16px; vertical-align: middle; }
.search-rail .button { width: 70px; margin-left: 4px; }
.filters { padding: 1px 0; }
.filter-link { display: inline-block; max-width: 100%; vertical-align: bottom; margin: 0 4px 4px 0; padding: 3px 8px; border: 1px solid #666d5c; border-radius: 5px; background: #fffefa; text-decoration: none; }
.filter-label, .filter-value { display: block; }
.filter-label { font-size: 12px; font-weight: bold; line-height: 1.2; }
.filter-value { font-size: 15px; line-height: 1.25; text-decoration: underline; }
.filter-options { margin: 4px -3px 0; padding: 0; list-style: none; font-size: 0; }
.filter-options li { display: inline-block; width: 50%; padding: 3px; vertical-align: top; }
.filter-options .button { display: block; width: 100%; text-align: left; }
.search-rail .button, .view-rail .button {
  min-height: 34px; padding: 5px 8px; font-size: 15px;
}
.search-rail .button { min-height: 36px; }
.reset { display: inline-block; margin: 0 0 4px 3px; padding: 5px 0; font-size: 14px; vertical-align: bottom; }
.catalog-scope { margin: 4px 0 0; font-size: 15px; }
.catalog-toolbar { display: table; width: 100%; margin: 5px 0 0; }
.result-count, .view-rail { display: table-cell; vertical-align: middle; }
.result-count { font-size: 15px; line-height: 1.28; padding-right: 5px; }
.view-rail { text-align: right; white-space: nowrap; }
.view-rail .button { margin-left: 4px; }
.book-card { padding: 11px 0; }
.book-card:after, .detail:after, .lista .book-main:after { content: ""; display: block; clear: both; }
.book-card h2 a, .book-card h3 a, .job h2 a { color: #24291f; text-decoration: none; }
.book-card h2 a:focus, .book-card h3 a:focus { text-decoration: underline; }
.cover-side, .lista .cover-action { width: 25%; max-width: 185px; }
.cover-side { float: left; margin-right: 14px; }
.book-cover { position: relative; display: block; width: 100%; background: #e5e1d5; color: #26382b; text-decoration: none; }
/* Reserve a 2:3 frame even before the image decodes on older browsers. */
.book-cover:before { content: ""; display: block; padding-top: 150%; }
.book-cover img, .cover-fallback { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
.cover-fallback { display: block; overflow: hidden; padding: 10px 7px; font: bold 17px/1.15 Georgia, serif; word-wrap: break-word; }
.book-copy { overflow: hidden; overflow-wrap: break-word; word-wrap: break-word; }
.author { margin-bottom: 6px; line-height: 1.35; color: #484b41; font-weight: bold; }
.book-format { font-size: 15px; font-weight: bold; color: #4a5346; }
.facet-link { display: inline-block; padding: 3px 7px; margin: 1px 0; border: 1px solid #9ba797; border-radius: 5px; background: #fdfbf5; line-height: 1.4; }
.book-status { display: inline-block; font-size: 16px; color: #283a2c; background: #e5ebdd; padding: 4px 8px; border-radius: 3px; }
.summary { font-size: 20px; line-height: 27px; }
.lista .summary { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 4; max-height: 108px; overflow: hidden; margin: 0; }
@supports (display: flex) {
  .lista .book-main { display: flex; }
  .lista .book-main:after { display: none; }
  .lista .cover-side { flex: none; float: none; }
  .lista .book-copy { display: flex; flex: 1; flex-direction: column; min-width: 0; }
  /* The excerpt uses the remaining cover height without stretching the row. */
  .lista .summary-preview { position: relative; flex: 1; min-height: 0; max-height: 108px; overflow: hidden; }
  .lista .summary { position: absolute; top: 0; left: 0; right: 0; }
}
@supports (height: round(down, 100%, 27px)) {
  .lista .summary-preview .summary { max-height: round(down, 100%, 27px); }
}
.book-actions { margin: 4px 0 5px; }
.book-actions > .button-form, .book-actions > .button, .book-actions > .list-status { margin: 0 4px 4px 0; }
.book-actions .button { min-height: 34px; padding: 5px 8px; font-size: 15px; }
.list-status { display: inline-block; font-size: 14px; color: #3a4638; vertical-align: middle; }
.books.portadas { margin: 10px -6px 0; font-size: 0; }
.portadas .book-card { display: inline-block; width: 33.33%; padding: 0 6px 10px; margin: 0 0 8px; vertical-align: top; font-size: 18px; }
.portadas .cover-side { float: none; width: 100%; max-width: none; margin: 0 0 7px; }
.cover-actions { padding-top: 4px; }
.cover-actions .button-form, .cover-actions .button, .cover-status { display: block; width: 100%; }
.cover-actions .button, .cover-status { min-height: 36px; padding: 6px 5px; font-size: 15px; line-height: 22px; }
.cover-status { border: 1px solid transparent; border-radius: 5px; background: #e5ebdd; color: #283a2c; text-align: center; }
.portadas .book-copy h2 { font-size: 22px; }
.portadas .author { font-size: 16px; }
.pagination { margin: 14px 0 0; text-align: center; }
.pagination span { display: inline-block; margin: 0 8px; }
.back-link { margin-bottom: 7px; }
.back-link a { display: inline-block; padding: 4px 0; }
.detail .cover-side { width: 32%; }
.detail h1 { margin-bottom: 7px; }
.detail .book-actions > .button-form, .detail .book-actions .button { display: block; width: 100%; }
.detail .book-actions > .button-form, .detail .book-actions > .button { margin-right: 0; }
.metadata { margin: 12px 0; font-size: 16px; }
.metadata dt { font-weight: bold; }
.metadata dd { margin: 0 0 5px; word-wrap: break-word; }
.book-metadata { clear: both; width: 100%; max-width: 540px; margin: 12px auto; padding-top: 9px; font-size: 0; }
.metadata-field { display: inline-block; width: 33.333%; padding: 0 6px; margin-bottom: 8px; text-align: center; vertical-align: top; font-size: 16px; }
.metadata-edition { color: #45473d; }
.activity-group { margin: 15px 0; }
.activity-group .cover-side { width: 22%; max-width: 135px; }
.form-card, .confirm-sheet { max-width: 520px; padding: 22px; background: #fdfbf5; border: 1px solid #a5a79b; border-radius: 7px; }
.form-card label { margin-top: 14px; }
.form-card input:not([type=hidden]) { width: 100%; margin: 4px 0; }
.form-card .primary { margin-top: 18px; }
.field-hint { color: #45483d; font-size: 16px; margin-bottom: 4px; }
.confirm-book { display: table; margin: 19px 0; }
.confirm-cover { display: table-cell; width: 105px; vertical-align: top; }
.confirm-copy { display: table-cell; padding-left: 13px; vertical-align: middle; }
.notice { padding: 11px 13px; border: 1px solid #71816c; background: #e9efdf; margin: 0 0 16px; }
.notice.error { background: #f9e9e0; border-color: #785f4d; color: #3f2518; }
.empty { margin: 19px 0; }
.page-heading .button { margin: 3px 0 11px; }
.job { margin-top: 12px; padding: 14px; background: #fdfbf5; }
.job-state { display: inline-block; color: #26382b; font-size: 17px; font-weight: bold; padding: 3px 8px; border: 1px solid #83907d; }
.state-sent { background: #e5ebdd; }
.state-error, .state-uncertain { background: #f9e9e0; color: #3f2518; }
@media (max-width: 600px) {
  .wrap { padding-left: 12px; padding-right: 12px; }
  h1 { font-size: 28px; }
  h2 { font-size: 22px; }
  .cover-side, .lista .cover-action { width: 27%; }
  .cover-side { margin-right: 10px; }
  .lista .summary { -webkit-line-clamp: 3; }
  .lista .summary-preview { max-height: 81px; }
  .portadas .book-card { width: 50%; }
  .detail .cover-side { width: 35%; }
  .activity-group .cover-side { width: 28%; }
}
@media (max-width: 510px) {
  .main-nav { display: block; }
  .main-nav a { padding-left: 5px; padding-right: 5px; }
  .filter-options li { width: 100%; }
}
@media (max-width: 440px) {
  .metadata-field { padding: 0 4px; font-size: 15px; }
  .metadata-edition { display: block; }
}
@media (max-width: 380px) {
  .wrap { padding-left: 9px; padding-right: 9px; }
  .main-nav a { font-size: 13px; }
  .book-actions .button { font-size: 14px; padding-left: 6px; padding-right: 6px; }
  .cover-actions .button, .cover-status { font-size: 14px; }
}
