@media screen and (max-width: 500px) { h1 { font-size: 1.6rem; margin: 0; } } @media screen and (max-width: 320px) { h1 { font-size: 1.1rem; margin: 0; } } body { display: flex; flex-direction: column; min-height: 100vh; font-size: 16px; margin: 0px; max-width: 800px; } header, footer, article { padding: 5px; } footer { background-color: #fff; } article#main { flex: 1; } p, input, table, button, label { font-size: 1rem; } #current-download { display: none; } .list-wrapper { max-height: 50vh; overflow: auto; } #list { } .row { display: flex; align-items: center; flex-wrap: wrap; } input#url { flex: 1; } #form { flex: 1; display: flex; min-width: 300px; } #form input { margin: 5px; } #status { flex: 1; height: 1rem; margin: 5px; } .status-item { display: none; min-width: 200px; } .show { display: block; } .hidden { display: none; }