body[layout='layout-home'],
body[layout='layout-sidebar'] {
  min-height: 100vh;
  display: grid;
  grid-template-columns: 1fr minmax(340px, 640px) minmax(250px, 310px) 1fr;
  grid-template-rows: 49px minmax(350px, auto);
  grid-template-areas:
    "head-main  head-main     head-main     head-main"
    "content-l  content-main  content-side  content-r";
  grid-auto-rows: 0; 
  grid-auto-columns: 0;
  overflow-x: hidden;
}

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

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

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