/* =========================================================
   ACADEMIC PAPER STYLE
   A4 / 3 PAGES
========================================================= */

@import url(
  'https://fonts.googleapis.com/css2?family=Libre+Baskerville:wght@400;700&family=Source+Sans+3:wght@400;500;600;700&display=swap'
);


/* =========================================================
   VARIABLES
========================================================= */

:root {
  --paper: #ffffff;
  --ink: #171717;
  --muted: #555555;
  --line: #bdbdbd;
  --accent: #7a1515;
}


/* =========================================================
   RESET
========================================================= */

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;

  background: #e7e7e7;

  color: var(--ink);

  font-family:
    "Libre Baskerville",
    Georgia,
    "Times New Roman",
    serif;
}


/* =========================================================
   WEBSITE HEADER
========================================================= */

.site-header {
  background: #202020;

  color: white;

  padding: 24px 5vw;
}

.header-inner {
  max-width: 1100px;

  margin: 0 auto;

  display: flex;

  align-items: center;

  justify-content: space-between;

  gap: 25px;
}

.site-header h1 {
  margin: 0;

  font-family:
    "Libre Baskerville",
    Georgia,
    serif;

  font-size: 30px;

  line-height: 1.1;
}

.site-header p {
  margin: 6px 0 0;

  font-family:
    "Source Sans 3",
    Arial,
    sans-serif;

  font-size: 12px;

  color: #aaaaaa;
}


/* =========================================================
   PRINT BUTTON
========================================================= */

.print-btn {
  padding: 9px 15px;

  border: 1px solid #777777;

  background: transparent;

  color: white;

  font-family:
    "Source Sans 3",
    Arial,
    sans-serif;

  font-size: 12px;

  cursor: pointer;
}

.print-btn:hover {
  background: white;

  color: #111111;
}


/* =========================================================
   DOCUMENT AREA
========================================================= */

.cards {
  padding: 40px 20px;

  display: flex;

  flex-direction: column;

  align-items: center;

  gap: 40px;
}


/* =========================================================
   A4 PAPER
========================================================= */

.card {
  position: relative;

  width: 210mm;

  height: 297mm;

  padding:
    20mm
    22mm
    22mm
    22mm;

  background: var(--paper);

  box-shadow:
    0 4px 20px rgba(0, 0, 0, 0.15);

  page-break-after: always;

  overflow: hidden;
}


/* =========================================================
   ACADEMIC TOP LINE
========================================================= */

.card::before {
  content: "";

  position: absolute;

  top: 10mm;

  left: 22mm;

  right: 22mm;

  border-bottom: 1px solid #aaaaaa;
}


/* =========================================================
   PAGE NUMBER
========================================================= */

.card-number {
  position: absolute;

  top: 10mm;

  right: 22mm;

  font-family:
    "Source Sans 3",
    Arial,
    sans-serif;

  font-size: 9px;

  color: #555555;
}


/* =========================================================
   TYPE / YEAR
========================================================= */

.card-top {
  margin-top: 15mm;

  padding-bottom: 7px;

  border-bottom: 1px solid var(--line);

  display: flex;

  align-items: center;

  justify-content: space-between;
}

.type,
.year {
  font-family:
    "Source Sans 3",
    Arial,
    sans-serif;

  font-size: 9px;

  text-transform: uppercase;

  letter-spacing: 1px;
}

.type {
  color: var(--accent);

  font-weight: 600;
}

.year {
  color: var(--muted);
}


/* =========================================================
   MAIN TITLE
========================================================= */

.card h2 {
  margin:
    18mm
    0
    5px;

  text-align: center;

  font-family:
    "Libre Baskerville",
    Georgia,
    "Times New Roman",
    serif;

  font-size: 29px;

  line-height: 1.2;

  font-weight: 700;
}


/* =========================================================
   SUBTITLE
========================================================= */

.subtitle,
.german-title {
  margin: 0 0 8px;

  text-align: center;

  font-family:
    "Libre Baskerville",
    Georgia,
    serif;

  font-size: 13px;

  font-style: italic;

  color: #444444;
}


/* =========================================================
   AUTHOR
========================================================= */

.author {
  margin: 0 auto 14mm;

  padding-bottom: 9px;

  border-bottom: 1px solid var(--line);

  text-align: center;
}

.author span {
  display: block;

  margin-bottom: 2px;

  font-family:
    "Source Sans 3",
    Arial,
    sans-serif;

  font-size: 8px;

  text-transform: uppercase;

  letter-spacing: 1.5px;

  color: #666666;
}

.author strong {
  font-size: 12px;

  font-weight: 400;
}


/* =========================================================
   SECTIONS
========================================================= */

.card section {
  margin-bottom: 14px;
}

.card section h3 {
  margin: 0 0 7px;

  font-family:
    "Source Sans 3",
    Arial,
    sans-serif;

  font-size: 10px;

  font-weight: 700;

  text-transform: uppercase;

  letter-spacing: 1px;

  color: #222222;
}


/* =========================================================
   BODY
========================================================= */

.card section p {
  margin: 0;

  font-family:
    "Libre Baskerville",
    Georgia,
    "Times New Roman",
    serif;

  font-size: 9.7px;

  line-height: 1.65;

  text-align: justify;

  text-indent: 1.8em;
}


/* =========================================================
   REPRESENTATIVE IDEA
========================================================= */

.quote {
  margin: 15px 0;

  padding: 10px 16px;

  border-top: 1px solid #999999;

  border-bottom: 1px solid #999999;

  background: #fafafa;
}

.quote blockquote {
  margin: 0 0 7px;

  font-family:
    "Libre Baskerville",
    Georgia,
    serif;

  font-size: 12.5px;

  line-height: 1.5;

  text-align: center;
}

.quote small {
  display: block;

  font-family:
    "Source Sans 3",
    Arial,
    sans-serif;

  font-size: 8.5px;

  line-height: 1.5;

  text-align: center;

  color: #555555;
}


/* =========================================================
   GERMAN HISTORICAL TERMS
========================================================= */

.historical-context {
  margin: 16px 0;

  padding: 8px 0;

  border-top: 1px solid #aaaaaa;

  border-bottom: 1px solid #aaaaaa;

  text-align: center;

  font-family:
    "Source Sans 3",
    Arial,
    sans-serif;

  font-size: 8px;

  line-height: 1.7;

  letter-spacing: .8px;

  color: var(--accent);
}


/* =========================================================
   RATING
========================================================= */

.rating {
  position: absolute;

  left: 22mm;

  right: 22mm;

  bottom: 17mm;

  padding-top: 9px;

  border-top: 1px solid #222222;

  display: flex;

  align-items: center;

  justify-content: space-between;

  font-family:
    "Source Sans 3",
    Arial,
    sans-serif;
}

.rating span {
  font-size: 8px;

  text-transform: uppercase;

  letter-spacing: 1px;
}

.rating strong {
  font-size: 16px;

  color: #222222;

  letter-spacing: 2px;
}

.rating em {
  font-size: 9px;

  font-style: normal;
}


/* =========================================================
   BOTTOM NOTE
========================================================= */

.warning {
  position: absolute;

  left: 22mm;

  right: 22mm;

  bottom: 10mm;

  text-align: center;

  font-family:
    "Source Sans 3",
    Arial,
    sans-serif;

  font-size: 7px;

  color: #666666;

  letter-spacing: .7px;
}


/* =========================================================
   WEBSITE FOOTER
========================================================= */

footer {
  max-width: 1100px;

  margin: 0 auto;

  padding: 0 20px 30px;

  display: flex;

  justify-content: space-between;

  font-family:
    "Source Sans 3",
    Arial,
    sans-serif;

  font-size: 8px;

  color: #777777;
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 800px) {

  body {
    background: white;
  }

  .site-header {
    padding: 20px;
  }

  .header-inner {
    flex-direction: column;

    align-items: flex-start;

    gap: 20px;
  }

  .cards {
    padding: 0;

    gap: 0;
  }

  .card {
    width: 100%;

    height: auto;

    min-height: 100vh;

    padding:
      65px
      25px
      90px;

    box-shadow: none;
  }

  .card h2 {
    margin-top: 35px;

    font-size: 25px;
  }

  .rating,
  .warning {
    position: static;
  }

  .rating {
    margin-top: 30px;
  }

  .warning {
    margin-top: 10px;
  }

  footer {
    padding: 20px;

    flex-direction: column;

    gap: 6px;
  }
}


/* =========================================================
   PRINT / SAVE AS PDF
========================================================= */

@media print {

  @page {
    size: A4 portrait;

    margin: 0;
  }

  html,
  body {
    background: white;
  }

  .site-header,
  footer,
  .print-btn {
    display: none !important;
  }

  .cards {
    padding: 0;

    display: block;
  }

  .card {
    width: 210mm;

    height: 297mm;

    margin: 0;

    padding:
      20mm
      22mm
      22mm;

    box-shadow: none;

    page-break-after: always;

    break-after: page;
  }

  .card:last-child {
    page-break-after: auto;

    break-after: auto;
  }
}