/* Common to App */

@font-face {
    font-family: 'RealTextPro-Regular';
    src:  url(../fonts/RealTextPro-Regular.woff2) format('woff2'),
            url(../fonts/RealTextPro-Regular.woff) format('woff');
}

* {
    box-sizing: border-box;
    -webkit-tap-highlight-color: transparent;
}

html {
    color: #222;
    font-size: 1em;
    line-height: 1.4;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Ubuntu, "Helvetica Neue", sans-serif;
    background-color: #222;
}

p {
    font-family: 'RealTextPro-Regular';
    font-size: 1em;
    text-align: center;
}

body {
    max-width: 420px;
    margin: 0 auto;
    min-height: 100vh;
    background-color: white;
}

::-moz-selection {
    background: #b3d4fc;
    text-shadow: none;
}

::selection {
    background: #b3d4fc;
    text-shadow: none;
}

.unselectable {
    -webkit-touch-callout: none; /* iOS Safari */
    -webkit-user-select: none; /* Safari */
    -khtml-user-select: none; /* Konqueror HTML */
    -moz-user-select: none; /* Firefox */
    -ms-user-select: none; /* Internet Explorer/Edge */
    user-select: none; /* Non-prefixed version, currently supported by Chrome and Opera */
}


/* Hyperlinks */

a:link {
    color: #fff;
}

a:visited {
    color: #fff;
}

a:hover {
    color: #000;
}

a:active {
    color: #fff;
}



/* Landing Screen */

.landing-page {
    position: relative;
}

.landing-background {
    position: absolute;
    left: 0px;
    top: 0px;
    width: 100%;
    pointer-events: none;
}

.landing-copy-container {
    position: relative;
    padding-top: 10vw;
}

.landing-copy {
    display: block;
    margin-left: auto;
    margin-right: auto;
    height: 15vw;
    margin-bottom: 6vw;
    pointer-events: none;
}

.landing-subcopy {
    font-family: 'RealTextPro-Regular';
    font-size: 4vw;
    color: #fff;
    text-align: center;
    text-shadow: 1px 0px 30px rgba(0, 0, 0, 0.75);
    pointer-events: none;
}

.landing-characters-container {
    position: relative;
}

.landing-characters {
    width: 100%;
    pointer-events: none;
}

.landing-buttons-container {
    position: absolute;
    left: 0px;
    bottom: 0px;
    width: 100%;
    text-align: center;
    margin-bottom: 28vw;
}

.landing-button-tim-tari {
    width: 40vw;
    height: 15vw;
    margin: 0vw 3vw;
    background: url(../img/button-tim-tari.png) center no-repeat;
    background-size: contain;
    border: 0px;
    transition: transform .2s; /* Animation */
}

.landing-button-tim-tari:visited {
    transform: scale(1);
}

.landing-button-tim-tari:hover, .landing-button-tim-tari:active {
    transform: scale(0.95);
}

.landing-button-tim-sarah {
    width: 40vw;
    height: 15vw;
    margin: 0vw 3vw;
    background: url(../img/button-tim-sarah.png) center no-repeat;
    background-size: contain;
    border: 0px;
    transition: transform .2s; /* Animation */
}

.landing-button-tim-sarah:visited {
    transform: scale(1);
}

.landing-button-tim-sarah:hover, .landing-button-tim-tari:active {
    transform: scale(0.95);
}

.logos {
    position: absolute;
    left: 50%;
    top: 155.5vw;
    width: 97%;
    text-align: center;
    transform: translate(-50%);
    pointer-events: none;
}

.terms {
    position: absolute;
    left: 50%;
    top: 165vw;
    width: 100%;
    text-align: center;
    transform: translate(-50%);
    font-size: 2.2vw;
    color: #fff;
}

@media screen and (min-width: 420px) {
    .landing-copy-container {
        padding-top: 42px;
    }
    .landing-copy {
        height: 63px;
        margin-bottom: 26px;
    }
    .landing-subcopy {
        font-size: 16.7px;
    }
    .landing-buttons-container {
        margin-bottom: 120px;
    }
    .landing-button-tim-tari {
        width: 170px;
        height: 61px;
        margin: 0px 12px;
    }
    .landing-button-tim-sarah {
        width: 170px;
        height: 61px;
        margin: 0px 12px;
    }
    .logos {
        top: 652px;
    }
    .terms {
        top: 692px;
        font-size: 9.2px;
    }
}



/* Game Screen */

.game-page {
    position: relative;
    display: none;
}

.game-background {
    position: absolute;
    left: 0px;
    top: 0px;
    width: 100%;
    pointer-events: none;
}

.split-container {
    position: relative;
    margin-left: -4px;
}

.split-left {
    position: absolute;
    left: 0;
    top: 0;
    width: 55%;
    z-index: 0;
}

.split-left-image {
    max-width: 100%;
    pointer-events: none;
    position: relative;
    z-index: 1;
}

.split-left-tear {
    position: absolute;
    right: 0;
    top: 0;
    height: 100%;
    z-index: 0;
}

.split-right {
    position: absolute;
    left: 50%;
    top: 0;
    width: 55%;
    z-index: 0;
}

.split-right-image {
    max-width: 100%;
    pointer-events: none;
    position: relative;
    z-index: 1;
}

.split-right-tear {
    position: absolute;
    left: -4%;
    top: 0;
    height: 100%;
    z-index: 0;
}

.navigation-button-left {
    position: absolute;
    left: 4%;
    top: 32vw;
    width: 13%;
    text-align: center;
}

.navigation-button-right {
    position: absolute;
    right: 4%;
    top: 32vw;
    width: 13%;
    text-align: center;
}

.game-copy-container {
    position: absolute;
    display: inline-block;
    left: 0px;
    top: 0px;
    width: 100%;
}

.game-paper-bg {
    position: absolute;
    left: 0px;
    top: 0px;
    width: 100%;
    pointer-events: none;
}

.game-copy {
    position: absolute;
    left: 50%;
    top: 84vw;
    width: 96%;
    text-align: center;
    transform: translate(-50%);
    display: none;
    pointer-events: none;
}

.button-show-trailer {
    position: absolute;
    left: 0%;
    right: 0%;
    margin-left: auto;
    margin-right: auto;
    top: 142vw;
    width: 46vw;
    height: 12vw;
    background: url(../img/button-lanjut.png) center no-repeat;
    background-size: contain;
    border: 0px;
    transition: transform .2s; /* Animation */
}

.button-show-trailer:visited {
    transform: scale(1);
}

.button-show-trailer:hover, .button-show-trailer:active {
    transform: scale(0.95);
}

.button-return {
    position: absolute;
    left: 0%;
    right: 0%;
    margin-left: auto;
    margin-right: auto;
    top: 153vw;
    width: 120px;
    height: 12vw;
    font-size: 3vw;
    background-color: transparent;
    color:#fff;
    background-size: contain;
    border: 0px;
}

.gesture-detector {
    position: absolute !important;
    margin: 0 auto;
    left: 0;
    top: 0;
    width: 100%;
    background-color: aqua;
    opacity: 0;
}

@media screen and (min-width: 420px) {
    .navigation-button-left {
        top: 134px;
    }
    .navigation-button-right {
        top: 134px;
    }
    .game-copy {
        top: 103px;
        margin-top: 250px;
    }
    .button-show-trailer {
        top: 600px;
        width: 192px;
        height: 44px;
    }
    .button-return {
        top: 642px;
        font-size: 12.5px;
        height: 49px;
    }
}



/* Result Screen */

.trailer-page {
    position: relative;
    display: none;
}

.trailer-background {
    position: absolute;
    left: 0px;
    top: 0px;
    width: 100%;
    pointer-events: none;
}

.video-player {
    position: absolute;
    left: 50%;
    top: 39vw;
    text-align: center;
    transform: translate(-50%);
    border-radius: 2px;
    z-index: 10;
    box-shadow: -5px 5px 10px 1px rgba(0, 0, 0, 0.25);;
}

.trailer-subcopy {
    position: absolute;
    left: 50%;
    top: 90vw;
    width: 90%;
    text-align: center;
    transform: translate(-50%);
    font-family: 'RealTextPro-Regular';
    font-size: 4.3vw;
    color: #131f52;
    text-align: center;
    pointer-events: none;
}

.tweet-button {
    position: absolute;
    left: 0%;
    right: 0%;
    margin-left: auto;
    margin-right: auto;
    top: 112vw;
    width: 75vw;
    height: 16vw;
    background: url(../img/button-tweet.png) center no-repeat;
    background-size: contain;
    border: 0px;
    color: #131f52;
    text-align: left;
    font-size: 3.8vw;
    padding-left: 17vw;
    transition: transform .2s; /* Animation */
}

.tweet-button:visited {
    transform: scale(1);
}

.tweet-button:hover, .tweet-button:active {
    transform: scale(0.95);
}

.flower-overlay {
    position: absolute;
    left: 50%;
    top: 0;
    width: 100%;
    height: 100%;
    text-align: center;
    transform: translate(-50%);
}

@media screen and (min-width: 420px) {
    .video-player {
        top: 163px;
    }
    .trailer-subcopy {
        top: 377px;
        font-size: 18px;
    }
    .tweet-button {
        top: 471px;
        width: 315px;
        height: 66px;
        font-size: 16px;
        padding-left: 72px;
    }
}




@media (prefers-color-scheme: dark) {
    body {
        background-color: #222;
    }
}