.imageBack {
	background-size:cover;
	background-repeat:no-repeat;
}

.bild img {
	width:100%;
	height:auto;
	display:block;
}

.buttonsBox {
	display: flex;
	align-items: center;
	justify-content: center;
}
.buttonsBox a {
	line-height:20px;
	padding:8px 25px;
	text-transform:uppercase;
	border-radius:20px;
	min-width:270px;
	font-weight:normal;
	text-align:center;
	margin:0 10px;
}
.buttonsBox.pdflinks a {
	background-color:#0966a1;
	color:#fff !important;
	transition:.2s;
}
.buttonsBox.pdflinks a:hover {
	background-color:#0a5584;
}
.buttonsBox.pagelinks a {
	background-color:#ffcd00;
	color:#fff !important;
	transition:.2s;
}
.buttonsBox.pagelinks a:hover {
	background-color:#e7bc26;
}
.textTop {
	padding-top:60px;
}

.bereichA .aussageBox {
	font-size:20pt;
	line-height:35px;
	padding-top:50px;
	display:block;
	max-width:600px;
	margin:0 auto;
}
.bereichA .aussageBox .aussage {
	background-color:#ffcd00;
	color:#fff;
	border-radius:5px;
	box-shadow:5px 5px 20px rgba(0,0,0,0.2);
	padding:30px;
}

.bereichB .contentBlockBottom {
	padding-top:20px;
}
.bereichB .textblock {
	display:flex;
}
.bereichB .textblock .text {
	background-color:#f5f5f5;
	border-radius:5px;
	box-shadow:5px 5px 20px rgba(0,0,0,0.2);
	padding:40px;
}
.bereichB .textblock .text .titel {
	font-size:24pt;
	line-height:36px;
	padding-bottom:30px;
}
.bereichB .textblock .bild {
	padding:0 0 0 40px;
}
.bereichB .textblock .bild img {
	width:auto;
}
.bereichB .textbox {
	padding:60px 0;
}
.bereichB .signaturen {
	display:flex;
}
.bereichB .signaturen .signatur .bild {
	height:70px;
	margin-bottom:10px;
}
.bereichB .signaturen .signatur .bild img {
	height:70px;
}

.bereichC .teaserBox {
	display: grid;
	grid-template-columns: repeat(3, 33.33333%);
	padding:0 5px;
}

.bereichC .teaserBox .inBox {
	padding:8px;
}
.bereichC .teaserBox .teaser {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	display:block;
	background-color:#f5f5f5;
	height:100%;
	transition:.2s;
	border-radius:5px;
	box-shadow:5px 5px 10px rgba(0,0,0,0.0);
}
.bereichC .teaserBox .teaser:hover {
	box-shadow:5px 5px 10px rgba(0,0,0,0.2);
}
.bereichC .teaserBox .teaser .titel {
	font-size:19pt;
	line-height:31px;
	padding:20px 20px 45px;
	text-align:center;
	color:#0966a1 !important;
}
.bereichC .teaserBox .teaser .bild {
	overflow:hidden;
	border-radius:5px;
}
.bereichC .teaserBox .teaser img {
	width:100%;
	height:auto;
	display:block;
}
.bereichC .teaserBox .teaser img {
	transition: transform 0.8s;
	-moz-transition: transform 0.8s;
	-webkit-transition: transform 0.8s;
	-o-transition: transform 0.8s;
	-ms-transition: transform 0.8s;
}
.bereichC .teaserBox .teaser:hover img {
	transform: scale(1.1, 1.1);
	-moz-transform: scale(1.1, 1.1);
	-webkit-transform: scale(1.1, 1.1);
	-o-transform: scale(1.1, 1.1);
	-ms-transform: scale(1.1, 1.1);
}
.bereichC .buttonsBox {
	padding-top:60px;
}

.bereichD .teaserBox {
	max-width:960px;
	margin:0 auto;
	display: grid;
	grid-template-columns: repeat(4, 25%);
	padding:0 5px;
}

.bereichD .teaserBox .inBox {
	padding:3px;
}
.bereichD .teaserBox .inBox img {
	width:100%;
	height:auto;
	display:block;
}



.bereichE .bild svg {
	display:block;
	margin:0 auto;
	box-shadow:5px 5px 10px rgba(0,0,0,0.2);
	max-width:100%;
	height:auto;
}
.bereichE .bild {
	display:block;
	padding:0 15px;
}

.bereichE .bild #balken {
	display:block;
	overflow:hidden;
	background:red;
}

.bereichE .bild.start #balken rect {
	animation: balken 5s;
	animation-iteration-count: 1;
	animation-fill-mode: forwards;
	animation-timing-function: ease;
	opacity:0; 
}

.bereichE .bild.start #legende-unten {
	animation: legende 3s;
	animation-iteration-count: 1;
	animation-fill-mode: forwards;
	animation-timing-function: ease;
	opacity:0;
}

@keyframes balken {0% {opacity:0;}100% {opacity:1}}
@keyframes legende {30% {opacity:0;}100% {opacity:1;}}





.bereichG .toptext {
	padding-bottom:40px;
}
.bereichG .buttonsBox {
	padding-top:60px;
}
.bereichG .portraitBlock {
	display: grid;
	padding:0 10px;
	grid-template-columns: 1fr 1fr;
	grid-column-gap: 50px;
	grid-row-gap: 50px;
}
.bereichG .portraitBlock .portraitBox {
	display:flex;
	background-color:#fff;
	box-shadow:5px 5px 10px rgba(0,0,0,0.2);
	border-radius:5px;
}
.bereichG .portraitBlock .portraitBox .text {
	flex:1 1 100%;
	padding:40px;
}

.bereichG .portraitBlock .portraitBox .bild {
	flex:0 0 170px;
}

.bereichG .portraitBlock .portraitBox .bild img {
	border-radius:5px;
}


.bereichH .buttonsBox {
	padding-top:60px;
}

.bereichH .textTop img {
max-width:100%;
	height:auto;
}

.bereichH .tableBox {
	margin:0 15px;
	padding:20px 0 20px;
	background:#fff;
}

.bereichH div.tabelle {
	overflow:auto;
	width:100%;
}
.bereichH div.tabelle table {
	table-layout: fixed;

	min-width:100%;
	border-collapse: collapse;
}

.bereichH div.tabelle tr {

}

.bereichH div.tabelle td {
	padding:0;
	text-align:right;
	height:40px;
	font-size:12pt;
	line-height:22px;
	white-space: wrap;
	border-bottom:1px solid #b5b5b5;
}
.bereichH div.tabelle tr:first-child {

}
.bereichH div.tabelle tr:first-child td {
	font-weight:bold;
	vertical-align:bottom;
	padding-bottom:10px;
}

.bereichH div.tabelle tr td:first-child {
	position:sticky;
	left:0;
	z-index:1;
	text-align:left;
	white-space: wrap;
	min-width:220px !important;
	z-index:0;
}

@media  only screen and (max-width: 420px) {
	.bereichH div.tabelle tr td:first-child {
		width:110px;
		min-width:110px !important;
	}
}


.bereichH div.tabelle tr td:first-child:after {
	content:'';
	position:absolute;
	left:0;
	top:0px;
	width:100%;
	height:99%;
	background-color:#fff;
	z-index:-1;
}
.bereichH div.tabelle tr.mark td:first-child:after {
	background:#feeeb3;
}
.bereichH div.tabelle tr.mark2 td:first-child:after {
	background:#e1e1e1;
}
.bereichH div.tabelle td div {
	display:inline-block;
	padding:0 10px;
}
.bereichH div.tabelle tr.mark {
	background:#feeeb3;
	font-weight:bold;
}
.bereichH div.tabelle tr.mark2 {
	background:#e1e1e1;
	font-weight:bold;
	font-style: italic;
}

.bereichI .textbildBox {
	display:flex;
}
.bereichI .textbildBox.reverse {
	flex-direction: row-reverse;
}
.bereichI .textbildBox .text {
	flex:1 1 50%;
}
.bereichI .textbildBox .bild {
	flex:1 1 50%;
}
.bereichI .optionalText {
	padding-top:60px;
}

.bereichJ .bildLegende {
	padding-top:30px;
}

.bereichK .teaserBox {
	display: grid;
	padding:0 10px;
	grid-template-columns: 1fr 1fr;
	grid-column-gap: 50px;
	grid-row-gap: 50px;
}

.bereichK .teaserBox .inBox {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	padding:8px;
	flex:1 1 50%;
}

.bereichK .teaserBox .teaser {
	display:block;
	background-color:#f5f5f5;
	height:100%;
	transition:.2s;
	border-radius:5px;
	box-shadow:5px 5px 10px rgba(0,0,0,0.2);
	position:relative;
}
.bereichK .teaserBox .teaser .titel {
	font-size:19pt;
	line-height:31px;
	padding:40px 20px 45px;
	text-align:center;
	color:#0966a1 !important;
	text-transform:uppercase;
}
.bereichK .teaserBox .teaser .text {
	padding:0 40px 40px;
}
.bereichK .teaserBox .teaser.hasLink .text {
	padding-bottom:120px;
}
.bereichK .buttonsBox {
	position:absolute;
	bottom:40px;
	display:block;
	width:100%;
	text-align:center;
	padding-bottom:10px;
}
.bereichK .buttonsBox a {
	display:inline-block;
	width:auto;
	min-width:0;
	max-width:80%;
}

.bereichL .text {
	font-family: "Open Sans", serif;
	font-size:50pt;
	line-height:62px;
	font-weight:600;
	color:#72863e;
	text-align:center;
}

:root {
	--color0:#596e1c;
	--color1:#779326;
	--color2:#95b82f;
	--color3:#aac659;
	--color4:#bfd482;
	--color5:#d5e3ac;
}


.bereichM .stroke0 {stroke:var(--color0);}
.bereichM .stroke1 {stroke:var(--color1);}
.bereichM .stroke2 {stroke:var(--color2);}
.bereichM .stroke3 {stroke:var(--color3);}
.bereichM .stroke4 {stroke:var(--color4);}
.bereichM .stroke5 {stroke:var(--color5);}

.bereichM .color0 {color:var(--color0);}
.bereichM .color1 {color:var(--color1);}
.bereichM .color2 {color:var(--color2);}
.bereichM .color3 {color:var(--color3);}
.bereichM .color4 {color:var(--color4);}
.bereichM .color5 {color:var(--color5);}

.bereichM .infoBar {
	display:flex;
	padding:5px 0;
}
.bereichM .infoBar .zahl {
	font-family: "Open Sans", serif;
	font-size:24pt;
	font-weight:bold;
	text-align:right;
	flex:0 0 130px;
	padding-bottom:5px;
}
.bereichM .infoBar .text {
	padding:5px 20px 0;
	margin-bottom:-5px;
	font-size:13pt;
}
.bereichM .chartBox {
	max-width:910px;
	margin:0 auto;
	display:flex;
}
.bereichM .infos {
	flex:1 1 100%;
}
.bereichM .infos .textBox {
	margin-right:50px;
	padding:40px;
	background-color:#fff;
	box-shadow:5px 5px 20px rgba(0,0,0,0.2);
	border-radius:5px;
}

.bereichM .chart {
	flex:0 0 250px;
	display:block;
}
.bereichM .chart.start .chart-number {
	font-family: "Open Sans", serif;
	font-size: 0.6em;
	font-weight:600;
	fill:#72863e;
	line-height: 1;
	text-anchor: middle;
	-moz-transform: translateY(0.30em);
	-ms-transform: translateY(0.30em);
	-webkit-transform: translateY(0.30em);
	transform: translateY(0.30em);
	opacity:0;
	animation: text 3s;
	animation-iteration-count: 1;
	animation-fill-mode: forwards;
}

.bereichM .chart.start .donut-ring-over {
	animation: donut 3s;
	animation-iteration-count: 1;
	animation-fill-mode: forwards;
	animation-timing-function: ease;
}
@keyframes donut {0% {stroke-dasharray: 100, 0;stroke-dashoffset:125;}100% {stroke-dasharray: 0, 100;stroke-dashoffset:25;}}
@keyframes text {30% {opacity:0;}100% {opacity:1;}}




/* RESPONSIVE */


@media  only screen and (max-width: 945px) {
	.bereichG .portraitBlock {
		display: grid;
		padding:0 10px;
		grid-template-columns: repeat(1, 100%);
		grid-column-gap: 50px;
		grid-row-gap: 50px;
	}
}

@media  only screen and (max-width: 880px) {
	.buttonsBox a {
		min-width:0;
		margin:0 10px;
	}

	.bereichB .textblock .bild img {
		max-width:150px;
	}
	.bereichC .teaserBox {
		grid-template-columns: repeat(2, 50%);
		padding:0 5px;
	}

	.bereichI .textbildBox {
		display:flex;
		flex-flow: row wrap;
	}
	.bereichI .textbildBox.reverse {
		flex-direction: row;
	}
	.bereichI .textbildBox .text {
		flex:1 1 100%;
	}
	.bereichI .textbildBox .bild {
		flex:1 1 100%;
		padding-top:40px;
	}
	.bereichI .optionalText {
		padding-top:40px;
	}

	.bereichK .teaserBox {
		grid-column-gap: 30px;
		grid-row-gap: 30px;
	}
	.bereichM .infos .textBox {
		margin-right:50px;
		padding:30px;
	}
	.bereichM .infoBar .zahl {
		flex:0 0 110px;
	}
}

@media  only screen and (max-width: 630px) {
	.buttonsBox {
		display: flex;
		align-items: center;
		justify-content: center;
		flex-flow: column;
	}
	.buttonsBox a {
		min-width:0;
		margin:10px 10px 10px;
	}

	.bereichA .aussageBox {
		font-size:16pt;
		line-height:31px;
		padding-top:30px;
	}


	.bereichB .textblock .bild {
		display:none;
	}
	.bereichB .textblock {
		display:flex;
		flex-flow: column;
	}
	.bereichB .textblock .text {
		padding:30px;
	}
	.bereichB .textblock .text .titel {
		padding-bottom:20px;
	}
	.bereichB .signaturen {
		display:flex;
		flex-flow: column;
	}
	.bereichB .signaturen .signatur {
		padding-bottom:20px;
	}
	.bereichB .signaturen .signatur .bild {
		height:70px;
		margin-bottom:10px;
	}
	.bereichB .signaturen .signatur .bild img {
		width:auto;
		height:70px;
	}
	.bereichC .teaserBox {
		grid-template-columns: repeat(1, 100%);
		padding:0 5px;
	}

	.bereichD .teaserBox {
		grid-template-columns: repeat(2, 50%);
	}
	.bereichK .teaserBox {
		display: grid;
		padding:0 10px;
		grid-template-columns: repeat(1, 100%);
		grid-column-gap: 30px;
		grid-row-gap: 30px;
	}
	.bereichK .teaserBox .teaser .titel {
		padding:40px 20px 30px;
	}

	.bereichM .chartBox {
		margin:0 auto;
		display:flex;
		flex-flow: row wrap;
	}
	.bereichM .infos {
		flex:1 1 100%;
	}
	.bereichM .infos .textBox {
		margin-right:0;
		padding:20px;
	}

	.bereichM .chart {
		padding-top:40px;
		flex:0 0 250px;
		display:block;
		margin:0 auto;
	}

	.bereichM .infoBar .zahl {
		font-size:20pt;
		font-weight:bold;
		text-align:right;
		padding-bottom:5px;
		flex:0 0 90px;
	}
	.bereichM .infoBar .text {
		padding:5px 20px 0;
		margin-bottom:-5px;
		font-size:13pt;
		line-height:22px;
	}


}

@media  only screen and (max-width: 420px) {
	.bereichG .portraitBlock .portraitBox {
		display:flex;
		flex-flow: row wrap;
	}
	.bereichG .portraitBlock .portraitBox .text {
		flex:1 1 100%;
		padding:30px;
		order: 2;
	}
	.bereichG .portraitBlock .portraitBox .bild {
		flex:1 1 100%;
		order: 1
	}
}



