a { page-break-inside: avoid; } blockquote { page-break-inside: avoid; } h1, h2, h3, h4, h5, h6 { page-break-after: avoid; page-break-inside: avoid; } img { page-break-after: avoid; page-break-inside: avoid; } table { width: 100%; border: 1px solid #000; border-collapse: collapse; } table td, table th { border: 1px solid #000; padding: 0.08em 0.5em; } table td { vertical-align: top; } table th { vertical-align: bottom; } table thead th { background-color: #ddd; } table.borderless { border: none; } table.borderless td, table.borderless th { border: none; } table.borderless thead th { background-color: inherit; } table.striped tbody tr:nth-child(odd) > td { background-color: #f1f1f1; } table.no-split-rows tr { page-break-inside: avoid; page-break-after: auto; } table.repeat-header { -fs-table-paginate: paginate; /* hack to work around bug http://stackoverflow.com/questions/10512324 unfortunately, this does result in borders that are a little bit too thick */ border-spacing: 0; } tr { page-break-inside: auto; } pre { page-break-inside: avoid; } ul { page-break-before: avoid; } ol { page-break-before: avoid; } dl { page-break-before: avoid; } li { page-break-inside: avoid; } .keep-together { page-break-inside: avoid; } .page-break-before { page-break-before: always; } .page-break-after { page-break-after: always; } .text-left { text-align: left; } .text-center { text-align: center; } .text-right { text-align: right; } .page-number:before { content: counter(page); } .page-count:before { content: counter(pages); }