* {
	scroll-behavior: smooth;
}
html, body {
	font-size: 100%;
	font-family: Arial, Verdana;
	font-style: normal;
}
body {
	margin: 0;
	padding: 0;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-direction:column;
	flex-direction:column;
	min-height: 100vh;
}
.grid-container{					  
	display: -ms-grid;
	display: grid;
	-ms-grid-column: 1;
	grid-column: 1 / span 12;
	-ms-grid-column-span: 12;
	-ms-grid-columns: (1fr)[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: -webkit-box;
	display: -ms-flexbox;
	display: flex;  
	-ms-flex-direction: column;  
	flex-direction: column;
	-ms-grid-column: 2;
	grid-column-start: 2; 
	-ms-grid-column-span:10; 
	grid-column-end:11; 
	-ms-flex-align:center; 
	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:-webkit-box;
	display:-ms-flexbox;
	display:flex; 
	-ms-flex-direction: row; 
	flex-direction: row;
}
main {
	margin: 2.5rem;
	-ms-flex-positive: 1;
	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;
}

/* Tabelle */
table {
	border: 1px solid silver;
	border-collapse: collapse; 
	margin: 0 auto;  
	padding: 0px;
	table-layout: fixed;
	min-width: 100%;
	border: 1px solid  #ecedef;	
}
table.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 th.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;
	font-weight:700
}
table.overview{
	border-spacing: 0;
	border-collapse: separate !important;
	border-radius: 7px;
	border: 1px solid  #ecedef;
}
table.overview th:not(:last-child), table.overview td:not(:last-child){
	border-right: 1px solid  #ecedef !important;
}
table.overview thead th:first-child{
	border-top-left-radius: 7px;
}
table.overview thead th:last-child{
	border-top-right-radius: 7px;
}
table.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;
}
table.overview td {
	padding-left:1rem;
	border: none;
}
table.fields tr>td>a, table.overview tr>td>a{
	color: #005a82;
	cursor: pointer;
}
table.fields tr>td>a:hover, table.fields tr>td>a:focus, table.overview tr>td>a:hover, table.overview tr>td>a:focus{
	color: #005a82;
	text-decoration: none;
}
.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 (-ms-high-contrast: active), (-ms-high-contrast: none) {
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;
	}
	table.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.fields thead th{
		display: none !important;
	}
	table.fields {
		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:-ms-flexbox;
		display:flex;
		float:left;
		-ms-flex-direction:column;
		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:-webkit-box;
		display:-ms-flexbox;
		display:flex;
		-ms-flex-direction:row;
		flex-direction:row;
		position:static;
		background-color:#005a82;
		color:#FFFFFF;
		width:100%;
	}
	td:nth-of-type(1):before { 
		content: "Feldname"; 
		font-weight:bold;
	}
	td:nth-of-type(2):before { 
		content: "Bezeichnung"; 
		font-weight:bold;
	}
	td:nth-of-type(3):before { 
		content: "Ausfüllhinweis"; 
		font-weight:bold;
	}
	
	main {
		margin:0.5rem !important;
	}
	.header-title{
		-ms-grid-column: 1;
		-ms-grid-column-span: 12;
		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;
	}	
}
