179 lines
5.1 KiB
CSS
179 lines
5.1 KiB
CSS
@layer components {}
|
|
|
|
@layer utilities {
|
|
|
|
/* Card, primary-button, and secondary-button styles are now dynamically injected via ThemeProvider */
|
|
|
|
/* .card {
|
|
@apply backdrop-blur-sm bg-gradient-to-br from-card/80 to-card/40 shadow-sm border border-card;
|
|
}
|
|
|
|
.primary-button {
|
|
@apply bg-gradient-to-b from-primary-cta/83 to-primary-cta;
|
|
box-shadow:
|
|
color-mix(in srgb, var(--color-background) 25%, transparent) 0px 1px 1px 0px inset,
|
|
color-mix(in srgb, var(--color-primary-cta) 15%, transparent) 3px 3px 3px 0px;
|
|
}
|
|
|
|
.secondary-button {
|
|
@apply backdrop-blur-sm bg-gradient-to-br from-secondary-cta/80 to-secondary-cta shadow-sm border border-secondary-cta;
|
|
} */
|
|
|
|
.tag-card {
|
|
@apply backdrop-blur-sm bg-gradient-to-br from-card/80 to-card/40 shadow-sm border border-card;
|
|
}
|
|
|
|
.mask-fade-x {
|
|
-webkit-mask-image: linear-gradient(to right, transparent 0%, transparent calc((100vw - var(--width-content-width)) / 4), black calc((100vw - var(--width-content-width)) / 2 + 5vw), black calc(100% - (100vw - var(--width-content-width)) / 2 - 5vw), transparent calc(100% - (100vw - var(--width-content-width)) / 4), transparent 100%);
|
|
mask-image: linear-gradient(to right, transparent 0%, transparent calc((100vw - var(--width-content-width)) / 4), black calc((100vw - var(--width-content-width)) / 2 + 5vw), black calc(100% - (100vw - var(--width-content-width)) / 2 - 5vw), transparent calc(100% - (100vw - var(--width-content-width)) / 4), transparent 100%);
|
|
}
|
|
|
|
.mask-padding-x {
|
|
-webkit-mask-image: linear-gradient(to right, transparent 0%, black var(--width-x-padding-mask-fade), black calc(100% - var(--width-x-padding-mask-fade)), transparent 100%);
|
|
mask-image: linear-gradient(to right, transparent 0%, black var(--width-x-padding-mask-fade), black calc(100% - var(--width-x-padding-mask-fade)), transparent 100%);
|
|
}
|
|
|
|
.mask-fade-bottom {
|
|
-webkit-mask-image: linear-gradient(to bottom, black 0%, black 50%, transparent 100%);
|
|
mask-image: linear-gradient(to bottom, black 0%, black 50%, transparent 100%);
|
|
}
|
|
|
|
.mask-fade-y {
|
|
mask-image: linear-gradient(to bottom,
|
|
transparent 0%,
|
|
black var(--vw-1_5),
|
|
black calc(100% - var(--vw-1_5)),
|
|
transparent 100%);
|
|
}
|
|
|
|
.mask-fade-bottom-large {
|
|
-webkit-mask-image: linear-gradient(to bottom, black 0%, black 50%, transparent 75%, transparent 100%);
|
|
mask-image: linear-gradient(to bottom, black 0%, black 50%, transparent 75%, transparent 100%);
|
|
}
|
|
|
|
.mask-fade-bottom-long {
|
|
-webkit-mask-image: linear-gradient(to bottom, black 0%, black 5%, transparent 100%);
|
|
mask-image: linear-gradient(to bottom, black 0%, black 5%, transparent 100%);
|
|
}
|
|
|
|
.mask-fade-top-long {
|
|
-webkit-mask-image: linear-gradient(to top, black 0%, black 5%, transparent 100%);
|
|
mask-image: linear-gradient(to top, black 0%, black 5%, transparent 100%);
|
|
}
|
|
|
|
.mask-fade-xy {
|
|
-webkit-mask-image:
|
|
linear-gradient(to right, transparent 0%, black 20%, black 80%, transparent 100%),
|
|
linear-gradient(to bottom, transparent 0%, black 20%, black 80%, transparent 100%);
|
|
mask-image:
|
|
linear-gradient(to right, transparent 0%, black 20%, black 80%, transparent 100%),
|
|
linear-gradient(to bottom, transparent 0%, black 20%, black 80%, transparent 100%);
|
|
-webkit-mask-composite: source-in;
|
|
mask-composite: intersect;
|
|
}
|
|
|
|
/* ANIMATION */
|
|
|
|
.animation-container {
|
|
animation:
|
|
fadeInOpacity 0.8s ease-in-out forwards,
|
|
fadeInTranslate 0.6s forwards;
|
|
}
|
|
|
|
.animation-container-fade {
|
|
animation: fadeInOpacity 0.8s ease-in-out forwards;
|
|
}
|
|
|
|
@keyframes fadeInOpacity {
|
|
from {
|
|
opacity: 0;
|
|
}
|
|
|
|
to {
|
|
opacity: 1;
|
|
}
|
|
}
|
|
|
|
@keyframes fadeInTranslate {
|
|
from {
|
|
transform: translateY(0.75vh);
|
|
}
|
|
|
|
to {
|
|
transform: translateY(0vh);
|
|
}
|
|
}
|
|
|
|
@keyframes aurora {
|
|
from {
|
|
background-position: 50% 50%, 50% 50%;
|
|
}
|
|
|
|
to {
|
|
background-position: 350% 50%, 350% 50%;
|
|
}
|
|
}
|
|
|
|
@keyframes spin-slow {
|
|
from {
|
|
transform: rotate(0deg);
|
|
}
|
|
|
|
to {
|
|
transform: rotate(360deg);
|
|
}
|
|
}
|
|
|
|
@keyframes spin-reverse {
|
|
from {
|
|
transform: rotate(0deg);
|
|
}
|
|
|
|
to {
|
|
transform: rotate(-360deg);
|
|
}
|
|
}
|
|
|
|
.animate-spin-slow {
|
|
animation: spin-slow 15s linear infinite;
|
|
}
|
|
|
|
.animate-spin-reverse {
|
|
animation: spin-reverse 10s linear infinite;
|
|
}
|
|
|
|
@keyframes marquee-vertical {
|
|
from {
|
|
transform: translateY(0);
|
|
}
|
|
to {
|
|
transform: translateY(-50%);
|
|
}
|
|
}
|
|
|
|
.animate-marquee-vertical {
|
|
animation: marquee-vertical 20s linear infinite;
|
|
}
|
|
|
|
@keyframes orbit {
|
|
from {
|
|
transform: rotate(var(--initial-position, 0deg)) translateX(var(--translate-position, 120px)) rotate(calc(-1 * var(--initial-position, 0deg)));
|
|
}
|
|
to {
|
|
transform: rotate(calc(var(--initial-position, 0deg) + 360deg)) translateX(var(--translate-position, 120px)) rotate(calc(-1 * (var(--initial-position, 0deg) + 360deg)));
|
|
}
|
|
}
|
|
|
|
@keyframes map-dot-pulse {
|
|
0%, 100% {
|
|
transform: scale(0.4);
|
|
opacity: 0.6;
|
|
}
|
|
50% {
|
|
transform: scale(1.4);
|
|
opacity: 1;
|
|
}
|
|
}
|
|
|
|
}
|