* {
    padding: 0px;
    margin: 0px;
    box-sizing: border-box;

    z-index: 5;
}

/* Desktop - 1 */
body {
    width: 100%;
    height: 100vh;
    padding: 10vh 10vw;

    /* On cache ce qui dépasse, pour que la boit 'end pannel' ne soit pas visible. */
    overflow: hidden;
}

.redCursor {
    cursor: url(../data/redCursor.png), auto;
}

.blueCursor {
    cursor: url(../data/blueCursor.png), auto;
}

.greenCursor {
    cursor: url(../data/greenCursor.png), auto;
}

.yellowCursor {
    cursor: url(../data/yellowCursor.png), auto;
}

/* GAME CONTAINER */
#bg {
    width: 100%;
    height: 100vh;
    position: absolute;
    top: 0px;
    left: 0px;

    z-index: 0;
    background: #f7f7f7;
}

#bg.dark {
    background: #333;
}

/* SVG */

svg {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);

    max-height: 80vh;
    display: block;
    height: auto;
    max-width: 80vw;
}

svg * {
    stroke: #F7F7F7;
    fill: #C4C4C4;
}

.dark + svg * {
    stroke: #333;
}

/* COLOR PICKER */

#colorPicker {
    position: absolute;
    bottom: 20px;
    left: 50%;
    transform: translate(-50%, -50%);

    height: 30px;
    width: 500px;
    display: flex;
}

#colorPicker .color {
    width: 25%;
    height: 30px;
    display: inline-block;
}

.cropLeft {
    border-bottom-left-radius: 20px;
    border-top-left-radius: 20px;
}

.cropRight {
    border-bottom-right-radius: 20px;
    border-top-right-radius: 20px;
}

.color {
    opacity: 0.4;
}

.red {
    background: red;
}

.blue {
    background: blue;
}

.green {
    background: green;
}

.yellow {
    background: yellow;
}

.selected {
    opacity: 1;
    transform: scale(1.2);
    z-index: 10;

    transition: transform ease-in 0.2s;
}

/* THEME SWITCHER */
#switcher {
    position: absolute;
    top: 40px;
    left: 40px;
    transform: translate(-50%, -50%);
}

#switcher.dark {
    filter: invert();
}

#switcher:hover {
    cursor: pointer;
}

#clearButton {
    position: absolute;
    top: 40px;
    left: 100px;
    transform: translate(-50%, -50%);

    filter: grayscale() brightness(0.1);
}

#clearButton:hover {
    cursor: pointer;
}

#clearButton.dark {
    filter: grayscale() brightness(0.1) invert();
}

/* START PANNEL */
#level-title {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -300%);

    background: white;
    padding: 40px;
    border-radius: 12px;
    color: black;
    text-align: center;

    opacity: 0;
    z-index: 100;

    transition: transform 0.3s ease-in-out, opacity 0.3s ease;
}

#level-title h2 {
    color: orange;
}

#level-title.animated {
    transform: translate(-50%, -50%);

    opacity: 1;

    transition: transform 0.3s ease-in-out, opacity 0.3s ease;
}

#level-title.dark {
    background: black;
    color: white;
}

/* END PANNEL */
#endPannel {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, 500%);

    padding: 60px;
    text-align: center;
    background: #fff;
    color: black;
    border-radius: 18px;

    transition: transform 0.4s ease;
}

#endPannel a {
    margin: 0 15px;
}

#endPannel.dark {
    background: #111;
    color: white;
}
