Leaflet Blog in Deno Fresh
1@import url('https://api.fonts.coollabs.io/css2?family=Inter:wght@400;700&display=swap');
2@import url('https://api.fonts.coollabs.io/css2?family=Libre+Bodoni:ital,wght@0,400;0,700;1,400&display=swap');
3@font-face {
4 font-family: 'Berkeley Mono';
5 src: url('/path/to/local/fonts/BerkeleyMono-Regular.woff2') format('woff2'),
6 url('/path/to/local/fonts/BerkeleyMono-Regular.woff') format('woff');
7 font-weight: 400;
8 font-style: normal;
9}
10
11@tailwind base;
12@tailwind components;
13@tailwind utilities;
14
15@theme inline {
16 --color-background: var(--background);
17 --color-foreground: var(--foreground);
18}
19
20:root {
21 --font-sans: 'Inter', sans-serif;
22 --font-serif: 'Libre Bodoni', serif;
23 --font-mono: 'Berkeley Mono', monospace;
24}
25
26.font-sans { font-family: var(--font-sans); }
27.font-serif { font-family: var(--font-serif); }
28.font-mono { font-family: var(--font-mono); }
29.font-serif-italic { font-family: var(--font-serif); font-style: italic;}
30
31/*
32 The default border color has changed to `currentColor` in Tailwind CSS v4,
33 so we've added these compatibility styles to make sure everything still
34 looks the same as it did with Tailwind CSS v3.
35
36 If we ever want to remove these styles, we need to add an explicit border
37 color utility to any element that depends on these defaults.
38*/
39@layer base {
40 *,
41 ::after,
42 ::before,
43 ::backdrop,
44 ::file-selector-button {
45 border-color: var(--color-gray-200, currentColor);
46 }
47}
48
49@utility text-balance {
50 text-wrap: balance;
51}
52
53@layer utilities {
54 :root {
55 --background: #ffffff;
56 --foreground: #171717;
57 }
58
59 @media (prefers-color-scheme: dark) {
60 :root {
61 --background: #0a0a0a;
62 --foreground: #ededed;
63 }
64 }
65
66 body {
67 color: var(--foreground);
68 background: var(--background);
69 font-family: var(--font-sans);
70 }
71
72 @keyframes marquee {
73 0% {
74 opacity: 0;
75 transform: translateX(0px);
76 }
77 2% {
78 opacity: 0.075;
79 }
80 98% {
81 opacity: 0.075;
82 }
83 100% {
84 opacity: 0;
85 transform: translateX(-4000px);
86 }
87 }
88
89 @keyframes fadeIn {
90 0% {
91 opacity: 0;
92 }
93 100% {
94 opacity: 1;
95 }
96 }
97
98 @keyframes fadeOut {
99 0% {
100 opacity: 1;
101 }
102 100% {
103 opacity: 0;
104 }
105 }
106
107 .animate-marquee {
108 animation: marquee 30s linear infinite;
109 font-size: 100vh;
110 line-height: 0.8;
111 height: 100vh;
112 display: flex;
113 align-items: center;
114 }
115
116 .animate-fade-in {
117 animation: fadeIn 0.3s ease-in-out forwards;
118 }
119
120 .animate-fade-out {
121 animation: fadeOut 0.3s ease-in-out forwards;
122 }
123}
124
125.diagonal-pattern {
126 background-color: transparent;
127 background: repeating-linear-gradient(
128 -45deg,
129 #000000,
130 #000000 4px,
131 transparent 4px,
132 transparent 10px
133 );
134}
135
136@media (prefers-color-scheme: dark) {
137 .diagonal-pattern {
138 background: repeating-linear-gradient(
139 -45deg,
140 #ffffff,
141 #ffffff 4px,
142 transparent 4px,
143 transparent 10px
144 );
145 }
146}