@media print {
  @page {
    size: A4;
    margin: 10mm;
  }

  body#body-print {
    background-color: white;
  }

  body * {
    visibility: hidden;
  }

  .printer * {
    visibility: visible;
  }

  .printer > p-button {
    display: none;
  }

  .printer {
    margin: 0;
    padding: 0;
    display: block;
  }

  .printer .cover,
  .header,
  .header-address,
  .footer,
  .footer-page {
    display: block !important;
  }

  .header-space,
  .footer-space {
    height: 100px;
  }

  .header {
    height: 80px;
    width: 100%;
    position: fixed;
    top: 0;
    border-bottom: 2px solid var(--primary-color);
  }

  .header-address {
    position: fixed;
    top: 20px;
    right: 0;
  }

  .header-address div {
    text-align: right;
  }

  .footer {
    height: 80px;
    width: 100%;
    position: fixed;
    bottom: 0;
    border-top: 2px solid var(--primary-color);
  }

  .footer-page {
    position: fixed;
    bottom: 30px;
    right: 30px;
  }

  /* .cover {
    break-after: page;
    page-break-after: always;
    text-align: center;
    font-size: 24px;
  } */

  .printer .tabular-summary table {
    border-collapse: collapse;
  }

  .printer .tabular-summary th {
    text-align: left;
    border-bottom: 2px solid rgb(43, 22, 22);
    padding: 5px;
  }

  .printer .tabular-summary th:first-child {
    border-right: 1px solid black;
  }

  .printer .tabular-summary tr.odd td {
    background-color: var(--surface-300);
  }

  .printer .tabular-summary tr td:first-child {
    border-right: 1px solid black;
  }

  .printer .tabular-summary tr td {
    padding: 5px;
    height: 2.5rem;
  }

  .printer .tabular-summary tr td i {
    vertical-align: baseline;
    font-size: 1.5rem;
  }

  .printer .uninterpreted-answers table {
    break-inside: avoid;
  }

  .printer article.questionnaire:not(:first-of-type) {
    break-before: page;
  }
}
