/*! HTML5 Boilerplate v5.3.0 | MIT License | https://html5boilerplate.com/ */

/*
 * 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;
    font-family: 'Lato', sans-serif;
    background: #000;
}

body,html{
  overflow-x: hidden;
}

*{
    box-sizing: border-box;
}

/*
 * Remove text-shadow in selection highlight:
 * https://twitter.com/miketaylr/status/12228805301
 *
 * These selection rule sets have to be separate.
 * 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;
}

/* ==========================================================================
   Browser Upgrade Prompt
   ========================================================================== */

.browserupgrade {
    margin: 0.2em 0;
    background: #ccc;
    color: #000;
    padding: 0.2em 0;
}

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

















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

/*
 * Hide visually and from screen readers
 */

.hidden {
    display: none !important;
}

/*
 * Hide only visually, but have it available for screen readers:
 * http://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 */

.visuallyhidden {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}

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

.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
    clip: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    position: static;
    width: auto;
}

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

.invisible {
    visibility: hidden;
}

/*
 * Clearfix: contain floats
 *
 * For modern browsers
 * 1. The space content is one way to avoid an Opera bug when the
 *    `contenteditable` attribute is included anywhere else in the document.
 *    Otherwise it causes space to appear at the top and bottom of elements
 *    that receive the `clearfix` class.
 * 2. 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: " "; /* 1 */
    display: table; /* 2 */
}

.clearfix:after {
    clear: both;
}


#bgCanvas{
  position: absolute;
  opacity: 0.5
}

video{
  display: none;
}

.start{
    height: 100vh;
    width: 100vw;
    overflow: hidden;
}

.start video{
    position: absolute;
    top: 0;
    left: 50%;
    min-width: 101%;
    min-height: 100%;
    width: auto;
    height: auto;
    z-index: -100;
    transform: translateX(-50%) translateY(0%);
    background-size: cover;
    transition: 1s opacity;
}

.start .overlay{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 120%;
    background-image: url(/img/overlay.png);
    background-size: cover;
    z-index: 1000
}

.logo_wrapper{
  width: 800px;
  height: 500px;
  left: 50%;
  top: 50%;
  transform: translateX(-50%) translateY(-50%);
  z-index: 1000;
  position: absolute;
  opacity: 0;
  transition: opacity 5s;
}

.logo_wrapper.animate{
  opacity: 1
}

html:not(.touch) .start .logo_wrapper:hover .logo_shine,
.start .logo_wrapper.active .logo_shine{
    opacity: 1;
}

.start .logo,
.start .logo_shine{
    position: absolute;
    top: 0;
    left: 0;
    width: 800px;
    height: 500px;
    background-repeat: no-repeat;
    background-image: url(/img/logo_1.png);
    background-size: contain;
}
.start .logo{
  z-index: 1;
  background-image: url(/img/logo_1.png);
}

.start .logo_shine{
  z-index: 100;
  opacity: 0;
  transition: all .3s;
  background-image: url(/img/logo_2.png);
}

.start .scroller{
  position: absolute;
  z-index: 1000;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%) translateY(0%);
  -webkit-animation: bouncy 2s infinite;
  animation: bouncy 2s infinite;
  opacity: 0;
  transition: all 2s;
}

.start .scroller.active{
  opacity: 1
}



.coming .inner{
    width: 100%;
    height: 190px;
    background-image: url(/img/pattern.png);
    background-repeat: repeat-x;
    background-size: contain;
    background-position: center;
    position: relative;
    float: left;
    opacity: 0;
    transition: all 1s;
    margin-top: -40px;
}

.coming .inner:before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-image: url(/img/pattern_overlay.png);
}

.coming.animate .inner{
    opacity: 1;
}

.more{
  background-color: #000;
  padding: 5px 20px;
  text-decoration: none;
  color: #000;
  display: block;
  margin: 30px auto;
  color: #fff;
  border-radius: 2px;
  display: none;
  font-size: 1rem;
  width: 120px;
}

.more.active{
  width: 150px;
}

.more:hover{
  color: #fff;
}

.text{
    text-align: center;
    background-image: url(/img/overlay_2.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    padding: 50px 0;
    background-attachment: fixed;
    margin-top: 250px;
    opacity: 0;
    transition: all 1s;
    float: left;
    width: 100%;
}

.text.animate{
  opacity: 1;
  margin-top: 50px;
}

.text h1,
.text h2{
    letter-spacing: 1px;
}


.text h1{
    font-weight: bolder;
    font-size: 3rem;
    margin-bottom: 10px;
}



.text h2{
    font-size: 2rem;
    font-weight: normal;
}

.text p,
footer p{
    font-size: 1.5rem
}

.gradient_font{
    font-family: "HelveticaNeue", "Helvetica Neue", Helvetica, Arial, sans-serif;
    transform: translateX(-50%) translateY(-50%);
    position: absolute;
    /*width: 470px;*/
    width: 320px;
    height: 153px;
    left: 50%;
    top: 50%;
    text-align: center;
    line-height: 76px;
    font-weight: 900;
    text-transform: uppercase;
    opacity: 0;
    transition: all 1s
}

.ie .gradient_font,
.edge .gradient_font{
  width: 520px;
}

.gradient_font.animate{
  opacity: 1
}

.gradient_font .layer{
    background: #960000;
    background: -moz-linear-gradient(left,  #960000 0%, #dd1b1b 31%, #960000 73%);
    background: -webkit-linear-gradient(left,  #960000 0%,#dd1b1b 31%,#960000 73%);
    background: linear-gradient(to right,  #960000 0%,#dd1b1b 31%,#960000 73%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#960000', endColorstr='#960000',GradientType=1 );
    color: transparent;
    -webkit-background-clip: text;
    background-clip: text;
}

.gradient_font_theater{
  text-align: center;
  background: #fff;
  background: -moz-linear-gradient(left,  #828282 0%, #828282 30%,#fff 50%, #828282 70%);
  background: -webkit-linear-gradient(left,  #828282 0%,#828282 30%,#fff 50%,#828282 70%);
  background: linear-gradient(to right,  #828282 0%,#828282 30%,#fff 50%,#828282 70%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#828282', endColorstr='#828282',GradientType=1 );
  color: transparent;
  -webkit-background-clip: text;
  background-clip: text;
  letter-spacing: 1px;
  font-size: 3rem;
  opacity: 0;
  transition: all 1s
}

.gradient_font_theater.animate{
  opacity: 1;
}

.gradient_font .shadow,
.gradient_font .layer{
    position: absolute;
    font-size: 3.5rem;
    z-index: 0
}

.gradient_font .shadow{
  color: transparent;
}

.gradient_font .shadow{
    z-index: 100
}

/*.gradient_font.animate .layer span{
    opacity: 1
    -webkit-animation: opacity_ 0.3s;
    animation: opacity_ 0.3s;
}*/

.gradient_font.active .shadow span{
    color: transparent;
    -webkit-animation: letter-glow 0.7s 0s ease both;
    animation: letter-glow 0.7s 0s ease both;
}

.gradient_font .shadow span:nth-child(1),
.gradient_font .layer span:nth-child(1) {
  -webkit-animation-delay: 0.05s;
          animation-delay: 0.05s;
}
.gradient_font .shadow span:nth-child(2),
.gradient_font .layer span:nth-child(2) {
  -webkit-animation-delay: 0.1s;
          animation-delay: 0.1s;
}
.gradient_font .shadow span:nth-child(3),
.gradient_font .layer span:nth-child(3) {
  -webkit-animation-delay: 0.15s;
          animation-delay: 0.15s;
}
.gradient_font .shadow span:nth-child(4),
.gradient_font .layer span:nth-child(4) {
  -webkit-animation-delay: 0.2s;
          animation-delay: 0.2s;
}
.gradient_font .shadow span:nth-child(5),
.gradient_font .layer span:nth-child(5) {
  -webkit-animation-delay: 0.25s;
          animation-delay: 0.25s;
}
.gradient_font .shadow span:nth-child(6),
.gradient_font .layer span:nth-child(6) {
  -webkit-animation-delay: 0.3s;
          animation-delay: 0.3s;
}
.gradient_font .shadow span:nth-child(7),
.gradient_font .layer span:nth-child(7) {
  -webkit-animation-delay: 0.35s;
          animation-delay: 0.35s;
}
.gradient_font .shadow span:nth-child(8),
.gradient_font .layer span:nth-child(8) {
  -webkit-animation-delay: 0.4s;
          animation-delay: 0.4s;
}
.gradient_font .shadow span:nth-child(9),
.gradient_font .layer span:nth-child(9) {
  -webkit-animation-delay: 0.45s;
          animation-delay: 0.45s;
}
.gradient_font .shadow span:nth-child(10),
.gradient_font .layer span:nth-child(10) {
  -webkit-animation-delay: 0.5s;
          animation-delay: 0.5s;
}
.gradient_font .shadow span:nth-child(11),
.gradient_font .layer span:nth-child(11) {
  -webkit-animation-delay: 0.55s;
          animation-delay: 0.55s;
}
.gradient_font .shadow span:nth-child(12),
.gradient_font .layer span:nth-child(12) {
  -webkit-animation-delay: 0.6s;
          animation-delay: 0.6s;
}
.gradient_font .shadow span:nth-child(13),
.gradient_font .layer span:nth-child(13) {
  -webkit-animation-delay: 0.65s;
          animation-delay: 0.65s;
}
.gradient_font .shadow span:nth-child(14),
.gradient_font .layer span:nth-child(14) {
  -webkit-animation-delay: 0.7s;
          animation-delay: 0.7s;
}
.gradient_font .shadow span:nth-child(15),
.gradient_font .layer span:nth-child(15) {
  -webkit-animation-delay: 0.75s;
          animation-delay: 0.75s;
}
.gradient_font .shadow span:nth-child(16),
.gradient_font .layer span:nth-child(16) {
  -webkit-animation-delay: 0.8s;
          animation-delay: 0.8s;
}
.gradient_font .shadow span:nth-child(17),
.gradient_font .layer span:nth-child(17) {
  -webkit-animation-delay: 0.85s;
          animation-delay: 0.85s;
}
.gradient_font .shadow span:nth-child(18),
.gradient_font .layer span:nth-child(18) {
  -webkit-animation-delay: 0.9s;
          animation-delay: 0.9s;
}
.gradient_font .shadow span:nth-child(19),
.gradient_font .layer span:nth-child(19) {
  -webkit-animation-delay: 0.95s;
          animation-delay: 0.95s;
}
.gradient_font .shadow span:nth-child(20),
.gradient_font .layer span:nth-child(20) {
  -webkit-animation-delay: 1s;
          animation-delay: 1s;
}

@-webkit-keyframes opacity_ {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes opacity_ {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@-webkit-keyframes bouncy {
  0% {
    bottom: 0;
  }
  50% {
    bottom: 10px;
  }
  100% {
    bottom: 0px;
  }
}

@keyframes bouncy {
  0% {
    bottom: 0;
  }
  50% {
    bottom: 10px;
  }
  100% {
    bottom: 0px;
  }
}

@-webkit-keyframes letter-glow {
  0% {
    opacity: 0;
    text-shadow: 0px 0px 1px rgba(255, 255, 255, 0.1);
  }
  66% {
    opacity: 1;
    text-shadow: 0px 0px 20px rgba(255, 255, 255, 0.9);
  }
  77% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    text-shadow: 0px 0px 20px rgba(255, 255, 255, 0);
  }
}

@keyframes letter-glow {
  0% {
    opacity: 0;
    text-shadow: 0px 0px 1px rgba(255, 255, 255, 0.1);
  }
  66% {
    opacity: 1;
    text-shadow: 0px 0px 20px rgba(255, 255, 255, 0.9);
  }
  77% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    text-shadow: 0px 0px 20px rgba(255, 255, 255, 0);
  }
}

@-webkit-keyframes flicker {
  0%, 19.999%, 22%, 62.999%, 64%, 64.999%, 70%, 100% {
    opacity: .99;
  }
  20%, 21.999%, 63%, 63.999%, 65%, 69.999% {
    opacity: 0.4;
  }
}

@keyframes flicker {
  0%, 19.999%, 22%, 62.999%, 64%, 64.999%, 70%, 100% {
    opacity: .99;
  }
  20%, 21.999%, 63%, 63.999%, 65%, 69.999% {
    opacity: 0.4;
  }
}


.trenner{
    width: 100%;
    height: 225px;
    background-size: contain;
    background-repeat-x: repeat;
    position: relative;
    opacity: 0;
    transition: all 1s;
    float: left;
}

.coming.animate .trenner{
  opacity: 1;
  transform: translateY(0px) !important;
}

.trenner.oben{
    background-image: url(/img/mitte.png);
    transform: translateY(40px);
}

.trenner.unten{
    background-image: url(/img/mitte.png);
    margin-top: -70px;
    transform: translateY(-40px);
}

.bottom{
  float: left;
  position: relative;
  z-index: -1;
  width: 100%;
}

.bottom video{
  position: relative;
  margin-top: -10%;
  z-index: -100;
}

footer{
  padding: 50px 0 50px;
  float: left;
  width: 100%;
  background-image: url(/img/overlay_2.jpg);
  margin-top: -10%;
  background-size: cover;
  background-repeat: no-repeat;
  background-attachment: fixed;
/*  position: absolute;
  bottom: 0*/
}

.footer_logo{
  margin-bottom: 20px;
}

footer h1{
  font-size: 3rem;
}

footer a{
  color: #000;
}

footer a:hover{
  color: #000;
  text-decoration: none;
}

footer p{
  font-size: 0.9rem;
}

footer .small{
  font-size: .7rem;
  margin-bottom: 10px;
}

footer .container{
  max-width: 570px;
}

.footer_logo_mobile{
  display: block;
  margin: 0 auto 50px;
}

.show_m{
  display: none;
}
/*.trenner.unten:before{
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 400px;
  height: 296px;
  background-image: url(/img/links.png);
  background-repeat: no-repeat;
}*/

table,tbody{
  margin: 0 auto;
  display: block;
  max-width: 810px;
}

/*tr{
  width: 100%;
  float: left;
}

td{
  width: 50%;
  float: left;
}*/


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

@media only screen and (max-width: 810px) {
    .text p,
    footer p,
    td{
      font-size: 1rem
    }

    table{
      max-width: 545px;
      width: 100%;
    }

    .text h1,
    .gradient_font_theater{
      font-size: 1.5rem;
    }

    .gradient_font{
      width: 270px;
      height: 98px;
      line-height: 50px;
    }

    .ie .gradient_font,
    .edge .gradient_font{
      width: 320px;
    }

    .start .logo,
    .logo_wrapper,
    .logo_wrapper .logo_shine {
      width: 450px;
      height: 265px;
    }

    .coming .inner{
      height: 130px;
    }

    .gradient_font .shadow,
    .gradient_font .layer{
      font-size: 2rem;
    }

    .text h2{
      font-size: 1rem;
    }
}

@media only screen and (max-width: 500px) {
  .start .logo,
  .start .logo_wrapper,
  .start .logo_shine {
    width: 350px;
    height: 205px;
  }

  .start .overlay{
    height: 100%;
  }

  .coming{
    margin-top: -20px
  }

  .start{
    position: relative;
  }

  .bottom video,
  footer{
    margin-top: 0
  }

  .trenner{
    height: 135px;
    background-size: 50px;
  }

  .trenner.unten{
    margin-top: -20px;
  }

  .more{
    display: block;
  }

  .hide_mobile{
    max-height: 0;
    transition: max-height 0.4s ease-out;
    overflow: hidden;
  }

  .hide_mobile.active{
    max-height: 1700px;
    transition: max-height 0.5s ease-in;
  }

  .show_m{
    display: block;
  }

  .hide_m{
    display: none;
  }

  footer p{
    font-size: 0.7rem;
    margin-bottom: 20px;
  }

  footer .small{
    font-size: .6rem;
  }

  .scroller img{
    width: 30px;
  }

}

/*.touch .start .logo {
    width: 350px;
    height: 205px;
}*/

.touch .start .overlay{
    height: 100%;
}

.touch .coming{
    margin-top: -20px
}

.touch .start{
    position: relative;
}

.touch .bottom video,
.touch footer{
    margin-top: 0
}

.touch .trenner{
    height: 135px;
    background-size: 50px;
}

.touch .trenner.unten{
    margin-top: -20px;
}

.touch .start{
    position: relative;
}
video::-webkit-media-controls {
  display: none;
}

@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:
   http://www.phpied.com/delay-loading-your-print-css/
   ========================================================================== */

@media print {
    *,
    *:before,
    *:after,
    *:first-letter,
    *:first-line {
        background: transparent !important;
        color: #000 !important; /* Black prints faster:
                                   http://www.sanbeiji.com/archives/953 */
        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,
    blockquote {
        border: 1px solid #999;
        page-break-inside: avoid;
    }

    /*
     * Printing Tables:
     * http://css-discuss.incutio.com/wiki/Printing_Tables
     */

    thead {
        display: table-header-group;
    }

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

    img {
        max-width: 100% !important;
    }

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

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