/* Var Definitions */
header {
	--bg-color: var(--logo-color-1-dark, #888888);
	--font-color: var(--font-color-light, #ffffff);
	--button-bg-color: var(--logo-color-1, #007559);
	--link-color: var(--font-color-light, #ffffff);
	--h1-color: var(--font-color-light);
	--h2-color: var(--font-color-light);
	--h3-color: var(--font-color-light);
}

footer {
	--bg-color: var(--logo-color-1-dark, #888888);
	--font-color: var(--font-color-light, #ffffff);
	--button-bg-color: var(--logo-color-1, #007559);
	--link-color: var(--font-color-light, #ffffff);
	--h1-color: var(--font-color-light);
	--h2-color: var(--font-color-light);
	--h3-color: var(--font-color-light);
}

.print { background: none; }
body.popup {
	background-image: none;
	background-color: #fff;
}
body.popup #middle {
	padding: 15px;
}
header, #middle, footer { position: relative; }
#middle.nos { box-shadow: none; }
header { z-index: 30; }
#middle { z-index: 2; }
footer { z-index: 20; background: var(--bg-color);}

/* Top */
header {
	background-color: var(--bg-color);
	border-bottom: 1px solid #ccc;
	width: 100%;
}
header.Sticky {
	position: sticky;
	top: 0;
	left: 0;
}
.scrolled header.Sticky {
	background: rgba(255,255,255,0.8);
}

header.fixed { position: fixed; top: 0; left: 0; width: 100%; }
header.fixed + .headspace { min-height: 160px; }	/* rho Ausgleich für fehlende Höhe des absolut positionierten Headers */

header aside { text-align: right; }

.sitenav {
	position: absolute;
	top: 10px;
	right: 10px;
}
.LayoutTop {
	padding-top: 5px;
	padding-bottom: 5px;
}
.LayoutTop .logo {
	display: inline-block;
}
.LayoutTop .logo img {
	max-width: 100%;
}
@media all and (min-width: 1200px) {
	header .navi, header .navResponsive {display: none;}
}
@media all and (max-width: 1199px) {
	header .navidrop, header .navMega {
		display: none;
	}
}

/* Middle */
#middle.nos {
	box-shadow: none;
}
.LayoutMiddle {
	line-height: 150%;
}
section.main {
	order: 2;
	width: 100%;
}
section.main.hasLeft.hasRight {
	width: 49%;
}
nav.side,
aside.side {
	width: 23.5%;
}
#left {
	-ms-flex-order: 1;
	order: 1;
}
#right {
	-ms-flex-order: 3;
	order: 3;
}
section.main.hasLeft,
section.main.hasRight {
	width: 74.5%;
}
@media all and(max-width: 850px) {
	section.main.hasLeft.hasRight {
		width: 100%;
	}
}
@media all and (max-width: 600px) {
	section.main.hasLeft,
	section.main.hasRight,
	section.main.hasLeft.hasRight,
	#left, #right { width: 100%; }
	#right { -ms-flex-order: 2; order: 2; }
	section.main { -ms-flex-order: 3; order: 3; }
	.main.hasLeft,
	.main.hasRight { margin: 0; }
}

/* Bottom */
footer {
	border-top: 1px solid #ccc;
}
footer.fixed {
	position: fixed;
	bottom: 0;
	width: 100%;
}
footer .footnav {
	margin: 0;
}
.LayoutBottom {
	padding-top: 5px;
	padding-bottom: 5px;
	text-align: center;
	color: var(--font-color-light);
}


.ScrollTop {
	position: fixed;
	bottom: 30px;
	right: 30px;
	width: 35px;
	height: 35px;
	opacity: 0;
	z-index: 20;
	transition: opacity 3s;
	background: var(--logo-color-1);
	border-radius: 2px;
	border-radius: 50%;
	border: 1px solid rgba(0, 0, 0, 0.4);
	padding: 5px;
	animation: 16s ShadowPulse infinite;
}
.scrolled .ScrollTop {
	opacity: 1;
}
.ScrollTop:focus {animation: 10s ShadowPulse;}
.ScrollTop:before {
	content: '';
	position: absolute;
	width: 15px;
	height: 15px;
	top: 10px;
	left: 10px;
	border: 2px solid #fff;
	border-radius: 2px;
	border-width: 4px 4px 0 0;
	transform: rotate(-45deg);
	transform-origin: 100% 50%;
}
@keyframes ShadowPulse {
	0% { box-shadow: 	0 0 0 0px rgba(var(--logo-color-1-rgb), 0), 0 0 0 0px rgba(var(--logo-color-1-rgb), 0), 
						0 0 0 0px rgba(var(--logo-color-1-rgb), 0); }
	0.25% { box-shadow: 0 0 0 5px rgba(var(--logo-color-1-rgb), 0.4), 0 0 0 3px rgba(var(--logo-color-1-rgb), 0.3),
						0 0 0 1px rgba(var(--logo-color-1-rgb), 0.2); 	}
	2.5% { box-shadow:	0 0 0 10px rgba(var(--logo-color-1-rgb), 0.2), 0 0 0 5px rgba(var(--logo-color-1-rgb), 0.4),
						0 0 0 2px rgba(var(--logo-color-1-rgb), 0.6); }
	25% { box-shadow:	0 0 6px 50px rgba(var(--logo-color-1-rgb), 0), 0 0 6px 35px rgba(var(--logo-color-1-rgb), 0),
						0 0 6px 20px rgba(var(--logo-color-1-rgb), 0); }
	100% { box-shadow:	0 0 6px 50px rgba(var(--logo-color-1-rgb), 0), 0 0 6px 35px rgba(var(--logo-color-1-rgb), 0),
						0 0 6px 20px rgba(var(--logo-color-1-rgb), 0); }
}

video { max-width: 100%; }

.Box {
	background: #fff;
	box-shadow: 0 3px 30px -10px rgba(0, 0, 0, 0.8);
	padding: 10px;
}
.Box.full {
	padding: 0;
}

/* Some backgrounds and shapes */
.sandstone {
	background-image: url('../images/layout/sandstone.png');
	background-repeat: repeat;
}
.softedges {
	border-radius: 5px;
}

/* Gradients */
.gradient1 {
	background: rgb(166,34,12); /* Old browsers */
	background: -moz-linear-gradient(45deg,  rgba(166,34,12,1) 0%, rgba(182,47,24,1) 100%); /* FF3.6+ */
	background: -webkit-gradient(linear, left bottom, right top, color-stop(0%,rgba(166,34,12,1)), color-stop(100%,rgba(182,47,24,1))); /* Chrome,Safari4+ */
	background: -webkit-linear-gradient(45deg,  rgba(166,34,12,1) 0%,rgba(182,47,24,1) 100%); /* Chrome10+,Safari5.1+ */
	background: -o-linear-gradient(45deg,  rgba(166,34,12,1) 0%,rgba(182,47,24,1) 100%); /* Opera 11.10+ */
	background: -ms-linear-gradient(45deg,  rgba(166,34,12,1) 0%,rgba(182,47,24,1) 100%); /* IE10+ */
	background: linear-gradient(45deg,  rgba(166,34,12,1) 0%,rgba(182,47,24,1) 100%); /* W3C */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#a6220c', endColorstr='#b62f18',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */
}
.gradient2 {
	background: rgb(158,9,11); /* Old browsers */
	background: -moz-linear-gradient(top,  rgba(158,9,11,1) 0%, rgba(205,23,29,1) 100%); /* FF3.6+ */
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(158,9,11,1)), color-stop(100%,rgba(205,23,29,1))); /* Chrome,Safari4+ */
	background: -webkit-linear-gradient(top,  rgba(158,9,11,1) 0%,rgba(205,23,29,1) 100%); /* Chrome10+,Safari5.1+ */
	background: -o-linear-gradient(top,  rgba(158,9,11,1) 0%,rgba(205,23,29,1) 100%); /* Opera 11.10+ */
	background: -ms-linear-gradient(top,  rgba(158,9,11,1) 0%,rgba(205,23,29,1) 100%); /* IE10+ */
	background: linear-gradient(top,  rgba(158,9,11,1) 0%,rgba(205,23,29,1) 100%); /* W3C */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#9e090b', endColorstr='#cd171d',GradientType=0 ); /* IE6-9 */
	box-shadow: 0px 0px 2px rgba(255, 255, 255, 1) inset;
}
.gradient3 {
	background: #f2f0ec; /* Old browsers */
	background: rgb(242,240,236); /* Old browsers */
	background: -moz-linear-gradient(top,  rgba(255,255,255,1) 0%, rgba(242,240,236,1) 100%); /* FF3.6+ */
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(255,255,255,1)), color-stop(100%,rgba(242,240,236,1))); /* Chrome,Safari4+ */
	background: -webkit-linear-gradient(top,  rgba(255,255,255,1) 0%,rgba(242,240,236,1) 100%); /* Chrome10+,Safari5.1+ */
	background: -o-linear-gradient(top,  rgba(255,255,255,1) 0%,rgba(242,240,236,1) 100%); /* Opera 11.10+ */
	background: -ms-linear-gradient(top,  rgba(255,255,255,1) 0%,rgba(242,240,236,1) 100%); /* IE10+ */
	background: linear-gradient(to bottom,  rgba(255,255,255,1) 0%,rgba(242,240,236,1) 100%); /* W3C */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#f2f0ec',GradientType=0 ); /* IE6-9 */
}
.gradient4 {
	background: rgb(125,126,125); /* Old browsers */
	background: -moz-linear-gradient(top,  rgba(125,126,125,1) 0%, rgba(14,14,14,1) 100%); /* FF3.6+ */
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(125,126,125,1)), color-stop(100%,rgba(14,14,14,1))); /* Chrome,Safari4+ */
	background: -webkit-linear-gradient(top,  rgba(125,126,125,1) 0%,rgba(14,14,14,1) 100%); /* Chrome10+,Safari5.1+ */
	background: -o-linear-gradient(top,  rgba(125,126,125,1) 0%,rgba(14,14,14,1) 100%); /* Opera 11.10+ */
	background: -ms-linear-gradient(top,  rgba(125,126,125,1) 0%,rgba(14,14,14,1) 100%); /* IE10+ */
	background: linear-gradient(top,  rgba(125,126,125,1) 0%,rgba(14,14,14,1) 100%); /* W3C */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#7d7e7d', endColorstr='#0e0e0e',GradientType=0 ); /* IE6-9 */
}
.gradient5 {
	background: rgb(137,137,137); /* Old browsers */
	background: -moz-linear-gradient(top,  rgba(137,137,137,1) 0%, rgba(79,79,79,1) 100%); /* FF3.6+ */
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(137,137,137,1)), color-stop(100%,rgba(79,79,79,1))); /* Chrome,Safari4+ */
	background: -webkit-linear-gradient(top,  rgba(137,137,137,1) 0%,rgba(79,79,79,1) 100%); /* Chrome10+,Safari5.1+ */
	background: -o-linear-gradient(top,  rgba(137,137,137,1) 0%,rgba(79,79,79,1) 100%); /* Opera 11.10+ */
	background: -ms-linear-gradient(top,  rgba(137,137,137,1) 0%,rgba(79,79,79,1) 100%); /* IE10+ */
	background: linear-gradient(top,  rgba(137,137,137,1) 0%,rgba(79,79,79,1) 100%); /* W3C */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#898989', endColorstr='#4f4f4f',GradientType=0 ); /* IE6-9 */
}

.data-tooltip { position: relative; }
.data-tooltip:before {
	content: attr(data-tooltip);
	position: absolute;
	opacity: 0;
	top: 105%;
	left: -6px;
	z-index: 300;
	transition: all 200ms 100ms;
	transform: scale(-10,0);
	padding: 0 5px;
	border: 1px solid #ccd;
	border-radius: 3px;
	color: #666;
	text-shadow: 0 0 1px #fff;
	
	background: rgb(252,255,244);
	background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZjZmZmNCIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNlOWU5Y2UiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
	background: -moz-linear-gradient(top,  rgba(252,255,244,1) 0%, rgba(233,233,206,1) 100%);
	background: -webkit-linear-gradient(top,  rgba(252,255,244,1) 0%,rgba(233,233,206,1) 100%);
	background: linear-gradient(to bottom,  rgba(252,255,244,1) 0%,rgba(233,233,206,1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fcfff4', endColorstr='#e9e9ce',GradientType=0 );
}
.data-tooltip:hover:before {
	opacity: 1;
	transform: scale(1,1);
	z-index: 301;
}

/* The global shadows */
.boxShadow { box-shadow: 0px 0px 4px rgba(0, 0, 0, .6); }
.lightShadow { box-shadow: 0px 0px 4px rgba(0, 0, 0, .2); }
.largeShadow { box-shadow: 0px 0px 15px rgba(0, 0, 0, .5); }

/* The default Elements */
.defaultList .odd { background-color: #dfdfe7; }
.defaultList .even { background-color: #efefff; }
.defaultList .active { background-color: #fe7; }
.defaultList .row,
.defaultList tbody tr { transition: all 200ms ease-out; }
.defaultList .row:hover,
.defaultList tbody tr:hover { background-color: #eff; transition: none; }
.defaultList tbody tr.active:hover,
.defaultList .row.active:hover { background-color: #ff8; }

/* The shadowed Pictures */
.shadowPix {
	text-align: justify;
}
.shadowPix:after {
	content: '';
	display: inline-block;
	width: 100%;
	height: 0;
}
.shadowPix .pic {
	display: block;
	width: 100%;
}
.shadowPix .imgbox, .shadowPix .nopic {
	display: inline-block;
	cursor: pointer;
	margin-bottom: 16px;
	width: 32%;
}
.shadowPix .imgbox {
	box-shadow: 1px 1px 3px rgba(128, 128, 128, 0.75);
	vertical-align: top;
	position: relative;
}
.shadowPix .nopic {
	text-align: center;
}
.shadowPix .fake {
	font-size: 1px;
	line-height: 1px;
	margin: 0;
}
.shadowPix .imgbox .overlay {
	background: rgba(0, 0, 0, .5);
	position: absolute;
	width: 90%;
	height: 40px;
	padding: 0px 5%;
	margin-top: -40px;
	text-align: left;
	overflow: hidden;
}
.shadowPix .imgbox .overlay h3 {
	font-weight: bold;
	color: #fff;
	margin: 0;
}
.shadowPix .imgbox .overlay p {
	color: #fff;
	line-height: 125%;
	text-align: left;
}
.shadowPix .lizenzData {
	position: absolute;
	bottom: 0;
	width: 90%;
	padding: 0px 5%;
	text-align: right;
	background: rgba(0, 0, 0, .5);
	color: #fff;
}
.shadowPix .lizenzData a { color: #fff; }


@media all and (max-width: 768px) {
	.shadowPix .imgbox, .shadowPix .nopic {
		width: 49%;
	}
}
@media all and (max-width: 425px) {
	.shadowPix .imgbox, .shadowPix .nopic {
		width: 100%;
	}
}

/* with pixList? */
.pixList .imgbox, .pixList .nopic {
	vertical-align: top;
}
.pixList .description {
	display: inline-block;
	width: 66%;
}

/* mxCode */
.mxCodePixNav {
	grid-row-gap: 2rem;
	align-items: center;
}
.mxCodePixNav .Item:hover {text-decoration: none;}
.mxCodePixNav .Item > img.Navpic {display: block; margin: auto; max-width: 100%;}
.mxCodePixNav .Item .Name,
.mxCodePixNav .Item .Description {display: none;}


.defNum {
	padding-left: 0;
	padding-right: 0;
	text-align: right;
	width: 45px;
}
.shortNum {
	padding-left: 0;
	padding-right: 0;
	text-align: center;
	width: 30px;
}

/* The Button */
button.ui,
.cssbutton,
.cssitem {
	display: inline-block;
	background-color: var(--logo-color-1);
	color: #fff;
	padding: 4px 10px;
	position: relative;
	transition: all 250ms;
	border-radius: 2px;
}
button.ui {
	box-sizing: content-box;
	border: none;
	font: inherit;
}
button.ui:hover,
.cssbutton:hover {
	border-width: 2px;
	background-color: var(--logo-color-1);
	color: white;
	text-decoration: none;
}
button.ui:focus,
.cssbutton:focus {
	box-shadow: 0 0 5px 1px steelblue;
}
button.ui:active,
.cssbutton:active {
	color: #000;
}
button.ui.selected,
.cssbutton.selected,
.cssitem.selected {
	background: steelblue;
	color: white;
}
button.ui img,
.cssbutton img,
.cssitem img {
	vertical-align: middle;
}
.cssbutton input,
.cssitem input {
	background-color: #ccd;
	border-radius: 3px;
	border: none;
	padding: 0 2px;
	box-shadow: 0px 0px 5px #fff, 0px 0px 3px black inset;
}

/* Subcontrol.. */

.cssbutton .subControl,
.cssitem .subControl {
	display: none;
	position: absolute;
	left: 0px;
	top: 100%;
	padding: 5px 10px;
	border-radius: 4px;
	box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.25);
	white-space: nowrap;
	
	background: rgb(69,72,77); /* Old browsers */
	background: -moz-linear-gradient(top,  rgba(69,72,77,1) 0%, rgba(0,0,0,1) 100%); /* FF3.6+ */
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(69,72,77,1)), color-stop(100%,rgba(0,0,0,1))); /* Chrome,Safari4+ */
	background: -webkit-linear-gradient(top,  rgba(69,72,77,1) 0%,rgba(0,0,0,1) 100%); /* Chrome10+,Safari5.1+ */
	background: -o-linear-gradient(top,  rgba(69,72,77,1) 0%,rgba(0,0,0,1) 100%); /* Opera 11.10+ */
	background: -ms-linear-gradient(top,  rgba(69,72,77,1) 0%,rgba(0,0,0,1) 100%); /* IE10+ */
	background: linear-gradient(to bottom,  rgba(69,72,77,1) 0%,rgba(0,0,0,1) 100%); /* W3C */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#45484d', endColorstr='#000000',GradientType=0 ); /* IE6-9 */
}
.cssbutton .subControl a,
.cssitem .subControl a {
	color: #fff;
	text-decoration: none;
}
.cssbutton .subControl a:hover,
.cssitem .subControl a:hover {
	color: #f89a00;
}
.cssbutton:hover .subControl,
.cssbutton .subControl.displayBlock {
	display: block;
}
.cssbutton:hover .subControl.displayNone {
	display: none;
}

.cssbutton[disabled],
.cssbutton.disabled,
.cssbutton.disabled:hover {
	box-shadow: none;
	color: #aaa;
	background: #eee;
	top: 0px;
	left: 0px;
}

button.ui.displayNone,
.cssbutton.displayNone,
.cssitem.displayNone { display: none; }

/* Cards */
.defaultCard {
	background: rgb(252,255,244); /* Old browsers */
	background: -moz-linear-gradient(top,  rgba(252,255,244,1) 0%, rgba(233,233,206,1) 100%); /* FF3.6+ */
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(252,255,244,1)), color-stop(100%,rgba(233,233,206,1))); /* Chrome,Safari4+ */
	background: -webkit-linear-gradient(top,  rgba(252,255,244,1) 0%,rgba(233,233,206,1) 100%); /* Chrome10+,Safari5.1+ */
	background: -o-linear-gradient(top,  rgba(252,255,244,1) 0%,rgba(233,233,206,1) 100%); /* Opera 11.10+ */
	background: -ms-linear-gradient(top,  rgba(252,255,244,1) 0%,rgba(233,233,206,1) 100%); /* IE10+ */
	background: linear-gradient(to bottom,  rgba(252,255,244,1) 0%,rgba(233,233,206,1) 100%); /* W3C */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fcfff4', endColorstr='#e9e9ce',GradientType=0 ); /* IE6-9 */
	
	border: 1px solid rgba(0,23,64, 0.5);
	border-radius: 5px;
	box-shadow: 0px 0px 5px #DCDCDE inset, 2px 2px 3px rgba(0, 0, 0, 0.25);
	overflow: hidden;
	padding: 5px;
	padding-right: 10px;
}
.defaultCard.hasIcons {
	position: relative;
	padding-right: 20px;
}
.defaultCard .icons {
	position: absolute;
	right: 0;
	top: 0;
	width: 16px;
	padding: 2px;
	background-color: rgba(255, 255, 255, 0.25);
	border-radius: 3px;
	box-shadow: 0 0 1px #fff, 2px -1px 4px rgba(0, 0, 0, 0.5) inset;
}
.defaultCard .icons .icon {
	display: block;
	margin-bottom: 3px;
	text-align: center;
}
.defaultCard .icons .icon:last-of-type { margin: 0; }
.defaultCard .icons .icon img { display: inline-block; }

/* Map1 Styles */
.map1 {
	background-image: url('../images/layout/map1.png');
	display: inline-block;
	line-height: 100%;
}
.map1.displayNone { display: none; }
a.map1:hover {
	text-decoration: none;
}
.map1.tinybtn1, a.map1.tinybtn1, .map1.tinybtn2, a.map1.tinybtn2 {
	line-height: 16px;
	width: 18px;
	height: 17px;
	text-align: center;
}
.map1.tinybtn1, a.map1.tinybtn1 {
	background-position: -10px -50px;
	color: #000;
}
.map1.tinybtn1:hover {
	background-position: -10px -70px;
}
.map1.tinybtn2, a.map1.tinybtn2 {
	background-position: -30px -50px;
	color: #fff;
}
.map1.tinybtn2:hover {
	background-position: -30px -70px;
}

.map1.basket.addremove {
	width: 16px;
	height: 16px;
	background-position: -60px -10px;
}
.map1.basket.addremove.true {
	background-position: -60px -40px;
	visibility: visible;
}

.map1.basket.set {
	width: 16px;
	height: 16px;
	background-position: -60px -90px;
}
.map1.basket.set.true {
	background-position: -90px -90px;
}

.map1.detail {
	width: 16px;
	height: 16px;
	background-position: -90px -10px;
}
.map1.detail.true {
	background-position: -90px -40px;
}

.map1.favorit {
	width: 16px;
	height: 16px;
	background-position: -120px -10px;
}
.map1.favorit.true {
	background-position: -120px -40px;
}

/* Selectable */
.selectable {
	border-radius: 4px;
	box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.25);
	color: #000;
	display: inline-block;
	padding: 3px 5px 3px 24px;
	line-height: 100%;
	text-decoration: none;
	vertical-align: middle;
	position: relative;
	cursor: pointer;
	transition: all 200ms;
	
	background: rgb(255,255,255); /* Old browsers */
	background: -moz-linear-gradient(-45deg,  rgba(255,255,255,1) 0%, rgba(229,229,229,1) 100%); /* FF3.6+ */
	background: -webkit-gradient(linear, left top, right bottom, color-stop(0%,rgba(255,255,255,1)), color-stop(100%,rgba(229,229,229,1))); /* Chrome,Safari4+ */
	background: -webkit-linear-gradient(-45deg,  rgba(255,255,255,1) 0%,rgba(229,229,229,1) 100%); /* Chrome10+,Safari5.1+ */
	background: -o-linear-gradient(-45deg,  rgba(255,255,255,1) 0%,rgba(229,229,229,1) 100%); /* Opera 11.10+ */
	background: -ms-linear-gradient(-45deg,  rgba(255,255,255,1) 0%,rgba(229,229,229,1) 100%); /* IE10+ */
	background: linear-gradient(135deg,  rgba(255,255,255,1) 0%,rgba(229,229,229,1) 100%); /* W3C */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#e5e5e5',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */
}
.selectable:hover {
	box-shadow: 1px 1px 2px rgba(255, 255, 255, 0.25);
}
.selectable:before {
	content: '';
	position: absolute;
	width: 21px;
	height: 18px;
	left: 3px;
	background-image: url('../images/layout/map1.png');
	background-position: -60px -70px;
}
.selectable:hover:before {
	background-position: -90px -70px;
}
.selectable.selected {
	background: rgb(222,239,255); /* Old browsers */
	background: -moz-linear-gradient(-45deg,  rgba(222,239,255,1) 0%, rgba(152,190,222,1) 100%); /* FF3.6+ */
	background: -webkit-gradient(linear, left top, right bottom, color-stop(0%,rgba(222,239,255,1)), color-stop(100%,rgba(152,190,222,1))); /* Chrome,Safari4+ */
	background: -webkit-linear-gradient(-45deg,  rgba(222,239,255,1) 0%,rgba(152,190,222,1) 100%); /* Chrome10+,Safari5.1+ */
	background: -o-linear-gradient(-45deg,  rgba(222,239,255,1) 0%,rgba(152,190,222,1) 100%); /* Opera 11.10+ */
	background: -ms-linear-gradient(-45deg,  rgba(222,239,255,1) 0%,rgba(152,190,222,1) 100%); /* IE10+ */
	background: linear-gradient(135deg,  rgba(222,239,255,1) 0%,rgba(152,190,222,1) 100%); /* W3C */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#deefff', endColorstr='#98bede',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */
}
.selectable.selected:before {
	background-position: -120px -70px;
}

/* Pulsar */
.pulse {
	position: fixed;
	left: 50%;
	bottom: 0;
	width: 0%;
	height: 1px;
	background-color: #d80000;
	transition: all 4s ease 0s;
}
.pulse.initialized {
	width: 100%;
	left: 0%;
	opacity: 0;
}

/* Mod Resources */
.modResourceLoading {
	background-color: rgba(0,0,0,0.2);
	text-align: center;
	position: absolute;
	z-index: 800;
}
.modResourceLoading.Default:before {
	content: '';
	position: absolute;
	left: calc(50% - 5px);
	top: calc(50% - 5px);
	width: 10px;
	height: 10px;
	border-radius: 100%;
	animation: modResourceLoadingDefault 4000ms infinite linear;
	box-shadow:
		  0px -50px 0 0px rgba(0,0,0,0.2),
		 34px -34px 0 0px rgba(0,0,0,0.2),
		 50px   0px 0 0px rgba(0,0,0,0.2),
		 34px  34px 0 0px rgba(0,0,0,0.2),
		  0px  50px 0 0px rgba(0,0,0,0.2),
		-34px  34px 0 0px rgba(0,0,0,0.2),
		-50px   0px 0 0px rgba(0,0,0,0.2),
		-34px -34px 0 0px rgba(0,0,0,0.2);
}
.modResourceLoading.Default:after {
	content: attr(title);
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	color: wheat;
	font-family: monospace;
	font-size: 16px;
	font-weight: bold;
	text-shadow: 0px 1px 0 black, 1px 1px 0 black, 1px 0px 0 black, 1px -1px 0 black, 0px -1px 0 black, -1px 1px 0 black, -1px 0px 0 black, -1px -1px 0 black;
}
@keyframes modResourceLoadingDefault {
	0% {transform: rotate(360deg) scale(.8); opacity: 1;}
	33% {transform: rotate(240deg) scale(.8); opacity: .4;}
	66% {transform: rotate(120deg) scale(.6); opacity: 1;}
	100% {transform: rotate(0deg) scale(.8); opacity: 1;}
}
.modResourceLoading.Tiny {
	overflow: hidden;
}
.modResourceLoading.Tiny:before,
.modResourceLoading.Tiny:after {
	content: '';
	display: block;
	background-color: rgba(0,64,64,0.7);
	position: absolute;
	width: 100%;
	height: 1px;
	animation: modResourceLoadingScan 1111ms infinite linear;
	transform: skewY(0.5deg);
	box-shadow:
		0 24px 0 rgba(0,64,64,0.15),
		0 18px 0 rgba(0,64,64,0.2),
		0 12px 0 rgba(0,64,64,0.25),
		0 6px 0 rgba(0,64,64,0.3),
		0 -6px 0 rgba(0,64,64,0.3),
		0 -12px 0 rgba(0,64,64,0.25),
		0 -18px 0 rgba(0,64,64,0.2),
		0 -24px 0 rgba(0,64,64,0.15);
}
.modResourceLoading.Tiny:after {
	transform: skewY(-1deg);
	animation: modResourceLoadingScan 1235ms infinite linear;
}
@keyframes modResourceLoadingScan {
	0% {top: -100%; opacity: 0;}
	10% {top: -80%; opacity: 1;}
	90% {top: 180%; opacity: 1;}
	100% {top: 200%; opacity: 0;}
}


/* LoStage Verschachtelung verhindern */

div.LoStage div.LoStage { max-width: none; width: 100%; padding: 0; margin: 0; }


/* Responsive Design Basics */

/* Silbentrennung und font-size begrenzen */
@media all and (max-width: 400px) { h1, .h1s { font-size: 1.3em; hyphens: auto; } }
@media all and (max-width: 400px) { h2, .h2s { font-size: 1em; hyphens: auto; } }
@media all and (max-width: 400px) { :root { --padding-leftright: 5%; } }
@media all and (max-width: 400px) { article .Main .ContentText p, article .Main .ContentText h1 { hyphens: auto; } }

/* ContentText Breite begrenzen */
.MainContent .ContentText { max-width: 100%; }


/* Overwritten Module Styles */

/* area header */
#top > div { display: flex; align-items: center; flex-wrap: wrap; justify-content: space-between; gap: 1em; }
header nav.navMega { --top-margin: 27px; }
header.scrolled nav.navMega { --top-margin: 5px; }

/* area header Animation */
header, header #top, header .Logo img { transition: all var(--transition-time); }
header a.Logo { z-index: 5; }	/* damit Logo im responsive Menü sichtbar bleibt */
header.scrolled { opacity: 0.8; transition: opacity var(--transition-time); }
header.scrolled .Logo img { max-height: 80px; transition: height var(--transition-time); }
/* Abschalten der opacity, wenn über irgendein Kink Element (hier: Navi!!!) gehovert wird */
header.scrolled:hover { opacity: 1; }	/* hover geht im DOM nach oben */

/* mod navMega */
.navMega { --top-margin: 15px; --transition-time: 500ms; }
nav.navMega ul li a { padding: 0 5px; }
nav.navMega .depth1 > li > a > span:before { content: "▍"; color: var(--bg-color-kind-aktiv); }
nav.navMega ul.depth1 li img.picture { padding-top: 15px; }
nav.navMega ul.depth1 li img.icon { padding-right: 2px; vertical-align: middle; max-height: 18px; }

/* navMega pix animation */
.navMega img {  transition: transform var(--transition-time); }
.navMega img:hover { transform: rotate(-5deg); }

/* mod  contentSubContent */
.contentSubContent .Section { padding: 0; }
.contentSubContent .Section .LoStage { width: 100%; padding: 0; margin: 0; }
.contentSubContent .bild-links .SectionHead, .contentSubContent .bild-rechts .SectionHead { display: none; }
.contentSubContent .contentDisplay { align-items: center; justify-content: space-between; }
.contentSubContent .contentDisplay .contentMainGallery { background-color: transparent; }
.contentSubContent .contentDisplay .contentBody { padding: var(--padding-topbottom) var(--padding-leftright); }
.contentSubContent .bild-links .contentDisplay, .contentSubContent .bild-rechts .contentDisplay { display: flex; flex-wrap: nowrap;
  				align-items: center; justify-content: space-between; gap: 0; }

@media only screen and (max-width:900px) {
.contentSubContent .bild-links .contentDisplay, .contentSubContent .bild-rechts .contentDisplay { display: block;
  				width: 100%; }
}


/* mod contentSubContent Scroll Animation */
.contentSubContent .sub.ani-start .contentMainGallery img { transform: translatey(300px); }
.contentSubContent .sub.ani-end .contentMainGallery img { transform: translatey(0); transition: transform calc(var(--transition-time)*5); }

/* mod TeaserList Scroll Animation */
.TeaserList .item.ani-start img { transform: translatey(300px); }
.TeaserList .item.ani-end img { transform: translatey(0); transition: transform calc(var(--transition-time)*3); }

.TeaserList .item.ani-start .head { transform: translatey(300px); }
.TeaserList .item.ani-end .head { transform: translatey(0); transition: transform calc(var(--transition-time)*4); }

.TeaserList .item.ani-start .text { transform: translatey(300px); }
.TeaserList .item.ani-end .text { transform: translatey(0); transition: transform calc(var(--transition-time)*5); }

/* Home Area Scroll Animation */
.Home .animate.ani-start img { opacity: 0; transform: translate(-1000px, 200px); }
.Home .animate.ani-end img { opacity: 1; transition: opacity calc(var(--transition-time)*8); 
							transform: translate(0); transition: transform calc(var(--transition-time)*8); }
