html,
body {
  margin: 0 auto;
  padding: 0; }

body {
  max-width: 1024px; }

body > * {
  border-radius: 5px;
  padding: 3px;
  max-height: 50vh; }

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

.main-menu {
  grid-area: nav; }

.main-content {
  grid-area: main; }

.main-footer {
  grid-area: footer; }

body {
  display: grid;
  grid-gap: 15px;
  grid-template-areas: "header" "nav" "main" "footer"; }

@media (min-width: 500px) {
  body {
    grid-template-columns: 1fr 3fr;
    grid-template-areas: "header header" "nav main" "footer footer"; }
  nav ul {
    display: flex;
    justify-content: space-between; } }

nav .menu-item {
  display: block;
  padding: 10px 0 10px 20px;
  text-decoration: none;
  font-size: 20px;
  font-weight: 100;
  transition: border-left 0.1s; }

nav .menu-item.icon {
  font-size: 22px;
  padding-left: 30px; }

article {
  max-height: 100%;
  overflow-y: scroll; }

main {
  margin: 0 auto;
  width: 100%;
  max-width: 900px;
  padding: 0 10px;
  box-sizing: border-box;
  min-height: 300px; }

body {
  background-color: #efefef;
  font: 1.2em Helvetica, arial, sans-serif; }
