*, *:after, *:before {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

body {
	margin: 4px;
	background-image: url(img/koelsch.rot.grau.png);
	font-family: Times, Serif;
	font-size: 1.2em;
}

h1,h2,h3,h5 {
	margin:0;
	-moz-hyphens: auto;
	-webkit-hyphens: auto;
	-ms-hyphens: auto;
	-o-hyphens: auto;
	hyphens: auto; 
}

a {
	text-decoration: none;
}

img {
	border:0;
}
section aside img {
	border-radius: 8px;
}
ul,li {
	margin:0;
	padding:0;
	list-style-type: none;
}
dd, em {
	margin:0;
	color: #C50D1F;
	font-style: italic;
}
dt {
	font-weight:bold;
}

header div {
	display:none;
}

.contentwrapper {
	background:#fff;
	border-radius: 8px 8px 0 0;
	position:relative;
}

section {
	min-height:810px;
	float:left;
	width:260px;
	margin:0;
}

article {
	padding: 4px;
}
article div, article p {
	line-height: 1.4em;
	-moz-hyphens: auto;
	-webkit-hyphens: auto;
	-ms-hyphens: auto;
	-o-hyphens: auto;
	hyphens: auto; 
}
aside {
 	display:none;
}

a, .nrcolor, .booking {
	color:#138f3b;
}

.booking {
	font-weight:bold;
}

.nrbackground {
	background-color:#138f3b;
}
.rot, a:hover {
	color:#c30b22;
}

h1 {
	font-size:2em;
	line-height: 1em;
}
h2 {
	font-size:1.8em;
	line-height: 1em;
}

.group:after, .clearleft, .clearright{
    height: 0;
    content: '';
    display: table;
    clear: both;
	visibility:hidden;
}

.clearleft {
	clear:left;
}
.clearright {
	clear:right;
}

.error { color:red !important; }


/* ---------- header -------------- */
 
#nrlogo {
	width:60%;
	margin:6px 0;
}
header a.icon-,header a.icon-:hover {
	color:#fff;
	font-size:2em;
	padding:4px 8px;
}

/* --------------- main nav ---------------- */
#mainnav {
	width:100%;
	position:absolute;
	margin:0 0 24px 0;
	padding:0;
	z-index:100;
	box-shadow: 0 2px 24px #000;
	border-radius: 8px;

}
#mainnav li:first-child a {
	border-radius: 8px 8px 0 0;

}
#mainnav li:last-child a{
	border-radius: 0 0 8px 8px;

}	
#mainnav a, #mainnav a:visited {
	color:#138f3b;
	font-style: italic;
	display: block;
	line-height:1.4em;
	text-decoration: none;
	transition: all 0.5s linear;
}
#mainnav a {
	padding:4px;
	font-size:1.2em;
	position:relative;
	background-color:#fff;
}

#mainnav a:not(.selected):after {
	content:'»';
	position:absolute;
	right:10px;
}

#mainnav a:hover, #mainnav a.current {
	color:#fff;
	background-color:#c30b22; 
} 

.hamburger {
  position:absolute;
  right:10px;
  top:8px;
  cursor:pointer;
}
.hamburger{
  border: 6px solid #009036;
  border-left:0;
  border-right:0;
  padding:3px 0;
  width:34px;
  padding:6px 0;
  display:block;
}
.hamburger:before {
  content:'';
  display:block;
  border-bottom: 6px solid #009036;
}
.hamburger:hover,.hamburger:hover:before  {
  border-color: #C50D1F;
}

/* ----------- navi mit nr nummern --------------------------- */
#nahreisen {
	width:47px;
	float:right;
	margin-top:2.4em;
}
#nahreisen li {
	text-align:right;
	padding-right:6px;
	margin-bottom:8px;
}
#nahreisen li a {
	font-size:1.6em;
	color:#138f3b;
}
#nahreisen li a:hover, #nahreisen li a.current {
	color:#c30b22;
}


/* -----------nr--------------------------- */
#nr h2 {
	margin-bottom:42px;
} 
#daten {
	margin-bottom:18px;
}
#daten li {
	margin-top:4px;
}
#daten li span {
	color:#000;
}

#description {
	line-height: 1.38em;
}
#description strong {
	color:#c30b22;
}

.slides img {
	border-radius: 8px
}

#diacontainer .flex-control-nav li {
	margin:0 10px;
}

/* -----------footer--------------------------- */
footer, .footer {
	font-size:0.8856em;
	padding: 4px;
	clear:both;
	background-color: rgb(48,48,48);
	color:#fff;
	border-radius:0 0 8px 8px;
}
footer a, footer a.icon- {
	color: #999; text-decoration:none;
}

footer a:hover, footer a.icon-:hover {
	color:rgb(255,214,105);
}

.footer-segment {
	display: block;
	vertical-align: top;
	width: 100%;
	padding:20px 10px;
}

.footer-segment h3 {
	padding: 0 0 8px 0;
	margin:0 0 12px 0;
	border-bottom:1px solid #666;
}
.footer-segment>h3:not(:first-of-type) {
	margin-top:34px;
}


#simpleTooltip img { display:block; }
#simpleTooltip { 
	border:1px solid rgb(0,165,80);
	min-height:80px;
	box-shadow: rgb(0,165,80) 1px 1px 16px;
}

.smartphone {
	margin-bottom:34px;
}

.smartphone a, .smartphone a:hover {
	color:transparent;
	display:block;
	margin-bottom:12px;
}

.overview li a {
	display:block;
	padding:8px 2px;
}

/*a.gsz, a.migros {
	width:201px;
	height:34px;
	background: transparent url(../img/gruenstadt-weiss.34.png) no-repeat;
}
a.gsz:hover {
	background-image: url(../img/gruenstadt-gelb.34.png);
}

a.migros {
	height:81px;
	background: transparent url(../img/migros-weiss.200.png) no-repeat;
}
a.migros:hover {
	background-image: url(../img/migros-gelb.200.png);
}*/
.gsz {
	font-size:2.6em;
}
.migros {
	font-size:3.8em;
}

.supplement li {
	margin-bottom:12px;
}


/* -------------- editorial ------------- */
#editorial strong {
	color:#c30b22;
}


/* -------------- start ------------- */
#start p {
	font-style:italic;
}

#start li {
	margin-bottom: 18px;
}


/* -------------- agenda ------------- */
#agenda {
	width:100%;
}
.calendar {
	width:100%;
	margin-bottom: 0.8em;
	border-collapse: collapse;
}

.calendar caption {
	text-align: left;
	font-weight: bold;
	font-size: 2em;
	color: #c30b22;
}

.calendar td {
	width: 2em;
	color:#fff;
}

.calendar thead td {
	color:#000;
	border-bottom:1px solid #000;
}

.calendar tbody td {
	height: 2.76em;
	position: relative;
}

.calendar tbody tr:nth-child(even) td  { background: rgba(172,3,23,0.2);}
.calendar tbody tr:nth-child(even) td:nth-child(odd) { background: rgba(172,3,23,0.289); }
.calendar tbody tr:nth-child(odd) td { background: rgba(172,3,23,0.289);}
.calendar tbody tr:nth-child(odd) td:nth-child(odd) { background: rgba(172,3,23,0.2); }

.calendar td.np {
	background-color: #fff !important;
}

.calendar tbody td.day {
	border:1px solid #fff;
}
.calendar td span {
	position: relative;
	top:-0.8em;
	left:1px;
	font-family: Arial,sans-serif;
}

.calendar td a{
	position:absolute;
	width:1.86em;
	height:1.86em;
	text-align:center;
	padding-top:calc(1.86em/5);
	bottom: 3px;
	right: 3px;
	display:block;
	color:#fff;
	background-color: #138f3b;
	border-radius:0.9em;
}
.calendar td .multiple a{
	position: static;
}

.calendar td .multiple{
	position:absolute;
	display:block;
	bottom:-0.74em;
	right:3px;
	/*bottom: 3px;*/
}

.calendar td a:hover, .calendar td a.articlehover {
	background-color: #c30b22;
}

/* -------------------- Anmeldung -------------------- */
#anmeldung {
	padding-bottom:24px;
}
.anmeldung {
	font-size:0.86em;
	margin:0 12px 18px 0;
}
.anmeldungsreihe {
	margin:12px 0 0 0;
}
#formPerson { border:0; margin:24px 0 0 0; padding:0;}
#formPerson p { font-size:0.8em; margin:0 0 16px 0;}
#formPerson label {
	display:block;
	margin: 12px 0 4px 0;
}
#formPerson input[type=text], #formPerson input[type=email] {
	width:95%;
}
#formPerson input.plz {
	width:33%;
}
#formPerson textarea {
	width:95%;
	height:120px;
	border:1px solid #ddd;
}
#formPerson label.must:after {
	content:' *';
}


/* ----------- start ---------------------------

.intro, .intro h1, .intro h2 {
	color: #fff;
	animation-duration: 3s;
   	animation-iteration-count: 1;
   	animation-timing-function: ease-in-out;
   	animation-fill-mode: forwards;
}
.intro {
	padding:12px;
	animation-name: hideintro;
}
.intro h1 {
	font-size:11.4em;
	animation-name: resizeh1;
   	
}
.intro h2 {
	font-size:8em;
	animation-name: resizeh2;
}

@keyframes resizeh1 {
	to {
		font-size:4em;
	}
}

@keyframes resizeh2 {
	to {
		font-size:2em;
	}
}
@keyframes hideintro {
	to {
		height:0;
		padding:0;
	}	
}

.contentwrapper, footer {
	opacity:0;
	animation-delay: 2.5s;
	animation-duration: 1s;
	animation-iteration-count: 1;
   	animation-timing-function: ease-in-out;
   	animation-fill-mode: forwards;
   	animation-name: showstart;
}
@keyframes showstart {
	to {
		opacity:1;
	}
}
 */

/* -------------------- Media Queries -------------------- */
@media only screen and (min-width: 470px) {
	section {
		width:89%;

	}
}

@media only screen and (min-width: 800px) {
	#container {
		max-width:1280px;
		margin: 0 auto;
	}

	section {
		width:93%;
		padding:48px 12px 8px 42px;
	}
	header {
		margin:0 0 0.6em 0;
	}

	header div {
		display:inline-block;
		padding:4px;
		float:right;
		margin-top:-4px;
		border-radius:0 0 8px 8px;
	}

	header div img {
		padding:0 4px;
	}
 
	#nrlogo {
		width:404px;
		margin-top:6px;
	}
	/* grün stadt zürich */
	header .nrbackground a:first-child {
		display: inline-block;
		width:246px;
	}
	/* migros kulturprozent */
	header .nrbackground a:last-child {
		display: inline-block;
		width:119px;
	}

	/* --------------- main nav ---------------- */
	#mainnav {
		display:block;
		box-shadow: none;
	}
	#mainnav ul {
		width:100%;
		float:right;
		text-align: right;
	}
	#mainnav li {
		border:0;
		/*float:right;*/
		display:inline-block;
	} 
	#mainnav ul li a, #mainnav ul li a:visited {
		padding:4px 12px;
		font-size:1.2em;
		position:relative;
		border-radius:0;
	}
	#mainnav li:first-child a {
		border-radius: 0;

	}
	#mainnav li:last-child a {
		border-radius: 0 8px 0 0;
	}


	#mainnav a:after {
		display:none;
	}


	.hamburger {
	  display:none;
	}

	#nahreisen {
		margin-right:12px;
	}

	#start {
		padding-top:120px;
	}

	#start p {

		font-size: 1.5em;
		line-height:1.8em;
	}

	/* -------------------- Editorial -------------------- */
	#editorial article div {
		column-count:3;
		column-gap:20px;
		margin-top:12px;
	}

	#editorial p {
		margin: 0 0 1.39em 0;
	}
	/* --------------- nr ---------------- */
	.nrmeta {
		width:48%;
		float:left;
	}
	#content {

	}
	#description {
		width:48%;
		float:left;
		margin-left:24px;
	}

	/* --------------- Agenda ---------------- */
	.calendar td a {
		left:calc(100%/3);
		top:8px;
	}

	.calendar td .multiple a{
		display:inline-block;
	}
	.calendar td .multiple{
		position:absolute;
		bottom: 3px;
		right:0.98em;
	}

	#agenda {
		padding-right:24px;
	}

	#agenda aside {
		display:block;
		width:30%;
		float:right;
	}

	#agenda article {
		width:65%;
		float:left;
	}


	aside .monat {
		border-bottom: 1px solid #c30b22; 
		color:#fff;
		margin:8px 0 4px 0;
		padding:4px 2px;
		color:#c30b22;
	}

	aside li.tage a:hover, .asidehover {
		color:#fff;
		background-color:#c30b22;
	}

	aside .tage strong {
		display:inline-block;
		width:58px;
		font-size:0.8em;
	}
	aside a {
		display:block;
		width:100%;
		padding:6px 1px;
	}
	
	aside .tag {
		text-align:right;
		display:inline-block;
		width:23px;
		margin-right:6px;
	}
	aside .wochentag {
		display:inline-block;
		width:24px;
	}
	
	aside .reservation:after {
		content:' *';
		color:red;
	}

	aside .anmeldungnotwendig {
		margin:12px 0 0 0;
		font-size:0.856em;
	}

	/* -------------------- Anmeldung -------------------- */
	.anmeldung {
		font-size:0.86em;
		width:calc(80%/2);
		float:left; 
		margin:0 12px 18px 0;
	}
	.anmeldungsreihe {
		margin:12px 0 0 0;
	}
	#formPerson { border:0; margin:24px 0 ; }
	#formPerson p { margin:0 0 16px 0; font-size:0.86em; }
	#formPerson label {
		display:inline-block;
		width:120px;
		margin: 0 0 8px 0;
	}
	#formPerson input[type=text], #formPerson input[type=email] {
		width:220px;
	}
	#formPerson input.plz {
		width:40px;
	}
	#formPerson textarea {
		margin:6px 0;
		display:block;
		width:342px;
		height:120px;
	}

	/* -------------------- Footer -------------------- */
	footer, .footer {
		padding:24px;
	}

	.smartphone {
		display:none;
	}
	.footer-segment {
	    display: inline-block;
	    vertical-align: top;
	    width: 33%;
		padding: 0 18px 0 0;
	}

	.overview li a {
		display:block;
		padding:4px 2px;
	}

}
