 *	{margin:0; padding:0; border:0;
 	 box-sizing: border-box; -webkit-box-sizing:border-box; -moz-box-sizing:border-box;}
 body	{
 	max-width: 1024px;
 	font-family: "Lato",sans-serif; font-size: 0.85em; line-height: 1.1em;}
 h1,h2,h3,h4	{font-family: "Roboto Slab",sans-serif; padding-top: 3px; line-height: 1.1em;}
 h2,h3,h4,h5	{font-weight: normal;}
 h1	{font-size: 2.0em;}
 h2	{font-size: 1.3em;}
 h3	{font-size: 1.2em;}
 h4	{font-size: 1.1em;}
 p    {padding: 3px;}
 /*b	{letter-spacing:-0.02em;}*/
 img	{display: block;}
 label	{cursor: pointer;}

 /*a:any-Link,a:link,a:visited,a:hover,a:active {
 	text-decoration: none; color: black;}*/
 a {text-decoration: none; color: black;}
 a.box {text-decoration: none!important; color: black!important;}
 
/* #menu wird durch nav ersetzt */
nav, #menu {
	position: fixed;
	height: 100%;
	width: 44px;
	top: 0; left: 0;
	padding: 6px 4px;
	overflow-x: hidden;
	background-color: #222;
	border-right: 4px solid black;
	transition: width 0.5s ease-in-out;
	font-family: "Roboto Slab",sans-serif; font-size: 1em;
	z-index: 2;
	}
nav.open, #menu.open {width: 200px;}
nav>a, nav>div, #menu>a, #menu>div {
	position: relative;
	display: block;
	padding-top: 7px;
	font-size: 1.5em;
	color: white;
	text-decoration: none;
	cursor: pointer;
	}
nav>div, #menu>div {height: 120px;}
nav a, #menu a {height: 35px; border-top: 1px solid gray; white-space: nowrap;}
nav>*>i, #menu>*>i {width: 34px; text-align: center; margin-right: 3px;}
nav>div:hover, nav a:hover, #menu>div:hover, #menu a:hover {color: darkgray;}
nav .mnu, nav.open .cls, #menu .mnu, #menu.open .cls {display: none;}
nav .cls, nav.open .mnu, #menu .cls, #menu.open .mnu {display: block;}

/* #head wird durch header ersetzt! */
header, #head {
	width: 100%;
	height: 40px;
	padding: 6px 0 6px 56px;
	border-bottom: 1px solid black;
	}
header>a, #head>a {float:right; width:25%; margin: 0 12px;}
header>a>img, #head>a>img {margin: auto;}
header>p, #head>p {padding-top: 9px;}
header::after, #head::after {}
footer {}

main, #cont {
	float: left;
	height: 100%;
	width: 75%;
	padding-left: 44px;
	##border: 1px dotted orange;
	position: relative;
	}
.titel {padding: 24px 0 18px 12px;}
.titel>* {padding-bottom: 0;}
.titel>h1 {font-size: 1.6em; letter-spacing: -0.05em;}
.titel>h2 {font-size: 1.3em; letter-spacing: -0.03em;}
.titel>h3 {font-size: 1em;}
.titel, #map, #poi, #slider, #tmc, #qsymb, #flex {
	width: 100%;
	clear: both;
	}

#pre {
	font-size: 1.1em;
	margin: 12px 0;
	padding: 0 12px;
	color: #555;
	clear: both;
	}
#map {height: 450px;}
#poi {
	height: 300px !important;
	margin-top: 30px;
	float: left;
	}
.iwc {
	display: block; 
	width: 240px;
	/* height: 60px; */
	overflow: hidden;
	}
.iwc img	{
	float: left;
	padding-right: 6px;
	width: 80px; /*60px*/
	}
.iwc>p:first-of-type {
	font-size: 0.9em; /*0.9em*/
	font-weight: bold;
	padding: 0 0 3px 0;
	}
.iwc>p:last-child {
	font-size: 1.0em; /*0.85em*/
	padding: 0;
	}

.tmc, .qsymb {padding: 12px 0 0 12px;}
#flex {margin-bottom:48px;}

#slider {overflow-x: hidden;}
#slider input {
	position: absolute;
	left: -99999px;
	}
#slider img {width: 100%; height: auto;}
.sliderElems {
	left: 0;
	position: relative;
	width: 800%;
	-webkit-transition: left .5s ease-in-out;
	-moz-transition: left .5s ease-in-out;
	transition: left .5s ease-in-out;
	}
.sliderElems>li {
	float: left;
	list-style: none;
	width: 12.5%;
	position: relative;
	}
.sliderControls {
	text-align: right;
	background-color: lightgray;
	}
.sliderControls li {display: inline-block;}
.sliderControls label {
	width: 20px;
	height: 20px;
	line-height: 20px;
	text-align: center;
	border-radius: 50%;
	display: block;
	cursor: pointer;
	background: darkgray;
	color: black;
	}
.sliderControls li:first-child label {
	margin-left: 12px;
	}
.sliderControls label:hover,
	#slide1:checked~.sliderControls label[for="slide1"],
	#slide2:checked~.sliderControls label[for="slide2"],
	#slide3:checked~.sliderControls label[for="slide3"],
	#slide4:checked~.sliderControls label[for="slide4"],
	#slide5:checked~.sliderControls label[for="slide5"],
	#slide6:checked~.sliderControls label[for="slide6"],
	#slide7:checked~.sliderControls label[for="slide7"],
	#slide8:checked~.sliderControls label[for="slide8"],
	#slide9:checked~.sliderControls label[for="slide9"] {
	background: #eee;
	}
#slide2:checked~.sliderElems {left: -100%;}
#slide3:checked~.sliderElems {left: -200%;}
#slide4:checked~.sliderElems {left: -300%;}
#slide5:checked~.sliderElems {left: -400%;}
#slide6:checked~.sliderElems {left: -500%;}
#slide7:checked~.sliderElems {left: -600%;}
#slide8:checked~.sliderElems {left: -700%;}
#slide9:checked~.sliderElems {left: -800%;}
 figcaption {
	position: absolute;
	bottom: 0;
	width: 100%;
	padding: 3px;
	background-color:rgba(0,0,0,0.4);
	opacity: 0;
	-webkit-transition: opacity .4s ease-in-out;
	-moz-transition: opacity .4s ease-in-out;
	transition: opacity .4s ease-in-out;
	##text-overflow: ellipsis;
	color: white;
	}
#slider:hover figcaption {opacity: 1;}

.halb, .grid {
	float: left;
	display: block;
	padding: 12px 0 0 12px;
	}
.halb>a, .halb>p {display:block;}
/* .halb a {white-space:nowrap;overflow:hidden;width:100%;text-overflow:ellipsis;} */
.halb {width: 50%; margin-bottom:15px;}
.grid {width: 33%;} /* 33.33 */
.box>img {width: 100%; height: auto;}
.grid .box {height: 260px;}
.grid p {padding: 6px 12px;}
.hide3 {display:none;} /* immer ausblenden, außer im 2er und 1er */
.symb {
	padding-left: 34px;
	min-height:30px;
	position: relative;
	display: inline-block;
	margin-bottom: 0;
	}
.box {
	display: block; /* auch <a> */
	cursor: pointer;
	border-radius: 6px;
	background-color: white;
	box-shadow: 1px 2px 10px 0 lightgray;
	}
.box:hover, .sliderControls label:hover {
	box-shadow: 1px 2px 10px 0 black;
	}
.box>*:first-child {border-radius: 6px 6px 0 0;}
.box>*:last-child {border-radius: 0 0 6px 6px;}
.box>*:only-child {border-radius: 6px;}

a.symb {
	text-decoration: none;
	color: black;
	}
a.symb:hover {
	text-decoration: underline;
	background-color: #eee;
	}
p.symb:hover {
	background-color: #eee;
	}
ul.symb {
	list-style: none;
	}
ul.symb li {
	padding-top: 3px;
	}
.symb>i {
	position: absolute;
	width: 34px;
	height:30px;
	text-align: center;
	margin-left: -34px;
	margin-right: 3px;
	color:lightgray;
	}
.symb>a:hover,.symb>a:active {text-decoration: underline;}
 p,.tmc {
	hyphens: auto;
	-webkit-hyphens: auto;
	-moz-hyphens: auto;
	-ms-hyphens: auto;
	hyphenate-limit-chars: auto 5;
	hyphenate-limit-lines: 2;
	orphans: 2; widows: 2;
	}
#tmc { /* Text Multi-Column */
	clear: both;
	column-count: 3;
	column-gap: 16px;
	column-rule-style: dotted;
	padding: 12px;
	text-align: left; /* justify */
	column-rule-style: solid; 
	column-rule-width: 1px;
	column-rule-color: green;
	margin: 12px 0;
	}
#tmc img {
	float: none;
	width: 100%;
	height: auto;
	padding: 0.4em 0em;
	}
.canvas {background-color: #eee;}
#qsymb {
	clear: both;
	float: left;
	width: 100%;
	margin-top: 0;
	padding: 0 0 12px 12px;
	}
.sprt		{width: 48px; height: 48px;float:left;margin:6px 6px 0 0;}
.wiki,.wik	{background:url('sprites.png')    0      0;}
.ytub		{background:url('sprites.png')  -48px    0;}
.fcbk,.fbk	{background:url('sprites.png')  -96px    0;}
.twit		{background:url('sprites.png') -144px    0;}
.vmeo		{background:url('sprites.png') -192px    0;}
.gmps		{background:url('sprites.png') -240px    0;}
.bahn,.bbo	{background:url('sprites.png')    0    -48px;}
.vvgn,.vgn	{background:url('sprites.png') -48px   -48px;}
.entp,.epn	{background:url('sprites.png') -96px   -48px;}
.erlm,.emr	{background:url('sprites.png') -144px  -48px;}
.twck,.twi	{background:url('sprites.png') -192px  -48px;}
.bbtg,.bte	{background:url('sprites.png') -240px  -48px;}
.mhlt,.dmt	{background:url('sprites.png')    0    -96px;}
.mutg,.imt	{background:url('sprites.png')  -48px  -96px;}
.hemv,.mih	{background:url('sprites.png')  -96px  -96px;}
.omp 		{background:url('sprites.png') -144px  -96px;}
.mchk 	{background:url('sprites.png') -192px  -96px;}
.albc 	{background:url('sprites.png') -240px  -96px;}
.mrlp		{background:url('sprites.png')    0   -144px;}
.mvt		{background:url('sprites.png')  -48px -144px;}
.romf		{background:url('sprites.png')  -96px -144px;}
.wzcr		{background:url('sprites.png') -144px -144px;}
.ooe		{background:url('sprites.png') -192px -144px;}
.dmb		{background:url('sprites.png') -240px -144px;}
.lwlc		{background:url('sprites.png')    0   -192px;}
.mpb		{background:url('sprites.png')  -48px -192px;}
.vamt		{background:url('sprites.png')  -96px -192px;}
.mib		{background:url('sprites.png') -144px -192px;}
.mwf		{background:url('sprites.png') -192px -192px;}
.cov		{background:url('sprites.png') -240px -192px;}
.mst		{background:url('sprites.png')    0   -240px;}
.msa		{background:url('sprites.png')  -48px -240px;}
.mmv		{background:url('sprites.png')  -96px -240px;}
.lvr		{background:url('sprites.png') -144px -240px;}
.smv		{background:url('sprites.png') -192px -240px;}
.vms		{background:url('sprites.png') -240px -240px;}
.netm		{background:url('sprites.png')    0px -288px;}
.msh		{background:url('sprites.png')  -48px -288px;}
.mbr		{background:url('sprites.png')  -96px -288px;}
.omg		{background:url('sprites.png') -144px -288px;}
.otm		{background:url('sprites.png') -192px -288px;}
.ncd 			{} /* fehlt noch: Nürnberg Card */
main::after, #cont::after {
	content: "";
	display: block;
	clear: both;
	height: 24px;
	}
#masonry {
	column-count: 4; 
	width:100%;
	padding-left: 12px;
	}
#masonry .grid {
	float: none;
	width: 100%;
	padding: 0;
	margin-top: 12px;
	display: inline-block;
	-webkit-column-break-inside: avoid;
   page-break-inside: avoid;
   break-inside: avoid;
   }

#heap {
	float: right;
	height: 100%;
	width: 25%;
	padding: 0 12px 12px 24px;
	##border: 1px dotted red;
	}
.hgrid {
	width: 100%;
	text-align: center;
	margin-top: 12px;
	}
.hgrid p {font-size: 0.95em;}
.otaf,.ktaf {border: 2px solid #666;}
.otaf {background-color: #fd9;} /* #fbae00 */
.ktaf {background-color: #cfa;} /* lightgreen */
.otaf>*:first-child,.ktaf>*:first-child {
	font-size: 1.1em;
	text-align: center;
	padding: 12px 2px 0 2px;
	}
.otaf>*:last-child,.ktaf>*:last-child {
	font-size: 0.9em;
	text-align: center;
	padding: 6px 2px 12px 2px;
	}

#sub {
	float: left;
	display: block;
	position: relative;
	width: 100%;
	height: 30px;
	padding: 6px 0 6px 56px;
	border-top: 1px solid black;
	}
#sub>p {padding-bottom: 6px;}
#sub>a {float:right; width:25%; text-align:center;}
#stack {
	position: absolute;
	width: 25%;
	bottom: 54px;
	right: 0;
	padding: 0 12px 0 24px;
	}
#stack .hgrid {margin-top: 6px;}

#frei {
	font-size: 1.3em;
	margin-left: 12px;
	padding-top: 60px;
	padding-bottom: 50px;
	text-align: center;
	margin: auto;
	width: 60%;
	}
#frei form {
	margin: auto;
	##border: 1px dotted blue;
	width: 40%;
	text-align: center;
	}
#frei input { /* type=text? */
	border: solid 1px #ccc;
   border-radius: 15px;
	height: 30px;
	padding: 5px 15px;
	font-size: 0.9em;
	width: 100%;
	margin-top: 40px;
	}
#frei input[type=submit] {
	margin-top: 6px;
	width: 50%;
	border: 1px solid gray;
	background-color: lightgray;
	}
#frei input[type=submit]:hover {
	background-color: gray;
	color: white;
	}
#frei .motto {
	width: 50%;
	margin: auto;
	text-align: center;	
	color: gray;
	font-size: 1.3em;
	line-height: 1.2em;
	font-variant: small-caps;
	font-style: italic;
	padding-top: 18px;
	}
#frei img.logo {
	width: 45%;
	margin: auto;
	}
#frei .tipps {
	font-size: 0.8em;
	width: 70%;
	margin: auto;
	text-align: center;	
	padding-top: 30px;
	color: gray;
	}
#frei .stores {
	display: inline-block;
	padding-top: 40px;
	margin: auto;
	##border: 1px dotted red;
	height: 42px;
	}
#frei .stores img {
	display: inline;
	text-align: center;
	}

@media screen and (max-width:850px) {
	#masonry  {column-count: 3;}
	}

@media screen and (max-width:768px) { /* Tablet quer, Dreispalter */
	main, #cont {width: 70%;}
	#tmc  {column-count: 2;}
	.hide3 {display:block;} /* nicht mehr relevant */
	.hide2 {display:none;} /* dafür dieses hier */
	.halb {width: 100%;}
	.halb.li {margin-bottom: 0;}
	.halb.re {padding-top: 6px;}
	.grid {width: 50%;}
	.grid .box {height: 270px;}
	#heap,#stack {width: 30%;}
	}

@media screen and (max-width:640px) {
	#masonry  {column-count: 2;}
	}
	
@media screen and (max-width:512px) { /* Tablet hoch, Zweispalter */
	main, #cont {width: 65%;}
	#tmc  {column-count: 1;}
	.hide2 {display:block;} /* nicht mehr relevant */
	.grid {width: 100%;}
	.grid .box {height: 280px;}
	.hide2 {display:block;} /* Überzählige 2er ausblenden */
	#heap,#stack {width: 35%;}
	}
