body { font-family: arial; margin: 0; padding: 0; overflow: hidden; } #content { position: absolute; top: 0; left: 0; width: 100%; height: 100%; display: flex; flex-direction: column; } #header { min-height: 40px; flex-grow: 0; flex-shrink: 0; display: flex; flex-direction: row; align-items: center; padding: 10px; background: #eee; border-bottom: 1px solid #ddd; } #header > div { margin-left: 20px; } #title { font-weight: bold; color: #333; font-size: 150%; } #spinner { height: 30px; width: 30px; -webkit-animation: rotation 0.8s linear infinite; -moz-animation: rotation 0.8s linear infinite; -o-animation: rotation 0.8s linear infinite; animation: rotation 0.8s linear infinite; border-left: 5px solid rgb(235, 235, 235); border-right: 5px solid rgb(235, 235, 235); border-bottom: 5px solid rgb(235, 235, 235); border-top: 5px solid rgb(120, 120, 120); border-radius: 100%; background-color: rgb(189, 215, 46); } @-webkit-keyframes rotation { from { -webkit-transform: rotate(0deg); } to { -webkit-transform: rotate(360deg); } } @-moz-keyframes rotation { from { -moz-transform: rotate(0deg); } to { -moz-transform: rotate(360deg); } } @-o-keyframes rotation { from { -o-transform: rotate(0deg); } to { -o-transform: rotate(360deg); } } @keyframes rotation { from { transform: rotate(0deg); } to { transform: rotate(360deg); } } #status { font-weight: bold; color: rgb(120, 120, 120); } #progress { height: 20px; width: 300px; } #canvas-container { flex-grow: 0; flex-shrink: 0; text-align: center; margin-top: 10px; } /* the canvas *must not* have any border or padding, or mouse coords will be wrong */ #canvas { margin: 0; border: none; padding: 0; } #output { flex-grow: 1; flex-shrink: 1; margin-top: 10px; } #footer { flex-grow: 0; flex-shrink: 0; text-align: center; background: #eee; border-top: 1px solid #ddd; padding: 10px; display: flex; justify-content: space-between; } #footer > a:nth-child(3) { color: #999; }