.placeholder-status, .placeholder-hashtag, .notification--placeholder, .status-card--placeholder { position: relative; &::before { content: ''; display: block; position: absolute; top: 0; left: 0; right: 0; bottom: 0; width: 100%; height: 100%; background-image: linear-gradient( 90deg, hsla(var(--foreground-color_hsl), 0) 0%, hsla(var(--foreground-color_hsl), 0) 25%, var(--foreground-color) 50%, hsla(var(--foreground-color_hsl), 0) 70%, hsla(var(--foreground-color_hsl), 0) 100% ); background-size: 200%; animation: placeholder-pulse 2s infinite; z-index: 1; opacity: 0.9; } } .placeholder-status .display-name__account { display: none; } @keyframes placeholder-pulse { 0% { background-position-x: 200%; } 100% { background-position-x: 0; } } .notification--placeholder { .notification__message span { color: var(--brand-color); opacity: 0.1; } } .status__content--placeholder, .display-name--placeholder { letter-spacing: -1px; color: var(--brand-color) !important; opacity: 0.1; } .display-name--placeholder { .display-name__html { color: var(--brand-color) !important; } } .slist { position: relative; &__placeholder { position: absolute; width: 100%; max-height: 300px; overflow-y: hidden; background: var(--foreground-color); box-shadow: 0 10px 6px 0 rgb(0 0 0 / 10%); &::after { content: ''; position: absolute; display: block; width: 100%; height: 100%; z-index: 1; // On mobile, extend the gradient up to the ThumbNavigation height background-image: linear-gradient( 0deg, var(--background-color) 0%, var(--background-color) var(--thumb-navigation-height), hsla(var(--foreground-color_hsl), 0) 50%, hsla(var(--foreground-color_hsl), 0) 100% ); top: 0; left: 0; right: 0; bottom: 0; @media (min-width: 895px) { // On desktop, fade into the bottom of the page background-image: linear-gradient( 0deg, var(--background-color) 0%, hsla(var(--foreground-color_hsl), 0) 50%, hsla(var(--foreground-color_hsl), 0) 100% ); } } } } .column--transparent .slist__placeholder { background: transparent; box-shadow: none; } .status-card--placeholder { pointer-events: none; .status-card__title, .status-card__description, .status-card__host { letter-spacing: -1px; color: var(--brand-color) !important; word-break: break-all; opacity: 0.1; } }