.page {
  display: grid;
  grid-template-columns: 250px minmax(0, 1fr);
  min-height: 100vh;
}

.content {
  padding: 2rem 0;
}

.header {
  margin-bottom: 3.5rem;
  padding: 0 5rem;
}

.article {
  padding: 0 5rem;
  max-width: 1200px;
  margin: auto;
}

.banner {
  margin: auto;
  max-width: 100%;
}

.sidebar {
  background-color: #212121;
  color: #fff;
  padding: 3rem 2rem 0 2rem;
}

.mobile-navigation {
  display: none;
  margin-bottom: 3rem;
  background-color: #212121;
  padding: 0 5rem;
  justify-content: space-between;
}

.mobile-navigation a {
  line-height: 3rem;
  font-size: 1rem;
}

.sidebar a,
.mobile-navigation a {
  color: #fff;
  text-decoration: none;
  font-weight: 300;
}

.sidebar a:hover,
.mobile-navigation a:hover {
  color: #ccc;
}

.main-navigation {
  margin-top: 3rem;
}

.main-navigation > a {
  display: block;
  line-height: 2.5rem;
  font-size: 1rem;
}
