html { height: 100vh; overflow: hidden; } body { display: grid; grid-template-rows: auto 1fr auto; height: 100%; overflow: hidden; } .main { height: 100%; overflow: hidden; } .content { width: 100%; height: 100%; padding: 40px; overflow-x: auto; overflow-y: hidden; box-sizing: border-box; display: grid; place-items: center; } .topics { font-size: 3em; min-height: 0; max-height: 100%; width: 100%; column-count: 2; column-gap: 80px; column-fill: auto; margin: 0; padding: 0; box-sizing: border-box; } .topics li:first-child { margin-top: 0; } .topics li:last-child { margin-bottom: 0; } .posts { font-size: 2.2em; text-align: right; flex: 1; } a { text-decoration: none; } .post { margin-bottom: 25px; } ul { list-style: none; margin: none; } .topic a { position: relative; display: inline-block; color: inherit; text-decoration: none; margin-bottom: 25px; transition: color 0.5s ease; } .topic a::after { content: ""; height: 2px; display: block; margin-top: 4px; background: currentColor; width: 0; right: 100%; position: absolute; transition: width 0.5s ease, right 0.5s ease; } .topic a:hover::after, .topic a.active::after { width: 100%; right: 0; } @media (max-width: 768px) { .topics { font-size: 2em; padding: 0 20px; } .posts { font-size: 1.47em; padding: 0 20px; } .topic a { margin-bottom: 15px; } }