.ct-tooltip { display: flex; align-items: center; justify-content: center; position: absolute; z-index: 200; min-height: 26px; width: var(--tooltip-width, auto); white-space: var(--tooltip-width, nowrap); padding: 4px 8px; font-size: 12px; font-style: italic; font-weight: normal; letter-spacing: initial; text-transform: initial; text-align: center; color: #fff; border-radius: 3px; user-select: none; pointer-events: none; box-sizing: border-box; background: rgba(54, 63, 66, 1); -webkit-font-smoothing: antialiased; -webkit-backface-visibility: hidden; opacity: 0; visibility: hidden; transition: opacity 0.2s cubic-bezier(0.455, 0.03, 0.515, 0.955), transform 0.2s cubic-bezier(0.455, 0.03, 0.515, 0.955), visibility 0.2s cubic-bezier(0.455, 0.03, 0.515, 0.955); &:before, &:after { content: ''; position: absolute; box-sizing: border-box; } } [data-tooltip-reveal] { position: relative; &:hover .ct-tooltip { opacity: 1; visibility: visible; } } // reaveal top [data-tooltip-reveal="top"] { .ct-tooltip { top: 0; transform: translateY(calc(-100% - 5px - var(--tooltip-initial-position, 3px))); &:before { left: 0; bottom: 0; width: 100%; height: calc(5px + var(--tooltip-hover-position, 7px)); transform: translateY(100%); } &:after { width: 10px; height: 5px; bottom: -4px; inset-inline: 0; margin-inline: auto; border-inline: 5px solid transparent; border-top: 5px solid rgba(54, 63, 66, 1); } } &:hover .ct-tooltip { transform: translateY(calc(-100% - 5px - var(--tooltip-hover-position, 7px))); } } // reaveal left [data-tooltip-reveal="left"] { .ct-tooltip { inset-inline-start: 0; transform: translateX(calc(-100% - 5px - var(--tooltip-initial-position, 3px))); &:before { top: 0; inset-inline-end: 0; height: 100%; width: calc(5px + var(--tooltip-hover-position, 7px)); transform: translateX(100%); } &:after { height: 10px; wifth: 5px; // inset-inline-end: -4px; // inset-block: 0; // margin-block: auto; border-block: 5px solid transparent; border-inline-start: 5px solid rgba(54, 63, 66, 1); } } &:hover .ct-tooltip { transform: translateX(calc(-100% - 5px - var(--tooltip-hover-position, 7px))); } }