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


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

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

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


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

.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;
  }
}