html, body, div {
    margin:0;
    padding:0;
    border:0;
    outline:0;
    font-size:100%;
    vertical-align:baseline;
}

body {
    background: #000;
    height: 100%;
    width: 100%;
    text-align: center;
    padding-top: constant(safe-area-inset-top);
    padding-right: constant(safe-area-inset-right);
    padding-bottom: constant(safe-area-inset-bottom);
    padding-left: constant(safe-area-inset-left);
    padding-top: env(safe-area-inset-top);
    padding-right: env(safe-area-inset-right);
    padding-bottom: env(safe-area-inset-bottom);
    padding-left: env(safe-area-inset-left);
}

.game {
    position: fixed;
    background-repeat: no-repeat;
    background-position-x: center;
    background-position-y: center;
    background-size: contain;
    margin: auto;
    left: 0;
    right: 0;
    bottom: 0;
    top: 0;
    -moz-box-shadow: 0 0 10px #000;
    -webkit-box-shadow: 0 0 10px #000;
    box-shadow: 0 0 10px #000;
}

.full-size {
    width: 100%!important;
    height: 100%!important;
}

.game canvas, .spine {
    position: absolute;
    position: fixed;
    margin: auto;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}

.alert {
    position: absolute;
    position: fixed;
    margin: auto;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    color: #FFF;
    width: 90%;
    font-size: 40px;
    text-align: left;
    padding-top: 20px;
}

.mobile .alert {
    font-size: 40px;
}

/* mobile */
:fullscreen { background-color: #000; }
:-webkit-full-screen { background-color: #000; }
:-moz-full-screen { background-color: #000; }
:-ms-fullscreen{ background-color: #000; }

.landscape{
    z-index: 5;
    display: none;
    width: 100%;
    height: 100%;
    position: fixed;
    left: 0;
    top: 0;
    background-color: #000;
    background-size: 40%;
    background-repeat: no-repeat;
    background-position: center;
}

.fullscreen {
    z-index: 10;
    position: relative;
    overflow: scroll;
    width: 100%;
    bottom: 0;
    background-color: #000;
    background-size: 30%;
    background-repeat: no-repeat;
    background-position: center top;
}

.hidden {
    display: none;
}

.disableTouch {
    touch-action: none;
    user-select: none;
    pointer-events: none;
}

.spine {
    pointer-events: none;
    touch-action: none;
    user-select: none;
}

.vertical-background {
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    object-fit: cover;
    touch-action: none;
    user-select: none;
    pointer-events: none;
}

.mobile .vertical-background {
    display: none;
}

/* iframe */
.iframePos {
    position: relative;
    z-index: 99;
    width: 100%;
    height: 100vh;
    margin: 0 auto;
    background-color: #000;
}

.iframeHorizontal .iframePos {
    width: 90vw;
}

iframe {
    width: 100%;
    height: 100%;
    position: relative;
}

.iframePos > a > div {
    height: 60px;
    width: 10px;
    background-color: #FFFFFF;

    position: absolute;
    right: 10%;
    top: 40px;
}

.iframePos > a:hover > div { 
    background-color:rgb(90, 90, 90);
}

.iframePos > a > div.closeLeft {
    transform: rotate(45deg)
}

.iframePos > a > div.closeRight {
    transform: rotate(-45deg)
}

.close {
    display: none;
}

/* feedback iframe */
.iframeWrap {
    width: 100%;
    height: 100%;
}

.iframeWrap iframe {
    border: none;
}

.iframeWrap .closeBtn {
    position: absolute;
    z-index: 9999;
    width: 2.5rem;
    height: 2.5rem;
    right: 0;
    margin: 1rem;
    background-repeat: no-repeat;
    background-size: cover;
    background-image:url('../images/feedback/m_btn_help_return_up.png');
}

.iframeWrap .closeBtn:hover {
    background-image:url('../images/feedback/m_btn_help_return_hover.png');
}

.closeIframe {
    display: none;
}

/* promotion */
.promotionPos {
    position: fixed;
    z-index: 50;
    display: flex;
    left: 10px;
    top: 10px;
    transform-origin: left top;
}

.promotion {
    width: 152px;
    height: 152px;
    background-repeat: no-repeat;
    background-size: cover;
    background-image:url('../images/promotion/m_btn_activity.png');
    display: flex;
    justify-content: center;
    align-items: center;
}

.promotionImage {
    border: none;
}

/* 直立 */
.portraitMode .promotionPos {
    flex-direction: column;
    left: 38px;
    top: 245px;
}

.portraitMode .promotion {
    width: 126px;
    height: 126px;
}

.mobile.portraitMode .promotionPos {
    left: 38px;
    top: 255px;
}