body {
    margin: 0;
    padding: 0;
    background-color: #FAFAFA;
    font: 12pt "Tahoma";
}
* {
    box-sizing: border-box;
    -moz-box-sizing: border-box;
}
.page {
    width: 21cm;
    min-height: 29.7cm;
    /*padding: 1cm;*/
    margin: 1cm auto;
    border: 1px #D3D3D3 solid;
    border-radius: 5px;
    background: white;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
}
.subpage {
    padding: 1cm;
    height: 237mm;
    /*border: 5px red solid;
    outline: 2cm #FFEAEA solid;*/
}

h1 {
    font-size:18px;
    -webkit-margin-after:0.2em;
    -webkit-margin-before:0.2em;
}

h2 {
    font-size:12px;
}

h5 {
    padding:0;
    margin:0;
}

th {
    font-size:12px;
    padding:10px 0 5px 0;
}

p.reg {
    position:relative;
    top:-4px;
    -webkit-margin-after:0.8em;
    -webkit-margin-before:0.8em;
}

#itemsTable tfoot tr th {
    padding:5px 0 5px 0;
}

.invoiceTotalCols {

    text-align:right;
}

#companyInfo p {
    font-size:12px;
    font-weight:bold;
}

#addressInfo p {
    font-weight:bold;
    font-size:12px;
    padding-bottom:3px;
}

#contactInfo p {
    font-size:12px;
}

#invoiceInfo p {
    font-size:12px;
}

#companyInfo {
    width:60%;
    float:left;
}

#addressInfo {
    width:40%;
    float:left;
    text-align:right;
}

#invoiceInfo {
    width:100%;
}

#invoiceInfoLeft {
    width:70%;
    float:left;
}

#invoiceInfoRight {
    width:30%;
    float:left;
    text-align:right;
}

#transactions {
    width:100%;
}

table {
    border-spacing:0;
}

#itemsTable {
    width:100%;
}

.tableHeaderLeft {
    width:40%;
    border-bottom:solid 1px #999;
    text-align:left;
}

.tableHeaderColour {
    width:15%;
    border-bottom:solid 1px #999;
}

.tableHeaderQuantity {
    width:15%;
    border-bottom:solid 1px #999;
}

.tableHeaderPrice {
    width:15%;
    border-bottom:solid 1px #999;
}

.tableHeaderRight {
    width:15%;
    border-bottom:solid 1px #999;
}

.tableBodyLeft {
    text-align:left
}

.tableBodyRight {
    border-left:solid 1px #999;
}

.tableFooterLeft, .tableFooterRight, .tableFooterCentre {
    border-top:solid 1px #999;   
}

#footer {
    position: relative;
    bottom: 0;
    margin:0 20px 0 20px;
}

#conditions {
    text-align:center;
    font-size:10px;
}

th.invoiceDimensions {
    font-weight:normal;
    font-size:11px;
    padding:0;
}

th.lineEventDate {
    font-weight:normal;
    font-size:11px;
    text-align:center;
    padding:0;
}

th.lineItemNotes, th.lineItemSNotes {
    font-weight:normal;
    font-size:11px;
    text-align:left;
    padding:0;
}

#signature {
    font-size:12px;
    border:solid 1px #999;
    padding:0 10px 0 10px;
}

@page {
    size: A4;
    margin: 0;
}
@media print {
    .page {
        margin: 0;
        border: initial;
        border-radius: initial;
        width: initial;
        min-height: initial;
        box-shadow: initial;
        background: initial;
        page-break-after: always;
    }
}