@media print {
  *,
  *::before,
  *::after {
    background: initial !important;
    box-shadow: none !important;
    text-shadow: none !important;
  }

  @page {
    margin: 1in 0.5in 0.5in;
    orphans: 4;
    widows: 3;
  }

  .no-print {
    display: none !important;
  }

  a,
  a:visited {
    text-decoration: underline;
  }

  a[href]::after {
    content: ' (' attr(href) ')';
  }

  a[href^='http']::after {
    content: ' <' attr(href) '> ';
  }

  abbr[title]::after {
    content: ' (' attr(title) ')';
  }

  pre {
    white-space: pre-wrap !important;
  }

  pre,
  blockquote {
    border: 1px solid #999;
    page-break-inside: avoid;
    overflow-wrap: break-word;
    word-break: normal;
  }

  pre code {
    overflow-wrap: break-word;
    word-break: normal;
  }

  tr {
    page-break-inside: avoid;
  }

  thead {
    display: table-header-group;
  }

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

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

  p {
    page-break-after: auto;
    page-break-before: auto;
    page-break-inside: avoid;
  }

  img {
    max-width: 100% !important;
    page-break-after: auto;
    page-break-before: auto;
    page-break-inside: avoid;
  }
}
