body .main div, body .main div input, body .main div label {box-sizing: border-box;}

body {    
    background-color: #ececee ! important;
}

.clear {
  clear: both;
  display: block;
  overflow: hidden;
  visibility: hidden;
  width: 0;
  height: 0;
}
.clearfix:before,
.clearfix:after {
  content: '\0020';
  display: block;
  overflow: hidden;
  visibility: hidden;
  width: 0;
  height: 0;
}
.clearfix:after {
  clear: both;
}

/*altes Zeug */
.container_12 {clear:both;}
.main-bg { width: 100%; background: url(img/main-bg.jpg) center 0 no-repeat; }
.wrapper { width: 100%; }
.fright { float: right; display: block; }
.fleft { float: left;}
a { text-decoration: none; }

h4 {
    font-size: 19px;
    line-height: 24px;
    color: #363636;
    text-transform: uppercase;
    padding: 6px 0 0 0;
}
.heading h4 { font-size: 22px;  padding: 8px 0 0 0;}

.block {     display: block;}
.indent-bot { margin-bottom: 20px; }
.right-box {
    float: right;
    width: 600px;
    padding-top: 0px;
    padding-right: 10px;
    padding-bottom: 0;
    padding-left: 0;
}
.header-but {
    display: inline-block;
    background: url(img/header-but.jpg) repeat-x #9e0202;
    font-size: 21px;
    font-weight: bold;
    color: #fff;
    line-height: 28px;
    text-decoration: none;
    border: 1px solid #880707;
    padding: 4px 7px 7px 11px;
    border-radius: 3px;
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
}

/*
.tab_container {
    padding: 0;
    width: 218px;
    border-radius: 3px 3px 3px 3px;   
    background: url(img/tab-bg.jpg) repeat-x center top #9b0101;
    border: 1px solid #880707;
    border-top: none;
    XXheight: 452px;
    position: relative;
}
*/
.red-bg {
    padding: 0;
    width: 420px;
	 width: 100%;
    border-radius: 3px 3px 3px 3px;   
    background: url(img/tab-bg.jpg) repeat-x center top #9b0101;
    border: 1px solid #880707;
    border-top: none;
    position: relative;
}

h3.rot {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 16px;
    line-height: 1.2em;
    font-weight: bold;
    line-height: 18px;
    text-transform: uppercase;
    padding: 12px 0px 12px 19px;
    background: url(img/tabs-li-tail.gif) repeat-x center top #cf0505;
    outline: none;
	color: #fff;
}

.box-1 {
    background: #363636;
    border: 1px solid #242424;
    border-radius: 3px;
}
.box-1-container {
    padding: 16px 20px 22px 19px;
    XXheight: 466px;
}

.body10 .box-2,
.box-2-container {padding: 10px 2%;}

h3.dark {
    color: #fcfcfc;
    background: url(img/h3-dark.gif) repeat-x #2b2b2b;
    border-bottom: 1px solid #242424;
	text-transform: uppercase;
	margin-top:10px;
}
.list-2 li {
    XXfont-size: 12px;
    XXline-height: 18px;
    padding: 0 0 12px 0;
    background: url(img/line-1.gif) left bottom repeat-x;
    margin-bottom: 6px;
	  color: #fff;
	  line-height: 120%;
}
.list-2 li a {
    display: inline-block;
    color: #d50707;
    text-transform: uppercase;
    line-height: 17px;
	
}

.marker {
    float: left;
    background: #fcfcfc;
    width: 35px;
    height: 27px;
    text-align: center;
    font-size: 16px;
    font-weight: bold;
    color: #353535;
    padding: 8px 0 0 0;
    margin: 5px 15px 0 0;
    border-radius: 100%;
    line-height: 19px;
}
.extra-wrap {margin-left: 60px;}



.box-2 {
    background: #fcfcfc;
    border: 1px solid #bebebe;
    border-radius: 3px;
}

h3.light1 {
    color: #313131;
    background: url(img/h3-light1.jpg) repeat-x #e3e3e3;
    border-bottom: 1px solid #bebebe;
    border-radius: 3px 3px 0 0;    
    padding: 13px 0 12px 22px;
    font-weight: bold;
    font-size: 12px;
    line-height: 15px;
	 text-transform: uppercase;
}
.color-3 {     color: #f22f2f;} /*span rot*/

.heading {
    border: 1px solid #bebebe;
    padding: 10px 19px 12px 23px;
    margin-bottom: 15px;
}

.box-2-container {
    padding: 23px 210px 26px 30px;
}

.box-3-container {
    padding: 28px 29px 29px 29px; height:100%;
}



.banner {
    width: 100%;
    background: url(img/banner-tail.png) repeat-x center top #242424;
    margin-bottom: 1px;
}
.banner-padding {
    padding: 15px 13px 15px 21px;
}

.text-3 {
    font-size: 21px;
    line-height: 30px;
    color: #fff;
    display: block;
}

.button-6 {
    font-size: 12px;
    font-weight: bold;
    line-height: 21px;
    background: url(img/button-tail.gif) repeat-x center top #9f0202;
    color: #fff;
    border: 1px solid #221818;
    padding: 3px 13px 4px 16px;
    text-decoration: none;
    display: inline-block;
    margin-left: 10px;
}

.button-6:hover {
	background: #DA3736;
	font-size: 12px;
}


/*MEnu*/
.menu-indent {    XXmargin-bottom: 30px; clear:both;}

.menu ol, .menu ul, .menu li {
    list-style: none;
}

.menu {
    padding: 0px 0px 0 0;
    width: 938px;
    background: url(img/menu-bg.jpg) repeat-x #e3e3e5;
    border: 1px solid #bebebe;
    float: left;
    border-radius: 3px;   
    box-shadow: 0px 3px 5px #dad9d9;
	margin:20px 0;
}


.menu > li {
    float: left;
    position: relative;
    padding: 0 1px 0 0px;
    background: url(img/menu-li.jpg) right top no-repeat;
	line-height: 0.8; 
	
}

.menu > li > a {
    display: block;
    font: bold 12px Arial, Helvetica, sans-serif;
    line-height: 17px;
    padding: 11px 13px 8px 13px;
    color: #373737;
    text-transform: uppercase;
	text-decoration:none;
    margin: 1px;
}

.menu > li > a span {
    display: inline-block;
    background: url(img/menu-marker.png) 0 bottom no-repeat;
    width: 16px;
    height: 16px;
    margin-right: 8px;
}

.footer-menu {
    XXwidth: 938px;
    background: url(img/footer-menu.jpg) repeat-x #e3e3e5;
    border: 1px solid #bebebe;
    padding: 11px 0 12px 0;
    border-radius: 3px;   
    box-shadow: 0px 3px 5px #cdcbcb;   
    margin-bottom: 10px;
}
.footer-link-box {
    float: right;
    padding-right: 13px;
}

.footernav {display:none;}



a.contact-box-icons {display:none; }


.main {clear:both;}



.maingrid {
	XXmargin-left: 10px;
    XXmargin-right: 10px;	
	display: grid;
	grid-template-columns: 1fr 3fr;	
	grid-column-gap: 20px;
	grid-row-gap: 20px;
	width:100%;
	clear:both;
}
.body14 .maingrid, .body8 .maingrid {grid-template-columns: 3fr 2fr;	}
.XXminiform_ajax {background-color: #cf0505;}

.maingrid-item {overflow:hidden;}
.maingrid-item.maingrid-wide {grid-column: span 2;}


.mainformgrid {display: block;}
.body14 .mainformgrid {
	display: grid;
	grid-template-columns: 4fr 1fr;	
	grid-column-gap: 0;
	grid-row-gap: 0;
}


.XXformgrid {display: block;}
.formpictureblock {display: none;}

.formgrid {
	display: grid;
	grid-template-columns: 1fr 1fr;	
	grid-column-gap: 10px;
	grid-row-gap: 10px;
	
}
.body14 .formgrid {margin:0 25% 0 0;}

.formgrid-item {}
.formgrid-wide {grid-column: span 2;}
.formgrid-item .smaller {font-size:0.8em; font-weight: normal; XXdisplay: block; XXoverflow:hidden;}

.body14 .formpictureblock, .body8 .formpictureblock  {display: block; position:relative;}
.formpictureblock .formpicture {display: block; position:absolute; width: 25%; right: -30%;}
.formpictureblock .formpicture img {width:100%;}
.formpictureblock .formpfeil {display: block; position:absolute; width: 30%;  right: -70%; padding-top:40px;}
.formpictureblock .formpfeil img {width:100%;}

body .tab_container2 {width:100%;}
body .miniform {margin:0 2%; width: 96%; color: #fff;}
body .miniform .grouping {background-color: transparent;}
body .miniform label span  {   font-size:0.92em; XXfont-weight: normal;}
body .miniform span span {    color: #ffea00;}



body {min-width: auto ! important;}

body .main {
    width: 100%;
	max-width: 1200px;
    padding: 0;
    margin: 0 auto;
    font-size: 0.92em;
    line-height: 1.5em;
}



body, body .container_12, body .container_12 .grid_12, body .menu, body .footer-menu {
    width:100%;
}



.headerbox .right-box {width: 60%;}
.headerbox .logobox {float:left; width: 30%;}
.headerbox .logobox img {max-width: 100%;}


.main-bg {max-width: 96%; margin-left:2%; XXoverflow:hidden;}

body .col-1 { width: auto; }
body .XXmenu-indent { margin-bottom: 3px;}
.blitzerweg {background: #c00; width:100%; margin-top: -22px; height:22px; }
.body14 .blitzerweg {display:none;}

.body9 .maingrid-item.item1.box-2 {
	background: #272727 url('/media/fotos/titelbild.jpg') no-repeat; background-size:cover;
	position:relative;	
}
.body9 .slider {position:absolute; bottom: 0; width:100%; height:auto;}
.body9 .slider img {max-width:100%;}
.body9 .list-img {width:20%;}


.mobiletop { display:none;}


/* ======================================================================
kontakticons */
.kontakticons {display:block; position:absolute; width: 92%; XXpadding-right: 10px; left: -120%; top:100px; transition: 1s left; box-shadow: 2px 2px 70px rgba(0,0,0,0.9); border-radius:20px; border: 1px #666 solid; overflow:hidden;}
.kontakticons_visible  { left: 5%; z-index:9000;}

.kontakticons a {display:block; width: 100%; height: 50px; background: #f4f4f4; font-weight: bold; color: #cc0000; border-top: 1px #666 solid; XXborder-radius:10px; margin:-1px 0; transition:0.3s all;}
.kontakticons a:hover {background: #fff; height: 60px; padding-top:5px; color: #000;}
.kontakticons img {float:left; clear:left;width: 40px; border-radius:50%; border: 2px #fff solid; margin:3px 10px 0 3px; box-shadow: 0px 0px 5px 1px rgba(0,0,0,0.4);  background: #cc0000;  background: linear-gradient(183deg, rgba(255,0,0,1) 0%, rgba(130,1,1,1) 100%);}

.kontakticons span {display:block; font-size: 16px; padding-top:15px;}



/* ======================================================================
Smaller Screens */
@media screen and (max-width: 600px) {

	.mobiletop {display:block; background: #ddd; margin: 20px 0 0 0; color:#000; }
	.mobiletop .inner {padding: 20px 2%;  }

	nav {display:none;}
	.footernav {display:block;}
	.mobileclear {clear:both; width: 100%; XXbackground: #eee; height:40px;}
	
	.maingrid, .mainformgrid{
		display: block ! important;
		margin: 0 ! important;		
	}
	.XXbody14 .maingrid {grid-template-columns: 3fr 2fr;	}
	.formgrid: {margin:0;}
	.formpictureblock .formpfeil {display: none;}
	.formpictureblock .formpicture {XXdisplay: none;}
	
	.formgrid { margin: 0 0% 0 0; }
	
	body .menu > li {display:block; width:100%;}
	
	.XXheaderbox .right-box, .headerbox .logobox {XXfloat:none; width: 60%;}
	.contact-box {XXdisplay:none; float:right; width: 48%;}
	.contact-box a {padding:0 ! important;}
	.contact-box img {max-width:90%;}
	body .headerbox .kontaktlink img {padding:0 0 0 0 ! important; margin: 10px auto ! important; text-align:center;}
	
	.topics_loop {padding: 10px 5%;}
	body .topics_loop h2.mt_title {padding-top: 0 ! important;}
	
	
	a.contact-box-icons {display:block; float: right; width: 64px; cursor: pointer;}
	.contact-box {display:block; position:absolute; width: 95%; padding-right: 10px; left: -120%; top:100px; background: #fff; transition: 1s left; box-shadow: 2px 2px 10px rgba(0,0,0,0.2);}
	.contact_box_visible  { left: -5%;}
	
	
	
	.body8 .container_12 {margin: 0 2%; width:auto;}
	.footer-link-box {padding-left: 12px; float:none;}
	.copyright {display:block;}
}


