@import "AttributionAuthor"; @import "AttributionSet"; .attributed { position: relative; } .attribution { display: flex; position: absolute; bottom: calc(100% + 0.2rem); left: 0; right: 0; z-index: 2; pointer-events: none; justify-content: center; user-select: none; } .attributionBubble { display: flex; flex-flow: column; opacity: 0; background-color: black; color: white; position: relative; margin-bottom: 0.5rem; font-size: 1rem; padding: 0.75rem; border-radius: 0.5rem; box-sizing: border-box; transform: scale(0); transform-origin: bottom center; transition-property: opacity, transform; transition-duration: 250ms, 250ms; transition-timing-function: ease, ease; transition-delay: 0ms, 0ms; pointer-events: initial; user-select: none; } .attribution .attributionBubble * { user-select: none; } .attribution .button { margin-top: 0.5rem; } .attributionBubble::after { content: ""; position: absolute; top: 100%; left: 50%; margin-left: -0.5rem; border-width: 0.5rem; border-style: solid; border-color: black transparent transparent transparent; } .attributed:focus-within { user-select: text; } .attributed:focus-within .attributionBubble, .attributed .attributionBubble:hover { opacity: 100%; transform: none; user-select: text; } .attributed:focus-within .attributionBubble *, .attributed .attributionBubble:hover * { user-select: text; } .attributionBubble a:not(.button) { transition: color 300ms ease; } .attributionBubble a:not(.button):link { color: aquamarine; } .attributionBubble a:not(.button):visited { color: mediumaquamarine; } .attributionBubble a:not(.button):focus, .attributionBubble a:not(.button):hover { color: lightcyan; } .attributionBubble a:not(.button):active { color: aqua; }