nav {
  margin: 0;
  padding: 0; }

nav ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  list-style-type: none;
  padding: 0;
  margin: 0;
  display: none; }

nav ul.opening {
  display: block;
  height: 30px; }

nav li {
  border-bottom: 1px solid #f6f4e2; }

nav li:last-child {
  border-bottom: none; }

nav a {
  color: white;
  background: black;
  display: block;
  padding: 1.5em 4em 1.5em 3em;
  text-transform: uppercase;
  text-decoration: none; }

nav a:hover, nav a:focus {
  background: #CE172E; }

.site-nav--icon {
  font-size: 1.4em;
  margin-right: 1em;
  width: 1.1em;
  text-align: right;
  color: white; }

.menu-toggle {
  position: absolute;
  padding: 0.8em;
  top: 1em;
  right: .5em;
  cursor: pointer; }

.hamburger, .hamburger::before, .hamburger::after {
  content: '';
  display: block;
  background: white;
  height: 3px;
  width: 2em;
  border-radius: 3px;
  -webkit-transition: all ease-in-out 350ms;
  -o-transition: all ease-in-out 350ms;
  transition: all ease-in-out 350ms; }

.hamburger::before {
  -webkit-transform: translateY(-7px);
  -ms-transform: translateY(-7px);
  transform: translateY(-7px); }

.hamburger::after {
  -webkit-transform: translateY(4px);
  -ms-transform: translateY(4px);
  transform: translateY(4px); }

.open .hamburger {
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg); }

.open .hamburger::before {
  display: none; }

.open .hamburger::after {
  -webkit-transform: translateY(-1px) rotate(-90deg);
  -ms-transform: translateY(-1px) rotate(-90deg);
  transform: translateY(-1px) rotate(-90deg); }

@media (min-width: 780px) {
  .menu-toggle {
    display: none; }
  nav ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end; }
  nav li {
    -webkit-box-flex: 1;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    border: none; }
  nav li a {
    padding: 1.5em 1.3em 1.5em 1.3em;
    margin: 0;
    border: none;
    background-color: black; }
  nav a:hover, nav a:focus {
    background-color: #CE172E; }
  .logo {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 200px;
    flex: 0 0 200px;
    margin: 0;
    padding-left: 20px; }
  nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    text-align: center;
    background-color: black; } }
