@page { size: A4; margin: 2cm 1cm; } * { box-sizing: border-box; } @media print { body { margin: 0; } .page { padding: 0; } } @media screen { body { margin: 0 auto; width: 21cm; } .page { padding: 20mm; } } @media all { body { font-family: "TeX Gyre Pagella", "Palatino Linotype", "Book Antiqua", Palatino, serif; font-size: 12pt; color: #111; background: #fff; } .page { min-height: calc(297mm - 4cm); display: flex; flex-direction: column; } .header { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 12mm; } .seller-name, .buyer-name { font-weight: bold; font-size: 12.5pt; margin-bottom: 3mm; } .seller-line, .buyer-line { margin-bottom: 2mm; } .buyer { text-align: left; max-width: 42%; } .meta { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 12mm; } .invoice-number { font-weight: bold; } .object { margin-bottom: 20mm; } .object-title { font-weight: bold; margin-bottom: 3mm; } .object-desc p { margin: 0; } .table-section { margin-bottom: 15mm; } .items { width: 100%; border-collapse: collapse; font-size: 11pt; } .items th { padding: 3mm 2mm 2mm 2mm; border-bottom: 1px solid #666; } .items td { padding: 3mm 2mm; vertical-align: top; } .col-price, .col-qty, .col-amount { text-align: right; width: 18%; } .col-designation { width: 46%; } .col-designation p { margin: 0; } .total-row td { border-top: 1px solid #666; padding-top: 4mm; } .total-label { text-align: right; font-weight: bold; } .total-value { text-align: right; font-weight: bold; } .vat-note { padding-top: 2mm; font-size: 10.5pt; } .footer { margin-top: auto; padding-top: 12mm; text-align: center; } .payment-title { text-align: left; margin-bottom: 6mm; } .payment-detail { margin-bottom: 2mm; } .seller-contact { font-size: 10.5pt; margin-top: 12mm; } .contact-item + .contact-item::before { content: " — "; } .payment-detail { margin-bottom: 2mm; } }