body, html {
    background: rgb(255,255,255);
    height: 100%;
    -ms-transform: translateZ(0);
    -moz-transform: translateZ(0);
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-backface-visibility: hidden;
  }

body {
    font: 100% / 1.5 Verdana;
    /*font-family: 'Handlee'; /*Quicksand';/*'Indie Flower';*/
    color: white;
  }

* {
    margin:0;
    padding:0;
  }

a:link { color: white; text-decoration: none; }
a:visited { color: white; text-decoration: none; }

#header { 
    height: 100px;
	width: 100%;
    background: rgb(255,255,255);
    background: rgba(255,255,255,1);
    color:black;
	position: fixed;
    display: block;
    z-index: 999;
}

#navigation {
    height: 50px;
	width: 100%;
    margin-top: 100px;
    background: rgb(0,0,0);
    background: rgba(0,0,0,0.8);
    /*background: rgb(217,40,25);*/
	position: fixed;
    display: block;
    text-align: center;
    z-index: 999;
}

#sidebar {
    background: rgb(217,40,25);
    height: 100vh;
    width: 117px;
    margin-left: 20px;
    position: fixed;
    display: block;
    z-index: 100;
}

#sidebar .bottom {
    color: white;
    top: 90%;
    position: fixed;
    text-align: center;
    margin-left: 15px;
}

#sidebar .bottom a:hover {
    color:black;
}

#logo {
    background: url('../img/logo_small_new.png') no-repeat;
    background-size: auto 100%;
    height: 100px;
    margin-top: 0px;
    margin-left: 20px;
    position: relative;
    display: block;
    z-index: 9999;
}

.titleTop {
    margin-left: 150px;
    margin-top: -85px;
    font-weight: bold;
    font-size: 28px;
    text-align: left;
    display: block;
    position: relative;
}

.titleBottom {
    margin-left: 150px;
    text-align: left;
    font-style: italic;
}


.scroll {
    height: 1000px;
    height: 100vh;
    overflow-x: hidden;
    overflow-y: scroll;
    -ms-perspective: 300px;
    -moz-perspective: 300px;
    -webkit-perspective: 300px;
    perspective: 300px;
    perspective-origin: 100%;
    color:black;
    background: url(../img/logo_small_inverted.png) no-repeat center;
    background-attachment: fixed;   
    background-size: auto 50%;
    
}

.scroll_group {
    position: relative;
    height: 500px; /* fallback for older browsers */
    height: 100vh;
    -ms-transform-style: preserve-3d;
    -moz-transform-style: preserve-3d;
    -webkit-transform-style: preserve-3d;
    transform-style: preserve-3d;
}

#start {
    z-index: 1;
}

#team {
    /*background: rgb(240,240,200);*/
    z-index: 2;
}

#open {
    z-index: 1;
   
}

#price {
    z-index: 2;
}

#contact {
    z-index: 1;
}

.back {
    color: white;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 100vw;
    padding: 20px;
    background: rgb(0,0,0);
    background: rgba(0,0,0,0.8);
    text-align: center;
    font-size: 14px;
}

.mobileHead { display: none; }


/* -------- START --------- */

.start {
    top: 80%;
}

.start .top {
    font-size: 20px;
}

.start .middle {
    font-size: 40px;
    font-weight: bold;
}

.start .bottom {
    font-size: 20px;
}


/* -------- TEAM --------- */

.team {
    
}

.team ul {
    margin: auto;
    margin-left: 20%;
    width: 70vw;
}

.team ul li {
    display: inline;
    list-style: none;
    float: left;
    height: auto;
    padding: 10px;
}

.team .description {
    background: rgba(255,255,255,0.9);
    position: relative;
    width: 150px;
    height: 50px;
    margin-top: -50px;
    color: black;
    display: block;
    text-align: center;  
}

/* -------- ÖFFNUNGSZEITEN --------- */

.open {
}

.open table {
    margin: auto;
    border-collapse: collapse;
    width: 500px;
}

.open table td {
    text-align: center;
    font-size: 16px;
    padding: 5px;
}

/* -------- PREISLISTEN --------- */

.price {  
    background: rgba(0,0,0,0.9);
}
.price a font {font-size: 20px;}
.price a .active {color: white; border-bottom: 2px solid rgb(217,40,25);}
.price a:hover {color:rgb(217,40,25);}

.price .bottom {
    float: none;
    margin-top: 50px;
}

.price ul {
    width: auto;
    margin-left: 25vw;
    max-width: 610px;
}

.price ul li {
    border-collapse: collapse;
    list-style: none;
    padding: 5px 0px;
}

.price .borderBox {
    padding: 10px;
    height: 30px;
    border: 0px solid white;
}

.price .leftCell {
    float: left;
    text-align: right;
    width: 450px;
}

.price .action {
    color: rgb(217,40,25);
    font-weight: normal;
    font-size: 18px;
}

.price .description {
    font-style: italic;
    font-size: 12px;
}


.price .priceCell {
    float: right;
    width: 140px;
    font-style: italic;
    font-weight: normal;
    font-size: 23px;
    text-align: right;
}

/* -------- KONTAKT --------- */

.contact {
    
}

.contentLeft {
    text-align: left;
    margin-left: 20%;
    position: relative;
    float: left;
    width: 20vw;
}

.contentLeft p {
    font-size: 20px;
    font-weight: 800;
}

.contentRight {
    margin-right: 20%;
    position: relative;
    float: right;
    width: 30vw;
}

.frame {
    border: 0;
}


/*------- IMPRESSUM -------*/

.impressum {
    color: black;
    position: absolute;
    width: 70vw;
    padding: 30px;
    background: rgb(255,255,255);
    background: rgba(255,255,255,0.9);
    margin-left: 200px;
    margin-top: 200px;
}

.impressum a:link { color:black; text-decoration: underline; }
.impressum table { padding: 40px;}
.impressum th { text-align: left; padding: 10px; }
.impressum td { margin-left: 30px; padding: 10px; }

.impressum p { text-align: justify; }
}


/* --------- FADE ----------- */

.fade {opacity: 1; cursor: pointer; /* transition: opacity .25s ease-in-out; -moz-transition: opacity .25s ease-in-out; -webkit-transition: opacity .25s ease-in-out; -ms-transition: opacity .25s ease-in-out; -o-transition: opacity .25s ease-in-out; */ }
.fade:hover { opacity: 0.5; }

.fade-rev { opacity: 0.5;   transition: opacity .2s ease-in-out; -moz-transition: opacity .2s ease-in-out; -webkit-transition: opacity .2s ease-in-out; -ms-transition: opacity .2s ease-in-out; -o-transition: opacity .2s ease-in-out; cursor: pointer; }
.fade-rev:hover { opacity: 1; }

.fade-in {
    opacity:0;  /* make things invisible upon start */
    -webkit-animation:fadeIn ease-in 1;  /* call our keyframe named fadeIn, use animattion ease-in and repeat it only 1 time */
    -moz-animation:fadeIn ease-in 1;
    animation:fadeIn ease-in 1;

    -webkit-animation-fill-mode:forwards;  /* this makes sure that after animation is done we remain at the last keyframe value (opacity: 1)*/
    -moz-animation-fill-mode:forwards;
    animation-fill-mode:forwards;

    -webkit-animation-duration:1s;
    -moz-animation-duration:1s;
    animation-duration:1s;
}

.fade-in.one {
-webkit-animation-delay: 0.5s;
-moz-animation-delay: 0.5s;
animation-delay: 0.5s;
}

.fade-in.onetwo {
-webkit-animation-delay: 1s;
-moz-animation-delay: 1s;
animation-delay: 1s;
}

.fade-in.two {
-webkit-animation-delay: 2s;
-moz-animation-delay: 2s;
animation-delay: 2s;
}

.fade-in.three {
-webkit-animation-delay: 3s;
-moz-animation-delay: 3s;
animation-delay: 3s;
}

.fade-in.four {
-webkit-animation-delay: 3.2s;
-moz-animation-delay: 3.2s;
animation-delay: 3.2s;
}

.fade-in.five {
-webkit-animation-delay: 3.4s;
-moz-animation-delay: 3.4s;
animation-delay: 3.4s;
}

.fade-in.six {
-webkit-animation-delay: 4s;
-moz-animation-delay: 4s;
animation-delay: 4s;
}