*, *:after, *:before { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }
body, html { 
	font-size: 100%; 
	padding: 0; 
	margin: 0;
    background:#ffffff;
    font-family: 'Maven Pro', sans-serif;
    color:#50504e;
	background-color: #f7f7f7; 
}

a {
	color: #ffffff;
	text-decoration: none;
	cursor: pointer;
}

a:active {
	color: #ffffff;
    text-decoration: none;
}

label a,
.pull-right a,
.dstext a{
	color: #3b4cb2;
	text-decoration: none;
	cursor: pointer;
}

.link{
	color: #000000;
}

.link:hover{
	background-color: #95e06c;
	color: #ffffff;
}

.link_red a{
	color: #842407;	
}

i {
	font-style: italic;
}

strong {
    font-weight:700;
}

.text-center {
	text-align: center;
}
.text-right {
	text-align: right;
}

.red,
.news {
	color: #50a3ca;
}

/* container */
.container {
	position: relative;
}

/* header:logo */
.logobox {	
    clear: both;
    width: auto;
    max-width: 980px;
	height: 130px;	
    margin: 0 auto;
	padding: 0px;
	background-color: #fff;
	font-family: 'Maven Pro', sans-serif;
	color: #ffffff;
	font-size:18px;
	border-right: 1px solid #ccc;
	border-left: 1px solid #ccc;
}

.logo {
	padding-top: 20px;
	padding-left: 20px;
	margin: 0px;
	z-index: 20000;
	float:left;
}

.header-text {
	color: #6f706f;
	padding-top: 0px;
	padding-bottom: 0px;
	padding-right: 60px;
	margin-top: 40px;
	z-index: 20000;
	float: right;
}

.spacer-menu {
    clear: both;
    width: auto;
    max-width: 980px;
	height: 45px;
	display: block;
    margin: 0 auto;
	padding: 10px;
	text-align: center;
	background-color: #e8e8e8;
	font-family: 'Maven Pro', sans-serif;
	color:#ffffff;
	font-size:18px;
}

.spacer-menu a{
	padding: 12px;
	padding-right: 25px;
	padding-left: 25px;
	font-weight: 500;
	margin: 0px;
}

/* spacer */
.spacer {
    width: auto;
    height: 437px;
    background-color: #faf8f9;
    font-family: 'Maven Pro', sans-serif;
    color:#545454;
    font-size: 18px;
	margin: 0px;
	border-top: 1px solid #dedede;
	border-bottom: 1px solid #dedede;
}

.spacer-frame {
    clear: both;
	width: auto;
    max-width: 980px;
    margin: 0 auto;	
	padding: 0px;
    font-family: 'Maven Pro', sans-serif;
	font-weight: 300;
	font-size: 15px;
	line-height: 26px;
	text-align: left;
}

.header-img {
    width: 100%;
}

/* content */
.text_columns {
    font-family: 'Maven Pro', sans-serif;
    clear: both;
    width: auto;
    max-width: 980px;
    margin: 0 auto;
    font-size: 16px;	
	line-height: 30px;
}

.column-all {
    margin: 0px;
    float: left;
    width: 980px;
	background-color: #fff;
	border-left: 1px solid #dedede;
	border-right: 1px solid #dedede;	
}

.article_c-all {
    margin: 0px;
    width: 980px;
	padding-left: 30px;
	padding-right: 30px;
}

.article_c-all p {
	margin: 0px;	
	padding-top: 5px;
	padding-bottom: 5px;
}

.article_img-left p{
	margin: 0px;	
	padding-top: 5px;
	padding-bottom: 5px;
	padding-left: 30px;
	padding-right: 10px;
	float: left;
    width: 625px;	
}
.article_img-left img{
    margin: 0px;
    width: 350px;
	height: 184px;
	padding-left: 0px;
	padding-right: 30px;
	float: right;
}

.article_form-left .formular{
	margin: 0px;	
	padding-top: 5px;
	padding-bottom: 5px;
	padding-left: 30px;
	padding-right: 10px;
	float: left;
    width: 625px;
	border-right: 1px solid #dedede;	
}

.article_img-left .block{
    margin: 0px;
    width: 350px;
	height: 184px;
	padding-left: 30px;
	padding-right: 30px;
	float: right;
}

.sidespacer {
    padding-top: 60px;
}

.article-box {
	text-align: center;
    float: left;
    width: 300px;
	height: 400px;
}

.a-b-extend {
	height: 430px;
}

.article-box h3{
	text-align: center;
	padding: 0px;
	margin: 0px;
	color: #595959;
    font-size: 18px;
    padding-top: 20px;	
}

.article-box p{
	line-height: 24px;
    font-size: 16px;
	padding-left: 25px;
	padding-right: 25px;
	text-align: justify;
}

.outer {
    text-align: center;
    display: inline-flex;
    max-width: 980px;
    justify-content: center;
    flex-wrap: wrap;
}

.ab_middle{
	border-left: 1px solid #dedede;
	border-right: 1px solid #dedede;	
}

/* content:headline */
.content-headline {	
    clear: both;
    width: auto;
    max-width: 980px;
    margin: 0 auto;
	padding: 10px;
	padding-left: 20px;
	padding-top: 30px;	
	font-family: 'Maven Pro', sans-serif;
	font-size:18px;

}

.content-headline h1{
	color: #595959;	
	text-transform: uppercase;
	font-size: 30px;
	margin: 0px;
	padding-left: 10px;
	
}

.content-headline h2{
	color: #6b6b6c;	
	font-style: italic;
	font-weight:400;
	font-size: 22px;
	margin: 0px;
	padding-left: 10px;	
}

.content-headline span{
	display: inline-block;
	position: relative;
    height: 1px;
	width: 230px;
    border: 0;
    margin: 0px;	
	left: 13px;	
	border-bottom: 4px solid #207499;
}



/* FOOTER */

footer	{
	margin-top: 40px;
    position: relative;
    clear: both;
    width: auto;
    height: 65px;
    background: #5b5a5a;
	border-bottom: 5px solid #505050;
	color: #ffffff;
	text-align: center;
	padding: 4px;
}


#copyright {
    background: #1D1D1D;
    height: 70px;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
}


/* MISC */
.clear{
    clear:both;
	margin: 0px;
	padding: 0px;
}

.img-round {
    border-radius: 50%;
}

.hidden {
	position:absolute;
	clip: rect(1px 1px 1px 1px); /* IE6 & 7 */
	clip: rect(1px, 1px, 1px, 1px);
}

.mobileshow{
    display:none;
}

.btn {
  font-family: Arial;
  color: #fbcf4c;
  font-size: 20px;
  background: #ffffff;
  padding: 1px 10px 4px 10px;
  text-decoration: none;
	border: 2px solid #ccc;
    border-radius: 3px;
}

.btn:hover {
  background: #595959;
  text-decoration: none;
}
.right {
	text-align: right;
}

.mobileshow{
    display:none;
}

/* ++++++++++++++ */
/*      FROM     */

input, select {
        font-family: 'Maven Pro', sans-serif;
        font-size: 15px;
        padding: 5px;
        outline: 0;
        width: 100%;
		border: 2px solid #ccc;
        border-radius: 3px;
}

input:hover, input:focus,
select:hover, select:focus {
    border: 2px solid #fbcf4c;	
}

.submit {
    background: #fbcf4c;
	color: #000;
	border: 2px solid #ccc;
	cursor: pointer;
	padding-top: 10px;
	padding-bottom: 10px;	
}


label {
	display: block;
	margin: 0px;
	font-weight: 700;
	text-align: left;
	padding-top: 5px;
	padding-bottom: 4px;
}

.form-error {
    border: 2px solid rgb(185, 74, 72);
    border-radius: 10px;
    background: #f8d2d3;	
    padding-left: 15px;
    padding-top: 5px;
    margin-top: 10px;
}
.form-strasse {
    width: 485px;
}

.form-nr {
    width: 93px;
}

.form-plz {
    width: 133px;
}

.form-ort {
    width: 445px;
}

.form-gdm {
    width: 131px;
}

.form-gj {
    width: 310px;
}

.form-xtra{
	display: flex;
}

.cxtra1{
	float: left;
	background: #fbcf4c;
	padding: 13px;
	width: 20px;
	background-image:url('../img/empfehlung.png');
	background-repeat:no-repeat;	
	background-position: center center; 	
}


.cxtra2{
	float: left;
	padding: 15px;
	width: 634px;	
	border: 1px solid #fbcf4c;	
}

.cxtra2 h3 {
    padding: 0px;
    margin: 0px;
}

.form-xtra .agb {
    display: block;
    padding-top: 15px;
    font-size: 10px;
    line-height: 14px;
}

.fs10 {
    font-size: 13px;
    line-height: 18px;
}

.form-required{
	color: #f8585c;
}


/* Customize the label (the container) */
.rbutton {
	display: block;
	position: relative;
	padding-left: 40px;
	margin-bottom: 12px;
	cursor: pointer;
	font-size: 16px;
	font-weight: 300;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	float: left;
	width: 25%;
}

/* Hide the browser's default radio button */
.rbutton input {
	position: absolute;
	opacity: 0;
}

/* Create a custom radio button */
.checkmark {
	position: absolute;
	top: 0;
	left: 0;
	height: 20px;
	width: 20px;
	background-color: #eee;
	border-radius: 50%;
	margin-top: 9px;
	margin-left: 10px;
}

/* On mouse-over, add a grey background color */
.rbutton:hover input ~ .checkmark {
	background-color: #ccc;

}

/* When the radio button is checked, add a blue background */
.rbutton input:checked ~ .checkmark {
  background-color: #fbcf4c;
}

/* Create the indicator (the dot/circle - hidden when not checked) */
.checkmark:after {
  content: "";
  position: absolute;
  display: none;
}

/* Show the indicator (dot/circle) when checked */
.rbutton input:checked ~ .checkmark:after {
  display: block;
}

/* Style the indicator (dot/circle) */
.rbutton .checkmark:after {
  top: 6px;
  left: 6px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #595959;
}

.checkb {
	display: block;
	position: relative;
	padding-left: 35px;
	cursor: pointer;
	font-size: 16px;
	font-weight: 300;  
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	width: 80%;
	margin-top: 15px;
	margin-left: 10px;  
}

.checkb100 {
	width: 95%;
}

/* Hide the browser's default checkbox */
.checkb input {
	position: relative;
	opacity: 0;
	cursor: pointer;
    display: none;	
}

/* Create a custom checkbox */
.checkbmark {
	position: absolute;
	top: 12px;
	left: 0;
	height: 20px;
	width: 20px;
	background-color: #eee;
}

/* On mouse-over, add a grey background color */
.checkb:hover input ~ .checkbmark {
	background-color: #ccc;
}

/* When the checkbox is checked, add a blue background */
.checkb input:checked ~ .checkbmark {
	background-color: #78b955;
}

/* Create the checkbmark/indicator (hidden when not checked) */
.checkbmark:after {
	content: "";
	position: absolute;
	display: none;
}

/* Show the checkbmark when checked */
.checkb input:checked ~ .checkbmark:after {
	display: block;
}

/* Style the checkbmark/indicator */
.checkb .checkbmark:after {
	left: 7px;
	top: 5px;
	width: 5px;
	height: 10px;
	border: solid white;
	border-width: 0 3px 3px 0;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
}

.beratung_box{
	display: none;
}

fieldset { 
	border: 2px solid #C5D8E1; 
	border-radius: 6px; 
	margin-top: 20px;
	margin-bottom: 20px;	
} 

fieldset b {
    display: inline-block;
}

/* ++++++   */


.mobilshow{
	display: none;
}

/* MEDIA QUERIES*/

@media (max-width: 1056px) {
	.cbp-af-header nav {
		float: right;
		padding-right: 50px;
	}	
	
	.article_c-all {
		margin: 0px;
		float: left;
		width: 90%;
	}	
	
	/* FORM */
	.form-strasse {
		width: 60%;
	}

	.form-nr {
		width: 38%;
	}

	.form-plz {
		width: 42%;
	}

	.form-ort {
		width: 55%;
	}

	.form-gdm {
		width: 26%;
	}

	.form-gj {
		width: 44%;
	}	
	.cxtra2 {
		width: auto;
	}	
	
}

@media (max-width: 979px) {
	.mobilhide{
		display: none;
	}
	.cbp-af-header{
		display: none !important;
	}		
	.mobileshow{
		width: 100%;
		display: block;
		text-align: center;
	}
	.
	.logomobile{
		width: 200px;
	}
	
	.spacer-header {
		width: 100%;
		height: 400px;
		margin-top: 0px;
		border-bottom:5px solid #50a3ca; 
	}	

	.text_columns,
	.column-all	{
		width: 100%;
		margin: 0px;
		padding: 0px;
	}	
	
	.content-headline h1{
		font-size: 26px;
		padding-left: 0px		
	}
	.content-headline h2{
		font-size: 16px;
		padding-left: 0px;	
	}	
	.content-headline span {
		width: 80%;
		padding-left: 0px;
		left: 0px;		
	}	
		
	.article_c1,
	.article_c2,
	.article_c3,
	.article_c6,
	.article_img-left,
	.article_form-left,
	.article_c-all	{
		margin: 0px;
		float: left;
		width: 100%;
		padding-left: 15px;
		padding-right: 15px;
		border-left: 0px solid #ab1916;
	}	
	
	.article_c1 p,
	.article_c2 p,
	.article_c3 p,
	.article_c6 p,
	.article_img-left p,
	.article_c-all p{
		margin: 0px;
		padding: 0px;
		font-size: 14px;
		line-height: 22px; 
	}	

	.outer{
		padding-top: 20px;
	}
	
	.ab_middle {
		border-left: 0px;
		border-right: 0px;
	}
	
	.article-box {
		height: auto;
		margin-bottom: 30px;
		padding: 10px;
	}	
	
	.spacer {
		width: 100%;
		height: auto;
		padding: 10px;
	}	

	.article_form-left .formular{
		margin: 0px;	
		padding: 0px;
		padding-left: 10px;
		padding-right: 10px;
		float: left;
		width: 100%;
		border-right: 0px solid #dedede;	
	}	
	
	.block{
		margin: 0px;
		padding: 0px;	
		width: 100%;
		padding-left: 20px;
		padding-top: 20px;
		float: left;
		width: 100%;
	}	
	
	label {
		margin: 0px;
		width: 100%;
		padding-left: 5px;
	}
	
	.cagb label {
		padding-top: 20px;
		margin: 0px;
		width: 60%;
		font-size: 16px;
	}			
	
}

@media (max-width: 720px) { 
	.logo {
		max-width: 80%;
		float: none;
		padding: 0px;
		padding-top: 10px;
	}
	.logobox {
		text-align: center;
		height: auto;			
	}	

	input, select, button {
		width: 99%;
		margin: 0px;
	}
	
	
	.form-strasse {
		width: 70%;
	}

	.form-nr {
		width: 28%;
	}

	.form-plz {
		width: 40%;
	}

	.form-ort {
		width: 58%;
	}

	.form-gdm {
		width: 24%;
	}

	.form-gj {
		width: 49%;
	}	
	

	.text_columns {
		max-width: 100%;
		margin: 0px;
	}			
	
	.btn {
		font-size: 15px;
	}

	.cagb label {
		padding-top: 10px;
		margin: 0px;
		width: 100%;
		font-size: 16px;
	}		
	
}