html {
	box-sizing: border-box;
	height: 100%;
}
*, *:after, *:before {
	margin: 0;
	padding: 0;
	box-sizing: inherit;
}
body {
	text-align: center;
	background-color: #FFF;
	height: 100%;
	position: relative;
}
img {
	max-width: 100%;
	height: auto;
}

.row::after {
    content: "";
    clear: both;
    display: table;
}
[class*="col-"] {
    float: left;
    padding: 15px;
    width: 100%;
}


#all {
	margin: 0 auto;
	max-width: 1200px;
	height: 100%;
}
#header{
	background-color: #FFF;
	width: auto;
	height: auto;
	text-align: center;
	padding-top: 35px;
	border-bottom: 10px solid #808080;
	display: flex;
	align-items: stretch;
}
#header_image {
	text-align: center;
	max-height: 180px;
	padding: 0;
}
#header_image img {
	padding: 0;
	margin: 0;
}
button.menu {
	background: #808080 none repeat scroll 0 0;
    border: medium none;
    height: 33px;
    outline: medium none;
    overflow: hidden;
    position: relative;
    width: 100%;
	cursor: pointer;
	text-align: left;
	font-size: 95%;
	letter-spacing: 0.8px;
	padding-left: 40px;
	color: white;
}
button.menu::after {
    background: #fff none repeat scroll 0 0;
    box-shadow: 0 8px 0 #fff, 0 16px 0 #fff;
    content: "";
    height: 4px;
    left: 5px;
    position: absolute;
    top: 7px;
    width: 25px;
}
#menu_top, #mobileMenu {
	background-color: #808080;
	border: 1px solid black;
	position: fixed;
	left: 0;
	right: 0;
}
#menu_top li, #side_left li {
	left: 0;
	padding-right: 0;
}
#menu_top {
	top: 0;
	z-index: 100;
}
div#menu_top div {
	padding: 0;
}
#menu_top ul#nav_top li {
	display: table-cell;
	float: left;
}
#menu_top a, #menu_top strong, #mobileMenu a, #mobileMenu strong {
	display: block;
	padding: 5px 10px;
	color: #FFF;
}
#menu_top li a, #mobileMenu li a {
	text-decoration: none;
}
#menu_top ul, #mobileMenu ul {
	display: table;
	list-style-type: none;
	padding: 0;
	margin: 0;
	width: 100%;
}
#menu_top li a:hover, #menu_top li button.menu:hover, #mobileMenu li a:hover, #mobileMenu li span:hover, #mobileMenu li span:hover ~ span {
	background-color: #b30012;
}
#menu_top li strong, #mobileMenu li strong {
	padding-bottom: 2px;
	padding-top: 2px;
	border-top: 3px solid black;
	border-bottom: 3px solid black;
	font-weight:normal;
}
.m-hide {
	display: none;
}
.menuOverlayWrapper {
	display: flex;
	justify-content: flex-end;
}
.menuOverlayLink {
	display: flex;
	flex: 1 1 auto;
}
.menuOverlayText {
	display: flex;
	flex: 1 1 auto;
	color: #FFFFFF;
	padding: 5px 10px;
}
.menuOverlayItem {
	display: flex;
	flex: 0 0 auto;
    cursor: pointer;
	width: 40px;
}
#mobileMenu .menuOverlayItem {
	padding: 4px 75px 0 13px;
	color: #FFF;
	font-weight: bolder;
}
#mobileMenu .menuOverlayWrapper .menuOverlayList {
	display: none;
	position: absolute;
	margin-left: 100%;
	left: 0;
	width: calc(100% + 1px);
	top: 0;
	bottom: 0;
	height: 100%;
}
#mobileMenu .menuOverlayList {
	transition: transform 0.24s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0s;
}
.transformed {
	transform: translateX(-100%);
}
#mobileMenu {
	display: none;
	top: 35px;
	bottom: 0;
	overflow: auto;
	margin: 0 auto;
}
#mobileMenu .menuOverlayList .menuOverlayWrapper .menuOverlayList li {
	font-size: 100%;
}
#mobileMenu .menuOverlayList .menuOverlayWrapper .menuOverlayList li:first-child {
	display: block;
	padding: 5px 10px;
	color: #FFF;
	text-decoration:underline;
}

#mobileMenu .menuOverlayList .menuOverlayWrapper .menuOverlayList li:nth-child(2):hover {
	background-color: #b30012;
    cursor: pointer;
}
#content {
	width: 100%;
}
#menu_side {
	display: none;
}

#menu_top li#top_nav_hide {
	border: none;
}

#content {
	display: inline-block;
	background-color: #fafafa;
}
.public_content {
	position: relative;
	float: left;
}
.subtitle {
	font-weight: normal;
}
@media (min-width: 630px) {
	#content {
		display: flex;
	}
	#text_small {
		width: calc(100% - 230px)
	}
	#side_right {
		width: 230px;
		padding: 0;
	}
	#side_right p {
		text-align: center;
		font-size: 80%;
	}
	#side_right img {
		margin: 0;
	}
	#logo_image img {
		pointer-events: none;
	}
	#logo_image {
		display: initial;
		width: 25%;
		padding: 0;
	}
	#header_image {
		width: 75%;
	}
}

@media (min-width: 975px) {
    /* For desktop: */
    .col-1 {width: 8.33%;}
    .col-2 {width: 16.66%;}
    .col-3 {width: 25%;}
    .col-4 {width: 33.33%;}
    .col-5 {width: 41.66%;}
    .col-6 {width: 50%;}
    .col-7 {width: 58.33%;}
    .col-8 {width: 66.66%;}
    .col-9 {width: 75%;}
    .col-10 {width: 83.33%;}
    .col-11 {width: 91.66%;}
    .col-12 {width: 100%;}
	[class*="col-"] {
		display: block;
		padding: 0;
	}
	
	#all {
		padding: 0 10px;
	}
	#header {
		padding-top: 0;
		border: none;
	}
	#logo_image {
		overflow: visible;
		height: 180px;
		z-index: 100;
		position: relative;
		background-color: #d9d9d9;
	}
	#menu_top {
		position: relative;
		top: auto;
		left: auto;
		right: auto;
		z-index: 10;
	}
	#menu_top li {
		display: table-cell;
		float: left;
		text-align: center;
		border-left: 1px solid black;
	}
	#menu_top li > a, #menu_top li > strong {
		transition: 0.4s;
	}
	#menu_top li:last-child {
		border-right: 1px solid #000000;
	}
	#menu_top ul#nav_top li:first-child {
		margin-left: 9px;
	}
	#menu_top ul#nav_top li {
		width: auto;
		min-width: 15%;
	}
	#menu_top ul#home_link li:first-child {
		width: 100%;
		text-align: left;
		border-right: 1px solid #000000;
		border-left: none;
	}
	.d-hide, #mobileMenu{
		display: none;
	}
	#side_left {
		background-color: #d9d9d9;
		order: -1;
	}
	#menu_side {
		display: block;
	}
	#menu_side ul {
		list-style-type: none;
		display: table;
		padding: 0;
		margin: 0;
		width: 100%
	}
	#menu_side li {
		margin-right: 5px;
	}
	#menu_side li > a, #menu_side li > strong {
		border-bottom: 2px solid #b30012;
		border-left: 10px solid #b30012;
		margin: 5px 0;
		color: black;
		width: 100%;
		display: block;
		padding: 5px;
		background-color: #f2f2f2;
		text-decoration: none;
		transition: 0.4s;
	}
	#menu_side a:hover {
		background-color: #c9b5b7;
	}
	#menu_side li > strong {
		background-color: #bfbfbf;
		font-weight: normal;
	}
	#menu_side > ul > ul {
		margin-bottom: -5px;
	}
	#menu_side > ul ul {
		margin-top: -5px;
		padding-left: 15px;
	}
	.public_content {
		padding: 15px 10px;
	}
	#text_small {
		width: calc(75% - 230px);
	}
	#text_big {
	}
	#termine {
		border-radius: 12px;
		border: 2px solid #b30012;
		background-color: #f2f2f2;
		margin: 20px 5px;
	}
	#termine p, #termine li {
		padding: 5px;
	}
	#termine li {
		font-size: 100%;
	}
	#termine ul {
		list-style-type: none;
		padding: 0;
		margin: 0 0 10px;
	}
	#termine li:nth-child(even) {
		display: block;
		background-color: #d9d9d9;
	}
	.m-hide {
		display: initial;
	}
}

#form-kontakt input, #form-kontakt textarea {
	border: 1px solid #00663d;
	font-size: 100%;
}
#form-kontakt input[type=text], #form-kontakt input[type=email], #form-kontakt textarea {
	width: 100%;
}
#form-kontakt input {
	height: 30px;
	box-sizing: border-box;
}
#form-kontakt fieldset {
	border: 1px solid #00663d;
	padding: 5px;
	margin-left: 30px;
}
#form-kontakt span {
	display: block;
	overflow: hidden;
}
#form-kontakt input[type=reset], #form-kontakt input[type=submit] {
	cursor: pointer;
}