ccm-website/static/css/footnotes.css
2024-11-12 13:05:12 +02:00

108 lines
2.7 KiB
CSS

: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);
}
}