* {
	scroll-behavior: smooth;
}
html, body {
	font-size: 100%;
	font-family: Arial, Verdana;
	font-style: normal;
}
body {
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction:column;
	min-height: 100vh;
}
.grid-container{					  
	display: grid;
	grid-column: 1 / span 12;
	grid-template-columns: repeat(12, 1fr);
}
.container-xl{
	width: 100%;
	padding-right: 2.7rem;
	padding-left: 2.7rem;
	margin-right: auto;
	margin-left: auto;
}
header {
	padding-bottom: 16px;
	padding-left: 16px;
	padding-right: 16px;
	padding-top: 16px;
}
.header-title {
	font-family: Arial, sans-serif;
	font-style: normal;
	display: flex;  
	flex-direction: column;
	grid-column-start: 2; 
	grid-column-end:11;
	align-items:center;
	padding-top:5px;
	text-align: center;
}
.upper-bar{
	width:100%;
	height:8px;
	background-color:#022c48;
}
.module-title-container{
	background-color: #e5e8e9;
}
.module-title{
	display:flex; 
	flex-direction: row;
}
main {
	margin: 2.5rem;
	flex-grow: 1;
}
h1 {
  font-size: 1.4rem;
}
h2 {
  font-size: 1.3rem;
}
h3 {
  font-size: 1.2rem;
}
.h4{
	display: block;
    margin-top:1rem;
	margin-bottom:1rem;
    font-weight: bold;
}
p:first-child {
	margin: 0 !important;
}
/* Tabelle */
table {
	border: 1px solid silver;
	border-collapse: collapse; 
	margin: 0 auto;  
	padding: 0px;
	table-layout: fixed;
	min-width: 100%;
	border: 1px solid  #ecedef;	
}
.fields > thead th {
	text-align: center;
	padding: 8px;
	background-color: #005a82;
	border:1px solid #FFFFFF;
	color:#FFFFFF;
	font-weight:bold;
	text-align:center;
	position: sticky;
	top: 0;
	white-space: nowrap;
    z-index: 99;
}
table td{
	padding: 8px;
	border: 1px solid  #ecedef;	
	vertical-align: top !important;
}
table tr{
	color:#000000;
	text-align:left;
}
table tr:hover {
	color: #000000;
}
table .section-heading{
	text-align:left;
	padding-left: 2rem;
	font-size:1.1rem;
	top: 2rem;
	position:sticky;
	background-color: #f4f4f4;
	color:#005a82;
    z-index: 88;	
}
table dt{
	margin-top:0.5rem;
	color: #3d4b5a;
	font-weight:700;
}
.overview{
	border-spacing: 0;
	border-collapse: separate !important;
	border-radius: 7px;
	border: 1px solid  #ecedef;
}
.overview th:not(:last-child), table.overview td:not(:last-child){
	border-right: 1px solid  #ecedef !important;
}
.overview > thead th:first-child{
	border-top-left-radius: 7px;
}
.overview > thead th:last-child{
	border-top-right-radius: 7px;
}
.overview > thead >th{
	background-color:#f6f6f6;
	color:#000000;
	text-align:left;
	padding:1rem;
	font-weight:bold;
	position: sticky;
	top: 0;
	white-space: nowrap;
    z-index: 99;
}
.overview td {
	padding-left:1rem;
	border: none;
}
.fields tr>td>a, .overview tr>td>a{
	color: #005a82;
	cursor: pointer;
}
.fields tr>td>a:hover, .fields tr>td>a:focus, .overview tr>td>a:hover, .overview tr>td>a:focus{
	color: #005a82;
	text-decoration: none;
}
.fields tr>td:last-of-type>dl:first-child {
	padding-top: 0 !important;
	margin-top:0 !important;
	padding-bottom: 0 !important;
	margin-bottom:0 !important;
}
.fields tr>td:last-of-type>p>ul:first-child {
	margin-top:0 !important;
}
.fields tr>td:last-of-type>dl:first-of-type>dt:first-of-type {
	margin-top:0 !important;
}
.inner-table > thead > tr >th {
	padding: 0.5rem;
}
.inner-table {
	margin-top: 1rem;
}
.no-bullets {
  list-style-type: none;
  margin: 0;
  padding: 0;
}
.scrollToTop {
	background: white;
	border: .125rem solid #005a82;
	width: 3.2rem !important;
	height: 3.2rem !important;
	text-align: center;
	border-radius: 3rem;
	position: fixed;
	bottom: 1.8rem;
	right: 1.8rem;
	transition: background-color .3s;
	z-index: 1000;
	color: #005a82;
	font-size: 2.3rem;
	text-decoration: none;	
}
.scrollToTop:hover {
	cursor: pointer;
	background-color: none; 
	box-shadow: 0 0 1rem #6b7581;
	transition: all 0.33s;
}
.scrollToTop > img{
	vertical-align: middle;	
}
footer {
	background: #022c48;
	color: #ffffff;
	padding-top: 0.8rem;
	padding-bottom: 0.5rem;
}
@media screen and (forced-colors: active){
footer {
	border-top: 1px solid #cecece;
	background: transparent !important;
	color: #000000 !important;
	}
}
.brand-bmg {
	font-size: .8rem;
}
/* Druck-Layout */
@media print {
	@page {
		margin: 1cm;
		size: auto;
	}
	body.d-flex {
		display: block;
	}
	html, body, main, .container-xl {
		background: white;
		width: 100%;
		margin: 0;
		padding: 0;
	}
	.module-title{
		padding-left: 0 !important;
	}
	.fields > tr> td>a {
		color: #000000 !important;
		text-decoration:none !important;
	}
	h1, h2, h3, h4, h5, h6 {
		page-break-after: avoid;
	}
	.scrollToTop {
		display: none !important;
	}
	
	table {
		break-inside:auto;
	}
	table th.section-heading{
		padding-left: 0 !important;
		margin-top: 1rem;
		color: #000000 !important;
		font-size:1.2rem !important;
		display: block; 
	}
	footer {
		background-color: #FFFFFF;
	}
}
/* Responsive Darstellung */
@media screen and (max-width: 700px) {
	table {
		border-collapse: collapse; 
		table-layout: fixed;
		min-width: 100%;
		border:none !important;
	}
	table td{
		width: 100%;  
		display: block;
		text-align: left;
		display:flex;
		float:left;
		flex-direction:column;
	}
	table td:last-child{
		margin-bottom:1rem !important;
	}
	table .link-hint {
		padding:0 !important;
	}
	table thead{
		display:none;
	}
	table tr{
		display: block;
	}
	table td:not(:first-child){
		border-top:0px;
	}
	table th.section-heading{
		padding-left: 0.4rem;
		display:flex;
		flex-direction:row;
		position:static;
		background-color:#005a82;
		color:#FFFFFF;
		width:100%;
	}
	.fields > tr > td:nth-of-type(1):before { 
		content: "Feldname"; 
		font-weight:bold;
	}
	.fields > tr > td:nth-of-type(2):before { 
		content: "Bezeichnung"; 
		font-weight:bold;
	}
	.fields > tr > td:nth-of-type(3):before { 
		content: "Ausfüllhinweis"; 
		font-weight:bold;
	}
	.inner-table thead {
		display:none !important;
		visibility:none !important;
	}
	.inner-table > tr > td::before {
		content: attr(data-label);
		float: left;
		font-weight: bold;
	  }
	main {
		margin:0.5rem !important;
	}
	.header-title{
		grid-column: 1 / span 12;
		text-align: center;
	}
	.module-title-container > .container-xl{
		padding-left: 0.5rem !important;
	}
	h1 {
	  font-size: 1.2rem;
	}
	h2 {
	  font-size: 1.1rem;
	}
	h3, h4, .h4 {
	  font-size: 1rem;
	}	
}