:root { --posX: 25%; --fnTransition: 0.3s; --fnLinger: 0.15s; --fnInteract: calc(var(--fnTransition) + var(--fnLinger)); } /*--- Footnote Auto-counter --*/ #main-content { counter-reset: megacount; } /*--- Footnote Superscript Number --*/ .fnnum { display: inline-block; width: max-content; text-indent: -0.475ex; vertical-align: super; line-height: 80%; word-break: initial; text-decoration: none; font-weight: bold; font-style: initial; color: transparent; position: relative; font-size: 80%; padding: .15em .05em; margin-right: -0.25em; counter-increment: megacount; -webkit-user-select: none; user-select: none; } .fnnum::after { content: "" counter(megacount); color: var(--fnColor, #E6283C); } .fnnum:hover { text-decoration: none; cursor: pointer; background-color: var(--fnColor, #E6283C); } .fnnum:hover::after { color: white; } /*--- Footnote Content Wrapper --*/ .fncon { position: absolute; left: calc(0.9375rem + 100% - var(--posX)); line-height: 1.25; padding: 0.8125rem; width: 12.5rem; box-sizing: border-box; background: white; border: .125rem solid black; font-size: .9125rem; font-weight: initial; font-style: normal; text-align: initial; visibility: hidden; opacity: 0; z-index: 9; transition: opacity 0.15s linear var(--fnLinger), right var(--fnTransition) cubic-bezier(.08,.72,.5,.94) var(--fnLinger), visibility 0.01s linear var(--fnInteract); } .fnnum:hover + .fncon, .fncon:hover { opacity: 1; z-index: 10; left: calc(0.9375rem + 100% - var(--posX)); visibility: visible; transition: opacity 0.15s linear, right var(--fnTransition) cubic-bezier(.08,.72,.5,.94); } .fncon::before { position: absolute; top: 0; left: 0; transform: translateX(-52%) translateY(-55%) scale(1.15); background-color: var(--fnColor, #E6283C); color: white; content: counter(megacount); font-size: initial; font-weight: bold; font-style: initial; padding: 0.18rem 0.32em 0.08rem; } /*--- Mobile Query --*/ @media only screen and (max-width: 80rem) { .fncon { position: fixed; bottom: 1.5rem; left: calc(15% - 3.125rem); width: 70%; transition: opacity 0.15s linear var(--fnLinger), left var(--fnTransition) cubic-bezier(.08,.72,.5,.94) var(--fnLinger), visibility 0.01s linear var(--fnInteract); } .fnnum:hover + .fncon, .fncon:hover { left: 15%; transition: opacity 0.15s linear, left var(--fnTransition) cubic-bezier(.08,.72,.5,.94); } }