@import url('https://cdn.wpt-online.de/font-awesome/6.1.1/css/all.min.css');

@page {
	size: A4 portrait;
	margin: 16mm 15mm 18mm;
}

@media print {
	*,
	*::before,
	*::after {
		box-sizing: border-box;
	}

	html,
	body {
		width: 100%;
		min-height: 0;
		margin: 0 !important;
		padding: 0 !important;
		background: #fff !important;
		color: #111 !important;
	}

	html {
		font-size: 10.5pt;
	}

	body {
		font-family: Arial, Helvetica, sans-serif;
		font-size: 10.5pt;
		line-height: 1.45;
		text-align: left;
		-webkit-print-color-adjust: exact;
		print-color-adjust: exact;
	}

	.noprint,
	.visually-hidden,
	.sr-only,
	.skip-link,
	.offcanvas,
	.navbar-toggler,
	.modal,
	.modal-backdrop,
	.toast,
	.tooltip,
	.popover,
	.carousel-control-prev,
	.carousel-control-next,
	.slick-arrow,
	.slick-dots,
	iframe,
	video,
	audio,
	script {
		display: none !important;
	}

	* {
		box-shadow: none !important;
		text-shadow: none !important;
		animation: none !important;
		transition: none !important;
	}

	.bg-primary,
	.bg-secondary,
	.bg-gray-light,
	.bg-dark,
	.text-white {
		background: transparent !important;
		color: #111 !important;
	}

	.header-main {
		position: static !important;
		margin: 0 0 8mm;
		padding: 0 0 5mm;
		border-bottom: 0.35mm solid #2b378d;
		background: #fff !important;
	}

	.header-main .navbar,
	.header-main .container {
		display: block !important;
		min-height: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
		background: transparent !important;
	}

	.navbar-brand {
		display: inline-block;
		margin: 0;
		padding: 0 !important;
	}

	.navbar-brand img {
		display: block;
		width: auto;
		height: 14mm;
		max-width: 62mm;
		object-fit: contain;
		object-position: left center;
	}

	h1,
	h2,
	h3,
	h4,
	h5,
	h6 {
		margin: 0 0 3mm;
		color: #111 !important;
		font-family: Arial, Helvetica, sans-serif;
		font-weight: 700;
		line-height: 1.18;
		text-align: left;
		page-break-after: avoid;
		break-after: avoid-page;
	}

	h1,
	.display-4,
	.fs-2 {
		font-size: 21pt !important;
	}

	h2 {
		font-size: 15pt !important;
	}

	h3 {
		font-size: 12.5pt !important;
	}

	h4,
	h5,
	h6,
	.fs-5 {
		font-size: 11pt !important;
	}

	p,
	address,
	li,
	dt,
	dd,
	blockquote {
		orphans: 3;
		widows: 3;
	}

	p {
		margin: 0 0 3.2mm;
	}

	p:last-child {
		margin-bottom: 0;
	}

	.lead {
		font-size: 11.5pt !important;
		line-height: 1.45;
	}

	.small,
	small {
		font-size: 9pt !important;
	}

	.eyebrow {
		margin: 0 0 1.5mm !important;
		color: #2b378d !important;
		font-size: 8.5pt !important;
		font-weight: 700;
		letter-spacing: 0.04em;
		text-transform: uppercase;
	}

	ul,
	ol {
		margin: 0 0 4mm;
		padding-left: 6mm;
	}

	li {
		margin-bottom: 1.2mm;
	}

	.fa-ul {
		margin-left: 0 !important;
		padding-left: 7mm;
	}

	.fa-li {
		left: -7mm !important;
		width: 5mm !important;
	}

	address {
		font-style: normal;
	}

	a,
	a:link,
	a:visited,
	.btn-link {
		color: #111 !important;
		text-decoration: none !important;
	}

	main,
	.content-main,
	.lesbar,
	section,
	article,
	.container,
	.container-fluid,
	.row,
	[class*="col-"] {
		width: 100% !important;
		max-width: none !important;
		min-height: 0 !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	.row {
		display: block !important;
	}

	[class*="col-"] {
		display: block !important;
		margin-bottom: 4mm;
	}

	section {
		margin: 0 0 8mm;
		padding: 0 !important;
	}

	section + section {
		padding-top: 0 !important;
	}

	.py-5,
	.p-4 {
		padding-top: 0 !important;
		padding-bottom: 0 !important;
	}

	.mb-4,
	.mb-3,
	.mt-3,
	.mt-4 {
		margin-top: 0 !important;
		margin-bottom: 3mm !important;
	}

	img,
	svg {
		max-width: 100%;
		height: auto;
	}

	figure {
		margin: 0 0 5mm;
		page-break-inside: avoid;
		break-inside: avoid-page;
	}

	figure img,
	.card-img-top img,
	.print-service-page > .container > .row[class*="row-cols-"] img {
		display: block;
		width: 100% !important;
		max-height: 62mm;
		object-fit: cover;
		object-position: center;
	}

	figcaption {
		margin-top: 1.5mm;
		font-size: 8.5pt;
		color: #444 !important;
	}

	.card {
		display: block !important;
		height: auto !important;
		margin: 0 0 5mm;
		overflow: visible !important;
		border: 0.25mm solid #777 !important;
		border-radius: 2mm !important;
		background: #fff !important;
		color: #111 !important;
		-webkit-box-decoration-break: clone;
		box-decoration-break: clone;
	}

	.card-body {
		display: block;
		padding: 4mm !important;
		-webkit-box-decoration-break: clone;
		box-decoration-break: clone;
	}

	.card-footer {
		padding: 0 4mm 4mm !important;
		border: 0 !important;
		background: transparent !important;
	}

	.card-title {
		margin-bottom: 2mm;
		font-size: 12.5pt !important;
	}

	.card-text {
		margin-bottom: 2.5mm;
	}

	.card-text:last-child {
		margin-bottom: 0;
	}

	.card-img-top {
		overflow: hidden;
		border: 0 !important;
		border-bottom: 0.25mm solid #aaa !important;
		border-radius: 1.7mm 1.7mm 0 0 !important;
		page-break-inside: avoid;
		break-inside: avoid-page;
	}

	.print-avoid-card-breaks .card,
	#team .card,
	#downloads .card,
	#referenzen .card {
		page-break-inside: avoid;
		break-inside: avoid-page;
	}

	.print-service-page .service-card {
		page-break-inside: auto;
		break-inside: auto;
	}

	.print-service-page .service-card .card-body {
		page-break-inside: auto;
		break-inside: auto;
	}

	.print-service-page {
		margin-bottom: 7mm;
	}

	.print-service-page > .container > .row:first-child {
		margin-bottom: 0 !important;
	}

	.print-service-page > .container > .row[class*="row-cols-"],
	.print-service-page > .container > .row:not(:first-child) {
		margin-top: 5mm !important;
	}

	.print-service-page > .container > .row > [class*="col-"],
	.print-service-page > .container > .row > .col {
		width: 100% !important;
		max-width: 100% !important;
		margin-bottom: 5mm;
	}

	.print-service-page > .container > .print-service-grid-2 {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 5mm;
	}

	.print-service-page > .container > .print-service-grid-2 > .col {
		display: block !important;
		width: auto !important;
		max-width: none !important;
		margin: 0 !important;
	}

	.print-service-grid-2 .card {
		height: 100% !important;
		margin: 0;
	}

	#team > .row {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 5mm;
	}

	#team > .row > [class*="col-"] {
		display: block !important;
		width: auto !important;
		max-width: none !important;
		margin: 0 !important;
	}

	#team .card {
		height: 100% !important;
		margin: 0;
	}

	.print-service-cta,
	.print-margin-top {
		margin: 7mm 0 0;
		padding: 0 !important;
	}

	.print-service-cta .card,
	.print-margin-top .card {
		border-color: #2b378d !important;
		page-break-inside: auto;
		break-inside: auto;
	}

	.print-service-cta .row,
	.print-service-cta [class*="col-"] {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
	}

	.print-service-cta .row > .col-xl-3 {
		margin-top: 4mm !important;
		text-align: left !important;
	}

	.btn,
	button.btn,
	a.btn {
		display: inline-block !important;
		width: auto !important;
		margin: 0;
		padding: 2.2mm 4mm !important;
		border: 0.25mm solid #2b378d !important;
		border-radius: 6mm !important;
		background: #fff !important;
		color: #111 !important;
		font: inherit;
		font-weight: 700;
		line-height: 1.2;
		text-align: left;
	}

	.nav-tabs {
		display: none !important;
	}

	.tab-content,
	.tab-pane,
	.tab-pane.fade {
		display: block !important;
		visibility: visible !important;
		opacity: 1 !important;
	}

	.tab-pane {
		margin: 0 0 7mm;
	}

	.tab-pane + .tab-pane {
		padding-top: 5mm;
		border-top: 0.25mm solid #bbb;
	}

	#locations .row.gx-2 {
		display: flex !important;
		width: 100% !important;
		gap: 1.5mm;
		flex-wrap: nowrap;
		align-items: flex-start;
	}

	#locations .row.gx-2 > .col-auto {
		display: block !important;
		flex: 0 0 5mm;
		width: 5mm !important;
		max-width: 5mm !important;
		margin: 0 !important;
	}

	#locations .row.gx-2 > .col {
		display: block !important;
		flex: 1 1 auto;
		width: auto !important;
		max-width: none !important;
		margin: 0 !important;
	}

	.print-spaced-items > div,
	#job-container > div {
		margin-bottom: 5mm !important;
	}

	.container-jobdetails .container-jobdescription,
	.container-jobdetails .container-jobinfos {
		width: 100% !important;
		max-width: 100% !important;
	}

	.container-jobinfos {
		margin-top: 6mm;
		padding: 4mm !important;
		border: 0.25mm solid #aaa;
		border-radius: 2mm;
	}

	form {
		margin-top: 5mm;
	}

	form .mb-3,
	form .mb-4,
	form .gy-4 > div {
		margin-bottom: 4mm !important;
	}

	.form-label {
		display: block;
		margin: 0 0 1mm;
		font-size: 9pt;
		font-weight: 700;
	}

	.form-control,
	.form-select {
		display: block;
		width: 100% !important;
		min-height: 9mm;
		padding: 2mm 0 !important;
		border: 0 !important;
		border-bottom: 0.25mm solid #777 !important;
		border-radius: 0 !important;
		background: #fff !important;
		color: #111 !important;
		font: inherit;
	}

	textarea.form-control {
		min-height: 28mm;
		border: 0.25mm solid #777 !important;
	}

	.form-check {
		page-break-inside: avoid;
		break-inside: avoid-page;
	}

	table {
		width: 100%;
		margin: 4mm 0;
		border-collapse: collapse;
		font-size: 9.5pt;
	}

	thead {
		display: table-header-group;
	}

	tr,
	img {
		page-break-inside: avoid;
		break-inside: avoid-page;
	}

	th,
	td {
		padding: 2mm;
		border: 0.25mm solid #999;
		vertical-align: top;
		text-align: left;
	}

	.footer-main {
		margin: 10mm 0 0;
		padding: 5mm 0 0 !important;
		border-top: 0.35mm solid #2b378d !important;
		background: #fff !important;
		font-size: 8.5pt;
		page-break-inside: avoid;
		break-inside: avoid-page;
	}

	.footer-main > .container {
		padding: 0 !important;
	}

	.footer-main > .container > .row {
		display: flex !important;
		gap: 8mm;
		flex-wrap: nowrap;
	}

	.footer-main > .container > .row > .col-12.col-lg-4 {
		flex: 1 1 50%;
		width: calc(50% - 4mm) !important;
		max-width: calc(50% - 4mm) !important;
		margin: 0 !important;
	}

	.footer-main .row.g-2 {
		display: flex !important;
		gap: 1.5mm;
		flex-wrap: nowrap;
	}

	.footer-main .row.g-2 > .col-auto {
		flex: 0 0 5mm;
		width: 5mm !important;
		margin: 0 !important;
	}

	.footer-main .row.g-2 > .col {
		flex: 1 1 auto;
		width: auto !important;
		margin: 0 !important;
	}

	.footer-main .text-center {
		text-align: left !important;
	}

	.btn.btn-link,
	button.btn-link,
	a.btn-link {
		display: inline !important;
		width: auto !important;
		margin: 0 !important;
		padding: 0 !important;
		border: 0 !important;
		border-radius: 0 !important;
		background: transparent !important;
		color: #111 !important;
		font: inherit;
		font-weight: 400;
		line-height: inherit;
		text-decoration: underline !important;
	}

	a:not(.btn):not(.card):not(.navbar-brand),
	a:not(.btn):not(.card):not(.navbar-brand):link,
	a:not(.btn):not(.card):not(.navbar-brand):visited {
		color: #111 !important;
		text-decoration: underline !important;
		text-decoration-thickness: 0.2mm !important;
		text-underline-offset: 0.5mm;
	}

	body .noprint,
	body .skip-link,
	.footer-main > .container > .row > .col-12.col-lg-2,
	.footer-main > .container.py-4 {
		display: none !important;
	}
}
