/*
Theme Name: Perfekta Main Desktop Theme
Theme URI: http://underscores.me/
Author: Impuls Werbeagentur GmbH
Author URI: https://www.werbeagentur-impuls.de
Description: Desktop Theme für die Webseite www.perfekta.de
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: perfekta_main
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.

Perfekta Main Desktop Theme is based on Underscores http://underscores.me/, (C) 2012-2016 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 http://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
--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Normalize
--------------------------------------------------------------*/
html {
	font-family: 'Source Serif Pro', serif;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust:     100%;
	font-size: 20px;
}

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
--------------------------------------------------------------*/

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

body,
button,
input,
select,
optgroup,
textarea {
	color: #000;
	font-family: 'Source Serif Pro', serif;
	font-size: 20px;
	font-size: 1rem;
	line-height: 1.5;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	position: relative;
	padding: 0.4em 0.05em;
	text-transform: uppercase;
	font-family: 'Source Sans Pro', sans-serif;
	color: #009ee3;
	/*clear: both;*/
}

h1:before,
h2:before,
h3:before,
h4:before,
h5:before,
h1:after,
h2:after,
h3:after,
h4:after,
h5:after {
	content: '';
	display:block;
	height: 0.13em;
	width: 4em;
	background: #009ee3;
	position: absolute;
	left:0;
	top: 0;
}

.ImpulsSlider_Description h3:before,
.ImpulsSlider_Description h3:after,
h1:before,
h2:before,
h1:after,
h2:after {
	height: 5px;
}

h3:before,
h4:before,
h5:before,
h3:after,
h4:after,
h5:after {
	width: 3em;
	height: 3px;
}

h1:after,
h2:after,
h3:after,
h4:after,
h5:after {
	top: auto;
	bottom: 0;
}


.ImpulsSlider_Description h3,
h1,
h2 {
	font-size:2.1em;
	line-height: 1.2em;
}

h3 {
	
}

h4 {
	font-size: 1.1em;
}

h6 {
	font-size: 1em;
	padding: 0;
	margin-bottom: 1.5em;
}

p {
	margin: 1.5em 0 0;
	
}

h1:first-child,
h2:first-child,
h3:first-child,
h4:first-child,
h5:first-child,
h6:first-child,
p:first-child {
	margin-top:0;
}

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 http://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. */
}

blockquote:before,
blockquote:after,
q:before,
q:after {
	content: "";
}

blockquote,
q {
	quotes: "" "";
}

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

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

ul {
	list-style: disc;
}

ol {
	list-style: decimal;
}

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

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, .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:focus,
input[type="button"]:focus,
input[type="reset"]:focus,
input[type="submit"]:focus,
button:active,
input[type="button"]:active,
input[type="reset"]:active,
input[type="submit"]:active {
	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;
}

select {
	border: 1px solid #ccc;
}

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;
}

textarea {
	width: 100%;
}

/*--------------------------------------------------------------
# Navigation
--------------------------------------------------------------*/
/*--------------------------------------------------------------
## Links
--------------------------------------------------------------*/
a/*, a:visited*/ {
	color: #009ee3;
	outline: 0;
	transition: all ease-in-out .3s;
	font-family: 'Source Sans Pro', sans-serif;
	text-decoration:none;
}

a:hover,
a:focus,
a:active {
	color: #1f4d8c;
	outline: 0;
}

a.tel.massive {
	font-size: 2em;
	font-weight: bold;
}

a.more-link {
	display: block;
}

a[class*="more"] {
	font-weight: bold;
}

.pseudo-link [class*="icon-"],
.sidebar li:before,
a[class*="more"]:before {
	position: relative;
	top: .2rem;
	margin-right: 0.25rem;
	
	font-size: 1.2em;
}

[class*="title"] > a {
	color: #1f4d8c;
}

[class*="title"] > a:hover {
	color: #009ee3;
}

.archive [class*="title"] > a {
	color: #009ee3;
}

.archive [class*="title"] > a:hover {
	color: #1f4d8c;
}

.archive .entry-content .entry-meta+p{
	margin-top: .5em;
}

/*--------------------------------------------------------------
## Menus
--------------------------------------------------------------*/
.main-navigation {
	font-size: 0.8em;
	font-weight: bold;
}

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

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

.main-navigation li.ultra-width {
	/* intial is not default... default is static! */
	position: static;
}
.main-navigation > div > ul > li:not(.menu-item-has-children)::before{
	content: none;
	display: none;
}
.main-navigation > div > ul > li:before {
	content: '';
	display:block;
	position:relative;	
	width: 70px;
	height: 70px;
	top: 51px;
	margin:0 auto -70px;
	
	border: 35px solid #F9F9F9;
	border-top-color: rgba(255,255,255,0);
	border-right-color: rgba(255,255,255,0);
	border-left-color: rgba(255,255,255,0);
	
	opacity: 0;
	transition: opacity ease-in-out .3s, bottom ease-in-out 0s .3s;
}
.scrolled .main-navigation > div > ul > li:before {
	top: 10px;
}

.main-navigation > div > ul > li:hover:before {
	bottom:-35px;
	opacity: 1;
	transition: opacity ease-in-out .3s, bottom ease-in-out 0s 0s;
}
.main-navigation > div > ul > li:last-child:before {
	display:none;
}

.tablet .main-navigation > div > ul > li:before {
	display:none;
}
.tablet .main-navigation > div > ul > li:hover:before {
	display:block;
}

 .main-navigation a {
	display: block;
	text-decoration: none;
	padding: 1.5rem 0.5rem 1.75rem;
	line-height: 1.3em;
	color: #000;
	position: relative;
	display: inline-block;
	z-index: 12;
}

.scrolled .main-navigation a {
	padding-top: 0.6rem;
	padding-bottom: 0.6rem;
}

.main-navigation > div > ul > li:nth-last-of-type(1) > a {
	padding-right: 0;
}

.main-navigation ul ul {
	background: #F9F9F9;
	float: left;
	position: absolute;
	top: 100%;
	right: -999em;
	margin-top: 35px;
	z-index: 99999;
	opacity: 0;
	/*font-size: 0.9rem;*/
	padding: 1rem 0;
	visibility: hidden;
	transition: opacity ease-in-out .3s, right ease-in-out 0.000001s .3s,  visibility ease-in-out .3s;
}

.tablet .main-navigation ul ul {
	display:none;
}

.main-navigation ul .ultra-width ul {
	width: 60rem;
}

.main-navigation ul ul:before {
	content: '';
	position: absolute;
	display: block;
	width: 100%;
	height: 35px;
	left: 0px;
	top:-35px;
}

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

.main-navigation ul ul a {
	min-width: 200px;
	width: 360px;
	max-width: 360px;
	padding: 0.5rem 2rem 0.5rem 2rem;
}

.main-navigation ul ul li[class*="icon-"] a,
.main-navigation ul .ultra-width ul a {
	width: 400px;
	max-width: 400px;
}

.main-navigation ul ul li {
	margin-left: 0;
	position: relative;
}

.main-navigation ul ul li:before {
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	font-size: 2rem;
	line-height: 1em;
	text-align: center;
	width: 100px;
	height: 100%;
	padding: 1rem 0.7rem 1rem 1.3rem;
	transition: color ease-in-out .3s;
	color: #1f4d8c;
}

.wrapper > .textwidget:after {
	display: table;
	content: "";
	clear: both;
}

.main-navigation ul ul li[class*="icon-"] a {
	padding: 1.5rem 1rem 1.5rem 5rem;
}

.main-navigation ul .ultra-width ul li {
	float: left;
}

.main-navigation ul ul li:hover:before,
.main-navigation li:hover > a,
.main-navigation li.focus > a {
	color: #009ee3;
}

.main-navigation ul ul :hover > a,
.main-navigation ul ul .focus > a {
}

.main-navigation ul ul a:hover,
.main-navigation ul ul a.focus {
}

.main-navigation ul li:hover > ul,
.main-navigation ul li.focus > ul {
	right: calc(50% - 9rem);
	opacity: 1;
	visibility: visible;
	transition: opacity ease-in-out .3s, right ease-in-out 0s 0s;
}

.tablet .main-navigation ul li:hover > ul,
.tablet .main-navigation ul li.focus > ul {
	display: block;
}

.main-navigation ul li.ultra-width:hover > ul,
.main-navigation ul li.ultra-width.focus > ul,
.main-navigation > div > ul > li:nth-last-of-type(1):hover > ul,
.main-navigation > div > ul > li.focus:nth-last-of-type(1) > ul {
	right: 0;
}

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

.main-navigation [class*="current"]:before,
.main-navigation [class*="current"] > a,
.main-navigation .current_page_item > a,
.main-navigation .current-menu-item > a,
.main-navigation .current_page_ancestor > a,
.main-navigation .current-menu-ancestor > a {
	color: #009ee3;
}

body .main-navigation ul ul ul {
     display: block;
     width: 100%;
     margin-left: 40px;
     margin-top: -20px;
     left:100%;
     right:0;
     
}

body .main-navigation ul ul li.menu-item-has-children > ul::before{
     transition: all ease-in-out .3s;
     opacity: 0;
     visibility: hidden;
     content: '';
     display: block;
     position: absolute;
     width: 70px;
     height: 70px;
     left: -80px;
     top: 0;
     margin: 0 auto -70px;
     border: 40px solid #F9F9F9;
     border-top-color: rgba(255,255,255,0);
     border-right-color: rgba(255,255,255,0);
     border-left-color: rgba(255,255,255,0);
     transform: rotate(-90deg);
}

body .main-navigation ul ul li.menu-item-has-children:hover > ul::before{
     opacity: 1;
     visibility: visible;
}

/* Small menu. */

.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 {
	clip: rect(1px, 1px, 1px, 1px);
	position: absolute !important;
	height: 1px;
	width: 1px;
	overflow: hidden;
	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;
	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;
}

/* Make sure select elements fit in widgets. */
.widget select {
	max-width: 100%;
}

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

.hentry {
	margin: 0;
}

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

.page-content,
.entry-content,
.entry-summary {
	margin: 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, /* Older / Newer Posts Navigation (always hidden) */
.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%;
	border: 0 !important;
}

/* 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.33333%;
}

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

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

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

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

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

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

.gallery-caption {
	display: block;
}

/*--------------------------------------------------------------
## Developer Customs
--------------------------------------------------------------*/

/* ROW & COL Shortcode*/

.site-main .comment-navigation,
.site-main .posts-navigation,
.site-main .post-navigation,
.row {
	position: relative;
	padding: 0;
	width: 100%;
}

.row {
	padding: 100px 0 50px;
}

.site-main div.row {
	padding-top: 65px;
}

.site-header,
.post-header,
.ribbon,
.breadcrumb {
	padding: 0;
}

.site-main .comment-navigation .nav-links,
.site-main .posts-navigation .nav-links,
.site-main .post-navigation .nav-links,
.row > .wrapper {
	max-width: 1200px;
	margin: 0 auto;
}

.col {
	min-height: 1px;
	padding: 0px;
}

.col,
.left,
.col.left {
	float: left;	
}

.right,
.col.right {
	float: right;
}

.col.auto {
	width: auto;
}

.col > img:nth-of-type(1) {
	display: block;
}

.col1_1{
	width: 100%;
}

.col1_2, .col2_4,
.col3_6, .col4_8 {
	width: calc((100% / 2 - 10px));
	margin-right: 20px;
}

.col1_2:nth-of-type(2n+2), .col2_4:nth-of-type(2n+2),
.col3_6:nth-of-type(2n+2), .col4_8:nth-of-type(2n+2) {
	margin-right: 0;
}

.col1_3, .col2_6 {
	width: calc(100% / 3);
}

.col2_3, .col4_6 {
	width: calc((100% / 3) * 2)
}

.col1_4, .col2_8 {
	width: calc(100% / 4);
}

.col3_4, .col6_8 {
	width: calc(100% * 0.75);
}

.col1_5 {
	width: calc(100% / 5);
}

.col2_5 {
	width: calc(100% * 0.4);
}

.col3_5 {
	width: calc(100% * 0.6);
}

.col4_5 {
	width: calc(100% * 0.8);
}

.col1_6 {
	width: calc(100% / 6);
}

.col5_6 {
	width: calc((100% / 6) * 5);
}

.col1_8 {
  width: calc(100% / 8);
}

.col3_8 {
  width: calc(100% * 0.375);
}

.col5_8 {
  width: calc(100% * 0.625);
}

.col7_8 {
  width: calc(100% * 0.875);
}

/* Clearings */
.posts-navigation:after,
.post-navigation:after,
.main-navigation:after,
.row:after, .col:after,
.row > .wrapper:after,
.main-navigation ul ul:after,
.main-navigation .menu:after,
[class*="milestone-"]:after {
	display: block;
	visibility: hidden;
	height:0;
	content:'';
	clear: both;
}

/* Basics */

.site {
	min-width: 1240px;
	overflow: hidden;
}

.site-main > div.row:nth-of-type(1) {
	padding-bottom: 0;
}

.row > .wrapper {
	min-width: 1200px;
}

.wrapper .row {
	position: initial;
}

.wrapper .row > .wrapper {
	min-width: 0;
}

.entry-content .row:not(.spezial) .col {
	padding: 0 2.5%;
}

.entry-content .row .col:nth-of-type(1),
.entry-content .row .col:first-child,
.row .col:nth-of-type(1),
.row .col:first-child {
	padding-left: 0;
}

.entry-content .row .col:nth-last-of-type(1),
.entry-content .row .col:last-child,
.row .col:nth-last-of-type(1),
.row .col:last-child {
	padding-right: 0;
}

img[src=''] {
	display:none;
}
img[alt="dummy"] {
	opacity: 0;
}

.widget h1,
.widget h2,
.widget h3,
.widget h4,
.widget h5,
.widget h6 {
	margin:0 0 1.5em;
}

.theme-color-bg {
	color: #FFF;
	background: #009ee0;
}

.whitey {
	margin-bottom: 0.5rem;
}

.white-fg,
.white-fg *,
.white-fg h2:before,
.white-fg h2:after {
	color: #FFF;
}

.white-fg h2:before,
.white-fg h2:after {
	background: #FFF;
}

/* RIBBON */
.ribbon {
	width: 100%;
	overflow: hidden;
	height: 0.5rem;
	background: #F7Bf7C;
}

.ribbon:before {
	content: '';
	display:block;
	position: absolute;
	height: 100%;
	width: 50%;
	left: 0;
	top: 0;
	background:#1F368C;
}

.ribbon a {
	transition: none;
	font-size: 0;
	height: 0.5rem;
	position: relative;
	
	z-index: 13;
}

.ribbon .col {
	width: calc(100% / 9);
}

.ribbon .nth-2 {
	animation: ribbon-nth-2 3s linear 0s infinite alternate;
	width: calc(100% * (178 / 1200));
}
.ribbon .nth-3 {
	animation: ribbon-nth-3 3s linear 0s infinite alternate;
	width: calc(100% * (106 / 1200));
}
.ribbon .nth-4 {
	animation: ribbon-nth-4 3s linear 0s infinite alternate;
	width: calc(100% * (106 / 1200));
}
.ribbon .nth-5 {
	animation: ribbon-nth-5 3s linear 0s infinite alternate;
	width: calc(100% * (34 / 1200));
}
.ribbon .nth-6 {
	animation: ribbon-nth-6 3s linear 0s infinite alternate;
	width: calc(100% * (352 / 1200));
}
.ribbon .nth-7 {
	animation: ribbon-nth-7 3s linear 0s infinite alternate;
	width: calc(100% * (106 / 1200));
}
.ribbon .nth-8 {
	animation: ribbon-nth-8 3s linear 0s infinite alternate;
	width: calc(100% * (34 / 1200));
}
.ribbon .nth-9 {
	animation: ribbon-nth-9 3s linear 0s infinite alternate;
	width: calc(100% * (106 / 1200));
}
.ribbon .nth-10 {
	animation: ribbon-nth-10 3s linear 0s infinite alternate;
	width: calc(100% * (178 / 1200));
}

.ribbon a:nth-of-type(1),
.ribbon a:nth-last-of-type(1) {
	position: absolute;
	width: 100%;
	top: 0;
	
	z-index:12;
}

.ribbon a:nth-of-type(1) {
	right: calc(50% + 600px);
}
.ribbon a:nth-last-of-type(1) {
	left: calc(50% + 600px);
}

/* Header */

.site-header {
	position: fixed;
	background: rgba(255,255,255,1);
	min-width: 1240px;
	/*transition: all ease-in-out .3s;*/
	font-family: 'Source Sans Pro', sans-serif;
	
	z-index: 1321;
}

.tablet .site-header{
	position:absolute;
	overflow:hidden;
}

.scrolled .site-header {
	
}

.site-header > .wrapper {
	padding: 2rem 0rem 0rem;
	position: relative;
	transition: padding ease-in-out .3s;
}

.scrolled .site-header > .wrapper {
	padding-top: 0.7rem;
}

.site-branding .site-title {
	font-size: 1em;
	line-height: 1em;
	margin: 0;
	padding: 0;
}

.site-title:before,
.site-title:after {
	content: none;
	display: none;
}

.site-branding a,
.site-branding img {
	display:block;
	max-width: 258px;
	max-height: 48px; /* IE DOWNRANK */
	width: 100%;
	height: auto;
	transition: max-height ease-in-out .3s, max-width ease-in-out .3s; /* IE DOWNRANK*/
}

.scrolled .site-branding img {
	max-width: 177px;
	max-height: 33px;
}

.site-header .main-navigation {
	margin-right: 0;	
}

.search-it {
	color: #b4b4b4;
	font-size: 0.8em;
	line-height: 1.3em;
	font-family: inherit;
	float:right;
	margin-top: 30px;
	transition: margin ease-in-out .3s;
}

.network_form_holder.filters {
	position: absolute;
	right: 0;
	margin-top: -102px;
	width: auto;
}

.network_form_holder.filters select{
   -webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border:1px solid #009ee3;
	border-radius: 0;
	font-size: 1em;
	width: 100%;
   background: #FFF url(img/select-arrow.png) right 9px no-repeat;
   position: relative;
   color: #009ee3;
   padding: 0 33px 0 5px;
   line-height: 30px;
   margin-bottom: 10px;
   font-family: 'Source Sans Pro', sans-serif;
   cursor: pointer;
}

.network_form_holder.filters select:focus,
.network_form_holder.filters select option:focus{
	outline: none;
}

.network_form_holder.filters select::-ms-expand {
  display:none;
}

.qtranxs_widget{
	display: none;
}
.qtranxs_widget ul { margin: 0; }
.qtranxs_widget ul li
{
display: inline; /* horizontal list, use "list-item" or other appropriate value for vertical list */
list-style-type: none; /* use "initial" or other to enable bullets */
margin: 0 5px 0 0; /* adjust spacing between items */
opacity: 0.5;
-o-transition: 1s ease opacity;
-moz-transition: 1s ease opacity;
-webkit-transition: 1s ease opacity;
transition: 1s ease opacity;
}
/* .qtranxs_widget ul li span { margin: 0 5px 0 0; } */ /* other way to control spacing */
.qtranxs_widget ul li.active { opacity: 0.8; }
.qtranxs_widget ul li:hover { opacity: 1; }
.qtranxs_widget img { box-shadow: none; vertical-align: middle; display: initial; }
.qtranxs_flag { height:12px; width:18px; display:block; }
.qtranxs_flag_and_text { padding-left:20px; }
.qtranxs_flag span { display:none; }


.scrolled .search-it {
	margin-top: 0.6rem;
	margin-right: 3.5rem;
}

.qtranxs_widget {
	position: absolute;
	top: 1em;
	right: 0;
}

.qtranxs_widget h2 {
	display: none;
}

.site-header .qtranxs_widget ul li {
	margin: 0;
	padding: 0;
	text-transform: uppercase;
	font-size: 0.8em;
}

.qtranxs_widget li a {
	color: #b4b4b4;
}

.qtranxs_widget li span.hier-kommt-die-bar,
.qtranxs_widget li.active a {
	color: #828282;
}

.qtranxs_widget ul li:first-child span {
	display:none;
}

/* Content */

.post-header {
	margin-top: 135px;
	height: 350px;
	background-size:2000px;
	background-size: cover;
	background-position: center top;
}

.home .post-header {
	height: 700px;
}

.post-header iframe {
	height: 100%;
	width: 100%;
	pointer-events: none;
}

.ImpulsSlider_outerwrap,
.ImpulsSlider, .ImpulsSlider_Wrap {
	height: 100%;
	width: 100%;
}

.ImpulsSlider_Wrap {
	background-size:2000px;
	background-size: cover;
	background-position: center;
}

.ImpulsSlider_Description {
	position:absolute;
	display:block;
	width:580px;
	height:auto;
	padding: 2rem;
	bottom: 15%;
	left: calc(50% - 600px);
	color: #FFF;
	font-family: 'Source Sans Pro', sans-serif;
}

.ImpulsSlider_Description h3 {
	color: inherit;
	margin: 0 0 1.2rem;
}

.ImpulsSlider_Description h3:before,
.ImpulsSlider_Description h3:after {
	background: #FFF;
	width: 168px;
}

.ImpulsSlider_Description p {
	color: inherit;
}

.ImpulsSlider_Description a[class*="more"] {
	display:inline-block;
	color: inherit;
}

.ImpulsSlider_Description a[class*="more"]:hover {
	color: #333;
}

.drive {
	font-family: 'Source Sans Pro', sans-serif;
	font-weight: bold;
	text-align: center;
	margin-top: 0.5rem;
	padding-top: 50px;
	position: relative;
	background: rgba(0, 158, 224, 0);
	transition: background ease-in-out .5s;
}

.step .drive {
	background: rgba(0, 158, 224, 1);
}

.drive:before {
	content: '';
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	left:0;
	top:0;
	z-index: 0;
	background:#fff;
	transition: left ease-in-out .5s;
}

.step .drive:before {
	left: 100%;
}

.drive div {
	position: relative;
	z-index: 2;
}

.drive img,
.drive svg {
	display:block;
	height: 3.3rem;
	width: 800px;
	margin: 0 auto 1rem;
}

.drive img,
.drive svg g {
	overflow: visible;
	opacity: 0;
	transition: all ease-in-out .3s .5s;
	-ms-transform: scale(1.4); /* IE 9 */
    -ms-transform-origin: 50% 50%; /* IE 9 */
    -webkit-transform: scale(1.4); /* Chrome, Safari, Opera */
    -webkit-transform-origin: 50% 50%; /* Chrome, Safari, Opera */
    transform: scale(1.4);
    transform-origin: 50% 50%;
}

.drive svg g {
	top: 0;
	position: absolute;
}

.step .drive img,
.step .drive svg g:nth-of-type(1) {
	opacity: 1;
	transform: scale(1);
	-ms-transform: scale(1);
	-webkit-transform: scale(1);
}

.step .drive svg g:nth-of-type(2) {
	opacity: 1;
	transform: scale(1);
	-ms-transform: scale(1);
	-webkit-transform: scale(1);
	transition: all ease-in-out .3s 1s;
}

.step .drive svg g:nth-of-type(3) {
	opacity: 1;
	transform: scale(1);
	-ms-transform: scale(1);
	-webkit-transform: scale(1);
	transition: all ease-in-out .3s 1.5s;
}

.drive p:last-child {
	margin-top: 0;
}

.loc-info {
	margin-right: 0.25rem;
}

.home-crumb,
.bc-cut:nth-of-type(1) {
	display: none;
}

.empty-crumb:before{
	content: 'DOLLA WIE HALDFEE';
	display:inline-block;
	text-indent: -999em;
}

.breadcrumb {
	font-family: 'Source Sans Pro', sans-serif;
	font-size: 0.75em;
	color: #828282;
	margin-top: 1em;
}

.breadcrumb .bc-cut {
	position: relative;
	display: inline-block;
	margin: auto 0.25rem;
	top: 1px;
	left: 2px;
	font-size: 0.9em;
	transform: rotate(90deg);
}

.home-crumb + .bc-cut {
	display:none;
}

.breadcrumb a {
	color: inherit;
}

.breadcrumb a:hover,
.breadcrumb a:active,
.breadcrumb a:focus {
	color: #1f4d8c;
}

.sidebar {
	/* padding: 1.75em 0 1.70rem 1.70rem; */
	padding: 1.75em 0 0 1.70rem;
	width: calc(100% * 0.25 + 0.25rem);
	margin-bottom: 40px;
	
	font-size: 0.9em;
	color: #828282;
	
	background-image: url(img/dot-line.png);
	background-position: left top;
	background-repeat: repeat-y;
}

.sidebar h3 {
	margin-bottom: 0.5rem;
}

.sidebar a {
	font-family: inherit;
	color: inherit;
}

.sidebar .widget_nav_menu {
	margin: 1em 0 2.5em;
}

.sidebar ul, .sidebar li {
	list-style: none;
	margin-left:0;
	padding-left: 0;
	position: relative;
}

.sidebar li:before,
.sidebar li a {
	transition: all ease-in-out .3s;
}

.sidebar li:before {
	position: absolute;
	font-size: 1.3em;
	width: 2rem;
	top: 0.4rem;
	text-align: center;
}

.sidebar li a {
	display:block;
	padding: 0.3rem 0 0.3rem 2rem;
}

.sidebar li:hover:before,
.sidebar li:hover a,
.sidebar li:hover a,
.sidebar li:hover a {
	color: #009ee3;
}

.sidebar li[class*="current"]:before,
.sidebar li[class*="current"] a {
	color: #009ee3;
}

.sidebar .widget:nth-last-of-type(1) p:last-child {
	line-height: 0;
}

.post-content {
	position: relative;
	margin-right: 1.5rem;
	width: calc(100% * 0.75 - 1.75rem);
}

body.search.blogid-1 article.post.row:first-child,
body:not(.blogid-1) .products_wrap article.post.row:nth-child(2),
.archive article.post:first-child {
	padding-top:0;
}

article.page {
	padding-top: 0;
}

.search article.post.row,
.archive article.post{
	padding-top: 50px;
}

.search article.post:last-child,
.archive article.post:last-child {
	padding-bottom: 50px;
}

.single article.post/*,
.row article.page*/ {
	padding: 0;
}

.single .entry-content.has_thumb ul{
	float: left;
}

.single .entry-content.has_thumb ul::after{
	content: "";
	display: block;
	clear: both;
	float: none;
}

.single .entry-content.has_thumb ul + *{
	clear: both;
	float: none;
}

article.row > .wrapper {
	/*position: relative;*/
}

.has-bg {
	/*position:absolute;*/
	height: 100%;
	min-height: 976px;
}

.archive article.row:nth-of-type(1) .sidebar {
	position: absolute;
	right: 0;
}

article.row:nth-of-type(1n+2) .sidebar {
	display:none;
}

.box {
	position: relative;
	padding-top: calc((150 / 380) * (((100% / 3) + (1.5rem / 3)) - 1.5rem));
	width: calc(((100% / 3) + (1.5rem / 3)) - 1.5rem);
	margin: 1.5rem 1.5rem 0 0;
	float:left;
		
	font-family: 'Source Sans Pro', sans-serif;
}

.box:nth-of-type(1),
.box:nth-of-type(2),
.box:nth-of-type(3) {
	margin-top:0;
}

.box:nth-of-type(3n+3) {
	margin-right: 0;
}

.box a /*,
.box a:visited*/ {
	color: #FFF;
	position: absolute;
	display: block;
	height: 100%;
	width: 100%;
	top: 0;
	background-clip: content-box;
	text-align: center;
	vertical-align: middle;
	font-weight: bold;
}

.box a:hover,
.box a:focus,
.box a:active {
	/*background-color: #FFF;
	color: #c80d38;*/
}

.box a > span {
	display: block;
	height: 100%;
	width: 100%;
	padding: 3%;
	background: rgba(0,0,0,.2);
}

.box a > span:nth-of-type(1) {
	position: absolute;
	transform: rotateY(0deg);
	transition: all ease-in-out .2s .2s;
}

.box a:hover > span:nth-of-type(1) {
	transform: rotateY(90deg);
	transition: all ease-in-out .2s 0s;
}

/* IE 9 HACK */
.box a:hover > span:nth-of-type(1) {
	display: none\9;
}

.tablet .box a:hover > span:nth-of-type(1) {
	display:none;
}

.box a > span:nth-last-of-type(1) {
	transform: rotateY(-90deg);
	transition: all ease-in-out .2s 0s;
	/*background: #ededed;*/
}

.box a > span:nth-last-of-type(1) {
	display:none\9;
}

.tablet .box a > span:nth-last-of-type(1) {
	display: none;
}

.box a:hover > span:nth-last-of-type(1) {
	transform: rotateY(0.00001deg);
	transition: all ease-in-out .2s .2s;
}

.box a:hover > span:nth-last-of-type(1) {
	display:block\9;
}

.tablet .box a:hover > span:nth-last-of-type(1) {
	display: block;
}



.box .pseudo-link,
.box img,
.box span > span[class*="icon-"]:not(.icon-pfeil-rechts),
.box .preview-title {
	position: absolute;
	left: 0;
	width: 94%;
	margin: 0 3%;	
}

.box img,
.box span > span[class*="icon-"]:not(.icon-pfeil-rechts) {
	top: 20%;
	color: inherit;
	font-size: 2.9em;
}

.box img,
.box svg {
	max-width: 60%;
	max-height: 60px;
	margin: auto;
	right: 0;
}

.box .pseudo-link,
.box .preview-title {
	bottom: 20%;
}

.news h2 {
	width: 50%;	
}

.preview {
	position: relative;
	width: calc(((100% / 4) + (0.2rem / 4)) - 0.2rem);
	margin-right: 0.2rem;
	font-size: 0.95em;
	margin-top: 2rem;
}

.preview:nth-of-type(1),
.preview:nth-of-type(2),
.preview:nth-of-type(3),
.preview:nth-of-type(4) {
	margin-top: 0;
}

.preview:nth-of-type(4n+4) {
	margin-right: 0;
}

.preview .entry-header,
.preview .entry-content {
	padding-right: 1rem;
}

.preview .entry-content{
	padding-bottom:50px;
}

.preview .entry-header {
	font-family: 'Source Sans Pro', sans-serif;
}

.preview .thumb {
	display:block;
	max-width: 297px;
	max-height: 297px;
	overflow: hidden;
	margin-bottom: .3rem;
}

.preview .thumb,
.preview .thumb img {
	min-width: 297px;
	height: 297px;
}

.preview .thumb img {
	transition: transform ease-in-out .3s;
	transform: scale(1);
}

.preview .thumb:hover img {
	transform: scale(1.1);
}

.preview .entry-title {
	color: #1f4d8c;
	font-size: 1.15rem;
	line-height: 1.2em;
	padding: 0;
	text-transform: none;
	margin: 0;
}

.preview .entry-title:before,
.preview .entry-title:after {
	display: none;
}

.preview p {
	margin-bottom: 1.5em;
}

.preview a[class*="more"] {
	position: absolute;
	bottom: 0px;
}

.preview .entry-footer {
	position: absolute;
	bottom: -1.5em;
}

.gray {
	background: #ededed;
}

.posted-on a {
	font-size: 0.75rem;
	color: #000;
}

.posted-on a:hover {
	color: #1f4d8c;
}


time.updated,
.cat-links,
.byline {
	display: none;
}


#milestones-timeline {
	margin-top: 1.5em;
	position: relative;
	margin-bottom: 50px;
}

#milestones-timeline ul{
	padding-left: 20px;
}

#milestones-timeline .milestone h3::after,
#milestones-timeline .milestone h3::before{
	content:none;
}

#milestones-timeline .milestone h3{
	display: inline-block;
	width: auto;
	color: #ffffff;
	background: #009ee3;
	border: 5px solid white;
	border-radius: 100%;
	padding: 12px 5px;
	position: absolute;
	left: 46.3%;
}

#milestones-timeline .line{
	background: #009ee3;
	width: 5px;
	position: absolute;
	left: 50%;
	right: 0;
	top: 0;
	bottom: 0;
	height: 100%;
}

#milestones-timeline.has-h3 .line{
	margin-top: 120px;
	height: 98%;
}

#milestones-timeline h2 {
	background: #FFF;
	/*position:relative;*/
}

h3 > .stroke {
	position: absolute;
  display: inline-block;
  color: #1f4d8c;
  left: -27px;
  vertical-align: middle;
  font-size: 1.7em;
  line-height: 0.8;
	-webkit-pointer-events: none;
	-moz-pointer-events: none;
	pointer-events: none;
}

[class*="milestone-"] > div {
	display: table;
	min-height: calc(297px + 50px);
	padding-bottom: 50px;
}

#milestones-timeline .milestone.even .tl-cont,
#milestones-timeline .milestone.odd .tl-images{
	float: left;
}

#milestones-timeline .milestone.even .tl-images,
#milestones-timeline .milestone.odd .tl-cont{
	float: right;
}

[class*="milestone-"] > div > .tl-cont{
	width:40%;
}

[class*="milestone-"]:last-child > .tl-cont{
	min-height: 200px;
}

#milestones-timeline .data{
	width:100%;
}

#milestones-timeline .data,
#milestones-timeline .data-wrapper .datemarker{
	opacity: 1;
	-webkit-transition: all 0.5s ease-in-out 0s;
	-moz-transition: all 0.5s ease-in-out 0s;
	-o-transition: all 0.5s ease-in-out 0s;
	transition: all 0.5s ease-in-out 0s;
}

#milestones-timeline .data.hidden,
#milestones-timeline .data-wrapper .datemarker.hidden{
	opacity: 0;
}




/*[class*="milestone-"]:nth-last-of-type(1) > div {
	padding-bottom: 0;
}*/

/* STANDORTE!! */

.site-main .wrapper .my-maps.row {
	position: relative;
	padding-bottom:0;
}

.my-maps .map {
	float: left;
	position:relative;
}

.my-maps .map img {
	display: block;
	max-width: 400px;
}

.my-maps .pin {
	position: absolute;
	opacity: 0.7;
	transition: opacity ease-in-out .3s 0s;
}

.my-maps .pin:hover,
.my-maps .pin.active{
	opacity: 1;
}

.my-maps .pin.active a{
	background-color:#ffffff !important;
	z-index: 9999;
}

.my-maps .loc{
	width: calc(100% / 1.8);
	position: absolute;
	top: 100px;
	opacity: 0;
	visibility: hidden;
	transition: opacity ease-in-out .3s 0s,  visibility ease-in-out .3s 0s;
}

.my-maps .loc.active{
	opacity: 1;
	visibility: visible;
}

.my-maps label > a{
	position:relative;
	width: 100%;
	height: 100%;
	display: block;
	border-radius: 20px;
	cursor: pointer;
}

.my-maps .loc{
	padding-bottom: 40px;
}

/* noch kein richtiger wert!*/
.my-maps .pin.normal {
	height:20px;
	width:20px;
}
/* noch kein richtiger wert!*/
.my-maps .pin.big {
	height:30px;
	width:30px;
}
/* noch kein richtiger wert!*/
.my-maps .pin.small {
	height:10px;
	width:10px;
}

/* GM-Lite */

body .gallery-lightbox-container .title-description .description,
body .gallery-lightbox-container a[title*="Upgrade"] {
	display: none !important;
}

/* Forms *
/* WPCF7 */

.search-it form,
.search-it label {
	position: relative;
}

.search-it label:before {
	/*color: #6E6E6E;*/
	position: absolute;
  width: 24px;
  height: 20px;
  bottom: 0;
  right: 0px;
  padding: 3px;
  text-align: center;
  vertical-align: middle;
  font-size: 0.65rem;
  font-weight: bold;
	z-index: 0;
}

.search-it input[type="search"] {
	background: rgba(255,255,255,0);
	font-family: inherit;
	font-size: inherit;
	line-height: inherit;
	color: #666; /*#b4b4b4;*/
	border: none;
	border-bottom: 1px solid #b4b4b4;
	-webkit-border-radius: 0;
	-moz-border-radius: 0;
	border-radius: 0;
	padding: 0 40px 0 0;
	/*margin-top: 30px;*/
	width: 11.5rem;
	
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

.search-it input[type="submit"] {
	position: absolute;
	right: 0;
	bottom: 0;
	background: rgba(255,255,255,0);
	border: none;
	text-indent: -9999px;
	width: 25px;
	height: 25px;
	opacity: 0;
	z-index: 1337;
}

.wpcf7 {
	font-size: inherit;
	position: relative;
}

.wpcf7-form {
	clear: both;
	padding-top: 1px;
}

.wpcf7 p {
	margin-bottom: 0;
	position: relative
}

.wpcf7 input,
.wpcf7 select,
.wpcf7 textarea {
	margin-right: 20px;
	margin-bottom: 20px;
	width: calc(50% - 10px);
	border: none;
	border-radius: 0;
	padding: 0.6em 1em 0.1em .1em;
	background: rgba(255,255,255,0);
	font-family: inherit;
	font-size: inherit;
	line-height: inherit;
	color: #666; /*#b4b4b4;*/
	border: none;
	resize: none;
	border-bottom: 2px solid #b4b4b4;
	-webkit-border-radius: 0;
	-moz-border-radius: 0;
	border-radius: 0;
}

.wpcf7 select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	
	background: #FFF url(img/pfeil.svg) no-repeat;
	background-size: 8%;
	background-position: right 20px center
}

.wpcf7 p > label:nth-of-type(2n+2) input {
	margin-right: 0;
}

.wpcf7 span.your-message {
	display: block;
}
.wpcf7 textarea {
	display: block;
	width: 100%;
	min-height: 265px;
	height: 150px;
	max-height: 265px;
	margin-right: 0;
}

.wpcf7 .wpcf7-list-item {
	margin: .625em 0 .625em 1.3em;
}

.wpcf7 p > span.captcha {
	float: none;
	width: calc(50% - 10px);
}

.wpcf7 .captchar input[type="text"] {
	margin-bottom: 0;
	width: 100%;
	padding-right: calc(3px + 94px + 0.625em);
}

.wpcf7 .captchac {
	position: absolute;
  z-index: 2;
  top: calc(50% - 10px);
  right: 3px;
  display: block;
	padding-left: 10px;
	padding-right: 5px;
	pointer-events:none;
}
.wpcf7 .captchac img {
	display: block;
}

.wpcf7 input[type="submit"] {
	margin-right: 0;
	padding: 0.6 1em 0.1em;
	transition: all ease-in-out .3s;
	float:right;
	background-color: #009ee3;
	color:white;
	border: 2px solid rgba(0,158,227,0)
}

.wpcf7 input[type="submit"]:hover,
.wpcf7 input[type="submit"]:focus,
.wpcf7 input[type="submit"]:active {
	color:#009ee3;
	background-color: #ffffff;
	border: 2px solid rgba(0,158,227,1)
}

.wpcf7 p > span {
	display: inline-block;
	margin-right: 8px;
	position: relative;
}

.wpcf7 p > span > span {
	display: block;
}

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

.wpcf7 .wpcf7-not-valid,
.wpcf7 div.wpcf7-response-output {
	border-color: #1f4d8c;
}


.wpcf7-form.invalid .wpcf7-checkbox.wpcf7-not-valid .wpcf7-list-item-label::before,
.wpcf7-form.invalid .wpcf7-form-control:not(.wpcf7-checkbox).wpcf7-not-valid{
	border-color: #1f4d8c;
}

.wpcf7-form input.wpcf7-form-control.wpcf7-submit[disabled],
.wpcf7-form input.wpcf7-form-control.wpcf7-submit[disabled]:hover{
	background-color: #636363;
	cursor: not-allowed;
}

.wpcf7-form .wpcf7-list-item{
	margin-left: 0;
	padding: 10px 0;
}

.wpcf7-form .wpcf7-list-item input{
	width: auto;
   float: left;
}

.wpcf7-form .wpcf7-list-item-label{
	float: right;
   width: auto;
	margin-top: -8px;
}

.wpcf7-form-control.wpcf7-acceptance{
	clear: both;
	background: none;
	padding: 0; margin: 0;
	height: auto;
}


.wpcf7 div.wpcf7-response-output {
	margin: 1.5em 0 0;
}

.wpcf7 span.ajax-loader {
	position: absolute;
	bottom: 10rem;
	left: calc(50% - 8px);
}

.wpcf7 ::-webkit-input-placeholder { 
  color: #000;
}
.wpcf7 ::-moz-placeholder {
   color: #000;
}
.wpcf7 :-ms-input-placeholder {
	color: #000;
}
.wpcf7 :-moz-placeholder {
	color: #000;
}

.wpcf7 .wpcf7-not-valid::-webkit-input-placeholder { 
  color: #009ee3;
}
.wpcf7 .wpcf7-not-valid::-moz-placeholder {
   color: #009ee3;
}
.wpcf7 .wpcf7-not-valid:-ms-input-placeholder {
	color: #009ee3;
}
.wpcf7 .wpcf7-not-valid:-moz-placeholder {
   color: #009ee3;
}

/* Footer */

.site-footer {
	color: #009ee3;
	font-family: 'Source Sans Pro', sans-serif;
	font-size:0.8em;
	padding-bottom: 0;
}

.site-footer .info {
	padding-top: 50px;
}

.site-footer .gray {
	padding: 0;
}

.site-footer h6 {
	padding: 0;
	text-transform: initial;
}

.site-footer .sitemap {
	padding: 1.5rem 0;
	color: #828282;
}

/* network_archive (combined) */

body.category-produkte #main .term_desc{
	padding-bottom: 30px;
}

.network_archive,
.products_wrap{
	margin-bottom: 40px;
	display: flex;
    align-content: space-between;
    flex-wrap: wrap;
    align-items: stretch;
}

.products_wrap {
	margin-bottom: 0;
}

#postnavigation {
	margin-bottom: 20px;
}

.network_archive::after,
.products_wrap::after{
	content: "";
	display: table;
	clear: both;
	float: none;
}

.products_wrap article{
	height: auto;
    display: block;
    float: left;
    margin-left: 20px;
    margin-bottom: 5px;
    width: calc((100% - 20px) / 2);
}

.products_wrap article .entry-image{
	float:left;
	margin-right: 10px;
}

body .products_wrap article .entry-content{
	float: left;
	padding-bottom: 0;
	font-size: 17px;
    width: calc(100% - 160px);
}

.products_wrap article h2::after,
.products_wrap article h2::before{
	content: none;
}

body .products_wrap article .entry-title{
	margin-bottom: 5px;
}

.network_archive a.post{
	height: auto;
	display: block;
	float: left;
	padding:20px;
	border:3px solid;
	margin-left: 2px;
	margin-bottom: 2px;
	width: calc((100% - 2px) / 2);
	transition: all ease-in-out .3s;
}

.network_archive a.post.blogid-1{
	border-color: #009ee3;
	background-color: #009ee3;
}

.network_archive a.post.blogid-1:hover,
.network_archive a.post.blogid-1:hover h2,
.network_archive a.post.blogid-1:hover span{
	color: #009ee3;
}

.network_archive a.post h2,
.products_wrap article h2{
	font-size: 1.4em;
}

.network_archive a.post h2::before,
.network_archive a.post h2::after{
	content: none;
}

.network_archive a.post .fromblog{
	display: block;
}

.network_archive a.post h2 > span,
.network_archive.archive [class*="title"] > span,
.network_archive a.post h2, .network_archive article p,
.network_archive a.post span, .network_archive article span{
	color:#ffffff;
}

.network_archive a.post:hover{
	cursor: pointer;
	background-color:#ffffff !important;
}

.products_wrap article:nth-child(2n+1),
.network_archive a.post:nth-child(2n+1){
	clear: both;
	margin-left: 0;
}

.network_archive + .pagination{
	padding-bottom: 40px;
}

.network_archive + .pagination .nav-links{
	width: auto;
	margin: 0 auto;
	text-align: center;
}

.network_archive + .pagination .nav-links .page-numbers{
	padding:8px 7px;
}

#postnavigation{
	text-align: center;
	font-size: 1.2rem;
}

#postnavigation .page-numbers{
	color: white;
	border: none;
	font-size: 22px;
	padding: 2px 12px;
	display: inline-block;
	font-family: 'Source Sans Pro';
	background-color: rgba(0,158,227,0.3);
}
#postnavigation .page-numbers:hover,
#postnavigation .page-numbers.current{
	background-color:rgba(0,158,227,1);
}

#postnavigation .page-numbers.prev,
#postnavigation .page-numbers.next{
	display: none;
}

/* sitemap */

.sitemap h4 {
	margin: 0;
	cursor: pointer;
	transition: all ease-in-out .3s;
}

.sitemap.collapsed h4:hover {
	color: #1f4d8c;
	transition: all ease-in-out .3s;
}

.sitemap h4:before,
.sitemap h4:after {
	width: 4.5em;
	height: 2px;
}

.sitemap.collapsed h4 span {
	position: relative;
	display: inline-block;
	transform: rotate(-180deg);
	margin: 0 .5rem;
	transition: transform ease-in-out .3s, top ease-in-out .3s;
	vertical-align: middle;
	top:0;
}

.sitemap.collapsed.open h4 span {
	transform: rotate(0deg);
	top:-2px;
}

.sitemap.collapsed .textwidget {
	max-height: 0;
	overflow: hidden;
	transition: all ease-in-out .3s;
}

.sitemap.collapsed.open .textwidget {
	max-height: 600px;
}

.sitemap .menu-hauptmenu-container {
	padding-top: 1.5rem;
}

.sitemap a {
	color: inherit;
}

.sitemap ul, 
.sitemap li {
	list-style: none;
	padding: 0;
	margin: 0;
}

.sitemap ul#menu-hauptmenu > li {
	font-weight: bold;
	width: calc(100% / 4);
	float: left;
}

.sitemap ul#menu-hauptmenu > li:last-child {
	margin-top: 1rem;
	float: right;
}

.sitemap ul#menu-hauptmenu > li > ul > li {
	font-weight: normal;
	font-size: 0.9em;
}

.sitemap ul#menu-hauptmenu li ul li ul {
	overflow: hidden;
	max-height: 0;
	transition: all ease-in-out .3s;
}

.sitemap ul#menu-hauptmenu li ul li.open > ul {
	max-height: 900px;
}

.tablet .sitemap ul#menu-hauptmenu li ul li > ul {
	display:none;
}

.tablet .sitemap ul#menu-hauptmenu li ul li.open > ul {
	display:block;
	max-height: 900px;
}

.sitemap li li {
	padding-left: 0.6rem;
}

.sitemap li[class*="icon-"]:before {
	display:none;
}


.sitemap li[class*="current"]:before,
.sitemap li[class*="current"] > a,
.sitemap li > a:hover {
	color: #009ee3;
}

.sitemap ul li li.menu-item-has-children a {
	margin-left: 0.1rem;
}

.sitemap li > span[class*="icon-"] {
	position: relative;
	top:-1px;
	display:inline-block;
	vertical-align: middle;
	text-align: center;
	width: 0.6rem;
	margin-left: -0.7rem;
	/*margin-right: 0.1rem;*/
	transform: rotate(180deg);
	transition: transform ease-in-out .3s, top ease-in-out .3s;
	cursor:pointer;
}

.sitemap li.open > span[class*="icon-"] {
	transform: rotate(0deg);
	left: 0px;
	/*top: 0;*/
}

.sitemap li:hover > span[class*="icon-"] {
	transform: rotate(90deg);
	left: 0px;
	/*top: 0;*/
}

.site-footer h6 {
	line-height: 1em;
}

.site-footer img {
	max-width: 252px;
	max-height: 88px; /* IE DOWNRANK */
	display: block;
}

.concept {
	width: calc(100% / 2);
	color: #818281;
	font-size: 0.9em;
	margin-top: 20px;
}

.concept a {
	color: inherit;
}

.concept a:hover {
	color: #009ee3;
}

/* Opacity transitions only */
.overlay::before, .overlay::after{
	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;
}

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

.overlay img{
	display: block;
}

/* overlay ::before used for icons */
/* font-styles only AV if used fontello with assigned class */
/* otherwise use content:""; and background-image */
.overlay::before{
	content: "";
	padding:0;
	width: 50px;
	height: 50px;
	opacity: 0;
	z-index: 10;
	color:white;
	display: block;
	top:50%; right:auto;
	bottom:auto; left:50%;
	position: absolute;
	visibility: hidden;
	background-image: url('img/arrow-right.svg');
	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(0,158,227,0.4);
}

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

.box .overlay::before, .box .overlay::after{
	content: none;
}

span.showspinner {
	display: block;
	width: 100%;
	height: 200px;
	background: url(img/ajax-loader.gif) center center no-repeat;
}

/* Animations */

@keyframes ribbon-nth-2 {
	0% {
		width: calc(100% * (178 / 1200));
	}
	100% {
		width: calc(100% / 10);
	}
}

@keyframes ribbon-nth-3 {
	0% {
		width: calc(100% * (106 / 1200));
	}
	100% {
		width: calc(100% / 10);
	}
}

@keyframes ribbon-nth-4 {
	0% {
		width: calc(100% * (106 / 1200));
	}
	100% {
		width: calc(100% / 10);
	}
}

@keyframes ribbon-nth-5 {
	0% {
		width: calc(100% * (34 / 1200));
	}
	100% {
		width: calc(100% / 10);
	}
}

@keyframes ribbon-nth-6 {
	0% {
		width: calc(100% * (352 / 1200));
	}
	100% {
		width: calc(100% / 5);
	}
}

@keyframes ribbon-nth-7 {
	0% {
		width: calc(100% * (106 / 1200));
	}
	100% {
		width: calc(100% / 10);
	}
}

@keyframes ribbon-nth-8 {
	0% {
		width: calc(100% * (34 / 1200));
	}
	100% {
		width: calc(100% / 10);
	}
}

@keyframes ribbon-nth-9 {
	0% {
		width: calc(100% * (106 / 1200));
	}
	100% {
		width: calc(100% / 10);
	}
}

@keyframes ribbon-nth-10 {
	0% {
		width: calc(100% * (178 / 1200) - 1px);
	}
	100% {
		width: calc((100% / 10) - 1px);
	}
}

/* ginger cookie banner */
body.blogid-1 .ginger_container.dark,
body.blogid-1 .ginger_container.light{
	color: #ffffff !important;
	background-color: #009ee0 !important;
}

body.blogid-1 .ginger_btn,
body.blogid-1 a.ginger_btn.ginger-accept,
body.blogid-1 a.ginger_btn.ginger-disable,
body.blogid-1 .ginger_container .ginger_btn,
body.blogid-1 .ginger_container .ginger_btn:visited{
	color:#ffffff;
	border-radius: 0;
	font-size: 16px !important;
	background-color: #1f4d8c !important;
	box-shadow: 0 0 0 0 !important;
}

body.blogid-1 .ginger_message{
	font-size: 16px !important;
	margin-top: .8em !important;
}

body.blogid-1 .ginger_message > a{
	color: #ffffff !important;
}

body.blogid-1 .ginger_message > a:hover{
	color: #000000 !important;
}

html body.blogid-1 .ginger-accept:hover,
html body.blogid-1 .ginger-dismiss:hover,
html body.blogid-1 .ginger-disable:hover,
html body.blogid-1 .ginger_container .ginger_btn:hover{
	color: #1f4d8c !important;
	background-color: #ffffff !important;
	webkit-box-shadow: none !important;
	-moz-box-shadow: none !important;
	box-shadow: none !important;
}
.textwidget a {
	color: #009ee3 !important;
}
.page-id-1119 .wrap ul p {
	margin-top: 0 !important;
}