Subversion Repositories LCARS

Rev

Rev 167 | Rev 175 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 167 Rev 169
1
<?php
1
<?php
2
namespace de\pointedears\css\least;
-
 
3
-
 
4
@\header('Last-Modified: ' . gmdate('D, d M Y H:i:s', @filemtime(__FILE__)) . ' GMT');
2
@\header('Last-Modified: ' . gmdate('D, d M Y H:i:s', @filemtime(__FILE__)) . ' GMT');
5
 
3
 
6
/* Resource expires in HTTP/1.1 caches 24h after last retrieval */
4
/* Resource expires in HTTP/1.1 caches 24h after last retrieval */
7
@\header('Cache-Control: max-age=86400, s-maxage=86400, must-revalidate, proxy-revalidate');
5
@\header('Cache-Control: max-age=86400, s-maxage=86400, must-revalidate, proxy-revalidate');
8
6
9
/* Resource expires in HTTP/1.0 caches 24h after last retrieval */
7
/* Resource expires in HTTP/1.0 caches 24h after last retrieval */
10
@\header('Expires: ' . gmdate('D, d M Y H:i:s', time() + 86400) . ' GMT');
8
@\header('Expires: ' . gmdate('D, d M Y H:i:s', time() + 86400) . ' GMT');
11
 
9
 
12
@\header('Content-Type: text/css; charset=UTF-8');
10
@\header('Content-Type: text/css; charset=UTF-8');
13
11
14
require_once 'css/least/Mixins.php';
12
require_once 'css/least/Mixins.php';
-
 
13
use de\pointedears\css\least\Mixins;
15
?>@charset "UTF-8";
14
?>@charset "UTF-8";
16
15
17
<?php
16
<?php
18
  if (!isset($_GET['ani']) || $_GET['ani'] !== '0')
17
  if (!isset($_GET['ani']) || $_GET['ani'] !== '0')
19
  {
18
  {
20
    /* Optional general animations */
19
    /* Optional general animations */
21
?>
20
?>
22
@import url("/styles/lcars-ani.css");
21
@import url("/styles/lcars-ani.css");
23
<?php
22
<?php
24
  }
23
  }
25
?>
24
?>
26
25
27
<?php
26
<?php
28
  /* Non-optional content-specific animations */
27
  /* Non-optional content-specific animations */
29
  Mixins::keyframes('analysis', <<<CSS
28
  Mixins::keyframes('analysis', <<<CSS
30
    from, 74% {
29
    from, 74% {
31
      opacity: 0;
30
      opacity: 0;
32
    }
31
    }
33
32
34
    75%, to {
33
    75%, to {
35
      opacity: 1;
34
      opacity: 1;
36
      color: #fc6;
35
      color: #fc6;
37
    }
36
    }
38
CSS
37
CSS
39
   );
38
   );
40
?>
39
?>
41
40
42
<?php
41
<?php
43
  Mixins::keyframes('analysis-scan', <<<CSS
42
  Mixins::keyframes('analysis-scan', <<<CSS
44
    from, 25% {
43
    from, 25% {
45
      color: #fc6;
44
      color: #fc6;
46
    }
45
    }
47
   
46
   
48
    26%, to {
47
    26%, to {
49
      color: #fff;
48
      color: #fff;
50
    }
49
    }
51
CSS
50
CSS
52
   );
51
   );
53
   
52
   
54
   /* FIXME: :hover hides first row */
53
   /* FIXME: :hover hides first row */
55
/*
54
/*
56
.multi-display .upper .content .analysis:hover tr {
55
.multi-display .upper .content .analysis:hover tr {
57
  <?php
56
  <?php
58
    Mixins::animation('-play-state', 'paused');
57
    Mixins::animation('-play-state', 'paused');
59
  ?>
58
  ?>
60
}
59
}
61
*/
60
*/
62
?>
61
?>
63
 
62
 
64
.multi-display .upper .content .analysis tr:hover
63
.multi-display .upper .content .analysis tr:hover
65
{
64
{
66
        color: #f90 !important;
65
        color: #f90 !important;
67
}
66
}
68
 
67
 
69
/* Blink rate 1 Hz should be safe for people with photosensitive epilepsy */
68
/* Blink rate 1 Hz should be safe for people with photosensitive epilepsy */
70
.multi-display .upper .content .analysis tr:nth-child(1)
69
.multi-display .upper .content .analysis tr:nth-child(1)
71
{
70
{
72
  <?php
71
  <?php
73
    Mixins::animation('', 'analysis 1.5s linear 0s, analysis-scan 4s linear 2.0s infinite');
72
    Mixins::animation('', 'analysis 1.5s linear 0s, analysis-scan 4s linear 2.0s infinite');
74
  ?>  
73
  ?>  
75
}
74
}
76
75
77
.multi-display .upper .content .analysis tr:nth-child(2)
76
.multi-display .upper .content .analysis tr:nth-child(2)
78
{
77
{
79
  <?php
78
  <?php
80
    Mixins::animation('', 'analysis 1.5s linear 0.25s, analysis-scan 4s linear 3.0s infinite');
79
    Mixins::animation('', 'analysis 1.5s linear 0.25s, analysis-scan 4s linear 3.0s infinite');
81
  ?>  
80
  ?>  
82
}
81
}
83
82
84
.multi-display .upper .content .analysis tr:nth-child(3)
83
.multi-display .upper .content .analysis tr:nth-child(3)
85
{
84
{
86
  <?php
85
  <?php
87
    Mixins::animation('', 'analysis 1.5s linear 0.5s, analysis-scan 4s linear 4.0s infinite');
86
    Mixins::animation('', 'analysis 1.5s linear 0.5s, analysis-scan 4s linear 4.0s infinite');
88
  ?>  
87
  ?>  
89
}
88
}
90
89
91
<?php
90
<?php
92
  Mixins::keyframes('analysis-offline', <<<CSS
91
  Mixins::keyframes('analysis-offline', <<<CSS
93
    from, 33% {
92
    from, 33% {
94
      color: #300;
93
      color: #300;
95
    }
94
    }
96
   
95
   
97
    34%, to {
96
    34%, to {
98
      color: #f00;
97
      color: #f00;
99
    }
98
    }
100
CSS
99
CSS
101
   );
100
   );
102
?>
101
?>
103
102
104
.offline {
103
.offline {
105
  <?php
104
  <?php
106
    Mixins::animation('', 'analysis-offline 3s linear 2.0s infinite');
105
    Mixins::animation('', 'analysis-offline 3s linear 2.0s infinite');
107
  ?>
106
  ?>
108
}
107
}
109
108
110
/* FIXME: Does not work, appended at bottom instead  */
109
/* FIXME: Does not work, appended at bottom instead  */
111
/* @import url("/styles/lcars-responsive.css"); */
110
/* @import url("/styles/lcars-responsive.css"); */
112
111
113
body {
112
body {
114
  margin-top: 12em;
113
  margin-top: 12em;
115
  margin-left: 16.8em;
114
  margin-left: 16.8em;
116
  margin-right: 0.2em;
115
  margin-right: 0.2em;
117
  margin-bottom: 0.2em;
116
  margin-bottom: 0.2em;
118
}
117
}
119
118
120
/* HTML5 elements */
119
/* HTML5 elements */
121
120
122
nav
121
nav
123
{
122
{
124
  display: block;
123
  display: block;
125
}
124
}
126
125
127
/* Bow (main) and elbo (multi-view) */
126
/* Bow (main) and elbo (multi-view) */
128
127
129
#LCARS {
128
#LCARS {
130
  position: fixed;
129
  position: fixed;
131
  left: 0;
130
  left: 0;
132
  top: 0;
131
  top: 0;
133
  right: 0;
132
  right: 0;
134
  padding: 0.2em;
133
  padding: 0.2em;
135
  background-color: #000;
134
  background-color: #000;
136
  z-index: 1701;
135
  z-index: 1701;
137
}
136
}
138
137
139
#bow {
138
#bow {
140
  position: absolute;
139
  position: absolute;
141
  left: 0.2em;
140
  left: 0.2em;
142
  top: 0.2em;
141
  top: 0.2em;
143
  right: 0.2em;
142
  right: 0.2em;
144
  height: 2.4em;
143
  height: 2.4em;
145
  padding-bottom: 0.2em;
144
  padding-bottom: 0.2em;
146
  background-color: #000;
145
  background-color: #000;
147
}
146
}
148
147
149
#bow-top {
148
#bow-top {
150
  /* NOTE: position: absolute is needed for animation */
149
  /* NOTE: position: absolute is needed for animation */
151
  position: absolute;
150
  position: absolute;
152
  top: 0;
151
  top: 0;
153
  left: 0;
152
  left: 0;
154
  right: 0;
153
  right: 0;
155
  min-width: 15.4em;
154
  min-width: 15.4em;
156
  height: 2em;
155
  height: 2em;
157
  background-color: #999;
156
  background-color: #999;
158
  border-top-left-radius: 2.4em;
157
  border-top-left-radius: 2.4em;
159
  border-top-right-radius: 1.2em;
158
  border-top-right-radius: 1.2em;
160
  border-bottom-right-radius: 1.2em;
159
  border-bottom-right-radius: 1.2em;
161
  line-height: 0.9;
160
  line-height: 0.9;
162
}
161
}
163
162
164
.empty #bow-top {
163
.empty #bow-top {
165
  border-top-left-radius: 1.2em;
164
  border-top-left-radius: 1.2em;
166
  border-bottom-left-radius: 1.2em;
165
  border-bottom-left-radius: 1.2em;
167
  min-width: 10em;
166
  min-width: 10em;
168
}
167
}
169
168
170
169
171
#bow-top .text {
170
#bow-top .text {
172
  position: absolute;
171
  position: absolute;
173
  margin: 0;
172
  margin: 0;
174
  left: 4.33em;
173
  left: 4.33em;
175
  top: 0;
174
  top: 0;
176
  right: 0.75em;
175
  right: 0.75em;
177
  height: 1em;
176
  height: 1em;
178
  text-align: right;
177
  text-align: right;
179
  color: #fc0;
178
  color: #fc0;
180
  font-size: 2.4em;
179
  font-size: 2.4em;
181
  padding-right: 0.1em;
180
  padding-right: 0.1em;
182
  overflow: hidden;
181
  overflow: hidden;
183
  text-overflow: ellipsis;
182
  text-overflow: ellipsis;
184
}
183
}
185
184
186
.empty #bow-top .text {
185
.empty #bow-top .text {
187
  left: 0.93em;
186
  left: 0.93em;
188
}
187
}
189
188
190
189
191
190
192
#bow-top .text span {
191
#bow-top .text span {
193
  padding-right: 0.1em;
192
  padding-right: 0.1em;
194
  background-color: #000;
193
  background-color: #000;
195
  padding-left: 0.1em;
194
  padding-left: 0.1em;
196
  text-transform: uppercase;
195
  text-transform: uppercase;
197
  white-space: nowrap;
196
  white-space: nowrap;
198
}
197
}
199
198
200
.empty #footer-container {
199
.empty #footer-container {
201
  position: fixed;
200
  position: fixed;
202
  left: 0.2em;
201
  left: 0.2em;
203
  bottom: 0;
202
  bottom: 0;
204
  right: 0.2em;
203
  right: 0.2em;
205
  min-height: 2.4em;
204
  min-height: 2.4em;
206
  padding-top: 0.2em;
205
  padding-top: 0.2em;
207
  padding-bottom: 0.2em;
206
  padding-bottom: 0.2em;
208
  background-color: #000;
207
  background-color: #000;
209
}
208
}
210
209
211
210
212
.empty #footer {
211
.empty #footer {
213
  position: absolute;
212
  position: absolute;
214
  bottom: 0;
213
  bottom: 0;
215
  left: 0;
214
  left: 0;
216
  right: 0;
215
  right: 0;
217
  height: 2em;
216
  height: 2em;
218
  min-width: 10em;
217
  min-width: 10em;
219
  margin-bottom: 0.2em;
218
  margin-bottom: 0.2em;
220
  background-color: #999;
219
  background-color: #999;
221
  border-radius: 1.2em;
220
  border-radius: 1.2em;
222
  line-height: 0.9;
221
  line-height: 0.9;
223
}
222
}
224
223
225
.empty #footer .text {
224
.empty #footer .text {
226
  position: absolute;
225
  position: absolute;
227
  margin: 0;
226
  margin: 0;
228
  left: 0.93em;
227
  left: 0.93em;
229
  top: 0;
228
  top: 0;
230
  right: 0.75em;
229
  right: 0.75em;
231
  height: 1em;
230
  height: 1em;
232
  background-color: transparent;
231
  background-color: transparent;
233
  color: #fc0;
232
  color: #fc0;
234
  font-size: 2.4em;
233
  font-size: 2.4em;
235
  padding-right: 0.1em;
234
  padding-right: 0.1em;
236
  overflow: hidden;
235
  overflow: hidden;
237
  text-overflow: ellipsis;
236
  text-overflow: ellipsis;
238
}
237
}
239
238
240
.empty #footer .text span {
239
.empty #footer .text span {
241
  padding-right: 0.1em;
240
  padding-right: 0.1em;
242
  background-color: #000;
241
  background-color: #000;
243
  padding-left: 0.1em;
242
  padding-left: 0.1em;
244
  text-transform: uppercase;
243
  text-transform: uppercase;
245
  white-space: nowrap;
244
  white-space: nowrap;
246
}
245
}
247
246
248
.empty .separator-left {
247
.empty .separator-left {
249
  position: absolute;
248
  position: absolute;
250
  left: 2em;
249
  left: 2em;
251
  height: 2em;
250
  height: 2em;
252
  width: 0.25em;
251
  width: 0.25em;
253
  background-color: #000;
252
  background-color: #000;
254
}
253
}
255
254
256
.empty .separator-right {
255
.empty .separator-right {
257
  position: absolute;
256
  position: absolute;
258
  right: 2em;
257
  right: 2em;
259
  height: 2em;
258
  height: 2em;
260
  width: 0.25em;
259
  width: 0.25em;
261
  background-color: #000;
260
  background-color: #000;
262
}
261
}
263
262
264
.bow {
263
.bow {
265
  background-color: #999;
264
  background-color: #999;
266
}
265
}
267
266
268
#bow-top-left {
267
#bow-top-left {
269
  position: absolute;
268
  position: absolute;
270
  top: 2em;
269
  top: 2em;
271
  left: 0;
270
  left: 0;
272
  right: 0;
271
  right: 0;
273
  height: 4.4em;
272
  height: 4.4em;
274
  width: 9.2em;
273
  width: 9.2em;
275
  background-color: #999;
274
  background-color: #999;
276
  overflow: hidden;
275
  overflow: hidden;
277
}
276
}
278
277
279
.empty #bow-top-left {
278
.empty #bow-top-left {
280
  display: none;
279
  display: none;
281
}
280
}
282
281
283
#bow-top-left .concave {
282
#bow-top-left .concave {
284
  position: absolute;
283
  position: absolute;
285
  top: 0;
284
  top: 0;
286
  left: 8em;
285
  left: 8em;
287
  height: 4.4em;
286
  height: 4.4em;
288
  width: 1.2em;
287
  width: 1.2em;
289
  background-color: #000;
288
  background-color: #000;
290
  border-top-left-radius: 1.2em;
289
  border-top-left-radius: 1.2em;
291
}
290
}
292
291
293
.empty #bow-top-left-concave {
292
.empty #bow-top-left-concave {
294
  display: none;
293
  display: none;
295
}
294
}
296
295
297
.menu-container {
296
.menu-container {
298
  position: fixed;
297
  position: fixed;
299
  left: 0.2em;
298
  left: 0.2em;
300
  top: 6.8em;
299
  top: 6.8em;
301
  width: 8em;
300
  width: 8em;
302
  bottom: 2.8em;
301
  bottom: 2.8em;
303
  background-color: #999;
302
  background-color: #999;
304
  overflow: auto;
303
  overflow: auto;
305
  overflow-x: hidden;
304
  overflow-x: hidden;
306
  overflow-y: auto;
305
  overflow-y: auto;
307
}
306
}
308
307
309
.menu
308
.menu
310
{
309
{
311
  height: 23.6em;
310
  height: 23.6em;
312
  background-color: #000;
311
  background-color: #000;
313
}
312
}
314
313
315
.menu ul {
314
.menu ul {
316
  margin: 0 0.2em 0 0;
315
  margin: 0 0.2em 0 0;
317
  padding: 0;
316
  padding: 0;
318
}
317
}
319
318
320
.menu li {
319
.menu li {
321
  margin: 0;
320
  margin: 0;
322
}
321
}
323
322
324
#bow #bottom
323
#bow #bottom
325
{
324
{
326
  position: fixed;
325
  position: fixed;
327
  left: 0;
326
  left: 0;
328
  bottom: 0;
327
  bottom: 0;
329
  width: 10.4em;
328
  width: 10.4em;
330
  height: 2.4em;
329
  height: 2.4em;
331
  background-color: #000;
330
  background-color: #000;
332
  z-index: 1701;
331
  z-index: 1701;
333
}
332
}
334
333
335
#bow-bottom {
334
#bow-bottom {
336
  position: absolute;
335
  position: absolute;
337
  bottom: 0.2em;
336
  bottom: 0.2em;
338
  left: 0.2em;
337
  left: 0.2em;
339
  width: 8em;
338
  width: 8em;
340
  height: 2.4em;
339
  height: 2.4em;
341
  border-bottom-left-radius: 0em;
340
  border-bottom-left-radius: 0em;
342
  border-bottom-right-radius: 0em;
341
  border-bottom-right-radius: 0em;
343
  background-color: #999;
342
  background-color: #999;
344
}
343
}
345
344
346
.empty #bow-bottom {
345
.empty #bow-bottom {
347
  display: none;
346
  display: none;
348
}
347
}
349
348
350
#bow-bottom .concave {
349
#bow-bottom .concave {
351
  position: absolute;
350
  position: absolute;
352
  margin-left: 0.2em;
351
  margin-left: 0.2em;
353
  margin-bottom: 0.2em;
352
  margin-bottom: 0.2em;
354
  bottom: 0.3em;
353
  bottom: 0.3em;
355
  left: 7.8em;
354
  left: 7.8em;
356
  height: 2.1em;
355
  height: 2.1em;
357
  width: 2.2em;
356
  width: 2.2em;
358
  border-bottom-left-radius: 1.2em;
357
  border-bottom-left-radius: 1.2em;
359
  border-bottom-right-radius: 1em;
358
  border-bottom-right-radius: 1em;
360
  background-color: #000;
359
  background-color: #000;
361
}
360
}
362
361
363
#bow-bottom .spacer {
362
#bow-bottom .spacer {
364
  position: absolute;
363
  position: absolute;
365
  left: 10.2em;
364
  left: 10.2em;
366
  bottom: 0;
365
  bottom: 0;
367
  width: 0.2em;
366
  width: 0.2em;
368
  height: 0.5em;
367
  height: 0.5em;
369
  background-color: black;
368
  background-color: black;
370
}
369
}
371
370
372
.empty #bow-bottom-left-concave {
371
.empty #bow-bottom-left-concave {
373
  display: none;
372
  display: none;
374
}
373
}
375
374
376
/* Controls */
375
/* Controls */
377
376
378
.button:visited,
377
.button:visited,
379
.button
378
.button
380
{
379
{
381
  position: relative;
380
  position: relative;
382
  display: inline-block;
381
  display: inline-block;
383
  margin-right: 0.2em;
382
  margin-right: 0.2em;
384
  margin-bottom: 0.2em;
383
  margin-bottom: 0.2em;
385
  width: 5em;
384
  width: 5em;
386
  height: 2em;
385
  height: 2em;
387
  background-color: #7d7d7d; /* c9c */
386
  background-color: #7d7d7d; /* c9c */
388
  color: #000 !important;
387
  color: #000 !important;
389
  text-decoration: none !important;
388
  text-decoration: none !important;
390
  text-transform: uppercase;
389
  text-transform: uppercase;
391
  /* overflow: hidden; */
390
  /* overflow: hidden; */
392
  cursor: pointer !important;
391
  cursor: pointer !important;
393
}
392
}
394
393
395
.button .text {
394
.button .text {
396
  position: absolute;
395
  position: absolute;
397
  bottom: 0;
396
  bottom: 0;
398
  right: 0.5em;
397
  right: 0.5em;
399
  cursor: pointer !important;
398
  cursor: pointer !important;
400
}
399
}
401
400
402
.button.command {
401
.button.command {
403
  border-radius: 1.2em;
402
  border-radius: 1.2em;
404
}
403
}
405
404
406
.button.command .text {
405
.button.command .text {
407
  position: absolute;
406
  position: absolute;
408
  bottom: 0;
407
  bottom: 0;
409
  right: 1em;
408
  right: 1em;
410
}
409
}
411
410
412
.button:hover,
411
.button:hover,
413
.button:focus,
412
.button:focus,
414
.button.selected:hover,
413
.button.selected:hover,
415
.button.selected:focus,
414
.button.selected:focus,
416
.group .button:hover,
415
.group .button:hover,
417
.group .button:focus,
416
.group .button:focus,
418
.group .button:visited:hover,
417
.group .button:visited:hover,
419
.group .button:visited:focus
418
.group .button:visited:focus
420
{
419
{
421
  background-color: #f90 !important;
420
  background-color: #f90 !important;
422
  color: #000 !important;
421
  color: #000 !important;
423
}
422
}
424
423
425
.button:active,
424
.button:active,
426
.button.selected:active,
425
.button.selected:active,
427
.group .button:active,
426
.group .button:active,
428
.group .button:visited:active
427
.group .button:visited:active
429
{
428
{
430
  background-color: #fff !important;
429
  background-color: #fff !important;
431
  color: #000 !important;
430
  color: #000 !important;
432
}
431
}
433
432
434
.menu .button {
433
.menu .button {
435
  display: block;
434
  display: block;
436
  width: 8em;
435
  width: 8em;
437
  height: 1em;
436
  height: 1em;
438
  line-height: 1;
437
  line-height: 1;
439
  background-color: #9cf;
438
  background-color: #9cf;
440
  color: #000 !important;
439
  color: #000 !important;
441
  text-overflow: ellipsis;
440
  text-overflow: ellipsis;
442
  white-space: nowrap;
441
  white-space: nowrap;
443
}
442
}
444
443
445
#connectors {
444
#connectors {
446
  position: fixed;
445
  position: fixed;
447
  left: 8.4em;
446
  left: 8.4em;
448
  top: 5.6em;
447
  top: 5.6em;
449
}
448
}
450
449
451
#connectors div {
450
#connectors div {
452
  position: absolute;
451
  position: absolute;
453
}
452
}
454
453
455
#connectors .top {
454
#connectors .top {
456
  top: 0;
455
  top: 0;
457
  height: 1em;
456
  height: 1em;
458
}
457
}
459
458
460
#connectors .mid {
459
#connectors .mid {
461
  top: 13.6em;
460
  top: 13.6em;
462
  height: 0.8em;
461
  height: 0.8em;
463
}
462
}
464
463
465
#connectors .left {
464
#connectors .left {
466
  left: 0;
465
  left: 0;
467
  width: 2em;
466
  width: 2em;
468
}
467
}
469
468
470
#connectors .right {
469
#connectors .right {
471
  left: 2.2em;
470
  left: 2.2em;
472
  width: 0em;
471
  width: 0em;
473
}
472
}
474
473
475
.multi-display
474
.multi-display
476
{
475
{
477
  position: fixed;
476
  position: fixed;
478
  top: 2.6em;
477
  top: 2.6em;
479
  left: 10.6em;
478
  left: 10.6em;
480
  right: 0;
479
  right: 0;
481
}
480
}
482
481
483
.multi-display .button
482
.multi-display .button
484
{
483
{
485
  width: 5em !important;
484
  width: 5em !important;
486
}
485
}
487
486
488
.multi-display .upper
487
.multi-display .upper
489
{
488
{
490
  position: absolute;
489
  position: absolute;
491
  top: 0;
490
  top: 0;
492
  left: 0;
491
  left: 0;
493
  right: 0;  
492
  right: 0;  
494
  height: 7.5em;  
493
  height: 7.5em;  
495
  padding-right: 0.2em;
494
  padding-right: 0.2em;
496
  background-color: black;
495
  background-color: black;
497
}
496
}
498
497
499
.multi-display .upper .content
498
.multi-display .upper .content
500
{
499
{
501
  position: absolute;
500
  position: absolute;
502
  top: 0;
501
  top: 0;
503
  left: 6em;
502
  left: 6em;
504
  bottom: 1.3em;
503
  bottom: 1.3em;
505
  right: 0.2em;
504
  right: 0.2em;
506
  background-color: black;
505
  background-color: black;
507
  color: white;
506
  color: white;
508
  text-align: right;
507
  text-align: right;
509
  overflow: hidden;
508
  overflow: hidden;
510
  text-overflow: ellipsis;
509
  text-overflow: ellipsis;
511
}
510
}
512
511
513
.multi-display .upper .content .title
512
.multi-display .upper .content .title
514
{
513
{
515
  position: absolute;
514
  position: absolute;
516
  top: 0;
515
  top: 0;
517
  left: 0;
516
  left: 0;
518
  height: 1em;
517
  height: 1em;
519
  right: 0;
518
  right: 0;
520
  background-color: black;
519
  background-color: black;
521
  color: white;
520
  color: white;
522
  font-size: 2.4em;
521
  font-size: 2.4em;
523
  text-transform: uppercase;
522
  text-transform: uppercase;
524
  text-align: right;
523
  text-align: right;
525
  overflow: hidden;
524
  overflow: hidden;
526
}
525
}
527
526
528
.multi-display .upper .content .title span
527
.multi-display .upper .content .title span
529
{
528
{
530
  white-space: nowrap;
529
  white-space: nowrap;
531
}
530
}
532
531
533
.multi-display .upper .content .analysis {
532
.multi-display .upper .content .analysis {
534
  position: absolute;
533
  position: absolute;
535
  top: 2.4em;
534
  top: 2.4em;
536
  bottom: 0;
535
  bottom: 0;
537
  right: 11em;
536
  right: 11em;
538
  left: 0;
537
  left: 0;
539
  overflow: hidden;
538
  overflow: hidden;
540
  text-align: left;
539
  text-align: left;
541
  cursor: default;
540
  cursor: default;
542
}
541
}
543
542
544
.multi-display .upper .content .analysis table {
543
.multi-display .upper .content .analysis table {
545
  border-collapse: collapse;
544
  border-collapse: collapse;
546
  line-height: 1.2;
545
  line-height: 1.2;
547
  max-width: 100%;
546
  max-width: 100%;
548
}
547
}
549
548
550
.multi-display .upper .content .analysis th {
549
.multi-display .upper .content .analysis th {
551
  padding: 0 0.4em 0 0.1em;
550
  padding: 0 0.4em 0 0.1em;
552
  font-weight: normal;
551
  font-weight: normal;
553
  text-align: left;
552
  text-align: left;
554
  text-transform: uppercase;
553
  text-transform: uppercase;
555
  white-space: nowrap;
554
  white-space: nowrap;
556
  vertical-align: baseline;
555
  vertical-align: baseline;
557
}
556
}
558
557
559
.multi-display .upper .content .analysis td {
558
.multi-display .upper .content .analysis td {
560
  padding: 0 0.1em 0 0.1em;
559
  padding: 0 0.1em 0 0.1em;
561
  text-overflow: ellipsis;
560
  text-overflow: ellipsis;
562
  white-space: nowrap;
561
  white-space: nowrap;
563
  vertical-align: baseline;
562
  vertical-align: baseline;
564
  text-overflow: ellipsis;
563
  text-overflow: ellipsis;
565
}
564
}
566
565
567
.multi-display .upper .content .analysis td sup {
566
.multi-display .upper .content .analysis td sup {
568
  line-height: 1;
567
  line-height: 1;
569
  font-weight: 500;
568
  font-weight: 500;
570
}
569
}
571
570
572
.multi-display .upper .content .commands
571
.multi-display .upper .content .commands
573
{
572
{
574
  position: absolute;
573
  position: absolute;
575
  margin: 0;
574
  margin: 0;
576
  padding: 0;
575
  padding: 0;
577
  top: 2.4em;
576
  top: 2.4em;
578
  right: 0;
577
  right: 0;
579
  height: 3.8em;
578
  height: 3.8em;
580
  width: 10.2em;
579
  width: 10.2em;
581
  list-style: none;
580
  list-style: none;
582
}
581
}
583
582
584
.multi-display .upper .content .commands li
583
.multi-display .upper .content .commands li
585
{
584
{
586
  position: absolute;
585
  position: absolute;
587
  margin: 0;
586
  margin: 0;
588
  width: 5em;
587
  width: 5em;
589
  height: 1.8em;
588
  height: 1.8em;
590
}
589
}
591
590
592
.multi-display .upper .content .commands .button
591
.multi-display .upper .content .commands .button
593
{
592
{
594
  position: absolute;
593
  position: absolute;
595
  top: 0;
594
  top: 0;
596
  left: 0;
595
  left: 0;
597
  margin: 0;
596
  margin: 0;
598
  height: 1.8em;
597
  height: 1.8em;
599
  border-radius: 0.9em;
598
  border-radius: 0.9em;
600
  text-transform: none;
599
  text-transform: none;
601
}
600
}
602
601
603
.multi-display .upper .content .commands .button .text {
602
.multi-display .upper .content .commands .button .text {
604
  right: 1em;
603
  right: 1em;
605
}
604
}
606
605
607
.multi-display .upper .content #cmd1
606
.multi-display .upper .content #cmd1
608
{
607
{
609
  top: 0;
608
  top: 0;
610
  right: 5.2em;
609
  right: 5.2em;
611
}
610
}
612
611
613
.multi-display .upper .content #cmd2
612
.multi-display .upper .content #cmd2
614
{
613
{
615
  top: 0;
614
  top: 0;
616
  right: 0;
615
  right: 0;
617
}
616
}
618
617
619
.multi-display .upper .content #cmd3
618
.multi-display .upper .content #cmd3
620
{
619
{
621
  top: 2em;
620
  top: 2em;
622
  right: 0;
621
  right: 0;
623
}
622
}
624
623
625
.multi-display .upper .content #cmd4
624
.multi-display .upper .content #cmd4
626
{
625
{
627
  top: 2em;
626
  top: 2em;
628
  right: 5.2em;
627
  right: 5.2em;
629
}
628
}
630
629
631
.multi-display .upper .elbo-button
630
.multi-display .upper .elbo-button
632
{
631
{
633
  position: absolute;
632
  position: absolute;
634
  top: 0;
633
  top: 0;
635
  left: 0;
634
  left: 0;
636
  width: 5em;
635
  width: 5em;
637
  height: 4em;
636
  height: 4em;
638
  background-color: #c9c !important;
637
  background-color: #c9c !important;
639
  color: #000 !important;
638
  color: #000 !important;
640
  cursor: default;
639
  cursor: default;
641
}
640
}
642
641
643
.multi-display .upper .elbo-button .text
642
.multi-display .upper .elbo-button .text
644
{
643
{
645
  position: absolute;
644
  position: absolute;
646
  bottom: 0;
645
  bottom: 0;
647
  right: 0.2em;
646
  right: 0.2em;
648
  max-width: 4em;
647
  max-width: 4em;
649
  max-height: 3.6em;
648
  max-height: 3.6em;
650
  text-align: right;
649
  text-align: right;
651
  overflow: hidden;
650
  overflow: hidden;
652
}
651
}
653
652
654
.multi-display .upper .elbo
653
.multi-display .upper .elbo
655
{
654
{
656
  position: absolute;
655
  position: absolute;
657
  left: 0;
656
  left: 0;
658
  top: 4.2em;
657
  top: 4.2em;
659
  width: 6em;
658
  width: 6em;
660
  height: 3.2em;
659
  height: 3.2em;
661
  border-bottom-left-radius: 2em;
660
  border-bottom-left-radius: 2em;
662
  background-color: #9cf;
661
  background-color: #9cf;
663
  color: #000;
662
  color: #000;
664
}
663
}
665
664
666
.multi-display .upper .elbo .text
665
.multi-display .upper .elbo .text
667
{
666
{
668
  position: absolute;
667
  position: absolute;
669
  top: 0;
668
  top: 0;
670
  right: 1.2em;
669
  right: 1.2em;
671
  max-width: 4em;
670
  max-width: 4em;
672
  max-height: 2.2em;
671
  max-height: 2.2em;
673
  text-align: right;
672
  text-align: right;
674
  overflow: hidden;
673
  overflow: hidden;
675
  cursor: default;
674
  cursor: default;
676
}
675
}
677
676
678
.elbo [title],
677
.elbo [title],
679
.button [title]
678
.button [title]
680
{
679
{
681
  border-bottom: none;
680
  border-bottom: none;
682
}
681
}
683
682
684
.multi-display .upper .elbo .concave
683
.multi-display .upper .elbo .concave
685
{
684
{
686
  position: absolute;
685
  position: absolute;
687
  left: 5em;
686
  left: 5em;
688
  top: 0;
687
  top: 0;
689
  width: 1.1em;
688
  width: 1.1em;
690
  height: 2.2em;
689
  height: 2.2em;
691
  border-bottom-left-radius: 1em;
690
  border-bottom-left-radius: 1em;
692
  background-color: black;
691
  background-color: black;
693
}
692
}
694
693
695
.multi-display .border
694
.multi-display .border
696
{
695
{
697
  height: 1em;
696
  height: 1em;
698
}
697
}
699
698
700
.multi-display .upper .border
699
.multi-display .upper .border
701
{
700
{
702
  position: absolute;
701
  position: absolute;
703
  top: 6.4em;
702
  top: 6.4em;
704
  left: 6em;
703
  left: 6em;
705
  right: 0.2em;
704
  right: 0.2em;
706
}
705
}
707
706
708
.multi-display .border div
707
.multi-display .border div
709
{
708
{
710
  position: absolute;
709
  position: absolute;
711
  top: 0;
710
  top: 0;
712
  height: 1em;
711
  height: 1em;
713
}
712
}
714
713
715
.multi-display .upper .border div
714
.multi-display .upper .border div
716
{
715
{
717
  background-color: #9cf;
716
  background-color: #9cf;
718
}
717
}
719
718
720
.multi-display .upper .border .left
719
.multi-display .upper .border .left
721
{
720
{
722
  left: 0;
721
  left: 0;
723
  right: 5.2em;
722
  right: 5.2em;
724
  height: 1em;
723
  height: 1em;
725
}
724
}
726
 
725
 
727
.multi-display .upper .border .right
726
.multi-display .upper .border .right
728
{
727
{
729
  width: 5em;
728
  width: 5em;
730
  right: 0;
729
  right: 0;
731
}
730
}
732
 
731
 
733
.multi-display .lower
732
.multi-display .lower
734
{
733
{
735
  position: absolute;
734
  position: absolute;
736
  top: 7.5em;
735
  top: 7.5em;
737
  left: 0;
736
  left: 0;
738
  height: 0.1em;
737
  height: 0.1em;
739
  right: 0;
738
  right: 0;
740
  background-color: black;
739
  background-color: black;
741
}
740
}
742
741
743
.multi-display .lower .elbo
742
.multi-display .lower .elbo
744
{
743
{
745
  position: absolute;
744
  position: absolute;
746
  top: 0.1em;
745
  top: 0.1em;
747
  left: 0;
746
  left: 0;
748
  width: 6em;
747
  width: 6em;
749
  height: 3em;
748
  height: 3em;
750
  border-top-left-radius: 2em;
749
  border-top-left-radius: 2em;
751
  background-color: #fc6;
750
  background-color: #fc6;
752
}
751
}
753
752
754
.multi-display .lower .elbo .concave
753
.multi-display .lower .elbo .concave
755
{
754
{
756
  position: absolute;
755
  position: absolute;
757
  left: 5em;
756
  left: 5em;
758
  top: 1em;
757
  top: 1em;
759
  width: 1.1em;
758
  width: 1.1em;
760
  height: 2.1em;
759
  height: 2.1em;
761
  background-color: black;
760
  background-color: black;
762
  border-top-left-radius: 1em;
761
  border-top-left-radius: 1em;
763
}
762
}
764
763
765
.multi-display .lower .bg
764
.multi-display .lower .bg
766
{
765
{
767
  position: fixed;
766
  position: fixed;
768
  top: 13.4em;
767
  top: 13.4em;
769
  bottom: 0.2em;
768
  bottom: 0.2em;
770
  width: 5em;
769
  width: 5em;
771
  background-color: #fc6;
770
  background-color: #fc6;
772
}
771
}
773
772
774
.multi-display .lower .border-container
773
.multi-display .lower .border-container
775
{
774
{
776
  position: absolute;
775
  position: absolute;
777
  top: 0.1em;
776
  top: 0.1em;
778
  left: 6em;
777
  left: 6em;
779
  right: 0;
778
  right: 0;
780
  height: 1.2em;
779
  height: 1.2em;
781
  background-color: black;
780
  background-color: black;
782
}
781
}
783
782
784
.multi-display .lower .border
783
.multi-display .lower .border
785
{
784
{
786
  position: absolute;
785
  position: absolute;
787
  left: 0;
786
  left: 0;
788
  right: 0.2em;
787
  right: 0.2em;
789
}
788
}
790
789
791
.multi-display .lower .border div
790
.multi-display .lower .border div
792
{
791
{
793
  background-color: #fc6;
792
  background-color: #fc6;
794
}
793
}
795
794
796
.multi-display .lower .border .left
795
.multi-display .lower .border .left
797
{
796
{
798
  left: 0;
797
  left: 0;
799
  right: 5.2em;
798
  right: 5.2em;
800
}
799
}
801
800
802
.multi-display .lower .border .right
801
.multi-display .lower .border .right
803
{
802
{
804
  width: 5em;
803
  width: 5em;
805
  right: 0;
804
  right: 0;
806
}
805
}
807
806
808
.menu .button.secondary,
807
.menu .button.secondary,
809
.multi-display .lower .elbo.secondary,
808
.multi-display .lower .elbo.secondary,
810
.multi-display .lower .bg.secondary,
809
.multi-display .lower .bg.secondary,
811
.multi-display .lower .border.secondary
810
.multi-display .lower .border.secondary
812
{
811
{
813
  background-color: #f96;
812
  background-color: #f96;
814
}
813
}
815
814
816
.menu .button.ancillary,
815
.menu .button.ancillary,
817
.multi-display .lower .elbo.ancillary,
816
.multi-display .lower .elbo.ancillary,
818
.multi-display .lower .bg.ancillary,
817
.multi-display .lower .bg.ancillary,
819
.multi-display .lower .border.ancillary
818
.multi-display .lower .border.ancillary
820
{
819
{
821
  background-color: #c9c;
820
  background-color: #c9c;
822
}
821
}
823
822
824
.menu .button.database,
823
.menu .button.database,
825
.multi-display .lower .elbo.database,
824
.multi-display .lower .elbo.database,
826
.multi-display .lower .bg.database,
825
.multi-display .lower .bg.database,
827
.multi-display .lower .border.database
826
.multi-display .lower .border.database
828
{
827
{
829
  background-color: #c66;
828
  background-color: #c66;
830
}
829
}
831
830
832
.menu .button .text {
831
.menu .button .text {
833
  position: static;
832
  position: static;
834
  margin: 0 0.25em;
833
  margin: 0 0.25em;
835
}
834
}
836
835
837
.button.selected {
836
.button.selected {
838
  background-color: #fc6 !important;
837
  background-color: #fc6 !important;
839
  color: #000 !important;  
838
  color: #000 !important;  
840
}
839
}
841
840
842
.group {
841
.group {
843
  margin: 0 auto;
842
  margin: 0 auto;
844
  position: relative;
843
  position: relative;
845
  width: 7.7em;
844
  width: 7.7em;
846
}
845
}
847
846
848
.group .separator {
847
.group .separator {
849
  float: left;
848
  float: left;
850
  position: absolute;
849
  position: absolute;
851
  top: 0;
850
  top: 0;
852
  left: 0;
851
  left: 0;
853
  width: 1.5em;
852
  width: 1.5em;
854
  height: 100%;
853
  height: 100%;
855
  background-color: #c66;
854
  background-color: #c66;
856
  color: #000;
855
  color: #000;
857
}
856
}
858
857
859
.group .separator:after {
858
.group .separator:after {
860
  position: absolute;
859
  position: absolute;
861
  width: 0.8em;
860
  width: 0.8em;
862
  height: 0.5em;
861
  height: 0.5em;
863
  bottom: 0.25em;
862
  bottom: 0.25em;
864
  left: 0.25em;
863
  left: 0.25em;
865
  background-color: #000;
864
  background-color: #000;
866
  content: "\a0";
865
  content: "\a0";
867
}
866
}
868
867
869
.group ul {
868
.group ul {
870
  margin-left: 1.7em;
869
  margin-left: 1.7em;
871
}
870
}
872
871
873
.group li {
872
.group li {
874
  margin-bottom: 0;
873
  margin-bottom: 0;
875
}
874
}
876
875
877
.group .button:visited,
876
.group .button:visited,
878
.group .button
877
.group .button
879
{
878
{
880
  display: block;
879
  display: block;
881
  position: relative;
880
  position: relative;
882
  width: 6em;
881
  width: 6em;
883
  background-color: #99f !important;
882
  background-color: #99f !important;
884
}
883
}
885
884
886
.group li:last-child .button
885
.group li:last-child .button
887
{
886
{
888
  margin-bottom: 0;
887
  margin-bottom: 0;
889
}
888
}
890
889
891
.button.right {
890
.button.right {
892
  border-top-right-radius: 1em;
891
  border-top-right-radius: 1em;
893
  border-bottom-right-radius: 1em;
892
  border-bottom-right-radius: 1em;
894
}
893
}
895
894
896
.button.right .text {
895
.button.right .text {
897
  right: 1em;
896
  right: 1em;
898
}
897
}
899
898
900
.button.left {
899
.button.left {
901
  border-top-left-radius: 1em;
900
  border-top-left-radius: 1em;
902
  border-bottom-left-radius: 1em;
901
  border-bottom-left-radius: 1em;
903
}
902
}
904
903
905
.group .button .key {
904
.group .button .key {
906
  display: inline-block;
905
  display: inline-block;
907
  position: absolute;
906
  position: absolute;
908
  left: 0.2em;
907
  left: 0.2em;
909
  top: 0;
908
  top: 0;
910
  bottom: 0;
909
  bottom: 0;
911
  padding: 0 0.1em;
910
  padding: 0 0.1em;
912
  background-color: #000;
911
  background-color: #000;
913
  color: #f90;
912
  color: #f90;
914
  font-size: 2.4em;
913
  font-size: 2.4em;
915
  text-transform: uppercase;
914
  text-transform: uppercase;
916
  line-height: 0.9;
915
  line-height: 0.9;
917
}
916
}
918
917
919
/* Responsive Web Design (TODO: Move to imported stylesheet; but see above) */
918
/* Responsive Web Design (TODO: Move to imported stylesheet; but see above) */
920
919
921
body {
920
body {
922
  <?php
921
  <?php
923
    Mixins::transition('', 'margin-left 0.5s 0.5s ease');
922
    Mixins::transition('', 'margin-left 0.5s 0.5s ease');
924
  ?>
923
  ?>
925
}
924
}
926
925
927
#bow #bottom
926
#bow #bottom
928
{
927
{
929
  <?php
928
  <?php
930
    Mixins::transition('', 'width 0.5s 0.5s ease');
929
    Mixins::transition('', 'width 0.5s 0.5s ease');
931
  ?>
930
  ?>
932
}
931
}
933
932
934
#bow-bottom {
933
#bow-bottom {
935
  <?php
934
  <?php
936
    Mixins::transition('-property', 'border-bottom-left-radius, border-bottom-right-radius, width');
935
    Mixins::transition('-property', 'border-bottom-left-radius, border-bottom-right-radius, width');
937
    Mixins::transition('-delay', '0.5s');
936
    Mixins::transition('-delay', '0.5s');
938
    Mixins::transition('-duration', '0.5s');
937
    Mixins::transition('-duration', '0.5s');
939
    Mixins::transition('-timing-function', 'ease');
938
    Mixins::transition('-timing-function', 'ease');
940
  ?>
939
  ?>
941
}
940
}
942
941
943
#bow-bottom .concave {
942
#bow-bottom .concave {
944
  <?php
943
  <?php
945
    Mixins::transition('', 'width 0.5s 0.5s ease');
944
    Mixins::transition('', 'width 0.5s 0.5s ease');
946
  ?>
945
  ?>
947
}
946
}
948
947
949
#connectors .right {
948
#connectors .right {
950
  <?php
949
  <?php
951
    Mixins::transition('', 'width 0.5s 0.5s ease');
950
    Mixins::transition('', 'width 0.5s 0.5s ease');
952
  ?>
951
  ?>
953
}
952
}
954
953
955
.multi-display
954
.multi-display
956
{
955
{
957
  <?php
956
  <?php
958
    Mixins::transition('', 'left 0.5s 0.5s ease');
957
    Mixins::transition('', 'left 0.5s 0.5s ease');
959
  ?>
958
  ?>
960
}
959
}
961
960
962
.multi-display .lower .bg
961
.multi-display .lower .bg
963
{
962
{
964
  <?php
963
  <?php
965
    /* Wait 1s for bow to become shallower */
964
    /* Wait 1s for bow to become shallower */
966
    Mixins::transition('', 'bottom 2.5s 0.5s ease');
965
    Mixins::transition('', 'bottom 2.5s 0.5s ease');
967
  ?>
966
  ?>
968
}
967
}
969
968
970
@media all and (min-width: 1024px) and (min-height: 364px) {
969
@media all and (min-width: 1024px) and (min-height: 364px) {
971
  body {
970
  body {
972
    margin-left: 22em;
971
    margin-left: 22em;
973
  <?php
972
  <?php
974
    Mixins::transition('', 'margin-left 0.5s 0.5s ease');
973
    Mixins::transition('', 'margin-left 0.5s 0.5s ease');
975
  ?>
974
  ?>
976
  }
975
  }
977
976
978
  #bow #bottom
977
  #bow #bottom
979
  {
978
  {
980
    width: 20.8em;
979
    width: 20.8em;
981
  <?php
980
  <?php
982
    /* Wait 0.5s for multi-display to be reduced in height */
981
    /* Wait 0.5s for multi-display to be reduced in height */
983
    Mixins::transition('', 'width 1.0s 0.5s ease');
982
    Mixins::transition('', 'width 1.0s 0.5s ease');
984
  ?>
983
  ?>
985
  }
984
  }
986
   
985
   
987
  #bow-bottom {
986
  #bow-bottom {
988
    border-bottom-left-radius: 2.4em;
987
    border-bottom-left-radius: 2.4em;
989
    border-bottom-right-radius: 2em;
988
    border-bottom-right-radius: 2em;
990
    width: 20.6em;
989
    width: 20.6em;
991
  <?php
990
  <?php
992
    Mixins::transition('-property', 'border-bottom-left-radius, border-bottom-right-radius, height, width');
991
    Mixins::transition('-property', 'border-bottom-left-radius, border-bottom-right-radius, height, width');
993
    Mixins::transition('-delay', '1.0s');
992
    Mixins::transition('-delay', '1.0s');
994
    Mixins::transition('-duration', '0.5s');
993
    Mixins::transition('-duration', '0.5s');
995
    Mixins::transition('-timing-function', 'ease');
994
    Mixins::transition('-timing-function', 'ease');
996
  ?>
995
  ?>
997
  }
996
  }
998
 
997
 
999
  #bow-bottom .concave {
998
  #bow-bottom .concave {
1000
    width: 7.6em;
999
    width: 7.6em;
1001
  <?php
1000
  <?php
1002
    Mixins::transition('', 'width 1.0s 0.5s ease');
1001
    Mixins::transition('', 'width 1.0s 0.5s ease');
1003
  ?>
1002
  ?>
1004
  }
1003
  }
1005
1004
1006
  #connectors .right {
1005
  #connectors .right {
1007
    width: 5em;
1006
    width: 5em;
1008
    <?php
1007
    <?php
1009
      /* Wait 1.0s for multi-display to be moved to right */
1008
      /* Wait 1.0s for multi-display to be moved to right */
1010
      Mixins::transition('', 'width 1.0s 0.5s ease');
1009
      Mixins::transition('', 'width 1.0s 0.5s ease');
1011
    ?>
1010
    ?>
1012
  }
1011
  }
1013
 
1012
 
1014
  .multi-display
1013
  .multi-display
1015
  {
1014
  {
1016
    left: 15.8em;
1015
    left: 15.8em;
1017
  <?php
1016
  <?php
1018
    Mixins::transition('', 'left 0.5s 0.5s ease');
1017
    Mixins::transition('', 'left 0.5s 0.5s ease');
1019
  ?>
1018
  ?>
1020
  }
1019
  }
1021
 
1020
 
1022
  .multi-display .lower .bg
1021
  .multi-display .lower .bg
1023
  {
1022
  {
1024
    bottom: 2.8em;
1023
    bottom: 2.8em;
1025
    <?php
1024
    <?php
1026
      Mixins::transition('', 'bottom 0.5s 0.5s ease');
1025
      Mixins::transition('', 'bottom 0.5s 0.5s ease');
1027
    ?>
1026
    ?>
1028
  }  
1027
  }  
1029
}
1028
}
1030
 
1029