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; }