div {
  box-sizing: border-box; }

.center {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center; }

#container {
  min-height: 100vh;
  width: 100%; }

@media (max-width: 640px) {
  #container {
    width: 100%; }

  #h-1, #h-2, #h-3, #f-1, #f-2, #f-3, #f-4, #f-4-1, #f-4-2 {
    width: 100%; }

  #h-1 {
    order: 1; }

  #h-3 {
    order: 2; }

  #h-2 {
    order: 3; } }
@media (min-width: 640px) and (max-width: 960px) {
  #h-1, #h-3, #f-1, #f-2, #f-3, #f-4 {
    width: 50%; }

  #h-2, #f-4-1, #f-4-2 {
    width: 100%; }

  #h-1 {
    order: 1; }

  #h-3 {
    order: 2; }

  #h-2 {
    order: 3; } }
@media (min-width: 960px) and (max-width: 1280px) {
  #f-1, #f-2, #f-3 {
    width: 33.33%; }

  #h-1, #h-3, #f-4-1, #f-4-2 {
    width: 50%; }

  #h-2, #f-4 {
    width: 100%; }

  #h-1 {
    order: 1; }

  #h-3 {
    order: 2; }

  #h-2 {
    order: 3; } }
@media (min-width: 1280px) {
  #h-1, #h-3, #f-1, #f-2, #f-3, #f-4 {
    width: 25%; }

  #h-2 {
    width: 50%; }

  #f-4-1, #f-4-2 {
    width: 100%; } }
#container {
  display: flex;
  flex-flow: column; }

header {
  flex: 0 1 auto; }

main {
  flex: 1 1 auto; }

footer {
  flex: 0 1 auto; }

header, main, footer, #f-4 {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch; }
