.ingame_buildingsToolbar {
    position: fixed;
    @include S(bottom, 0px);
    left: 50%;
    transform: translateX(-50%);

    // NOTE: This flex rule may not be necessary. Need to find out intent.
    display: flex;
    flex-direction: column;
    background: transparent;
    border-bottom-width: 0;
    transition: transform 120ms ease-in-out;
    will-change: transform;

    background-color: rgba(mix(#ddd, $colorBlueBright, 90%), 0.5);
    backdrop-filter: blur(D(3px));

    @include DarkThemeOverride {
        background-color: #222428;
    }

    &:not(.visible) {
        transform: translateX(-50%) translateY(#{D(100px)});
    }

    .buildings {
        display: grid;
        grid-auto-flow: column;
        @include S(margin-bottom, 2px);

        .building {
            color: $accentColorDark;
            display: flex;
            flex-direction: column;
            position: relative;
            align-items: center;
            justify-content: center;
            @include S(padding, 5px);
            @include S(padding-bottom, 1px);
            @include S(width, 35px);
            @include S(height, 40px);

            background: center center / 70% no-repeat;

            &:not(.unlocked) {
                @include S(width, 20px);
                opacity: 0.15;
                background-image: none !important;

                &::before {
                    content: " ";
                    background: uiResource("locked_building.png") center center / #{D(20px)} #{D(20px)}
                        no-repeat;
                    position: absolute;
                    top: 0;
                    right: 0;
                    bottom: 0;
                    left: 0;
                    z-index: 4;
                }
            }

            @include S(border-radius, $globalBorderRadius);

            &.unlocked {
                pointer-events: all;
                transition: all 50ms ease-in-out;
                transition-property: background-color, transform;
                cursor: pointer;
                will-change: transform;

                &::before {
                    content: "";
                    position: absolute;
                    top: 0;
                    right: 0;
                    bottom: 0;
                    left: 0;
                    background-color: $accentColorDark;
                    opacity: 0;
                    will-change: opacity;
                }

                &:hover {
                    &::before {
                        opacity: 0.1;
                    }
                }

                &.selected {
                    transform: scale(1.05);

                    &::before {
                        background-color: $colorBlueBright;
                        opacity: 0.6;
                    }

                    .keybinding {
                        color: #111;
                    }
                }
            }
        }
    }
}
