/**
 * Custom-Styles für Genzwürker
 *
 * Farben:
 * #323232 dunkelgrau (z.B. Überschriften)
 * #E51011 rot (besondere Hervorhebun, Logo)
 */

/* ALLGEMEINES
---------------*/

	* {
		font-size: 16px;
		padding: 0px;
		margin: 0px;
	}

	html, body {
		font-size: 16px !important;

		color: #555656 !important;
		line-height: 165% !important;
	}

/* Container-Breite
---------------------*/

	@media all and (min-width:768px) {
		.container {
			width: calc(100% - 40px);
		}
	}

	@media all and (min-width:1200px) {
		.container {
			width:1000px
		}
	}

/* Content-Formatierungen
--------------------------*/

	h1, h2, h3, h4, h5, h6 {
		color: #323232 !important;
		border: 0px !important;
		font-weight: 600 !important;
		text-transform: uppercase !important;
	}

	h1 {
		font-size: 34px;
		margin: 0px 0px 25px 0px !important;
	}

	h2, .entry-header h2 {
		margin: 25px 0px 10px 0px !important;
	}

	h3 * {
		font-size: 24px;
	}

	.page-header {
		margin: 0px !important;
		border: 0px !important;
		padding: 0px !important;
	}

	.entry-header {
		margin: 0px !important;
	}

	strong {
		font-weight: 600 !important;
		color: #e51011 !important;
	}

	/* Links
	---------*/

		a:focus {
			outline: none !important;
		}

		p a, p a:visited {
			color: #E51011;
			text-decoration: none;
		}

		p a:hover {
			color: #E51011;
			text-decoration: underline;
		}

		a:hover, a:focus {
			color: red;
		}

	/* Listen
	 ---------*/

		#sp-main-body ul {
			padding: 0px 0px 0px 15px !important;
		}

		#sp-main-body ul li {
			margin-bottom: 6px !important;
			padding: 0px 0px 0px 15px !important;
		}

	/* Zitatboxen
	--------------*/

		blockquote {
			padding: 20px !important;
			border: 0px !important;
			background: #555656 !important;
			font-size: 100% !important;
		}

/* Fehlermeldungen
-------------------*/

	div.alert-message {
		background: #e51011 !important;
		color: #fff !important;
	}

	div.alert-message p {
		margin: 0px !important;
	}

	h4.alert-heading {
		font-size: 250% !important;
		color: #fff !important;
	}

/* 4 Teaserboxen (Startseite)
------------------------------*/

	#sp-user-box {
		padding: 0px 0px 45px 0px !important;
	}

	#sp-user-box > .container .row {
		margin-left: -10px;
		margin-right: -10px;
	}

	#sp-user-box #sp-user1,
	#sp-user-box #sp-user2,
	#sp-user-box #sp-user3,
	#sp-user-box #sp-user4 {
		box-sizing: border-box;
		margin: 0px 10px 0px 10px;
		padding: 0 10px 0 10px;
		border: 2px solid #e51011 !important;
		width: calc(25% - 20px);
		border-radius: 10px;
		text-align: center;
		min-height: 300px;
		transition: all .2s ease-in-out;
	}

	#sp-user-box #sp-user1:hover,
	#sp-user-box #sp-user2:hover,
	#sp-user-box #sp-user3:hover,
	#sp-user-box #sp-user4:hover {
		transform: scale(0.95);
		box-shadow: 0px 0px 18px -3px rgba(0,0,0,0.43);
	}

	#sp-user-box img {
		padding: 30px 0 0 0;
	}

	#sp-user-box h4 {
		margin: 20px 0 0 0;
		padding-bottom: 10px;
	}

	#sp-user-box hr {
		display: inline-block;
		height: 10px;
		width: 70%;
		clear: both;
		margin: 0;
		border-top: 2px solid #323232;
		background-image: none;
		line-height: 10px;
		text-align: center;
	}

	#sp-user-box p {
		padding-right: 10px;
		padding-left: 10px;
	}

	@media only screen and (min-width: 480px) and (max-width:991px) {
		#sp-user-box #sp-user1,
		#sp-user-box #sp-user2,
		#sp-user-box #sp-user3,
		#sp-user-box #sp-user4 {
			width: calc(50% - 20px);
			margin-bottom: 20px;
			float: left;
			min-height: 1px;
		}
	}

	@media only screen and (min-width: 0) and (max-width:479px) {
		#sp-user-box #sp-user1,
		#sp-user-box #sp-user2,
		#sp-user-box #sp-user3,
		#sp-user-box #sp-user4 {
			width: calc(100% - 40px);
			margin: 0 20px 20px 20px;
			float: none;
			min-height: 1px;
		}
	}

/* Header mit Hauptnavigation
------------------------------*/

	#sp-header {
		position: fixed;
		width: 100%;
		background-color: #FFFFFF !important;
		z-index: 31;
		height: auto;
		border-bottom: 25px solid #FFF100;
		box-shadow: 0px 23px 41px 0px rgba(255,255,255,0.8);
	}

	@media only screen and (max-width:768px) {
		#sp-header {
			height: 80px;
		}
	}


/* Logo
--------*/

	.logo-genzwuerker {
		width: 185px;
		height: 52px;
		top: 58px;
		position: fixed;
		display: inline-block;
		cursor: pointer;
	}

	.logo-genzwuerker img {
		width: 185px;
	}

	@media only screen and (max-width:768px) {
		.logo-genzwuerker {
			top: 45px;
		}
	}

/* slideshow */
.tp-bannertimer {
	display: none !important;
}

/* Hauptmenü oben
------------------*/

	#sp-menu {
		margin: 20px 0px 22px 0px !important;
	}

	#sp-menu a {
		font-size: 16px;
		letter-spacing: normal;
	}

.sp-megamenu-parent {
	float: none !important;
}

#sp-menu ul {
	text-align: center !important;
}

#sp-menu ul li a {
	line-height: 100% !important;
	color: #555656 !important;
	text-transform: none !important;
	border-bottom: 3px solid #fff !important;
	padding: 0px 3px 3px 3px !important;
	margin: 0px 10px 0px 10px !important;
	font-size: 15px;
}

	@media all and (min-width: 768px) and (max-width: 900px) {
		#sp-menu ul li a {
			margin-left: 4px !important;
			margin-right: 4px !important;
		}
	}

#sp-menu ul li.active a {
	border-bottom: 3px solid #e51011 !important;
}

#sp-menu ul li:hover a {
	color: #e51011 !important;
}

.sp-megamenu-parent > li.sp-has-child > a::after {
	content: "" !important;
}

/* dropdown */
.sp-megamenu-parent .sp-dropdown .sp-dropdown-inner {
	padding: 0px !important;
}

.sp-megamenu-parent .sp-dropdown {
	z-index: 1000 !important;
	padding-top: 22px !important;
}

#sp-menu ul li ul {
	text-align: left !important;
}

#sp-menu ul li ul li a, #sp-menu ul li.active ul li a {
	color: #555656 !important;
	padding: 12px !important;
	margin: 0px !important;
	border: 0px !important;
}

#sp-menu ul li ul li:hover a, #sp-menu ul li.active ul li:hover a {
	color: #fff !important;
	background: #e51011 !important;
	border: 0px !important;
}

.sp-megamenu-parent .sp-dropdown.sp-dropdown-main {
	top: 15px;
}

.sp-dropdown .sp-menu-item {
	border-top: 1px dotted #CCCCCC;
}

/* mobile menu */


#offcanvas-toggler {
	line-height: 100% !important;
}

#offcanvas-toggler > i {
	margin: 0px 0px 0px 0px !important;
	padding: 0px !important;
	color: #e51011 !important;
	font-size: 150% !important;
}

/*#offcanvas-toggler {
	position: absolute !important;
	top: 25px !important;
	right: 20px !important;
}*/

@media only screen and (max-width:992px) and (min-width: 700px) {
	#sp-menu {
		width: 100% !important;
	}
}

@media only screen and (max-width:746px) and (min-width: 0px) {
	#offcanvas-toggler > i {
		margin: 0px 0px 10px 0px !important;
	}
}

/* aufklappbar */
.offcanvas .offcanvas-menu ul.nav-child li {
	padding: 0px !important;
}

div.divuli[style] {
	padding: 0px !important;
}

.offcanvas-menu .offcanvas-inner {
	padding: 0px !important;
}

.offcanvas-menu ul.accordion-menu {
	border: 0px !important;
	margin: 50px 0px 0px 0px !important;
}

.offcanvas-menu ul.accordion-menu li {
	background: none !important;
	padding: 0px !important;
	margin: 0px !important;
	border-bottom: 1px dotted #555656 !important;
}

.offcanvas-menu ul.accordion-menu li ul li {
	border-bottom: 1px dotted #fff !important;
	background: #555656 !important;
}

.offcanvas-menu ul.accordion-menu li ul li ul li {
	border-bottom: 1px dotted #fff !important;
	background: #555656 !important;
}

.offcanvas-menu ul.accordion-menu li a {
	line-height: 100% !important;
	padding: 12px !important;
	font-size: 15px !important;
	color: #555656 !important;
	font-weight: normal !important;
	display: block !important;
	border: 0px !important;
	font-family: Open Sans, sans-serif !important;
}

.offcanvas-menu ul.accordion-menu li ul li a {
	color: #fff !important;
}

.offcanvas-menu ul.accordion-menu li a:hover {
	color: #e51011 !important;
	background: none !important;
}
	
.offcanvas-menu ul.accordion-menu li.current {
	background: #e51011 !important;
}

.offcanvas-menu ul.accordion-menu li.current a:hover, .offcanvas-menu ul.accordion-menu li.current a {
	color: #fff !important;
}

.offcanvas-menu ul.nav.menu, .offcanvas-menu .sp-module {
	margin: 0px !important;
}

.offcanvas-menu ul.nav.menu li {
	border-bottom: 1px dotted #555656 !important;
	background: none !important;
}

.offcanvas-menu ul.nav.menu li a {
	line-height: 100% !important;
	padding: 12px !important;
	font-size: 15px !important;
	color: #555656 !important;
	font-weight: normal !important;
	display: block !important;
	font-family: Open Sans, sans-serif !important;
	border: 0px !important;
}

ul.accordion-menu.button-right li > .item-wrapper > .menu-button > img {
	padding: 0px 17px !important;
}

/* Emotion
-----------*/

	section#sp-feature * {
		padding: 0 !important;
		margin: 0 !important;
	}

	#sp-feature {
		padding-top: 90px !important;
	}

	@media only screen and (min-width:0) and (max-width:768px) {
		#sp-feature {
			padding-top: 80px !important;
		}
	}

	@media only screen and (min-width: 1430px) {
		#layerslider_1,
		.ls-wrapper.ls-bg-outer {
			height: 550px !important;
		}
	}

	@media only screen and (min-width: 1600px) {
		#layerslider_1,
		.ls-wrapper.ls-bg-outer {
			height: 600px !important;
		}
	}

	@media only screen and (min-width: 1800px) {
		#layerslider_1,
		.ls-wrapper.ls-bg-outer {
			height: 650px !important;
		}
	}

	@media only screen and (min-width: 2100px) {
		#layerslider_1,
		.ls-wrapper.ls-bg-outer {
			height: 700px !important;
		}
	}

	@media only screen and (min-width: 2400px) {
		#layerslider_1,
		.ls-wrapper.ls-bg-outer {
			height: 750px !important;
		}
	}



/* Über uns - Container
-------------------------*/

	#sp-ueber-uns {
		position: relative;
		background-image: url("../images/bgr_solar.jpg");
		background-size: cover;
		background-color: #e51011 !important;
	}

	#sp-ueber-uns:before {
		content: '';
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		background-color: #E51011;
		opacity: 0.8;
	}

	#sp-ueber-uns a.bigbutton {
		display: block;
		margin: 30px 0px 30px 0;
		padding: 15px;
		color: #FFFFFF;
		text-align: center;
		border: 1px solid rgba(255,255,255,0.8) !important;
		border-radius: 10px;
		text-transform: uppercase;
		font-weight: 400;
	}

	#sp-ueber-uns a.bigbutton:hover {
		background-color: rgba(255, 255, 255, 0.4);
		text-decoration: none;
		border-color: rgba(255,255,255,0.4) !important;
	}

/* Onlineshop - Container
--------------------------*/

	#sp-onlineshop a.bigbutton {
		display: block;
		margin: 30px 0px 30px 0;
		color: #FFFFFF;
		text-align: center;
		border: 2px solid red;
		border-radius: 10px;
		text-transform: uppercase;
		font-weight: 400;
		transition: all 0.1s ease;
	}

	#sp-onlineshop a.bigbutton span {
		display: inline-block;
		margin-top: 15px;
		height: 40px;
		vertical-align: top;
		color: #555656;
		font-size: 22px;
		font-weight: 400;
	}

	#sp-onlineshop a.bigbutton img {
		display: inline-block;
		height: 35px;
		margin-top: 10px !important;
	}

	/* Hover-Effekt
	-----------------*/

		#sp-onlineshop a.bigbutton:hover {
			transform: scale(0.95);
			box-shadow: 0px 0px 18px -3px rgba(0,0,0,0.43);
		}

/* Carousel Slider (Referenzen)
-------------------------------*/

	#sp-referenzen {
		background: url(../images/background-referenzen.png) no-repeat right bottom #fff100 !important;
		padding: 40px 0px 20px 0px !important;
	}

	#sp-referenzen .nbs-flexisel-inner {
		width: calc(100% - 100px) !important;
		margin-left: auto;
		margin-right: auto;
		background-image: none;
		background-color: transparent;
		border: none;
	}

	/* Links/Rechts Pfeile
	------------------------*/

		#sp-referenzen .nbs-flexisel-nav-left,
		#sp-referenzen .nbs-flexisel-nav-right {
			font-size: 20px;
			height: 30px;
			width: 30px;
			background-size: cover;
			top: 45% !important;
		}

		.nbs-flexisel-nav-left {
			background-image: url(../images/arrow-left_carousel-banner.png) !important;
		}

		.nbs-flexisel-nav-right {
			background-image: url(../images/arrow-right_carousel-banner.png) !important;
		}

	/* Bilder
	----------*/

		#sp-referenzen .nbs-flexisel-item img {
			border-radius: 10px;
			height: 300px;
			margin: 0 auto 0 auto;
			display: block;
			position: relative;
		}

	/* Bescheibung
	---------------*/

		#sp-referenzen .nbs-flexisel-item .description {
			line-height: 20px;
			padding-top: 10px;
		}



	/* Container
	-------------*/

	#sp-referenzen .nbs-flexisel-item {
		position: relative;
		z-index: 5;
	}

		#sp-referenzen .nbs-flexisel-item a {
			display: inline-block;
			background-color: transparent;
			margin: 30px 20px 30px 20px;
			border-radius: 10px;
			padding: 0 !important;
			position: relative;
		}

		#sp-referenzen .nbs-flexisel-item a:hover:before {
			content: "\f002";
			font-family: FontAwesome;
			font-size: 50px;
			display: block;
			background-color: rgba(255, 255, 255, 0.6);
			position: absolute;
			top: 0;
			right: 0;
			bottom: 0;
			left: 0;
			z-index: 6;
			padding-top: 140px;
			margin: 0;
			color: #999999;
			border-radius: 10px;
			height: 300px;

		}

		#sp-referenzen .sp-module ul > li {
			width: 50%;
			padding: 0;
			border: none;
		}

			.sp-module ul > li > a:before {
				display: none;
			}


/* SEARCH */
#sp-search {
	margin-top: 15px !important;
}

#sp-search input {
	width: 100% !important;
}

.acesearch_bg_module {
	height: auto !important;
}

#sp-search .acesearch_clear {
	display: none !important;
}

/* ergebnisse */
.search .btn-toolbar button {
	background: #e51011 !important;
}

.search dt.result-title, .search dt.result-title a {
	font-weight: 600 !important;
	color: #e51011 !important;
}

.search .result-category, .search .form-limit {
	display: none !important;
}

.search .result-text {
	line-height: 165% !important;
}

/* FEATURE */
.tp-leftarrow {
	margin-left: 20px !important;
}

.tp-rightarrow {
	margin-right: 20px !important;
}


/* ----------------- MAIN-BODY ----------------- */
#sp-main-body {
	padding: 30px 0px 30px 0px;
}

article.item {
	margin: 0px !important;
}

.pagination > .active > a, .pagination > .active > span {
	background: #e51011 !important;
	border-color: #e51011 !important;
}

/* KONTAKT */
@media only screen and (max-width:768px) and (min-width:0px) {
div.linkss table.map {
		float: none !important; 
		Width: 100% !important;
}
}

/* SLIDER */
.accordion-toggle {
	color: #e51011 !important;
}


/* FORMULARE */
.wdform_section {
	font-family: Open Sans,sans-serif !important;
}

.wdform_column {
	border-spacing: 0px !important;
}

.mini_label {
	margin: 0px !important;
	line-height: 100% !important;
}

.wdform-field .button-submit {
	background: #e51011 !important;
	font-size: 100% !important;
	margin: 0px !important;
}

.wdform-field .button-submit:hover {
	background: #AAC309 !important;
}

.wdform-field[type="type_name"] .wdform-element-section div {
	float: left !important;
}

.wdform-field[type="type_name"] .wdform-element-section div div {
	clear: both !important;
}

.wdform-field[type="type_name"] .wdform-element-section div input {
	width: 100% !important;
}


/* ----------------- FOOTER ----------------- */
#sp-footer {
	background: #555656 !important;
	text-align: center !important;
	font-size: 90% !important;
}

#sp-footer #sp-footer1 .footer1 {
	border-top: 1px solid #fff !important;
	padding-top: 15px !important;
}

section#sp-bottom1 {
	background: #555656 !important;
	color: #fff !important;
	padding: 50px 0px 5px 0px !important;
}

section#sp-bottom1 h2 {
	color: #fff !important;
}

section#sp-bottom2 {
	background: #555656 !important;
	color: #fff !important;
}

section#sp-bottom2 strong, section#sp-bottom2 a {
	color: #fff !important;
}


/* Footer-Spalten
------------------*/

	#sp-bottom2 #sp-bottom3 {
		text-align: center;
	}

	#sp-bottom2 #sp-bottom4 {
		text-align: right;
	}

	@media only screen and (max-width:768px) {
		#sp-bottom2 #sp-bottom2,
		#sp-bottom2 #sp-bottom3,
		#sp-bottom2 #sp-bottom4 {
			text-align: center;
		}
	}

/* ----------------- ERROR PAGE ----------------- */
.error-page body {
	background: #e51011 !important;
	font-family: Open Sans,sans-serif !important;
}

.error-page h1 {
	color: #fff !important;
	font-size: 1200% !important;
	font-weight: 700 !important;
	line-height: 100% !important;
	border-top: 1px solid #fff !important;
	border-bottom: 1px solid #fff !important;
	display: inline !important;
}

.error-page h2 {
	color: #fff !important;
	font-size: 400% !important;
	margin-top: 70px !important;
	font-weight: 300 !important;
}

.error-page h3 {
	color: #fff !important;
	margin-bottom: 45px !important;
}

.error-page strong {
	font-size: 100% !important;
	color: #FFFFFF !important;
}

.error-page a.zbutton {
	color: #fff !important;
	padding: 15px 50px !important;
	border: 1px solid #fff !important;
	margin-right: 5px !important;
}

.error-page a.button {
	color: #e51011 !important;
	padding: 15px 30px !important;
	border: 1px solid #fff !important;
	background: #fff !important;
	font-weight: 600 !important;
}

.error-page a.zbutton:hover, .error-page a.button:hover {
	background: red !important;
	color: #fff !important;
}

/* ----------------- SITEMAP ----------------- */
#jmap_sitemap a {
	color: #555656 !important;
}

#jmap_sitemap a:hover {
	color: #555656 !important;
	border-bottom: 1px dotted #555656 !important;
}

.folder {
	color: #555656 !important;
}

img {
	display: inline;
  vertical-align: baseline !important;
  }