#state_MainMenuState {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;

    // background: #aaacb4 center center / cover !important;
    background: #bbc2cf center center / cover !important;

    .topButtons {
        position: absolute;
        @include S(top, 20px);
        @include S(right, 20px);
        display: grid;
        grid-auto-flow: column;
        @include S(grid-gap, 15px);

        .settingsButton,
        .exitAppButton,
        .languageChoose {
            @include S(width, 25px);
            @include S(height, 25px);
            pointer-events: all;
            cursor: pointer;
            background: uiResource("icons/main_menu_settings.png") center center / contain no-repeat;
            transition: opacity 0.12s ease-in-out;
            @include IncreasedClickArea(2px);
            &:hover {
                opacity: 0.9;
            }
        }

        .exitAppButton {
            background-image: uiResource("icons/main_menu_exit.png");
        }

        .languageChoose {
            @include S(border-radius, 8px);
            border: solid #222428;
            background-color: #fff;
            @include S(border-width, 2px);
            background-size: cover;
        }
    }

    .fullscreenBackgroundVideo {
        // display: none !important;
        z-index: -1;
        position: fixed;
        right: 50%;
        bottom: 50%;
        min-width: 100%;
        min-height: 100%;

        opacity: 0;
        display: none;
        transform: translate(50%, 50%);
        filter: blur(10px);

        $opacity: 0.2;
        &.loaded {
            display: block;
            opacity: $opacity;

            @include InlineAnimation(0.1s ease-in-out) {
                0% {
                    opacity: 0;
                }
                100% {
                    opacity: $opacity;
                }
            }
        }
    }

    .mainWrapper {
        @include S(padding, 0, 10px);
        align-items: start;
        justify-items: center;

        @include S(grid-column-gap, 10px);
        display: grid;
        grid-template-columns: 1fr;

        &.demo {
            grid-template-columns: 1fr 1fr;
        }

        .standaloneBanner {
            background: rgb(255, 234, 245);
            @include S(border-radius, $globalBorderRadius);
            box-sizing: border-box;
            @include S(padding, 15px);

            display: flex;
            flex-direction: column;

            strong {
                font-weight: bold;
                @include S(margin, 0, 4px);
            }

            h3 {
                @include Heading;
                font-weight: bold;
                @include S(margin-bottom, 5px);
                text-transform: uppercase;
                color: $colorRedBright;
            }

            p {
                @include Text;
            }

            ul {
                @include S(margin-top, 5px);
                @include S(padding-left, 20px);
                li {
                    @include Text;
                }
            }

            .steamLink {
                width: 100%;
                @include S(height, 40px);

                background: uiResource("get_on_steam.png") center center / contain no-repeat;
                overflow: hidden;
                display: block;
                text-indent: -999em;
                cursor: pointer;
                @include S(margin-top, 20px);
                pointer-events: all;
                transition: all 0.12s ease-in;
                transition-property: opacity, transform;
                transform: skewX(-0.5deg);
                &:hover {
                    transform: skewX(-1deg) scale(1.02);
                    opacity: 0.9;
                }
            }
        }
    }

    .logo {
        display: flex;
        flex-grow: 1;
        align-items: center;
        justify-content: center;
        flex-direction: column;
        @include S(padding-top, 20px);
        img {
            @include S(width, 350px);
        }

        .demoBadge {
            @include S(margin, 10px, 0);
            @include S(width, 100px);
            @include S(height, 30px);
            background: uiResource("demo_badge.png") center center / contain no-repeat;
            display: inline-block;
        }
    }

    .betaWarning {
        @include S(width, 400px);
        @include PlainText;
        background: $colorRedBright;
        @include S(padding, 10px);
        @include S(border-radius, $globalBorderRadius);
        color: #fff;
        @include S(margin-top, 10px);
        border: #{D(2px)} solid rgba(0, 10, 20, 0.1);
    }

    .sideContainer {
        display: flex;
        flex-direction: column;
        @include S(width, 300px);

        .standaloneBanner {
            flex-grow: 1;
            @include S(margin-bottom, 10px);
        }

        .contest {
            flex-grow: 1;
            background: rgb(32, 187, 166);
            @include S(padding, 15px);

            h3 {
                @include Heading;
                color: #fff;
                font-weight: bold;
                text-transform: uppercase;
                @include S(margin-bottom, 5px);
            }
            p {
                color: #fff;
                @include Text;
                strong {
                    font-weight: bold;
                }
                @include S(margin-bottom, 5px);
            }

            button {
                background: #fff;
                color: #333538;
            }
        }
    }

    .mainContainer {
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: column;
        background: #fafafa;
        @include S(padding, 20px);
        @include S(border-radius, $globalBorderRadius);
        // border: #{D(2px)} solid rgba(0, 10, 20, 0.1);
        height: 100%;
        width: 100%;
        box-sizing: border-box;

        .browserWarning {
            @include S(margin-bottom, 10px);
            background-color: $colorRedBright;
            @include PlainText;
            color: #fff;
            @include S(border-radius, $globalBorderRadius);
            @include S(padding, 5px);
            @include S(width, 300px);
        }

        .playButton,
        .continueButton {
            @include SuperHeading;
            @include S(min-width, 130px);
            @include S(padding, 15px, 20px);
            letter-spacing: 0.3em !important;

            font-weight: bold;
            color: #fff;
            background-color: $colorGreenBright;
            transition: transform 0.12s ease-in-out;
            &:hover {
                transform: scale(1.02);
            }

            &.continueButton {
                @include Heading;
            }
        }

        .importButton {
            @include S(margin-top, 15px);
        }

        .newGameButton {
            @include S(margin-top, 15px);
            @include S(margin-left, 15px);
        }

        .savegames {
            @include S(max-height, 105px);
            overflow-y: auto;
            @include S(width, 250px);
            pointer-events: all;
            @include S(padding-right, 5px);
            display: grid;
            grid-auto-flow: row;
            @include S(grid-gap, 5px);
            @include S(margin-top, 10px);

            .savegame {
                background: #eee;
                @include S(border-radius, $globalBorderRadius);
                @include S(padding, 5px);
                display: grid;
                grid-template-columns: 1fr auto auto;
                grid-template-rows: auto auto;
                @include S(grid-column-gap, 5px);
                @include S(grid-row-gap, 3px);

                .playtime {
                    grid-column: 1 / 2;
                    grid-row: 2 / 3;
                    @include SuperSmallText;
                    opacity: 0.5;
                }

                .level {
                    grid-column: 1 / 2;
                    grid-row: 1 / 2;
                    @include PlainText;
                }

                button.resumeGame,
                button.downloadGame,
                button.deleteGame {
                    grid-column: 3 / 4;
                    grid-row: 1 / 3;
                    @include S(width, 30px);
                    @include S(height, 30px);
                    padding: 0;
                    align-self: center;
                    @include IncreasedClickArea(0px);
                    background: #44484a uiResource("icons/play.png") center center / 40% no-repeat;
                }

                button.downloadGame {
                    grid-column: 2 / 3;
                    grid-row: 1 / 2;
                    background-image: uiResource("icons/download.png");
                    @include S(width, 15px);
                    @include IncreasedClickArea(0px);
                    @include S(height, 15px);
                    align-self: end;
                    background-size: 60%;
                }

                button.deleteGame {
                    grid-column: 2 / 3;
                    grid-row: 2 / 3;
                    background-color: $colorRedBright;
                    @include IncreasedClickArea(0px);
                    background-image: uiResource("icons/delete.png");
                    @include S(width, 15px);
                    @include S(height, 15px);
                    align-self: end;
                    background-size: 60%;
                }
            }
        }
    }

    .footer {
        display: flex;
        flex-grow: 1;
        justify-content: center;
        align-items: flex-end;
        width: 100%;

        .author {
            flex-grow: 1;
            text-align: right;
            @include S(padding-right, 10px);
        }

        @include S(padding, 15px);
        > a {
            display: grid;
            align-items: center;
            grid-template-columns: 1fr auto;

            justify-content: center;
            background: #fafafa;
            @include S(padding, 5px);
            @include S(padding-left, 10px);
            @include S(border-radius, $globalBorderRadius);
            @include S(margin-left, 10px);
            @include SuperSmallText();

            font-weight: bold;
            text-transform: uppercase;
            color: #616266;

            transition: all 0.12s ease-in-out;
            transition-property: background-color, transform;
            pointer-events: all;
            @include S(width, 120px);
            @include S(height, 50px);
            cursor: pointer;
            &:hover {
                background-color: #fff;
                transform: scale(1.01);
            }

            &:not(.boxLink) {
                align-self: flex-end;
                justify-self: flex-end;
                height: unset;
                width: unset;
                @include S(padding, 3px);
            }

            .thirdpartyLogo {
                display: inline-block;
                @include S(width, 50px);
                @include S(height, 50px);
                background: center center / 80% no-repeat;
                &.githubLogo {
                    background-image: uiResource("main_menu/github.png");
                }
                &.discordLogo {
                    background-image: uiResource("main_menu/discord.png");
                    background-size: 95%;
                }
            }
        }
    }
}
