4 Licensed under the BSD License.
5 https://github.com/pure-css/pure/blob/master/LICENSE
8 normalize.css v | MIT License | https://necolas.github.io/normalize.css/
9 Copyright (c) Nicolas Gallagher and Jonathan Neal
11 /*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html {
13 -webkit-text-size-adjust:100%
26 box-sizing:content-box;
31 font-family:monospace,monospace;
35 background-color:transparent
39 text-decoration:underline;
40 -webkit-text-decoration:underline dotted;
41 text-decoration:underline dotted
50 font-family:monospace,monospace;
61 vertical-align:baseline
94 -webkit-appearance:button
96 [type=button]::-moz-focus-inner,
97 [type=reset]::-moz-focus-inner,
98 [type=submit]::-moz-focus-inner,
99 button::-moz-focus-inner {
103 [type=button]:-moz-focusring,
104 [type=reset]:-moz-focusring,
105 [type=submit]:-moz-focusring,
106 button:-moz-focusring {
107 outline:1px dotted ButtonText
110 padding:.35em .75em .625em
113 box-sizing:border-box;
121 vertical-align:baseline
128 box-sizing:border-box;
131 [type=number]::-webkit-inner-spin-button,
132 [type=number]::-webkit-outer-spin-button {
136 -webkit-appearance:textfield;
139 [type=search]::-webkit-search-decoration {
140 -webkit-appearance:none
142 ::-webkit-file-upload-button {
143 -webkit-appearance:button;
159 font-family:sans-serif
163 display:none!important
173 align-content:flex-start
176 display:inline-block;
225 display:inline-block;
226 letter-spacing:normal;
334 display:inline-block;
337 vertical-align:middle;
340 -webkit-user-drag:none;
341 -webkit-user-select:none;
343 box-sizing:border-box
345 .pure-button::-moz-focus-inner {
350 letter-spacing:-.31em;
351 text-rendering:optimizespeed
353 .opera-only :-o-prefocus,
357 .pure-button-group .pure-button {
358 letter-spacing:normal;
367 color:rgba(0,0,0,.8);
368 border:none transparent;
369 background-color:#e6e6e6;
370 text-decoration:none;
376 background-image:linear-gradient(transparent,rgba(0,0,0,.05) 40%,rgba(0,0,0,.1))
382 .pure-button:active {
383 box-shadow:0 0 0 1px rgba(0,0,0,.15) inset,0 0 6px rgba(0,0,0,.2) inset;
386 .pure-button-disabled,
387 .pure-button-disabled:active,
388 .pure-button-disabled:focus,
389 .pure-button-disabled:hover,
390 .pure-button[disabled] {
392 background-image:none;
398 .pure-button-hidden {
401 .pure-button-primary,
402 .pure-button-selected,
403 a.pure-button-primary,
404 a.pure-button-selected {
405 background-color:#0078e7;
408 .pure-button-group .pure-button {
411 border-right:1px solid rgba(0,0,0,.2)
413 .pure-button-group .pure-button:first-child {
414 border-top-left-radius:2px;
415 border-bottom-left-radius:2px
417 .pure-button-group .pure-button:last-child {
418 border-top-right-radius:2px;
419 border-bottom-right-radius:2px;
422 .pure-form input[type=color],
423 .pure-form input[type=date],
424 .pure-form input[type=datetime-local],
425 .pure-form input[type=datetime],
426 .pure-form input[type=email],
427 .pure-form input[type=month],
428 .pure-form input[type=number],
429 .pure-form input[type=password],
430 .pure-form input[type=search],
431 .pure-form input[type=tel],
432 .pure-form input[type=text],
433 .pure-form input[type=time],
434 .pure-form input[type=url],
435 .pure-form input[type=week],
437 .pure-form textarea {
439 display:inline-block;
440 border:1px solid #ccc;
441 box-shadow:inset 0 1px 3px #ddd;
443 vertical-align:middle;
444 box-sizing:border-box
446 .pure-form input:not([type]) {
448 display:inline-block;
449 border:1px solid #ccc;
450 box-shadow:inset 0 1px 3px #ddd;
452 box-sizing:border-box
454 .pure-form input[type=color] {
457 .pure-form input[type=color]:focus,
458 .pure-form input[type=date]:focus,
459 .pure-form input[type=datetime-local]:focus,
460 .pure-form input[type=datetime]:focus,
461 .pure-form input[type=email]:focus,
462 .pure-form input[type=month]:focus,
463 .pure-form input[type=number]:focus,
464 .pure-form input[type=password]:focus,
465 .pure-form input[type=search]:focus,
466 .pure-form input[type=tel]:focus,
467 .pure-form input[type=text]:focus,
468 .pure-form input[type=time]:focus,
469 .pure-form input[type=url]:focus,
470 .pure-form input[type=week]:focus,
471 .pure-form select:focus,
472 .pure-form textarea:focus {
476 .pure-form input:not([type]):focus {
480 .pure-form input[type=checkbox]:focus,
481 .pure-form input[type=file]:focus,
482 .pure-form input[type=radio]:focus {
483 outline:thin solid #129FEA;
484 outline:1px auto #129FEA
486 .pure-form .pure-checkbox,
487 .pure-form .pure-radio {
491 .pure-form input[type=color][disabled],
492 .pure-form input[type=date][disabled],
493 .pure-form input[type=datetime-local][disabled],
494 .pure-form input[type=datetime][disabled],
495 .pure-form input[type=email][disabled],
496 .pure-form input[type=month][disabled],
497 .pure-form input[type=number][disabled],
498 .pure-form input[type=password][disabled],
499 .pure-form input[type=search][disabled],
500 .pure-form input[type=tel][disabled],
501 .pure-form input[type=text][disabled],
502 .pure-form input[type=time][disabled],
503 .pure-form input[type=url][disabled],
504 .pure-form input[type=week][disabled],
505 .pure-form select[disabled],
506 .pure-form textarea[disabled] {
508 background-color:#eaeded;
511 .pure-form input:not([type])[disabled] {
513 background-color:#eaeded;
516 .pure-form input[readonly],
517 .pure-form select[readonly],
518 .pure-form textarea[readonly] {
519 background-color:#eee;
523 .pure-form input:focus:invalid,
524 .pure-form select:focus:invalid,
525 .pure-form textarea:focus:invalid {
529 .pure-form input[type=checkbox]:focus:invalid:focus,
530 .pure-form input[type=file]:focus:invalid:focus,
531 .pure-form input[type=radio]:focus:invalid:focus {
532 outline-color:#e9322d
536 border:1px solid #ccc;
537 background-color:#fff
539 .pure-form select[multiple] {
545 .pure-form fieldset {
547 padding:.35em 0 .75em;
556 border-bottom:1px solid #e5e5e5
558 .pure-form-stacked input[type=color],
559 .pure-form-stacked input[type=date],
560 .pure-form-stacked input[type=datetime-local],
561 .pure-form-stacked input[type=datetime],
562 .pure-form-stacked input[type=email],
563 .pure-form-stacked input[type=file],
564 .pure-form-stacked input[type=month],
565 .pure-form-stacked input[type=number],
566 .pure-form-stacked input[type=password],
567 .pure-form-stacked input[type=search],
568 .pure-form-stacked input[type=tel],
569 .pure-form-stacked input[type=text],
570 .pure-form-stacked input[type=time],
571 .pure-form-stacked input[type=url],
572 .pure-form-stacked input[type=week],
573 .pure-form-stacked label,
574 .pure-form-stacked select,
575 .pure-form-stacked textarea {
579 .pure-form-stacked input:not([type]) {
583 .pure-form-aligned input,
584 .pure-form-aligned select,
585 .pure-form-aligned textarea,
586 .pure-form-message-inline {
587 display:inline-block;
588 vertical-align:middle
590 .pure-form-aligned textarea {
593 .pure-form-aligned .pure-control-group {
596 .pure-form-aligned .pure-control-group label {
598 display:inline-block;
599 vertical-align:middle;
603 .pure-form-aligned .pure-controls {
604 margin:1.5em 0 0 11em
606 .pure-form .pure-input-rounded,
607 .pure-form input.pure-input-rounded {
611 .pure-form .pure-group fieldset {
614 .pure-form .pure-group input,
615 .pure-form .pure-group textarea {
623 .pure-form .pure-group input:focus,
624 .pure-form .pure-group textarea:focus {
627 .pure-form .pure-group input:first-child,
628 .pure-form .pure-group textarea:first-child {
630 border-radius:4px 4px 0 0;
633 .pure-form .pure-group input:first-child:last-child,
634 .pure-form .pure-group textarea:first-child:last-child {
639 .pure-form .pure-group input:last-child,
640 .pure-form .pure-group textarea:last-child {
642 border-radius:0 0 4px 4px;
645 .pure-form .pure-group button {
648 .pure-form .pure-input-1 {
651 .pure-form .pure-input-3-4 {
654 .pure-form .pure-input-2-3 {
657 .pure-form .pure-input-1-2 {
660 .pure-form .pure-input-1-3 {
663 .pure-form .pure-input-1-4 {
666 .pure-form-message-inline {
667 display:inline-block;
670 vertical-align:middle;
678 @media only screen and (max-width :480px) {
679 .pure-form button[type=submit] {
682 .pure-form input:not([type]),
683 .pure-form input[type=color],
684 .pure-form input[type=date],
685 .pure-form input[type=datetime-local],
686 .pure-form input[type=datetime],
687 .pure-form input[type=email],
688 .pure-form input[type=month],
689 .pure-form input[type=number],
690 .pure-form input[type=password],
691 .pure-form input[type=search],
692 .pure-form input[type=tel],
693 .pure-form input[type=text],
694 .pure-form input[type=time],
695 .pure-form input[type=url],
696 .pure-form input[type=week],
701 .pure-group input:not([type]),
702 .pure-group input[type=color],
703 .pure-group input[type=date],
704 .pure-group input[type=datetime-local],
705 .pure-group input[type=datetime],
706 .pure-group input[type=email],
707 .pure-group input[type=month],
708 .pure-group input[type=number],
709 .pure-group input[type=password],
710 .pure-group input[type=search],
711 .pure-group input[type=tel],
712 .pure-group input[type=text],
713 .pure-group input[type=time],
714 .pure-group input[type=url],
715 .pure-group input[type=week] {
718 .pure-form-aligned .pure-control-group label {
724 .pure-form-aligned .pure-controls {
728 .pure-form-message-inline {
735 box-sizing:border-box
760 text-decoration:none;
763 .pure-menu-horizontal {
767 .pure-menu-horizontal .pure-menu-list {
770 .pure-menu-horizontal .pure-menu-heading,
771 .pure-menu-horizontal .pure-menu-item,
772 .pure-menu-horizontal .pure-menu-separator {
773 display:inline-block;
774 vertical-align:middle
776 .pure-menu-item .pure-menu-item {
779 .pure-menu-children {
788 .pure-menu-horizontal .pure-menu-children {
793 .pure-menu-active>.pure-menu-children,
794 .pure-menu-allow-hover:hover>.pure-menu-children {
798 .pure-menu-has-children>.pure-menu-link:after {
803 .pure-menu-horizontal .pure-menu-has-children>.pure-menu-link:after {
806 .pure-menu-scrollable {
810 .pure-menu-scrollable .pure-menu-list {
813 .pure-menu-horizontal.pure-menu-scrollable .pure-menu-list {
816 .pure-menu-horizontal.pure-menu-scrollable {
822 .pure-menu-horizontal .pure-menu-children .pure-menu-separator,
823 .pure-menu-separator {
824 background-color:#ccc;
828 .pure-menu-horizontal .pure-menu-separator {
833 .pure-menu-horizontal .pure-menu-children .pure-menu-separator {
838 text-transform:uppercase;
844 .pure-menu-children {
845 background-color:#fff
851 .pure-menu-disabled {
854 .pure-menu-disabled .pure-menu-link:hover {
855 background-color:transparent;
858 .pure-menu-active>.pure-menu-link,
859 .pure-menu-link:focus,
860 .pure-menu-link:hover {
861 background-color:#eee
863 .pure-menu-selected>.pure-menu-link,
864 .pure-menu-selected>.pure-menu-link:visited {
868 border-collapse:collapse;
871 border:1px solid #cbcbcb
873 .pure-table caption {
875 font:italic 85%/1 arial,sans-serif;
881 border-left:1px solid #cbcbcb;
882 border-width:0 0 0 1px;
889 background-color:#e0e0e0;
892 vertical-align:bottom
895 background-color:transparent
898 background-color:#f2f2f2
900 .pure-table-striped tr:nth-child(2n-1) td {
901 background-color:#f2f2f2
903 .pure-table-bordered td {
904 border-bottom:1px solid #cbcbcb
906 .pure-table-bordered tbody>tr:last-child>td {
907 border-bottom-width:0
909 .pure-table-horizontal td,
910 .pure-table-horizontal th {
911 border-width:0 0 1px 0;
912 border-bottom:1px solid #cbcbcb
914 .pure-table-horizontal tbody>tr:last-child>td {
915 border-bottom-width:0
923 --dark-gray: #242424;
924 --light-gray: #cad2d3;
925 --darker-gray: #191919;
926 --black-opacity: rgba(0,0,0,0.4);
931 color:var(--light-gray);
932 background: var(--dark-gray);
935 .pure-img-responsive {
943 -webkit-transition:all 0.2s ease-out;
944 -moz-transition:all 0.2s ease-out;
945 -ms-transition:all 0.2s ease-out;
946 -o-transition:all 0.2s ease-out;
947 transition:all 0.2s ease-out
954 #layout.active #menu {
958 #layout.active .menu-link {
970 color: var(--dark-gray);
974 color: var(--accent);
979 font-variant-caps: small-caps
983 color: var(--light-gray);
990 color: var(--light-gray)
993 margin-left:calc(var(--slide)* -1);
1001 background: var(--darker-gray);
1003 -webkit-overflow-scrolling:touch
1006 color: var(--light-gray);
1008 padding:.6em 0.3em .6em 0.6em
1011 #menu .pure-menu ul {
1013 background:transparent
1015 #menu .pure-menu ul,
1016 #menu .pure-menu .menu-item-divided {
1017 border-top: 0.1em solid var(--dark-gray)
1019 #menu .pure-menu li a:hover,
1020 #menu .pure-menu li a:focus {
1021 background: var(--dark-gray);
1022 color: var(--light-gray);
1024 #menu .pure-menu-selected,
1025 #menu .pure-menu-heading {
1026 background: var(--accent);
1028 #menu .pure-menu-selected a {
1031 #menu .pure-menu-heading {
1032 letter-spacing:.15em;
1033 text-transform:uppercase;
1034 color: var(--light);
1037 padding:.6em 0.3em .6em 0.3em
1045 background:rgba(0,0,0,0.42);
1061 .menu-link span:before,
1062 .menu-link span:after {
1063 background-color: var(--accent);
1067 .menu-link span:before,
1068 .menu-link span:after {
1073 .menu-link span:after {
1076 @media(min-width:800px) {
1083 padding-left:var(--slide);
1094 #layout.active .menu-link {
1102 -webkit-appearance:none;
1105 background: transparent;
1108 input[type=range]:focus {
1112 input[type=range]::-webkit-slider-runnable-track {
1118 background: var(--accent);
1119 border-radius: 0.3em;
1123 input[type=range]::-webkit-slider-thumb {
1125 border: 0.1em solid var(--light-gray)
1129 background: var(--light-gray)
1131 -webkit-appearance:none;
1135 input[type=range]:focus::-webkit-slider-runnable-track {
1136 background: var(--accent)
1139 input[type=range]::-moz-range-track {
1145 background: var(--accent);
1146 border-radius: 0.3em;
1150 input[type=range]::-moz-range-thumb {
1152 border: 0.1em solid var(--accent);
1156 background: var(--light-gray);
1160 input[type=range]::-ms-track {
1165 background:transparent;
1166 border-color:transparent;
1170 input[type=range]::-ms-fill-lower {
1171 background: var(--light-gray);
1173 border-radius: 0.6em;
1177 input[type=range]::-ms-fill-upper {
1178 background: var(--light-gray);
1180 border-radius: 0.6em;
1184 input[type=range]::-ms-thumb {
1187 border: 0.1em solid var(--accent);
1191 background: var(--light-gray);
1195 input[type=range]:focus::-ms-fill-lower {
1196 background: var(--light-gray);
1199 input[type=range]:focus::-ms-fill-upper {
1200 background: var(--light-gray);
1217 display: inline-block;
1218 text-decoration: none
1221 /* notification button */
1227 background-color: var(--dark-gray);
1229 word-wrap: anywhere;
1233 /* notification message */
1241 color: var(--light);
1245 background-color: var(--dark-gray);
1246 border:0.2em solid var(--accent);
1247 box-shadow:inset 0 0.1em 1.1em 0 var(--accent);
1248 word-wrap: anywhere;
1249 font-weight: bolder;
1252 border-radius: 0.5em;
1262 padding: 0.1em 0.1em 0.1em 0.1em;
1263 text-decoration: none;
1267 background: var(--dark-gray);
1268 color: var(--light);
1269 border: 0.2em solid var(--accent);
1271 box-shadow:inset 0 0.1em 1.1em 0 var(--accent);
1275 animation: fadeOut 5s ease;
1279 @keyframes fadeOut {
1287 position: fixed; /* Stay in place */
1288 z-index: 2000; /* Sit on top */
1291 width: 100%; /* Full width */
1292 height: 100%; /* Full height */
1293 overflow: auto; /* Enable scroll if needed */
1294 background-color: var(--black-opacity); /* Black w/ opacity */
1297 -webkit-appearance:button;
1299 letter-spacing:.05em;
1300 text-transform:uppercase;
1301 color:var(--light-gray);
1303 border:0.2em solid var(--accent);
1305 box-shadow:inset 0 0.1em 1.1em 0 var(--accent);
1309 background-color: var(--dark-gray);
1320 .table-header tr td {
1321 border-bottom: 0.1em solid var(--light-gray)
1324 .modal-content table {
1325 border-spacing: 0.5em 1em;
1328 /* overlapping hint button */
1337 background: transparent;
1338 color: var(--dark-gray);
1345 line-height: 1.15em;
1350 fieldset .pure-u-1 {
1354 /* checkbox as a switch */
1356 input[type=checkbox].switch {
1359 label.switch.socket {
1364 span.switch.slider {
1365 display: inline-block;
1367 label.switch.socket span.switch.slider:before {
1369 color: var(--darkgray);
1376 border:0.2em solid var(--accent);
1377 box-shadow:inset 0 0.1em 1.1em 0 var(--accent)
1379 label.switch span.switch.slider:after {
1383 background: var(--accent);
1390 label.switch.socket input[type=checkbox]:checked + span.slider:before {
1391 background: var(--light-gray);
1394 label.switch.socket input[type=checkbox]:checked + span.slider:after {
1395 background: var(--light);
1401 .inline-input.inline-input.inline-input {
1402 display: inline-block;
1403 width: calc(100% - 5em)
1407 display:inline-block;
1408 font-family:inherit;
1410 line-height: 1.15em;
1412 color: var(--dark-gray);
1413 border:none transparent;
1414 background-color: var(--light-gray);
1415 text-decoration:none;
1417 vertical-align: middle;
1424 color: var(--dark-gray);
1425 border:none transparent;
1426 background-color: var(--light-gray);
1427 margin: 0.5em 1em 0.5em 1em;
1434 border-collapse: collapse;
1440 .weekday, .weekday-selected {
1441 font-size: min(4vw, 100%rem);
1446 border:0.2em solid var(--accent);
1447 box-shadow:inset 0 0.1em 1.1em 0 var(--accent);
1448 color: var(--light-gray)
1451 background: var(--light-gray);
1452 color: var(--darker-gray);
1457 input[type=number] {
1458 appearance: textfield;
1461 /* fill all screen */
1470 border-collapse: collapse;
1479 .value-name.value-name {
1486 input[type=file]::file-selector-button {
1490 input[type=file]::-webkit-file-upload-button {
1497 input[type=file]::-ms-browse {
1501 .row-button.row-button.row-button {
1502 display: inline-block;
1508 margin: 0.5em 2em 0.5em 2em;
1509 color: var(--accent);
1515 font-family: "icons";
1518 src: url("/icons.woff2") format("woff2");
1524 margin-right: 0.5em;