::-webkit-scrollbar { 
    display: none; 
}

@font-face {
    font-family: 'ibm-sans';
    src: url('ibmplexsans-light-webfont.woff2') format('woff2'),
         url('ibmplexsans-light-webfont.woff') format('woff');
    font-weight: 200;
    font-style: normal;
}
@font-face {
    font-family: 'ibm-sans';
    src: url('ibmplexsans-text.woff2') format('woff2'),
         url('ibmplexsans-text.woff') format('woff');
    font-weight: 400;
    font-style: normal;
}
@font-face {
    font-family: 'ibm-mono';
    src: url('ibmplexmono-regular-webfont.woff2') format('woff2'),
         url('ibmplexmono-regular-webfont.woff') format('woff');
    font-weight: 400;
    font-style: normal;
}



/*
========================================================================

                            Allgemein

========================================================================
*/
html{
    height: 100%;
    overflow-x: hidden;
}
html,
body {
    position: relative;
    height: 100%;
    width: 100%;
    margin: 0;
    padding: 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    font-family: sans-serif;
    background: black;
    color: white;
    
    font-family: 'ibm-sans', sans-serif;
    font-size: 16px;
    font-weight: 200;
    text-rendering: optimizeLegibility !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
}







/*
========================================================================

                            Touchlayer

========================================================================
*/
#touchLayer{
    display: block;
    position: absolute;
    z-index: 999; /* Devcontrols on 9999 */
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    overflow: hidden;
}







/*
========================================================================

                            Finger

========================================================================
*/
#finger{
    position: absolute;
    left: 50%;
    top: 50%;
    height: 60px;
    width: 60px;
    border-radius: 100%;
    border: 1px solid rgba(255,255,255,1);
    /*background-color: rgba(255,255,255,.1);
    box-shadow: 0 0 15px rgba(17,197,217,1);*/
    transform: translate(-50%,-50%);
    
    transition: opacity .1s .1s;
    opacity: 0;
}
#finger.active{
    opacity: 1;
    transition-delay: 0s;
    transition-duration: .2s;
}
#finger::after{
    content: '';
    position: absolute;
    border: 10px solid rgba(17,197,217,.6);
    border-radius: 100%;
    transition: top .3s,
                left .3s,
                height .3s,
                width .3s,
                border 0s .3s;
    top: 0px;
    left: 0px;
    height: 40px;
    width: 40px;
}
#finger.active::after{
    top: -30px;
    left: -30px;
    height: 100px;
    width: 100px;
    transition: top .3s,
                left .3s,
                height .3s,
                width .3s,
                border 0s;
}

body.two #finger::after{
    border-color: rgba(204,192,89,.6);
}
body.three #finger::after{
    border-color: rgba(142,105,225,.7);
}







/*
========================================================================

                            Develop Controls

========================================================================
*/
body.dev .name,
body.dev #finger,
body.dev .controls{
    display: none;
}

body.dev{
    background: url(../img/Controls/refresh.svg) no-repeat center 15%;
}

.redline{
    display: none;
}
body.dev .redline{
    display: block;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    border-top: 1px solid red;
    background-color: rgba(255,0,0,.1);
}
.redline::before{
    content: 'Swipe here to refresh';
    text-align: center;
    
    position: absolute;
    top: 10%;
    left: 1em;
    right: 1em;
}







/*
============================================================================================================================

                                                                Tutorial

============================================================================================================================
*/
#tutorial{
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    overflow: hidden;
}



/************************************** Merkhilfe */
#tutorial>img{
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
    transition: opacity 2s 4s ease;
}
body.touched #tutorial>img{
    opacity: 0;
    transition: opacity .2s;
}




/************************************** Title */
#tutorial::before{
    content: 'ToucHUD';
    font-size: 1.5em;
    color: rgba(255,255,255,.5);
    
    position: absolute;
    left: 0;
    bottom: 0;
    right: 0;
    text-align: center;
    padding: .5em;
    
    transition: transform .4s 5s ease;
}
body.touched #tutorial::before{
    opacity: 0;
    transform: translateY(2em);
    transition: all .2s;
}




/************************************** Bezeichnung */
#tutorial .name{
    font-size: 1em;
    position: absolute;
    left: -7em;
    bottom: 1.5em;
    transition: left .8s 1.8s ease;
}
body.touched #tutorial .name{
    left: 1.5em;
    transition: left .3s ease;
}
body:not(.one) #tutorial .name .one,
body:not(.two) #tutorial .name .two,
body:not(.three) #tutorial .name .three{
    display: none;
}
.name>div{
    height: 2em;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    font-weight: 400;
}
.name img{
    height: 1.5em;
    width: 1.5em;
    margin-right: .5em;
}
.name .one,
#attraction .bottom>:nth-child(1) .name{
    color: #26C6DC;
}
.name .two,
#attraction .bottom>:nth-child(2) .name{
    color: #CCC059;
}
.name .three,
#attraction .bottom>:nth-child(3) .name{
    color: #8E69E1;
}






/*
========================================================================

                            Controls

========================================================================
*/
.controls{
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
    width: 80vw;
    height: 80vw;
}
.controls>*{
    opacity: 0;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: scale(.6);
    height: 12vw;
    width: 12vw;
    margin: -6vw;
    background: transparent no-repeat center center;
    transition: opacity .7s 1.2s,
                transform .7s 1.2s;
}
body.touched .controls>*{
    opacity: .4;
    transform: scale(1);
    transition: opacity .2s,
                transform .2s;
}
.controls .top{
    top: 0;
    margin-top: 0;
}
.controls .bottom{
    bottom: 0;
    margin-bottom: 0;
    top: auto;
}
.controls .left{
    left: 0;
    margin-left: 0;
}
.controls .right{
    left: auto;
    right: 0;
    margin-right: 0;
}


/************************* Active */
body:not(.one).up .controls .top,
body:not(.one).down .controls .bottom,
body.one.down .controls .top,
body.one.up .controls .bottom,
body.left .controls .left,
body.right .controls .right{
    opacity: 1;
    transition-duration: .2s;
}
body.click .controls .middle{
    animation: click .2s;
}
@keyframes click{
    0%{
        opacity: .4;
    }
    50%{
        opacity: 1
    }
    100%{
        opacity: .4;
    }
}


/************************* One Finger */
body.one .controls .top{
    background-image: url(../img/Controls/Arrow-up.svg);
}
body.one .controls .bottom{
    background-image: url(../img/Controls/Arrow-down.svg);
}
body.one .controls .left{
    background-image: url(../img/Controls/Arrow-left.svg);
}
body.one .controls .right{
    background-image: url(../img/Controls/Arrow-right.svg);
}
body.one .controls .middle{
    background-image: url(../img/Controls/Enter.svg);
}



/************************* Two Fingers */
body.two .controls .top{
    background-image: url(../img/Controls/plus.svg);
}
body.two .controls .bottom{
    background-image: url(../img/Controls/minus.svg);
}
body.two .controls .left{
    background-image: url(../img/Controls/Backward.svg);
}
body.two .controls .right{
    background-image: url(../img/Controls/forward.svg);
}
body.two .controls .middle{
    background-image: url(../img/Controls/playpause.svg);
}


/************************* Three Fingers */
body.three .controls .top{
    background-image: url(../img/Controls/Menu-up.svg);
}
body.three .controls .bottom{
    background-image: url(../img/Controls/Menu.svg);
}






/*
========================================================================

                            Attraction screen

========================================================================
*/
#attraction{
    opacity: 0;
    transition: opacity .2s;
    
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
}
body.attract #attraction{
    opacity: 1;
    transition: opacity 1s 1s ease;
}
#attraction>*{
    width: 100%;
    display: flex;
    -webkit-box-sizing: border-box !important;
    box-sizing: border-box!important;
    -webkit-hyphens: auto;
    -ms-hyphens: auto;
    hyphens: auto;
}


/************************* top */
#attraction .top{
    position: relative;
    height: 54%;
    justify-content: center;
    align-items: center;
    text-align: center;
    opacity: 0;
    transition: all .3s .5s;
}
#attraction .top p{
    max-width: 350px;
    font-family: 'ibm-mono','ibm-sans',sans-serif;
    font-weight: 400;
    font-size: .9em;
    color: rgba(255,255,255,.7);
}


/************************* bottom */
#attraction .bottom{
    position: absolute;
    bottom: -50vh;
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-start;
    padding: 0
                 1.5em
             2.5em
         3.5em;
    transition: bottom 0s .5s;
}
#attraction .bottom>div{
    width: 27%;
}
#attraction .bottom>div>*{
    display: block;
    margin-top: 2em;
}
#attraction .bottom>div>span{
    font-size: .78em;
    color: rgba(255,255,255,.5);
}
#attraction .bottom>:nth-child(3){
    width: 24%;
}






/*
========================================================================

                            Transition to Attract

========================================================================
*/
/* Bild (Merkhilfe) */
body.attract #tutorial>img{
    opacity: 0;
    transition: opacity 1s ease;
}
/* Titel */
body.attract #tutorial::before{
    transform: translateY(-82vh);
    transition: transform 1.2s .5s ease;
}
/* Untertitel */
body.attract #attraction .top{
    height: 50%;
    opacity: 1;
    transition: all .5s 2s ease;
}
/* Erklärung Steuerung */
body.attract #attraction .bottom{
    bottom: 0;
    transition: bottom 1s 3.5s ease;
}








