﻿* {
	box-sizing: border-box;
}
img {
	max-width: 100%;
	height: auto;
}

body {
	background : #fff url(../images/banner.jpg) top right no-repeat;
	font-family : Arial, Helvetica, Muli , sans-serif;
	color : #4D4D4D;
	margin : 0;
	padding : 0;
	text-align : left;
	font-size : 14px;
	#behavior: url('scripts/csshover.htc');
	line-height: 1.45;
	position: relative;
}

body:before {
	content: " ";
	background: url(../images/bg_balken_main_nav.gif);
	display: block;
	position: absolute;
	left: 0;
	right: 0;
	top: 95px;
	height: 44px;
}

a,a:visited,a:active,a:hover,a:focus {
	text-decoration : underline;
	color : #AC2020;
}

#container {
	width: 1170px;
	margin: 0 auto;
	max-width: 100%;
	min-height: 100%;
	position: relative;
	/*background-color: #fff;
	box-shadow: 0px 0px 5px rgba(0,0,0,0.2);*/
}

#container:after {
	content: " ";
	display: table;
	clear: both;
}

#banner {
	position : relative;
	display : block;
	width : 100%;
	height : 95px;
	margin : 0;
	padding : 0;
}

#banner #logo {
	position : relative;
	display : block;
	top : 19px;
	left : 142px;
	margin : 0;
	padding : 0;
}

#mainnav {
	overflow : hidden;
	width : 100%;
	padding : 0;
}

#mainnav ul {
	background: url(../images/bg_balken_main_nav.gif);
	display: block;
	width: 100%;
	white-space: nowrap;
	margin: 0;
	padding: 5px 0;
	list-style: none;
}

#mainnav li {
	display: inline-block;
	text-align: center;
	background : url(../images/bg_main_nav.gif);
	width: 33%;
}

#mainnav ul li a {
	display : block;
	text-decoration : none;
	color : #000;
	letter-spacing : 2px;
	text-transform : uppercase;
	font-size: 14px;
	padding: 7px;
	-webkit-transition: all 0.2s linear;
	transition: all 0.2s linear;
}

#mainnav ul li a:hover {
	color: #fff;
	background-color: #AB211E;
}

#mainnav li .active {
	color: #fff;
	background-color: #AB211E;
}

#middlebox {
	position : absolute;;
	top : 150px;
	left : 0;
	width : 28%;
	height: auto;
	/*margin-bottom: 45px;*/
}
#middlebox:after {
	content: " ";
	display: table;
	clear: both;
}

#leftbox {
	width: 100%;
}

#leftbox #teasernews, #leftbox #teaserangebot, #leftbox #teaserkontakt {
	position : relative;
	display : block;
	top : 0;
	left : 0;
	width : 100%;
	overflow : visible;
	border-bottom : 1px solid #ffffff;
}

#leftbox h1 {
	width : 100%;
	text-align : center;
	font-size : 14px;
	font-weight : normal;
	color : #4C4E4D;
	text-transform : uppercase;
	background : #D2D2D2;
	border-bottom : 1px solid #fff;
	margin : 0;
	line-height: 2;
}

#leftbox a,#leftbox a:visited,#leftbox a:active,#leftbox a:hover,#leftbox p a:focus {
	text-decoration : underline;
	color : #AC2020;
}

#leftbox p {
	padding : 0;
	margin : 0;
}

#leftbox #teasernews p {
	padding : 0;
	margin : 6px;
	margin-left : 6px;
	margin-top : 4px;
}

#leftbox .highlight {
	background : #fff;
	margin : 8px;
	padding : 10px;
	line-height: 1.5;
}
#leftbox #teasernews p {
	padding: 10px;
	line-height: 1.5;
}
#leftbox .highlight img {
	width: 100%;
	height: auto;
	margin-bottom: 15px;
}

#leftbox #teasernews {
	background : #F8F8F8;
	min-height : 75px;
}
#leftbox #teaserangebot {
	margin-top : 13px;
	background : url(../images/bg_teaser_kachel.gif);
}

#leftbox #teaserkontakt {
	margin-top : 12px;
	background : url(../images/bg_teaser_kachel.gif);
}
#leftbox #teaserkontakt h1 {
	color : #AC201F;
}

#nav {
	display : block;
	background : url(../images/bg_nav_kachel.gif);
	background-repeat : repeat-y;
	background-color: #fff;
	padding-left : 55px;
	margin-top: 56px;
}

#nav ul {
	display : block;
	list-style : none;
	white-space : nowrap;
	margin : 0 0 0 0;
	padding : 0;
	border-left : 1px solid #fff;
}

#nav ul.nav_level1 li {
	display : block;
	margin : 0;
	text-align : left;
	padding-left : 23px;
	background : url(../images/bg_nav_plus.gif);
	background-repeat : no-repeat;;
	background-position: 0 8px;
}

#nav ul.nav_level2 li {
	display : block;
	margin : 0;
	width : 142px;
	height : auto;
	text-align : left;
	padding-left : 23px;
	background : url(../images/bg_nav_plus.gif);
	background-repeat : no-repeat;
	background-position: 0 8px;
}

#nav ul.nav_level1 {
	background : url(../images/bg_nav_kachel_2.gif);
	background-repeat : repeat-y;
}

#nav ul.nav_level2 {
	margin : 0;
	padding-left : 18px;
	background : url(../images/bg_nav_kachel_4.gif);
	background-repeat : repeat-y;
}

#nav ul li a,#nav ul li a:visited,#nav ul li a:active,#nav ul li a:hover,#nav ul li a:focus {
	display : block;
	text-decoration : none;
	color : #4D4D4D;
	line-height: 250%;
	font-size : inherit;
	text-transform : uppercase;
	width : 100%;
	height : auto;
}

#nav ul li a:hover {
	color: #AC2020;
}

#nav ul.nav_level1 li.active,#nav ul.nav_level2 li.active {
	background : url(../images/bg_nav_minus.gif);
	background-repeat : no-repeat;
	background-position: 0 8px;
}

#nav ul.nav_level1 li.active a,#nav ul.nav_level2 li.active a {
	color: #AC2020;
}

#contentbox,
#contentbox_home {
	position: absolute;
    top: 150px;
	right: 0;
    z-index: 20;
    width: 70%;
	margin-bottom: 45px;
}

#contentbox_home #img_home {
	width: 100%;
}
#contentbox_home #img_home img {
	width: 100%;
	height: auto;
}

#contentbox_home #img_home embed {
	max-width: 100%;
}

#contentbox_home #txt_home {
	display: none;
}

#content_blocks {
	display: table;
	width: 100%;
	margin-top: 15px;
}

#content_blocks .content_block {
	display: table-cell;
	width: 33%;
	min-height : 145px;
    height: 100%;
	background : url(../images/bg_content_kachel.gif);
	border-right : 1px solid #ffffff;
}

#content_blocks .content_block h1 {
	width: 100%;
    text-align: center;
    font-size: 14px;
    font-weight: normal;
    color: #FFFFFF;
    letter-spacing: 2px;
    text-transform: uppercase;
    background: #4D4D4D;
    border-bottom: 1px solid #fff;
    margin: 0;
    padding: 10px 0;
}

#content_blocks .content_block p {
	margin: 0;
}

#content_blocks .content_block h1.hl_content_special,
#content_blocks .content_block p {
	padding: 15px;
	width : auto;
	height : auto;
	text-align : left;
	font-size : 14px;
	font-weight : normal;
	color : #4D4D4D;
	letter-spacing : normal;
	text-transform : none;
	background : transparent;
	border : none;
}

#footer {
	background-color: #D2D2D2;
	border-top: 1px solid #ccc;
	position: fixed;
	display: block;
	bottom: 0;
	z-index: 99;
	left: 0;
	right: 0;
	margin: auto;
}

#footer > p {
	padding : 0;
	margin : 0 auto;
	padding-left : 24px;
	width: 1170px;
	max-width: 100%;
	overflow: hidden;
}

#footer a {
	display : block;
	float: left;
	font-size: 12px;
	text-decoration : none;
	color : #4C4E4D;
	text-transform : none;
	margin: 0 15px 0 0;
	padding: 7px 0;
}

#breadcrumb {
	position: relative;
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    height: 30px;
    color: #7A7A7A;
    font-size: 12px;
    border-bottom: 1px solid #f5f5f5;
    margin-bottom: 30px;
	overflow: hidden;
	line-height: 1.2;
}

#content {
	position: relative;
	display: block;
	top: 0;
	left: 0;
}

#content #content_left {
	width : 65%;
	float : left;
}
#content #content_right,
#content #content_right_list {
	float : right;
}

#content #content_left h1 {
	position : relative;
	left : 0;
	top : 0;
	width : auto;
	text-align : left;
	font-size : 15px;
	font-weight : bold;
	color : #4D4D4D;
	margin : 30px 0 0 0;
	padding : 0 0 8px 0;
}
#content #content_left > h1:first-child {
	margin: 0;
}

#content #content_left p {
	position : relative;
	width : auto;
	text-align : left;
	margin : 0 0 13px 0;
	padding : 0;
}

#content #content_right,
#content #content_right_list {
	position : relative;
	display : block;
	/*left : 480px;*/
	top : 0;
	padding : 0;
	margin : 0;
	width : 32%;
}
/*
#content #content_right_list {
	position : absolute;
	left : 480px;
	top : 0;
	width : 150px;
}
*/
.offer {
	display: table;
	padding-bottom: 15px;
    margin-bottom: 15px;
	border-bottom : 1px dotted #A6A6A6;
	width: 100%;
}

.offer_text {
	width: 65%;
	float: left;
}

.offer_img {
	width: 32%;
	float: right;
}

.offer h1 {
	font-size: 15px;
}

.offer h2 {
	font-size: 14px;
}

.v_zentriert {
	width : 100%;
	text-align : center;
}

a.float_right {
	display : block;
	width : 172px;
	text-align : right;
}

.img_zoom {
	position : relative;
	display : block;
	width : 100%;
	cursor : pointer;
}

.img_zoom img {
	width: 100%;
}

#content_right img {
	display : block;
	width: 100%;
}

.zoom {
	position : absolute;
	width : 100%;
	height : 17px;
	left : 0;
	bottom : -1px;
	-moz-opacity: .6;
	filter: alpha(opacity=60);
	background : url(../images/bg_img_zoom.gif);
	background-repeat : no-repeat;
}

.img_title, .link_box {
	position : relative;
	display : block;
	width : 100%;
	height : auto !important;
	left : 0;
	bottom : 0;
	font-size : inherit;
	margin : 0 0 13px 0;
	padding : 6px 2px 6px 2px;
	line-height: 125%;
	border-top : 1px solid #fff;
	background-color : #CCCCCC;
}

.img_title p, .link_box p  {
	margin : 0;
	padding : 0 0 0 5;
}

.link_box a,.link_box a:visited,.link_box a:active,.link_box a:hover,a:focus {
	text-decoration : none;
	color : #4D4D4D;
}

.line_hor {
	position : relative;
	width : 100%;
	height : 1px;
	margin : 0;
	padding : 0;
	border-bottom : 1px dashed #A6A6A6;
}

table.tbl_details {
	width : 100%;
}

table.tbl_details th {
	background-color : #D2D2D2;
	border-bottom : 3px solid #ffffff;
	font-weight : normal;
	padding : 6px;
}

table.tbl_details tr.row1 {
	background : url(../images/bg_content_kachel.gif);
}

table.tbl_details tr.row2 {
	background-color : #FAFAFA;
}

table.tbl_details tr.row1 td,table.tbl_details tr.row2 td {
	border-bottom : 1px solid #ffffff;
	padding : 6px;
	text-align : left;
	vertical-align : top;
	font-size: 14px;
}

table.tbl_details td.alternate {
	text-decoration : underline;
}

fieldset { border : none; padding : 0; margin : 0; }
fieldset legend { display : none }

/* media queries */
@media (max-width: 991px) {
	#breadcrumb {
		padding-left: 50px;
		text-align: right;
	}
	#contentbox {
		width: auto;
		padding-left: 15px;
		padding-right: 15px;
	}
	#front-page #middlebox {
		display: block;
	}

	#nav {
		position: absolute;
		box-shadow: 0 0 5px rgba(0,0,0,0.5);
		z-index: 9999;
		width: 285px;
		padding-right: 15px;
		padding-top: 15px;
		padding-bottom: 15px;
		top: -55px;
		-moz-transform:  translateX(-287px);
		-webkit-transform:  translateX(-287px);
		transform:  translateX(-287px);
		-moz-transition: all 0.2s linear;
		-webkit-transition: all 0.2s linear;
		transition: all 0.2s linear;
	}
	#nav:after {
		content: "\2261";
		width: 50px;
		height: 50px;
		background-color: #fff;
		right: -50px;
		top: 0;
		position: absolute;
		box-shadow: 0 0 5px rgba(0,0,0,0.25);
		font-size: 36px;
		text-align: center;
		color: brown;
		cursor: pointer;
	}

	#nav.active {
		-moz-transform:  translateX(-56px);
		-webkit-transform:  translateX(-56px);
		transform:  translateX(-56px);
	}
}
@media (max-width: 767px) {
	body {
		margin-bottom: 60px;
	}
	
	body:before {
		display: none !important;
	}
	#mainnav {
		position: absolute;
		top: 95px;
		background : url(../images/bg_balken_main_nav.gif);
	}
	#mainnav ul {
		padding: 5px 15px;
	}
	#contentbox_home {
		position: static;
		margin-top: 55px;
		width: 100%;
		height: auto;
	}
	#middlebox {
		display: table;
	    position: static;
	    width: 100%;
	    height: auto;
	    padding-top: 40px;
		padding-bottom: 60px;
	    margin-bottom: 60px;
	    border-top: 1px dashed #dfdfdf;
	}
	#leftbox #teasernews,
	#leftbox #teaserangebot,
	#leftbox #teaserkontakt {
		display: table-cell;
		width: 33%;
		height: auto;
	}
	#leftbox .highlight {
		height: auto;
	}
	#footer {
		background: #D2D2D2;
		border-top: 1px solid #ccc;
	}
	#footer p {
		padding-left: 10px;
	}
	#footer a {
		font-size: 11px;
	}

	#nav {
		top: 95px;
	}

}
@media (max-width: 567px) {
	#banner #logo {
		left: 15px;
		max-width: 85%;
		height: auto;
		right: 15px;
	}
	#mainnav li {
		display: block;
		width: 100%;
		margin-bottom: 5px;
	}
	#contentbox {
		position: inherit;
	}
	#contentbox_home {
		margin-top: 140px;
	}
	#content #content_left {
		width: 100%;
		margin-bottom: 60px;
	}
	#content #content_right,
	#content #content_right_list	{
		width: 100%;
		margin-bottom: 100px;
	}
	#content_blocks .content_block {
		display: block;
		width: 100%;
	}
	#leftbox #teasernews,
	#leftbox #teaserangebot,
	#leftbox #teaserkontakt {
		display: block;
		width: 100%;
	}

	#nav {
		top: 180px;
	}

	.offer_text,
	.offer_img {
		width: 100%;
	}

	.offer_text {
		margin-bottom: 15px;
	}
}
