html, button, input, select, textarea, .pure-g [class *= "pure-u"] {
	font-family: "Source Sans Pro", Helvetica, Arial, sans-serif;
	font-size: 18px;
	color: #495057;
}

body {
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
	margin-top: 20px;
	padding-left: 2em;
	padding-right: 2em;
}

h1, .h1 {
	font-weight: 700;
	font-size: 2.8em;
	margin-block-end: 0;
	margin-top: 1em;
	margin-bottom: 0.2em;		
}

h2, .h2 {
	font-weight: 700;
	font-size: 2.2em;
	margin-block-end: 0;
	margin-top: 1em;
	margin-bottom: 0.2em;		
}

h3, .h3 {
	font-weight: 700;
	font-size: 1.6em;
	margin-block-end: 0;
	margin: 0.67em 0;
}

h4, .h4 {
	font-weight: 700;
	font-size: 1.2em;
	margin-block-end: 0;
	margin-top: 1em;
	margin-bottom: 0.2em;	
}

p {
	line-height: 1.5rem;
	/* margin-bottom: 1.5rem; */
}

hr {
	border-top: 1px dashed #ccc;
	border-bottom: 1px dashed #fff;
}

table {
	border-collapse: collapse;	
}

th, td {
	text-align: left;
}

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

th:first-child, td:first-child {
	padding: 0 10px 2px 0;
}

th:not(:first-child), td:not(:first-child) {
	padding: 0 10px 2px 5px;
}

table thead {
	text-align: left;
	font-weight: bold;
}

nav ul {
  list-style-type: none;
	padding-inline-start: 0;
}

nav ul>li {
  display: inline-block;
	margin-right: 10px;
}

nav {
  display: flex;
}

nav .logo {
  width: 40px;
  display: inline-block;
  height: auto;
  object-fit: contain;
  margin-right: 40px;
}

nav ul li a {
  text-decoration: none;
  font-weight: 600;
  font-size: 1.2rem;
  color: #495057;
}

nav ul li a:hover {
  text-decoration: underline 3px solid #ffbf00;
  color: #212529;
}

li {
  line-height: 1.5em;
}

label {
  display: block;
	margin-top: 14px;
	margin-bottom: 4px;
	font-weight: bold;
}

textarea, input, select {
	outline: none;
}

textarea, input[type="text"], input[type="password"] {
	width: calc(100% - 12px);
	padding: 6px;
}

input[type="checkbox"], input[type="radio"] {
	display: inline;
	margin-right: 10px;
}

textarea {
	height: 200px;
	resize: vertical;
}

textarea.code {
	font-family: monospace;
	font-size: 0.8rem;
}

input.one-half {
	width: 50%;
}

.form-buttons {
	text-align: right;
	margin-top: 1em;
	font-size: 1.2em;
}

.btn.full-width {
	width: 100%;
	display: block;
	margin: 0 auto;
}

a, .a {
  text-decoration: none;
  color: #212529;
	cursor: pointer;
}

a:hover, .a:hover {
  text-decoration: underline 3px solid #ffbf00;
}

a.btn {
	display: inline-block;
}


.btn {
	background-color: #ffbf00;
	color: #343a40;
	padding: 5px 8px;
	border-radius: 4px;
	border: 1px solid #E0A800;
	font-size: 1em;
	cursor: pointer;
	outline: none;
	margin-right: 10px;
}

.btn.last {
	margin-right: 0;
}

.btn.small {
	font-size: 0.8em;
	padding: 2px 4px;
}

.btn a {
	color: white;
}

img.module-icon {
	width: 80px;
	float: left;
	margin: 0 20px 20px 0;
	vertical-align: top;
}

.line-item-wrapper {
	padding: 0 20px 20px 20px;
	background-color: #fafafa;
	border: 1px solid #ccc;
	margin-top: 20px;
}

.line-item-handle {
	text-align: center;
	padding-top: 10px;
}

.sort-handle {
	cursor: grab;
	width: 32px;
}

.line-item-header p {
	margin-block-start: 0;
}

.line-item-header h3 {
	display: flex;
}

.line-item-actions {
	clear: both;
}

.line-item-actions span {
	display: inline-block;
	margin-right: 20px;
}

.line-item-actions input[name^="sort_order-"], .line-item-actions input[name^="line_item_quantity-"] {
	margin-left: 10px;
	max-width: 40px;
}

.line-item-content {
	clear: both;
}

.line-item-content:not(.has-note) .pelleditor {
	display: none;
}

.line-item-note-header {
	cursor: pointer;
}

/* #proposal-form button[type="submit"] {
	position: fixed;
	top: 5px;
	right: 2em;
} */

#add-products-wrapper {
	position: fixed;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	background-color: rgba(0,0,0,0.5);
	visibility: hidden;
}

#add-products {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 80vw;
	min-height: 580px;
	min-width: 400px;
	max-width: 680px;
	background-color: white;
	padding: 20px;
	border: 1px solid #dedede;
	border-radius: 5px;
	display: flex;
	display: -webkit-flex;
	flex-wrap: wrap;
	visibility: hidden;
	flex-direction: column;
	align-items: stretch;
	justify-content: flex-start;
	align-content: stretch;
}

#add-products-close {
	position: absolute;
	top: 4px;
	right: 10px;
	cursor: pointer;
	font-size: 1.5em;
	font-weight: bold;
	color: #999;
}

.flex-item {
	flex: 0 0 auto;
}

.products-modal-body {
	overflow-y: scroll;
	margin-top: 10px;
	max-height: 60vh;
	min-height: 460px;
	border: 1px solid #dedede;
}

.products-modal-footer {
	margin-top: 10px;
}

.item.variant {
	padding-left: 10px;
}

.item .product-icon {
	width: 30px;
	margin: 10px 10px 10px 0;
	vertical-align: middle;
}

.formfields .row:nth-child(odd) {
	background-color: #fafafa;
}

.formfields .row {
	padding: 5px;
	border-bottom: 1px solid #dedede;
}

#load-products {
	display: inline-block;
	margin-top: 10px;
}

#add-products h1, #add-products h2, #add-products h3 {
	margin-block-start: 0;
}

img.loading {
	vertical-align: bottom;
	visibility: hidden;
}

tr.abgelaufen td, tr.abgelaufen td a {
	color: #ccc !important;
}

tr.abgelaufen td a {
	border-bottom: 2px solid #ccc;
}

tr.beauftragt td, tr.beauftragt td a {
	color: #11b618 !important;
}

tr.status-storniert td, tr.status-storniert td a {
	color: #ccc !important;
}

body.print {
	background: rgb(204,204,204);
	padding-left: 0;
	padding-right: 0;
}
page {
  background: white;
  display: block;
  margin: 0 auto;
  margin-bottom: 0.5cm;
	box-shadow: 0 0 0.5cm rgba(0,0,0,0.5);
	position: relative;
	font-size: 9pt;
}
page[size="A4"] {  
  width: 21cm;
	/* height: 29.7cm;  */
	/* padding-top: 1.9cm; */
	padding-bottom: 1cm;
}

page[size="A4"] .inner {
	margin: 1.9cm 1.9cm 1.9cm 1.9cm;
	padding-top: 1.9cm;
	/* position: absolute; */
	/* width: 17.5cm; */
}

page p {
	line-height: 1.5;	
}

page .logo {
	width: 0.9cm;
	/* margin-top: 1.9cm; */
	display: block;
}

page #envelope-window {
	margin-top: 2.5cm; /* Fenster beginnt 5 cm vom oberen Rand, abzgl. in den Druckereinstellungen konfigurierter Seitenrand von 1,5 cm, abzgl. Logo */
}

page #envelope-window #sender {
	font-size: 7pt;
	border-bottom: 0.01cm solid #ccc;
	padding-bottom: 0.05cm;
	display: inline-block;
}

page #tbdata {
	position: absolute;
	top: 1.9cm;
	right: 1.9cm;
	text-align: right;
}

page #recipient p, page #tbdata p {
	line-height: 1.2;
}

#totals p:first-child {
	margin-bottom: 0;
}

#totals p:not(:first-child) {
	margin-top: 0;
	margin-bottom: 0;
}

page #tbdata p:first-child {
	margin-top: 0;
}

page #subject {
	margin-top: 1.2cm;
}

page #subject > p {
	margin-top: 0;
}

page #content {
	margin-top: 0.5cm;
}

page #itemtable {
	width: 100%;
}

page #itemtable thead {
	/* border-bottom: 0.01cm solid #000; */
}

page #itemtable thead th {
	padding-bottom: 0.15cm
}

page #itemtable thead th:last-child, page #itemtable tbody td:last-child {
	padding-right: 0;
}

page #itemtable td {
	vertical-align: text-top;
}

page #totals {
	border-top: 0.01cm solid #ccc;
	margin-top: 0.5cm;
	border-bottom: 0.01cm solid #ccc;
	margin-bottom: 0.5cm;
	padding-bottom: 1em;
}

page #totals p {
	text-align: right;
	line-height: 1.5;;
}

page #totals span {
	display: inline-block;
}

.totals-label {
	margin-right: 0.5em;
}

.table-input {
	border: none;
	font-size: inherit;
	line-height: inherit;
	width: 100%;
}

td.number input {
	text-align: right;
}

#itemtable textarea {
	height: 1em;
	min-width: 9cm;
	padding: 0;
	vertical-align: text-top;
	min-height: 1em;
	/* height: max-content; */
}

.delete-row {
	position: absolute;
	left: 1.3cm;
}

.main-wrapper {
	max-width: 860px;
	margin: 0 auto;
}

@media print {
	.noprint {
		display: none !important;
	}
  body, body.print, page, page[size="A4"] .inner {
		background-color: white;
    margin: 0;
    box-shadow: none;
	}
	page[size="A4"] {
		width: auto;
		height: auto;
		padding-top: 0;
		padding-bottom: 0;
	}
	page[size="A4"] .inner {
		margin: 0;
		padding: 0;
		width: auto;
	}
	page #tbdata {
		top: 0;
		right: 0;
	}	
	page .logo {
		margin-top: 0;
	}	
}

.pell-button {
  font-size: 16px;
}
