html, body {
    padding: 0;
    margin: 0;
    width: 100%;
    height: 100%;
}

body {
    font-family: Open Sans;
}

body.main-page {
    background: #f7f7f7;
}

/* Game icon (used by Runner.classes.ICON in game.js) */
.icon {
    -webkit-user-select: none;
    display: inline-block;
}

.icon-offline {
    content: -webkit-image-set(
        url(default_100_percent/offline/100-error-offline.png) 1x,
        url(default_200_percent/offline/200-error-offline.png) 2x
    );
    position: relative;
}

/* Game layout */
.offline .interstitial-wrapper {
    color: #2b2b2b;
    font-size: 1em;
    line-height: 1.55;
    margin: 0 auto 40px;
    max-width: 600px;
    padding-top: 100px;
    width: 100%;
    position: relative;
}

.offline .runner-container {
    height: 150px;
    max-width: 600px;
    overflow: visible;
    position: relative;
    top: 5px;
    width: 44px;
}

.offline .runner-canvas {
    height: 150px;
    max-width: 600px;
    opacity: 1;
    overflow: visible;
    position: absolute;
    top: 0;
    z-index: 2;
}

/* Touch controller (Runner.classes.TOUCH_CONTROLLER) */
.offline .controller {
    background: rgba(247, 247, 247, .1);
    height: -webkit-calc(100% + 18px);
    height: -moz-calc(100% + 18px);
    height: calc(100% + 18px);
    left: 0;
    position: absolute;
    top: 0;
    width: 100vw;
    z-index: 1;
}

/* Hidden sprite/audio resource container */
#offline-resources {
    display: none;
}

/* Responsive tweaks */
@media (max-width: 420px) {
    .snackbar {
        left: 0;
        bottom: 0;
        width: 100%;
        border-radius: 0;
    }
}

@media (max-height: 350px) {
    .icon-offline {
        margin: 0 0 10px;
    }

    .interstitial-wrapper {
        margin-top: 5%;
    }
}

@media (min-width: 600px) and (max-width: 736px) and (orientation: landscape) {
    .offline .interstitial-wrapper {
        margin-left: 0;
        margin-right: 0;
    }
}

@media (min-width: 420px) and (max-width: 736px) and (min-height: 240px) and (max-height: 420px) and (orientation: landscape) {
    .interstitial-wrapper {
        margin-bottom: 40px;
    }
}

@media (min-height: 240px) and (orientation: landscape) {
    .offline .interstitial-wrapper {
        margin-bottom: 20px;
    }

    .icon-offline {
        margin-bottom: 20px;
    }
}

@media (max-height: 320px) and (orientation: landscape) {
    .icon-offline {
        margin-bottom: 0;
    }

    .offline .runner-container {
        top: 10px;
    }
}

@media (max-width: 240px) {
    .interstitial-wrapper {
        overflow: inherit;
        padding: 0 8px;
    }
}
