*, *:before, *:after { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; } html, body { margin: 0px; padding: 0px; height: 100vh; } .wrapper { position: relative; display: flex; flex-flow: column nowrap; height: 100vh; > * { flex-shrink: 0; } } .main-wrapper { flex: 1 0 auto; display: flex; flex-flow: row nowrap; @include breakpoint-mobile { flex-flow: column nowrap; } > main { flex: 1; padding: 0px 0px 60px 0px; } > aside { min-width: 300px; width: 20%; padding: 0px 16px; @include breakpoint-mobile { width: 100%; } } }