@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Josefin+Sans:ital,wght@0,100..700;1,100..700&family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap');

@font-face {
    font-family: alphakind;
    src: url(../fonts/alphakind.ttf);
}

@font-face {
    font-family: comixpro2;
    src: url(../fonts/comixpro2.ttf);
}

.infobox button{
    font-family: "Josefin Sans", sans-serif;
    font-optical-sizing: auto;
    color: #00fff8;
    font-weight: 500;
    font-style: normal;
    margin-right: -33vw;
    transition: all 1.2s;
    font-size: 50px;
    line-height: 65px;
    padding: 15px;
    border: 5px solid #00fff8;
    /* background-color: white; */
    background-color: rgb(255 255 255 / 20%);
    margin-bottom: 60px;
}

html, body{
    padding: 0;
    margin: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    background: black;
    overscroll-behavior: none;
}

#preloader{
    display: flex;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: black;
    
    z-index: 9999;
    justify-content: center;
}

#preloader h1{
    color: white;
    font-family: "Josefin Sans", sans-serif;
    align-content: center;
}

#ueberschrift{
    color: #DDA120;
    font-family: "alphakind", sans-serif;
    font-size: 170px;
    align-content: center;
    -webkit-text-stroke: 4px #24E1EA; 
}

#unterueberschrift{
    color: #24E1EA;
    font-size: 110px;
    font-family: "comixpro2", sans-serif;
    align-content: center;
}

body.zwischenszene{
    background: url("../zwischensequenz/bg_zwischensequenz.jpg");
    background-size: cover;
}

#viewport, #cam-viewport{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;        
    transform-origin: center;    
    transform: scale(1);
}

#scene-con, #cam-con{
    position: absolute;
    left: 0;
    top: 0;            
}

#scene-con{
    pointer-events: all;
    overflow: hidden;
}

#cam-con, #cam-viewport{
    pointer-events: none;
}

#viewport.animate{
    transition: transform 1s;
}

#viewport.animate #scene-con{
    transition: transform 1s;
}

.scene{
    opacity: 0;
    display: none;
}

.scene > div{
    position: absolute;
}

.point{
    background: grey;
    position: absolute;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    transform: translateX(-50%) translateY(-50%);
}

.frame{
    /*border: 0px solid white;*/
    border: none;
    position: absolute;
    width: 15%;
    height: 40%;           
}

.frame.active{
    /*border: 2px solid red !important;*/
    border: none;
}

.navBtn{
    height: auto;
    width: 56px;
    background: none;
    outline: none;
    border: none;
}

.navBtn > img{
    height: auto;
    width: 100%;
}

#prevScene{
    transform: rotate(180deg);    
}

.shadowed{
    -webkit-filter: drop-shadow(5px 5px 5px #23E1E9);
    filter: drop-shadow(5px 5px 5px #23E1E9);
    -ms-filter: "progid:DXImageTransform.Microsoft.Dropshadow(OffX=5, OffY=5, Color='#23E1E9')";
    filter: "progid:DXImageTransform.Microsoft.Dropshadow(OffX=5, OffY=5, Color='#23E1E9')";    
}

#controlls{
    position: absolute;
    top: 0;
    right: 0;
    height: 100%;
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: center;    
    pointer-events: none;
    overflow: hidden;
}

#textToggle{
    transform: rotate(180deg);
    transition: all 1.2s;
}

#text{
    font-family: "Josefin Sans", sans-serif;
    font-optical-sizing: auto;
    font-weight: 500;
    font-style: normal;
    margin-right: -33vw;
    transition: all 1.2s;
    font-size: 20px;
    line-height: 28px;
    z-index: 99;
    pointer-events: all;
    overflow: auto;
}

#controlls.open #textToggle{
    transform: rotate(0deg);
}

#controlls.open #text{
    margin-right: 0;
}

#free_space{
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

#spacer{
    flex-grow: 1;    
    position: relative;
}

#bottom_bar{
    display: none;
    position: fixed;
    bottom: 0;
    left: 0;
    width: calc(100vw - 72px);
    height: 72px;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: flex-end;    
    pointer-events: all;
    z-index: 999;
    transition: width 1.2s;
}

#bottom_bar.small{
    width: calc(67vw - 72px);
}

#bottom_bar div{
    margin: 0 8vw;
}

#button_bar{
    display: flex;
    flex-direction: column;
    background-color: rgba(65, 150, 154, 0.6);
    /*background: #41969A;*/
    width: 56px;
    pointer-events: all;
    z-index: 999;
}

#inner_button_bar{
    display: flex;
    flex-grow: 1;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

#inner_button_bar button{
    margin: 8vh 0;
}

#text{
    background-color: rgba(213, 163, 62, 1);
    /*background: #D5A33E;*/
    width: 33vw;    
}

#text_content{
    padding: 32px;
}

#fullscreen{
    padding: 12px;
}

.navBtn.round{
    border-radius: 50%;
    background: rgba(24,27,36,0.4);
    width: 42px;
    height: 42px;
}

.navBtn.square {
    border-radius: 6px;
    background: rgba(24,27,36,0.4);
    width: 80px;
    height: 48px;
    margin-bottom: 16px;
    padding: 4px;
}

.navBtn.square > img{
    height: 100%;
    width: auto;
}

.container{
    position: absolute;
}

.container > div{
    position: absolute;
    top: 0;
    left: 0;
}

.antwort{
    font-weight: bold;
    font-family: "Josefin Sans", sans-serif;
}

.antwort.richtig{
    color: #86FB73;
}

.antwort.falsch{
    color:rgb(164, 27, 27);
}

.infobox_glow{
    -webkit-animation-name: anim_infobox_glow !important;
    -webkit-animation-duration: 2s !important;
    -webkit-animation-iteration-count: infinite !important;
    -webkit-animation-timing-function: ease-in-out !important;
    -webkit-animation-fill-mode: forwards !important;
}

@-webkit-keyframes anim_infobox_glow 
{
    0% { opacity: 60%;}
    50% { opacity: 100%;}
    100% { opacity: 60%;}
}

.clickit{
    -webkit-animation-name: anim_clickit !important;
    -webkit-animation-duration: 0.4s !important;
    -webkit-animation-iteration-count: 1 !important;
    -webkit-animation-timing-function: ease-in-out !important;
    -webkit-animation-fill-mode: forwards !important;
}

@-webkit-keyframes anim_clickit
{
    0% { -webkit-transform: rotate(0deg) scale(1) skew(0deg) translateY(0%);}
    50% { -webkit-transform: rotate(0deg) scale(1.1) skew(0deg) translateY(0%);}
    100% { -webkit-transform: rotate(0deg) scale(1) skew(0deg) translateY(0%);}
}

.infobox_icon{
    -webkit-animation-name: anim_infobox_icon !important;
    -webkit-animation-duration: 2s !important;
    -webkit-animation-iteration-count: infinite !important;
    -webkit-animation-timing-function: ease-in-out !important;
    -webkit-animation-fill-mode: forwards !important;
}

@-webkit-keyframes anim_infobox_icon
{
    0% { -webkit-transform: rotate(0deg) scale(1) skew(0deg) translateY(0%);}
    50% { -webkit-transform: rotate(0deg) scale(1.1) skew(0deg) translateY(0%);}
    100% { -webkit-transform: rotate(0deg) scale(1) skew(0deg) translateY(0%);}
}

#unterueberschrift{
    -webkit-animation-name: anim_unterueberschrift !important;
    -webkit-animation-duration: 0s !important;
    -webkit-animation-iteration-count: 1 !important;
    -webkit-animation-timing-function: linear !important;
    -webkit-animation-fill-mode: forwards !important;
}

@-webkit-keyframes anim_unterueberschrift
{
    0% { -webkit-transform: rotate(0deg) scale(1) skew(0deg) translateY(0%);}
    100% { -webkit-transform: rotate(-4deg) scale(1) skew(0deg) translateY(0%);}
}

#ueberschrift_container{
    -webkit-animation-name: anim_ueberschrift_float !important;
    -webkit-animation-duration: 5s !important;
    -webkit-animation-iteration-count: infinite !important;
    -webkit-animation-timing-function: ease-in-out !important;
    -webkit-animation-fill-mode: forwards !important;
    animation-direction: alternate;
}

#unterueberschrift_container{
    -webkit-animation-name: anim_ueberschrift_float !important;
    -webkit-animation-duration: 5s !important;
    -webkit-animation-iteration-count: infinite !important;
    -webkit-animation-timing-function: ease-in-out !important;
    -webkit-animation-fill-mode: forwards !important;
    animation-direction: alternate;
}

@-webkit-keyframes anim_ueberschrift_float
{
    0% { -webkit-transform: rotate(0deg) scale(1) skew(0deg) translateY(-3%);}
    100% { -webkit-transform: rotate(0deg) scale(1) skew(0deg) translateY(3%);}
}

.infobox_container_text{
    padding-left:33%;
    padding-top:6.3%;
    width: 24%;
    font-family: "Josefin Sans", sans-serif;
    font-optical-sizing: auto;
    font-weight: 500;
    font-style: normal;
    margin-right: -33vw;
    transition: all 1.2s;
    font-size: 50px;
    line-height:65px;
    z-index: 99;
    color: #00fff8;
}

.showbox{
    -webkit-animation-name: anim_infobox_show !important;
    -webkit-animation-duration: 0.5s !important;
    -webkit-animation-iteration-count: 1 !important;
    -webkit-animation-timing-function: ease-in-out !important;
    -webkit-animation-fill-mode: forwards !important;
}

@-webkit-keyframes anim_infobox_show
{
    0% { -webkit-transform: rotate(0deg) scale(0) skew(0deg) translateY(0%);}
    100% { -webkit-transform: rotate(0deg) scale(1) skew(0deg) translateY(0%);}
}

.hidebox{
    -webkit-animation-name: anim_infobox_hide !important;
    -webkit-animation-duration: 0.5s !important;
    -webkit-animation-iteration-count: 1 !important;
    -webkit-animation-timing-function: ease-in-out !important;
    -webkit-animation-fill-mode: forwards !important;
}

@-webkit-keyframes anim_infobox_hide
{
    0% { -webkit-transform: rotate(0deg) scale(1) skew(0deg) translateY(0%);}
    100% { -webkit-transform: rotate(0deg) scale(0) skew(0deg) translateY(0%);}
}

.turnicon{
    -webkit-animation-name: anim_infobox_turn !important;
    -webkit-animation-duration: 0.5s !important;
    -webkit-animation-iteration-count: 1 !important;
    -webkit-animation-timing-function: ease-in-out !important;
    -webkit-animation-fill-mode: forwards !important;
    transform-origin: 48% 45%;
}

@-webkit-keyframes anim_infobox_turn
{
    0% { -webkit-transform: rotate(0deg) scale(1) skew(0deg) translateY(0%);}
    100% { -webkit-transform: rotate(360deg) scale(1) skew(0deg) translateY(0%);}
}

.moveicon_left{
    -webkit-animation-name: anim_infobox_move_left !important;
    -webkit-animation-duration: 0.5s !important;
    -webkit-animation-iteration-count: 1 !important;
    -webkit-animation-timing-function: ease-in-out !important;
    -webkit-animation-fill-mode: forwards !important;
    transform-origin: 48% 45%;
}

@-webkit-keyframes anim_infobox_move_left
{
    0% { -webkit-transform: rotate(0deg) scale(1) skew(0deg) translateX(-400%);}
    100% { -webkit-transform: rotate(0deg) scale(1) skew(0deg) translateX(0%);}
}

.moveicon_right{
    -webkit-animation-name: anim_infobox_move_right !important;
    -webkit-animation-duration: 0.5s !important;
    -webkit-animation-iteration-count: 1 !important;
    -webkit-animation-timing-function: ease-in-out !important;
    -webkit-animation-fill-mode: forwards !important;
    transform-origin: 48% 45%;
}

@-webkit-keyframes anim_infobox_move_right
{
    0% { -webkit-transform: rotate(0deg) scale(1) skew(0deg) translateX(400%);}
    100% { -webkit-transform: rotate(0deg) scale(1) skew(0deg) translateX(0%);}
}

.turniconback{
    -webkit-animation-name: anim_infobox_turnback !important;
    -webkit-animation-duration: 0.5s !important;
    -webkit-animation-iteration-count: 1 !important;
    -webkit-animation-timing-function: ease-in-out !important;
    -webkit-animation-fill-mode: forwards !important;
    transform-origin: 48% 45%;
}

@-webkit-keyframes anim_infobox_turnback
{
    0% { -webkit-transform: rotate(360deg) scale(1) skew(0deg) translateY(0%);}
    100% { -webkit-transform: rotate(0deg) scale(1) skew(0deg) translateY(0%);}
}

@media only screen and (min-width: 1000px) {
    #text{
        font-size: 30px;
        line-height: 40px;
    }

    #button_bar{
        width: 72px;
    }

    .navBtn{
        width: 72px;
    }

    .navBtn.round{
        width: 56px;
        height: 56px;
    }

    .navBtn.square {
        border-radius: 8px;
        width: 120px;
        height: 64px;
    }

    #fullscreen{
        padding: 18px;
    }
  }

