* { box-sizing: border-box } html,body { margin: 0; padding: 0; width: 100%; height: 100%; font-family: 'Helvetica', sans-serif; font-weight: 300; } body { background: linear-gradient(52deg, #fde, #ffe); } header { position: fixed; bottom: 10px; left: 10px; background: white; padding: 10px; } #container { display: flex; flex-direction: column; align-items: center; justify-content: center; width: 100%; height: 100%; } .app { display: flex; flex-direction: column; } .player { width: 100%; height: 30vh; margin-bottom: 10px; display: flex; align-items: center; justify-content: center; } .player img, .player canvas { width: 48vh; height: 30vh; } .params { font-size: 10px; display: flex; flex-direction: row; justify-content: flex-start; } .paramGroup { padding-right: 10px; } .paramGroup.inactive { background: rgba(255,255,255,0); opacity: 0.4; } .paramGroup > label { display: flex; flex-direction: row; justify-content: space-between; align-items: center; padding: 2px 0; margin-bottom: 3px; min-height: 22px; } .params h3 { margin: 0; padding: 0; } .slider { margin-bottom: 3px; } .slider input[type=text] { width: 34px; border: 1px solid transparent; margin-right: 5px; } .slider input[type=text]:focus { border: 1px solid #ddd; background: white; } .param { display: flex; flex-direction: row; align-items: center; } .param > label { display: flex; justify-content: space-between; align-items: center; width: 120px; text-align: right; } .select.param > label { width: 200px; } .select select { margin-right: 5px; } .param > label span { white-space: nowrap; }