/*!
Theme Name: Bauprofil Koch - Metalbau
Theme URI: http://underscores.me/
Author: Impuls Werbeagentur GmbH
Author URI: https://www.werbeagentur-impuls.de/
Description: Description
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: bauprofil
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.

Bauprofil Koch - Metalbau is based on Underscores https://underscores.me/, (C) 2012-2017 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/
/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Normalize
# Typography
# Elements
# Forms
# Navigation
	## Links
	## Menus
# Accessibility
# Alignments
# Clearings
# Widgets
# Content
	## Posts and pages
	## Comments
# Infinite scroll
# Media
	## Captions
	## Galleries
# Custom styles
	## Typography (headings, links)
	## Main elements (body)
	## Header
	## Main navigation
	## Content
		### Content index
		### Content subpages
	## Footer
	## Forms
	## Effects (fe. gardients)
	## Clearings
	## Overwriting
--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Normalize
--------------------------------------------------------------*/
html {
	font-family: sans-serif;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
}

body {
	margin: 0;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
	display: block;
}

audio,
canvas,
progress,
video {
	display: inline-block;
	vertical-align: baseline;
}

audio:not([controls]) {
	display: none;
	height: 0;
}

[hidden],
template {
	display: none;
}

a {
	background-color: transparent;
}

a:active,
a:hover {
	outline: 0;
}

abbr[title] {
	border-bottom: 1px dotted;
}

b,
strong {
	font-weight: bold;
}

dfn {
	font-style: italic;
}

h1 {
	font-size: 2em;
	margin: 0.67em 0;
}

mark {
	background: #ff0;
	color: #000;
}

small {
	font-size: 80%;
}

sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sup {
	top: -0.5em;
}

sub {
	bottom: -0.25em;
}

img {
	border: 0;
}

svg:not(:root) {
	overflow: hidden;
}

figure {
	margin: 1em 40px;
}

hr {
	box-sizing: content-box;
	height: 0;
}

pre {
	overflow: auto;
}

code,
kbd,
pre,
samp {
	font-family: monospace, monospace;
	font-size: 1em;
}

button,
input,
optgroup,
select,
textarea {
	color: inherit;
	font: inherit;
	margin: 0;
}

button {
	overflow: visible;
}

button,
select {
	text-transform: none;
}

button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
	-webkit-appearance: button;
	cursor: pointer;
}

button[disabled],
html input[disabled] {
	cursor: default;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
	border: 0;
	padding: 0;
}

input {
	line-height: normal;
}

input[type="checkbox"],
input[type="radio"] {
	box-sizing: border-box;
	padding: 0;
}

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

fieldset {
	border: 1px solid #c0c0c0;
	margin: 0 2px;
	padding: 0.35em 0.625em 0.75em;
}

legend {
	border: 0;
	padding: 0;
}

textarea {
	overflow: auto;
}

optgroup {
	font-weight: bold;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

td,
th {
	padding: 0;
}

/*--------------------------------------------------------------
# Typography
--------------------------------------------------------------*/
body,
button,
input,
select,
optgroup,
textarea {
	color: #404040;
	font-family: sans-serif;
	font-size: 16px;
	font-size: 1rem;
	line-height: 1.5;
}

h1, h2, h3, h4, h5, h6 {
	clear: both;
}

p {
	margin-bottom: 1.5em;
}

dfn, cite, em, i {
	font-style: italic;
}

blockquote {
	margin: 0 1.5em;
}

address {
	margin: 0 0 1.5em;
}

pre {
	background: #eee;
	font-family: "Courier 10 Pitch", Courier, monospace;
	font-size: 15px;
	font-size: 0.9375rem;
	line-height: 1.6;
	margin-bottom: 1.6em;
	max-width: 100%;
	overflow: auto;
	padding: 1.6em;
}

code, kbd, tt, var {
	font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
	font-size: 15px;
	font-size: 0.9375rem;
}

abbr, acronym {
	border-bottom: 1px dotted #666;
	cursor: help;
}

mark, ins {
	background: #fff9c0;
	text-decoration: none;
}

big {
	font-size: 125%;
}

/*--------------------------------------------------------------
# Elements
--------------------------------------------------------------*/
html {
	box-sizing: border-box;
}

*,
*:before,
*:after {
	/* Inherit box-sizing to make it easier to change the property for components that leverage other behavior; see https://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
	box-sizing: inherit;
}

body {
	background: #fff;
	/* Fallback for when there is no custom background color defined. */
}

hr {
	background-color: #ccc;
	border: 0;
	height: 1px;
	margin-bottom: 1.5em;
}

ul, ol {
	margin: 0 0 1.5em 3em;
}

ul {
	list-style: disc;
}

ol {
	list-style: decimal;
}

li > ul,
li > ol {
	margin-bottom: 0;
	margin-left: 1.5em;
}

dt {
	font-weight: bold;
}

dd {
	margin: 0 1.5em 1.5em;
}

img {
	height: auto;
	/* Make sure images are scaled correctly. */
	max-width: 100%;
	/* Adhere to container width. */
}

figure {
	margin: 1em 0;
	/* Extra wide images within figure tags don't overflow the content area. */
}

table {
	margin: 0 0 1.5em;
	width: 100%;
}

/*--------------------------------------------------------------
# Forms
--------------------------------------------------------------*/
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
	border: 1px solid;
	border-color: #ccc #ccc #bbb;
	border-radius: 3px;
	background: #e6e6e6;
	color: rgba(0, 0, 0, 0.8);
	font-size: 12px;
	font-size: 0.75rem;
	line-height: 1;
	padding: .6em 1em .4em;
}

button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
	border-color: #ccc #bbb #aaa;
}

button:active, button:focus,
input[type="button"]:active,
input[type="button"]:focus,
input[type="reset"]:active,
input[type="reset"]:focus,
input[type="submit"]:active,
input[type="submit"]:focus {
	border-color: #aaa #bbb #bbb;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
	color: #666;
	border: 1px solid #ccc;
	border-radius: 3px;
	padding: 3px;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus {
	color: #111;
}

select {
	border: 1px solid #ccc;
}

textarea {
	width: 100%;
}

/*--------------------------------------------------------------
# Navigation
--------------------------------------------------------------*/
/*--------------------------------------------------------------
## Links
--------------------------------------------------------------*/
a:focus {
	outline: none;
}

a:hover, a:active {
	outline: 0;
}

/*--------------------------------------------------------------
## Menus
--------------------------------------------------------------*/
.main-navigation {
	clear: both;
	display: block;
	float: left;
	width: 100%;
}

.main-navigation ul {
	display: none;
	list-style: none;
	margin: 0;
	padding-left: 0;
}

.main-navigation ul ul {
	box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
	float: left;
	position: absolute;
	top: 100%;
	left: -9999px;
	z-index: 99999;
}

.main-navigation ul ul ul {
	left: -999em;
	top: 0;
}

.main-navigation ul ul li:hover > ul,
.main-navigation ul ul li.focus > ul {
	left: 100%;
}

.main-navigation ul ul a {
	width: 200px;
}

.main-navigation ul li:hover > ul,
.main-navigation ul li.focus > ul {
	left: auto;
}

.main-navigation li {
	float: left;
	position: relative;
}

.main-navigation a {
	display: block;
	text-decoration: none;
}

/* Small menu. */
.menu-toggle,
.main-navigation.toggled ul {
	display: block;
}

@media screen and (min-width: 37.5em) {
	.menu-toggle {
		display: none;
	}
	.main-navigation ul {
		display: block;
	}
}

.site-main .comment-navigation, .site-main
.posts-navigation, .site-main
.post-navigation {
	margin: 0 0 1.5em;
	overflow: hidden;
}

.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
	float: left;
	width: 50%;
}

.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
	float: right;
	text-align: right;
	width: 50%;
}

/*--------------------------------------------------------------
# Accessibility
--------------------------------------------------------------*/
/* Text meant only for screen readers. */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	clip-path: none;
	color: #21759b;
	display: block;
	font-size: 14px;
	font-size: 0.875rem;
	font-weight: bold;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
	/* Above WP toolbar. */
}

/* Do not show the outline on the skip link target. */
#content[tabindex="-1"]:focus {
	outline: 0;
}

/*--------------------------------------------------------------
# Alignments
--------------------------------------------------------------*/
.alignleft {
	display: inline;
	float: left;
	margin-right: 1.5em;
}

.alignright {
	display: inline;
	float: right;
	margin-left: 1.5em;
}

.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
}

/*--------------------------------------------------------------
# Clearings
--------------------------------------------------------------*/
.clear:before,
.clear:after,
.entry-content:before,
.entry-content:after,
.comment-content:before,
.comment-content:after,
.site-header:before,
.site-header:after,
.site-content:before,
.site-content:after,
.site-footer:before,
.site-footer:after {
	content: "";
	display: table;
	table-layout: fixed;
}

.clear:after,
.entry-content:after,
.comment-content:after,
.site-header:after,
.site-content:after,
.site-footer:after {
	clear: both;
}

/*--------------------------------------------------------------
# Widgets
--------------------------------------------------------------*/
.widget {
	margin: 0 0 1.5em;
	/* Make sure select elements fit in widgets. */
}

.widget select {
	max-width: 100%;
}

/*--------------------------------------------------------------
# Content
--------------------------------------------------------------*/
/*--------------------------------------------------------------
## Posts and pages
--------------------------------------------------------------*/
.sticky {
	display: block;
}

.hentry {
	margin: 0 0 1.5em;
}

.updated:not(.published) {
	display: none;
}

.page-content,
.entry-content,
.entry-summary {
	margin: 1.5em 0 0;
}

.page-links {
	clear: both;
	margin: 0 0 1.5em;
}

/*--------------------------------------------------------------
## Comments
--------------------------------------------------------------*/
.comment-content a {
	word-wrap: break-word;
}

.bypostauthor {
	display: block;
}

/*--------------------------------------------------------------
# Infinite scroll
--------------------------------------------------------------*/
/* Globally hidden elements when Infinite Scroll is supported and in use. */
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
	/* Theme Footer (when set to scrolling) */
	display: none;
}

/* When Infinite Scroll has reached its end we need to re-display elements that were hidden (via .neverending) before. */
.infinity-end.neverending .site-footer {
	display: block;
}

/*--------------------------------------------------------------
# Media
--------------------------------------------------------------*/
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
	border: none;
	margin-bottom: 0;
	margin-top: 0;
	padding: 0;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
	max-width: 100%;
}

/* Make sure logo link wraps around logo image. */
.custom-logo-link {
	display: inline-block;
}

/*--------------------------------------------------------------
## Captions
--------------------------------------------------------------*/
.wp-caption {
	margin-bottom: 1.5em;
	max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.wp-caption .wp-caption-text {
	margin: 0.8075em 0;
}

.wp-caption-text {
	text-align: center;
}

/*--------------------------------------------------------------
## Galleries
--------------------------------------------------------------*/
.gallery {
	margin-bottom: 1.5em;
}

.gallery-item {
	display: inline-block;
	text-align: center;
	vertical-align: top;
	width: 100%;
}

.gallery-columns-2 .gallery-item {
	max-width: 50%;
}

.gallery-columns-3 .gallery-item {
	max-width: 33.33%;
}

.gallery-columns-4 .gallery-item {
	max-width: 25%;
}

.gallery-columns-5 .gallery-item {
	max-width: 20%;
}

.gallery-columns-6 .gallery-item {
	max-width: 16.66%;
}

.gallery-columns-7 .gallery-item {
	max-width: 14.28%;
}

.gallery-columns-8 .gallery-item {
	max-width: 12.5%;
}

.gallery-columns-9 .gallery-item {
	max-width: 11.11%;
}

.gallery-caption {
	display: block;
}

/*--------------------------------------------------------------
# Custom Styles
--------------------------------------------------------------*/

/*--------------------------------------------------------------
## Typography (headings, links)
--------------------------------------------------------------*/

*{
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

*:focus{
	outline: none;
}

p:empty{
    display: none;
}

body, html{
	font-family: 'Roboto';
	font-weight: 300;
	font-size: 21px;
	color:#000000;
}

h1,h2,h3,h4,h5,h6{
	font-weight: 700;
	line-height: 1.2em;
}

h1,h2{
	font-size: 35px;
	text-transform: uppercase;
}

h3,h4{
	font-size: 28px;
	text-transform: uppercase;
}

i{
	font-family: 'Roboto';
	font-style: italic;
}

strong, b{
	font-weight: 700;
}

a, a:visited, a:focus, a:hover{
	outline: none;
	text-decoration: none;
}

body.single-post .entry-image,
body.blog .template .entry-image,
body.search .posts-wrap article .entry-image,
body.archive .posts-wrap article .entry-image,
body.single .posts-wrap article .entry-image{
	margin-top: 7px;
}

.entry-content > .entry-title > a,
.entry-content > .entry-title > a:visited,
a, a:visited, a.more-link, a.more-link:visited,
.entry-content .more-link, .entry-content .more-link:visited,
article p .smpl-btn a, article p .smpl-btn a:visited{
	color: #000000;
}

.header-title{
	text-transform: uppercase;
	font-size:55px;
	font-weight: 700;
	color:#fff;
}

.entry-content .more-link:focus,
.entry-content .more-link:hover,
article p a, article p a:visited,
a.more-link:hover, a.more-link:focus,
.entry-content a, a:hover, a:focus,
.entry-content > .entry-title > a:hover,
.entry-content > .entry-title > a:focus,
.custom-search .search-opener:hover::before,
.custom-search.active .search-opener::before, .in-red,
article p .smpl-btn a:hover, article p .smpl-btn a:focus{
	color: #e2161a;
}

li.current-menu-item > a, li.current-menu-parent > a,
body.single-post li.projects > a{
	color: #e2161a;
}

article p a:hover, article p a:focus{
	color: #4F4F4F;
}

article ul,
.entry-content ul{
	padding: 18px 0;
   margin: 0 0 0 20px;
	text-indent: -10px;
	list-style: none;
}

article ul > li,
.entry-content ul > li{
	margin-bottom: 0px;
}

article ul > li:before,
.entry-content ul > li:before{
	content: "●";
	margin-left: -10px;
	margin-right: 10px;
	text-indent: 10px;
	color:#000000;
}

/* for pointer on non link elms */
.link-cursor{
	cursor: pointer;
}

/*--------------------------------------------------------------
## Main elements (body)
--------------------------------------------------------------*/

/* fixes gmaps jump to page end */
body, html {
    -webkit-overflow-scrolling: touch; 
} 

/*--------------------------------------------------------------
## Content used elements
--------------------------------------------------------------*/

#page{
	min-width: 1220px;
}

.wrap{
	width: 1220px;
	margin: 0 auto;
	position: relative;
}

@media(max-width:1220px){
	.wrap{
		width: 100%;
		padding-left: 10px;
		padding-right: 10px;
	}
}

.flex-box{
	display: -webkit-box; /* OLD - iOS 6-, Safari 3.1-6 */
	display: -moz-box;    /* OLD - Firefox 19- (buggy but mostly works) */
	display: -ms-flexbox; /* TWEENER - IE 10 */
	display: -webkit-flex; /* NEW - Chrome */
	display: flex;
}

.flex-center{
	align-content: center;
	align-items: center;
}

.flex-box > *{
	margin: 0 0 0 0; /* reset */
	margin: auto;
}

.bg-grey{
	background-color:#f2f2f2;
}

.important-box{
	padding: 35px 35px;
	background-color:#e2161a;
	color: #fff;
	height:380px; max-height: 380px;
	width:380px; max-width: 380px;
}

.important-box, .important-box a,
.important-box a:visited{
	color: #fff;
}

.important-box a:hover{
	color: #4F4F4F;
}

.pagebar .widget.wichtig{
	margin-top: -115px;
	position: relative;
	z-index: 9999;
}

.pagebar .wichtig .widget-title{
	display: none;
}

.wichtig .textwidget,
.important-box .box-title{
	color:#fff;
}

.important-box .box-title{
	margin-top: 0;
	line-height: 1.2em;
}

.wichtig .textwidget{
	font-size:18px;
}

.important-box p{
	margin-top: 0;
   margin-bottom: 20px;
	font-weight: 400;
}

body .smpl-btn,
.important-box a.more-link{
	text-align: center;
	flex-direction: row-reverse;
	float: right;
}

.important-box a.more-link{
	color:#fff;
	font-weight: 400;
}

body .smpl-btn a::before,
.important-box a.more-link::before{
	content:'\e803';
	font-family: "fontello";
	height: 55px; width: 55px;
	background-color: #000;
	display: inline-block;
	text-align: center;
	line-height: 1em;
	display: block;
	color: #fff;
	padding: 18px;
	margin: 0;
	right:0;
}

.important-box a.more-link::before{
	color:#fff;
	background-color:rgba(0,0,0,0.4);
}

body .smpl-btn a::before,
.important-box a.more-link::before{
	position: absolute;
}

body .smpl-btn a,
.important-box a.more-link{
	padding-right: 70px;
   height: 55px;
	display: -webkit-box; /* OLD - iOS 6-, Safari 3.1-6 */
	display: -moz-box;    /* OLD - Firefox 19- (buggy but mostly works) */
	display: -ms-flexbox; /* TWEENER - IE 10 */
	display: -webkit-flex; /* NEW - Chrome */
	display: flex;
	align-content: center;
	align-items: center;
	position: relative;
	line-height: 2.8em;
}

body .smpl-btn:hover a{
	color:#e2161a;
}

.important-box .entry-content a.more-link{
	color:#fff;
}

body .smpl-btn:hover a::before{
	background-color:#e2161a;
	color:#fff;
}

.important-box a.more-link:hover::before{
	background-color:rgba(0,0,0,1);
	color:#fff;
}

/*--------------------------------------------------------------
## Header
--------------------------------------------------------------*/

.site-header{
	width:100%;
	padding-top: 24px;
	padding-bottom: 24px;
	position: relative;
	background-color: #fff;
}

/* Fix for SVG object links */
.site-branding{
	position: relative;
	float: left;
	display: block;
}

.site-branding > a{
	display: block;
	height: auto;
	min-width: 100%;
}

.site-branding > a > img{
	height:auto; width:100%;
	display: block;
}

.site-branding{
	width:380px;
}

.site-branding > a{
	width: 69.6%;
   min-width: 0;
}

/*--------------------------------------------------------------
## Small header
--------------------------------------------------------------*/

#masthead-tiny{
	width:100%;
	position: fixed;
	top: -300px;
	z-index: 99999;
	background-color:#fff;
	padding-top: 10px;
	padding-bottom: 10px;
	-webkit-transition: top 300ms ease-in-out;
	-moz-transition: top 300ms ease-in-out;
	-o-transition: top 300ms ease-in-out;
	transition: top 300ms ease-in-out;
}

#masthead-tiny .site-branding a{
	width:58%;
}

#masthead-tiny .headerbar,
#masthead-tiny .main-navigation{
	padding-top: 10px;
}

#masthead-tiny .custom-search form{
	top: 47px;
}

body.scrolled #masthead-tiny{
	top:0;
}

body.admin-bar.scrolled #masthead-tiny{
	top:32px;
}

/*--------------------------------------------------------------
## Main navigation
--------------------------------------------------------------*/

.headerbar{
	float: right;
}

.headerbar, .main-navigation{
	padding-top: 39px;
}

.main-navigation{
	float: left;
	clear: none;
	width: 60%;
}

.main-navigation li a{
	font-size: 20px;
	font-weight: 400;
	text-transform: uppercase;
}

.main-navigation li ul li a{
	font-size: 18px;
}

#primary-menu,
#primary-menu-tiny{
	display: -webkit-box; /* OLD - iOS 6-, Safari 3.1-6 */
	display: -moz-box;    /* OLD - Firefox 19- (buggy but mostly works) */
	display: -ms-flexbox; /* TWEENER - IE 10 */
	display: -webkit-flex; /* NEW - Chrome */
	display: flex;
	align-content: center;
	align-items: center;
}

#primary-menu > li,
#primary-menu-tiny > li{
	margin: 0 0 0 0; /* reset */
	margin: auto;
}

li.menu-item > .sub-menu{
	left:-20px;
	opacity: 0;
	visibility: hidden;
	padding:25px 0 20px;
	box-shadow: none;
	background-color:#fff;
}

li.menu-item:hover > .sub-menu{
	left:-20px;
	opacity: 1;
	visibility: visible;
}

li.menu-item > .sub-menu li{
	padding:4px 20px 0;
}

body.tablet #primary-menu li > ul,
body.tablet #primary-menu-tiny li > ul{
	display: none;
	opacity: inherit;
	visibility: inherit;
}

body.tablet #primary-menu li:hover > ul,
body.tablet #primary-menu-tiny li:hover > ul{
	display: block;
	opacity: inherit;
	visibility: inherit;
}

/*--------------------------------------------------------------
## Slider & Header background
--------------------------------------------------------------*/

.header-media{
	position: relative;
}

.header-media .slider, .ImpulsSlider_outerwrap,
.ImpulsSlider.cycle-slideshow, .ImpulsSlider_Wrap.cycle-slide,
.ImpulsSlider_Wrap .slide-img{
	height: 31.5vw;
	width: 100%;
}

.header-bg, .header-bg .bg-img,
.header-media .impuls-map,
.impuls-map > div{
	width:100%;
	max-height: 15.5vw;
	min-height: 290px;
	display: block;
}

.header-bg .bg-img .wrap{
	max-height: 15.5vw;
   min-height: 290px;
}

.header-titles{
	position: absolute;
	margin-bottom: 20px;
	left: 0;
	bottom: 0;
	z-index: 100;
	width: 100%;
	height: 75px;
}

@media(max-width:1220px){
	.header-titles{
		padding-left: 10px;
		padding-right: 10px;
	}
}

.header-title{
	position: relative;
	margin-right: 20px;
}

.header-media iframe{
	border: 0;
}

.header-bg .bg-img, .ImpulsSlider_Wrap .slide-img{
	background-size: cover;
	background-position: center;
}

#per-slide-template{
	width:1220px;
	position: absolute;
	margin-top: 15.5vw;
	z-index: 100;
	top:0; left:0; right:0;
	margin-left: auto;
	margin-right: auto;
	text-transform: uppercase;
}

@media(max-width:1220px){
	#per-slide-template{
		padding:0 10px;
		margin-top: 150px;
	}
	.header-media .slider, .ImpulsSlider_outerwrap,
	.ImpulsSlider.cycle-slideshow, .ImpulsSlider_Wrap.cycle-slide,
	.ImpulsSlider_Wrap .slide-img{
		height: 380px;
	}
}

#per-slide-template > a{
	color:#fff;
	display: block;
	font-size: 55px;
	font-weight: 700;
	line-height: 1.1em;
}

#per-slide-template > a.cycle-pager-active{
	color: #e2161a;
}

/*--------------------------------------------------------------
## Content all pages
--------------------------------------------------------------*/

.pagebar .adresse{
	color:#808080;
}

.opsection .start-content{
	float: left;
   width: 60%;
}

.opsection .pagebar{
	float: right;
	width: 380px;
	height: 100%;
	padding-right: 1%;
}

.opsection .pagebar .widget.adresse:first-child{
	margin-top: 24%;
}

body.page #content{
	padding: 0;
}
.opsection{
	position: relative;
	padding: 55px 0;
}

.opsection.bg-left .spalte,
.opsection.bg-right .spalte{
	width: 100%;	
}

.opsection.bg-left{
	position: relative;
    padding-left: calc(40% + 30px);
    padding-right: calc((100% - 1200px) / 2);
}

.opsection.bg-left .bg-image{
	position: absolute;
	width: 38%;
	height: 100%;
	left: 0;
	background-position: right top;
	background-size: cover;
	top: 0;
}

.opsection.bg-right{
	position: relative;
    padding-right: calc(40% + 30px);
    padding-left: calc((100% - 1200px) / 2);
}

.opsection.bg-right .bg-image{
	position: absolute;
    width: 38%;
    height: 100%;
    right: 0;
    background-position: left top;
    background-size: cover;
    top: 0;
}

.opsection .bg-image.fallback {
    background-position: center;
}

@media(max-width:1200px){
	.opsection.bg-left{
		background-position: -200% 0%;
	}
	.opsection.bg-right{
		background-position: 300% 0%;
	}
}
.opsection:nth-child(2n){
	background: #f4f4f4;
}
.opsection .spalte{
	min-height: 1px;
}

.project-slider-outer{
	padding-bottom: 30px;
}

.project-slider .slick-list{
	padding:0 50px 30px 50px !important;
}

.project-slider .slick-entry{
	margin:0 10px;
}

.project-slider img{
	 -webkit-filter: grayscale(100%); /* Chrome 19+, Safari 6+, Safari 6+ iOS */
	 filter: gray; /* IE6-9 */
	 filter: url("data:image/svg+xml;utf8,&lt;svg xmlns=\'http://www.w3.org/2000/svg\'&gt;&lt;filter id=\'grayscale\'&gt;&lt;feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/&gt;&lt;/filter&gt;&lt;/svg&gt;#grayscale"); /* Firefox 10+, Firefox on Android */
	 filter: grayscale(100%);
}

.project-slider .slick-entry:hover img{
	-webkit-filter: none;
	filter: none;
}

.address, .phone-number, .fax-number{
	display: block;
}

.address{
	margin-bottom: 18px;
}

/* projects */
.pre-content{
	padding-bottom: 30px;
}

body.blog #primary{
	overflow-x: hidden;
}

body.archive .site-main > .wrap,
body.blog .site-main > .wrap{
	padding: 55px 0;
}

body.search.loading .posts-wrap,
body.archive.loading .posts-wrap,
body.blog.loading .posts-wrap{
	text-align: center;
}

@media(max-width:1220px){
	body.blog .pre-content,
	body.archive .pre-content,
	body.search .site-main .posts-wrap,
	body.archive .site-main .posts-wrap,
	body.blog .site-main .posts-wrap{
		padding-left:10px;
		padding-right: 10px;
	}
}

body.loading .posts-wrap .showspinner{
	font-size: 60px;
	color: #E2161A;
}

body.blog article.project::before{
	content: attr(data-title);
	width:100%;
	padding:0 20px;
	height: auto;
	opacity: 0;
	z-index: 10;
	color: white;
	display: block;
	font-size: 18px;
	text-align: left;
	position: absolute;
	visibility: hidden;
	top: 8%; left:0; right:0;
   background-color: transparent;
	font-family: 'Roboto', sans-serif;
	font-weight: 700;
}

body.blog article.project:hover::before{
	opacity: 1;
	visibility: visible;
}

body.blog article.project.loading::before,
body.blog article.project.active::before{
	content:none;
}

body.blog article.project .overlay.icon-arrow-right::before{
	top: auto;
	left: 46%;
	bottom: 6%;
	font-size: 15px;
	transform: rotate(90deg);
	text-align: center;
}

body.blog article.project .overlay.icon-close::before{
	top:50%;
	left:44%;
	bottom:auto;
	transform: none;
}

body.blog .template .overlay.galimg::before {
    font-size: 26px;
    margin: 0;
}

body.blog .template{
	display: none;
	width: 100vw;
	position: relative;
	margin-left: -50vw;
	left: 50%;
	clear: both;
	height: auto;
	z-index: 5;
	background-color: #F4F4F4;
	padding:20px 0;
	margin-bottom: 20px;
	min-width: 1220px;
}

@media(max-width:1220px){
	body.blog .template{
		width: 100%;
		left:0; right:0;
		margin-left: 0;
	}
}

body.blog .template .wrap{
	position: relative;
	margin: 0 auto;
	width:1220px;
	left: 0; right: 0;
}

body.single div.post, body.single article,
body.blog .template .wrap div.post{
	padding:40px 0 40px;
	margin:0;
}

body.single .entry-media,
body.single .entry-content,
body.blog .template .entry-media,
body.blog .template .entry-content{
	float: left;
}

body.single .entry-title,
body.blog .template .entry-title{
	margin-top: 0;
}

body.single .entry-content,
body.blog .template .entry-content{
	width: 48%;
   margin: 0 0 0 20px;
}

body.single .entry-gallery,
body.blog .template .entry-gallery{
	width:100%;
	margin-top: 10px;
}

body.single .galimg,
body.blog .template .galimg{
	display: block;
    float: left;
    margin-bottom: 10px;
    margin-left: 10px;
    width: calc((100% - (3 * 10px)) / 4);
}

body.single .galimg:nth-child(4n+1),
body.blog .template .galimg:nth-child(4n+1){
	clear: both;
	margin-left: 0;
}

body.blog .template .closer{
	text-align: right;
	display: inline-block;
	cursor: pointer;
	color: #000000;
	position: absolute;
	right: 0;
}

body.blog .template .closer::before{
	font-size: 30px;
}

body.blog .template .overlay::before{
	font-size: 40px;
}

body.blog .template .closer:hover{
	color:#e2161a;
}

body.blog article.project{
	display: block;
	float: left;
	position: relative;
	margin-left: 20px;
	margin-bottom: 20px;
	width: calc((100% - (3 * 20px)) / 4);
	cursor: pointer;
}

body.blog article.project::after {
	content: "";
	display: block;
	position: absolute;
	bottom: -20px;
	left: 0; right: 0;
	margin: 0 auto;
	width: 20px;
	opacity: 0;
	z-index: 101;
	visibility: hidden;
   transform: rotate(180deg);
	border-top: 19px solid #F4F4F4;
	border-left: 19px solid transparent;
	border-right: 19px solid transparent;
}

body.blog article.project:nth-of-type(4n+1){
	margin-left: 0;
	clear: both;
}

body.blog article.project .title{
	text-align: center;
	position: absolute;
	opacity: 0;
	visibility: hidden;
	color:#ffffff;
	z-index: 99;
}

body.blog article.project .spinner{
	opacity: 0;
	visibility: hidden;
	position: absolute;
	z-index: 99;
	font-size: 25px;
	color: #ffffff;
	display: block;
	top: 47%; right: auto;
   bottom: auto; left: 44.9%;
	text-align: center;
	background-color:transparent;
	transform: translate(-50%,-50%);
}

body.blog article.project .spinner::before{
	margin:0;	
}

body.blog article.project:hover .overlay::after,
body.blog article.project:hover .overlay::before{
	opacity: 1;
	visibility: visible;
}

body.blog article.project.active::after,
body.blog article.project.loading .spinner,
body.blog article.project.loading .overlay::after{
	opacity: 1;
	visibility: visible;
}

body.blog article.project.loading:hover .overlay::before,
body.blog article.project.loading .overlay::before{
	visibility: hidden;
	opacity: 0;
}

body.blog .wrap{
	min-width: 1200px;
	margin: 0 auto;
}

/* portfolios */

.portfolios .portfolio{
	display: block;
	padding-bottom: 30px;
}

.portfolios .portfolio{
	float: left;
	width:30%;
	margin-left: 5%;
}

.portfolios .portfolio:nth-child(3n+1){
	margin-left: 0;
	clear: both;
}

.portfolios .portfolio img{
	-webkit-filter: grayscale(100%); /* Chrome 19+, Safari 6+, Safari 6+ iOS */
	 filter: gray; /* IE6-9 */
	 filter: url("data:image/svg+xml;utf8,&lt;svg xmlns=\'http://www.w3.org/2000/svg\'&gt;&lt;filter id=\'grayscale\'&gt;&lt;feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/&gt;&lt;/filter&gt;&lt;/svg&gt;#grayscale"); /* Firefox 10+, Firefox on Android */
	 filter: grayscale(100%);
}

.portfolios .portfolio:hover img{
	-webkit-filter: none;
	filter: none;
}

/* search */

body.search article,
body.archive article.neuigkeiten{
	padding-bottom: 40px;
}


body.search .entry-image,
body.archive article.neuigkeiten .entry-image{
	float: left;
}

body.search .entry-content,
body.archive article.neuigkeiten .entry-content{
	float: right;
	width: 65%;
	margin-top: 0;
}

body.search .entry-title,
body.archive article.neuigkeiten .entry-title{
	margin-top: 0;
	padding-top: 0;
}

/* single post */

body.single .closer{
	display: none;
}

/* default page template (not opsection) */

body.search .site-main > .wrap,
body.page .site-main.not-op .posts-wrap{
	padding:55px 0;
}

body.search .site-main > .wrap .hentry:last-child{
	margin-bottom: 0;
}

body.page article:not(.opsection){
	width:60%;
	float: left;
}

body.page article:not(.opsection) + .pagebar{
	float: right;
	width: 380px;
	height: auto;
	padding-right: 1%;
}

body.page article:not(.opsection) .entry-content,
body.page article:not(.opsection) .entry-content > p:first-child{
	margin-top: 0;
}

/* contact page */

body.page.contact article,
body.page.contact article .entry-content,
body.page.imprint article,
body.page.imprint article .entry-content,
body.page .fullwidth article,
body.page .fullwidth article .entry-content{
	width:100%;
}

/* 404 page & not found */

body.error404 section.error-404{
	padding: 55px 0 ;
}

/* page number navigation */

.postnavlinks{
	text-align: center;
	padding: 30px 0 0;
}

.postnavlinks .page-numbers{
	display: inline-block;
	padding: 3px 13px;
	background-color:#000;
	color:#fff;
}

.postnavlinks .page-numbers:hover,
.postnavlinks .page-numbers:focus,
.postnavlinks .page-numbers.current{
	background-color:#E2161A;
}

.postnavlinks .dots,
.postnavlinks .next,
.postnavlinks .prev{
	display: none;
}

/*--------------------------------------------------------------
## Footer
--------------------------------------------------------------*/

.site-footer{
	min-width: 1220px;
}

.footerbar{
	padding-bottom: 30px;
}

.footerbar a, .footerbar a:visited,
.footerbar .widget.sign{
	color: #808080;
}

.footerbar a:hover{
	color:#e2161a;
}

.footerbar .widget{
	float: left;
	width: calc(100% / 4);
}

.footerbar .widget-title{
	margin: 0;
}

.footerbar .supporter > div > p{
	margin-bottom: 0;
}

.footerbar .supporter a > img{
	-webkit-filter: grayscale(100%); /* Chrome 19+, Safari 6+, Safari 6+ iOS */
	filter: gray; /* IE6-9 */
	filter: url("data:image/svg+xml;utf8,&lt;svg xmlns=\'http://www.w3.org/2000/svg\'&gt;&lt;filter id=\'grayscale\'&gt;&lt;feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/&gt;&lt;/filter&gt;&lt;/svg&gt;#grayscale"); /* Firefox 10+, Firefox on Android */
	filter: grayscale(100%);
}

.footerbar .supporter a:hover > img{
	-webkit-filter: none;
	filter: none;
}

.footerbar .widget.imprint{
	float: right;
	width: 25%;
}

.footerbar .widget.sign{
	width: 25%;
	bottom: 50px; right: 0;
	position: absolute;
}

/*--------------------------------------------------------------
## Forms
--------------------------------------------------------------*/

.headerbar .widget, .pagebar .widget,
.footerbar .widget{
	margin:0;
}

.custom-search{
	position: relative;
}

.custom-search form{
	opacity: 0;
	visibility: hidden;
	position: absolute;
	z-index: 9999;
	display: block;
	width: 350px; height: auto;
	top: 60px; left: -1050%;
}

@media(max-width:1300px){
	.custom-search form{
		left:inherit;
		right: 10px;
	}
}

.custom-search .search-submit{
	position: absolute;
	right: 0;
	width: 20%;
	z-index: 10;
}

.custom-search .search-hack{
	float: right;
	width: 20%;
	clear: none;
	position: relative;
	text-align: center;
	font-size: 16px;
	height: 45px;
	color: #fff;
	z-index: 11;
	padding: 12px;
	pointer-events: none;
}

.custom-search .search-field{
	padding-left: 10px;
	-webkit-appearance: none;
   -moz-appearance:    none;
   appearance:         none;
}

.custom-search .search-field,
.custom-search .search-field:focus{
	float: left;
	width: 80%;
	clear: none;
	position: relative;
	background-color:#000;
	color: #fff;
}

.custom-search.active form{
	opacity: 1;
	visibility: visible;
}

/* regular search form */
.site-main .search-form{
	max-width: 40%;
	border:none;
	position: relative;
}

.site-main .search-form .search-submit{
	position: absolute;
	right: 0;
	width: 20%;
	z-index: 10;
	border: none;
}

.site-main .search-hack{
	float: left;
	width: 20%;
	clear: none;
	position: absolute;
	text-align: center;
	height: 45px;
	font-size: 16px;
	color: #fff;
	z-index: 11;
	padding: 12px;
	pointer-events: none;
	border: none;
	right: 0;
}

.site-main .search-form .search-field{
	float: left;
	width: 80%;
	border:none;
	background-color:#f2f2f2;
	padding-left: 10px;
	-webkit-appearance: none;
   -moz-appearance:    none;
   appearance:         none;
}

/* general input styling */
button, body form input, input[type="button"],
input[type="reset"], input[type="submit"],
input[type="search"], input[type="text"]{
	height:45px;
	border: 3px solid #000;
	border-radius: 0;
	font-family: 'Roboto';
	font-size: 17px;
	font-weight: 400;
	
}

input[type="submit"]{
	background-color:#000;
	color: #ffffff;
	text-transform: uppercase;
}

input[type="submit"]:hover{
	background-color:#e2161a;
	border-color:#e2161a;
}

.custom-search ::-webkit-input-placeholder { /* WebKit, Blink, Edge */
   color: #fff;
	font-size: 17px;
	font-weight: 400;
	font-family: 'Roboto';
	opacity:  1;
}
.custom-search :-moz-placeholder { /* Mozilla Firefox 4 to 18 */
   color: #fff;
	font-size: 16px;
	font-weight: 400;
	font-family: 'Roboto';
	opacity:  1;
}
.custom-search ::-moz-placeholder { /* Mozilla Firefox 19+ */
   color: #fff;
	font-size: 17px;
	font-weight: 400;
	font-family: 'Roboto';
	opacity:  1;
}
.custom-search :-ms-input-placeholder { /* Internet Explorer 10-11 */
   color: #fff;
	font-size: 17px;
	font-weight: 400;
	font-family: 'Roboto';
	opacity:  1;
}
.custom-search ::-ms-input-placeholder { /* Microsoft Edge */
   color: #fff;
	font-size: 17px;
	font-weight: 400;
	font-family: 'Roboto';
	opacity:  1;
}

body .wpcf7-form input, html .wpcf7-form input,
body .wpcf7-form textarea{
	color: #fff;
	font-size: 17px;
	font-weight: 400;
	font-family: 'Roboto';
	opacity:  1;
	width:100%;
	border-radius: 0;
	resize: none;
}

/* contact page form */
body.contact .wpcf7-form p{
	margin: 0;
	padding: 0;
}

body.contact .wpcf7 .alignright{
	margin-left: 0.25%;
}

body.contact .wpcf7 .alignleft{
	margin-right: 0.25%;
}

body.contact .wpcf7 .alignleft,
body.contact .wpcf7 .alignright{
	width:49.5%;
}

body.contact .capwrap{
	background-color:#d2d2d2;
	display: block;
	width: 67%;
   float: left;
}

body.contact .wpcf7 input,
body.contact .wpcf7 textarea,
body.contact .wpcf7 input:disabled:hover{
	height: 40px;
	padding: 8px 0 4px 10px;
	margin-bottom: 2%;
	border: 0;
	background-color: #d2d2d2;
	color: black;
	font-family: 'Roboto';
	font-weight: 300;
}
body.contact .wpcf7 input:disabled{
	cursor:not-allowed;
}

body.contact .wpcf7 input[type=checkbox]{
	width: auto;
	height: auto;
}

span.wpcf7-list-item {
	margin-left: 0;
}

body.contact .wpcf7 textarea{
	padding-bottom: 0;
	margin-bottom: 0;
	min-height: 300px;
}

body.contact .wpcf7-form-control-wrap.your-message{
	display: block;
	float: none;
	clear: both;
	max-height: 300px;
	margin-bottom: 1.15%;
}

body.contact .wpcf7-form .wpcf7-form-control.wpcf7-captchar{
	float: left;
	width: calc((100% / 3) - 10px);
	margin: 0 10px 0 0;
	background-color: #d2d2d2;
}

body.contact .wpcf7-form .wpcf7-form-control.wpcf7-captchac{
	float: right;
	border: 0;
	margin-right: 8px;
	padding-top: 6px;
}

body.contact .wpcf7-form .wpcf7-submit,
body.contact .wpcf7-form .wpcf7-submit:disabled:hover{
	width: calc((100% / 3) - 10px);
	margin-bottom: 0;
	float: right;
	font-size: 17px;
	text-transform: uppercase;
	padding-left: 0;
	font-weight: 400;
}

body.contact .wpcf7-form .wpcf7-submit:hover{
	background-color: #E2161A;
	color: #fff;
}

body.contact ::-webkit-input-placeholder { /* WebKit, Blink, Edge */
   color: #000;
	font-size: 17px;
	font-weight: 300;
	font-family: 'Roboto';
	opacity:  1;
}
body.contact :-moz-placeholder { /* Mozilla Firefox 4 to 18 */
   color: #000;
	font-size: 17px;
	font-weight: 300;
	font-family: 'Roboto';
	opacity:  1;
}
body.contact ::-moz-placeholder { /* Mozilla Firefox 19+ */
   color: #000;
	font-size: 17px;
	font-weight: 300;
	font-family: 'Roboto';
	opacity:  1;
}
body.contact :-ms-input-placeholder { /* Internet Explorer 10-11 */
   color: #000;
	font-size: 17px;
	font-weight: 300;
	font-family: 'Roboto';
	opacity:  1;
}
body.contact ::-ms-input-placeholder { /* Microsoft Edge */
   color: #000;
	font-size: 17px;
	font-weight: 300;
	font-family: 'Roboto';
	opacity:  1;
}

.wpcf7-form .wpcf7-not-valid-tip{
	display: none;
}

.wpcf7-form.invalid input.wpcf7-not-valid,
.wpcf7-form div.wpcf7-validation-errors{
	border:2px solid #E2161A;
}

div.wpcf7-validation-errors{
	display: block;
	width: 100%;
	margin: 0;
}

/*--------------------------------------------------------------
## Effects (fe. gardients, transitions, overlays)
--------------------------------------------------------------*/

/* Color transitions only */
a, .custom-search .search-opener::before, body.blog .template .closer{
	-webkit-transition: color 300ms ease-in-out;
	-moz-transition: color 300ms ease-in-out;
	-o-transition: color 300ms ease-in-out;
	transition: color 300ms ease-in-out;
}

/* Opacity transitions only */
.overlay::before, .overlay::after, .custom-search form, li.menu-item > .sub-menu{
	-webkit-transition: opacity 300ms ease-in-out, visibility 300ms ease-in-out;
	-moz-transition: opacity 300ms ease-in-out, visibility 300ms ease-in-out;
	-o-transition: opacity 300ms ease-in-out, visibility 300ms ease-in-out;
	transition: opacity 300ms ease-in-out, visibility 300ms ease-in-out;
}

input[type="submit"], contact .wpcf7-form .wpcf7-submit, .postnavlinks .page-numbers{
	-webkit-transition: background-color 300ms ease-in-out, border 300ms ease-in-out, color 300ms ease-in-out;
	-moz-transition: background-color 300ms ease-in-out, border 300ms ease-in-out, color 300ms ease-in-out;
	-o-transition: background-color 300ms ease-in-out, border 300ms ease-in-out, color 300ms ease-in-out;
	transition: background-color 300ms ease-in-out, border 300ms ease-in-out, color 300ms ease-in-out;
}

body .smpl-btn a::before, .important-box a.more-link::before{
	-webkit-transition: background-color 300ms ease-in-out, color 300ms ease-in-out;
	-moz-transition: background-color 300ms ease-in-out, color 300ms ease-in-out;
	-o-transition: background-color 300ms ease-in-out, color 300ms ease-in-out;
	transition: background-color 300ms ease-in-out, color 300ms ease-in-out;
}

.project-slider .slick-entry img, .portfolios .portfolio img, .footerbar .supporter a > img{
	-webkit-transition: filter 300ms ease-in-out;
	-moz-transition: filter 300ms ease-in-out;
	-o-transition: filter 300ms ease-in-out;
	transition: filter 300ms ease-in-out;
}

.overlay{
	display: block;
	position: relative;
}

.overlay img{
	display: block;
	min-width: 100%;
}

/* overlay ::before used for icons */
/* font-styles only AV if used fontello with assigned class */
/* otherwise use content:""; and background-image */
.overlay::before{
	padding:0;
	width:auto;
	height: auto;
	opacity: 0;
	z-index: 10;
	color:white;
	display: block;
	font-size:22px;
	top:50%; right:auto;
	bottom:auto; left:50%;
	text-align: center;
	position: absolute;
	visibility: hidden;
	background-color:transparent;
	transform: translate(-50%,-50%);
}

/* overlay ::after used for background */
.overlay::after{
	content:"";
	opacity: 0;
	margin: 0;
	z-index: 2;
	opacity: 0;
	width:100%;
	height: 100%;
	top:0; right:0;
	bottom: 0; left: 0;
	position:absolute;
	visibility: hidden;
	background-color:rgba(226,22,26,0.7);
}

.overlay:hover::before,
.overlay:hover::after{
	opacity: 1;
	visibility: visible;
}

/*body.home */ *.magicHide {
	opacity: 0;
	transform: scale(1.02);
}

/*body.home */ *.magicShow {
	opacity: 1;
	transform: scale(1);
	animation-name: magicShow;
	animation-direction: normal;
	animation-duration: .4s;
	animation-fill-mode: forwards;
	animation-iteration-count: 1;
	animation-timing-function: ease-in;
	/*transition: all ease-in .4s;*/
}

@keyframes magicShow {
	0%{
		opacity: 0;
		transform: scale(1.02);
	}
	100% {
		opacity: 1;
		transform: scale(1);
	}
}

/*--------------------------------------------------------------
## Clearings
--------------------------------------------------------------*/

.posts-wrap::after, div.post::after, article::after, body.blog .template .wrap::after,
#primary-menu::after, .opsection::after, .wrap::after, .footerbar::after,
body.contact .capwrap::after, .search-form::after, .portfolios::after{
	content: "";
	display: table;
	float: none;
	clear: both;
}

/*--------------------------------------------------------------
## Overwriting
--------------------------------------------------------------*/
#colophon p{
	margin: 0;
}
.blueimp-gallery > div > a {
	display: none !important;
}

/* google maps */
.impuls_greymap_karte .info_text{width: 80%;max-width: 700px;margin: 0px auto;padding: 0px;position: absolute;left: 50%;top: 50%;transform: translate(-50%, -50%);}