1
mirror of https://github.com/jakejarvis/jarv.is.git synced 2025-04-26 20:28:28 -04:00
jarv.is/styles/index.css

124 lines
2.3 KiB
CSS

body {
width: 100%;
height: 100%;
margin: 0 auto;
background-color: var(--background-outer);
}
a {
color: var(--link);
text-decoration: none;
background-position: 0% 100%;
background-repeat: no-repeat;
background-size: 0% 2px;
padding-bottom: 2px;
transition: background-size 0.25s ease-in-out;
background-image: linear-gradient(var(--link-underline), var(--link-underline));
}
a:hover {
background-size: 100% 2px;
}
/* set an anchor's class to `no-underline` to disable all of this */
.no-underline {
background: none !important;
padding-bottom: 0;
}
/*
* make SVG icons relative to surrounding text:
* https://github.com/twitter/twemoji#inline-styles
*/
.icon {
display: inline-block;
height: 1.2em;
width: 1.2em;
vertical-align: -0.2em;
}
/* all code */
code {
font-size: 0.925em;
page-break-inside: avoid;
border: 1px solid var(--kinda-light);
}
/* inline code in paragraphs/elsewhere (single backticks) */
:not(pre) code {
padding: 0.1em 0.25em;
}
/* code blocks */
pre code {
display: block;
overflow-x: auto;
padding: 1em;
tab-size: 2;
}
.center {
display: block;
text-align: center;
margin-left: auto;
margin-right: auto;
}
/* sub-heading anchor styles */
.h-anchor {
margin: 0 0.25em;
padding: 0 0.25em;
color: var(--medium-light);
background: none;
font-weight: 300;
opacity: 0; /* overridden on hover */
user-select: none;
}
.h-anchor::before {
content: "\0023"; /* pound sign `#`, done here to keep content DOM cleaner */
}
.h-anchor:hover {
color: var(--link);
}
/* make anchor `#` link show up on hover over the corresponding heading */
h2:hover .h-anchor,
h3:hover .h-anchor,
h4:hover .h-anchor {
opacity: 1;
}
/* offset (approximately) with sticky header so jumped-to content isn't hiding behind it */
h2 {
scroll-margin-top: 4em;
}
h3,
h4 {
scroll-margin-top: 5em;
}
@media screen and (max-width: 768px) {
h2 {
scroll-margin-top: 5em;
}
h3,
h4 {
scroll-margin-top: 6em;
}
}
/* https://web.dev/prefers-reduced-motion/#(bonus)-forcing-reduced-motion-on-all-websites */
@media (prefers-reduced-motion: reduce) {
*,
::before,
::after {
animation-delay: -1ms !important;
animation-duration: 1ms !important;
animation-iteration-count: 1 !important;
transition-duration: 0s !important;
transition-delay: 0s !important;
}
}