I am applying Flexbox concepts but there is something I am struggling with here, I applied display: flex; and applied the direction to be column. 
Now as the main axis is column I made justify-content as space between but this space between is not applied to make space between navbar and section-main and footer.
.page-container {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.navbar {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}
.section-main {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}<html>
  <body>
    <div class="page-container">
      <div class="navbar">
        <div class="brand">
          Oka brand
        </div>
        <div class="nav-buttons">
          nav buttons
        </div>
      </div>
      <div class="section-main">
        <div class="left-nav">
          left nav
        </div>
        <div class="middle-section">
          middle section
        </div>
        <div class="right-nav">
          nav icons
        </div>
      </div>
      <div class="footer">
        footer
      </div>
    </div>
  </body>
</html> 
     
    