/* Gerüst */
* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

html {
	height: 100%;
	overflow-y: scroll;
	scroll-behavior: smooth !important;
}


body {
	height: 100%;
	background: #fff;
	/*
	-moz-hyphens: auto !important;
	-o-hyphens: auto;
	-webkit-hyphens: auto;
	-ms-hyphens: auto;
	hyphens: auto;
	*/
}

#push {
	height: auto;
}


/* Ende Gerüst */



/* Sprunglinks barrierefrei */
#nav-invisible {
	position: absolute;
	top: 10px;
	left: 10px;
	font-family: 'Source Sans 3',arial,sans-serif;
	font-size: 1em;
	color: #2A4194 !important;
	width: 400px;
	z-index: 201;
}

.unvisible-link:not(:focus) {
	position: absolute;
	height: 1px;
	width: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(100%);
	white-space: nowrap;
}

.unvisible-link:focus {
	font-weight: inherit;
	color: #2A4194;
	text-decoration: underline;
	text-underline-position: auto;
	text-underline-offset: 0.2em;
	font-size: 1em;
}
/* Ende Sprunglinks barrierefrei */


.visually-hidden {
	border: 0;
	clip: rect(0 0 0 0);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
}



strong {
	font-weight: 700 !important;
}

/* Allgemeines */

* {
	margin: 0;
	padding: 0;
	border: 0;
	box-sizing: border-box;
}

.z-index-minus-1 {
	z-index: -1 !important;;
}

.z-index-plus-111 {
	z-index: 111 !important;;
}

.display-none {
	display: none !important;
}

.display-flex {
	display: flex;
}

.display-block {
	display: block !important;
}

.clearfix:after, .clear-both {
	content: "";
	/*display: table;*/
	clear: both;
}

.nowrap {
	white-space: nowrap;
}

.template-doclist-box {
	display: block;
	margin: 30px 0 0 0;
}

.possible-list ol {
	margin: 0 0 10px 30px;
}

.possible-list ul {
	margin: 0 0 10px 24px;
}

.possible-list ul li {
	line-height: 150% !important;
	margin-bottom: .2em;
}

.sitemap ul {
	margin-left: 16px;
}

ul.ul-doclist {
	list-style-type: disc;
	margin: 10px 0 0 20px;
	line-height: 200% !important;
}

p {
	margin: 0 0 1em 0;
}

p:last-child {
	margin: 0 0 -5px 0 !important;
}

.align-left, .horizontal-align-left {
	text-align: left !important;
}

.align-center, .horizontal-align-center {
	text-align: center !important;
}

.align-right, .horizontal-align-right {
	text-align: right !important;
}

.external-link {
	background-image: url(../images/external-link.png) !important;
	background-repeat: no-repeat !important;
	background-position: 0% 60% !important;
	padding: 0px 0px 0px 14px;
}

.external-link:hover {
	background-color: #FFCC01 !important;
}

.preview {
	background: #fff url(../images/bg-preview.gif) repeat 50% 50% !important;
}

.mark-search-string {
	background: #FFCC01 !important;
	color: #2A4194 !important;
	padding: 0 3px 0 3px;
	font-weight: 600;
}

::selection {
	background: #2A4194;
	color: #fff;
}

.width100pr {
	width: 100% !important;
}

address {
	display: none;
}

.top-menu-icon-mail {
	background: transparent url(../images/icon-service-mail.svg) no-repeat 0 50%;
}

.top-menu-icon-phone {
	background: transparent url(../images/icon-service-phone.svg) no-repeat 0 50%;
}

.top-menu-icon-adress {
	background: transparent url(../images/icon-service-adress.svg) no-repeat 0 50%;
}

:target {
	display: block;
	position: relative;
	top: -190px;
	visibility: hidden;
}

/* Ende Allgemeines */



/* Iframes */
.elastic-iframe {
	position: relative;
	padding-bottom: 55%;
	padding-top: 15px;
	height: 0;
	overflow: hidden;
}

.elastic-iframe iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

iframe {
	display: block;
}
/* Ende Iframes */



/* Bilder */
img {
	display: block;
	max-width: 100%;
	height: auto;
	vertical-align: middle;
	font-style: italic;
}

.logo {
	position: relative;
	z-index: 10000;
}

.template-pic {
	max-width: 100%;
	height: auto;
	margin-top: 5px;
	/* margin-bottom: 5px; */
}

.template-faq-pic, .template-tab-pic {
	max-width: 100%;
	height: auto;
	margin-top: 10px;
}

.template-slider-pic {
	max-width: 100%;
	height: auto;
	margin-top: 7px;
}

.template-pic-11 {
	max-width: 100%;
	width: 100%;
	height: auto;
}
/* Ende Bilder */



/* Maps */
.map-template-box {
	grid-column: 1 / 2;
	grid-row: 1 / 2;
		display: grid;
		grid-template-columns: 1fr 1fr;
		grid-template-rows: 1fr;
		grid-gap: 20px;
}

	.map-template-box-inner-left {
		grid-column: 1 / 2;
		grid-row: 1 / 2;
	}

	.map-template-box-inner-right {
		grid-column: 2 / 3;
		grid-row: 1 / 2;
	}
/* Ende Maps */



/* Videos */
.video-template-box {
	grid-column: 1 / 2;
	grid-row: 1 / 2;
		display: grid;
		grid-template-columns: 1fr 1fr;
		grid-template-rows: 1fr;
		grid-gap: 20px;
}

	.video-template-box-inner-left {
		grid-column: 1 / 2;
		grid-row: 1 / 2;
	}

	.video-template-box-inner-right {
		grid-column: 2 / 3;
		grid-row: 1 / 2;
	}
/* Ende Videos */



/* Tabellen */
.table-collapse {
	border-collapse:collapse;
}

.table-row {
	display: table-row;
	width:100%;
}

.table-cell {
	display: table-cell;
}
/* Ende Tabellen */



/* Top-Pfeil (Positionierung in den RWD-Styles ) */
.back-to-top {
	z-index: 222;
	cursor: pointer;
	position: fixed;
	text-decoration: none;
	font-size: 30px;
	display: none;
	color: #FFCC01;
	outline: 2px solid #2A4194;
}

.back-to-top:hover {
	color: #2A4194;
	outline: 2px solid #fff;
}
/* Ende Top-Pfeil */



/* Galerien */
div.cssbox {
	display: block;
	margin-bottom: 0;
}

div.cssbox > a > img {
	cursor: zoom-in;
}

span.cssbox-full {
	z-index: 9999998;
	position: fixed;
	height: 100%;
	width: 100%;
	background-color: rgba(0,0,0,0.8);
	top: 0;
	left: 0;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.5s linear;
}

span.cssbox-full img {
	position: fixed;
	background-color: white;
	margin: 0;
	padding: 0;
	max-height: 80%;
	max-width: 70%;
	top: 50%;
	left: 50%;
	margin-right: -50%;
	transform: translate(-50%, -50%);
	box-shadow: 0 0 20px black;
}

.gallery-text {
	color: #fff !important;
	text-align: center !important;
	width: 100% !important;
	padding: 10px 20% 10px 20%;
	top: 0px;
	left: 50%;
	margin-left: -50%;
	position: fixed;
	background: #000 !important;
}

a.cssbox-close,
a.cssbox-prev,
a.cssbox-next {
	z-index: 9999999;
	position: fixed;
	text-decoration: none !important;
	visibility: hidden;
	color: white !important;
	font-size: 36px !important;
}

a.cssbox-close {
	top: 12px;
	right: 9px
}

a.cssbox-close::after {
	content: '';
}

a.cssbox-prev,
a.cssbox-next {
	top: 50%;
	transform: translate(0%, -50%);
}

a.cssbox-prev {
	left: 5%;
	font-size:5em !important;
}

a.cssbox-next {
	right: 5%;
	font-size:5em !important;
}

a:target ~ a.cssbox-close,
a:target ~ a.cssbox-prev,
a:target ~ a.cssbox-next {
	visibility: visible;
}

a:target > img.cssbox-thumb + span.cssbox-full,
a:target > img.cssbox-thumbnail + span.cssbox-full {
	visibility: visible;
	opacity: 1;
	pointer-events: initial;
}

span.cssbox-full {
	cursor: initial;
}

.cssbox-thumbnail {
	float:left;
	margin:0 10px 10px 0;
	object-fit: cover;
	width: 66px;
	height: 66px;
}
/* Ende Galerien */



/* Tooltip Glossar */
[data-tooltip] {
	position: relative;
	border-bottom: 1px dashed #444;
}

[data-tooltip]:before,
[data-tooltip]:after {
	display: none;
	position: absolute;
	top: 0;
}

[data-tooltip]:before {
	border-bottom: .6em solid #444;
	border-left: 7px solid transparent;
	border-right: 7px solid transparent;
	content: "";
	left: 20px;
	margin-top: 1.2em;
}

[data-tooltip]:after {
	background-color: #444;
	border-radius: 3px;
	color: #fff;
	content: attr(data-tooltip-message);
	left: 0;
	margin-top: 2em;
	padding: 10px;
	white-space: pre-wrap;
	width: 290px;
	z-index: 1000;
	font-family: arial,verdana,sans-serif;
	font-size: 13px;
	line-height: 17px;
	-webkit-box-shadow: 0px 5px 12px 0px rgba(0,0,0,0.4);
	-moz-box-shadow: 0px 5px 12px 0px rgba(0,0,0,0.4);
	box-shadow: 0px 5px 12px 0px rgba(0,0,0,0.4);
}

[data-tooltip]:hover:after,
[data-tooltip]:hover:before {
	display: block;
}

.cursor-default {
	cursor: default;
}

.cursor-pointer {
	cursor: pointer;
}
/* Ende Tooltip Glossar */


/* Datenschutz-Link Bottom */
.open-privacy-box {
	position: fixed;
	bottom: 5px;
	/*left: 40px;*/
	left: 50% !important;
	transform: translateX(-50%) !important;
	background: #4FB466 url(../images/icon-cookie.png) no-repeat 50% 50%;
	overflow: hidden;
	z-index: 1800;
	width: 40px;
	height: 40px;
	text-align: center;
	border-radius: 20px;
	-webkit-box-shadow: 0px 0px 4px 0px rgba(0,0,0,0.6);
	-moz-box-shadow: 0px 0px 4px 0px rgba(0,0,0,0.6);
	box-shadow: 0px 0px 4px 0px rgba(0,0,0,0.6);
}

.open-privacy-box:hover {
	background-color: #333;
	overflow: show;
}
/* Ende Datenschutz-Link Bottom */