/*
 * Home page-specific styling.
 */

/*
 * Default grid is for mobile.
 */

.wrapper {
  margin-top: 1rem;
  margin-left: 1rem;
  margin-right: 1rem;
  margin-bottom: 1rem;

  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: repeat(10, auto) 4rem 1rem;
  grid-gap: 1.5rem;
  grid-template-areas:
    "logotype"
    "top-nav"
    "intro"
    "intro-notes"
    "primer"
    "primer-notes"
    "."
    "company-nav"
    "resources-nav"
    "elsewhere-nav"
    "logo"
    "copyright";
}

.intro {
  grid-area: intro;
}

.intro-notes {
  grid-area: intro-notes;
}

.primer {
  grid-area: primer;
}

.primer-notes {
  grid-area: primer-notes;
}

.margin-notes {
  font-family: "Source Sans Pro", sans;
  font-weight: 400;
  font-size: 0.8rem;
  line-height: 1.5rem;
}

.margin-notes ul {
  padding: 0;
}

/*
 * Page-specific styling.
 */

ol > li {
  margin-bottom: 1.5rem;
}

li.spaced {
  margin-bottom: 1.5rem;
}

article ul {
  list-style-type: disc;
}

/*
 * Media queries for more expansive page sizes.
 */

@media (min-width: 640px) {
  .wrapper {
    margin-top: 1rem;
    margin-left: 1rem;
    margin-right: 1rem;
    margin-bottom: 1rem;

    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: repeat(4, auto) repeat(4, 6rem);
    grid-gap: 1.5rem 2rem; /* row gap is exactly 1 line-height, column gap slightly wider. */
    grid-template-areas:
      "logotype  logotype    top-nav       top-nav        "
      ".         .           .             .              "
      "intro     intro       intro         intro-notes    "
      "primer    primer      primer        primer-notes   "
      ".         .           .             .              "
      "logo      company-nav resources-nav elsewhere-nav  "
      ".         company-nav resources-nav elsewhere-nav  "
      ".         .           .             copyright      ";
  }

  .margin-notes ul {
    margin-top: 3rem;
  }
}

@media (min-width: 960px) {
  /*
   * Here we have enough space to fix the grid area sizes for the
   * ideal typography and page flow.
   */
  .wrapper {
    margin-top: 2.5rem;
    margin-left: 4rem;

    display: grid;
    grid-template-columns: repeat(4, 12rem);
    grid-template-rows: repeat(2, 6rem) repeat(2, auto) repeat(4, 6rem);
    grid-gap: 1.5rem 2rem; /* row gap is exactly 1 line-height, column gap slightly wider. */
    grid-template-areas:
      "logotype  logotype    top-nav       top-nav        "
      "logotype  logotype    top-nav       top-nav        "
      "intro     intro       intro         intro-notes    "
      "primer    primer      primer        primer-notes   "
      ".         .           .             .              "
      "logo      company-nav resources-nav elsewhere-nav  "
      ".         company-nav resources-nav elsewhere-nav  "
      ".         .           .             copyright      ";
  }
}
