#mainMenu {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    transform: translate(-50%, -50%) scale(0.9);
    opacity: 1;
    display: block;
    z-index: 10;
    transition: transform 0.4s, opacity 0.4s;
    opacity: 0;
}

#mainMenu button {
    outline: none;
    cursor: pointer;
    transition: filter 0.3s;
}

#mainMenu button:hover {
    filter: brightness(0.7);
}

#createRoom {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    font-size: 6vmin;
    width: 50vmin;
    border: 5px solid black;
    border-radius: 10px;
    padding: 2.5vmin;
    top: 45%;
    color: black;
    background: linear-gradient(90deg, #ff2400, #e81d1d, #e8b71d, #e3e81d, #1de840, #1ddde8, #2b1de8, #dd00f3, #dd00f3);
    animation: rainbowBackground 18s linear infinite;
    background-size: 1000% 100%;
    text-align: center;
    white-space: nowrap;
}

@keyframes rainbowBackground {
    0%, 100% {
        background-position-x: 10%;
    }
    50% {
        background-position-x: 90%;
    }
}

#joinRoom {
    position: absolute;
    left: 50%;
    top: 60%;
    width: 20vmin;
    background-color: rgb(49, 255, 42);
    color: black;
    border: 5px solid black;
    border-radius: 10px;
    font-size: 5vmin;
    height: 8%;
    transform: translateX(30vmin);
}

#roomInput {
    position: absolute;
    top: 60%;
    left: 50%;
    width: 50vmin;
    transform: translateX(-50%);
    font-size: 5vmin;
    color: black;
    border: 5px solid black;
    border-radius: 10px;
    background-color: white;
    text-align: center;
    height: 8%;
    outline: none;
}

.imprint {
    position: absolute;
    bottom: 2%;
    left: 1%;
    font-size: 1.5vw;
    color: black;
    text-decoration: none;
}

.imprint a {
    color: black;
    text-decoration: none;
}

#nameInput {
    position: absolute;
    top: 80%;
    left: 50%;
    width: 50vmin;
    transform: translateX(-50%);
    font-size: 6vmin;
    color: black;
    border: 2px solid black;
    background-color: white;
    text-align: center;
    padding: 1.2vmin;
    border-radius: 10px;
    outline: none;
}

.gameTitle {
    position: absolute;
    top: 28%;
    left: 50%;
    transform: translate(-50%, -55%);
    font-size: 7vw;
    color: black;
    z-index: 10;
    text-align: center;
    height: 31vmin;
}

#infoMessage {
    position: absolute;
    left: 50%;
    bottom: 2%;
    transform: translateX(-50%);
    font-size: 2vmin;
}