body {
    font-family: sans-serif;
    font-size: 11pt;
    color: #333333;
    margin: 0;
    padding: 0;
}

.invoice-container {
    width: 100%;
}

.header-centered {
    width: 100%;
    text-align: center;
    margin-bottom: 20px;
}

.logo {
    margin-bottom: 8px;
    text-align: center;
}

.invoice-logo {
    max-width: 150px;
    max-height: 70px;
    width: auto;
    height: auto;
}

.company-heading {
    text-align: center;
}

.title {
    font-size: 18pt;
    font-weight: bold;
    margin-bottom: 8px;
    color: #333333;
}

.company-details,
.company-phone,
.company-email {
    margin-bottom: 4px;
    color: #333333;
}

.two-col-table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 20px;
}

.two-col-table td {
    width: 50%;
    vertical-align: top;
}

.two-col-left {
    padding-right: 8px;
}

.two-col-right {
    padding-left: 8px;
}

.info-box {
    border: 1px solid #eeeeee;
    padding: 8px;
    background: #ffffff;
    color: #333333;
}

.info-box-title {
    display: block;
    font-size: 12pt;
    font-weight: bold;
    margin-bottom: 8px;
    color: #333333;
}

.items {
    width: 100%;
    border-collapse: collapse;
    margin-top: 10px;
    font-size: 11pt;
    color: #333333;
}

.items th,
.items td {
    border: 1px solid #eeeeee;
    padding: 6px;
    text-align: left;
    vertical-align: top;
}

.items th {
    background: #f5f5f5;
    font-weight: bold;
}

.items td.text-right,
.items th.text-right {
    text-align: right;
}

.items tfoot td,
.items tfoot th {
    font-weight: normal;
}

.items tfoot tr:last-child td,
.items tfoot tr:last-child th {
    font-weight: bold;
}

.footer {
    margin-top: 10px;
    font-size: 10pt;
    color: #7f8c8d;
    text-align: center;
}