@page {
size: A4 portrait;
margin: 2cm 2cm 3cm 2.5cm;
}

@page {
	@bottom-right {
	content: "Seite " counter(page) " / " counter(pages);
	}
}

@media print {
	/* hide elements */
	nav,
	header,
	footer,
	.gallery-wrapper ol {
	display: none;
	}
	
	.component header {
	display: block;
	}
	
	/* base */
	body {
	background: #fff;
	color: #000;
	}
	
	* {
	color: #000;
	margin: 0;
	padding: 0;
	border: none;
	text-align: left;
	vetical-align: top;
	}
	
	th {
	vetical-align: middle;
	}
	
	div, figure, span, figcaption, caption, table, td, th, tr, dl, dd, dt {
	color: #000;
	margin: 0;
	padding: 0;
	border: none;
	}
	
	img {
	max-width: 100%;
	}
	
	.component {
	margin-bottom: 2cm;
	}
	
	/* text style */
	* {
	font-family: 'Helvetica-Light', 'Helvetica Light', Helvetica, Arial, sans-serif, 'Sans Serif';
	font-weight: normal;
	text-rendering: optimizeLegibility;
	}
	
	input,
	button,
	textarea {
	font-family: 'Helvetica-Light', 'Helvetica Light', Helvetica, Arial, sans-serif, 'Sans Serif';
	font-weight: normal;
	}
	
	.info strong,
	.headline,
	.title-1,
	.title-2,
	.text strong,
	.text table th,
	.text table th *,
	.text table caption {
	font-weight: bold;
	}
	
	.headline {
	font-size: 20pt;
	line-height: 160%; /* 48px line-height */
	}
	
	.title-1 {
	font-size: 16pt;
	line-height: 150%;
	padding: 0.1em 0 0.4em 0; /* 48px line-height */
	}
	
	.title-2 {
	font-size: 10pt;
	line-height: 150%; /* 24px line-height */
	}
	
	.gallery .caption,
	.image figcaption,
	.text * {
	font-size: 10pt;
	line-height: 150%; /* 24px line-height */
	}

	.text p {
	padding-top: 10pt;
	display: block;
    clear: both;
	}
	
	.text p:first-child {
	padding-top: 0;
	}

	.text ol {
    list-style: decimal;
	}
	
	.text ul {
    list-style: disc;
	}
	
	.text ul, 
	.text ol {
    overflow: hidden;
    width: 100%;
    float: left;
    padding: 0 0 0 20pt;
    margin-bottom: 0;
	}

	.text li {
    position: relative;
    padding: 7pt 0 0 0;
	}

	.text table {
    width: auto !important;
    float: left;
    border-collapse: collapse;
    border-spacing: 0;
    vertical-align: top;
    border: none;
    margin-top: 7pt;
	}
	
	.text table {
	min-width: 6cm !important;
	}
	
	.text table caption {
    padding: 7pt 0;
    margin-top: -7pt;
	}
	
	.text table thead th, 
	.text table tbody tr:first-child td {
    border-top: 0.25pt solid #000;
	}
	
	.text table td:last-child, 
	.text table th:last-child {
    padding-right: 0;
	}
	
	.text table td, 
	.text table th {
    vertical-align: top;
    padding: 7pt 1em 7pt 0;
    border-bottom: 0.25pt solid #000;
	}

	/* reset */
	.text * * {
	font-size: 100% !important;
	}
	
	/* page setup */
	h1, h2, h3, h4, h5 {
	page-break-after: avoid;
	}

	.component > header,
	.text p,
	.text li,
	img {
	page-break-inside: avoid;
	}
	
    a:after {
    content:" (" attr(href) ")";
    font-weight: normal;
    word-break: break-all;
    text-decoration: none;
    }
    
    img {
    width: 100%;
    max-width: 10cm;
    margin: 0;
    padding: 0;
    font-size: 0;
    line-height: 0;
    height: auto;
    }
    
    .gallery-wrapper div, 
    .gallery-wrapper span,
    .gallery-wrapper figure,
    .gallery-wrapper figcaption,
    .slider-wrapper div, 
    .slider-wrapper span,
    .slider-wrapper figure,
    .slider-wrapper figcaption {
    margin: 0 !important;
    padding: 0 !important;
    position: relative !important;
    transform: none !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    float: left  !important;
    height: auto !important;
    }
	
	.image,
	.slider-wrapper .item,
	.gallery-wrapper .item {
	margin: 7pt 0 14pt 0 !important;
	}

	.accordion-content {
	display: block !important;
	margin-top: 7pt;
	}

}
