.viewport-container { display: flex; flex-direction: row; width: 100%; height: calc((var(--vh) *100) - 162px); margin-bottom: 10px; } .content-container { display: flex; flex-direction: column; width: 100%; height: 100%; margin-bottom: 10px; } .card-container { display: inline-block; width: 100%; //overflow-y: auto; } .grid { display: grid; grid-template-columns: repeat(auto-fill, 158px); grid-gap: 0.5rem; justify-content: space-around; width: 100%; overflow-y: auto; overflow-x: hidden; align-items: start; } @media (max-width: 576px) { .grid { grid-gap: 0.3rem; } } .jump-bar { display: flex; flex-flow: column; flex-shrink: 0; font-size: 13px; overflow: hidden; padding: 0 10px; align-items: center; justify-content: space-around; @media (max-width: 576px) { padding: 0 10px 0 5px; } .btn { text-decoration: none; color: hsla(0,0%,100%,.7); height: 25px; text-align: center; -webkit-tap-highlight-color: transparent; background: none; border: 0; border-radius: 0; cursor: pointer; line-height: inherit; margin: 0; outline: none; padding: 0; text-align: inherit; text-decoration: none; touch-action: manipulation; transition: color .2s; -webkit-user-select: none; user-select: none; &:hover { color: var(--primary-color); } } } .virtual-scroller, virtual-scroller { width: 100%; //height: calc(100vh - 160px); // 64 is a random number, 523 for me. height: calc(var(--vh) * 100 - 160px); //height: calc(100vh - 160px); //background-color: red; //max-height: calc(var(--vh)*100 - 170px); }