body {
display: flex;
flex-direction: column;
align-items: stretch;
margin: 0;
background-color: #eee;
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
}
#errors {
position: fixed;
display: block;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
background-color: #f99;
border: 1px solid #922;
}
#errors p {
padding: 1ex 1em;
margin: 0;
}
#errors button {
display: block;
margin-left: auto;
margin-right: 5px;
margin-bottom: 5px;
}
#genome-history {
margin: 0;
overflow: scroll;
align-self: stretch;
flex-basis: 50%;
}
#instructions {
padding: 1ex;
margin: 0;
overflow: scroll;
flex-basis: 50%;
background-color: #ddd;
border-style: solid;
border-top-width: 1px;
border-left-width: 0;
border-right-width: 0;
border-bottom-width: 0;
}
#instructions .step {
padding: 5px;
}
#instructions .step {
display: none;
}
#instructions .current {
background-color: yellow;
}
#instructions .step.current {
display: list-item;
}
#print-results.step.current {
display: block;
}
#die {
display: block;
float: right;
padding: 2ex;
background-color: #fde;
border: 1px solid #aaa;
}
#die .value {
text-align: center;
padding-bottom: 1ex;
}
#nucleotide-selector {
position: relative;
white-space: nowrap;
padding: 0;
word-spacing: -6px; /* TODO: 0 doesn't work. And for some reason whitespace is being renderded between
elements? */
width: 8em; /* TODO: this shouldn't be hard coded. */
background-color: ivory;
border: 1px solid black;
}
#nucleotide-selector,
.genome:not(.locked) {
cursor: pointer;
}
#nucleotide-selector li:hover,
.genome:not(.locked) .nucleotide:hover {
background-color: orange;
}
#amino-acid-selector {
position: fixed;
left: 50%;
top: 50%;
width: 50%;
transform: translate(-50%, -50%);
background-color: ivory;
border: 1px solid black;
cursor: pointer;
}
#amino-acid-selector p {
margin: 0;
padding: 10px;
border-bottom: 1px dashed black;
}
#amino-acid-selector .codon {
font-weight: bold;
}
#amino-acid-selector ul {
display: flex;
flex-wrap: wrap;
margin: 0;
padding: 10px;
list-style-type: none;
white-space: nowrap;
}
#amino-acid-selector li {
display: flex-inline;
height: 3ex;
width: 3em;
text-align: center;
}
#amino-acid-selector li:hover {
background-color: orange;
}
.genome .nucleotide.selected,
.genome:not(.locked) .nucleotide.selected:hover {
background-color: red;
}
#nucleotide-selector li {
display: inline-block;
width: 2em;
flex-basis: 2em;
text-align: center;
padding-top: 1ex;
padding-bottom: 1ex;
}
.genome {
margin: 0.5ex;
}
.genome>ol {
padding: 0;
}
.genome.locked {
cursor: text
}
.genome .codon {
display: inline-block;
margin: 0 0.5ex;
border: 1px solid black;
background-color: white;
}
.genome .codon>ol {
padding: 1ex 0.5em;
}
.genome .codon .amino-acid {
border-top: 1px solid black;
text-align: center;
padding-top: 0.5ex;
padding-bottom: 0.5ex;
}
.genome .nucleotide {
display: inline-block;
width: 28px;
font-size: 18px;
text-align: center;
flex-wrap: wrap;
justify-content: space-around;
align-items: center;
}
.genome .nucleotide span {
display: inline-block;
}