
html, body {
    overflow: hidden;
    width : 100%;
    height : 100%;
    margin : 0;
    padding : 0;
    font-family: open-sans, source-han-sans-traditional, sans-serif;
}
#renderCanvas {
    width : 100%;
    height : 100%;
    touch-action: none;
    user-select: none;
    -webkit-tap-highlight-color: transparent;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
}
audio{
    display:none;
}
#scene-explorer-host, #inspector-host{
    z-index:999;
}

body.en .tc,  body.en .zh, body.en .cn { display:none !important;}
body.tc .en,  body.tc .zh { display:none !important;}
body.zh .en,  body.zh .tc { display:none !important;}

a {
    cursor: pointer !important;
    color: #e74124;
}
.highlight{
    font-size:1.5em;
    color: #e74124;
    text-align: center;
}
p {
    margin: 10px 0;
}

.pb {
    margin-bottom: 10px !important;
}

* {
    box-sizing: border-box;
}
.center{
    text-align: center;
}

#popup {
    font-size: 13px;
    position: fixed;
    top:0; bottom:0; left:0; right:0;
    z-index:1000;
    transition: opacity 0.5s linear;
    opacity: 1;
    text-align: justify;

    display:flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
}
#popup.hide {
    opacity: 0;
}
#popup.loading {
    background: #8c8c8c url(../popup/bg.png) center/100% 100%;
}
#popup.ready {
    background-color: rgba(0,0,0,0.75) !important;
    background-image: none;
}
#popup.popuponly {
    z-index: 0;
    background-position: center center;
    background-size: 100% auto;
}
#popup.popuponly.vertical {
    background-size: auto 100%;
}
#popup .inner {
    background: #FFF;
    box-shadow: 0px 5px 10px 0px #000;
    display:flex;
    flex-direction: column;
    max-width:90%;
    max-height:90%;
    overflow: auto;
    position: relative;
}
#popup.full .inner {
    width:90% !important;
    height:90% !important;
}
#popup article {
    Flex: 1;
    display:flex;
    flex-direction: row;
    overflow: auto;
}

/* Links */
#popup a {
    position:relative; 
    display:inline-block;
    overflow: hidden;
}
#popup a .play{
    position:absolute;
    left:10px; bottom:10px;
    background-image: url(../popup/icons/icon-playVid.png);
    background-size: 100% 100%;
    width: 45px;
    height: 45px;
}

#popup .popuplinks a {
    position: relative;
}
#popup .popuplinks .hl{
    position: absolute;
    z-index:10;
    left:0;top:0;right:0;bottom:0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0,0,0,0.75);
    text-transform: uppercase;
    opacity: 0;
    transition: opacity 0.5s;
}
#popup .popuplinks a:hover .hl{
    opacity: 1;
}

/* Shared Layout */
#popup aside .keyimage img{
    display: none;
}
#popup section{
    flex: 1;
}
#popup header{
    text-align: right;
    height:77px;
    flex: 0;
}
#popup .content p{
    margin-top: 0;
}
#popup .content .logo{
    margin-bottom: 10px;
}
#popup .logo img{
    max-width: 100%;
}

/* Loader Layout */
#popup.loading header{
    display:none;
}
#popup.loading aside{
    padding: 0;
}
#popup.loading aside .keyimage a {
    display: block;
}
#popup.loading aside .keyimage img.desktop{
    display:block; 
    width: 400px;
    height: 500px;
}
#popup.loading aside .logo,  #popup.loading aside .social{
    display:none;
}
#popup.loading .more {
    display: none;
}
#popup.loading .main {
    width: 400px;
}
#popup.loading .content{
    padding: 20px 20px 80px;
}
#popup.loading .main .keyimage {
    display: none;
}
#popup.loading .main .logo {
    text-align: center;
}
#popup.loading .main #enterC {
    display:block;
    line-height: 0;
    padding:20px 0;
    margin: 0;
    background: #FFF;
    position:absolute;
    bottom:0;
    width: 360px;
}
#popup.loading .keylinks, #popup.loading .scrollarrows{
    display:none;
}
#popup.loading .credits {
    display:none;
}

/* Info Layout */

#popup.ready.popuponly article{
    padding-top:20px;
}

#popup.ready #enterC {
    display:none;
}
#popup.ready aside {
    flex: 0;
    width:350px;
    padding: 0 20px 20px 80px;
    height: 100%;
    text-align: center;
}
#popup.ready aside .logo {
    margin: 20px 0;
}
#popup.ready .content{
    padding: 0 80px 20px 0;
    max-width: 600px;
}
#popup.ready .main .logo {
    display: none;
}
#popup.ready aside .keyimage .play{
    display:none;
}
#popup.ready aside .keyimage img.small{
    display:block; 
    width: 250px;
    height: 250px;
}
#popup.ready .credits{
    position:absolute;
    margin: 0;
    left: 8px;
    bottom: 0;
    font-size:12px;
}
#popup.ready .credits a{
    color: #666;
    text-decoration: none;
}

/* Content layouts */

#popup .social, #popup .social li, #popup .keylinks, #popup .keylinks li{
    padding: 0;
    margin:0;
    list-style: none;
}

#popup .keylinks {
    display: flex;
    line-height: 0;
    margin-top:10px;
}
#popup .keylinks li{
    padding: 0 0 0 10px;
}
#popup .keylinks li:first-child{
    padding: 0;
}
#popup .keylinks img{
    width:100%;
    height: auto;
}
#popup .scrolllinks{
    overflow: auto;
}
#popup .scrolllinks img{
    min-width: 150px;
}

#popup .scrollarrows{
    position: relative;
}

/* Enter / loading button */

#popup #enterC
{
    text-align: center;
}
#popup #enterC a {
    display:inline-block;
    padding: 0 64px 0 20px;
    line-height:48px;
    position:relative;
    height: 48px;
    background-color: #000;
    color: #FFF;
    font-size: 20px;
    text-decoration: none;
}
#popup #enterC .arrow {
    position:absolute;
    display:block;
    width:15px;
    height:9px;
    right:24px;
    top:20px;
    background-image: url(../popup/icons/icon-arrow.png)
}

/* Loader */
#popup .loader {
    position:absolute;
    display:block;
    width:32px;
    height:32px;
    right:16px;
    top:8px;
    background: url(../popup/loading.png);
    background-size: 32px auto;
    background-position: 0 0;
}
#popup .loader.load1 {
    background-position: 0 -32px;
}
#popup .loader.load2 {
    background-position: 0 -64px;
}
#popup .loader.load3 {
    background-position: 0 -96px;
}
#popup .loader.load4 {
    background-position: 0 -128px;
}
#popup .loader.load5 {
    background-position: 0 -128px;
}
#popup .loader.load6 {
    background-position: 0 -160px;
}
#popup .loader.load7 {
    background-position: 0 -192px;
}
#popup .loader.load8 {
    background-position: 0 -224px;
}
#popup .loader.load9 {
    background-position: 0 -256px;
}

/* Icons */
#popup .icon,#menu .icon {
    transform: translateZ(0);
    overflow: hidden;
    text-indent: -1000em;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100% auto;
}
#menu .txt {
    transform: translateZ(0);
}
#openBtn {
    position:fixed;
    top:10px;
    right:10px;
    z-index:900;

    width:77px;
    height:77px;
    background-image: url(../popup/icons/icon-more-box-en.png);
}
.tc #openBtn, .zh #openBtn {
    background-image: url(../popup/icons/icon-more-box-cn.png);
}
#backBtn {
    position:fixed;
    top:10px;
    left:10px;
    z-index:900;

    width:77px;
    height:77px;
    background-image: url(../popup/icons/icon-back-box-en.png);
}
.tc #backBtn, .zh #backBtn{
    background-image: url(../popup/icons/icon-back-box-cn.png);
}
#closeBtn {
    text-align:left;
    width:77px;
    height:77px;
    background-image: url(../popup/icons/icon-close-back-en.png);
}
.tc #closeBtn {
    background-image: url(../popup/icons/icon-close-back-tc.png);
}
.zh #closeBtn {
    background-image: url(../popup/icons/icon-close-back-zh.png);
}
#muteBtn {
    position:fixed;
    top:10px;
    right:107px;
    z-index:900;

    width:34px;
    height:77px;
    background-image: url(../popup/icons/icon-volume-up.png);
}
#muteBtn.muted {
    background-image: url(../popup/icons/icon-volume-mute.png);
}
#fsBtn {
    position:fixed;
    bottom:10px;
    right:10px;
    z-index:900;

    width:34px;
    height:34px;
    background-image: url(../popup/icons/icon-fullscreen.png);
}
#xBtn {
    position: absolute !important;
    z-index:900;
    top:0;
    right: 0;
    width:30px;
    height:30px;
    box-sizing: content-box;
    border: 10px solid white;
    background-color: #FFF;
    background-image: url(../popup/icons/icon-close-blk.png);
}
.external #xBtn {
    top:8px;
    right: 8px;
    border: 0 none;
    position:fixed !important;
    background-color: transparent;
    background-image: url(../popup/icons/icon-close-white.png);
}
#surveyBtn {
    position:fixed;
    bottom:10px;
    right:64px;
    z-index:900;

    width:34px;
    height:34px;
    background-image: url(../popup/icons/icon-survey-en.png);
}
#menu #creditsBtn{
    position:fixed;
    left: 10px;
    bottom: 10px;
    font-size:12px;
    color: #FFF;
    text-decoration: none;
    z-index:1001;
}
.tc #surveyBtn{
    background-image: url(../popup/icons/icon-survey-tc.png);
}
.zh #surveyBtn{
    background-image: url(../popup/icons/icon-survey-zh.png);
}

#popup .arrowl, #popup .arrowr{
    position: absolute;
    width: 23px;
    height: 42px;
    top: 50%;
    margin-top: -21px;
}
#popup .arrowl{
    left: -30px;
    background-image: url(../popup/icons/icon-prev.png);
}
#popup .arrowr{
    right: -30px;
    background-image: url(../popup/icons/icon-next.png);
}

/* Iframe */
#popupIframe {
    width:100%;
    height: 100%;
}
iframe {
    position:absolute;
    width:100%;
    height:100%;
    border: 0 none;
}

/* Extra popup */
.fadingpopup{
    position:fixed;
    z-index: 1100;
    left:0;right:0;top:0;bottom:0;
    background: rgba(0,0,0,0.75);
    justify-content: center;
    align-items: center;
    transition: opacity 0.5s linear;
    opacity: 0;
    display:none;
    text-align: left;
    padding:20px;
}
.fadingpopup.show{
    display:flex;
}
.fadingpopup div{
    background: #000 url(../popup/icons/icon-close-red.png) no-repeat;
    background-position: right 10px top 10px;
    background-size: 20px 20px;
    color:#FFF;
    padding:60px;
}
.fadingpopup a{
    display: inline !important;
}
.fadingpopup p{
    min-height:40px;
    margin: 20px 0;
    display:flex;
    align-items: center;   
    flex-wrap: wrap; 
}
.fadingpopup p span{
    margin-right: 10px;
}
.fadingpopup p:first-child {
    margin-top: 0;
}
.fadingpopup p:last-child {
    margin-bottom: 0;
}
.fadingpopup h1{
    margin-top: 0;
    font-size: 36px;
    color: #e74124;
    font-weight: 500;
}
.fadingpopup img{
    vertical-align: top;
}

/* Icons */

#popup .social{
    padding: 10px 0 0;
    display:flex;
    justify-content: center;
}
#popup .social a {
    margin: 0 10px;
    display:block;
    width:21px;
    height:21px;
    background-size: 100% 100%;
    overflow: hidden;
    text-indent: -1000em;
}
#popup .social .twitter{
    background-image: url("../popup/icons/twitter-brands.png")
}
#popup .social .email{
    background-image: url("../popup/icons/envelope-solid.png")
}
#popup .social .instagram{
    background-image: url("../popup/icons/instagram-brands.png")
}
#popup .social .youtube{
    background-image: url("../popup/icons/youtube-brands.png")
}
#popup .social .facebook{
    background-image: url("../popup/icons/facebook-f-brands.png")
}
#popup .social .website{
    background-image: url("../popup/icons/web-brands.png")
}
#popup .social .weibo{
    background-image: url("../popup/icons/weibo-brands.png")
}

/* Mobile */

@media screen and (max-width: 1060px) {
    #popup.ready .inner {
        width:400px;
    }
    #popup.ready article {
        flex-direction: column;
    }
    #popup.ready aside{
        padding: 0;
        width: 100%;
    }
    #popup.ready aside .keyimage img.small{
        display:none
    }
    #popup.ready aside .keyimage img.mobile{
        display:block;
        width: 100%;
    }
    #popup.ready .mobilev{
        width: auto !important;
        height: 100px;
    }
    #popup.ready .content{
        padding: 0 20px 40px;
        position: relative;
    }
    #popup .social{
        padding: 0 0 10px;
    }

    #popup .keylinks.hor {
        flex-direction: column;
    }
    #popup .keylinks.hor li{
        padding: 10px 0 0 0;
    }
    
    #popup .arrowl, #popup .arrowr{
        position: absolute;
        width: 7px;
        height: 13px;
        top: 50%;
        margin-top: -7px;
    }
    #popup .arrowl{
        left: -12px;
    }
    #popup .arrowr{
        right: -12px;
    }
}

@media screen and (max-width: 900px) {
    #popup.loading .inner {
        width:400px;
    }
    #popup.loading article {
        flex-direction: column;
    }
    #popup.loading aside .keyimage img.desktop{
        display:none
    }
    #popup.loading aside .keyimage img.mobile{
        display:block;
        width: 100%;
        max-width:400px; 
    }
    #popup.loading .main, #popup.loading .main #enterC {
        left:0;
        width:100%;
    }
    .fadingpopup h1{
        font-size:20px;
    }
}
