/*
Theme Name: Hive 2.0.1
Theme URL: http://www.shadow-north.de
Description: Basis Template - Hive
Author: Johannes Mantei
Author URL: http://www.shadow-north.de
*/

/*--------------------------------------------------
 * Inhaltsverzeichnis:
 *
 * 1.0 - Reset
 * 2.0 - Basis
 *   2.1 - Navigation
 *   2.2 - Element Eigenschaften
 *   2.3 - Formulare
 * 3.0 - Header
 * 4.0 - Content
 * 5.0 - Sidebar
 *   5.1 - Widgets
 * 6.0 - Footer
 * 7.0 - Media Queries
 * 8.0 - Print
 
 * Responsiv aufteilung:

@media (min-width: 1200px) {
	}

@media (min-width: 992px) and (max-width: 1199px) {
	}

@media (min-width: 769px) and (max-width: 991px) {
	}

@media (max-width: 768px) {
	}	
 
---------------------------------------------------*/




/*---------------------------------------------------
				1 - Reset
---------------------------------------------------*/
* {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	font-family: 'Source Sans Pro', sans-serif;
	margin: 0;
	padding: 0;
	}

article, aside, details, figcaption, figure, footer, header, nav, section, summary {
	display: block;
	}

html {
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	}

body {
	line-height: 1.2em;
	color: #000000;
	font-size: 1em;
	font-weight: 400;
	background: #1d1d1d;
	}

a {
	text-decoration: none;
	}

h1, h2, h3, h4, h5, h6 {
	clear: both;
	line-height: 1.2;
	}

b, strong {
	font-weight: 700;
	}

dfn {
	font-style: italic;
	}

ul {
	list-style-type: square;
	}

.menu ul, .menu ol, ul.menu, ol.menu {
	list-style: none;
	list-style-image: none;
	}

img {
	-ms-interpolation-mode: bicubic;
	border: 0;
	vertical-align: middle;
	}

button, input, select, textarea {
	font-size: 1em;
	margin: 0;
	max-width: 100%;
	vertical-align: baseline;
	}
	
.clear {
	clear: both;
	}

/*---------------------------------------------------
				2 - Basis
---------------------------------------------------*/

/*----- Für eine layout änderung des Background ---*
 *----- von 960px auf volle Weite, müssen die -----*
 *----- kommentar symbole bei ".center" entfernt --*
 *----- und beu "#wrapper" eingesetzt werden. -----*/

/*
#wrapper {
	width: 960px;
	margin: 0 auto;
	text-align: left;
	background: #000000;
	}
*/

@media (min-width: 1200px) {
	.center {	
		width: 960px;
		margin: 0 auto;
		}
	}

@media (min-width: 992px) and (max-width: 1199px) {
	.center {	
		width: 960px;
		margin: 0 auto;
		}
	}

@media (min-width: 769px) and (max-width: 991px) {
	.center {	
		width: 100%;
		}
	}

@media (max-width: 768px) {
	.center {	
		width: 100%;
		}
	}	

/*----- Layout switch, ende ----------------------*/
	
#header {
	height: 162px;
	background: url(img/header_bg_01.png) repeat-x #1d1d1d;    
    position: relative;
    z-index: 100;
	}
	
#main {
	}

@media (min-width: 1200px) {
	#header-content {
		width: 930px;
		margin: 15px 0 0 15px;
		float: left;
		}
		
	#main-content {
		width: 960px;
		padding: 0 15px 30px 15px;
		}
	}

@media (min-width: 992px) and (max-width: 1199px) {
	#header-content {
		width: 930px;
		margin: 15px 0 0 15px;
		float: left;
		}
		
	#main-content {
		width: 960px;
		padding: 0 15px 30px 15px;
		}
	}

@media (min-width: 769px) and (max-width: 991px) {
	#header-content {
		width: 100%;
		margin: 15px 0 0 15px;
		float: left;
		}
		
	#main-content {
		width: 100%;
		padding: 0 15px 30px 15px;
		}
	}

@media (max-width: 768px) {
	#header-content {
		width: 100%;
		margin: 15px 0 0 15px;
		float: left;
		}
		
	#main-content {
		width: 100%;
		padding: 0 15px 30px 15px;
		}
		
	#footer {
		text-align: center;
		}
	}
	
#footer {
	clear: both;
	background: url(img/footer_bg_01.png) repeat-x bottom #1d1d1d;
	margin: 0px 0 0 0;
	}
	
h1 {    
	font-weight: 300;
    font-size: 52px;
    color: #ffffff;
    margin: 30px 0 10px 0;
    letter-spacing: -1px;
    text-align: center;
    border-bottom: 1px solid #383838;
	}
	
h2 {
	font-weight: 400;
    font-size: 23px;
    color: #ffffff;
    margin: 0 0 15px 0;
	}
	
h3 {
	font-weight: 300;
    font-size: 36px;
    color: #ffffff;
    margin: 30px 0 10px 0;
	}
	
h4 {        
	font-weight: 300;
    font-size: 28px;
    color: #ffffff;
    margin: 18px 0 10px 0;
	}
	
p {
	font-weight: 300;
	font-size: 16px;
	color: #ffffff;
	margin: 0 0 0 0;
	line-height: 22px;
	}
	
#footer h2 {
	font-weight: 700;
	font-size: 25px;
	color: #ffffff;
	margin: 0 0 0 0;
	}

a {
	color: #ffffff;
	}

a:hover {
	text-decoration: underline;
	}
	
.breit {
    width: 100%;
    position: absolute;
    left: 0;
	margin: 0 !important;
	background: #212121;
	}
	
.breit .vc_column_container {
    padding: 0 1px 0 1px !important;
	}
	
@media (min-width: 2561px) {
	.breit_anpassung {
		padding: 465px 0 0 0;
		}
	}

@media (min-width: 1921px) and (max-width: 2560px) {
	.breit_anpassung {
		padding: 442px 0 0 0;
		}
	}

@media (min-width: 1681px) and (max-width: 1920px) {
	.breit_anpassung {
		padding: 345px 0 0 0;
		}
	}

@media (min-width: 1601px) and (max-width: 1680px) {
	.breit_anpassung {
		padding: 305px 0 0 0;
		}
	}

@media (min-width: 1441px) and (max-width: 1600px) {
	.breit_anpassung {
		padding: 300px 0 0 0;
		}
	}

@media (min-width: 1400px) and (max-width: 1440px) {
	.breit_anpassung {
		padding: 270px 0 0 0;
		}
	}

@media (min-width: 992px) and (max-width: 1399px) {
	.breit_anpassung {
		padding: 260px 0 0 0;
		}
	}

@media (min-width: 768px) and (max-width: 991px) {
	.breit_anpassung {
		padding: 195px 0 0 0;
		}
	}

@media (min-width: 451px) and (max-width: 767px) {
	.breit_anpassung {
		padding: 145px 0 0 0;
		}
	}

@media (max-width: 450px) {
	.breit_anpassung {
		padding: 100px 0 0 0;
		}
	}
	
.wpb_column {
	padding: 0 !important;
	}
	
.wpb_column.abstand {
	padding: 0 20px !important;
	}
	
.wpb_content_element, ul.wpb_thumbnails-fluid > li, .last_toggle_el_margin, .wpb_button {
    margin-bottom: 0 !important;
	}

.bg01 {
	background-color: #1D1D1D;
    margin: 0 -100% !important;
    padding: 0 98.2%;
	}
	
.ankerback {
    background-color: rgba(255, 0, 0, 0);
    height: 1px;
    margin: -50px 0 50px 0 !important;
	}
	
/*---------------------------------------------------
				2.1 - Navigation
---------------------------------------------------*/


#menu_main {
	margin: 15px -15px 0px 0px;
	float: left;
	}

#menu_main ul {
    padding: 0px;
    margin: 0px;
	}
	
#menu_main ul:after {
    clear: both;
    content: " ";
    display: block;
    font-size: 0;
    height: 0;
    visibility: hidden;
	}
	
#menu_main ul li {
    list-style: none;
    float:left;
	}

#menu_main ul li a {
	padding: 14px 15px;
	color: #ffffff;
	font-weight: 400;
  	font-size: 22px;
    text-decoration: none;
    display: block;
	transition-property: background, color;
	transition-duration: 0.5s;
	transition-timing-function: ease;
	-o-transition-property: background, color;
	-o-transition-duration: 0.5s;
	-o-transition-timing-function: ease;
	-webkit-transition-property: background, color;
	-webkit-transition-duration: 0.5s;
	-webkit-transition-timing-function: ease;
	-moz-transition-property: background, color;
	-moz-transition-duration: 0.5s;
	-moz-transition-timing-function: ease;
	}
	
#menu_main ul li a:hover {
	color: #ffffff;
	background: #1475ca;
	border-bottom: 5px solid #ffffff;
	transition-property: background, color;
	transition-duration: 0.5s;
	transition-timing-function: ease;
	-o-transition-property: background, color;
	-o-transition-duration: 0.5s;
	-o-transition-timing-function: ease;
	-webkit-transition-property: background, color;
	-webkit-transition-duration: 0.5s;
	-webkit-transition-timing-function: ease;
	-moz-transition-property: background, color;
	-moz-transition-duration: 0.5s;
	-moz-transition-timing-function: ease;
	}
	
#menu_main ul li.current_page_item a {
	color: #ffffff;
	transition-property: background, color;
	transition-duration: 0.5s;
	transition-timing-function: ease;
	-o-transition-property: background, color;
	-o-transition-duration: 0.5s;
	-o-transition-timing-function: ease;
	-webkit-transition-property: background, color;
	-webkit-transition-duration: 0.5s;
	-webkit-transition-timing-function: ease;
	-moz-transition-property: background, color;
	-moz-transition-duration: 0.5s;
	-moz-transition-timing-function: ease;
	}
	
#menu_main ul.sub-menu li a {
	padding: 5px 15px;
	color: #ffffff;
	font-weight: 700;
	text-transform: none;
	background: #1475ca;
	font-size: 14px;
    text-decoration: none;
    display: block;
	transition-property: background, color;
	transition-duration: 0.5s;
	transition-timing-function: ease;
	-o-transition-property: background, color;
	-o-transition-duration: 0.5s;
	-o-transition-timing-function: ease;
	-webkit-transition-property: background, color;
	-webkit-transition-duration: 0.5s;
	-webkit-transition-timing-function: ease;
	-moz-transition-property: background, color;
	-moz-transition-duration: 0.5s;
	-moz-transition-timing-function: ease;
	}
	
#menu_main ul.sub-menu li a:hover {
	color: #ffffff;
	background: #171615;
	transition-property: background, color;
	transition-duration: 0.5s;
	transition-timing-function: ease;
	-o-transition-property: background, color;
	-o-transition-duration: 0.5s;
	-o-transition-timing-function: ease;
	-webkit-transition-property: background, color;
	-webkit-transition-duration: 0.5s;
	-webkit-transition-timing-function: ease;
	-moz-transition-property: background, color;
	-moz-transition-duration: 0.5s;
	-moz-transition-timing-function: ease;
	}
	
#menu_main ul.sub-menu li.current_page_item a {
	color: #ffffff;
	background: #171615;
	transition-property: background, color;
	transition-duration: 0.5s;
	transition-timing-function: ease;
	-o-transition-property: background, color;
	-o-transition-duration: 0.5s;
	-o-transition-timing-function: ease;
	-webkit-transition-property: background, color;
	-webkit-transition-duration: 0.5s;
	-webkit-transition-timing-function: ease;
	-moz-transition-property: background, color;
	-moz-transition-duration: 0.5s;
	-moz-transition-timing-function: ease;
	}
	
#menu_main ul li:hover > ul {
    visibility: visible;
	}
	
#menu_main ul li ul{
    display: inline;
    visibility: hidden;
    position: absolute;
    padding:0px;
	z-index: 20;
	}

#menu_main ul li ul li{
    float: none;
	}

#menu_main ul li ul li a:hover{
    color: #333;
	}
	
@media (min-width: 1200px) {	
	#menu_footer {
		width: 930px;
		margin: 30px 0 20px 15px;
		float: left;
		text-align: center;
		}
		
	#shiftnav-toggle-main {
		display: none;
		}
		
	.shiftnav-wrap{    
		padding-top: 0px !important;
		}
	
	#menu_footer li a{
		padding: 8px 15px;
		color: #ffffff;
		font-weight: 700;
		}
	}

@media (min-width: 992px) and (max-width: 1199px) {
	#menu_footer {
		width: 930px;
		margin: 30px 0 20px 15px;
		float: left;
		text-align: center;
		}
		
	#shiftnav-toggle-main {
		display: none;
		}
		
	.shiftnav-wrap{    
		padding-top: 0px !important;
		}
	
	#menu_footer li a{
		padding: 8px 15px;
		color: #ffffff;
		font-weight: 700;
		}
	}

@media (min-width: 769px) and (max-width: 991px) {
	#menu_footer {
		width: 100%;
		margin: 30px 0 20px 15px;
		float: left;
		text-align: center;
		}
		
	#header {
		display: none;
		}
		
	#main {
		padding: 0 0 0 0;
		}
	
	#menu_footer li a{
		padding: 8px 15px;
		color: #ffffff;
		font-weight: 700;
		}
	}

@media (max-width: 768px) {
	#menu_footer {
		width: 96%;
		margin: 30px 0 20px 3%;
		float: left;
		text-align: center;
		}
		
	#header {
		display: none;
		}
		
	#main {
		padding: 0 0 0 0;
		}
	
	#menu_footer li a{
		padding: 8px 10px;
		color: #ffffff;
		font-weight: 700;
		}
	}

#menu-footer {
	margin: 0 0 -18px 0;
	}
	
#menu_footer li {
	display: inline-block;
	margin-left: -3px;
	}

#menu_footer li.current-menu-item a,	
#menu_footer li a:hover{
	text-decoration: none;
	background: #1475ca;
	transition-property: background;
	transition-duration: 0.5s;
	transition-timing-function: ease;
	-o-transition-property: background;
	-o-transition-duration: 0.5s;
	-o-transition-timing-function: ease;
	-webkit-transition-property: background;
	-webkit-transition-duration: 0.5s;
	-webkit-transition-timing-function: ease;
	-moz-transition-property: background;
	-moz-transition-duration: 0.5s;
	-moz-transition-timing-function: ease;
	}

/*---------------------------------------------------
				2.2 - Element Eigenschaften
---------------------------------------------------*/

#main-content ul {
	margin: 8px 0 8px 30px;
	}
	
.box_lila {    
	padding: 18px 20px 20px 20px !important;
    background: #1D1D1D;
    margin: 0 20px 0 0;
    border-left: 5px solid #5735B0;
	}
	
.box_rot {    
	padding: 18px 20px 20px 20px !important;
    background: #1D1D1D;
    margin: 0 0 0 20px;
    border-left: 5px solid #BE1E4A;	
	}
	
.box_turkis {    
	padding: 18px 20px 20px 20px !important;
    background: #1D1D1D;
    margin: 0 20px 0 0;
    border-left: 5px solid #0EB5A7;
	}
	
.box_orange {    
	padding: 18px 20px 20px 20px !important;
    background: #1D1D1D;
    margin: 0 0 0 20px;
    border-left: 5px solid #DB562D;	
	}
	
#fbuilder .left_aligned .fields .dfield {
    width: 99% !important;
	}
	
/*---------------------------------------------------
				2.3 - Formulare
---------------------------------------------------*/

input, textarea, select {
	border: solid 1px #e0e0e0;
	padding: 5px;
	outline: 0;
	background: #fff;
	background: -webkit-gradient(linear, left top, left 25, from(#fff), color-stop(4%, #eee), to(#fff));
	background: -moz-linear-gradient(top, #fff, #eee 1px, #fff 25px);
	box-shadow: rgba(0,0,0, 0.2) 0 0 1px;
	-moz-box-shadow: rgba(0,0,0, 0.2) 0 0 1px;
	-webkit-box-shadow: rgba(0,0,0, 0.2);
	}
	
textarea {
	width: 99%;
	height: 85px;
	}
	
.wpcf7-quiz-label {
	font-weight: 700;
	letter-spacing: 2px;
	margin: 0 5px 0 0;
	}
	
.wpcf7-form-control.wpcf7-quiz {
	margin: 4px 0 0 0;
	width: 100px;
	}
	
div.wpcf7-validation-errors {
	border: 0px solid #ffffff !important;
	}

.wpcf7-not-valid {
	border: solid 0px #ffffff;
	}

span .wpcf7-not-valid-tip {
	display: none;
	}
	
.wpcf7-form-control-wrap {
	display: block !important;
	}
	
.invalid div.wpcf7-response-output {
    display: none !important;
	}
	
div.wpcf7-response-output {
    margin: -5px !important;
	}
	
.wpcf7-submit {
	text-align: center;
    display: block;
    margin: 10px auto 0 auto;
    width: 32%;
    font-weight: 700;
	}

.pflicht {
	margin: -18px 0 0 0;
	}
	
/*---------------------------------------------------
				3 - Header
---------------------------------------------------*/

.main_logo {	
	background: url(img/main_logo.png) no-repeat top left;
	height: 80px;
	width: 900px;
	}

.flexslider {
	margin: 0 0 0 0 !important;
	}
	
.mobile_logo_snav_main {
	width: 100px;
	}
	
#shiftnav-toggle-main .shiftnav-toggle-burger, #shiftnav-toggle-main.shiftnav-toggle-main-entire-bar:before {
    padding: 30px 20px !important;
	}
	
.mobile_logo_snav {
	width: 230px;
	}
	
/*---------------------------------------------------
				4 - Content
---------------------------------------------------*/



/*---------------------------------------------------
				5 - Sidebar
---------------------------------------------------*/



/*---------------------------------------------------
				5.1 - Widgets
---------------------------------------------------*/

@media (min-width: 1200px) {
	#sidebar_footer_sp1 {
		width: 218px;
		margin: 48px 0 15px 0;
		float: left;
		}
		
	#sidebar_footer_sp2,
	#sidebar_footer_sp3,
	#sidebar_footer_sp4 {
		width: 217px;
		margin: 48px 0 15px 30px;
		float: left;
		}
	}

@media (min-width: 992px) and (max-width: 1199px) {
	#sidebar_footer_sp1 {
		width: 218px;
		margin: 48px 0 15px 0;
		float: left;
		}
		
	#sidebar_footer_sp2,
	#sidebar_footer_sp3,
	#sidebar_footer_sp4 {
		width: 217px;
		margin: 48px 0 15px 30px;
		float: left;
		}
	}

@media (min-width: 769px) and (max-width: 991px) {
	#sidebar_footer_sp1 {
		width: 28%;
		margin: 5px 0 15px 5%;
		float: left;
		}
		
	#sidebar_footer_sp2,
	#sidebar_footer_sp3,
	#sidebar_footer_sp4 {
		width: 28%;
		margin: 5px 0 15px 3%;
		float: left;
		}
	}

@media (max-width: 768px) {
	#sidebar_footer_sp1 {
		width: 94%;
		margin: 5px 0 10px 3%;
		float: left;
		}
		
	#sidebar_footer_sp2,
	#sidebar_footer_sp3,
	#sidebar_footer_sp4 {
		width: 94%;
		margin: 5px 0 10px 3%;
		float: left;
		}
	}	

li.widget,
li.widget li {	
	list-style: none;
	}

/*---------------------------------------------------
				6 - Footer
---------------------------------------------------*/

.kontakt_ort {	    
	background: url(img/place.png) no-repeat;
    background-size: contain;
    float: left;
    margin: -4px 10px 0 0;
    width: 45px;
    height: 50px;
	}
	
.kontakt_tel {	    
	background: url(img/phone.png) no-repeat;
    background-size: contain;
    float: left;
    margin: -4px 10px 0 0;
    width: 45px;
    height: 50px;
	}
	
.kontakt_web {	    
	background: url(img/mail.png) no-repeat;
    background-size: contain;
    float: left;
    margin: -4px 10px 0 0;
    width: 45px;
    height: 50px;
	}

#footer {
	color: #ffffff;
	}

@media (min-width: 1200px) {
	#footer .headline {
		width: 930px;
		float: left;
		margin: 30px 0 0 15px;
		border-bottom: 1px solid #ffffff;
		}
	}

@media (min-width: 992px) and (max-width: 1199px) {
	#footer .headline {
		width: 930px;
		float: left;
		margin: 30px 0 0 15px;
		border-bottom: 1px solid #ffffff;
		}
	}

@media (min-width: 769px) and (max-width: 991px) {
	#footer .headline {
		width: 90%;
		float: left;
		margin: 30px 0 0 5%;
		border-bottom: 1px solid #ffffff;
		}
	}

@media (max-width: 768px) {
	#footer .headline {
		width: 94%;
		float: left;
		margin: 30px 0 0 3%;
		border-bottom: 1px solid #ffffff;
		}
	}

/*---------------------------------------------------
				7 - Media Queries
---------------------------------------------------*/

@media (min-width: 1200px) {
	.cf7-left {
		width: 47%;
		float: left;
		}
		
	.cf7-full {
		width: 100%;
		float: left;
		}
		
	.cf7-right {
		width: 47%;
		margin: 0 0 0 5%;
		float: left;
		}
	}

@media (min-width: 992px) and (max-width: 1199px) {
	.cf7-left {
		width: 47%;
		float: left;
		}
		
	.cf7-full {
		width: 100%;
		float: left;
		}
		
	.cf7-right {
		width: 47%;
		margin: 0 0 0 5%;
		float: left;
		}
	}

@media (min-width: 769px) and (max-width: 991px) {
	.cf7-left {
		width: 47%;
		float: left;
		}
		
	.cf7-full {
		width: 100%;
		float: left;
		}
		
	.cf7-right {
		width: 47%;
		margin: 0 0 0 5%;
		float: left;
		}
	}

@media (max-width: 768px) {		
	.mobile-off {
		display: none;
		}
	}	

/*---------------------------------------------------
				8 - Print
---------------------------------------------------*/