Web platform for sharing free data for ML and research

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/plain • 7.63 kiB
ASCII text
        
            
1
@import "/static/efficient-ui/MASTER.css";
2
3
:root {
4
--gap-navbar: 1rem;
5
--width-navbar-button: 0;
6
--text-soft: #000000C0;
7
--text-softer: #0000009A;
8
--text-faint: #00000066;
9
--color-shape-label: #0097A7; --color-shape-label-text: #ffffff;
10
--shadow-card-inset: inset 0 3px 6px -4px rgba(0, 0, 0, 0.12), inset 0 3px 6px 0 rgba(0, 0, 0, 0.24), inset 0 1px 4px 0 rgba(0, 0, 0, 0.12);
11
/*view-transition-name: root;*/
12
}
13
14
nav {
15
/*view-transition-name: nav;*/
16
}
17
18
p {
19
color: var(--text-soft);
20
}
21
22
iconify-icon {
23
display: inline-block;
24
width: 1em;
25
height: 1em;
26
}
27
28
:is(#shape-selector, #shape-options) > button > iconify-icon {
29
font-size: 2rem;
30
}
31
32
#annotation-zone, .annotation-zone {
33
position: relative;
34
user-select: none;
35
}
36
37
#annotation-image, .annotation-image {
38
user-drag: none;
39
-webkit-user-drag: none;
40
image-rendering: pixelated;
41
}
42
43
#annotation-zone > svg, .annotation-zone > svg {
44
z-index: 1;
45
position: absolute;
46
top: 0;
47
left: 0;
48
width: 100%;
49
height: 100%;
50
}
51
52
.annotation-ruler {
53
z-index: 2;
54
position: absolute;
55
top: 0;
56
left: 0;
57
background: var(--color-accent);
58
display: none;
59
}
60
61
#annotation-ruler-horizontal, #annotation-ruler-horizontal-secondary {
62
height: 1px;
63
width: 100%;
64
}
65
66
#annotation-ruler-vertical, #annotation-ruler-vertical-secondary {
67
width: 1px;
68
height: 100%;
69
}
70
71
.shape {
72
stroke: var(--color-accent);
73
fill: var(--color-accent);
74
fill-opacity: 0.1;
75
stroke-width: 2px;
76
vector-effect: non-scaling-stroke;
77
pointer-events: auto;
78
transition: filter 0.25s cubic-bezier(0.61, 1, 0.88, 1),
79
fill-opacity 0.25s cubic-bezier(0.61, 1, 0.88, 1),
80
stroke-width 0.25s cubic-bezier(0.61, 1, 0.88, 1);
81
stroke-linecap: square;
82
stroke-linejoin: miter;
83
}
84
85
.shape-polyline {
86
fill: none;
87
}
88
89
.shape-point {
90
stroke: var(--color-accent);
91
stroke-width: 2px;
92
fill-opacity: 1;
93
r: 2;
94
transition: r 0.25s cubic-bezier(0.34, 1.56, 0.64, 1),
95
stroke-width 0.25s cubic-bezier(0.34, 1.56, 0.64, 1),
96
filter 0.25s cubic-bezier(0.61, 1, 0.88, 1);
97
}
98
99
.shape.selected {
100
fill-opacity: 0.2;
101
stroke-width: 4px;
102
filter: drop-shadow(0 0 2px var(--text-soft));
103
}
104
105
.shape-point.selected {
106
fill-opacity: 1;
107
r: 6;
108
stroke-width: 6px;
109
}
110
111
.shape-container, .shape-container-viewonly {
112
pointer-events: none;
113
}
114
115
#annotation-helper-message {
116
min-height: 2lh;
117
}
118
119
.shape-container-viewonly > .shape, .thumbnail-list > li .shape {
120
fill: var(--color-info);
121
stroke: var(--color-info);
122
fill-opacity: 0;
123
stroke-opacity: 0;
124
transition: fill-opacity 0.25s cubic-bezier(0.61, 1, 0.88, 1),
125
stroke-opacity 0.25s cubic-bezier(0.61, 1, 0.88, 1);
126
}
127
128
.shape-container-viewonly > .shape-polyline, .thumbnail-list > li .shape-polyline {
129
fill: none;
130
}
131
132
.shape-container-viewonly > .shape-point, .thumbnail-list > li .shape-point {
133
stroke: var(--color-info);
134
transition: r 0.25s cubic-bezier(0.34, 1.56, 0.64, 1),
135
stroke-width 0.25s cubic-bezier(0.34, 1.56, 0.64, 1),
136
filter 0.25s cubic-bezier(0.61, 1, 0.88, 1);
137
}
138
139
.shape-label {
140
position: absolute;
141
font-weight: 500;
142
color: var(--color-shape-label-text) !important;
143
pointer-events: auto;
144
height: 28px;
145
padding-left: 8px;
146
padding-right: 8px;
147
display: flex;
148
align-items: center;
149
justify-content: center;
150
background: var(--color-shape-label);
151
width: max-content;
152
box-shadow: var(--shadow-button);
153
/* top-left corner is square to point to the shape */
154
border-radius: 0 16px 16px 16px;
155
opacity: 0;
156
transition: opacity 0.25s cubic-bezier(0.61, 1, 0.88, 1),
157
transform 0.375s cubic-bezier(0.16, 1, 0.3, 1);
158
transform: scale(0);
159
transform-origin: top left;
160
z-index: 3;
161
text-decoration: none;
162
}
163
164
.shape-label:hover {
165
text-decoration: underline;
166
}
167
168
/* Only show region parts when checkbox is checked */
169
#annotation-zone:has(+ x-buttonbox #show-objects:checked) > .shape-label {
170
opacity: 1;
171
transform: scale(1);
172
}
173
174
/* Hide points with a bubble */
175
#annotation-zone:has(+ x-buttonbox #show-objects:checked) > .shape-container-viewonly > .shape-point:has(+ foreignObject) {
176
r: 0;
177
border-width: 0;
178
}
179
180
#annotation-zone:has(+ x-buttonbox #show-shapes:checked) > .shape-container-viewonly > .shape {
181
fill-opacity: 0.1;
182
stroke-opacity: 1;
183
}
184
185
.thumbnail-list > li:hover .shape {
186
fill-opacity: 0.2;
187
stroke-opacity: 1;
188
}
189
190
/* Disabled for now, until there is more navigation that would benefit from transitions */
191
/*
192
@view-transition {
193
navigation: auto;
194
}
195
196
@keyframes move-out {
197
from {
198
transform: translateX(0%);
199
}
200
to {
201
transform: translateX(-100%);
202
}
203
}
204
205
@keyframes move-in {
206
from {
207
transform: translateX(100%);
208
}
209
to {
210
transform: translateX(0%);
211
}
212
}
213
214
@media (prefers-reduced-motion: no-preference) {
215
::view-transition-old(root),
216
::view-transition-new(root) {
217
animation-duration: 0.25s;
218
animation-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
219
}
220
221
::view-transition-old(root) {
222
animation-name: move-out;
223
}
224
225
::view-transition-new(root) {
226
animation-name: move-in;
227
}
228
}
229
*/
230
231
.multi-select, .single-select {
232
display: flex;
233
flex-flow: column nowrap;
234
overflow-y: scroll;
235
box-shadow: var(--shadow-card-inset);
236
padding: 16px;
237
gap: 8px;
238
}
239
240
.licence-selection, .image-type-selection {
241
display: flex;
242
flex-flow: column nowrap;
243
}
244
245
.licence-selection-info, .image-type-selection-info {
246
margin-left: calc(var(--size-checkbox) + var(--gap-label-checkbox));
247
/* Align with the checkbox above */
248
}
249
250
.licence-selection-info > p, .image-type-selection-info > p {
251
font-weight: 300;
252
}
253
254
.licence-logo {
255
width: 128px;
256
float: right;
257
margin-left: 1ch;
258
}
259
260
.licence-title, .image-type-title {
261
display: flex;
262
justify-content: space-between;
263
width: 100%;
264
}
265
266
.licence-title > .licence-name, .image-type-title > .image-type-name {
267
font: var(--h5-font);
268
font-weight: 400;
269
}
270
271
.icon-explainer {
272
display: grid;
273
gap: 4px 8px;
274
grid-template-columns: auto 1fr;
275
align-items: center;
276
}
277
278
.icon-explainer *:nth-child(even) {
279
font-weight: 300;
280
}
281
282
.required-asterisk::after {
283
content: "*";
284
color: var(--color-error);
285
}
286
287
small {
288
/* BIG :D */
289
font-size: 1em;
290
}
291
292
#pagination {
293
display: flex;
294
gap: 1em;
295
justify-content: center;
296
align-items: center;
297
font-size: 1.5em;
298
font-weight: 600;
299
flex: 1 0 auto;
300
}
301
302
#pagination > a {
303
text-decoration: none;
304
color: var(--color-accent-1);
305
}
306
307
#pagination-options > form {
308
align-items: center;
309
display: flex;
310
gap: 1em;
311
}
312
313
#pagination-options {
314
justify-content: center;
315
align-items: center;
316
gap: 1em;
317
width: 100%;
318
}
319
320
.thumbnail-list {
321
list-style: none;
322
margin: 0 !important;
323
display: grid;
324
grid-template-columns: repeat(auto-fill, minmax(128px, 1fr));
325
gap: 16px;
326
}
327
328
.thumbnail-list > li {
329
transition: transform 0.25s cubic-bezier(0.61, 1, 0.88, 1),
330
box-shadow 0.25s cubic-bezier(0.61, 1, 0.88, 1);
331
box-shadow: var(--shadow-card);
332
background: var(--color-card);
333
}
334
335
.thumbnail-list > li > a {
336
display: flex;
337
flex-direction: column;
338
justify-content: space-between;
339
height: 100%;
340
}
341
342
.thumbnail-list > li:is(:hover, :focus, :has(:focus)) {
343
position: relative;
344
transform: scale(1.5);
345
z-index: 1;
346
box-shadow: var(--shadow-card), 0 4px 32px rgba(0, 0, 0, 0.12), 0 4px 16px rgba(0, 0, 0, 0.08);
347
}
348
349
.thumbnail-list > li .list-detail {
350
padding: 8px;
351
display: block;
352
}
353