@use '../../partials/dir'; .sidebar-avatar { position: relative; display: flex; justify-content: center; align-items: center; cursor: pointer; & .notification-badge { position: absolute; @include dir.prop(left, unset, 0); @include dir.prop(right, 0, unset); top: 0; box-shadow: 0 0 0 2px var(--bg-surface-low); @include dir.prop(transform, translate(20%, -20%), translate(-20%, -20%)); margin: 0 !important; } & .avatar-container, & .notification-badge { transition: transform 200ms var(--fluid-push); } &:hover .avatar-container { @include dir.prop(transform, translateX(4px), translateX(-4px)); } &:hover .notification-badge { --ltr: translate(calc(20% + 4px), -20%); --rtl: translate(calc(-20% - 4px), -20%); @include dir.prop(transform, var(--ltr), var(--rtl)); } &:focus { outline: none; } &:active .avatar-container { box-shadow: var(--bs-surface-outline); } &:hover::before, &:focus::before, &--active::before { content: ""; display: block; position: absolute; @include dir.prop(left, -11px, unset); @include dir.prop(right, unset, -11px); top: 50%; transform: translateY(-50%); width: 3px; height: 12px; background-color: var(--tc-surface-high); @include dir.prop(border-radius, 0 4px 4px 0, 4px 0 0 4px); transition: height 200ms linear; } &--active:hover::before, &--active:focus::before, &--active::before { height: 28px; } &--active .avatar-container { background-color: var(--bg-surface); } }