jeśli chodzi o działanie flex-direction: column z flex to musisz ustawić wysokość containera oraz dzieci w containerze nie powinny móc zrobić przepełnienia tego containera.
https://stackoverflow.com/a/39580792/4666665
https://codepen.io/Tnifey/pen/rNNOROp?editors=1100
ogólnie to bym polecił ci zrobić to inaczej :P 3 sekcje po min-height: 100vh a w środku te treści które chcesz żeby tam były