* {
    margin: 0;
}

.flexcontainer {
    background-color: black;
    display: flex;
    flex-flow: row nowrap;
    height: 100vh;
} 

#controls {
    background-image: linear-gradient(to left, #343434, #000000);
    flex: 0 0 auto;
    padding: 5px;
    z-index: 3;
}

.control {
    text-align: center;
    color: white;
    background-color: #222222;
    border: 1px solid white;
}

#framecontainer {
    width: 100%;
    height: 100%;
}

label {
    display: block;
}

p, #followmouse {
    display: inline;
}

button {
    margin: 2px;
    width: 90%;
}

input[type="checkbox"] {
    display: inline;
}

label[for="follow_mouse"] {
    display: inline;
}


/* Frame */

#frame {
    position: relative;
    flex: 1 0 auto;
    width: 100%;
    height: 100%;
}

#foreground, #background {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
}

#foreground {
    z-index: 2;
}

#background {
    z-index: 1;
    transform: translate(-100%, 0);
}

@keyframes slide {
    from {
        transform: translate(-100%, 0);
    }
    to {
        transform: translate(100%, 0);
    }
}