
/* * * fonts
 *
 * * * * * * * * * * * * * * * * * * * * * * */
@import url(https://fonts.googleapis.com/css?family=Lato:400,700,900);

/**
 * global reset
 *
 * @section reset
 */

h1, h2, h3, h4, h5, h6 { 
	margin: 0;
	font-family: 'Lato', sans-serif;
	font-weight: 700;
	}	

h1 { margin: 0 0 50px; }

h3 { 
	margin: 0 0 35px;
	font-size: 26px;
	}

h4 { 
	margin: 0 0 30px;
	font-size: 20px;
	}

h5 { 
	margin: 0 0 5px;
	font-size: 16px;
	}		

p { 
	margin: 0 0 15px;
	line-height: 20px;
	}	

a {
	color: #000;
	text-decoration: none;

	-webkit-transition: color .3s linear;
	-moz-transition: color .3s linear;
	-o-transition: color .3s linear;
	transition: color .3s linear;
	outline: none;
	}
a:hover { 
	color: #c0c0c0;
	text-decoration: none;
	}		
a:focus { 
	outline: none;
	text-decoration: none;
	}	

img { vertical-align: top; }

b, strong { font-weight: 700; }				      		

/**
 * body basic formatting
 *
 * font-size, main color, links (hover, visited etc.)
 *
 * @section basic formatting
 */

/* body
   ---------------------------------------- */
body {
	color: #7f8183;
	font: 14px 'Lato', sans-serif;
	font-weight: 400;
	line-height: 20px;
	background: #fff;

	-webkit-text-size-adjust: none;
    -moz-text-size-adjust: none;
    -ms-text-size-adjust: none;
    text-size-adjust: none;
	}

/* wrapper
   ---------------------------------------- */
.wrapper { min-width: 320px; }

/* header
   ---------------------------------------- */
.header {
	position: relative;
	z-index: 5;
	}

/* top-panel
   ---------------------------------------- */
.top-panel {
	padding: 10px 0;
	border-bottom: 1px solid #c1c1c1;
	overflow: hidden;
	}	

.support { 
	margin: 0;
	padding: 0;
	overflow: hidden;
	}

.support li { 
	float: left;
	margin: 0 0 0 30px;
	color: #262a2f;
	font-size: 12px;
	font-weight: 700;
	line-height: 24px;
	list-style-type: none;
	}
.support li:first-child { margin: 0; }		

.support a { color: #262a2f; }	

.support i { 
	display: inline-block;
	margin: 0 10px 0 0;
	width: 24px;
	height: 24px;
	vertical-align: top;
	}

.support .mail-icon { 
	background: url(../img/bg/icon_email.png) center no-repeat;
	background-size: 100%;
	}

.support .phone-icon { 
	background: url(../img/bg/icon_phon.png) center no-repeat;
	background-size: 100%;
	}

.support .consultant-icon { 
	background: url(../img/bg/icon_callback2.png) center no-repeat;
	background-size: 100%;
	}

.support .jobs-icon { 
	background: url(../img/bg/icon_jobs.png) center no-repeat;
	background-size: 100%;
	}		

/* bottom-panel
   ---------------------------------------- */
.bottom-panel { 
	padding: 15px 0 10px;
	background: #fff; /*#18191b;*/
	}

.bottom-panel-in { 
	display: inline-block;
	width: 100%;
	vertical-align: top;
	}

.logo { float: left; }

.logo a { 
	display: block;
	width: 240px;
	height: 61px;
	font: 0px/0 a;
	background: url(../img/bg/logo.png) 0 0 no-repeat; 
	}	

.main-navi { float: right; }

.main-navi-bt { 
	display: none;
	padding: 3px 7px;
	vertical-align: top;
	color: #00445E /*#fff*/;
	font-size: 28px;
	border: 1px solid #00445E /*#fff*/;
	cursor: pointer;
	}

.main-navi ul { 
	display: inline-block;
	margin: 0;
	padding: 0;
	width: 100%;
	vertical-align: top;
	}	

.main-navi li { 
	float: left;
	margin: 0 0 0 20px;
	font-size: 15px;
	font-weight: 700;
	line-height: 60px;
	list-style-type: none;
	}
.main-navi li:first-child { margin: 0; }	

.main-navi a { color: #00445E; /*#fff;*/ }
.main-navi a:hover,
.main-navi .current a,
.main-navi .current-menu-item a { color: #99C862 /*#c5001e;*/ }

/* promo-slider
   ---------------------------------------- */
.promo-slider { 
	position: relative;
	margin: 0 0 50px;
	width: 100%;
	overflow: hidden;
	z-index: 3;
	}

.promo-slider .owl-stage-outer { 
	position: relative;
	width: 100%;
	overflow: hidden;
	}	

.promo-slider .owl-stage { 
	position: relative;
	width: 100%;
	overflow: hidden;
	}

.promo-slider .owl-item { 
	float: left;
	width: 100%;
	}

.promo-slider .owl-item img { 
	width: 100%;
	cursor: move;
	}

.promo-slider .owl-controls { display: none !important; }

/* promo
   ---------------------------------------- */
.promo { margin: 0 0 50px; }

.promo img { width: 100%; }

/* page
   ---------------------------------------- */
.page { padding: 0 0 80px; }		

/* btn
   ---------------------------------------- */
.btn { 
	padding: 7px 12px;
	font-weight: 700;
	border-radius: 0;
	-webkit-transition: background .3s linear;
	-moz-transition: background .3s linear;
	-o-transition: background .3s linear;
	transition: background .3s linear;
	}

.btn-default { 
	color: #717171;
	border-color: #eee;
	}
.btn-default:hover,
.btn-default:active,
.btn-dark:focus {
	color: #fff; 
	border-color: #000;
	background: #000;
	box-shadow: none;
	}	

.btn-s-m { min-width: 150px; }

.btn-s-b { min-width: 168px; }	

.btn-dark { 
	color: #fff;
	border: 2px solid #fff;
	background: #000;
	}
.btn-dark:hover,
.btn-dark:focus { 
	color: #fff;
	border: 2px solid #fff;
	background: #111;
	}	

.btn-red { 
	color: #fff;
	background: #c70b27;
	}
.btn-red:hover,
.btn-red:focus { 
	color: #fff;
	background: #e71232;
	}		

/* photo
   ---------------------------------------- */
.photo { margin-bottom: 25px; }

.photo img { width: 100%; }

/* form
   ---------------------------------------- */
fieldset { 
	padding: 15px 0 0;
	overflow: hidden;
	}
fieldset:first-child { padding: 0; }

form ul { 
	margin: 0 -15px;
	padding: 0;
	overflow: hidden;
	}

form li { 
	float: left;
	padding: 0 15px;
	width: 50%;
	list-style-type: none;
	}

input[type='text'],
input[type='email'] { 
	margin: 0;
	padding: 0 10px;
	width: 100%;
	height: 40px;
	color: #7c7c7c;
	font: 16px 'Lato', sans-serif;
	border: 1px solid #dadada;
	background: #f7f7f7;
	-webkit-transition: background .3s linear;
	-moz-transition: background .3s linear;
	-o-transition: background .3s linear;
	transition: background .3s linear;
	}
input[type='text']::-moz-placeholder,
input[type='email']::-moz-placeholder {
    color: #7c7c7c;
    opacity: 1;
    }
input[type='text']::-webkit-input-placeholder,
input[type='email']::-webkit-input-placeholder {
    color: #7c7c7c;
    opacity: 1;
    }	

textarea { 
	margin: 0;
	padding: 10px;
	width: 100%;
	height: 280px;
	color: #7c7c7c;
	font: 16px 'Lato', sans-serif;
	border: 1px solid #dadada;
	background: #f7f7f7;
	overflow: auto;
	resize: none;
	-webkit-transition: background .3s linear;
	-moz-transition: background .3s linear;
	-o-transition: background .3s linear;
	transition: background .3s linear;
	}
textarea::-moz-placeholder {
    color: #7c7c7c;
    opacity: 1;
    }
textarea::-webkit-input-placeholder {
    color: #7c7c7c;
    opacity: 1;
    }

textarea:focus,
input[type='text']:focus,
input[type='email']:focus { outline: none; } 

button:focus { outline: none; }

/* select
   ---------------------------------------- */
.select { 
    margin: 0;
    padding: 0;
    width: 100%;
    height: 40px;
    border: 1px solid #dadada;
    background: url(../img/bg/select-arrow-s.png) no-repeat right center #f7f7f7;
    overflow: hidden;
    }  

.select select {
    margin: 0;
    padding: 0 60px 0 6px;
    width: 100%; 
    height: 40px;
    color: #717171;
	font: 16px 'Lato', sans-serif;
    border: 0;
    background: rgba(0, 0, 0, 0);
    cursor: pointer;
    -moz-appearance:none !important;
    -webkit-appearance: none !important;
    -o-appearance:none !important;
    }

/* m
   ---------------------------------------- */
.m-t { margin-top: 50px; }	

.m-b { margin-bottom: 50px; }  

.m-l { margin-left: 10px; } 	

/* color
   ---------------------------------------- */ 	
.color-black { color: #000; }   

/* teaser
   ---------------------------------------- */
.teaser { 
	margin: 0 0 60px;
	overflow: hidden;
	}

.teaser ul { 
	margin: 0 -15px;
	padding: 0;
	display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
	}

.teaser li { 
	float: left;
	padding: 0 15px;
	width: 25%;
	list-style-type: none;
	display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
	}	

.teaser-item { 
	padding: 35px 20px 20px;
	text-align: center;
	border: 1px solid #eee;
	}

.teaser-item i { 
	display: inline-block;
	margin: 0 0 30px;
	width: 48px;
	height: 48px;
	vertical-align: top;
	background-size: 100%;
	}

.teaser-item .quality-icon { 
	background: url(../img/bg/icon_quality.png) center no-repeat;
	background-size: 100%;
	}

.teaser-item .custom-icon { 
	background: url(../img/bg/Icon_custom.png) center no-repeat;
	background-size: 100%;
	}

.teaser-item .service-icon { 
	background: url(../img/bg/icon_service.png) center no-repeat;
	background-size: 100%;
	}

.teaser-item .konzept-icon { 
	background: url(../img/bg/icon_konzept.png) center no-repeat;
	background-size: 100%;
	}

.teaser-item h4 { margin: 0 0 20px; }

.teaser-item p { 
	margin: 0;
	font-size: 15px;
	}				

/* info-list
   ---------------------------------------- */
.info-list { overflow: hidden; }

.info-list ul { 
	margin: -50px -15px 0;
	padding: 0;
	font-size: 0;
	line-height: 0;
	letter-spacing: normal;
	display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
	}			

.info-list li { 
	position: relative;
	display: inline-block;
	margin: 50px 0 0;
	padding: 0 15px 17px;
	width: 33.3333%;
	vertical-align: top;
	font-size: 14px;
	line-height: normal;
	letter-spacing: normal;
	list-style-type: none;
	display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
	}

.info-list .photo { 
	margin-left: -10px;
	margin-right: -10px;
	margin-bottom: 20px;
	border-bottom: 1px solid #eee;
	}	

.info-list-content { 
	padding: 0 10px 25px;
	border: 1px solid #eee;
	}	

.info-list-b-p { 
	position: absolute;
	width: 100%;
	left: 0;
	bottom: 0;
	z-index: 2;
	}

.info-list h4 { margin: 0 0 15px; }	

.text-s-m { font-size: 15px; }	

.info-list p a { color: #717171; }	

.min-height { min-height: 60px; }

/* links-list
   ---------------------------------------- */
.links-list { padding: 0; }

.links-list li { 
	padding: 10px 0 0;
	list-style-type: none;
	}
.links-list li:first-child { padding: 0; }

.link { 
	display: inline-block;
	padding: 5px 10px;
	width: 100%;
	max-width: 365px;
	vertical-align: top;
	color: #fff;
	font-size: 15px;
	font-weight: 900;
	background: #c70a26;
	-webkit-transition: all .3s linear;
	-moz-transition: all .3s linear;
	-o-transition: all .3s linear;
	transition: all .3s linear;
	}
.link:hover { 
	color: #fff;
	background: #e71232;
	}	

/* search-form
   ---------------------------------------- */
.search-form { 
	margin: 0 0 70px;
	overflow: hidden;
	}

.search-form form { overflow: hidden; }

.search-form div { position: relative; }

.search-form input[type='text'] { padding-right: 65px; }

.search-bt { 
	position: absolute;
	margin: 0;
	padding: 0;
	width: 50px;
	height: 50px;
	top: 0;
	right: 15px;
	color: #a5a7a8;
	font-size: 26px;
	text-align: center;
	border: 0;
	background: none;
	cursor: pointer;
	}	

/* full-size
   ---------------------------------------- */
.full-size { max-width: 100%; }	

/* global-list
   ---------------------------------------- */
.global-list { padding: 0; }

.global-list li { 
	position: relative;
	padding: 80px 0 0;
	list-style-type: none;
	}
.global-list li:first-child { padding: 0; } 

.global-list .link { 
	position: absolute;
	left: 0;
	bottom: 0;
	}	

.global-list .photo { margin: 0; }	

.global-list .col-md-6 { position: static; }

/* cd-main-content
   ---------------------------------------- */	
.cd-main-content { overflow: hidden; }				

.cd-tab-filter {
    position: relative;
    width: 100%;
    z-index: 1;
	}

.cd-tab-filter ul {
	margin: 0;
	padding: 0;
   	font-size: 0;
   	text-align: center;
   	line-height: normal;
   	letter-spacing: 0;
	}

.cd-tab-filter li {
    display: inline-block;
    margin: 0 2px;
    font-size: 17px;
    line-height: normal;
    letter-spacing: normal;
    list-style-type: none;
	}
.cd-tab-filter li:first-child { display: none; }

.cd-tab-filter a {
	position: relative;
    display: block;
    padding: 0 15px;
    color: #262a2f;
    text-decoration: none;
    line-height: 38px;
    border: 1px solid #eee;
    -webkit-transition: all .3s linear;
	-moz-transition: all .3s linear;
	-o-transition: all .3s linear;
	transition: all .3s linear;
	}
.cd-tab-filter a:hover,
.cd-tab-filter .selected { 
	color: #fff;
	border-color: #c70b27;
	background: #c70b27;
	}

.cd-gallery { width: 100%; }

.cd-gallery ul { 
	margin: 0 -15px;
	padding: 0;
	font-size: 0;
    line-height: 0;
    letter-spacing: 0;
	}

.cd-gallery li {
	display: none;
	margin: 30px 0 0;
	width: 50%;
    vertical-align: top;
	font-size: 14px;
	line-height: normal;
	letter-spacing: normal;
	list-style-type: none;
	}

.cd-gallery li.gap {
    display: inline-block;
    margin: 0;
    height: 0;
    opacity: 0;
	}

.cd-gallery .photo { margin: 0 15px; }		

/* panel-default
   ---------------------------------------- */
.panel-default > .panel-heading { 
	font-size: 20px;
	font-weight: 700;
	}

.panel-heading { padding: 0; }	

.panel-default > .panel-heading a { 
	display: block;
	padding: 15px 20px;
	color: #7b7c7e;
	}		

.panel-body { padding: 20px; }	

.panel-body p:last-child { margin: 0; }	

/* map
   ---------------------------------------- */
.map { margin: 0 0 50px; }

/* contacts
   ---------------------------------------- */
.contacts { margin: 0 0 80px; }

.contacts form .first-child { padding: 0; }

.contacts .col-md-6 { margin: 0 0 30px; }

.contacts p { 
	margin: 0 0 30px;
	font-size: 16px;
	}

.mail-form { 
	position: relative;
	padding: 0 45px 0 0;
	max-width: 365px;
	}

.mail-form fieldset:last-child { 
	position: absolute;
	padding: 0;
	top: 0;
	right: 0;
	}	

.mail-form input[type='text'] { 
	height: 36px;
	color: #c8c8c8;
	background: #fff;
	}
.mail-form input[type='text']::-moz-placeholder {
    color: #c8c8c8;
    opacity: 1;
    }
.mail-form input[type='text']::-webkit-input-placeholder {
    color: #c8c8c8;
    opacity: 1;
    }

.mail-form .btn { 
	padding: 0;
	width: 46px;
	height: 36px;
	font-size: 28px;
	line-height: 28px;
	}	 

/* wpcf7-not-valid-tip
   ---------------------------------------- */
span.wpcf7-not-valid-tip { padding: 10px 0 0; }	

form div.wpcf7-response-output {
	margin: 0 0 15px;
	padding: 15px;
}

form div.wpcf7-mail-sent-ng { 
	color: #8a6d3b;
	border: 2px solid #faebcc;
	background: #fcf8e3;
}

form div.wpcf7-validation-errors { 
	color: #a94442;
	border: 2px solid #ebccd1;
	background: #f2dede;
}

form div.wpcf7-mail-sent-ok { 
	color: #3c763d;
	border: 2px solid #d6e9c6;
	background: #dff0d8;
}	

div.wpcf7 img.ajax-loader { display: none; }				

/* footer
   ---------------------------------------- */
.footer {
	padding: 55px 0;
	color: #000 /*#fff*/;
	background: #fff /*#000*/;
	border-top: solid 1px #00445E;
	}

.footer h5 { 
	position: relative;
	margin-bottom: 10px;
	padding: 15px 0 0;
	font-size: 14px;
	}
.footer h5:before {
	position: absolute; 
	display: block;
	width: 25px;
	height: 7px;
	top: 0;
	left: 0;
	/*background: #fff;*/
	content: "";
	}	
	
	.footer h5 a {
color:#00445E!important;
}

.footer p { font-size: 13px; }	

.social { 
	margin: 0;
	padding: 10px 0 0;
	overflow: hidden;
	}

.social li { 
	float: left;
	margin: 0 0 0 10px;
	width: 35px;
	height: 35px;
	color: #000 /*#fff*/;
	font-size: 16px;
	text-align: center;
	list-style-type: none;
	border: 2px solid #000 /*#fff*/;
	border-radius: 100%;
	-webkit-transition: all .3s linear;
	-moz-transition: all .3s linear;
	-o-transition: all .3s linear;
	transition: all .3s linear;
	}
.social li:first-child { margin: 0; }
.social li:hover { 
	border-color: #c5001e;
	background: #c5001e;
	}

.social a { 
	display: block;
	width: 31px;
	height: 31px;
	color: #000 /*#fff*/;
	line-height: 31px;
	}		

.social span { display: none; }

.footer-navi { padding: 30px 0 0; }	

.footer-navi ul { 
	margin: 0;
	padding: 0;
	}			

.footer-navi li { 
	font-weight: 700;
	list-style-type: none;
	border-bottom: 1px dotted #7e7e7e;
	}					

.footer-navi a {
	position: relative;
	display: block; 
	padding: 0 25px 0 0;
	color: #00445E /*#fff*/;
	line-height: 40px;
	}
.footer-navi a:hover { color: #99C862; /*#c5001e;*/ }	

.footer-navi a .glyphicon { 
	position: absolute;
	margin: -8px 0 0;
	top: 50%;
	right: 5px;
	color: #777;
	font-size: 14px;
	}

.footer .form { padding: 30px 0 0; }

.footer .first-child { padding: 0; }

.footer .select { 
	border: 0;
	background-color: #111;
	}

.footer .select select {
	color: #9b9b9b;
	font: 900 14px "Lato", sans-serif;
	}

.footer input[type='text'],
.footer input[type='email'] { 
	color: #9b9b9b;
	font: 14px 'Lato', sans-serif;
	font-weight: 900;
	border: 0;
	background: #111;
	box-shadow: none;
	}	

.footer textarea {
	height: 67px;
	color: #9b9b9b;
	font: 14px 'Lato', sans-serif;
	font-weight: 900;
	border: 0;
	background: #111;
	box-shadow: none;
	}		

.footer textarea::-moz-placeholder,
.footer input[type='text']::-moz-placeholder,
.footer input[type='email']::-moz-placeholder {
    color: #9b9b9b;
    opacity: 1;
    }
.footer textarea::-webkit-input-placeholder,
.footer input[type='text']::-webkit-input-placeholder,
.footer input[type='email']::-webkit-input-placeholder {
    color: #9b9b9b;
    opacity: 1;
    }

.footer textarea:focus,
.footer input[type='text']:focus,
.footer input[type='email']:focus { background: #1f1f1f; }

.footer-list { 
	margin: 0;
	padding: 110px 0 0;
	font-size: 0;
	line-height: 0;
	letter-spacing: 0;
	}

.footer-list li { 
	position: relative;
	display: inline-block;
	margin: 0 0 0 10px;
	padding: 0 0 0 13px;
	vertical-align: top;
	font-size: 13px;
	font-weight: 700;
	line-height: normal;
	letter-spacing: normal;
	list-style-type: none;
	}
.footer-list li:first-child { 
	margin: 0;
	padding: 0;
	border: 0;
	}	
.footer-list li:before { 
	position: absolute;
	margin: -1px 0 0;
	width: 3px;
	height: 3px;
	top: 50%;
	left: 0;
	background: #fff;
	border-radius: 100%;
	content: "";
	}	

.footer-list li a { color: #00445E /*#fff*/; }	

/* @media only
   ---------------------------------------- */	
@media only screen and (max-width: 1199px) {

.main-navi li { 
	margin: 0 0 0 10px;
	font-size: 13px;
	}

.teaser ul { margin-top: -30px; }	

.teaser li { 
	margin: 30px 0 0;
	width: 50%;
	}	

}

@media only screen and (max-width: 991px) {	

.bottom-panel { position: relative; }	

.main-navi-bt { 
	position: relative;
	float: right;
	display: block;
	top: 9px;
	}	

.main-navi ul { 
	position: absolute;
	display: none;
	margin: 0 0 0 -375px;
	max-width: 750px;
	width: 100%;
	top: 85px;
	left: 50%;
	border-top: 1px solid #00445E /*#fff*/;
	background: #fff /*#18191b*/;
	}

.main-navi li { 
	float: none;
	margin: 0;
	width: 100%;
	border-bottom: 1px solid #00445E /*#fff*/;
	line-height: normal;
	}	

.main-navi a { 
	display: block;
	padding: 0 15px;
	line-height: 46px;
	}	

.main-navi.open ul { display: block; }	

.global-list li { padding: 20px 0 0; }	

.global-list .link { position: static; }

.global-list .col-md-6 { margin: 0 0 30px; }

.info-list li { width: 50%; }	

.search-form { margin: 0 0 50px; }

.search-form .col-md-4 { margin: 0 0 20px; }

.footer-navi { padding: 0; }	

.footer .col-md-4 { padding-bottom: 50px; }	

.footer h5 { margin: 0; }

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

.footer-list { padding: 0; }

.footer-list li { margin: 0 0 10px 10px; }

}

@media only screen and (max-width: 767px) {		

.main-navi ul { 
	margin: 0;
	max-width: 100%;
	left: 0;
	}	

.promo-slider { margin: 0 0 30px; }

h1 { margin: 0 0 30px; }

h3 { margin: 0 0 30px; }

}

@media only screen and (max-width: 600px) {

	.support li { margin: 0 0 0 10px; }

	.aktuelles ul li { width: 100%; }

	.info-list li { width: 100%; }

	.cd-tab-filter li { font-size: 13px; }

	.cd-tab-filter a { 
		padding: 0 5px;
		line-height: 28px;
		}

	.cd-gallery li { width: 100%; }

}	

@media only screen and (max-width: 480px) {

h1 { font-size: 30px; }

.page { padding: 0 0 30px; }

.global-list li { padding: 10px 0 0; }

.m-b { margin-bottom: 30px; }

.teaser li { width: 100%; }

.panel-default > .panel-heading { font-size: 18px; }

.contacts { margin: 0 0 30px; }

}

@media only screen and (max-width: 460px) {

.support li { 
	float: none;
	margin: 10px 0 0;
	}

}	  							

