body {
    height: 100vh;
    /* Enable to center canvas vertically */
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    /* Centers canvas horizontally */
    overflow-x: hidden;
    /* Hides x scrollbar */
    overflow-y: hidden;
    /* Always shows y scroll bar */
    background-color: #000;
    backface-visibility: hidden;
}

img {
    display: none;
    /* Stops images displaying */
    image-rendering: optimizeSpeed;
    /* Firefox             */
    image-rendering: -moz-crisp-edges;
    image-rendering: -o-crisp-edges;
    /* Opera               */
    image-rendering: -webkit-optimize-contrast;
    /* Chrome (and Safari) */
    image-rendering: crisp-edges;
    image-rendering: pixelated;
    /* Chrome as of 2019   */
    image-rendering: optimize-contrast;
    /* CSS3 Proposed       */
    -ms-interpolation-mode: nearest-neighbor;
}

canvas {
    outline: none;
    position: fixed;
    top: 0;
    left: 0;
}

iframe {
    border: none;
}

#loading-gif {
    display: block;
    width: auto;
    height: 10%;
}

/* Disable panning/scrolling and pinching on supporting browsers */
html,
body {
    height: 100%;
    overflow: hidden;
    overscroll-behavior: none;
    touch-action: none;
    /* Prevent pan/zoom (Pointer Events) */
    -ms-touch-action: none;
}

/* Disable text selection and long-press callouts */
* {
    user-select: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;

    -webkit-touch-callout: none;
    /* iOS context actions on long-press */
    -webkit-tap-highlight-color: transparent;
}

/* Prevent drag images/iframes. */
img,
canvas,
iframe {
    -webkit-user-drag: none;
}

/* Ensure the main interactive surface also blocks gestures. */
canvas,
iframe {
    touch-action: none;
}
