
body{
    overflow: hidden;
    margin: 0;
    padding: 0;
    background-color: #181926;

    color: white;
    font-size: 1em;

    position: absolute;
    width:100vw;
    height:100vh;
}

body::before {
    content: "";
    /*background-image: url("/welcome/screenshot-0-41-0-blur.jpg");*/
    background-position: center;
    background-size: cover;
    position: absolute;
    top: 0px;
    right: 0px;
    bottom: 0px;
    left: 0px;
    opacity: 0.0;
}
/* dont remove this until I review JS */
@keyframes background_fade {
    0% { opacity: 0; }
    100% { opacity: 0.1; }
}

#content{
    position: absolute;
    top:0;
    left: 0;
}

#menubar {
    z-index: 100;
    position: fixed;
    height: 100vh;
    width: 100vw;
    pointer-events: none;
}
.menubar-links-wrapper{
    position: relative;
    width:100vw;
    text-align: center;
    text-shadow: 0px 0px 8px #909090;
    opacity: 0;
    animation-duration: 3.2s;
    animation-fill-mode: forwards;
    animation-name: fade_in;
    animation-delay: 3.2s;

    -webkit-animation-duration: 3.2s;
    -webkit-animation-fill-mode: forwards;
    -webkit-animation-name: fade_in;
    -webkit-animation-delay: 3.2s;

    top: -32px;
    height: 60px;
}
@keyframes fade_in {
    0% { opacity: 1.0;}
    100% { opacity: 1.0;}
}

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

a:hover{
    text-shadow: 0px 0px 8px #f4f795;
}

.menubar-links{
    width: 100%;
    font-size: 1em;
}
.menubar-link{
    display:inline;
    pointer-events: auto;
    cursor: pointer;
    margin-left: 2%;
    margin-right: 2%;
}


.current-state-text{
    color: #eeeeee;
    font-size: 0.85em;
    width: 100%;
    margin-top: 18px;
}
.directions-text{
    font-size: 0.6em;
    width: 100%;
    color: #e6e6e6;
}

.text-spacer{
    width: 100%;
}

#vf-logo-outline{
    color: #000000;
    opacity: 0;
}

#vf-logo-inner{
    color:#fefefe;
    opacity: 0;
}

#vf-logo{
    position: relative;
    width: 100vw;
    height: calc(100vh - 0%);
    color: #ffffff;

    animation-duration: 2.5s;
    animation-fill-mode: forwards;
    animation-name: logoscale_change;
    animation-delay: 1.5s;

    -webkit-animation-duration: 2.5s;
    -webkit-animation-fill-mode: forwards;
    -webkit-animation-name: logoscale_change;
    -webkit-animation-delay: 1.5s;

    margin-top:1%;
    opacity:0;
}
#logo-and-menu-spacer {
    margin-top: 194px;
    display:none;
}

@keyframes logoscale_change {
    0% { height : calc(100vh - 0%); }
    100% { height: 150px; }
}

#herowrapper{
    --HWstartH:0px;
    --HWendH:0px;
    height:calc(100vh - 194px);
    position: relative;
    overflow: hidden;
}

@media only screen and (max-width:360px) {
    .current-state-text{
        font-size: 0.75em;
    }
}

@media only screen and (min-width:550px) {
    @keyframes logoscale_change {
        0% { height : calc(100vh - 0%); }
        100% { height: calc(200px); }
    }

    .menubar-links-wrapper{
        top: -42px;
    }

    .menubar-link{
        font-size: 1.6em;
    }

    .current-state-text{
        font-size: 1.0em;
        margin-top: 19px;
    }

    .directions-text{
        font-size: 0.9em;
    }

    #logo-and-menu-spacer{
        margin-top: 265px;
    }

    #herowrapper{
        height:calc(100vh - 265px)
    }
}

@media only screen and  (min-width:700px) {
    .menubar-links-wrapper{
        top: -27px;
    }

    .menubar-link{
        font-size: 1.6em;
        margin-right: 5%;
        margin-left: 5%;
    }

    .current-state-text{
        font-size: 1.4em;
        margin-top: 19px;
    }

    .directions-text{
        font-size: 0.9em;
    }

    #logo-and-menu-spacer{
        margin-top: 292px;
    }

    #herowrapper{
        height:calc(100vh - 292px)
    }
}

@media only screen and  (min-width:790px) {
    @keyframes logoscale_change {
        0% { height : calc(100vh - 0%); }
        100% { height: calc(250px); }
    }

    .menubar-links-wrapper{
        top: -20px;
    }

    .menubar-link{
        font-size: 2em;
        margin-right: 5%;
        margin-left: 5%;
    }

    .current-state-text{
        font-size: 1.4em;
        margin-top: 26px;
    }

    #logo-and-menu-spacer{
        margin-top: 373px;
    }

    #herowrapper{
        height:calc(100vh - 343px)
    }
}


@media only screen and  (min-width:1220px) {
    @keyframes logoscale_change {
        0% { height : calc(100vh - 0%); }
        100% { height: calc(280px); }
    }

    .menubar-links-wrapper{
        top: -21px;
    }

    .menubar-link{
        font-size: 2em;
        margin-right: 10%;
        margin-left: 10%;
    }

    .current-state-text{
        font-size: 1.4em;
        margin-top: 26px;
    }

    .directions-text{
        font-size: 0.9em;
    }

    #logo-and-menu-spacer{
        margin-top: 414px;
    }

    #herowrapper{
        height:calc(100vh - 414px)
    }
}

@media only screen and  (min-width:1360px) {
    .menubar-links-wrapper{
        top: -4px;
    }
    #logo-and-menu-spacer{
        margin-top: 426px;
    }

    #herowrapper{
        height:calc(100vh - 426px)
    }
}


#vf-tagline{
    margin: 0;
    position: relative;
    width: 100vw;
    height: 100%;
    color: #fff;
}

@keyframes tag_color_change {
    0% { opacity: 0; }
    65% { opacity: 0; }
    100% { opacity: 1.0; }
}

#sectionholder{
    position: absolute;
    width: 100vw;
    top:0;
    height: 100vh;
}
#section1{
    height: 100%;
}

#herocontrol{
    height:100%;
    width: 100%;
    position: relative;
    left:0px;

    --top:0px;
    --startW:0px;
    --startH:0px;
    --endW:0px;
    --endH:0px;
    --startX: 0px;
    --startY: 0px;
    --endX: 0px;
    --endY: 0px;
    /*position: fixed;*/
    transform: translate(var(--endX), var(--endY));
    opacity: 0;
}



#hero{
    /*object-fit: contain;*/
    width: 100%;
    height: 100%;
    position: relative;
}

.heroWrapperZoom{
    animation-duration: 3.0s;
    animation-fill-mode: forwards;
    animation-name: wrapper_zoom;

    -webkit-animation-duration: 3.0s;
    -webkit-animation-fill-mode: forwards;
    -webkit-animation-name: wrapper_zoom;
}
@keyframes wrapper_zoom {
    0% {height: var(--HWstartH);}
    100% {height: var(--HWendH);}
}
/* couldnt reuse the same effect because the duration becomes ignored */
.heroWrapperShrink{
    animation-duration: 3.0s;
    animation-fill-mode: forwards;
    animation-name: wrapper_shrink;
    -webkit-animation-duration: 3.0s;
    -webkit-animation-fill-mode: forwards;
    -webkit-animation-name: wrapper_shrink;

}
@keyframes wrapper_shrink {
    0% {height: var(--HWstartH);}
    100% {height: var(--HWendH);}
}

.heroWrapperIntro{
    animation-duration: 3.0s;
    animation-fill-mode: forwards;
    animation-name: wrapper_intro;
    animation-delay: 4.0s;
    -webkit-animation-duration: 3.0s;
    -webkit-animation-fill-mode: forwards;
    -webkit-animation-name: wrapper_intro;
    -webkit-animation-delay: 4.0s;

}
@keyframes wrapper_intro {
    0% {
        height: var(--HWstartH);
    }
    100% {
        height: var(--HWendH);
    }
}

.heroIntro{
    animation-duration: 3.0s;
    animation-fill-mode: forwards;
    animation-name: heroIntroEffect;
    animation-delay: 4.0s;
    -webkit-animation-duration: 3.0s;
    -webkit-animation-fill-mode: forwards;
    -webkit-animation-name: heroIntroEffect;
    -webkit-animation-delay: 4.0s;
}
@keyframes heroIntroEffect {
    0% {
        top: 0px;
        opacity: 0.0;
        width: var(--startW);
        height: var(--startH);
        transform: translate(var(--startX), var(--startY));
    }
    100% {
        top: var(--top);
        opacity: 1.0;
        width : var(--endW);
        height: var(--endH);
        transform: translate(var(--endX), var(--endY));
    }
}


.heroZoom{
    animation-duration: 3.0s;
    animation-fill-mode: forwards;
    animation-name: hero_zoom_effect;
    -webkit-animation-duration: 3.0s;
    -webkit-animation-fill-mode: forwards;
    -webkit-animation-name: hero_zoom_effect;
}
@keyframes hero_zoom_effect {
    0% {
        top: var(--top);
        opacity: 1;
        width: var(--startW);
        height: var(--startH);
        transform: translate(var(--startX), var(--startY));
    }
    100% {
        top: var(--top);
        opacity: 1;
        width : var(--endW);
        height: var(--endH);
        transform: translate(var(--endX), var(--endY));
    }
}
/* couldnt reuse the same effect because the different duration was ignored */
.heroShrink{
    animation-duration: 3.0s;
    animation-fill-mode: forwards;
    animation-name: hero_shrink_effect;
}
@keyframes hero_shrink_effect {
    0% {
        top: var(--top);
        opacity: 1;
        width: var(--startW);
        height: var(--startH);
        transform: translate(var(--startX), var(--startY));
    }
    100% {
        top: var(--top);
        opacity: 1;
        width : var(--endW);
        height: var(--endH);
        transform: translate(var(--endX), var(--endY));
    }
}



.mlink{
    /*text-shadow: 0px 0px 4px rgb(244, 247, 149,0.5);*/
}

#extradetails {
    margin-top: 10px;
    opacity: 0;
    animation-duration: 3.0s;
    animation-fill-mode: forwards;
    animation-name: extradetails_fade_effect;
    animation-delay: 6.0s;
    -webkit-animation-duration: 3.0s;
    -webkit-animation-fill-mode: forwards;
    -webkit-animation-name: extradetails_fade_effect;
    -webkit-animation-delay: 6.0s;
}

@keyframes extradetails_fade_effect {
    0% { opacity: 0.0;}
    100% { opacity: 1.0;}
}

#instruction-text{
    margin: 10px;
    color: #cecece;
    text-align: center;
    opacity: 0;
}

#intro-text{
    margin:10px;
    margin-top: 30px;
    color:#c4c4c4;
    /*height: 163px;*/
    overflow: auto;
}

#leftside-intro{
    float:left;
    width:50%;
}
#rightside-intro{
    float:left;
    width: 50%;
}

ul{
    padding: 0;
    list-style-type: none;
}
li{
    text-align: center;
}

@media only screen and  (max-width:480px) {
    #leftside-intro{
        width: 100%;
    }
    #rightside-intro{
        width: 100%;
    }
}
