@font-face {
	font-family: 'roboto_slabbold';
	src: url('/webfonts/robotoslab-bold-webfont.woff2') format('woff2'), url('/webfonts/robotoslab-bold-webfont.woff') format('woff');
	font-weight: normal;
	font-style: normal;
}
@font-face {
	font-family: 'roboto_slablight';
	src: url('/webfonts/robotoslab-light-webfont.woff2') format('woff2'), url('/webfonts/robotoslab-light-webfont.woff') format('woff');
	font-weight: normal;
	font-style: normal;
}
@font-face {
	font-family: 'roboto_slabregular';
	src: url('/webfonts/robotoslab-regular-webfont.woff2') format('woff2'), url('/webfonts/robotoslab-regular-webfont.woff') format('woff');
	font-weight: normal;
	font-style: normal;
}
*{
	margin: 0;
	padding: 0;
	border: 0 none;
	outline: 0 none;
}
body{
	color: black;
	font-size: 16px;
	font-family: 'roboto_slablight', "Arial", serif;
	line-height: 1.525;
	word-break: break-word;
	background-color: #fbf6ee;
	-webkit-text-size-adjust: 100%;
	-moz-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	-o-text-size-adjust: 100%;
	text-size-adjust: 100%;
	-webkit-appearance: none;
	-moz-appearance: none;
}
	a{
		color: black;
		text-decoration: none;
		transition: border .3s linear 0s;
		border-bottom: 1px solid black;
	}
		a:hover{
			border-bottom: 1px solid transparent;
		}
	b, strong{
		font-family: 'roboto_slabregular';
	}
	.clear{
		clear: both;
	}
	.smaller{
		font-size: .85em;
	}
	div.outer{
		margin: 0 auto;
	}
	.center{
		text-align: center;
	}
	.right{
		text-align: right;
	}
	
	div#header{
		position: fixed;
		z-index: 1000;
		background-color: #fbf6ee;
		border-bottom: 1px solid #e4ebee;
	}
		div#logo a{
			position: absolute;
			z-index: 1100;
			color: #813;
			font-family: 'roboto_slabregular';
			font-size: 2em;
			line-height: 1;
			border-bottom: 0 none;
		}
		ul#menu{
			position: absolute;
			z-index: 1100;
			bottom: 20px;
			right: 0;
		}	
			ul#menu li{
				position: relative;
				margin-left: 1em;
				float: left;
				list-style: none;
			}
				ul#menu li a{
					display: inline-block;
					font-size: .8em;
				}
				ul#menu ul{
					display: none;
					position: absolute;
					z-index: 1100;
					top: 30px;
					left: -25px;
					width: 240px;
					padding: 10px 20px 20px 0;
					background-color: white;
					box-shadow: 0 0 4px rgba(0,0,0,.1);
				}
					ul#menu ul li{
						float: none;
					}

		div#bt_menu_mob{
			display: none;
			position: absolute;
			z-index: 1100;
			width: 24px;
			height: 24px;
			cursor: pointer;
		}
			div#bt_menu_mob svg{
				width: 24px;
				height: 24px;
			}

		div#wrapper_menu_mob{
			position: fixed;
			z-index: 990;
			top: -1000px;
			left: 0;
			width: 100%;
			background-color: white;
			border-bottom: 1px solid #e4ebee;
			transition: top .95s ease-in-out 0s;
		}
			ul#menu_mob{
				width: 300px;
				margin: 0 auto;
			}
				ul#menu_mob ul{
					display: none;
				}
				ul#menu_mob li{
					padding: 5px 10px;
					list-style: none;
					border-bottom: 1px solid #e4ebee;
				}
					ul#menu_mob li a{
						display: block;
						border-bottom: 0 none;
					}
					b.marker_submenu{
						float: right;
					}
					ul#menu_mob ul li{
						border-bottom: 0 none;
					}
						ul#menu_mob ul li a{
							font-size: .85em;
						}


/* FORM ELEMS  */
		input,
		select,
		textarea{
			-webkit-appearance: none !important;
			-moz-appearance: none !important;
		}
		input[type="button"],
		input[type="submit"], 
		a.button{
			display: inline-block;
			margin-bottom: 15px;
			padding: 14px 25px;
			color: black;
			font-family: 'roboto_slabbold';
			font-size: 14px;
			line-height: 1;
			letter-spacing: .6px;
			text-align: center;
			text-transform: uppercase;
			background-color: #e4ebee;
			border-radius: 0 !important;
			cursor: pointer;
			transition: color .3s linear 0s, background-color .3s linear 0s;
		}
			input[type="button"]:hover,
			input[type="submit"]:hover,
			a.button:hover{
				color: white;
				background-color: black;
			}
		input[type="text"], input[type="password"], textarea, select{
			margin-bottom: 15px;
			padding: 5px 9px 7px;
			color: black;
			font-family: 'roboto_slablight';
			font-size: 16px;
			line-height: 1;
			letter-spacing: .6px;
			border: 1px solid #e4ebee;
			border-radius: 0 !important;
			background-color: white;
			transition: border .3s linear 0s;
		}
			input[type="text"]:focus, textarea:focus{
				border: 1px solid black;
			}
		select{
			
		}
		textarea{
			height: 150px;
			line-height: 1.4;
		}
		::placeholder{
			color: black;
			opacity: 1
		}
		:-ms-input-placeholder{
			color: black;
			opacity: 1;
		}
			input[type="checkbox"], input[type="radio"]{
				display:none;
				}
				input[type="checkbox"]+label::before, input[type="radio"]+label::before{
					display: inline-block;
					width: 20px;
					height: 20px;
					float: left;
					background-color: #e4ebee;
					content: "";
					margin: 2px 10px 12px 0;
					border-radius: 20px;
					cursor: pointer;
					}
					input[type="checkbox"]:checked+label::before, input[type="radio"]:checked+label::before{
						box-shadow: inset 0px 0px 0px 5px #e4ebee;
						background-color: black;
						}
					label{
						display: inline-block;
					}


	
	div#content_main{
		min-height: 600px;
		padding-top: 1em;
	}
		div#wrapper_content p{
			margin-bottom: 1em;
		}
			div#wrapper_content p:last-child{
				margin-bottom: 0 !important;
			}
		div#wrapper_content ul, 
		div#wrapper_content ol{
			margin: 0 0 1em 22px;
		}
		
		div#wrapper_content img{
			max-width: 100%;
		}		

	div#content_aside{
		font-size: .8em;
	}
		div#content_aside_inner {
			top: 110px;
			position: -webkit-sticky;
			position: sticky;
		}
		h1, h2, h3, h4, h5{
			padding-bottom: .15em;
			font-family: 'roboto_slabregular';
			font-weight: normal;
			line-height: 1.15;			
		}
		h1{
			padding-bottom: .75em;
			font-size: 1.75em;
		}
			h1.hidden{
				display: none;
			}
		h2{
			font-size: 1.55em;
		}
		h3{
			font-size: 1.35em;
		}
		h4, h5{
			font-size: 1.2em;
		}

			div#content_aside h3{
				margin-bottom: .5em;
			}
		.red{
			color: #ff0085;
		}
		.right{
			text-align: right;
		}
		.floatR{
			float: right;
		}

		div.vspacer10{
			height: 10px;
		}
		div.hspacer_20{
			display: inline-block;
			width: 20px;
		}
		
		div.wrapper_50_50{
			width: 50%;
			float: left;
		}
		
		hr{
			height: 2px;
			margin: 20px 0;
			color: #813;
			background-color: #813;
		}

		div#wrapper_kalender_aside{
			min-height: 344px;
		}

		div.kachel_home{
			position: relative;
			float: left;
		}
			div.kachel_home.pic{
				color: white;
				background-repeat: no-repeat;
				background-position: center center;
				background-size: cover;
				text-shadow: 2px 2px 3px rgba(0,0,0,.5);
			}
				div.kachel_home.pic a{
					color: white;
					border-bottom: 1px solid white;
				}
			div.kachel_decker{
				position: absolute;
				z-index: 1;
				top: 0;
				left: 0;
				background-color: rgba(0,0,0,.4);
			}
			div.kachel_home.bg_grey{
				background-color: #e4ebee;
			}
			div.kachel_home_inner{
				position: relative;
				z-index: 10;
				padding: 15px;
				font-size: .8em;
			}
	
			div#kalender_paging, div#home_kalender_paging{
				margin-bottom: 20px;
				}
				div#kalender_paging > div, div#home_kalender_paging > div{
					display: inline-block;
					}
					div#bt_kalender_prev, div#bt_kalender_next{
						width: 30px;
						}
					div#bt_kalender_prev{
						float: left;
						}
					div#bt_kalender_next{
						float: right;
						}
						div#bt_kalender_prev a, div#bt_kalender_next a{
							border: 0 none;
							}
							div#bt_kalender_prev a svg, div#bt_kalender_next a svg{
								width: 30px;
								}
			
					div#curr_month, div#curr_month_full{
						line-height: 30px;
						text-align: center;
						}
			div#home_kalender_block table,
			div#kalender_full table,
			div#kalender_full_mobile table{
				width: 100%;
				}
				div#home_kalender_block table td,
				div#kalender_full table td{
					width: 14.2857%;
					height: 50px;
					font-size: .8em;
					text-align: right;
					vertical-align: top;
					background-color: #e4ebee;
					}
				div#kalender_full table td{
					height: 120px;
					}
				div#kalender_full_mobile table td{
					background-color: #e4ebee;
					}
					div#home_kalender_block table td.tHeader,
					div#kalender_full table td.tHeader{
						height: auto;
						padding: 4px 6px;
						text-align: center;
						background-color: white;
						}
					div#home_kalender_block table td.empty,
					div#kalender_full table td.empty{
						background-color: white;
						}
					td.currDay{
						border: 1px solid black;
						}
					div.cal_day{
						padding: 4px;
						}
						div.cal_day.termin a{
							display: block;
							padding: 2px 2px 0 0;
							height: 40px;
							color: white;
							background-color: black;
							border: 0 none;
							}
					div.cal_day span{
						display: inline-block;
						width: 30px;
						}
						div.termin_box{
							margin-bottom: 10px;
							padding: 5px 8px;
							font-size: .8em;
							text-align: left;
							background-color: white;
							}
							div.termin_box img{
								width: 15px !important;
								margin: 0 5px 0 0 !important;
								border: 0 none !important;
								}
							div.termin_box hr{
								margin: 5px 0 !important;
							}

		a.pic_link, 
		div.news_list_pic a{
			border-bottom: 0 none;
		}
		div.news_item{
			margin-bottom: 40px;
			border-bottom: 1px solid grey;
			padding-bottom: 40px;
		}
	
	form#form_events input[type=text], 
	form#form_events textarea{
		width: 85%;
	}
	form#form_events input#datum{
		width: 100px;
	}
	div#feedback_event{
		height: 1.4em;
		color: #d70a60;
	}
		
	div#footer{
		font-size: .8em;
		border-top: 1px solid #e4ebee;
	}
		div#footer_copyright, 
		div#menu_footer{
			display: inline-block;
		}
	
	div#cookiebanner_bg{
			position: fixed;
			z-index: 3000;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			background-color: rgba(255,255,255, 0.85);
		}
		div#wrapper_cookiebanner{
			position: fixed;
			z-index: 3011;
			left: 0;
			bottom: 0;
			width: 100%;
			padding: 20px 0;
			color: white;
			text-align: center;
			background-color: black;
			transition: bottom 0.7s cubic-bezier(.29,.64,.74,.66) 0s;
		}
			div#wrapper_cookiebanner h3{
				text-transform: uppercase;
			}
			div#wrapper_cookiebanner p{
				max-width: 750px;
				margin: 0 auto;
			}
			div#wrapper_cookiebanner a{
				color: white;
			}
			div#wrapper_cookiebanner input[type="button"]{
				margin-bottom: 1em;
			}
			div#cookies_checkboxes{
				display: inline-block;
				margin: 0 auto;
			}
			form#form_cookies_accept label.checkbox_container{
				display: inline-block;
				margin: 0 12.5px;
			}
			div#cookies_links a,
			div#wrapper_cookiebanner input{
				margin: 0 8px;
			}
		
	
	
	
	
	#status{ position: fixed; bottom: 10px; left: 10px; z-index: 99999; padding: 3px 5px; font-size: 14px; font-family: monospace; color: rgb(196, 12, 198); background: rgba(211, 211, 211, 0.8); }
