mirror of
https://github.com/kevinpapst/kimai2.git
synced 2024-12-22 12:18:29 +00:00
340 lines
7.6 KiB
SCSS
340 lines
7.6 KiB
SCSS
/*
|
|
* This file is part of the Kimai time-tracking app.
|
|
*
|
|
* For the full copyright and license information, please view the LICENSE
|
|
* file that was distributed with this source code.
|
|
*/
|
|
|
|
@import "bootstrap/scss/functions";
|
|
@import "bootstrap/scss/variables";
|
|
@import "bootstrap/scss/variables-dark";
|
|
@import "bootstrap/scss/maps";
|
|
@import "bootstrap/scss/mixins";
|
|
@import "bootstrap/scss/utilities";
|
|
|
|
@import "bootstrap/scss/reboot";
|
|
@import "bootstrap/scss/type";
|
|
@import "bootstrap/scss/grid";
|
|
@import "bootstrap/scss/tables";
|
|
@import "bootstrap/scss/list-group";
|
|
@import "bootstrap/scss/card";
|
|
|
|
body {
|
|
font-family: $font-family-sans-serif;
|
|
|
|
&.invoice_print {
|
|
--bs-body-font-size: 13px;
|
|
background-color: #eee;
|
|
|
|
.table.no-border, .table.no-border td, .table.no-border th {
|
|
border: 0;
|
|
}
|
|
|
|
h1, h2, h3 {
|
|
font-family: $font-family-sans-serif;
|
|
}
|
|
|
|
.mt-2 {
|
|
margin-top: 2em;
|
|
}
|
|
|
|
.mb-3 {
|
|
margin-bottom: 3em;
|
|
}
|
|
|
|
.pt-1 {
|
|
padding-top: 1em;
|
|
}
|
|
|
|
.pb-4 {
|
|
padding-bottom: 4em;
|
|
}
|
|
|
|
.ps-0 {
|
|
padding-left: 0;
|
|
}
|
|
|
|
.bt-1 {
|
|
border-top: 1px solid #000000;
|
|
}
|
|
|
|
.pull-right {
|
|
float: right;
|
|
}
|
|
|
|
.text-end {
|
|
text-align: right;
|
|
}
|
|
|
|
.invoice {
|
|
margin: 105px auto 30px auto;
|
|
padding: 50px 65px;
|
|
min-height: 297mm;
|
|
position: relative;
|
|
max-width: 210mm;
|
|
box-shadow: 0 0 20px rgba(80, 80, 80, 0.7);
|
|
background: #fff;
|
|
border: none;
|
|
}
|
|
|
|
.page-header {
|
|
margin: 10px 0 20px 0;
|
|
font-size: 20px;
|
|
|
|
> small {
|
|
display: block;
|
|
margin-top: 5px;
|
|
}
|
|
|
|
h3 {
|
|
border-color: #ddd;
|
|
}
|
|
}
|
|
|
|
div.invoice-address {
|
|
margin-top: 30px;
|
|
margin-bottom: 30px;
|
|
}
|
|
|
|
table.invoice-meta th {
|
|
padding-right: 40px;
|
|
}
|
|
|
|
table.invoice-sum th {
|
|
width: 70%;
|
|
}
|
|
|
|
table.invoice-sum th, table.invoice-sum td {
|
|
text-align: right;
|
|
}
|
|
|
|
.text-left {
|
|
text-align: left;
|
|
}
|
|
.text-right {
|
|
text-align: right;
|
|
}
|
|
|
|
.invoice-items {
|
|
.table {
|
|
thead th {
|
|
font-weight: bold;
|
|
border-bottom: 1px solid #ddd;
|
|
padding-bottom: 10px
|
|
}
|
|
|
|
tfoot {
|
|
border-top: 1px solid #ddd;
|
|
|
|
tr:first-child th,
|
|
tr:first-child td {
|
|
padding-top: 15px
|
|
}
|
|
|
|
tr {
|
|
th, td {
|
|
border: none;
|
|
padding: 4px 8px;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
.footer {
|
|
border-top: 1px solid #ccc;
|
|
margin-top: 50px;
|
|
font-size: 0.8em;
|
|
padding-top: 10px;
|
|
width: 100%;
|
|
}
|
|
|
|
/* ================================ FREELANCER INVOICE ================================ */
|
|
|
|
#freelancer-invoice {
|
|
|
|
box-sizing: border-box;
|
|
|
|
h1 {
|
|
font: bold 100% sans-serif;
|
|
letter-spacing: 0.5em;
|
|
text-align: center;
|
|
text-transform: uppercase;
|
|
}
|
|
|
|
h2 {
|
|
font: bold 1.5em sans-serif;
|
|
margin-bottom: 1em;
|
|
}
|
|
|
|
/* table */
|
|
|
|
table {
|
|
width: 100%;
|
|
}
|
|
|
|
table {
|
|
border-collapse: separate;
|
|
border-spacing: 0;
|
|
}
|
|
|
|
/* header */
|
|
|
|
header {
|
|
&:after {
|
|
clear: both;
|
|
content: "";
|
|
display: table;
|
|
font-size: 1em;
|
|
}
|
|
|
|
address {
|
|
float: left;
|
|
font-style: normal;
|
|
line-height: 1.25;
|
|
margin: 0 1em 1em 0;
|
|
font-size: 0.7em;
|
|
}
|
|
}
|
|
|
|
article address {
|
|
font-size: 1em;
|
|
float: left;
|
|
}
|
|
|
|
article.address {
|
|
margin: 1em 0 1.5em 0;
|
|
}
|
|
|
|
/* article */
|
|
|
|
article:after {
|
|
clear: both;
|
|
content: "";
|
|
display: table;
|
|
}
|
|
|
|
article h1 {
|
|
clip: rect(0 0 0 0);
|
|
position: absolute;
|
|
}
|
|
|
|
article p {
|
|
margin-bottom: 20px;
|
|
}
|
|
|
|
/* table meta & balance */
|
|
|
|
table.meta:after, table.balance:after {
|
|
clear: both;
|
|
content: "";
|
|
display: table;
|
|
}
|
|
|
|
/* table meta */
|
|
|
|
table.meta {
|
|
float: right;
|
|
width: 50%;
|
|
font-size: 85%;
|
|
|
|
th {
|
|
text-align: right;
|
|
font-weight: normal;
|
|
}
|
|
|
|
td {
|
|
width: 120px;
|
|
text-align: right;
|
|
}
|
|
}
|
|
|
|
/* table balance */
|
|
|
|
table.balance {
|
|
float: right;
|
|
margin-top: 1em;
|
|
|
|
th {
|
|
text-align: right;
|
|
font-weight: normal;
|
|
}
|
|
|
|
td {
|
|
width: 140px;
|
|
text-align: right;
|
|
line-height: 22px;
|
|
}
|
|
|
|
.total {
|
|
font-weight: bold;
|
|
}
|
|
}
|
|
|
|
/* table items */
|
|
|
|
table.inventory {
|
|
clear: both;
|
|
width: 100%;
|
|
margin-top: 2em;
|
|
border-bottom: 1px solid #000;
|
|
}
|
|
|
|
table.inventory th,
|
|
table.inventory td {
|
|
padding: 5px;
|
|
}
|
|
|
|
table.inventory thead th {
|
|
font-weight: bold;
|
|
border-width: 0 0 1px 0;
|
|
border-bottom: 1px solid #000;
|
|
padding-bottom: 15px
|
|
}
|
|
|
|
table.inventory tbody tr:first-child td {
|
|
padding-top: 15px
|
|
}
|
|
|
|
table.inventory tbody tr:last-child td {
|
|
padding-bottom: 15px
|
|
}
|
|
|
|
.footer {
|
|
border-color: #000;
|
|
}
|
|
}
|
|
|
|
/* ================================ PRINTING RULES ================================ */
|
|
|
|
@media print {
|
|
* {
|
|
-webkit-print-color-adjust: exact;
|
|
}
|
|
body, .wrapper {
|
|
margin: 0;
|
|
padding: 0;
|
|
background-color: white;
|
|
}
|
|
#freelancer-invoice {
|
|
span:empty {
|
|
display: none;
|
|
}
|
|
|
|
.add, .cut {
|
|
display: none;
|
|
}
|
|
}
|
|
.invoice {
|
|
margin: 1em 2em;
|
|
font-size: 90%;
|
|
width: unset;
|
|
padding: 0;
|
|
min-height: unset;
|
|
position: unset;
|
|
max-width: unset;
|
|
box-shadow: unset;
|
|
}
|
|
}
|
|
}
|
|
} |