316 lines
5.5 KiB
CSS
316 lines
5.5 KiB
CSS
@tailwind components;
|
|
@tailwind utilities;
|
|
|
|
@layer components {
|
|
.all-\[unset\] {
|
|
all: unset;
|
|
}
|
|
}
|
|
|
|
:root {
|
|
--animate-spin: spin 1s linear infinite;
|
|
}
|
|
|
|
.animate-fade-in {
|
|
animation: fade-in 1s var(--animation-delay, 0s) ease forwards;
|
|
}
|
|
|
|
.animate-fade-up {
|
|
animation: fade-up 1s var(--animation-delay, 0s) ease forwards;
|
|
}
|
|
|
|
.animate-marquee {
|
|
animation: marquee var(--duration) infinite linear;
|
|
}
|
|
|
|
.animate-marquee-vertical {
|
|
animation: marquee-vertical var(--duration) linear infinite;
|
|
}
|
|
|
|
.animate-shimmer {
|
|
animation: shimmer 8s infinite;
|
|
}
|
|
|
|
.animate-spin {
|
|
animation: var(--animate-spin);
|
|
}
|
|
|
|
@keyframes spin {
|
|
to {
|
|
transform: rotate(1turn);
|
|
}
|
|
}
|
|
|
|
@keyframes image-glow {
|
|
0% {
|
|
opacity: 0;
|
|
animation-timing-function: cubic-bezier(0.74, 0.25, 0.76, 1);
|
|
}
|
|
|
|
10% {
|
|
opacity: 0.7;
|
|
animation-timing-function: cubic-bezier(0.12, 0.01, 0.08, 0.99);
|
|
}
|
|
|
|
to {
|
|
opacity: 0.4;
|
|
}
|
|
}
|
|
|
|
@keyframes fade-in {
|
|
0% {
|
|
opacity: 0;
|
|
transform: translateY(-10px);
|
|
}
|
|
|
|
to {
|
|
opacity: 1;
|
|
transform: none;
|
|
}
|
|
}
|
|
|
|
@keyframes fade-up {
|
|
0% {
|
|
opacity: 0;
|
|
transform: translateY(20px);
|
|
}
|
|
|
|
to {
|
|
opacity: 1;
|
|
transform: none;
|
|
}
|
|
}
|
|
|
|
@keyframes shimmer {
|
|
0%,
|
|
90%,
|
|
to {
|
|
background-position: calc(-100% - var(--shimmer-width)) 0;
|
|
}
|
|
|
|
30%,
|
|
60% {
|
|
background-position: calc(100% + var(--shimmer-width)) 0;
|
|
}
|
|
}
|
|
|
|
@keyframes marquee {
|
|
0% {
|
|
transform: translate(0);
|
|
}
|
|
|
|
to {
|
|
transform: translateX(calc(-100% - var(--gap)));
|
|
}
|
|
}
|
|
|
|
@keyframes marquee-vertical {
|
|
0% {
|
|
transform: translateY(0);
|
|
}
|
|
|
|
to {
|
|
transform: translateY(calc(-100% - var(--gap)));
|
|
}
|
|
}
|
|
|
|
@tailwind base;
|
|
@tailwind components;
|
|
@tailwind utilities;
|
|
|
|
@layer base {
|
|
:root {
|
|
--background: 0 0% 100%;
|
|
--foreground: 222.2 47.4% 11.2%;
|
|
|
|
--muted: 210 40% 96.1%;
|
|
--muted-foreground: 215.4 16.3% 46.9%;
|
|
|
|
--popover: 0 0% 100%;
|
|
--popover-foreground: 222.2 47.4% 11.2%;
|
|
|
|
--border: 214.3 31.8% 91.4%;
|
|
--input: 214.3 31.8% 91.4%;
|
|
|
|
--card: transparent;
|
|
--card-foreground: 222.2 47.4% 11.2%;
|
|
|
|
--primary: 222.2 47.4% 11.2%;
|
|
--primary-foreground: 210 40% 98%;
|
|
|
|
--secondary: 210 40% 96.1%;
|
|
--secondary-foreground: 222.2 47.4% 11.2%;
|
|
|
|
--accent: 210 40% 96.1%;
|
|
--accent-foreground: 222.2 47.4% 11.2%;
|
|
|
|
--destructive: 0 100% 50%;
|
|
--destructive-foreground: 210 40% 98%;
|
|
|
|
--ring: 215 20.2% 65.1%;
|
|
|
|
--radius: 0.5rem;
|
|
}
|
|
|
|
.dark {
|
|
--background: 224 71% 4%;
|
|
--foreground: 213 31% 91%;
|
|
|
|
--muted: 223 47% 11%;
|
|
--muted-foreground: 215.4 16.3% 56.9%;
|
|
|
|
--accent: 216 34% 17%;
|
|
--accent-foreground: 210 40% 98%;
|
|
|
|
--popover: 224 71% 4%;
|
|
--popover-foreground: 215 20.2% 65.1%;
|
|
|
|
--border: 216 34% 17%;
|
|
--input: 216 34% 17%;
|
|
|
|
--card: transparent;
|
|
--card-foreground: 213 31% 91%;
|
|
|
|
--primary: 210 40% 98%;
|
|
--primary-foreground: 222.2 47.4% 1.2%;
|
|
|
|
--secondary: 222.2 47.4% 11.2%;
|
|
--secondary-foreground: 210 40% 98%;
|
|
|
|
--destructive: 0 63% 31%;
|
|
--destructive-foreground: 210 40% 98%;
|
|
|
|
--ring: 216 34% 17%;
|
|
|
|
--radius: 0.5rem;
|
|
}
|
|
}
|
|
|
|
@layer base {
|
|
* {
|
|
@apply border-border;
|
|
}
|
|
|
|
body {
|
|
@apply bg-background text-foreground;
|
|
font-feature-settings:
|
|
"rlig" 1,
|
|
"calt" 1;
|
|
}
|
|
}
|
|
|
|
.snow-banner {
|
|
position: sticky;
|
|
top: 0;
|
|
z-index: 50;
|
|
overflow: hidden;
|
|
background: linear-gradient(120deg, #0a3b6a, #0f5b8f);
|
|
border-bottom: 1px solid rgba(255, 255, 255, 0.2);
|
|
animation: banner-slide-down 0.6s ease-out;
|
|
}
|
|
|
|
.snow-banner__link {
|
|
display: block;
|
|
padding: 14px 20px;
|
|
text-align: center;
|
|
font-family: "Merriweather", Helvetica, serif;
|
|
font-weight: 700;
|
|
color: #ffffff;
|
|
text-decoration: none;
|
|
letter-spacing: 0.01em;
|
|
}
|
|
|
|
.snow-banner__link:hover,
|
|
.snow-banner__link:focus-visible {
|
|
text-decoration: underline;
|
|
}
|
|
|
|
.snow-banner__snow {
|
|
pointer-events: none;
|
|
position: absolute;
|
|
inset: 0;
|
|
}
|
|
|
|
.snowflake {
|
|
position: absolute;
|
|
top: -12px;
|
|
width: 6px;
|
|
height: 6px;
|
|
border-radius: 999px;
|
|
background: rgba(255, 255, 255, 0.8);
|
|
animation: snow-fall 6s linear infinite;
|
|
}
|
|
|
|
.snowflake-1 {
|
|
left: 8%;
|
|
animation-delay: 0s;
|
|
animation-duration: 5.5s;
|
|
}
|
|
|
|
.snowflake-2 {
|
|
left: 18%;
|
|
animation-delay: 1s;
|
|
animation-duration: 6.5s;
|
|
}
|
|
|
|
.snowflake-3 {
|
|
left: 32%;
|
|
animation-delay: 0.5s;
|
|
animation-duration: 5.8s;
|
|
}
|
|
|
|
.snowflake-4 {
|
|
left: 45%;
|
|
animation-delay: 1.4s;
|
|
animation-duration: 6.2s;
|
|
}
|
|
|
|
.snowflake-5 {
|
|
left: 58%;
|
|
animation-delay: 0.2s;
|
|
animation-duration: 5.9s;
|
|
}
|
|
|
|
.snowflake-6 {
|
|
left: 72%;
|
|
animation-delay: 1.1s;
|
|
animation-duration: 6.7s;
|
|
}
|
|
|
|
.snowflake-7 {
|
|
left: 84%;
|
|
animation-delay: 0.7s;
|
|
animation-duration: 5.6s;
|
|
}
|
|
|
|
.snowflake-8 {
|
|
left: 93%;
|
|
animation-delay: 1.6s;
|
|
animation-duration: 6.9s;
|
|
}
|
|
|
|
@keyframes banner-slide-down {
|
|
from {
|
|
transform: translateY(-100%);
|
|
}
|
|
|
|
to {
|
|
transform: translateY(0);
|
|
}
|
|
}
|
|
|
|
@keyframes snow-fall {
|
|
0% {
|
|
transform: translateY(-10px);
|
|
opacity: 0;
|
|
}
|
|
|
|
10% {
|
|
opacity: 0.9;
|
|
}
|
|
|
|
100% {
|
|
transform: translateY(60px);
|
|
opacity: 0;
|
|
}
|
|
}
|