WWW service status tracker

By using this site, you agree to have cookies stored on your device, strictly for functional purposes, such as storing your session and preferences.

Dismiss

 style.css

View raw Download
text/x-Algol68 • 5.0 kiB
Algol 68 source, ASCII text
        
            
1
@import url("https://fonts.googleapis.com/css2?family=Lexend:wght@100..900&display=swap");
2
@import url("https://fonts.googleapis.com/css2?family=Lexend+Exa:wght@100..900&family=Lexend:wght@100..900&display=swap");
3
4
html {
5
font-size: 1.125rem;
6
color: #000000eb;
7
}
8
9
* {
10
box-sizing: border-box;
11
}
12
13
html, input, textarea, button, select {
14
font-family: "Lexend", sans-serif;
15
}
16
17
body {
18
display: flex;
19
flex-flow: column nowrap;
20
background-color: #f5f5f5;
21
padding: 0;
22
margin: 0;
23
align-items: center;
24
}
25
26
nav {
27
display: flex;
28
flex-flow: row nowrap;
29
justify-content: flex-start;
30
align-items: center;
31
padding: 0 16px;
32
height: 64px;
33
background-color: #000000;
34
gap: 2ch;
35
width: 100%;
36
position: sticky;
37
top: 0;
38
}
39
40
nav a {
41
color: #ffffff;
42
text-decoration: none;
43
transition: color 0.25s cubic-bezier(0.33, 1, 0.68, 1);
44
font-family: "Lexend Exa", "Lexend", sans-serif;
45
font-size: 0.875rem;
46
height: 100%;
47
display: flex;
48
align-items: center;
49
border-top: 4px solid transparent;
50
border-bottom: 4px solid transparent;
51
}
52
53
nav a.active {
54
border-top: 4px solid #4DB6AC;
55
color: #80CBC4;
56
}
57
58
nav a:hover {
59
color: #80CBC4;
60
text-decoration: underline;
61
}
62
63
#navi-logo {
64
display: flex;
65
align-items: center;
66
gap: 1ch;
67
font-weight: bold;
68
}
69
70
#navi-logo > img {
71
width: 32px;
72
height: 32px;
73
}
74
75
main {
76
padding: 16px;
77
width: min(800px, 100%);
78
}
79
80
#navi-spacer {
81
flex: 1 0 auto;
82
}
83
84
input, textarea {
85
padding: 0.5rem;
86
border: 2px solid #009688;
87
border-radius: 6px;
88
background: #ffffff;
89
color: #000000;
90
transition: box-shadow 0.25s cubic-bezier(0.33, 1, 0.68, 1),
91
background 0.25s cubic-bezier(0.33, 1, 0.68, 1);
92
}
93
94
button, .button {
95
padding: 0.5rem;
96
border: 2px solid #009688;
97
border-radius: 6px;
98
background: #009688;
99
color: #ffffff;
100
transition: box-shadow 0.25s cubic-bezier(0.33, 1, 0.68, 1),
101
background 0.25s cubic-bezier(0.33, 1, 0.68, 1);
102
font-weight: 575;
103
font-family: "Lexend Exa", "Lexend", sans-serif;
104
cursor: pointer;
105
display: flex;
106
gap: 0.25rem;
107
align-items: center;
108
text-decoration: none;
109
justify-content: center;
110
}
111
112
h1 {
113
font-weight: 900;
114
font-size: 3rem;
115
margin: 0.25em 0;
116
color: #000000df;
117
}
118
119
h2 {
120
font-weight: 767.5;
121
font-size: 2rem;
122
margin: 0.25em 0;
123
color: #000000df;
124
}
125
126
h3 {
127
font-weight: 767.5;
128
font-size: 1.6rem;
129
margin: 0.25em 0;
130
color: #000000df;
131
}
132
133
* {
134
transition: box-shadow 0.25s cubic-bezier(0.33, 1, 0.68, 1);
135
}
136
137
:focus {
138
box-shadow: 0 0 0 4px #009688cc;
139
outline: none;
140
}
141
142
button, .button, input, select, textarea {
143
font-size: 1rem;
144
}
145
146
:is(input, textarea):hover {
147
background: #B2DFDB;
148
}
149
150
:is(button, .button):hover {
151
background: #00695C;
152
}
153
154
::placeholder {
155
color: #009688cc;
156
}
157
158
.stacked-form {
159
display: flex;
160
flex-direction: column;
161
gap: 1rem;
162
}
163
164
input[type="password"]:not(:placeholder-shown) {
165
letter-spacing: 0.25rem;
166
}
167
168
.alert {
169
padding: 1rem;
170
border-radius: 6px;
171
background: #FFC107;
172
color: #000000;
173
font-weight: bold;
174
text-align: center;
175
margin: 1rem 0;
176
font-family: "Lexend Exa", "Lexend", sans-serif;
177
}
178
179
.app-card, .endpoint-card {
180
width: 100%;
181
border: 2px solid #000000aa;
182
padding: 0.75rem;
183
border-radius: 24px;
184
}
185
186
:is(.app-card, .endpoint-card) h2 {
187
margin-top: 0;
188
font-size: 1.45rem;
189
font-weight: 750;
190
}
191
192
.app-uptime {
193
display: flex;
194
overflow: hidden;
195
border-radius: calc(24px - 0.75rem);
196
}
197
198
.app-info {
199
font-family: "Lexend Exa", "Lexend", sans-serif;
200
font-style: italic;
201
}
202
203
.app-info-ok {
204
color: #00C853;
205
}
206
207
.app-info-broken {
208
color: #FFD600;
209
}
210
211
.app-info-down {
212
color: #D50000;
213
}
214
215
.uptime-bar {
216
background: #546E7A;
217
height: 2rem;
218
flex: 1 0 auto;
219
}
220
221
.uptime-bar-ok {
222
background: #00C853;
223
}
224
225
.uptime-bar-broken {
226
background: #FFD600;
227
}
228
229
.uptime-bar-down {
230
background: #EF5350;
231
}
232
233
.subtitle {
234
font-weight: 400;
235
margin-top: 0;
236
}
237
238
iconify-icon {
239
display: inline-block;
240
width: 0.8lh; /* match parent line-height */
241
height: 0.8lh;
242
font-size: 1.25em;
243
}
244
245
.quiet-link {
246
color: inherit;
247
text-decoration: none;
248
font-weight: inherit;
249
display: inline-block;
250
}
251
252
.quiet-link:has(:is(.app-card, .endpoint-card)) {
253
display: block;
254
border-radius: 24px;
255
}
256
257
.app-card:hover {
258
border-color: #009688;
259
background: #B2DFDB;
260
}
261
262
textarea {
263
resize: vertical;
264
appearance: none;
265
}
266
267
#endpoint-editor, #endpoint-list {
268
display: flex;
269
gap: 2rem;
270
width: 100%;
271
align-items: stretch;
272
flex-direction: column;
273
}
274
275
.side-by-side {
276
display: flex;
277
gap: 1rem;
278
align-items: stretch;
279
justify-content: space-around;
280
}
281
282
.side-by-side > button.extend {
283
flex: 1 1 100%;
284
}
285
286
.danger-button {
287
background: #F44336;
288
border-color: #F44336;
289
}
290
291
.danger-button:hover {
292
background: #D32F2F;
293
}
294
295
nav a:focus {
296
box-shadow: none;
297
text-decoration: underline;
298
}
299