@import url("https://fonts.googleapis.com/css2?family=Ubuntu&display=swap");

body {
    background-color: #282828;
    color: #ffffff;

    font-family: "Ubuntu", sans-serif;

    height: 100%;
    overflow: hidden;

    transition-duration: 0.5s;
}

/* main container for everything */
#container {
    position: absolute;
    transform: translate(-50%, -50%);

    top: 50%;
    left: 50%;

    padding: 40px;

    width: 25%;
    height: fit-content;

    background-color: #141414;
    text-align: center;

    transition-duration: inherit;
}

#face {
    margin-bottom: 5%;

    width: 80%;
    height: 25%;

    filter: invert(12.5%);
    user-select: none;
}

#title {
    font-size: 5em;
    font-weight: bold;
}

#subtitle {
    margin-bottom: 5%;
}

#hyperlinks {
    width: 100%;
    height: 100%;

    transition-duration: inherit;
}

.hyperlink {
    display: flex;

    justify-content: center;
    align-items: center;

    transition-duration: inherit;

    width: 100%;
    height: 7.5vh;

    margin-bottom: 5%;

    background-color: #1e1e1e;
    color: white;

    text-decoration: none;
}

.hyperlink:hover {
    filter: invert(100%);
}

.hyperlink:last-child {
    margin-bottom: 0;
}

.hyperlink-logo {
    font-size: 1.5vw;

    width: 7.5%;
    height: auto;

    min-width: 10px;
    max-width: 40px;

    margin-right: 2.5%;
}

.hyperlink-text {
    font-size: 1.5em;
}

/* the bemmy spinner */
#spinner-button {
    display: none;

    position: absolute;
    transform: translate(-50%, -50%);

    top: 48px;
    left: 48px;

    font-size: 3em;

    cursor: pointer;
    transition-duration: 0.25s;

    user-select: none;
}

#spinner-button:active {
    font-size: 3.5em;
}

#spinner {
    display: none;

    position: absolute;
    transform: translate(-50%, -50%);

    user-select: none;

    top: 50%;
    left: 50%;

    width: 45%;
    height: auto;

    filter: invert(20%);
}

/* the bemxio cube */
@keyframes cube-rotation {
    from {
        transform: rotateX(0deg) rotateY(0deg);
    }

    to {
        transform: rotateX(360deg) rotateY(360deg);
    }
}

#cube {
    --cube-size: 150px;

    width: var(--cube-size);
    height: var(--cube-size);

    margin: 5% auto 10%;

    transform-style: preserve-3d;
    animation: cube-rotation 5s linear infinite;

    display: none;
}

.cube-face {
    position: absolute;

    width: inherit;
    height: inherit;

    background-image: url("/assets/embed.png");
    background-size: 100%;
    background-position: center;

    user-select: none;
}

#cube-front {
    transform: rotateX(0deg) translateZ(calc(var(--cube-size) / 2));
}

#cube-left {
    transform: rotateY(-90deg) translateZ(calc(var(--cube-size) / 2));
}

#cube-right {
    transform: rotateY(90deg) translateZ(calc(var(--cube-size) / 2));
}

#cube-up {
    transform: rotateX(90deg) translateZ(calc(var(--cube-size) / 2));
}

#cube-down {
    transform: rotateX(-90deg) translateZ(calc(var(--cube-size) / 2));
}

/* footer (lol) */
#footer {
    position: absolute;
    transform: translate(0%, -50%);

    bottom: 0;
    right: 0;

    font-size: 0.75em;
    margin-right: 5px;

    color: #484848;
}

#footer a {
    color: #585858;
}

/* konami code */
#spaceship {
    display: none;

    position: absolute;
    transform: translate(-50%, -50%);

    background-image: url("/assets/spaceship_engine.png"), url("/assets/spaceship_base.png");

    width: 48px;
    height: 48px;

    user-select: none;
    z-index: 1;
}

#spaceship-effect {
    position: inherit;

    width: inherit;
    height: inherit;

    background-image: url("/assets/spaceship_engine_effect.png");
    background-position: 0 0;
}

/* 404 page */
#status-code {
    color: #1e1e1e;

    font-size: 10vw;
    font-weight: bold;
}

/* responsive design!!! very awesome */
@media screen and (max-width: 1000px) {
    #spinner {
        width: 75%;
    }

    #container {
        width: 75%;
    }

    .hyperlink-logo {
        font-size: 3vw;
    }

    #status-code {
        font-size: 40vw;
    }
}