.navbar {
  background-color: #000;
  position: fixed;
  width: 100vw;
  z-index: 2;
  opacity: 0.8;
}

.navbar ul {
  list-style: none;
  overflow: hidden;
  text-align: center;
}

.navbar ul a {
  display: block;
  color: #fff;
  padding: 0.8rem 0.5rem;
  margin-right: 0.4rem;
  font-size: 1rem;
}

.navbar ul a:hover {
  color: red;
  font-weight: bold;
}

.navbar .logo a {
  display: block;
  float: left;
  color: red;
  font-size: 1.7rem;
  padding: 0.63rem;
}

.navbar .menu {
  clear: both;
  max-height: 0;
  transition: max-height 0.2s ease-out;
}

.navbar .menu-icon {
  padding: 28px 20px;
  position: relative;
  float: right;
  cursor: pointer;
}

.navbar .menu-icon .nav-icon {
  background-color: #fff;
  display: block;
  height: 2px;
  width: 18px;
  position: relative;
  transition: background-color 0.2s ease-out;
}

.header .menu-icon .nav-icon:before,
.header .menu-icon .nav-icon:after {
  background-color: #fff;
  content: '';
  display: block;
  height: 100%;
  width: 100%;
  position: absolute;
  transition: all 0.2s ease-out;
}

.navbar .menu-icon .nav-icon:before {
  top: -5px;
}

.navbar .menu-icon .nav-icon:after {
  top: 5px;
}

.navbar .menu-btn {
  display: none;
}

.navbar .menu-btn:checked ~ .menu {
  max-height: 260px;
}

.navbar .menu-btn:checked ~ .menu-icon .nav-icon {
  background: transparent;
}
.navbar .menu-btn:checked ~ .menu-icon .nav-icon:before {
  transform: rotate(-45deg);
  top: 0;
}
.navbar .menu-btn:checked ~ .menu-icon .nav-icon:after {
  transform: rotate(45deg);
  top: 0;
}

@media (min-width: 768px) {
  .navbar li {
    float: left;
  }

  .navbar .menu {
    clear: none;
    float: right;
    max-height: none;
  }

  .header .menu-icon {
    display: none;
  }
}
