/*! HTML5 Boilerplate v9.0.0-RC1 | MIT License | https://html5boilerplate.com/ */

/* main.css 3.0.0 | MIT License | https://github.com/h5bp/main.css#readme */
/*
 * What follows is the result of much research on cross-browser styling.
 * Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal,
 * Kroc Camen, and the H5BP dev community and team.
 */

/* ==========================================================================
   Base styles: opinionated defaults
   ========================================================================== */

html {
  color: #222;
  font-size: 1em;
  line-height: 1.4;
}

/*
 * Remove text-shadow in selection highlight:
 * https://twitter.com/miketaylr/status/12228805301
 *
 * Customize the background color to match your design.
 */

::-moz-selection {
  background: #b3d4fc;
  text-shadow: none;
}

::selection {
  background: #b3d4fc;
  text-shadow: none;
}

/*
 * A better looking default horizontal rule
 */

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0;
}

/*
 * Remove the gap between audio, canvas, iframes,
 * images, videos and the bottom of their containers:
 * https://github.com/h5bp/html5-boilerplate/issues/440
 */

audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle;
}

/*
 * Remove default fieldset styles.
 */

fieldset {
  border: 0;
  margin: 0;
  padding: 0;
}

/*
 * Allow only vertical resizing of textareas.
 */

textarea {
  resize: vertical;
}

/* ==========================================================================
   Author's custom styles
   ========================================================================== */

   body,html{    margin: 0;    padding: 0;}
   html {
    overflow-x: hidden;
    font-family: "Source Sans 3", sans-serif;
    font-optical-sizing: auto;
    font-style: normal;
   }
   body.stoerer {    margin-top: 30px;}
   body {overflow: hidden;}

   .wrap {max-width:1250px;min-width:400px;margin: 0 auto;position:relative;padding:75px 15px;}




   header {
    padding-top:15px;
    padding-bottom:15px;
   }
   header .wrap{
    padding:0 15px;
   }


   header img {
    height:80px;
   }
 
   header #nav {
    margin-right:-15px;
    float:right;
    text-align: right;
   }
   header #nav a{
    display:inline-block;
    margin:26px 20px;
    padding:0 5px;
    font-weight:600;
    color:#000;
    transition: all .3s;
    text-decoration: none;
    font-size:18px;
   }
   header #nav a:after{
    content:"";
    display: block;
    margin-top:2px;
    height:3px;
    width:calc(100% + 10px);
    margin-left:-5px;
    transition: all .3s;
    background-color: #FF7900;
    opacity:.1;
   }
   header #nav a:hover:after{
    opacity:1;
    width:calc(100% + 20px);
    margin-left:-10px;
   }
   header #nav a:hover{
    margin-left:10px;
    margin-right:10px;
    padding:0 15px;
    text-decoration: none;
    color: #FF7900;
   }

 
   
   .fixed-nav header{
    margin-top:-100px;
    position:fixed;
    left: 0;
    right: 0;
    top: 0;
    background: rgba(255,255,255,.4);
    z-index: 100;
    transition: all .01s;
    backdrop-filter: blur(2px);
    animation: headStick .5s ease-in-out forwards;
   }
   @keyframes headStick {
    from { margin-top:-100px;}
    to { margin-top:0px;}
  }
   
   .fixed-nav header img {
    height:40px;
   }
   .fixed-nav header #nav a {
    margin:10px 20px;
    transition: all .01s;
    transition: margin .3s, padding .3s, width .3s;
    font-size:16px;
    padding:0 5px;
   }
   .fixed-nav header #nav a:after {
    opacity:0;
   }
   .fixed-nav header #nav a:hover {
    margin:10px 20px;
    padding:0 5px;
   }



   #start {
    position:relative;
    min-height:600px;
   }
   #start .wrap{
    padding:0 15px;
   }

   #start h1 {
    font-size:64px;
    filter: blur(0.5px);
    line-height: 70px;
    margin:150px 0 0 0;
    padding:0;
    z-index: 500;
    position: relative;
   }
   #start h1 span {

    --color-one: #FF7900;
    --color-two: #3E8ABA;
    display:block;
    background: linear-gradient(62deg,#CA6F03 0%, #3E8ABA 30%);
    background: linear-gradient(
      62deg,
      var(--color-one) 0%,
      var(--color-two) 50%,
      var(--color-one) 100%
    )
    0 0 /  66% 1%;
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
    animation: textanimate 8s ease-in-out infinite;
   }
   @keyframes textanimate {
    0% { background-position: 66% 1%;}
    50% { background-position: 144% 526%;}
    100% { background-position: 66% 1%;}
  }

  #start h2 {
    z-index: 500;
    position: relative;
    font-size:20px;
    filter: blur(0.2px);
    font-weight: 200;
    margin:0;
    padding:15px 0;
   }

   #start a {
    background:rgba(255, 121, 0, 1) ;
    color:#fff;
    padding:15px 30px;
    text-decoration: none;
    border-radius: 50px;
    margin-top:20px;
    display:inline-block;
    transition: all .3s;
    position: relative;
    overflow: hidden;
    z-index: 1;
   }
   #start a:before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0%;
    height: 100%;
    background:#3E8ABA ;
    transition: all .3s;
    border-radius: 10rem;
    z-index: -1;
  }
  #start a:hover {
    padding:15px 35px;
  }
  #start a:hover:before {
    width: 100%;
  }




  #start #teaser {
    position:absolute;
    width:50%;
    right:0;
    top:0;

  }
  #start #teaser img{
    width:500px;
    position:absolute;
    right:0;
  }
  #start #teaser img.xxbig{width:80%;min-width: 400px;}
  #start #teaser img.xbig{width:80%;min-width: 457px;}
  #start #teaser img.big{width:60%;min-width: 200px;}
  #start #teaser img.med{width:40%;min-width: 180px;}
  #start #teaser img.meds{width:35%;}
  #start #teaser img.small{width:10%;min-width: 50px;}

  #start #teaser img#telem_1 {right:0;top:0;animation: flow1 5s ease-in-out infinite;animation-delay: 0.5s;}
  #start #teaser img#telem_2 {width: 43%; right: 246px; top: -145px;animation: flow3 8s ease-in-out infinite;}
  #start #teaser img#telem_3 {width: 40%; right: -120px; top: -55px;animation: flow2 3s ease-in-out infinite;}
  #start #teaser img#telem_4 {width: 48%; right: -340px; top: 145px;animation: flow1 4s ease-in-out infinite;}
  #start #teaser img#telem_5 {right: 485px; top: 169px;animation: flow3 4s ease-in-out infinite;}
  #start #teaser img#telem_6 {right: -100px; top: 378px;animation: flow3 2.5s ease-in-out infinite;}
  #start #teaser img#telem_7 {right: -55px; top: 90px;}
  #start #teaser img#telem_8 {right: 465px; top: -6px;animation: flow2 2.5s ease-in-out infinite;animation-delay: 0.5s;}
  #start #teaser img#telem_9 {right: 121px; top: -106px;animation: sizeflow1 2.5s ease-in-out infinite;}
  #start #teaser img#telem_10 {right: -139px; top: 303px;animation: flow3 4s ease-in-out infinite;}
  #start #teaser img#telem_11 {right: 278px; top: 273px;animation: sizeflow2 5s ease-in-out infinite;}
  #start #teaser img#telem_13 {right: 263px; top: 432px;animation: sizeflow1 2.5s ease-in-out infinite;}
  #start #teaser img#telem_14 {right:-193px;top:66px;animation: sizeflow1 3s ease-in-out infinite;}
  #start #teaser img#telem_15 {right: 376px; top: -13px;animation: sizeflow1 2.5s ease-in-out infinite;}
  #start #teaser img#telem_16 {right: -88px; top: 203px;animation: sizeflow3 3s ease-in-out infinite;}
  #start #teaser img#telem_17 {right: 363px; top: 286px;animation: sizeflow2 2.5s ease-in-out infinite;animation-delay: 0.5s;}
  #start #teaser img#telem_18 {right: 190px; top: 332px;animation: sizeflow1 5s ease-in-out infinite;}
  #start #teaser img#telem_21 {right: 428px; top: 391px;animation: sizeflow3 3s ease-in-out infinite;}

  @keyframes flow1 {
    0% {  padding-top:0;}
    50% {  padding-top:5px;}
    100% { padding-top:0;}
  }

  @keyframes flow2 {
    0% {  padding-top:0;}
    50% {  padding-top:-3px;}
    100% { padding-top:0;}
  }

  @keyframes flow3 {
    0% {  padding-top:0;}
    50% {  padding-top:3px;}
    100% { padding-top:0;}
  }

  @keyframes sizeflow1 {
    0% {  width:10%;padding-top:0;}
    50% {  width:11%;padding-top:3px;}
    100% { width:10%;padding-top:0;}
  }

  @keyframes sizeflow2 {
    0% {  width:10%;padding-top:0;}
    50% {  width:9%;padding-top:8px;}
    100% { width:10%;padding-top:0;}
  }
  @keyframes sizeflow3 {
    0% {  width:10%;padding-top:0;}
    50% {  width:-11%;padding-top:8px;}
    100% { width:10%;padding-top:0;}
  }




  .headline {
    width:33%;
  }

  .headline h2 {
    margin:0;
    padding:0;
    display: block;
    font-size:48px;
    line-height:48px;
    font-weight:400;
  }
  .headline h3 {
    margin:0;
    display: block;
    padding:0;
    opacity:.5;
    font-size:18px;
    line-height:25px;
    font-weight:400;
  }

  .col-3 {
    clear:both;
    grid-template-columns: 1fr 1fr 1fr;
    display: flex;
    width:100%;
    justify-content:space-between;
    flex-wrap:wrap;
  }
  .col-3 > *{
    width:30%;
  }

  .logoWrapperFloat {
    position:relative;
    min-height:300px;

  }
  .logoWrapperFloat span {
    opacity:0;
    width:auto;
    display:block;
    background-color:rgba(255, 121, 0, .2);
    border: 5px solid rgba(255, 121, 0, 1);
    padding:15px 35px;
    border-radius: 100px;
    text-align: center;
    color:rgba(255, 121, 0, 1);
    font-weight: bold;
    position:absolute;
    transition: opacity .8s;
  }
  .logoWrapperFloat span.show {
    opacity:1;
    
  }


  #stoerer {
    display:block;
    position: absolute;
    right:0;
    left:0;
    top:0px;
    z-index: 50000000;
    color: #fff;
    background: rgb(32, 161, 221);
    padding:5px;
    text-align: center;
    animation: blinker 3s ease-in-out infinite;
  }
  #stoerer span{
    font-weight: bold;
  }
  @keyframes blinker {
    50% {
      background: rgb(24, 129, 178);
    }
  }


  #referenzen {
    background: rgb(0,0,0);
    background: linear-gradient(-180deg, rgba(255, 121, 0, 0.2) 0%, #fff 10%);  
  }

 
  #referenzen .logos {
    grid-template-columns: 1fr 1fr 1fr;
    float:right;
    display: flex;
    width:66%;
    justify-content:space-evenly;
    flex-wrap:wrap;
    margin-top: -98px;
  }
  #referenzen .logos img{
    width:26%;
    
  }
  
  .refText {
    line-height:25px;
  }






  #ueberuns {
    background: rgb(35, 175, 238, 1);
    background: linear-gradient(120deg, rgba(35, 175, 238, 1) 0%, rgb(19, 120, 167) 100%);  
    color:#fff;
  }

  #leistungen p span {
    display:block;
    font-size:120%;
    font-weight: 600;
    padding-bottom:15px;
    color:rgba(35, 175, 238, 1);
    opacity:1;
    font-size:18px;
    line-height:25px;
    }
    #leistungen p span.orange {
      color:rgba(255, 121, 0, 1);
      }



  #kontakt {
    background: rgb(227, 106, 0);
    color:#fff;
  }
  #kontakt  h2 {
    margin:0;
    padding:0;
    display: block;
    font-size:48px;
    line-height:48px;
    font-weight:400;
  }
    



/* ==========================================================================
   Helper classes
   ========================================================================== */

/*
 * Hide visually and from screen readers
 */

.hidden,
[hidden] {
  display: none !important;
}

/*
 * Hide only visually, but have it available for screen readers:
 * https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 *
 * 1. For long content, line feeds are not interpreted as spaces and small width
 *    causes content to wrap 1 word per line:
 *    https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
 */

.visually-hidden {
  border: 0;
  clip: rect(0, 0, 0, 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
  width: 1px;
  /* 1 */
}

/*
 * Extends the .visually-hidden class to allow the element
 * to be focusable when navigated to via the keyboard:
 * https://www.drupal.org/node/897638
 */

.visually-hidden.focusable:active,
.visually-hidden.focusable:focus {
  clip: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  position: static;
  white-space: inherit;
  width: auto;
}

/*
 * Hide visually and from screen readers, but maintain layout
 */

.invisible {
  visibility: hidden;
}

/*
 * Clearfix: contain floats
 *
 * The use of `table` rather than `block` is only necessary if using
 * `::before` to contain the top-margins of child elements.
 */

.clearfix::before,
.clearfix::after {
  content: "";
  display: table;
}

.clearfix::after {
  clear: both;
}

/* ==========================================================================
   EXAMPLE Media Queries for Responsive Design.
   These examples override the primary ('mobile first') styles.
   Modify as content requires.
   ========================================================================== */

   @media only screen and (max-width: 600px) {
  /* Style adjustments for viewports that meet the condition */

  #start .wrap, .wrap {padding-left:15px;padding-right:15px;}
  #start h1 {font-size:40px;line-height:40px;margin-top:45px;}
  header #nav {display:none;}
  #start #teaser {
    display:none;
    transform: scale(.6);
    width: 100%;
    position:relative;
    height: 450px;
  }
  #referenzen .logos { 
    width: 100%;
    float: none;
    margin-top: 0px;
  }
  .headline  {width:100%;margin-bottom:25px;}
  .headline h2  {width:100%;}
  .headline h3  {width:100%;}
  .col-3 {
    display:block;
  }
  .col-3 > * {
    width: 100%;
  }
  .noMobileSpace {
    margin:0;
  }
  .fixed-nav header{
   display:none;
   }
   #start {
    min-height:250px;
   }
}

@media print,
  (-webkit-min-device-pixel-ratio: 1.25),
  (min-resolution: 1.25dppx),
  (min-resolution: 120dpi) {
  /* Style adjustments for high resolution devices */
}

/* ==========================================================================
   Print styles.
   Inlined to avoid the additional HTTP request:
   https://www.phpied.com/delay-loading-your-print-css/
   ========================================================================== */

@media print {
  *,
  *::before,
  *::after {
    background: #fff !important;
    color: #000 !important;
    /* Black prints faster */
    box-shadow: none !important;
    text-shadow: none !important;
  }

  a,
  a:visited {
    text-decoration: underline;
  }

  a[href]::after {
    content: " (" attr(href) ")";
  }

  abbr[title]::after {
    content: " (" attr(title) ")";
  }

  /*
   * Don't show links that are fragment identifiers,
   * or use the `javascript:` pseudo protocol
   */
  a[href^="#"]::after,
  a[href^="javascript:"]::after {
    content: "";
  }

  pre {
    white-space: pre-wrap !important;
  }

  pre,
  blockquote {
    border: 1px solid #999;
    page-break-inside: avoid;
  }

  tr,
  img {
    page-break-inside: avoid;
  }

  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }

  h2,
  h3 {
    page-break-after: avoid;
  }
}

