karsttech.com/assets/css/custom.css

156 lines
No EOL
3.5 KiB
CSS

.max-w-prose {
max-width: 85ch;
}
/* From https://css.glass */
.glass {
background: rgba(18, 47, 101, 0.25);
border-radius: 16px;
box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
backdrop-filter: blur(8px);
animation: backdropShift 10s linear infinite;
-webkit-backdrop-filter: blur(8px);
border: 1px solid rgba(18, 47, 101, 0.35);
padding: 2rem;
filter: saturate(0.7) brightness(0.8);
z-index: 2;
}
.toc:has(#TableOfContents) {
background-color: rgba(25, 25, 35, 0.3);
border-radius: 10px;
max-height: 70vh;
overflow-y: auto;
padding: 1rem;
scroll-behavior: smooth;
}
.background-container {
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
width: 100%;
height: 100%;
overflow: hidden;
z-index: -1;
}
.background-image {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
object-fit: cover;
z-index: 0;
filter: blur(4px) saturate(0.65);
}
/* Lead Styling */
.prose :where([class~="lead"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
color: rgb(209, 182, 164);
}
/* Header Page Name Styling */
nav > div > a {
font-size: 1.5rem;
text-shadow: 0 0 6px rgba(0, 0, 0, 0.7);
}
/* Header Button Styling */
header nav ul li a,
header nav ul li button {
display: inline-block;
padding: 0.5rem 1rem;
background: rgba(18, 47, 101, 0.25);
border-radius: 8px;
border: 1px solid rgba(25, 25, 35, 0.35);
transition: all 0.3s ease;
backdrop-filter: blur(4px);
animation: backdropShift 10s linear infinite;
-webkit-backdrop-filter: blur(8px);
filter: saturate(0.9) brightness(0.9);
}
header nav ul li a:hover,
header nav ul li button:hover {
background-color: rgba(25, 25, 35, 0.4);
transform: scale(1.05);
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.2);
}
/* Search button specific styling */
header button[id^="search-button"] {
padding: 0.5rem 1rem;
background: rgba(18, 47, 101, 0.25);
border-radius: 8px;
border: 1px solid rgba(25, 25, 35, 0.35);
transition: all 0.3s ease;
backdrop-filter: blur(4px);
/* We use steps here to limit framerate to reduce CPU usage displaying the animation*/
/* Because it is a slowly changing background, a low framerate does not impact apparent smoothness of the animation */
animation: backdropShift 20s forwards steps(200) infinite;
-webkit-backdrop-filter: blur(8px);
filter: saturate(0.9) brightness(0.9);
}
header button[id^="search-button"]:hover {
background-color: rgba(25, 25, 35, 0.4);
transform: scale(1.05);
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.2);
}
@keyframes backdropShift {
0% {
backdrop-filter: blur(8px) hue-rotate(-10deg);
}
50% {
backdrop-filter: blur(8px) hue-rotate(10deg);
}
100% {
backdrop-filter: blur(8px) hue-rotate(-10deg);
}
}
/* TOC link styling */
#TableOfContents a {
color: rgba(255, 255, 255, 0.8);
text-decoration: none;
transition: all 0.3s ease;
display: block;
padding: 0.25rem 0;
}
#TableOfContents a:hover {
color: white;
transform: translateX(4px);
}
/* Active TOC item */
#TableOfContents a.active {
color: white;
font-weight: 600;
transform: translateX(4px);
position: relative;
transition: all 0.3s ease;
}
#TableOfContents a.active::before {
content: '';
position: absolute;
left: -1rem;
top: 50%;
transform: translateY(-50%);
width: 4px;
height: 1rem;
background: linear-gradient(to bottom, #4a9eff, #2d7bda);
border-radius: 2px;
transition: all 0.3s ease;
}
/* Remove the default smooth scrolling behavior */
html {
scroll-behavior: smooth;
}