/*
Theme Name: 	Designstudio Steffen Krummel
Theme URI: 		https://steffenkrummel.de
Author: 		Steffen Krummel
*/

/*
===========================
CONTENTS:

01 Reset
02 Sensible defaults
03 Typography
04 Forms 
05 Media queries 
===========================
*/

/* Google Fonts */
@import url('https://fonts.googleapis.com/css?family=Heebo:400,700,900&display=swap');

/* ICON Font */
@import url(css/iconfont.css);
@import url(css/social.css);

/* ICON Font */
@import url(css/swiper.min.css);

/* ---------------------------------------------------------------------------------------------------------- 
01 Reset ---------------------------------------------------------------------------------------------------- 
---------------------------------------------------------------------------------------------------------- */
/* Included here rather than seperate stylesheet to reduce server calls */

html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, 
code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, 
fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, 
figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video  { 
	margin:0; padding:0; border:0; outline:0; font-size:100%; vertical-align:baseline; background:transparent; 
}        
article, aside, details, figcaption, figure, footer, header, hgroup, nav, section  { display: block; }
audio, canvas, video  { display: inline-block; *display: inline; *zoom: 1; }
audio:not([controls]) { display: none; }
[hidden] { display: none; }
html { 
	font-size: 100%; overflow-y: scroll; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; 
}
body { margin: 0; }
h1, h2, h3, h4, h5, h6 { font-weight:normal; }          
a { color:#000; }
a:focus { outline: thin dotted; }
li { list-style:none; }
abbr[title] { border-bottom:none; }
b, strong { font-weight: 700; }
i, em, dfn { font-style: italic; }
hr { display: block; height: 6px; border: 0; border-top: 4px solid #000; margin: 1em auto 80px; padding: 0;width: 60px; }
ins  { background: #ff9; color: #000; text-decoration: none; }
mark { background: #ff0; color: #000; font-style: italic; font-weight: bold; }
pre, code, kbd, samp { font-family: monospace, monospace; _font-family: 'courier new', monospace; }
pre { white-space: pre; white-space: pre-wrap; word-wrap: break-word; }
q { quotes: none; }
q:before, q:after { content: ""; content: none; }
small { font-size: 85%; }
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
sup { top: -0.5em; }
sub { bottom: -0.25em; }
img { border: 0; -ms-interpolation-mode: bicubic; vertical-align: middle; }
label { cursor: pointer; }
input, 
select, 
textarea { font-size: 100%; margin: 0; }
button, input { line-height: normal; *overflow: visible; }
button, input[type="button"], input[type="reset"], input[type="submit"] { cursor: pointer; -webkit-appearance: button; }
input[type="checkbox"], input[type="radio"] { box-sizing: border-box; }
input[type="search"] { -webkit-appearance: textfield; -moz-box-sizing: content-box; -webkit-box-sizing: content-box; box-sizing: content-box; }
input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }
button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; }
textarea { overflow: auto; vertical-align: top; resize: vertical; }
table { border-collapse: collapse; border-spacing: 0; }
td { vertical-align: top; }

/* ---------------------------------------------------------------------------------------------------------- 
02 Sensible defaults ----------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------- */

div,
article,
section,
header,
footer,
nav,
li					{ position:relative; /* For absolutely positioning elements within containers (add more to the list if need be) */ }
.group:after 		{ display:block; height:0; clear:both; content:"."; visibility:hidden; /* For clearing */ }
body 				{ background:#fff; /* Don't forget to style your body to avoid user overrides */ }
::-moz-selection 	{ background:rgba(191, 249, 242, 0.5); color:#333; }
::selection 		{ background:rgba(191, 249, 242, 0.5); color:#333; }

.container img {max-width: 100%;height: auto;}
.site {
  z-index: 999;
  background: #fff;
  padding-bottom: 60px;
}

/* ---------------------------------------------------------------------------------------------------------- 
03 Typography -----------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------- */
/*

14 / 16	= 		0.875em 		(14px equivalent)
16 / 16	= 		1em 			(16px equivalent)
18 / 16 = 		1.125em 		(18px equivalent)
21 / 16 = 		1.3125em 		(21px equivalent)
24 / 16 = 		1.5em 			(24px equivalent)
30 / 16 = 		1.875em 		(30px equivalent)

*/

body,
input,
textarea  { /* We strongly recommend you declare font-weight using numerical values, but check to see which weights you're exporting first */ 
	font-family: 'Heebo', Helvetica, Arial, sans-serif;
	font-size: 16px;
	font-size: 1rem;
	line-height: 1.5;
	color: #000;
}

h1, 
h2, 
h3, 
h4, 
h5, 
h6 { font-weight:900;color: #2f2f42}

p {
	line-height: 1.7;
	color: #5e5e5eposts;
}

p a {
	text-decoration: none;
	box-shadow: inset 0 -10px 0 0 rgba(191, 249, 242, 1);
}
p a:hover {
	background: rgba(191, 249, 242, 1);
}

h2 {
    font-size: 36px;
    line-height: 1.2;
    margin-bottom: 15px;
}

#primarynav a {
  	color: #000;
  	text-decoration: underline;
  	text-decoration-color: #bff9f2;

}
#primarynav a:hover {
 	text-decoration-color: #000;
 	transition: all 1s;
}



/* ---------------------------------------------------------------------------------------------------------- 
04 Forms -----------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------- */

button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
    border: 1px solid #ccc;
    border-color: #ccc #ccc #bbb #ccc;
    border-radius: 3px;
    background: #e6e6e6;
    -webkit-box-shadow: inset 0 1px 0 rgba(255,255,255,0.5), inset 0 15px 17px rgba(255,255,255,0.5), inset 0 -5px 12px rgba(0,0,0,0.05);
    -moz-box-shadow: inset 0 1px 0 rgba(255,255,255,0.5), inset 0 15px 17px rgba(255,255,255,0.5), inset 0 -5px 12px rgba(0,0,0,0.05);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.5), inset 0 15px 17px rgba(255,255,255,0.5), inset 0 -5px 12px rgba(0,0,0,0.05);
    color: rgba(0,0,0,.8);
    cursor: pointer; /* Improves usability and consistency of cursor style between image-type 'input' and others */
    -webkit-appearance: button; /* Corrects inability to style clickable 'input' types in iOS */
    font-size: 12px;
	 font-size: 0.75rem;
    line-height: 1;
    padding: 0.4em 1.4em 0.5em;
    text-shadow: 0 1px 0 rgba(255,255,255,.8);
}
button:hover, 
html input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
    border-color: #ccc #bbb #aaa #bbb;
    -webkit-box-shadow: inset 0 1px 0 rgba(255,255,255,0.8), inset 0 15px 17px rgba(255,255,255,0.8), inset 0 -5px 12px rgba(0,0,0,0.02);
    -moz-box-shadow: inset 0 1px 0 rgba(255,255,255,0.8), inset 0 15px 17px rgba(255,255,255,0.8), inset 0 -5px 12px rgba(0,0,0,0.02);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.8), inset 0 15px 17px rgba(255,255,255,0.8), inset 0 -5px 12px rgba(0,0,0,0.02);
}
input[type=text],
textarea {
    color: #666;
    border: 1px solid #ccc;
    
	 resize: vertical;
}
input[type=text]:focus,
input[type=email]:focus,
textarea:focus {
    color: #111;
}
textarea {
    overflow: auto; /* Removes default vertical scrollbar in IE6/7/8/9 */
    vertical-align: top; /* Improves readability and alignment in all browsers */
    width: 100%;
    height: 200px;
    border:1px solid #bbb;
    outline: none;
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
    padding: 10px;
    background: #f3f3f3;

}

/* FORMS */


form {
  height:auto;
  background:white;
  border-radius:0;
  margin-bottom: 70px;
}

form label {

  cursor:pointer;
  margin-bottom: 10px;
}

form label,
form input {
  float:left;
  clear:both;
}

form input {
  /*margin:15px 0;*/
  padding:15px 10px;
  outline:none;
  border:1px solid #bbb;
  border-radius:0;
  display:inline-block;
  background: #f3f3f3;
  -webkit-box-sizing:border-box;
     -moz-box-sizing:border-box;
          box-sizing:border-box;
    -webkit-transition:0.2s ease all;
     -moz-transition:0.2s ease all;
      -ms-transition:0.2s ease all;
       -o-transition:0.2s ease all;
          transition:0.2s ease all;
}
form input[type=text], form input[type=email],form input[type=tel]{
  padding: 10px;
  width: 100%;
}

form input[type=text]:focus,
form input[type="password"]:focus,
form input[type=email]:focus,
form input[type=tel]:focus,
textarea:focus {
  border-color:#BFF9F2;
}

input[type=submit] {
  padding:20px 50px;
  width:auto;
  background:#BFF9F2;
  border:none;
  color:#000;
  font-size: 16px;
/*  text-transform: uppercase;*/
  cursor:pointer;
  display:inline-block;
  -webkit-transition:0.2s ease all;
     -moz-transition:0.2s ease all;
      -ms-transition:0.2s ease all;
       -o-transition:0.2s ease all;
          transition:0.2s ease all;

  box-shadow: none;
  text-shadow: none;
  border-radius: 0;
  float: right;
}

input[type=submit]:hover {
  opacity:0.8;
  box-shadow: none;
  text-shadow: none;
  border-radius: 0;
}

input[type="submit"]:active {
  opacity:0.4;
  box-shadow: none;
  text-shadow: none;
  border-radius: 0;
}
.select-wrapper {
  position: relative;
}
.select-wrapper:after {
    color: black;
    content: '▾';
    margin-right: 10px;
    pointer-events: none;
    position: absolute;
    right: 10px;
    top: 40px;
    font-size: 20px;
  }
select {
  width: 100%;
  -moz-appearance: none;
  -webkit-appearance: none;
  background: white;
  border: none;
  border-radius: 0;
  cursor: pointer;
  padding: 12px;
  width: 100%;
  border: 1px solid #ccc;
  background: #f3f3f3;
}
select:focus {
    color: black;
  }

select::-ms-expand {
    display: none;
  }

.form_leistung {
  border: 1px solid #ccc;
  border-radius: 0;
  padding: 40px 0 0;
  margin-bottom: 30px;
}


.wpcf7 .wpcf7-list-item {
  /*display: block;*/
  margin-left: 40px;
}

.wpcf7-form .wpcf7-radio {
  
}

.wpcf7-form .wpcf7-radio label {
  position: relative;
  cursor: pointer;
}

.wpcf7-form .wpcf7-radio input[type=radio] {
  position: relative;
  visibility: hidden;
}

.wpcf7-form .wpcf7-radio input[type=radio] + span {
/*   border: 3px solid red;  */

}

.wpcf7-form .wpcf7-radio input[type=radio] + span:before {
  display: block;
  position: absolute;
  content: '';
  height: 18px;
  width: 18px;
  top: 0px;
  border: 2px solid #222;
}

.wpcf7-form .wpcf7-radio input[type=radio] + span:after {
    display: block;
    position: absolute;
    content: '';
    height: 10px;
    width: 10px;
    top: 6px;
    left: 6px;
    visibility: hidden;
}

.wpcf7-form .wpcf7-radio input[type=radio]:checked + span:before {
    background: transparent;
/*     border-color: red; */
}

.wpcf7-form .wpcf7-radio input[type=radio]:checked + span:after {
   background: #222;
   visibility: visible;
}


.wpcf7-form .wpcf7-checkbox label {
  position: relative;
  cursor: pointer;
}

.wpcf7-form .wpcf7-checkbox input[type=checkbox] {
  position: relative;
  visibility: hidden;
}

.wpcf7-form .wpcf7-checkbox input[type=checkbox] + span {
/*   border: 3px solid red;  */
padding: 0 25px 0 15px;
}

.wpcf7-form .wpcf7-checkbox input[type=checkbox] + span:before {
  display: block;
  position: absolute;
  content: '';
  height: 18px;
  width: 18px;
  top: 0px;
  border: 2px solid #222;
}

.wpcf7-form .wpcf7-checkbox input[type=checkbox] + span:after {
    display: block;
    position: absolute;
    content: '×';
    height: 10px;
    width: 10px;
    top: -1px;
    /*left: 5px;*/
    visibility: hidden;
    font-size: 16px;
    left: 6px;
}

.wpcf7-form .wpcf7-checkbox input[type=checkbox]:checked + span:before {
    background: transparent;
/*     border-color: red; */
}

.wpcf7-form .wpcf7-checkbox input[type=checkbox]:checked + span:after {
/*    background: #222; */
   visibility: visible;
}
span.wpcf7-list-item {
  margin: 0!important;
}
.datenschutz input[type=checkbox] + span{
     padding: 0 12px 0 0px !important;
}
div.wpcf7-mail-sent-ok {
  border: 2px solid #BFF9F2;
}


/* ---------------------------------------------------------------------------------------------------------- 
06 Styles ---------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------- */

/* NAV */
/*#togglebutt {
    width: 40px;
    height: 40px;
    display: block;
    z-index: 99999;
    bottom: 20px;
    position: fixed;
    left: 50%;
    margin-left: -20px;
    background: url('img/nav.svg') no-repeat center center;
    background-size: contain;
}*/
header {
    height: 110px;
    padding: 30px 0 0 0;
}


.header {
  height: 300px;
  text-align: center;
  padding-top: 50px;
}
.header h2 {
  font-size: 40px;
}
.header h5 {
  font-weight: normal;
  max-width: 600px;
  display: inline-block;
  margin: 0 auto;
  color: #4e4e4e;
  line-height: 1.8;
}

@media screen and (min-width:768px) {

    .header {
      height: 400px;
      text-align: center;
      padding-top: 100px;
    }
    .header h2 {
      font-size: 60px;
    }
    .header h5 {
      font-weight: normal;
      max-width: 600px;
      display: inline-block;
      margin: 0 auto;
    }

}

.contact-cta {
	background: rgba(191, 249, 242, 1);
  color: #2f2f42;

}

.welcome {
    font-size: 42px;
    line-height: 120%;
    padding-bottom: 15px;
    margin-top:80px;
    min-height: 190px;
}
.welcome span.typewriter {
  display: block;
}
@media screen and (min-width:768px) {
.welcome {
    font-size: 84px;
    line-height: 120%;
    padding-bottom: 15px;
    padding-top: 100px;
    min-height: 300px;
}
.welcome span.typewriter {
  display: inline;
}
.welcome_txt {
	    font-size: 20px; 
	    margin: 0 0 50px;
      max-width: 700px;
      font-weight: normal;
}
}
@media screen and (min-width:1200px) {
.welcome {
    font-size: 98px;
    line-height: 120%;
    padding-bottom: 15px;
    padding-top: 100px;
    min-height: 320px;
}
.welcome span.typewriter {
  display: inline;
}
.welcome_txt {
      font-size: 20px;
      margin: 0 0 50px;
      max-width: 700px;
      font-weight: normal;
}
}

#logo {
    width: 67px;
    height: auto;
    margin: 0 auto;
    display: block;
    position: relative;
    color: #2f2f42;
}
section.services {
  background: #2f2f42;
  padding: 160px 0 120px;
  color: #fff;
}
section.services ul li {
  color: #878899;
  line-height: 2.4;
  margin-left: 20px;
}

section.services ul li:before {
    position: absolute;  
    margin: -1px 0 0 -20px;  
    vertical-align: middle;
    display: inline-block;
    content: "\e934";
    font-family: icomoon;
}
section.services h2 {
  color: #fff;
  font-size: 32px;
  -webkit-font-smoothing: antialiased;
  -moz-font-smoothing: antialiased;
  -o-font-smoothing: antialiased;
}
section.services h4 {
color: #fff;
font-weight: normal;
margin-bottom: 15px;
}
section.services h3 {
color: #fff;
font-weight: normal;
margin-bottom: 15px;
}
section.testimonial {
  padding: 160px 0 120px;
  text-align: center;
  color: #4e4e4e;
  background: #ededed;
}
section.testimonial p {
    line-height: 1.8;
    font-size: 20px;
    font-style: italic;
}
div.testimonial_name p {
  font-size: 16px !important;
  line-height: 1.4;
  color: #9a9a9a;
}
section.testimonial img {
  background: #d3d3d3;
  border-radius: 100px;
  width: 100px;
  height: 100px;
  margin: 30px 0 5px;
}
section.start_contact {
  padding: 120px 0 60px;
  text-align: center;
}
section.start_contact p {
    font-size: 22px;
    font-weight: bold;
    padding-bottom: 20px;
    line-height: 1.4;
    color: #2f2f42;
}
@media screen and (min-width:768px) {
  section.start_contact p {
    font-size: 32px;
  }
}



hr.thin {
  width: 100%;
  border-top: 1px solid #e0e0e0;
  margin: 0 auto 20px;
}
.avatar {
	border-radius: 200px;
}

.wobble-ver-left {
    -webkit-animation: wobble-ver-left 10.8s infinite both;
            animation: wobble-ver-left 10.8s infinite both;
}
/* ----------------------------------------------
 * Generated by Animista on 2019-5-28 12:26:53
 * w: http://animista.net, t: @cssanimista
 * ---------------------------------------------- */

/**
 * ----------------------------------------
 * animation wobble-ver-left
 * ----------------------------------------
 */
@-webkit-keyframes wobble-ver-left {
  0%,
  100% {
    -webkit-transform: translateY(0) rotate(0);
            transform: translateY(0) rotate(0);
    -webkit-transform-origin: 50% 50%;
            transform-origin: 50% 50%;
  }
  15% {
    -webkit-transform: translateY(-1px) rotate(-1deg);
            transform: translateY(-1px) rotate(-1deg);
  }
  30% {
    -webkit-transform: translateY(1px) rotate(1deg);
            transform: translateY(1px) rotate(1deg);
  }
  45% {
    -webkit-transform: translateY(-1px) rotate(-1deg);
            transform: translateY(-1px) rotate(-1deg);
  }
  60% {
    -webkit-transform: translateY(1px) rotate(1deg);
            transform: translateY(1px) rotate(1deg);
  }
  75% {
    -webkit-transform: translateY(-1px) rotate(-1deg);
            transform: translateY(-1px) rotate(-1deg);
  }
}
@keyframes wobble-ver-left {
  0%,
  100% {
    -webkit-transform: translateY(0) rotate(0);
            transform: translateY(0) rotate(0);
    -webkit-transform-origin: 50% 50%;
            transform-origin: 50% 50%;
  }
  15% {
    -webkit-transform: translateY(-1px) rotate(-1deg);
            transform: translateY(-1px) rotate(-1deg);
  }
  30% {
    -webkit-transform: translateY(1px) rotate(1deg);
            transform: translateY(1px) rotate(1deg);
  }
  45% {
    -webkit-transform: translateY(-1px) rotate(-1deg);
            transform: translateY(-1px) rotate(-1deg);
  }
  60% {
    -webkit-transform: translateY(1px) rotate(1deg);
            transform: translateY(1px) rotate(1deg);
  }
  75% {
    -webkit-transform: translateY(-1px) rotate(-1deg);
            transform: translateY(-1px) rotate(-1deg);
  }
}
.career_box {
  padding: 40px;
  font-size: 12px;
  border: 1px solid #f9f9f9;
  color:#4e4e4e;
}
section.contact-banner {
    background: #ededed;
    text-align: center;
    padding: 70px 0 50px;
    margin: 60px 0 100px;
}
section.contact-banner p {
    font-size: 32px;
    margin-bottom: 15px;
    font-weight: 600;
    line-height: 40px;
    color: #2f2f42;
}
a.btn {
    padding: 15px 30px;
    text-decoration: none;
    width: auto;
    background: #BFF9F2;
    color: #2f2f42;
    font-size: 16px;
    cursor: pointer;
    display: inline-block;
    -webkit-transition: 0.2s ease all;
    -moz-transition: 0.2s ease all;
    -ms-transition: 0.2s ease all;
    -o-transition: 0.2s ease all;
    transition: 0.2s ease all;
    box-shadow: none;
    text-shadow: none;
    border-radius: 0;
}
a.btn:hover {
  background: #BFF9F2;
}


footer {
    position: fixed;
    background: #BFF9F2;
    padding: 50px 0 40px;
    margin: 100px 0 0;
    width: 100%;
    bottom: 0;
    z-index: 1;
    color: #2f2f42;
}
.footer-space {
  height: 200px;
}
.footer-nav li {
    margin-bottom: 20px;
}
.footer-nav a {
    font-size: 16px;
    line-height: 120%;
    text-decoration-line: underline;
    color: #2f2f42;
}
.footer_contact {
  text-align: center;
  margin-bottom: 0!important;
}
.footer-line {
    font-size: 12px;
    text-align: center;
    margin: 0 0 40px;
}
@media screen and (max-width:768px) {
.footer_span {width: 48.0%!important;}
.footer_contact { margin-bottom: 25px!important;}
footer {padding: 50px 0 80px;}
.footer_address { display: none;}
.footer-line { margin: 0;}

}
ul.footer-imprint {width: 100%;text-align: center;}
ul.footer-imprint li {display: inline-block;margin-right: 5px;}
ul.footer-imprint li:last-child {margin-right: 0;}
ul.footer-imprint li a {
    font-size: 12px;
    text-decoration-line: underline;
    color: #2f2f42;
}


.footer_contact h3{
    font-weight: 900;
    font-size: 40px;
}
.footer_contact a {
    font-size: 18px;
    /* identical to box height, or 22px */
    text-decoration-line: underline;
    color: #2f2f42;
}



/*fff*/

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

.box-nav a {
  text-decoration: none;
}
.box-nav .contact-cta {
  padding: 15px 50px !important;
  color: #2f2f42;
}
.outer-menu {
  position: fixed;
  bottom: 15px;
  z-index: 999;
  left: 50%;
  margin-left:-35px; 
}
.outer-menu .checkbox-toggle {
  position: fixed;
  bottom: 15px;
  z-index: 2;
  cursor: pointer;
  width: 70px;
  height: 70px;
  opacity: 0;
}
.outer-menu .checkbox-toggle:checked + .hamburger {
	background: none;
}
.outer-menu .checkbox-toggle:checked + .hamburger > div {
  -webkit-transform: rotate(135deg);
          transform: rotate(135deg);
}
.outer-menu .checkbox-toggle:checked + .hamburger > div:before,
.outer-menu .checkbox-toggle:checked + .hamburger > div:after {
  top: 0;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
.outer-menu .checkbox-toggle:checked + .hamburger > div:after {
  opacity: 0;
}
.outer-menu .checkbox-toggle:checked ~ .menu {
  pointer-events: auto;
  visibility: visible;
}
.outer-menu .checkbox-toggle:checked ~ .menu > div {
  -webkit-transform: scale(1);
          transform: scale(1);
  transition-duration: 0.75s;
}
.outer-menu .checkbox-toggle:checked ~ .menu > div > div {
  opacity: 1;
  transition: opacity 0.4s ease 0.4s;
}
.outer-menu .checkbox-toggle:hover + .hamburger {
  /*box-shadow: inset 0 0 10px rgba(0, 0, 0, 0.1);*/
}
.outer-menu .checkbox-toggle:checked:hover + .hamburger > div {
  -webkit-transform: rotate(225deg);
          transform: rotate(225deg);
}
.outer-menu .hamburger {
  z-index: 1;
  width: 70px;
  height: 70px;
  padding: 1em 1em 0.5em;
  border-radius: 100px;
  cursor: pointer;
  transition: box-shadow 0.4s ease;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
.hamburger_bg1{
	 background: #BFF9F2;
}
.hamburger_bg2{
	 background: rgba(191, 249, 242, 0.7);

}
.outer-menu .hamburger > div {
  position: relative;
  flex: none;
  width: 100%;
  height: 2px;
  background: #000;
  transition: all 0.4s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}
.outer-menu .hamburger > div:before {
  content: '';
  position: absolute;
  z-index: 1;
  top: -10px;
  left: 0;
  width: 100%;
  height: 2px;
  background: inherit;
  transition: all 0.4s ease;
}

.outer-menu .menu {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  visibility: hidden;
  overflow: hidden;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  outline: 1px solid transparent;
  display: flex;
  align-items: center;
  justify-content: center;
}
.outer-menu .menu > div {
  width: 200vw;
  height: 100%;
  color: #FEFEFE;
  background: #fff;
  transition: all 0.4s ease;
  flex: none;
/*  -webkit-transform: scale(0);
          transform: scale(0);*/
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
.outer-menu .menu > div > div {
  text-align: center;
  max-width: 90vw;
  max-height: 100vh;
  opacity: 0;
  transition: opacity 0.4s ease;
  overflow-y: auto;
  flex: none;
  display: flex;
  align-items: center;
  justify-content: center;
}
.outer-menu .menu > div > div > ul {
  list-style: none;
  padding: 0 1em;
  margin: 0;
  display: block;
  max-height: 100vh;
}
.outer-menu .menu > div > div > ul > li {
  padding: 0;
  margin: 1em;
  font-size: 24px;
  display: block;
}
.outer-menu .menu > div > div > ul > li > a {
  position: relative;
  display: inline;
  cursor: pointer;
  transition: color 0.4s ease;
}
.outer-menu .menu > div > div > ul > li > a:hover {
  color: #e5e5e5;
}
.outer-menu .menu > div > div > ul > li > a:hover:after {
  width: 100%;
}
.outer-menu .menu > div > div > ul > li > a:after {
  content: '';
  position: absolute;
  z-index: 1;
  bottom: -0.15em;
  left: 0;
  width: 0;
  height: 2px;
  background: #e5e5e5;
  transition: width 0.4s ease;
}


/*BLOG FRONTPAGE*/
.aposts {
	display: table;
}
.posts {
	display: table-cell;
	margin-bottom: 70px!important;
}
.posts h2 {
	margin: 15px 0 10px 0;
	font-size: 28px;
}
.posts a  {
	text-decoration: none !important;
}
.posts time {
	font-size: 12px;
    color: #b1b1b1;
    padding: 0 0 5px;
    display: inline-block;
}

section.latest_posts {

}
.blog_posts_frontpage
{
	margin: 0 0 10px;
}

.blog_date {
	font-size: 12px;
	line-height: 120%;
	text-decoration-line: none;
	color: #888888;
	width: 40% !important;
    padding: 5px 35px 0 !important;
}

.blog_title {
	font-size: 20px;
	line-height: 1.7;
	color: #000000;
	width: 60% !important;
	padding: 0 35px 0 0 !important;
	text-decoration: underline;
}
.more-link {display: none;}

.blog-header img {width: 100% !important;}
.blog-title {
	text-align: left; 
}
.blog-title h2 {
	margin: 30px 0 5px;
}
@media screen and (min-width:768px) {
	.blog-title {
	text-align: center; 
	}
	.blog-title h2{font-size: 80px;}
}
.blog-title time {
	color:#bababa;
	padding-bottom:20px;
}
.post-nav {

}
.post-nav-prev {
	float: left;
	width: 50%;
	height: 100px;
}
.post-nav-next {
	float: left;
	width: 50%;
	height: 100px;
}
.blog-tags {
	border-top: 1px solid #ededed;
	padding: 30px 0 0;
	margin: 60px 0 0;
}
.author-box {
	margin: 30px 0 0;
	padding: 30px 20px;
	border-top: 1px solid #ededed;
	text-align: center;
}
.author-box h3 {
	margin: 10px 0 7px;
}
@media screen and (min-width:768px) {
	.author-box{text-align:left;padding: 30px 0;}
}
/* PROJECT SLIDER */
.swiper-container {
 max-width:  530px;
}

/* SLIDER FRONTPAGE */
.slider_container {
	width: 50%;
	float: left;
	border-bottom: 1px solid #f5f5f5;
	border-top: 1px solid #f5f5f5;
	margin: 30px 0 30px;
}
.slider {
  width: 100%;
  height: 150px;
  margin: 20px auto;
  position: relative;
}
.slide1,.slide2,.slide3,.slide4,.slide5,.slide6 {
  position: absolute;
  width: 100%;
  height: 100%;
}

.slide1 {
    animation:fade 8s infinite;
    -webkit-animation:fade 8s infinite;

} 
.slide2 {
    animation:fade2 8s infinite;
    -webkit-animation:fade2 8s infinite;
}
.slide3 {
    animation:fade3 8s infinite;
    -webkit-animation:fade3 8s infinite;
}
.slide4 {
    animation:fade 8s infinite;
    -webkit-animation:fade 8s infinite;

} 
.slide5 {
    animation:fade2 8s infinite;
    -webkit-animation:fade2 8s infinite;
}
.slide6 {
    animation:fade3 8s infinite;
    -webkit-animation:fade3 8s infinite;
}
@keyframes fade
{
  0%   {opacity:1}
  33.333% { opacity: 0}
  66.666% { opacity: 0}
  100% { opacity: 1}
}
@keyframes fade2
{
  0%   {opacity:0}
  33.333% { opacity: 1}
  66.666% { opacity: 0 }
  100% { opacity: 0}
}
@keyframes fade3
{
  0%   {opacity:0}
  33.333% { opacity: 0}
  66.666% { opacity: 1}
  100% { opacity: 0}
}

@media screen and (min-width:768px) {
.slider {height: 200px;}
.slide1,.slide2,.slide3,.slide4,.slide5,.slide6 {
	position: relative;
	float: left;
  	width: 33.333333333333333%;
	animation:none;
	-webkit-animation:none;
	opacity: 0.5;
	background-size: 80%;
}
}
@media screen and (min-width:768px) {
/*.leistungen1 {
	width: 50%;padding-right:0px !important;
}
.leistungen2{
	width: 50%;padding-left:25px !important;
}*/
}


/* PORTFOLIO */
/*@media screen and (min-width:768px) {
.portfolio li:nth-child(2) {
	padding-top:250px; 
}}*/
section.projektbeschreibung {
  color: #A1A1A8;
  font-size: 14px;
  line-height: 1.4;
}
section.projektbeschreibung hr {
  width: 100%;
  border-top: 1px solid #e0e0e0;
  margin: 0 auto 20px;
}
section.projektbeschreibung ul li {
  list-style-type: disc;
  margin:0 0 5px 20px;
}


li.portfolio-desc span.portfolio-btn {
      display: inline-block;
      padding: 8px 17px;
      border: 1px solid #b8b8b8;
      color: #4e4e4e;
      float: left;
      margin-top: 15px;
      font-size: 14px;
      text-transform: uppercase;
      letter-spacing: 1px;
    }
li.portfolio-desc span.portfolio-btn:hover {
      border: 1px solid #bff9f2;
      background: #bff9f2;
      color: #4e4e4e;
      transition: all 0.5s ease;
}
@media screen and (min-width:768px) {
    .portfolio{
      display: table;
    }
    .portfolio-post {
    	
      display: table-row;

    }
    .portfolio-post li {
      display: table-cell;
    }
    .portfolio-post li.portfolio-img {
      padding-bottom:60px;
      height: 100%;
    }
    .portfolio-post li.portfolio-desc {
      position: relative;
    }


    .portfolio-post li.portfolio-desc p {
      color:#4e4e4e;
      width: 60%;
    }
    .portfolio-post li.portfolio-desc div {
      /*display: table-row;*/
      min-height: 100%;

    }
    .portfolio-post li.portfolio-desc div span {
      /*display: table-cell;
      vertical-align: middle;*/
    }

    .even li.portfolio-img {
      /*float: right;*/
      float: right;
    }
    .even li.portfolio-desc {
      text-align: right;  
    }
    .even li.portfolio-desc h4 {
      display: block;
    }
    .even li.portfolio-desc p {
      float: right;
      display: block;
    }
    .even li.portfolio-desc span.portfolio-btn {
      float: right;
      display: block;
    }
}

.portfolio-post a {
	text-decoration: none;
}
h3.portfolio-title{
	font-weight: 600;
	display: block;
	margin: 10px 0 0;
	font-size: 22px;

}
.portfolio-type,h4.portfolio-type a {
	color: #e0e0e0;
    font-weight: 100;
    text-transform: uppercase;
    text-decoration: none;
    letter-spacing: 2px;
    margin: 0 0 5px 0;
    display: inline-block;
    font-size: 14px;
}
/* WORKFLOW */
section.workflow {
  background: #2f2f42;
  padding: 100px 0;
  color: #fff;
  margin: 0 0 120px;
}
section.workflow img {
  width: 80%;
  margin: 20px auto;
  display: block;
}
.icon_box {
  display: block;
  min-height: 230px;
}

section.workflow h3 {
  font-weight: normal;
  padding-bottom: 10px;
  color: #fff;
}
section.workflow p {
  color: #878899;
}
/* LEISTUNGEN */
section.leistungen h2 {
  max-width: 400px;
}
section.leistungen img {
  width: 80%;
  margin: 20px auto;
  display: block;
}
section.leistungen .left_col, section.leistungen .right_col {
  float: left;
}
@media screen and (min-width:768px) { 
section.leistungen .left_col, section.leistungen .right_col {
  float: right;
}
}

section.leistungen ul {
  margin:30px 0 150px;
  columns: 2;
  -webkit-columns: 2;
  -moz-columns: 2;
}
section.leistungen ul.last {
  margin:30px 0;
}
section.leistungen li {
  list-style: disc;
  margin-left: 17px;
  font-size: 14px;
  color: #929292;
  /*width: 150px;*/
}


/* ABOUT */

ul.instagram-pics li {
  width: 50%;
  float: left;
  }
@media screen and (min-width:768px) { 
ul.instagram-pics li {
  width: 20%;
  float: left;
}
}
.ig-grid {
  margin: 60px 0 0;
}
.ig-grid hr {
  width: 100%;
  border-top: 1px solid #f9f9f9;
  color: #4e4e4e;
}
.ig-grid h3 {
  text-align: center;
  padding-bottom: 20px;
}
.clearfix:after {
  content: "";
  display: table;
  clear: both;
}

ul.instagram-pics {
  padding: 0 0 100px;
}
ul.instagram-pics:after {
    content: '';
    display: block;
    clear: both;
}

/* CONTACT */

section.contact-intro {
  text-align: center;
  max-width: 800px;
  margin: 0 auto;
}
.contact-info{
  padding-bottom: 100px;
}
.contact-info div {
  background: #ececec;
  padding: 10px 15px;
  display: block;
  width: 240px;
  margin:0 auto 15px;
}
.contact-info span:before {
  font-family: icomoon;
}
section.contact-intro h3{
  font-size: 24px;
  margin-bottom: 15px;
}
section.contact-intro p {
  margin-bottom: 30px;
}
img.contact-img {
  width: 120px;
  margin: 10px 0;
}

/* LINKS / LINKTREE */

.link_card {
  width: 100%;
  -webkit-box-shadow: 1px 1px 5px 0px rgba(0,0,0,0.29);
  -moz-box-shadow: 1px 1px 5px 0px rgba(0,0,0,0.29);
  box-shadow: 1px 1px 5px 0px rgba(0,0,0,0.29);
  /*border-radius: 15px 15px 0 0;*/
  overflow: hidden;
}
.linktree a {
  text-decoration: none;
}
.link_content {
  padding: 25px 20px;
}
.link_content h3 {
  text-transform: uppercase;
  font-size: 14px;
}
.link_content p {
  color: #9e9e9e;
  font-size: 12px;
}
.social_icons h3 {
  padding-bottom: 25px;
}
.social_icons span {
  font-size: 16px;
  background: #eeeeee;
/*  height: 50px;
  width: 50px;*/
  padding:10px;
  border-radius: 50px;
  margin-right: 5px;
}
.social_icons span:before {
  color: #2f2f42;
}
.social_icons a {
  text-decoration: none;
}
.social_icons a:last-child span{
  margin-right: 0px;
}
.blogposts h3 {
  margin: 0 0 15px 0;
}
.blogposts span.date {
  display: block;
}
.blogposts span.icon-arrow-right:before {
  font-family: icomoon;
}
.blogposts p {
  margin: 0 0 10px;
}
.blogposts a {
  underline:none;
  box-shadow: none;
  font-size: 14px;
}

section.links_contact {
  padding: 60px 0 20px;
  text-align: center;
}
section.links_contact p {
    font-size: 22px;
    font-weight: bold;
    padding-bottom: 20px;
    line-height: 1.4;
    color: #2f2f42;
}
@media screen and (min-width:768px) {
  section.links_contact p {
    font-size: 32px;
  }
}

section.links_contact p.links_more {
    padding: 25px 60px 10px;
    font-size: 12px;
    font-weight: normal;
    color: #a1a1a1;
    text-align: center;
    line-height: 1.6;
}
section.links_contact span {
  display: block;
}
section.links_contact span:before {
  font-family: icomoon;
  font-size: 20px;
  color: #a1a1a1;
}
@media screen and (min-width: 768px){
ul.instagram-pics li{
width:16.6%!important;
}}

/* ---------------------------------------------------------------------------------------------------------- 
05 Media queries (using a mobile-first approach) ------------------------------------------------------------
---------------------------------------------------------------------------------------------------------- */

/* 400 and up */
@media screen and (min-width:400px) {

                    { /* Place your styles here for all widths greater than 400px */ }


}
/* 400 and up */
@media screen and (min-width:768px) {

                    { /* Place your styles here for all widths greater than 400px */ }


}


/* Retina Display */
@media screen and (-webkit-min-device-pixel-ratio:2) {

                    { /* Place your styles here for all 'Retina' screens */ }

}
