html,
body {
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
}
html {
  background: #fff;
  color: #333;
  font-size: 100%;
}
body {
  font: 0.75em/1.5em ropa-sans, sans;
  text-align: center;
  background-color: #f7efeb;
  padding: 1.25em;
  /* 20 */

}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
nav,
section {
  position: relative;
  display: block;
  z-index: 1;
  margin: 0;
  padding: 0;
  zoom: 1;
}
a,
form,
img {
  border: 0;
}
form,
img {
  outline: none;
}
.cf:before,
.cf:after {
  content: " ";
  /* 1 */

  display: table;
  /* 2 */

}
.cf:after {
  clear: both;
}
/**
* For IE 6/7 only
* Include this rule to trigger hasLayout and contain floats.
*/
.cf {
  *zoom: 1;
}
#nav {
  width: 60em;
  /* 1000 */

  font-family: 'Open Sans', sans-serif;
  font-weight: 400;
  position: absolute;
  top: 25%;
  left: 50%;
  margin-left: -30em;
  /* 30 480 */

}
#nav ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
#nav > a {
  display: none;
}
#nav li {
  position: relative;
}
#nav li a {
  color: #fff;
  display: block;
}
#nav li a:active {
  background-color: #c00 !important;
}
#nav span:after {
  width: 0;
  height: 0;
  border: 0.313em solid transparent;
  border-bottom: none;
  border-top-color: #efa585;
  content: '';
  vertical-align: middle;
  display: inline-block;
  position: relative;
  right: -0.313em;
  /* 5 */

}
/* first level */
#nav > ul {
  height: 3.75em;
  /* 60 */

  background-color: #e15a1f;
}
#nav > ul > li {
  width: 25%;
  height: 100%;
  float: left;
}
#nav > ul > li > a {
  height: 100%;
  font-size: 1.5em;
  /* 24 */

  line-height: 2.5em;
  /* 60 (24) */

  text-align: center;
}
#nav > ul > li > a {
  border-left: 1px solid #cc470d;
}
#nav > ul > li:first-child > a {
  border-left: none;
}
/*
#nav > ul > li:not(:last-child) > a {
    border-right: 1px solid #cc470d;
}
*/
#nav > ul > li:hover > a,
#nav > ul:not(:hover) > li.active > a {
  background-color: #cc470d;
}
/* second level */
#nav li ul {
  background-color: #cc470d;
  display: none;
  position: absolute;
  top: 100%;
}
#nav li:hover ul {
  display: block;
  left: 0;
  right: 0;
}
/*
#nav li:not(:first-child):hover ul {
    left: -1px;
}
*/
#nav li:hover ul {
  left: -1px;
}
#nav li:first-child:hover ul {
  left: 0;
}
#nav li ul a {
  font-size: 1.25em;
  /* 20 */

  border-top: 1px solid #e15a1f;
  padding: 0.75em;
  /* 15 (20) */

}
#nav li ul li a:hover,
#nav li ul:not(:hover) li.active a {
  background-color: #e15a1f;
}
/* 1000 */
@media only screen and (max-width: 62.5em) {
  #nav {
    width: 100%;
    position: static;
    margin: 0;
  }
}
/* 640 */
@media only screen and (max-width: 40em) {
  html {
    font-size: 75%;
    /* 12 */
  
  }
  #nav {
    position: relative;
    top: auto;
    left: auto;
  }
  #nav > a {
    width: 3.125em;
    height: 3.125em;
    /* 50 */
  
    text-align: left;
    text-indent: -9999px;
    background-color: #e15a1f;
    position: relative;
  }
  #nav > a:before,
  #nav > a:after {
    position: absolute;
    border: 2px solid #fff;
    top: 35%;
    left: 25%;
    right: 25%;
    content: '';
  }
  #nav > a:after {
    top: 60%;
  }
  #nav:not(:target) > a:first-of-type,
  #nav:target > a:last-of-type {
    display: block;
  }
  /* first level */
  #nav > ul {
    height: auto;
    display: none;
    position: absolute;
    left: 0;
    right: 0;
  }
  #nav:target > ul {
    display: block;
  }
  #nav > ul > li {
    width: 100%;
    float: none;
  }
  #nav > ul > li > a {
    height: auto;
    text-align: left;
    padding: 0 0.833em;
    /* 20 (24) */
  
  }
  #nav > ul > li:not(:last-child) > a {
    border-right: none;
    border-bottom: 1px solid #cc470d;
  }
  /* second level */
  #nav li ul {
    position: static;
    padding: 1.25em;
    /* 20 */
  
    padding-top: 0;
  }
}
