|
|
|
* {
|
|
|
|
margin: 0;
|
|
|
|
padding: 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
body {
|
|
|
|
background-color: blue;
|
|
|
|
}
|
|
|
|
|
|
|
|
@media (min-resolution: 120dpi) {
|
|
|
|
html {
|
|
|
|
font-size: 120%;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
pre, p {
|
|
|
|
padding: .5em 0 1em 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
div {
|
|
|
|
overflow: auto;
|
|
|
|
}
|
|
|
|
|
|
|
|
#main svg, #preview svg {
|
|
|
|
max-width: 100%;
|
|
|
|
max-height: 100%;
|
|
|
|
width: auto;
|
|
|
|
height: auto;
|
|
|
|
z-index: -1;
|
|
|
|
position: relative;
|
|
|
|
display: block;
|
|
|
|
margin: auto;
|
|
|
|
}
|
|
|
|
#preview svg {
|
|
|
|
padding-top: 2em;
|
|
|
|
}
|
|
|
|
ul li {
|
|
|
|
margin-left: 1em;
|
|
|
|
}
|
|
|
|
|
|
|
|
form {
|
|
|
|
display: flex;
|
|
|
|
flex-direction: row;
|
|
|
|
flex-wrap: wrap;
|
|
|
|
justify-content: flex-start;
|
|
|
|
align-items: stretch;
|
|
|
|
align-content: flex-start;
|
|
|
|
}
|
|
|
|
|
|
|
|
form fieldset {
|
|
|
|
flex-grow: 0;
|
|
|
|
flex-shrink: 0;
|
|
|
|
flex-basis: auto; /* or: content */
|
|
|
|
}
|
|
|
|
|
|
|
|
fieldset {
|
|
|
|
margin: .5ex;
|
|
|
|
padding: .5ex;
|
|
|
|
border: 1px solid black;
|
|
|
|
}
|
|
|
|
|
|
|
|
select {
|
|
|
|
width: 100%;
|
|
|
|
}
|
|
|
|
|
|
|
|
.listbutton {
|
|
|
|
width: 100%;
|
|
|
|
}
|
|
|
|
|
|
|
|
input:invalid, select:invalid {
|
|
|
|
background-color: #FDD;
|
|
|
|
}
|
|
|
|
|
|
|
|
form #name:valid ~ button#dosend, form !button#dosend ~ #createpreview:invalid, form:invalid button#doappend, input:invalid ~ button.add {
|
|
|
|
opacity: .5;
|
|
|
|
pointer-events: none;
|
|
|
|
}
|
|
|
|
|
|
|
|
form:invalid input[type=submit] {
|
|
|
|
opacity: .5;
|
|
|
|
pointer-events: none;
|
|
|
|
}
|
|
|
|
|
|
|
|
table {
|
|
|
|
width: 100%;
|
|
|
|
}
|
|
|
|
tr {
|
|
|
|
/*display: flex;
|
|
|
|
align-items: stretch; */
|
|
|
|
}
|
|
|
|
td:last-child {
|
|
|
|
/*flex:1; *//* last td to fill remaining width */
|
|
|
|
}
|
|
|
|
|
|
|
|
table.docker {
|
|
|
|
border-collapse: collapse;
|
|
|
|
}
|
|
|
|
|
|
|
|
table.docker tbody tr {
|
|
|
|
border-top: 1px solid black;
|
|
|
|
border-bottom: 1px solid black;
|
|
|
|
}
|
|
|
|
|
|
|
|
table.docker li {
|
|
|
|
list-style-type: none;
|
|
|
|
}
|
|
|
|
|
|
|
|
table.docker li+li {
|
|
|
|
border-top: 1px solid black;
|
|
|
|
}
|
|
|
|
|
|
|
|
.dead {
|
|
|
|
background-color: red;
|
|
|
|
}
|
|
|
|
.stopped {
|
|
|
|
background-color: firebrick1;
|
|
|
|
}
|
|
|
|
.restarting {
|
|
|
|
background-color: lightblue;
|
|
|
|
}
|
|
|
|
.paused {
|
|
|
|
background-color: lightgrey;
|
|
|
|
}
|
|
|
|
.running {
|
|
|
|
background-color: lightgreen;
|
|
|
|
}
|
|
|
|
|
|
|
|
.warning {
|
|
|
|
padding: 1em;
|
|
|
|
margin: 1em;
|
|
|
|
background-color: red;
|
|
|
|
color: yellow;
|
|
|
|
font-size: large;
|
|
|
|
border: 2px inset yellow;
|
|
|
|
}
|
|
|
|
|
|
|
|
#header {
|
|
|
|
position: fixed;
|
|
|
|
left: 0;
|
|
|
|
right: 0;
|
|
|
|
top: 0;
|
|
|
|
margin: 0;
|
|
|
|
padding: 0 1em 0 1em;
|
|
|
|
background-color: blue;
|
|
|
|
color: white;
|
|
|
|
}
|
|
|
|
#header #togglemenu {
|
|
|
|
display: inline;
|
|
|
|
float: right;
|
|
|
|
}
|
|
|
|
#header h1 {
|
|
|
|
font-weight: bold;
|
|
|
|
font-size: 100%;
|
|
|
|
display: inline;
|
|
|
|
}
|
|
|
|
|
|
|
|
#statusbar {
|
|
|
|
position: fixed;
|
|
|
|
width: 100%;
|
|
|
|
left: 0;
|
|
|
|
right: 0;
|
|
|
|
bottom: 0;
|
|
|
|
margin: 0;
|
|
|
|
padding: 0 1em 0 1em;
|
|
|
|
color: white;
|
|
|
|
}
|
|
|
|
|
|
|
|
#status {
|
|
|
|
position: fixed;
|
|
|
|
right: 0;
|
|
|
|
bottom: 0;
|
|
|
|
margin: 0 1em 0 1em;
|
|
|
|
padding: 0 1em 0 1em;
|
|
|
|
}
|
|
|
|
#good {
|
|
|
|
color: green;
|
|
|
|
}
|
|
|
|
#authentication {
|
|
|
|
color: yellow;
|
|
|
|
}
|
|
|
|
#bad {
|
|
|
|
color: red;
|
|
|
|
}
|
|
|
|
@media (max-width: 45em) {
|
|
|
|
#username {
|
|
|
|
display: none;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
#status.error {
|
|
|
|
background-color: red;
|
|
|
|
color: black;
|
|
|
|
}
|
|
|
|
#status.notice {
|
|
|
|
background-color: yellow;
|
|
|
|
color: black;
|
|
|
|
}
|
|
|
|
#status.success {
|
|
|
|
background-color: lightgreen;
|
|
|
|
color: black;
|
|
|
|
}
|
|
|
|
|
|
|
|
.btn {
|
|
|
|
cursor: pointer;
|
|
|
|
height: 1em;
|
|
|
|
width: auto;
|
|
|
|
border: 1px dotted blue;
|
|
|
|
opacity: 0.8;
|
|
|
|
}
|
|
|
|
|
|
|
|
.btn:hover {
|
|
|
|
border: 1px dotted white;
|
|
|
|
opacity: 2.0;
|
|
|
|
}
|
|
|
|
|
|
|
|
#menu {
|
|
|
|
clear: both;
|
|
|
|
position: relative;
|
|
|
|
padding: .5em 0 .5em 0;
|
|
|
|
margin: 1em 0 0 0;
|
|
|
|
float: right;
|
|
|
|
background-color: lightblue;
|
|
|
|
list-style-type: none;
|
|
|
|
border: 1px solid black;
|
|
|
|
z-index: 1000;
|
|
|
|
}
|
|
|
|
#menu li {
|
|
|
|
margin-left: 0;
|
|
|
|
}
|
|
|
|
#menu a {
|
|
|
|
text-decoration: inherit;
|
|
|
|
color: inherit;
|
|
|
|
}
|
|
|
|
#menu li {
|
|
|
|
padding: 0 1em 0 1em;
|
|
|
|
}
|
|
|
|
#menu li, #menu li * {
|
|
|
|
cursor: pointer;
|
|
|
|
text-align: left;
|
|
|
|
}
|
|
|
|
#menu li + li {
|
|
|
|
border-top: 1px solid black;
|
|
|
|
margin-top: 0.5em;
|
|
|
|
padding-top: 0.5em;
|
|
|
|
}
|
|
|
|
#menu li input {
|
|
|
|
display: none;
|
|
|
|
}
|
|
|
|
#menu li:hover {
|
|
|
|
background-color: #777;
|
|
|
|
}
|
|
|
|
|
|
|
|
#main, #logs, #console, #create, #login {
|
|
|
|
position: fixed;
|
|
|
|
top: 1.5em;
|
|
|
|
left: 0;
|
|
|
|
right: 0;
|
|
|
|
padding: 1em 1em 1em 1em;
|
|
|
|
clear: both;
|
|
|
|
overflow: auto;
|
|
|
|
z-index: 0;
|
|
|
|
bottom: 1.5em;
|
|
|
|
}
|
|
|
|
|
|
|
|
#main, #create, #login {
|
|
|
|
background-color: white;
|
|
|
|
}
|
|
|
|
|
|
|
|
#popup {
|
|
|
|
position: fixed;
|
|
|
|
background-color: lightblue;
|
|
|
|
border: .1ex solid blue;
|
|
|
|
text-align: center;
|
|
|
|
}
|
|
|
|
|
|
|
|
.clear {
|
|
|
|
clear: both;
|
|
|
|
}
|
|
|
|
#msgs .msg {
|
|
|
|
border: 1px solid black;
|
|
|
|
margin: 1ex;
|
|
|
|
border-radius: 2ex;
|
|
|
|
-moz-border-radius: 2ex;
|
|
|
|
-webkit-border-radius: 2ex;
|
|
|
|
display: block;
|
|
|
|
width: auto;
|
|
|
|
height: auto;
|
|
|
|
max-width: 60%;
|
|
|
|
}
|
|
|
|
#msgs .me {
|
|
|
|
float: left;
|
|
|
|
background-color: lightgray;
|
|
|
|
}
|
|
|
|
#msgs .other {
|
|
|
|
float: right;
|
|
|
|
background-color: lightyellow;
|
|
|
|
}
|
|
|
|
#msgs .msg .header {
|
|
|
|
border: 1px solid black;
|
|
|
|
border-radius: 2ex 2ex 0 0;
|
|
|
|
-moz-border-radius: 2ex 2ex 0 0;
|
|
|
|
-webkit-border-radius: 2ex 2ex 0 0;
|
|
|
|
/*border-radius: 2ex;
|
|
|
|
-moz-border-radius: 2ex;
|
|
|
|
-webkit-border-radius: 2ex;*/
|
|
|
|
margin-bottom: .25ex;
|
|
|
|
padding-bottom: .25ex;
|
|
|
|
position: relative;
|
|
|
|
height: 1em;
|
|
|
|
padding: .5ex 1ex .5ex 1ex;
|
|
|
|
}
|
|
|
|
#msgs .msg .header {
|
|
|
|
background-color: lightgreen;
|
|
|
|
}
|
|
|
|
#msgs .msg .header .date {
|
|
|
|
font-size: xx-small;
|
|
|
|
float: left;
|
|
|
|
padding: 0 1ex 0 0;
|
|
|
|
}
|
|
|
|
#msgs .msg .header .sender {
|
|
|
|
font-size: small;
|
|
|
|
float: right;
|
|
|
|
padding: 0 0 0 1ex;
|
|
|
|
}
|
|
|
|
#msgs .msg .text {
|
|
|
|
float: left;
|
|
|
|
padding: .5ex 1ex .5ex 1ex;
|
|
|
|
}
|
|
|
|
#msgs .msg img {
|
|
|
|
display: block;
|
|
|
|
width: 99%;
|
|
|
|
}
|
|
|
|
|
|
|
|
#preview img {
|
|
|
|
height: 4em;
|
|
|
|
}
|
|
|
|
|
|
|
|
#logs {
|
|
|
|
background-color: lightgray;
|
|
|
|
}
|
|
|
|
#logs .stdout {
|
|
|
|
color: black;
|
|
|
|
}
|
|
|
|
.stderr {
|
|
|
|
color: red;
|
|
|
|
}
|
|
|
|
.done {
|
|
|
|
color: green;
|
|
|
|
}
|
|
|
|
|
|
|
|
#console {
|
|
|
|
background-color: black;
|
|
|
|
color: white;
|
|
|
|
overflow: none;
|
|
|
|
}
|
|
|
|
#screen {
|
|
|
|
position: fixed;
|
|
|
|
top: 2em;
|
|
|
|
bottom: 4em;
|
|
|
|
left: 0;
|
|
|
|
right: 0;
|
|
|
|
overflow: auto;
|
|
|
|
padding: 1ex;
|
|
|
|
}
|
|
|
|
#bash {
|
|
|
|
position: fixed;
|
|
|
|
bottom: 1.5em;
|
|
|
|
left: 0;
|
|
|
|
right: 0;
|
|
|
|
padding: 0;
|
|
|
|
}
|
|
|
|
.bold {font-weight: bold}
|
|
|
|
.dim {color: grey}
|
|
|
|
.underline {text-decoration: underline}
|
|
|
|
.blink {animation: blinker 1s linear infinite}
|
|
|
|
@keyframes blinker {50% { opacity: 0.0;}}
|
|
|
|
.reverse {color: black; background-color: white}
|
|
|
|
.hidden {color: black}
|
|
|
|
.fgdefault {color: white}
|
|
|
|
.fgblack {color: black}
|
|
|
|
.fgred {color: red}
|
|
|
|
.fggreen {color: green}
|
|
|
|
.fgyellow {color: yellow}
|
|
|
|
.fgblue {color: blue}
|
|
|
|
.fgmagenta {color: magenta}
|
|
|
|
.fgcyan {color: cyan}
|
|
|
|
.fglightgrey {color: lightgrey}
|
|
|
|
.fgdarkgrey {color: darkgrey}
|
|
|
|
.fglightred {color: lightred}
|
|
|
|
.fglightgreen {color: lightgreen}
|
|
|
|
.fglightyellow {color: lightyellow}
|
|
|
|
.fglightblue {color: lightblue}
|
|
|
|
.fglightmagenta {color: lightmagenta}
|
|
|
|
.fglightcyan {color: lightcyan}
|
|
|
|
.fgwhite {color: white}
|
|
|
|
.bgdefault {background-color: black}
|
|
|
|
.bgblack {background-color: black}
|
|
|
|
.bgred {background-color: red}
|
|
|
|
.bggreen {background-color: green}
|
|
|
|
.bgyellow {background-color: yellow}
|
|
|
|
.bgblue {background-color: blue}
|
|
|
|
.bgmagenta {background-color: magenta}
|
|
|
|
.bgcyan {background-color: cyan}
|
|
|
|
.bglightgrey {background-color: lightgrey}
|
|
|
|
.bgdarkgrey {background-color: darkgrey}
|
|
|
|
.bglightred {background-color: lightred}
|
|
|
|
.bglightgreen {background-color: lightgreen}
|
|
|
|
.bglightyellow {background-color: lightyellow}
|
|
|
|
.bglightblue {background-color: lightblue}
|
|
|
|
.bglightmagenta {background-color: lightmagenta}
|
|
|
|
.bglightcyan {background-color: lightcyan}
|
|
|
|
.bgwhite {background-color: white}
|