/* Named page — must be outside @media print */ @page slide-page { size: A4 landscape; margin: 0; } @media screen { body { background: #d1d5db; } } @media print { @page { size: A4 landscape; margin: 0; } html, body { margin: 0 !important; padding: 0 !important; -webkit-print-color-adjust: exact; -moz-print-color-adjust: exact; print-color-adjust: exact; } * { -moz-print-color-adjust: exact; print-color-adjust: exact; } .no-print { display: none !important; } .print-deck-wrapper { padding: 0 !important; margin: 0 !important; display: block !important; } /* * Block wrapper: carries the height AND the page break. * Firefox honors height:210mm on display:block reliably in print; * it does NOT reliably honor it on flex containers. */ .print-page-break { page: slide-page; display: block !important; width: 297mm !important; height: 210mm !important; margin: 0 !important; padding: 0 !important; overflow: hidden !important; } /* Force new page before every slide except the first */ .print-page-break + .print-page-break { break-before: page !important; page-break-before: always !important; } /* Inner flex container fills the block wrapper */ .print-page { display: flex !important; flex-direction: column !important; width: 100% !important; height: 100% !important; overflow: hidden !important; margin: 0 !important; box-shadow: none !important; } }