/* This demo is based on webgl-compute-bitonicSort, found at https://github.com/9ballsyndrome/WebGL_Compute_shader. */

body {
    background-color: rgb(35%, 65%, 85%);
    margin: 0;
    padding: 0;
    height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
}

canvas {
    display: block;
    width: 100vw;
    height: 100vh;
}

body.error canvas {
    display: none;
}

h1 {
    font-size: 1.5rem;
}

#container {
    position: relative;
}

select {
    zoom: 2;
}

div#log {
    background-color: rgb(231, 231, 231);
    padding: 20px;
}

body.error {
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: rgb(85%, 35%, 35%);
}

body.error #contents {
    display: none;
}

#error {
    margin: 0;
    padding: 0;
    width: 50vw;
    display: none;
    text-align: center;
}

@media (max-width: 480px) {
    #error {
        width: 100vw;
    }
}

body.error #error {
    display: block;
}

#error h2 {
    font-weight: bold;
    font-size: 40px;
    margin-bottom: 20px;
}

#error p {
    font-size: 30px;
}