.user-card { position: relative; z-index: 1; .user-card-inner { padding-bottom: 0; } &:hover { --_still-image-img-visibility: visible; --_still-image-canvas-visibility: hidden; --_still-image-label-visibility: hidden; } .panel-heading { text-align: center; box-shadow: none; background: transparent; backdrop-filter: none; flex-direction: column; align-items: stretch; // create new stacking context position: relative; overflow: hidden; } .personal-marks { margin: 0.6em; padding: 0.6em; border-bottom: 1px solid var(--border); .highlighter { h4 { margin-top: 0.6em; } .userHighlightSel { vertical-align: bottom; margin-left: -0.1em; &.-none { font-style: italic; color: var(--textFaint); } } .highlighter-color { vertical-align: bottom; margin-left: 0.6em; } } } .background-image { width: calc(100% + 2.4em); margin-left: -1.2em; margin-right: -1.2em; margin-top: -1.2em; margin-bottom: -4.5em; aspect-ratio: 3; padding: 0; inset: 0; mask: linear-gradient(to top, white 0%, transparent 20%) bottom no-repeat, linear-gradient(to top, white 0%, white 100%); // Autoprefixer seem to ignore this one, and also syntax is different /* stylelint-disable mask-composite */ /* stylelint-disable declaration-property-value-no-unknown */ /* stylelint-disable scss/declaration-property-value-no-unknown */ /* TODO check if this is still needed */ mask-composite: xor; /* stylelint-enable scss/declaration-property-value-no-unknown */ /* stylelint-enable declaration-property-value-no-unknown */ /* stylelint-enable mask-composite */ mask-composite: exclude; background-size: cover; mask-size: 100%; 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; color: var(--lightText); display: block; line-height: 1.3; padding: 0.6em; margin: 0 0.6em; img { object-fit: contain; vertical-align: middle; max-width: 100%; max-height: 400px; } } &.-rounded-t { border-top-left-radius: var(--roundness); border-top-right-radius: var(--roundness); --__roundnessTop: var(--roundness); --__roundnessBottom: 0; } &.-rounded { border-radius: var(--roundness); --__roundnessTop: var(--roundness); --__roundnessBottom: var(--roundness); } &.-popover { border-radius: var(--roundness); --__roundnessTop: var(--roundness); --__roundnessBottom: var(--roundness); } &.-bordered { border-width: 1px; border-style: solid; border-color: var(--border); } } .user-info { position: relative; margin: 0.6em; margin-bottom: 0; .user-identity { min-width: 0; display: flex; align-items: flex-end; margin-bottom: 1em; > * { min-width: 0; } > a { vertical-align: middle; display: flex; } .Avatar { --_avatarShadowBox: var(--avatarShadow); --_avatarShadowFilter: var(--avatarShadowFilter); --_avatarShadowInset: var(--avatarShadowInset); min-width: 6em; height: 6em; object-fit: cover; } } .other-actions { position: absolute; top: 0; right: 0; display: grid; grid-auto-flow: column; grid-gap: 0.6em; a, button { text-align: center; width: 2em; height: 2em; line-height: 2em; &:not(:hover) .icon { color: var(--lightText); } } } &-avatar { position: relative; cursor: pointer; margin-right: 0.6em; &.-overlay { position: absolute; inset: -0.6em; left: -0.6em; right: -1.2em; background-color: rgb(0 0 0 / 30%); display: flex; justify-content: center; align-items: center; border-radius: var(--roundness); opacity: 0; transition: opacity 0.2s ease; svg { color: #fff; } } &:hover &.-overlay { opacity: 1; } } .bottom-line { font-weight: lighter; font-size: 0.9em; align-items: baseline; .lock-icon { margin-left: 0.5em; } .user-screen-name { color: var(--text); min-width: 1px; flex: 0 1 auto; text-overflow: ellipsis; overflow: hidden; } .user-role { flex: none; align-self: baseline; } } .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; .RichContent { /* stylelint-disable-next-line declaration-no-important */ --link: var(--text) !important; } .top-line, { display: flex; line-height: 2; font-weight: 600; } .bottom-line { display: flex; font-weight: 500; line-height: 1.5; } } .user-name { text-overflow: ellipsis; overflow: hidden; flex: 1 1 auto; margin-right: 1em; font-size: 1.1em; } .highlighter { margin: 5em; 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: grid; grid-template-columns: repeat(auto-fill, minmax(17%, 7em)); grid-gap: 0.6em; .popover-trigger-button, .moderation-tools-button { width: 100%; } > .btn-group, > button { white-space: nowrap; } } } .sidebar .edit-profile-button { display: none; } .user-extras { display: grid; place-items: center baseline; justify-content: space-between; grid-template-columns: minmax(max-content, 1fr); grid-auto-columns: 1fr; grid-auto-flow: column; padding: 1.2em 0.6em; } .birthday { width: 100%; text-align: right; } .user-birthday { margin: 0 0.75em 0.5em; } .user-profile-fields { margin: 0 0.5em; img { object-fit: contain; vertical-align: middle; max-width: 100%; max-height: 400px; &.emoji { width: 18px; height: 18px; } } .user-profile-field { display: flex; margin: 0.25em; border: 1px solid var(--border); border-radius: var(--roundness); .user-profile-field-name, .user-profile-field-value { text-overflow: ellipsis; white-space: nowrap; overflow: hidden; box-sizing: border-box; line-height: 2em; } .user-profile-field-name { flex: 0 1 50%; font-weight: 600; text-align: right; color: var(--lightText); min-width: 9em; border-right: 1px solid var(--border); padding-left: 1.2em; padding-right: 0.6em; } .user-profile-field-value { flex: 1 1 55%; color: var(--text); padding-left: 0.6em; margin: 0; } } } .user-stats { display: block; text-align: center; width: 100%; dl { display: inline; margin-right: 1em; } dd { font-weight: bolder; margin: 0; } dd, dt { display: inline } /* stylelint-disable-next-line no-descending-specificity */ a { text-decoration: none; } }