.sheet.infinite {
  height: auto !important;
}

@page {
  size: A4;
  padding: 30mm;
  margin: 0;
}

header {
  display: block;
  width: 190mm;
}

#print-header {
  display: block !important;
  border-bottom: 1px solid;
  margin-bottom: 0;
  height: 22mm;
  background: white;
}

header,
main,
footer {
  margin: 0;
}

#print-header .col.right-align {
  padding: 15px;
}

.sheet {
  padding: 10mm;
}

.header-space,
.footer-space {
  height: 0;
}

.print-layout-table,
.print-layout-td {
  width: 190mm;
  max-width: 190mm;
  min-width: 190mm;
}

.print-layout-td {
  padding: 0;
}

.print-layout-table .no-border {
  border: 0;
}

footer {
  margin-top: 5mm;
  text-align: center;
  width: 190mm;
}

header .row,
header .col {
  padding: 0 !important;
  margin: 0 !important;
}

#print-logo {
  height: 22mm;
  width: auto;
  margin-block: 0;
  padding: 2mm 2mm 2mm 0;
}

.page-break {
  display: block;
  text-align: center;
  margin: auto;
  margin-top: 20px;
  margin-bottom: 20px;
  width: 200px;
  border-top: 1px dashed;
  color: darkgrey;
  page-break-after: always;
}

@media print {
  .header-space {
    height: 35mm;
  }

  .footer-space {
    height: 20mm;
  }

  header,
  footer {
    height: 22mm;
  }

  header {
    position: fixed;
    top: 10mm;
  }

  footer {
    position: fixed;
    bottom: 0;
  }

  .page-break {
    border: white;
  }
}

/* Some stuff for tables */

table.small-print,
td.small-print,
th.small-print {
  font-size: 10pt;
}

tr {
  border-bottom: 1px solid rgba(0, 0, 0, 0.3);
}

td,
th {
  padding: 1px;
}

td.rotate,
th.rotate {
  text-align: center;
  transform: rotate(-90deg);
}
