I have the following structure of HTML document:
<body>
    <header></header>
    <main class="page-main">
         <div>
              <aside></aside>
              <div class="page-content"></div>
         </div>
    </main>
    <footer class="page-footer"></footer>
</body>
And here are basic css rules:
html {
  height: 100%;
  width: 100%;
  position: relative;
}
body {
  padding-bottom: 256px;
  width: 100%;
  min-width: 1124px;
  min-height: 100%;
  position: relative;
}
.page-main {
    height: 100%;
}
.page-footer {
    position: absolute;
    background-color: #3D3D3D;
    bottom: 0;
    width: 100%;
    height: 256px;
 }
On desktops everything looks good, but on mobile devices if content of "main" tag is too short it doesn't take all available height and there is a blank space.
What is the best way to stretch "page-main" height to all available height?
UPD1
Please note, that I use min-height for "body" tag and set it to 100%. If I define "height" property for body and set it to 100% - problem with long content occur (see image below)

UPD2
I created basic layout to explain my problem:
My goal is to make "aside" element to stretch to all available height of it's parent. I want to know if it's possible to do with my current layout?
  html{margin: 0px; padding: 0px; height: 100%;}
    body {margin: 0px;  background-color: pink; min-height: 100%; position: relative; }
    header {background-color: red; text-align: center;}
    main {height: 100%; padding-bottom: 100px;}
    footer {position: absolute; height: 100px; background-color: black; width: 100%; bottom: 0px; color: white; text-align: center}
    aside {float: left; width: 100px;  border-right: 3px #008000 solid; }
    .page-content {float: left;}<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
    <header>
        <div>Header1</div>
        <br>
        <div>Header2</div>
    </header>
    <main class="page-main">
        <div class="wrapper">
            <aside>
                <ul>
                    <li>Item 1</li>
                    <li>Item 2</li>
                    <li>Item 3</li>
                    <li>Item 4</li>
                </ul>
            </aside>
            <div class="page-content"> Lorem ipsum dolor sit  fdgk ;ldgk ;ldfkg ;krtj kljgf ;oitrji ojfglkh;j l;gfhj io
            </div>
        </div>
    </main>
    <footer>MY FOOTER</footer>
</body>
</html>
 
     
     
    