html, body {
    margin: 0;
    border: 0;
    font-family: Arial, Helvetica, sans-serif;
}

.layout {
    display: grid;
    grid-template-rows: auto auto auto auto auto auto 1fr;
    grid-template-columns: 1fr;
}

.header {
    background-color: rgb(13 23 68);
    display: grid;
    grid-template-rows: 1fr;
    grid-template-columns: 1fr auto auto;
    color: white;
    padding-top: 1em;
    padding-bottom: 1em;
}

.left {
    text-align: left;
}

.right {
    text-align: right;
}

input {
    border: none;
    background: none;
    width: 100%;
}

input[type="date"]::-webkit-inner-spin-button,
input[type="date"]::-webkit-calendar-picker-indicator {
    opacity: 0;
}

input[type="date"] {
    color: white;
}

.sub-header {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: 1fr;
    color: white;
    background-color: rgb(33 34 48);
    padding: 1em;
    border-top: 1px solid white;
    column-gap: 3em;
}

.to-from {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: 1fr;
    border-bottom: solid 2px grey;
}

.to-from > div:not(:last-child) {
    border-right: solid 2px grey;
    padding-left: 1em;
}

.to-from > div:last-child {
    padding-left: 1em;
}

.to-from > div {
    padding-top: 1em;
    padding-bottom: 1em;
}

.contact {
    margin-right: 1em;
}

.description {
    width: 50%;
}

.invoice-number {
    width:2em;
    color: white;
}

.grand-total {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr;
    margin-top: 1em;
    padding-bottom: 1em;
    border-bottom: solid 2px grey;
    padding-left: 1em;
    padding-right: 1em;
    font-size: 1.2em;
}

.grand-total > div:last-child {
    text-align: right;
}

.signature {
    text-align: right;
    padding-right: 1em;
    padding-top: 1em;
}

.signature > img {
    width: 10em;
    padding-top: 1em;
}

.add-row {
   text-align: right;
   font-size: small; 
   padding-right: 1.5em;
   padding-top: 0.5em;
   cursor: pointer;

}

@media print {
    .add-row {
        display: none;
    }
}

.add-row:hover {
    color: blue;
}

.items {
    margin-top: 1em;
    margin-left: 1em;
    margin-right: 1em;
    border-bottom: 1px solid grey;
    padding-bottom: 1em;
}

.items th:first-child {
    text-align: left;
}

.items th:not(:first-child) {
    text-align: right;
}

.items > tbody tr td:not(:first-child) {
    text-align: right;
}

.items td {
    font-size: 0.9em;
    padding: 0.2em;
}

.items > tbody > tr:nth-child(odd) {
    background-color: lightgrey;
}

.items > tbody > tr:nth-child(even) {
    background-color: rgb(240, 240, 240);
}

.items > thead > tr {
    border-bottom: solid 1px grey;
}

.sub-header-col {
    display: grid;
    grid-template-columns: 1fr auto;
    grid-template-rows: 1fr;
}

.pay-total {
    font-size: 2em;
    color: grey;
}

.bold {
    font-weight: bold;
}

.caps {
    font-variant: small-caps;
}

.small {
    font-size: 0.9em;
}

.title {
    font-size: 3em;
    align-content: center;
    display: grid;
    margin-left: 1em;
}

.sub-title {
    margin-bottom: 1em;
    font-size: 1.3em;
}

.hide {
    display: none;
}

.show {
    display: initial;
}
