.wrapper {
  display: flex;
  justify-content: flex-start;
  align-items: flex-end;
  font-weight: bold;
  text-align: center; 
}

.wrapper > * {
  padding: 0px;
  flex: 1 100%;
}

.header {
  background:;
}

.footer {
  background: ;
}

.main {
  text-align: left;
  background: ;
}

.aside-1 {
  background: ;
}

.aside-2 {
  background: ;
}

@media all and (min-width: 600px) {
  .aside { flex: 1 0 0; }
}

@media all and (min-width: 800px) {
  .main    { flex: 3 0px; }
  .aside-1 { order: 1; } 
  .main    { order: 2; }
  .aside-2 { order: 3; }
  .footer  { order: 4; }
}

body {
  padding: 0em; 
}
