body[layout='layout-home'] {
  display: grid;
  grid-template-columns: 1fr  800px minmax(190px, 400px) 1fr;
  grid-template-rows: 250px 50px 58px 33px 61px minmax(350px, auto) auto;
  grid-template-areas:
    "head-l     head-main     head-main     head-r"
    "content-l  head2-main    head2-main    content-r"
    "content-l  head3-main    head3-main    content-r"
    "content-l  head4-main    head4-main    content-r"
    "content-l  head5-main    head5-main    content-r"
    "content-l  content-main  content-side  content-r"
    "content-l  foot-main     foot-main     content-r"
}

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

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

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

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

.ga-head5-main {
  grid-area: head5-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;
}

body[layout='layout-sidebar']  {
  grid-auto-rows: 0;
  grid-auto-columns: 0;
  overflow-x: hidden;
  display: grid;
  grid-template-columns: 1fr 300px minmax(665px, 830px) 1fr;
  grid-template-rows: 50px 58px auto auto;
  grid-template-areas:
    "content-l  head2-main     head2-main     content-r"
    "content-l  head4-main     head4-main     content-r"
    "content-l  content-side  content-main  content-r"
    "content-l  foot-main     foot-main     content-r"
}

@media (max-width: 1024px) {
  body[layout='layout-home'],
  body[layout='layout-sidebar'] {
    display: grid;
    grid-template-columns: auto;
    grid-template-rows: 56px 58px auto auto;
    grid-template-areas:
      "head2-main"
      "head4-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;
  }
}