.page-layout {
  -moz-column-gap: 40px;
  column-gap: 40px;
  display: grid;
  grid-template: auto auto auto/100%;
  padding: 0 20px;
  position: relative;
  z-index: 0;
}
@media (min-width: 600px) {
  .page-layout {
    padding: 0 30px;
  }
}
@media (min-width: 860px) {
  .page-layout {
    grid-template: auto auto/200px minmax(0, 1fr);
    margin: 0 auto;
    max-width: 1000px;
    padding: 0 40px;
  }
}
.page-layout .page-title {
  grid-column: 1/-1;
}
.page-layout .sidebar {
  order: 1;
}
@media (min-width: 860px) {
  .page-layout .sidebar {
    order: 0;
  }
}
.page-layout .main {
  padding: 40px 0;
}
.page-layout .main._wide {
  grid-column: 1/-1;
}
