@page {
  size: var(--print-page-size);
  margin: var(--print-page-margin);
}

@media print {
  *,
  *::before,
  *::after {
    background: transparent !important;
    color: var(--black) !important; /* Black prints faster: h5bp.com/s */
    box-shadow: none !important;
    text-shadow: none !important;
  }

  a {
    text-decoration: underline !important;
  }

  a[href]::after {
    margin-left: 0.2em;
    content: attr(href);
  }

  a[href^='#']:after {
    content: '';
  }

  abbr[title]::after {
    margin-left: 0.2em;
    content: attr(title);
  }

  pre {
    page-break-inside: avoid;
    border: 1px solid var(--grey) !important;
  }

  blockquote {
    page-break-inside: avoid;
  }

  .field,
  input,
  textarea,
  .control,
  .media {
    page-break-inside: avoid;
  }

  thead {
    display: table-header-group;
  }

  tr,
  img {
    page-break-inside: avoid;
  }

  img {
    max-width: 100% !important;
  }

  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }

  h2,
  h3 {
    page-break-after: avoid;
  }

  table {
    border-collapse: collapse !important;

    & td,
    & th {
      background-color: var(--white) !important;
    }
  }
}
