.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)}); } @include S(border-top-left-radius, $globalBorderRadius); @include S(border-top-right-radius, $globalBorderRadius); .buildings { display: grid; grid-auto-flow: column; .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 / 65% 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; } } } } } }