/*
 * Security 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(8, auto) 4rem 1rem;
  grid-gap: 1.5rem;
  grid-template-areas:
    "logotype"
    "top-nav"
    "response"
    "reporting"
    "."
    "company-nav"
    "resources-nav"
    "elsewhere-nav"
    "logo"
    "copyright";
}

.response {
  grid-area: response;
}

.reporting {
  grid-area: reporting;
}

/*
 * 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(3, 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       "
      "response     response     response      .             "
      "reporting    reporting    reporting     .             "
      ".            .            .             .             "
      "logo         company-nav  resources-nav elsewhere-nav "
      ".            company-nav  resources-nav elsewhere-nav "
      ".            .            .             copyright     ";
  }
}

@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       "
      "response        response        response         .             "
      "reporting        reporting        reporting         .             "
      ".            .            .             .             "
      "logo         company-nav  resources-nav elsewhere-nav "
      ".            company-nav  resources-nav elsewhere-nav "
      ".            .            .             copyright     ";
  }
}
