header {
    position: relative;
    z-index: 10000;
    /* HIGHER than canvas */
}

#canvasWrapper {
    position: relative;
    width: 100%;
    z-index: 0;
    /* make sure canvas stays under header */
}

#webgl-canvas,
#splashImage {
    overflow: hidden;
    display: block; /* removes extra bottom space under <img>/<canvas> */
}

#webgl-canvas {
    position: absolute;
    z-index: 0;
    overflow: hidden;     /* add this */
    display: none;       /* optional */
    background-color: dimgray;
}

#splashImage {
    position: absolute;
    z-index: 1;
    width: 100%;
    height: 100%;
    overflow: hidden;     /* add this */
    display: block;       /* optional but good */
}


/* Mobile screens */
@media (max-width: 767px) {
    .main-content {
        padding: 0;
        margin: 0;
    }
    #webgl-canvas,
    #splashImage {
        all: unset;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }
}