$bg: #1b1b1b; $bg0: #2c2c2c; $bg1: #353535; $bg2: #4b4b4b; $bg3: #888888; $bg4: #ebebeb; $bg5: #ffffff; $spacing: 0.7rem; html, body { margin: 0; padding: 0; background: $bg; color: white; font-family: monospace; } body { height: 100vh; display: flex; } #root { height: 100vh; width: 100vw; display: flex; } .sidebar { flex: 0 0 15vw; font-size: 1.4rem; } .main { flex: 1 1 auto; } .sidebar, .main { margin: $spacing; display: flex; flex-direction: column; div:nth-child(2) { // Room list & Chat flex: 1 1 auto; overflow-y: auto; } } .sidebar { margin-right: 0; .filter { margin-bottom: $spacing; input { width: 100%; box-sizing: border-box; padding: $spacing; background: $bg2; border: none; color: white; font-size: 1rem; } } } .list { background: $bg0; div { cursor: pointer; border-bottom: 1px solid lighten($bg1, 3); padding: $spacing; } div.active { background: lighten($bg1, 5); } } .roomListItem { $height: 1.5rem; #avatar { line-height: $height; height: $height; width: $height; vertical-align: middle; object-fit: cover; } #name { height: $height; line-height: $height; vertical-align: middle; padding-left: $spacing; font-size: 1rem; } } .info { background: $bg1; padding: $spacing; } .chat { padding: $spacing; background: $bg0; } .input { background: $bg1; display: flex; input { background: transparent; box-sizing: border-box; flex: 1 1 auto; padding: $spacing; font-size: 1.2rem; } }