@charset "UTF-8";

/***** Default-Werte *****/
* { 
	padding: 0;
	margin: 0;
	font-family: Verdana,Helvetica,sans-serif; 
	font-size: 12px; 
}
body { 
	background-color:#f0f7ff;
	height:100%;
}
header, nav#mainnav, #wrapper, section, article, aside, footer{
	box-sizing:border-box;
}

ul {
	margin-left:20px;
}
a {
	text-decoration: none;
}
img{
	border:0;
}

/***** Titelbild *****/
div#headimage{
	width:100%;
	height:calc(100vw / 10);
	background-image:url(../images/pfaeffikon-sommer.png);
	background-size:100% 100%;
	background-repeat:no-repeat;
}

/***** Header *****/
header#header p{
	font-weight:bold;
	color: #00c;
}

/***** Hauptnavigation *****/
#mainnav ul {
	top: 0;
	left: 0;
	margin: 0;
	padding: 0;
	list-style-type:none;
}
#mainnav ul li{ 
	position:relative;
}
#mainnav ul li a { 
	display:block;
	text-align: center;
	font-weight: bold;
	color: #fff;
}
#mainnav ul li a:hover, #mainnav ul li a:active { 
	letter-spacing:3px;
	color: #eee;
	background-color:rgba(0,0,153,.7);
}
#mainnav ul li ul{
	display:none;
	position:absolute;
	width: 100%;
	z-index: 1000;
}
#mainnav ul li > a.link_aktiv{ 
	color: #009 !important;
	background:#fff !important;
}
span.link_aktiv { 
	color: #009;
	background:#fff;
	display:block;
	font-size:inherit;
}

/* Untermenü bei Rollover einblenden */
#mainnav ul li:hover ul {
	display:block;
}
#mainnav ul li ul li a{ 
	background-color:rgba(102,102,204,.9);
}

/***** Inhalts-Bereich *****/ 
#wrapper{
	background:#fff;
}

/* Inhalt */
#wrapper section{
	display:flex;
	flex-wrap:wrap;
}
#wrapper section div#content{
	display:flex;
	flex-wrap:wrap;
	width:100%;
}

/* Index-Seite */
#wrapper section#index{
	display:block;
}
#wrapper section#index h1{
	font-size: 20px;
	text-align: center;
	color: #c03;
}
#wrapper section#index ul{
	padding-top:10px;
	list-style-type:none;
	text-align:center;
	color: #c03;
}
#wrapper section#index ul li{
	padding-top:15px;
	font-size: 15px;
}
	
#wrapper section header{
	width:100%;
	margin-bottom: 20px;
	padding-left:20px;
}
#wrapper section header h1{
	font-size: 16px;
	color: #c03;
	text-align: left;
}
#wrapper section h2 {
	margin-top: 15px;
	margin-bottom: 5px;
	font-size: 14px;
	color: #c03;
	text-align: left;
}
#wrapper section h3 {
	margin-top: 15px;
	margin-bottom: 5px;
	font-size: 13px;
	color: #c03;
	text-align: left;
}
#wrapper section a {
	color: #00c;
}
#wrapper section a:hover {
	color:#f30;
}
#wrapper h1.fehlermeldung {
	padding-top:50px;
	text-align:center;
	color: #FF0000;
}
#wrapper section p, #wrapper section ul, #wrapper section ol, #wrapper section li {
	line-height: 15px; 
	margin-bottom: 5px;
}
#wrapper section p.fehlermeldung {
	padding-top:20px;
	color: #f00;
	font-weight: bold;
}

#wrapper section article{
	box-sizing:border-box;
	margin-bottom:2%;
	padding: 0 20px 10px;
	border-radius:10px;
	vertical-align:top;
	background:#eee;
	border:1px solid #ddd;
	box-shadow:3px 3px #999;
}

/* Kontakt / Impressum */
dl.kontakt dt {
	clear:left;
	float:left;
	padding: 5px;
	width: 100px;
}
dl.kontakt dd {
	float:left;
	margin: 0px;
	border: 0px;
	padding: 5px;
	width: 200px;
}

/***** Download, Anmelde-Formular *****/
label, form span{
	display:block;
	width: 100px;
	padding: 5px;
}
input{
	width: 120px;
	margin: 0px;
	margin-bottom:10px;
	padding: 2px;
	background-color:#fff;
}
input[type=submit]{
	width: 128px;
	margin-top:10px;
	padding: 2px;
	background:#ddd;
}
input.markiertesFormularfeld{
	background-color:#ffc;
}
textarea.markiertesFormularfeld{
	background-color:#ffc;
}

/* Kursagenda */
div#kursagenda_kopf h2{
	text-align:center;
}
div.kursagenda_prev {
	line-height:20px;
	text-align: left;
	float:left;
	margin-bottom:5px;
}
div.kursagenda_next {
	line-height:20px;
	text-align: right;
	float:right;
	margin-bottom:5px;
}
div.kursagenda_date {
	line-height:20px;
	text-align: center;
	float:left;
	margin-bottom:5px;
}
#wrapper section #kursagenda div.kursagenda_date h2 {
	margin-top:0px;
	text-align: center;
}
#wrapper section #kursagenda div.kursagenda_date h2.heute{
	color: #900;
}
#kursagenda div.infos, #kursagenda p.letzte_aenderung {
	clear:both;
	padding:10px 0;
	border-top: 1px solid #009;
}
#kursagenda p.letzte_aenderung {
	margin-top:10px;
}
#kursagenda h3{
	text-align: left;
}
#kursagenda ul.kursagenda_aufgaben_aktuell {
	color: #900;
}
#kursagenda p.letzte_aenderung {
	font-size: 10px;
}

/* rechte Spalte */
#wrapper aside{

}
article#download h3{
	margin-bottom:0;
	padding:2px 5px;
	background:#ccc;
	border-radius:5px 5px 0 0;
}
article#download h3 span{
	display:inline-block;
	float:right;
	padding-top:2px;
	padding-right:5px;
}
article#download h3 span img{
	width:12px;
}
article#download div:nth-child(2) h3 span img{
	transform:rotate(90deg);
}
article#download h3 + div{
	padding-top:2px;
	padding-left:5px;
	border-left:1px solid #ccc;
	border-right:1px solid #ccc;
	border-bottom:1px solid #ccc;
}
article#download h3 + div p{
	margin-top:0;
	margin-bottom:2px;
}
article#download h3 + div p a{
	font-size:11px;
}

/***** Fuss-Zeile *****/
#footer {
	clear:both;
	background-color:#006;
	border-radius:15px 15px 0 0;
}
#footer p{
	color: #fff;
}
#footer p, #footer a{
	font-size:10px;
}
#footer a {
	color: #ddd;
}
#footer a:hover {
	color:#ddd;
	letter-spacing:2px;
}
#footer p.copyright{
	float:left;
}
#footer p.impressum-link{
	float:right;
	margin-right: 0px;
	font-weight:bold;
}
	

/***** breite Screens *****/
@media screen and (min-width:960px){
	/***** Allgemein *****/
	html {
		height:100%;
		overflow-y:scroll;
	}
	
	/***** Header *****/
	header#header {
		height:60px;
		max-width:960px;
		margin:0 auto;
		padding-left:20px;
		padding-right:20px;
	}
	header#header img {
		margin-top:20px;
		float:left;
		width:213px;
		height:25px;
	}
	header#header p{
		margin: 0;
		padding: 17px 0 0 0;
		float:right;
		font-size: 20px;
	}

	/* Hamburger-Button */
	div.nav-bar{
		display:none;
	}

	/***** Hauptnavigation *****/
	nav#mainnav {
		clear:both;
		width:100%;
		max-width:960px;
		height: 25px;
		margin:0 auto;
	}
	#mainnav ul li {
		float: left;
		width:calc((100% / 6) - 1px);
		margin-right: 2px;
	}
	#mainnav ul li:first-child {
		width:calc((100% / 6) - 3px);
	}
	#mainnav ul li:last-child {
		width:calc((100% / 6) - 3px);
		margin-right: 0px;
	}
	#mainnav ul li a { 
		line-height: 25px;
		font-size: 13px;
		background-color:#66c;
	}
	#mainnav ul li ul{ 
		margin-top:25px;
		padding-top:3px;
	}
	#mainnav ul li ul li a { 
		line-height: 20px;
		font-size: 11px;
	}
	#mainnav ul li ul li a:hover { 
		letter-spacing:0;
	}
	#mainnav ul li:first-child a{
		border-radius:9px 0 0 0;
	}
	#mainnav ul li:last-child a{
		border-radius:0 9px 0 0;
	}
	#mainnav ul li ul li{
		width:100%;
		border-bottom:1px solid #fff;
	}
	#mainnav ul li ul li:first-child {
		width:100%;
		margin-right: 0;
	}
	#mainnav ul li ul li:last-child {
		width:100%;
		margin-right: 0;
		border-bottom:0px;
	}
	#mainnav ul li:last-child ul li{
		width:inherit;
	}
	#mainnav ul li:last-child ul li a { 
		border-radius:0;
	}
	#mainnav ul li ul li:first-child a { 
		border-radius:0;
	}
	#mainnav ul li ul li:last-child a { 
		border-radius:0;
	}

	/***** Inhalts-Bereich *****/
	#wrapper{
		clear:both;
		width:100%;
		max-width:960px;
		margin:0 auto;
		min-height:calc(100vh - (100vw / 10) - 60px - 25px) !important;
	}

	/* Index-Seite */
	#wrapper section#index{
		width:700px;
		float:left;
	}
	#wrapper section#index h1{
		padding-top:30px;
	}
	#wrapper section#index ul{
		list-style-type:none;
		text-align:center;
	}

	#wrapper section{
		width:100%;
		padding:20px 20px 40px;
	}
	#wrapper section header h1{
		font-size: 16px;
	}
	#wrapper section h2 {
		font-size: 14px;
	}
	#wrapper section h3 {
		font-size: 13px;
	}
	#wrapper section div#content article.infoblock{
		width: 49%;
	}
	#wrapper section div#content article.infoblock-100{
		width: 100%;
	}
	#wrapper section div#content article.infoblock:nth-child(odd){
		margin-right:2%;
	}
	#wrapper section div#content article.left{
		margin-right:2%;
	}
	#wrapper section div#content article.right{
		margin-right:0 !important;
	}
	#wrapper section div#content article#kursagenda{
		box-sizing:border-box;
		width: 600px;
		margin-bottom:10px;
		padding: 0 20px 0;
		border-radius:10px;
		vertical-align: top;
	}

	/* Kursagenda */
	div.kursagenda_prev {
		width: 33%;
		line-height:17px;
		margin-top:10px;
	}
	div.kursagenda_prev a{
		font-size:10px;
	}
	div.kursagenda_next {
		width: 33%;
		line-height:17px;
		margin-top:10px;
	}
	div.kursagenda_next a{
		font-size:10px;
	}
	div.kursagenda_date {
		width: 33%;
		line-height:17px;
		margin-top:10px;
	}
	
	/* Rechte Spalte */
	#wrapper aside{
		float:right;
		width:240px;
		margin-left:20px;
		padding:50px 45px 0;
	}
	#wrapper section div#content article#download{
		width:300px;
		margin-left:20px;
		margin-bottom:10px;
		padding: 0 20px 0;
		border-radius:10px;
	}

	/***** Fuss-Zeile *****/
	#wrapper_footer{
		clear:both;
		position: fixed;
		height: 34px;
		width: 100%;
		bottom:0;
	}
	#footer {
		height: 34px;
		max-width: 960px;
		margin:0 auto;
		padding:0 0 10px;
		background-color:#006;
	}
	#footer p.copyright{
		margin-top:10px;
		padding-left:15px;
	}
	#footer p.impressum-link{
		margin-top:10px;
		padding-right:15px;
	}
}


/***** schmale Screens *****/
@media screen and (max-width:969px) { 
	/***** Header *****/
	header#header {
		max-width:100%;
		margin:0 auto;
		text-align:center;
	}
	header#header img {
		margin-top:5px;
		width:213px;
		height:25px;
	}
	header#header p{
		margin: 0;
		padding-top:10px;
		padding-bottom:5px;
		font-size: 13px;
	}

	/* Hamburger-Button */
	div.nav-bar{
		position:absolute;
		top:1px;
		right:5px;
	}
	div.nav-bar span.fa-bars {
		color: #fff;
		font-size: 30px;
		font-weight: bold;
		text-decoration: none;
	}
	div.nav-bar span#hamburgerbutton-text {
		display:none;
	}

	/***** Hauptnavigation *****/
	nav#mainnav {
		position:absolute;
		left:-90%;
		width:80%;
		top:0;
	}
	nav#mainnav ul li ul{
		margin-top:30px;
	}
	nav#mainnav ul li ul.ausgeblendet{
		display:none;
	}
	#mainnav ul li{
	}
	nav#mainnav ul li a { 
		line-height: 25px;
		font-size: 13px;
		border-bottom:1px solid #fff;
		background-color:rgba(102, 102, 204, 0.9);
	}
	nav#mainnav ul li:last-child a{
		border-bottom:0;
	}
	nav#mainnav ul li ul li:first-child a{
	}
	nav#mainnav ul li:last-child ul li a{ 
		line-height: 25px;
		font-size: 11px;
		border-bottom:1px solid #fff;
	}
	nav#mainnav ul li:last-child ul li:last-child a{ 
		border-bottom:0;
	}
	nav#mainnav ul li:first-child a{
		border-top-right-radius:10px;
		border-top-left-radius:10px;
	} 
	nav#mainnav ul li:last-child a{
		border-bottom:0;
		border-bottom-right-radius:10px;
		border-bottom-left-radius:10px;
	} 
	nav#mainnav ul li ul li:first-child a{
		border-top-right-radius:0;
		border-top-left-radius:0;
	} 
	nav#mainnav ul li:last-child ul li a{
		border-bottom-right-radius:0;
		border-bottom-left-radius:0;
	} 
	nav#mainnav ul li:last-child ul li:first-child a{
		border-top-right-radius:10px;
		border-top-left-radius:10px;
	} 
	nav#mainnav ul li:last-child ul li:last-child a{
		border-bottom-right-radius:10px;
		border-bottom-left-radius:10px;
	} 
	#mainnav ul li > a.link_aktiv{ 
		background:rgba(220, 220, 220, 0.9) !important;
	}

	/***** Inhalts-Bereich *****/
	div#wrapper{
		min-height:calc(100vh - (100vw / 10) - 64px) !important;
	}
	#wrapper section{
		padding:5px;
		padding-bottom:30px;
		min-height:200px;
	}
	#wrapper section header{
		padding-left:10px;
	}
	#wrapper section header h1{
		font-size: 13px;
	}
	#wrapper section header img{
		display:none;
	}
	#wrapper section h2 {
		font-size: 12px;
	}
	#wrapper section h3 {
		font-size: 11px;
	}
	section div#content article{
		width: 100%;
		padding-left:10px;
		padding-right:10px;
	}
	#wrapper section#index h1{
		margin-top:20px;
		font-size:16px;
	}
	#wrapper section#index ul li{
		padding-top:5px;
		font-size: 12px;
	}
	
	/* Animation auf der Startseite */
	aside{
		width:100%;
		margin-top:30px;
		text-align:center;
	}
	
	/* Kontakt / Impressum */
	dl.kontakt dt {
		float:none;
		width: auto;
	}
	dl.kontakt dd {
		float:none;
		width: auto;
		padding-left:20px;
	}

	/* Kursagenda */
	div.kursagenda_prev {
		width:33%;
	}
	div.kursagenda_next {
		width:33%;
	}
	div.kursagenda_date {
		width:34%;
		text-align:center;
	}
	#kursagenda div.kursagenda_prev a, #kursagenda div.kursagenda_next a, #kursagenda div.kursagenda_date h2{
		font-size:10px !important;
	}
	#kursagenda p.letzte_aenderung {
		padding-bottom: 30px;
	}

	/***** Fuss-Zeile *****/
	#wrapper_footer{
		position:fixed;
		width:100%;
		bottom:0;
	}
	#footer {
		height: 25px;
		padding:0 10px;
	}
	#footer p.copyright{
		margin-top:5px;
	}
	#footer p.impressum-link{
		margin-top:5px;
	}
}
