body{ padding: 0; margin: 0; display: flex; flex-flow: column; flex-wrap: nowrap; height: 100vh; background-color: orange; } topbar { display: flex; align-items: center; background-color: red; height: 4rem; } titlebox { font-size: 20pt; font-weight: bold; margin: 20px; } viewport { display: flex; background-color: blue; flex-flow: row; flex-wrap: nowrap; flex-grow: 1; } sidebar{ background-color: green; width: 20rem; margin-bottom: 10px; border-radius: 0 0 5px 0; } content { background-color: yellow; flex-grow: 1; margin: 10px; padding: 5px; border-radius: 5px; display: flex; flex-direction: row; flex-wrap: wrap; } settingstab{ background-color: green; width: 20rem; margin-bottom: 10px; border-radius: 0 0 5px 0; } publication{ background-color: gray; width: 200px; height: 300px; border-radius: 5px; margin: 10px 10px; position: relative; } .pill { height: 14pt; font-size: 12pt; border-radius: 7pt; background-color: white; padding: 1pt 20px; } connector{ position: absolute; top: 10px; left: 10px; } publication-name{ position: absolute; font-size: 16pt; font-weight: bold; top: 35px; left: 15px; }