NoJS Responsive Nav (Hover version)

Responsive navigation for mobile and desktop without using JS. Relies on hover behaviors

HTML

<nav class="radionav">
    <div>Menu</div>
    <ul>
      <li><a href="#">Menu item 0</a></li>
      <li>
        <div>Menu item 1</div>
        <ul>
          <li><a href="#">Just a link</a></li>
          <li><a href="#">Just a longer link</a></li>
          <li><a href="#">Just a link</a></li>
        </ul>
      </li>
      <li><a href="#">Menu item 2</a></li>
      <li><a href="#">Menu item 3</a></li>
      <li>
        <div>Menu item 4</div>
        <ul>
          <li><a href="#">Just a link</a></li>
          <li><a href="#">Just a longer link</a></li>
          <li><a href="#fail">Just a link</a></li>
        </ul>
      </li>
      <li><a href="#">Menu item 5</a></li>
    </ul>
  </nav>

CSS

html,
body {
  height: 100%;
  width: 100%;
  background: #FFF;
}

* {
  margin: 0;
  padding: 0;
  box-sizing:border-box;
}

p {
  padding: 1.6em 0 0;
}

.pretendthisisthebody {
  padding: 50px 10px 0;
}

#hideholder {
  display: none;
}

.radionav {
  position: absolute;
  top: 0;
  left: 0;
  background: #f8f8f8;
  width: 100%;
}

.radionav>div {
  text-align: center;
  text-transform: uppercase;
}

.radionav div,
.radionav a {
  color: #505050;
  display: block;
  padding: 10px;
  width: 100%;
  cursor: pointer;
  text-decoration: none;
  transition: 0.1s all ease-in-out;
}

.radionav li:hover>div,
.radionav a:hover {
  background: #cc0000;
  color: #fff;
}

.radionav ul {
  list-style-type: none;
  background: #f8f8f8;
}

.radionav ul ul a {
  padding-left: 30px;
}

.radionav input,
.radionav .closer,
.radionav ul,
.radionav input:checked ~ .opener {
  display: none;
}

.radionav:hover>ul,
.radionav li:hover>ul {
  display: block;
}

.radionav div::after {
  content: " +";
}

@media all and (min-width: 481px) {
  .radionav>div {
    display: none !important;
  }
  .radionav>ul
  {
    display: block !important;
  }
  .radionav>ul>li {
    display: inline-block;
  }
  .radionav a,
  .radionav div {
    width: auto;
  }
  .radionav li {
    position: relative;
  }
  .radionav ul ul {
    position: absolute;
    top: 100%;
    left: 0;
  }
  .radionav ul ul li {
    display: block;
    min-width: 100%;
  }
  .radionav ul ul a {
    padding-left: 10px;
    white-space: nowrap;
  }
  .radionav li:hover>ul {
    display: block;
  }
  .radionav div::after {
    content: "";
  }
}