body[layout='layout-home'],
body[layout='layout-sidebar'] {
  min-height: 100vh;
  display: grid;
  grid-template-columns: 1fr minmax(350px, 704px) minmax(250px, 300px) 1fr;
  grid-template-rows: 130px 55px 50px minmax(350px, auto) auto;
  grid-template-areas:
    "content-l  head2-main    head2-main    content-r"
    "content-l  head3-main    head3-main    content-r"
    "content-l  head-main     head-main     content-r"
    "content-l  content-main  content-side  content-r"
    "content-l  foot-main     foot-main     content-r";
}

.ga-head2-main {
  grid-area: head2-main;
}

.ga-head3-main {
  grid-area: head3-main;
}

.header-grid-area {
  grid-area: head-main;
}

.ga-content-l {
  grid-area: content-l;
}

.content-grid-area {
  grid-area: content-main;
}
.sidebar-grid-area {
  grid-area: content-side;
}
.ga-content-r {
  grid-area: content-r;
}

.ga-foot-main {
  grid-area: foot-main;
}


@media (max-width: 1024px) {
  body[layout='layout-home'],
  body[layout='layout-sidebar'] {
    display: grid;
    grid-template-columns: auto;
    grid-template-rows: 56px minmax(350px, 1fr) auto;
    grid-template-areas:
      "head-main"
      "content-main"
      "foot-main";
    /* next 4 lines prevents stray grid items from being written WTF???????? */
    grid-auto-rows: 0; 
    grid-auto-columns: 0;
    overflow-x: hidden;
  }
}
