@charset "UTF-8";
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: normal;
  src: 
  url(/fonts/OpenSans-Regular.woff) format('woff');
}

@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: bold;
  src:  
  url(/fonts/OpenSans-Bold.woff) format('woff');
}
a, a:link, a:focus {
  outline: none;
  color: #ff0004;
  text-decoration: none;
}
h1 {
  font-family: "Open Sans", Helvetica, Arial, sans-serif;
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  font-size: 24px;
  line-height: 50px;
  padding-top: 80px;
  padding-bottom: 80px;
}

h5 {
  font-size: 18px;
  padding:0;
  margin:20px 0 0 0;
}
html {
  max-width: 100vw;
  overflow-x: hidden;
}

.iwsetter, .page {
  max-width: 1300px;
  padding: 0 10px;
}

.page {
  width: 100%;
  margin: 0 auto;
  min-width: 320px;
}

.iwsetter {
  width: 100%;
  position: relative;
  margin: 0 auto;

}

.leistungen {
  text-align: center;
  font-variant: normal;
  font-size: 100pt;
  font-weight: bold;
  margin-top: 140px;
  margin-bottom: 140px;
}

.icons {
  padding-top: 66px;
  padding-right: 66px;
  padding-bottom: 66px;
  padding-left: 66px;
  margin-top: 30px;
}

.strategie {
  text-align: center;
  line-height: 30px;
  padding-top: 0px;
}

.carousel img {
  width: 100% !important;
  max-width: 100% !important;

}

.customers {
  margin-top: 100px;
  margin-bottom: 50px;
}

.customers div[class^=col-] {
  min-height: 160px;
  text-align: center;
}

.leist {
  text-align: center;

  line-height: 60pt;
  font-family: "Open Sans", Helvetica, Arial, sans-serif;
  color: #ffffff;

}

h1.leist {
  margin: 0;
  padding: 40px 0;
}

.logos {
  padding-top: 120px;
  padding-right: 40px;
  padding-bottom: 120px;
  padding-left: 40px;
}

.skills {
  background: #000;
  border-left: 15px solid white;
  border-right: 15px solid white;
}

.bild {
  background-color: #ffffff;
  font-family: "Open Sans", Helvetica, Arial, sans-serif;
}

.navbar-default .navbar-brand {
  color: #ffffff;
  padding: 0;
  float: none;
  margin: 19px auto 0 auto;
  display: inline-block;
}

.navbar-default {
  text-align: center;
}

.row .col-lg-12 .navbar.navbar-default.navbar-fixed-top {
  background-color: #ffffff;
  border-color: #ffffff;

  opacity: 0.85;
  height: 70px;
}

.container-fluid .navbar-header .navbar-brand {
  display: inline-block;

  float: none;
  position: absolute;
  left: 50%;
  margin-left: -70px;
  margin-top: 6px;
}

.logo {
  width: 140px;
}

.container-fluid #topFixedNavbar1 .nav.navbar-nav.navbar-right {
  margin-right: 22px;
}

#topFixedNavbar1 {
  position: absolute;
  right: 0;
}

.link {
  color: #ff0004;
}

.sm {
  margin-top: 22px;
  margin-right: 22px;
  margin-bottom: 22px;
  margin-left: 22px;
  padding-top: 0px;
}

h2 {
  font-family: "Open Sans", Helvetica, Arial, sans-serif;
  font-size: 17px;
}

.footer {
  margin-top: 40px;
  margin-bottom: 40px;
}

.footer-links a {
  color: #000000;
}

.footer-links {
  white-space: nowrap;
}

h3 {
  font-family: "Open Sans", Helvetica, Arial, sans-serif;
  font-size: 18px;
  line-height: 29px;
}

.kreuz {
  padding-top: 21px;
}

.film {
  margin-bottom: 20px;
}

.leer {
  margin-bottom: 42px;
}

.dropdown .caret {
  margin-left: 10px;
}

.cards img {
  width: 60%;
  max-width: 300px;
  min-width: 200px;

  height: auto;
  margin: 0 auto;
}

h4 {
  font-family: "Open Sans", Helvetica, Arial, sans-serif;
  font-style: italic;
  font-size: 18px;
  line-height: 29px;
}
.video {
  position: relative;
}
.work.video video {
  width:100%;
  height: auto;

  /* ???? */
  top: -50%;
  transform: translate(0,33.5%);
}

.video-hidden {
  display: none;
  position: absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  background: #000;
  padding:0 !important;
}

.carousel {
  max-height:888px;
  overflow: hidden;

}
.carousel .item {
  position: relative;
}

.carousel .videoitem {
  padding-top:56.2%;
}

.carousel video{
position: absolute;
  width:100%;
  height: 100%;
  top:50%;
  left:0;
  transform: translate(0, -50%);
}

.work img {
  width: 100%;
  height: auto;
}

.work {
  display: flex;
  display: -ms-flexbox;
  flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-direction: row;
  position: relative;
}

.w-small {
  flex: 0 0 33.33333333333333%;
  -ms-flex: 0 0 33.33333333333333%;
  width: 33.33333333333333%;
  max-width: 33.33333333333333%;
  height: 50%;
}

.w-large {
  flex: 0 0 66.66666666666666%;
  -ms-flex: 0 0 66.66666666666666%;
  width: 66.66666666666666%;
  max-width: 66.66666666666666%;
}

.w-span {
  flex: 0 0 66.66666666666666%;
  -ms-flex: 0 0 66.66666666666666%;
  width: 66.66666666666666%;
  max-width: 66.66666666666666%;
}

.w-high {
  flex: 0 0 33.33333333333333%;
  -ms-flex: 0 0 33.33333333333333%;
  width: 33.33333333333333%;
  max-width: 33.33333333333333%;
  height: 100%;
}

.w-small, .w-large, .w-span, .w-full, .w-high {
  overflow: hidden;
  position: relative;
}

img.w-logo {
  position: absolute;
  left: 20px;
  top: 20px;
  width: auto;
  opacity: 0;
  transition: opacity 0.25s ease-in;

}

.w-txt {
  position: absolute;
  left: 20px;
  bottom: 20px;
  color: white;
  opacity: 0;
  transition: opacity 0.25s ease-in;
}

.black .w-txt {
  color: black;
}

.active img.w-logo, .active .w-txt {
  opacity: 1;
  transition: opacity 0.25s ease-in;
}

article h1, article h2, article h3, article h4 {
  padding:0 0 10px 0;
  margin:0;
}

div[class^=w-] video {
  height: 100%;
  background: black;
  width: 100%;
  position: absolute;
  top: 0;

}
div[class^=w-large] video, div[class^=w-small] video {
  width: 132%;
  left: -16%;
}

.w-large + .w-small + .w-small {
  position: absolute;
  left: 66.66666666666666%;
  top: 50%;
}

.w-small + .w-large + .w-small {
  position: absolute;
  top: 50%;
  left: 0;
}

.branding {
  text-align: center;
  white-space: nowrap;
}

.w-full {
  flex: 0 0 99.9999%;
  -ms-flex: 0 0 99.9999%;

}

.work > div.w-small > div, .work > div.w-large > div {
  padding-top: 71%;

}

.work > div.w-full > div {
  padding-top: calc(100% / 2);
}

.work > div.w-full.hero > div {
  padding-top: calc(47%);
}

.work > div.w-span > div {
  padding-top: calc(71% / 2);
}

.work > div.w-high > div {
  padding-top: calc(71% * 2);
}

.work div.w-full-screen-start {
  height: calc(100vh - 70px);

  width:100%;
  position: relative;
  overflow: hidden;
}

.work div.w-full-screen-start video {
  height: calc(100vh - 70px);
  position: absolute;
  left:50%;
  top:50%;
  transform: translate(-50%, -50%);
}
.work div.w-full-screen-start > div {
  padding-bottom:100vh;
}
.over-stretch {
  position: relative;

}
.overstretch {
  width:150vw;
  background: #1A171B;
  margin-left:-50vw;
  position: absolute;
  height:100%;
  z-index: 0;
  top:0;left:0;
}
.over-stretch img {
  z-index: 1;
  position: relative;
}
.w-textblock {
  position: absolute;
  max-width: 100%;
  left: 50px;
  right: 50px;
  top: 50px;
  bottom: 50px;
  font-size: 1.4vw;
  line-height: 1.7vw;
  display: flex;
  display: -ms-flexbox;
  align-items: center;
  -ms-flex-align: center;
}

@media (max-width: 1024px) {
  .w-textblock {
    font-size: 14px;
    line-height: 19px;
  }
}

@media (min-width: 1920px) {
  .w-textblock {
    font-size: 22px;
    line-height: 30px;
  }
}

.w-textblock article {
  padding: 0;
  margin: 0;
  max-width: 100%;
}

.w-textblock.top {
  display: block;
  bottom: auto;
}

#trigger-overlay {
  position: absolute;
  right: 7px;
  top: 18px;
  font-size: 38px;
  cursor: pointer;
  color: black;
}

.pop-text {
  max-width:900px;
  background:#ECECED;
  margin:0 auto;
  padding:80px;
}
.pop-text .row {
  display:flex;
}
.pop-text .row div {
  align-self: center;

}
.pop-icon {
  max-width:160px;
  width:100%;
  margin: auto;
}
.mfp-bg {
  background: rgba(255,255,255, 1) !important;

}
img.mfp-img {
  padding:0 !important;
}
/*
 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ IPAD LANDSCAPE +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
*/
@media (max-width: 1024px) {

  h2 {
    font-size: 13px;
    line-height: 32px;
  }

  h1 {
    font-size: 18px;
    line-height: 32px;
    padding: 30px 0;
    margin: 0;
  }

  .leistungen {
    font-size: 18pt;
  }

  h3, h4 {
    font-size: 13px;
    line-height: normal;
  }

  h5 {
    font-size: 16px;
  }

}

/*
 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ IPAD PORTRAIT +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
*/
@media (max-width: 768px) {

}

/*
 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ PHONES +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
*/
@media (max-width: 767px) {
  h1 {
    font-size: 15px;
    line-height: 26px;

  }
  h1.strategie, h1.leist {
    font-size: 17px;
    line-height: 25px;
  }

  .footer .social img {
    margin-top: 3px;
    width: 28px;
  }

  .pop-text .row {
    display:block;
  }

  .branding {
    text-align: left;
  }

  .branding h2 {
    margin: 0;
    padding: 0;
  }

  .w-small + .w-large + .w-small,
  .w-large + .w-small + .w-small {
    position: relative;
  }

  .w-small, .w-large, .w-span, .w-full, .w-high {
    flex: 0 0 100%;
    width: 100%;
    max-width: 100%;

  }

  .w-textblock {
    position: absolute;
    left: 10px;
    right: 10px;
    top: 50px;
    bottom: 50px;

  }

  .bild {
    margin-left: 0px;
    margin-right: 0px;
  }

  .work > div.w-small > div, .work > div.w-large > div, .work > div.w-high > div {
    /*padding-top: 71%;*/
    padding-top: 0;
    min-height: 70vw;
  }

  .work > div.w-full > div {
    /*padding-top: calc(71% / 2);*/
    padding-top: 0;
    min-height: 40vw;
  }

  .work > div.w-span > div {
    /*padding-top: calc(71% / 2);*/
    padding-top: 0;
    min-height: 40vw;
  }

  .textblock * {
    position: static !important;
    height: auto;
    min-height: inherit !important;
    padding: 0;
  }

  .textblock .w-textblock article {
    padding: 40px 20px !important;
  }

  .page, .iwsetter {
    max-width: 600px;
  }

  .row .col-lg-12 .navbar.navbar-default.navbar-fixed-top {
    height: 50px;
  }

  #trigger-overlay {

    top: 8px;
    font-size: 30px;
  }

  .navbar-default .navbar-brand {
    margin: 9px auto 0 auto;
  }

  .w-large + .w-small + .w-small {
    left: 0;
  }

  h1.leist {
    padding: 0;
    line-height: 50px;
  }

  .skills {
    border:20px solid black;
  }

  img.w-logo {
    transform: scale(0.75, 0.75);
  }

  .pop-text {
    padding:20px;
  }

  .cards img {
    width: 70%;
  }

}

/*
https://bootstrapdocs.com/v3.3.6/docs/css/#grid
*/


/*
div[class^=col-] {
  border: 1px solid red;
}

.cards img {
  border: 1px solid blue;
}

h1, h2, h3, h4 {
  border: 1px dotted fuchsia;
}*/