
@font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 400;
    src: local('Open Sans'), local('OpenSans'), url('fonts/OpenSans400.woff') format('woff'), url('fonts/OpenSans400.svg#OpenSans') format('svg');
}
@font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 700;
    src: local('Open Sans Bold'), local('OpenSans-Bold'), url('fonts/OpenSans700.woff') format('woff'), url('fonts/OpenSans700.svg#OpenSans-Bold') format('svg');
}

body
{ margin:0px; padding:5px; background-color:rgb(250,250,250); font-family:'Open Sans'; }

a
{ color:inherit; }
span.link
{ color:inherit; text-decoration:underline; cursor:pointer; }

.content-box
{ max-width:1000px; margin:0px auto; }

.error-box
{ padding:5px; border:1px solid rgb(200,0,0); border-radius:5px; background-color:rgb(255,220,220); color:rgb(200,0,0); text-align:center; }
.warning-box
{ padding:5px; border:1px solid rgb(200,120,0); border-radius:5px; background-color:rgb(255,240,220); color:rgb(200,120,0); text-align:center; }
.success-box
{ padding:5px; border:1px solid rgb(0,150,0); border-radius:5px; background-color:rgb(220,255,220); color:rgb(0,150,0); text-align:center; }

.grey
{ color:rgb(180,180,180); }
.small
{ font-size:0.75em; }

.paper-a4
{ position:relative; width:20.9cm; height:29.5cm; margin:0.5cm auto; padding:1.5cm; background-color:rgb(255,255,255); }
.main-column > *
{ padding:0px 8px; }

.letter-address
{ float:right; width:40%; }
.letter-impressum
{ float:left; width:40%; }

.paper-a4 table
{ margin:0px; padding:0px; border-collapse:collapse; }
.paper-a4 table tr td
{ padding:1px 8px; }

.paper-a4 table.invoice-head
{ width:100%; font-size:0.75em; }
.paper-a4 table.invoice-head tr td
{ padding:0px; vertical-align:middle; white-space:nowrap; }

.paper-a4 table.rechnung
{ width:100%; }
.paper-a4 table.rechnung tr td
{ width:1px; padding:5px 8px; vertical-align:top; text-align:right; white-space:nowrap; }
.paper-a4 table.rechnung tr td:first-child
{ width:100%; text-align:left; white-space:normal; }
.paper-a4 table.rechnung tr.header-row td
{ padding:1px 6px; border-bottom:1px solid rgb(0,0,0); font-size:0.75em; text-align:left; }
.paper-a4 table.rechnung tr.total-row td
{ border-top:1px solid rgb(0,0,0); font-weight:bold; }
.paper-a4 table.rechnung tr td.prefix
{ padding-right:1px; }
.paper-a4 table.rechnung tr td.prefix + td
{ padding-left:1px; }

@media print {
   body
   { width:20.9cm; height:29.5cm; background-color:rgb(255,255,255); }
   .content-box > *
   { display:none; }
   .content-box > .paper-a4
   { display:block; position:absolute; top:0px; right:0px; bottom:0px; left:0px; margin:0px; }
}