@import "../../variables"; .user-card { position: relative; z-index: 1; &:hover { --_still-image-img-visibility: visible; --_still-image-canvas-visibility: hidden; --_still-image-label-visibility: hidden; } .panel-heading { padding: 0.5em 0; text-align: center; box-shadow: none; background: transparent; flex-direction: column; align-items: stretch; // create new stacking context position: relative; } .panel-body { word-wrap: break-word; border-bottom-right-radius: inherit; border-bottom-left-radius: inherit; // create new stacking context position: relative; } .background-image { position: absolute; top: 0; left: 0; right: 0; bottom: 0; mask: linear-gradient(to top, white, transparent) bottom no-repeat, linear-gradient(to top, white, white); // Autoprefixer seem to ignore this one, and also syntax is different mask-composite: xor; mask-composite: exclude; background-size: cover; mask-size: 100% 60%; border-top-left-radius: calc(var(--__roundnessTop, --panelRadius) - 1px); border-top-right-radius: calc(var(--__roundnessTop, --panelRadius) - 1px); border-bottom-left-radius: calc(var(--__roundnessBottom, --panelRadius) - 1px); border-bottom-right-radius: calc(var(--__roundnessBottom, --panelRadius) - 1px); background-color: var(--profileBg); z-index: -2; &.hide-bio { mask-size: 100% 40px; } } &-bio { text-align: center; display: block; line-height: 1.3; padding: 1em; margin: 0; a { color: $fallback--link; color: var(--postLink, $fallback--link); } img { object-fit: contain; vertical-align: middle; max-width: 100%; max-height: 400px; } } &.-rounded-t { border-top-left-radius: $fallback--panelRadius; border-top-left-radius: var(--panelRadius, $fallback--panelRadius); border-top-right-radius: $fallback--panelRadius; border-top-right-radius: var(--panelRadius, $fallback--panelRadius); --__roundnessTop: var(--panelRadius); --__roundnessBottom: 0; } &.-rounded { border-radius: $fallback--panelRadius; border-radius: var(--panelRadius, $fallback--panelRadius); --__roundnessTop: var(--panelRadius); --__roundnessBottom: var(--panelRadius); } &.-popover { border-radius: $fallback--tooltipRadius; border-radius: var(--tooltipRadius, $fallback--tooltipRadius); --__roundnessTop: var(--tooltipRadius); --__roundnessBottom: var(--tooltipRadius); } &.-bordered { border-width: 1px; border-style: solid; border-color: $fallback--border; border-color: var(--border, $fallback--border); } } .user-info { color: $fallback--lightText; color: var(--lightText, $fallback--lightText); padding: 0 26px; a { color: $fallback--lightText; color: var(--lightText, $fallback--lightText); &:hover { color: var(--icon); } } .container { min-width: 0; padding: 16px 0 6px; display: flex; align-items: flex-start; max-height: 56px; > * { min-width: 0; } > a { vertical-align: middle; display: flex; } .Avatar { --_avatarShadowBox: var(--avatarShadow); --_avatarShadowFilter: var(--avatarShadowFilter); --_avatarShadowInset: var(--avatarShadowInset); width: 56px; height: 56px; object-fit: cover; } } &-avatar { position: relative; cursor: pointer; &.-overlay { position: absolute; left: 0; top: 0; right: 0; bottom: 0; background-color: rgb(0 0 0 / 30%); display: flex; justify-content: center; align-items: center; border-radius: $fallback--avatarRadius; border-radius: var(--avatarRadius, $fallback--avatarRadius); opacity: 0; transition: opacity 0.2s ease; svg { color: #fff; } } &:hover &.-overlay { opacity: 1; } } .external-link-button, .edit-profile-button { cursor: pointer; width: 2.5em; text-align: center; margin: -0.5em 0; padding: 0.5em 0; &:not(:hover) .icon { color: $fallback--lightText; color: var(--lightText, $fallback--lightText); } } .bottom-line { font-weight: light; font-size: 1.1em; align-items: baseline; .lock-icon { margin-left: 0.5em; } .user-screen-name { min-width: 1px; flex: 0 1 auto; text-overflow: ellipsis; overflow: hidden; } .dailyAvg { min-width: 1px; flex: 0 0 auto; margin-left: 1em; font-size: 0.7em; color: $fallback--text; color: var(--text, $fallback--text); } .user-role { flex: none; color: $fallback--text; color: var(--alertNeutralText, $fallback--text); background-color: $fallback--fg; background-color: var(--alertNeutral, $fallback--fg); } } .user-summary { display: block; margin-left: 0.6em; text-align: left; text-overflow: ellipsis; white-space: nowrap; flex: 1 1 0; // This is so that text doesn't get overlapped by avatar's shadow if it has // big one z-index: 1; line-height: 2em; --emoji-size: 1.7em; .top-line, .bottom-line { display: flex; } } .user-name { text-overflow: ellipsis; overflow: hidden; flex: 1 1 auto; margin-right: 1em; font-size: 1.1em; } .user-meta { margin-bottom: 0.15em; display: flex; align-items: baseline; line-height: 22px; flex-wrap: wrap; .following { flex: 1 0 auto; margin: 0; margin-bottom: 0.25em; text-align: left; } .highlighter { flex: 0 1 auto; display: flex; flex-wrap: wrap; margin-right: -0.5em; align-self: start; .userHighlightCl { padding: 2px 10px; flex: 1 0 auto; } .userHighlightSel { padding-top: 0; padding-bottom: 0; flex: 1 0 auto; } .userHighlightText { width: 70px; flex: 1 0 auto; } .userHighlightCl, .userHighlightText, .userHighlightSel { vertical-align: top; margin-right: 0.5em; margin-bottom: 0.25em; } } } .user-interactions { position: relative; display: flex; flex-flow: row wrap; margin-right: -0.75em; > * { margin: 0 0.75em 0.6em 0; white-space: nowrap; min-width: 95px; } button { margin: 0; } } .user-note { margin: 0 0.75em 0.6em 0; } } .sidebar .edit-profile-button { display: none; } .user-counts { display: flex; line-height: 16px; padding: 0.5em 1.5em 0; text-align: center; justify-content: space-between; color: $fallback--lightText; color: var(--lightText, $fallback--lightText); flex-wrap: wrap; } .user-count { flex: 1 0 auto; padding: 0.5em 0; margin: 0 0.5em; h5 { font-size: 1em; font-weight: bolder; margin: 0 0 0.25em; } /* stylelint-disable-next-line no-descending-specificity */ a { text-decoration: none; } } .mute-expiry { display: flex; flex-direction: row; }