@font-face {
  font-family: "helvetica-w01-light";
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/helvetica-w01-light-7972bb30901c.woff2") format("woff2");
  font-display: swap;
}

@font-face {
  font-family: "impact-w01-2010";
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/impact-w01-2010-2bca961c62c0.woff2") format("woff2");
  font-display: swap;
}

@font-face {
  font-family: "lobster";
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/neILzCirqoswsqX9zoKmM4MwWJU-5e6c17b46611.woff2") format("woff2");
  font-display: swap;
}

@font-face {
  font-family: "signika";
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/vEFR2_JTCgwQ5ejvG1EmBlprZ0g-535f2c16d049.woff2") format("woff2");
  font-display: swap;
}

:root {
  --site-width: 980px;
  --red: #8b0000;
  --text: #333330;
}

* {
  box-sizing: border-box;
}

html,
body {
  margin: 0;
  padding: 0;
  min-height: 100%;
  background: #fff;
}

body {
  min-width: var(--site-width);
  overflow-x: auto;
  overflow-y: scroll;
  color: var(--red);
  font-family: Arial, Helvetica, sans-serif;
  font-size: 10px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

a {
  color: inherit;
  text-decoration: none;
}

img {
  display: block;
}

.site-header,
.site-main,
.site-footer {
  width: var(--site-width);
  margin: 0 auto;
  position: relative;
}

.site-header {
  height: 204px;
}

.site-logo {
  position: absolute;
  top: 42px;
  left: 396px;
  width: 162px;
  height: 162px;
  object-fit: cover;
}

.home-main {
  height: 704px;
}

.legal-main {
  min-height: 500px;
  padding-top: 32px;
}

.decorative-bug {
  position: absolute;
  width: 115px;
  height: 110px;
  object-fit: cover;
}

.decorative-bug.top {
  top: 10px;
  left: 415px;
}

.decorative-bug.lower {
  top: 212px;
  left: -20px;
}

.decorative-mark {
  position: absolute;
  top: 364px;
  left: 135px;
  width: 106px;
  height: 98px;
  object-fit: contain;
}

.kicker {
  position: absolute;
  top: 10px;
  left: 396px;
  width: 162px;
  margin: 0;
  color: var(--red);
  font: 400 12px/normal "helvetica-w01-light", Helvetica, Arial, sans-serif;
  letter-spacing: 0;
}

.page-lead,
.home-lead {
  margin: 0;
  color: var(--red);
  font: 400 29px/1.4 "helvetica-w01-light", Helvetica, Arial, sans-serif;
  letter-spacing: 0;
}

.home-lead {
  position: absolute;
  top: 51px;
  left: 259px;
  width: 427px;
}

.page-lead {
  width: 427px;
  margin-left: 265px;
  margin-bottom: 32px;
}

.legal-title {
  width: 980px;
  margin: 0 0 32px -11px;
  color: var(--red);
  font: 700 25px/normal "helvetica-w01-light", Helvetica, Arial, sans-serif;
  letter-spacing: 0;
  text-align: center;
}

.legal-copy {
  width: 625px;
  margin: 0 0 0 166px;
  color: var(--red);
  font: 400 18px/1.8 signika, sans-serif;
  letter-spacing: 0;
  text-align: center;
}

.legal-copy p {
  margin: 0 0 1.8em;
}

.legal-copy .small {
  font-size: 14px;
}

.legal-copy .tight {
  margin-bottom: 0;
}

.site-button {
  display: flex;
  width: 142px;
  height: 40px;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--red);
  background: #fff;
  color: var(--red);
  font: 400 16px/1 Verdana, Geneva, sans-serif;
  letter-spacing: -0.05em;
  transition: color 0.2s ease, border-color 0.2s ease;
}

.site-button:hover,
.site-button:focus-visible {
  color: var(--text);
  border-color: var(--text);
}

.home-actions {
  position: absolute;
  top: 497px;
  left: 406px;
  display: block;
}

.home-actions .site-button {
  margin-bottom: 9px;
}

.home-actions .site-button:nth-child(2) {
  margin-bottom: 14px;
}

.home-link {
  width: 142px;
  height: 40px;
  margin: 35px 0 0 406px;
}

.social-links {
  position: absolute;
  top: 654px;
  left: 438px;
  display: flex;
  width: 79px;
  height: 39px;
  gap: 1px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.social-links img {
  width: 39px;
  height: 39px;
  object-fit: cover;
}

.book-carousel {
  position: absolute;
  top: 133px;
  left: 59px;
  width: 862px;
  height: 354px;
  overflow: hidden;
}

.book-carousel__viewport {
  width: 862px;
  height: 354px;
  overflow: hidden;
  position: relative;
}

.book-carousel__track {
  height: 354px;
  position: relative;
  width: 2743px;
  transition: transform 420ms ease;
  will-change: transform;
}

.book-carousel__track[data-index="1"] { transform: translate3d(-211px, 0, 0); }
.book-carousel__track[data-index="2"] { transform: translate3d(-422px, 0, 0); }
.book-carousel__track[data-index="3"] { transform: translate3d(-633px, 0, 0); }
.book-carousel__track[data-index="4"] { transform: translate3d(-844px, 0, 0); }
.book-carousel__track[data-index="5"] { transform: translate3d(-1055px, 0, 0); }
.book-carousel__track[data-index="6"] { transform: translate3d(-1266px, 0, 0); }
.book-carousel__track[data-index="7"] { transform: translate3d(-1477px, 0, 0); }
.book-carousel__track[data-index="8"] { transform: translate3d(-1688px, 0, 0); }
.book-carousel__track[data-index="9"] { transform: translate3d(-1899px, 0, 0); }
.book-carousel__track[data-index="10"] { transform: translate3d(-2110px, 0, 0); }
.book-carousel__track[data-index="11"] { transform: translate3d(-2321px, 0, 0); }
.book-carousel__track[data-index="12"] { transform: translate3d(-2532px, 0, 0); }

.book-card {
  position: absolute;
  top: 0;
  width: 211px;
  height: 354px;
  padding: 10px;
  color: var(--text);
  font: 400 14px/16px signika, sans-serif;
  text-align: center;
}

.book-card:nth-child(1) { left: 0px; }
.book-card:nth-child(2) { left: 211px; }
.book-card:nth-child(3) { left: 422px; }
.book-card:nth-child(4) { left: 633px; }
.book-card:nth-child(5) { left: 844px; }
.book-card:nth-child(6) { left: 1055px; }
.book-card:nth-child(7) { left: 1266px; }
.book-card:nth-child(8) { left: 1477px; }
.book-card:nth-child(9) { left: 1688px; }
.book-card:nth-child(10) { left: 1899px; }
.book-card:nth-child(11) { left: 2110px; }
.book-card:nth-child(12) { left: 2321px; }
.book-card:nth-child(13) { left: 2532px; }

.book-card picture,
.book-card img {
  width: 191px;
  height: 255px;
}

.book-card img {
  object-fit: cover;
}

.book-card__title {
  display: block;
  width: 191px;
  height: 99px;
  padding: 15px 1px;
  overflow: hidden;
  white-space: pre-line;
}

.carousel-arrow {
  position: absolute;
  z-index: 2;
  top: calc(50% + 5px - 19.5px);
  width: 23px;
  height: 39px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #d9d9d9;
  cursor: pointer;
}

.carousel-arrow svg {
  display: block;
  width: 23px;
  height: 39px;
  fill: currentColor;
}

.carousel-arrow.next {
  right: 33px;
}

.carousel-arrow.prev {
  left: 33px;
}

.carousel-arrow[hidden] {
  display: none;
}

.carousel-arrow:disabled {
  opacity: .35;
  pointer-events: none;
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}
