html {
  background-color: black;
}

/* Layout */
body {
  display: flex;
	margin: 0 auto; max-width: 1620px;
  background-color: antiquewhite;
}
.menu-toggle {
  display: none;
}
menu {
  height: 100vh; width: 20%; max-width: 350px; min-width: 250px;
	position: sticky; top: 0; left: 0;
	padding: 0; margin: 0; z-index:5;
	outline:none;  
  background-color: antiquewhite;
  overflow-y: scroll;

  .meta_buttons {
    margin: 0; padding: 0 10%;
  }

  nav {
    margin: 0 0 2vh 0;
    padding: 0 10%;
    
    h2,h3 {
      text-align: center;
    }

    ul {
      list-style: none;
    }

    li {
      padding: 0.2em 0;
    }
  }
}
main {
  position:relative;
	height:100vh; width: 100%;
  overflow-y: scroll;
}
main article {
  margin: 3vh auto; padding: 0; max-width: 90%;
}
.main-filter {
  display: none;
}
/* Typography */
html {
  font-family: sans-serif;
}
a,a:visited,a:link,a:focus {
  text-decoration: none;
  color: purple;
  transition: color 0.5s;
}
a:hover {
  color: darkorchid;
  transition: color 0.5s;
  text-decoration: underline;
}
figcaption {
  font-size: 1.5rem;
}

footer {
  display: flex; justify-content: space-between;
  position: sticky; bottom: 1vh; left: 1vw; right: 1vw;
  padding: 1em;
  border-top: 1px solid black; border-bottom: 1px solid black;
  background-color: #333; box-shadow: 0 10px 10px grey;

  a,a:visited,a:link,a:focus,a:hover {
    text-decoration: none;
    color: lightgrey;
    transition: color 0.5s;
  }
}

article h1 {}
article h2 {}
article h3 {}
article h4 {}
article h5 {}

/* Responsive */
@media only screen and (max-width: 900px) {
  body {
    overflow-y: hidden;
  }
  .menu-toggle {
    display: block;
    position: fixed;
    top: 0; left: 0; right: 0;
    height: 3vh;
    z-index: 10;
    background-color: black; color: white;
    text-align: center;

    &:focus + menu,&:active + menu,&:target + menu {
      top: 10vh;
      transition: top 0.7s ease-in-out;
    }
    &:focus ~ .main-filter,&:active ~ .main-filter,&:target ~ .main-filter {
      display: block;
      transition: display 0.3s ease-in-out;
    }
  }
  menu {
    height: 90vh; width: 100vw; max-width: 100%; min-width: 100%;
    position: absolute; top: 100vh; left: 0; right: 0; 
    padding: 0; margin: 0; z-index:5;
    outline:none;  
    background-color: antiquewhite;
    overflow-y: scroll;
    transition: top 1s ease-in-out;
  }
  .main-filter {
    position: fixed; top: 0; left: 0; right: 0; bottom: 0;
    background-color: black;
    opacity: 0.5;
    transition: display;
  }
  main {
    padding-top: 3vh;
    height: 97vh;
  }
}
