extends ../PaperTemplateLayout.pug block head - var prefix = 'bc' style. .#{prefix}-root { color: #111; padding: 24px 30px; font-size: 12px; position: relative; box-shadow: inset 0 4px 0px 0 var(--invoice-primary-color); } .#{prefix}-big-title { font-size: 60px; margin: 0; line-height: 1; margin-bottom: 25px; font-weight: 500; color: #333; } .#{prefix}-logo-wrap { height: 120px; width: 120px; position: absolute; right: 26px; top: 26px; overflow: hidden; } .#{prefix}-terms { display: flex; flex-direction: column; gap: 4px; margin-bottom: 24px; } .#{prefix}-terms-item { display: flex; flex-direction: row; gap: 12px; } .#{prefix}-terms-item__label { min-width: 120px; color: #333; } .#{prefix}-terms-item__value { } .#{prefix}-addresses{ box-sizing: border-box; display: flex; flex-flow: wrap; -webkit-box-align: center; align-items: center; -webkit-box-pack: start; justify-content: flex-start; gap: 10px; margin-bottom: 24px; } .#{prefix}-addresses > * { flex: 1 1; } .#{prefix}-address { } .#{prefix}-address__item { } .#{prefix}-table { width: 100%; border-collapse: collapse; text-align: left; font-size: inherit; } .#{prefix}-table__header { font-weight: 400; border-bottom: 1px solid #000; padding: 2px 10px; color: #333; } .#{prefix}-table__header:first-of-type{ padding-left: 0; } .#{prefix}-table__header:last-of-type{ padding-right: 0; } .#{prefix}-table__header--right { text-align: right; } .#{prefix}-table__cell { border-bottom: 1px solid #F6F6F6; padding: 12px 10px; } .#{prefix}-table__cell--right{ text-align: right; } .#{prefix}-table__cell:first-of-type{ padding-left: 0; } .#{prefix}-table__cell:last-of-type { padding-right: 0; } .#{prefix}-totals { display: flex; flex-direction: column; margin-left: auto; width: 300px; margin-bottom: 24px; } .#{prefix}-totals__item { display: flex; padding: 4px 0; } .#{prefix}-totals__item--border-gray { border-bottom: 1px solid #DADADA; } .#{prefix}-totals__item--border-dark { border-bottom: 1px solid #000; } .#{prefix}-totals__item--font-weight-bold { font-weight: bold; } .#{prefix}-totals__item-label { min-width: 160px; } .#{prefix}-totals__item-amount { flex: 1 1 auto; text-align: right; } .#{prefix}-statement { margin-bottom: 20px; } .#{prefix}-statement__label { color: #666; } .#{prefix}-statement__value { } block content div(class=`${prefix}-root`, style=`--invoice-primary-color: ${primaryColor}; --invoice-secondary-color: ${secondaryColor};`) h1(class=`${prefix}-big-title`) Estimate if showCompanyLogo div(class=`${prefix}-logo-wrap`) img(alt="", src=companyLogo) //- Terms List div(class=`${prefix}-terms`) if showEstimateNumber div(class=`${prefix}-terms-item`) div(class=`${prefix}-terms-item__label`) #{estimateNumberLabel} div(class=`${prefix}-terms-item__value`) #{estimateNumebr} if showEstimateDate div(class=`${prefix}-terms-item`) div(class=`${prefix}-terms-item__label`) #{estimateDateLabel} div(class=`${prefix}-terms-item__value`) #{estimateDate} if showExpirationDate div(class=`${prefix}-terms-item`) div(class=`${prefix}-terms-item__label`) #{expirationDateLabel} div(class=`${prefix}-terms-item__value`) #{expirationDate} //- Addresses (Group section) div(class=`${prefix}-addresses`) if showBilledFromAddress div(class=`${prefix}-address`) strong #{companyName} each item in billedFromAddress div(class=`${prefix}-address__item`) #{item} if showBilledToAddress div(class=`${prefix}-address`) strong #{billedToLabel} each item in billedToAddress div(class=`${prefix}-address__item`) #{item} //- Table section (Line items) table(class=`${prefix}-table`) thead tr th(class=`${prefix}-table__header`) Item th(class=`${prefix}-table__header`) Description th(class=`${prefix}-table__header ${prefix}-table__header--right`) Rate th(class=`${prefix}-table__header ${prefix}-table__header--right`) Total tbody each line in lines tr td(class=`${prefix}-table__cell`) #{line.item} td(class=`${prefix}-table__cell`) #{line.description} td(class=`${prefix}-table__cell ${prefix}-table__cell--right`) #{line.rate} td(class=`${prefix}-table__cell ${prefix}-table__cell--right`) #{line.total} //- Totals section div(class=`${prefix}-totals`) if showSubtotal div(class=`${prefix}-totals__item ${prefix}-totals__item--border-gray`) div(class=`${prefix}-totals__item-label`) #{subtotalLabel} div(class=`${prefix}-totals__item-amount`) #{subtotal} if showTotal div(class=`${prefix}-totals__item ${prefix}-totals__item--border-dark ${prefix}-totals__item--font-weight-bold`) div(class=`${prefix}-totals__item-label`) #{totalLabel} div(class=`${prefix}-totals__item-amount`) #{total} //- Statements section if showCustomerNote && customerNote div(class=`${prefix}-statement`) div(class=`${prefix}-statement__label`) #{customerNoteLabel} div(class=`${prefix}-statement__value`) #{customerNote} if showTermsConditions && termsConditions div(class=`${prefix}-statement`) div(class=`${prefix}-statement__label`) #{termsConditionsLabel} div(class=`${prefix}-statement__value`) #{termsConditions}