body {
  background-image: linear-gradient(to bottom right, #FFA69E, #861657);
  background-repeat: no-repeat;
  background-attachment: fixed;
  margin: 0px;
  font-family: "Open Sans", sans-serif;
}

.nav {
  height: 75px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-direction: row;
}

.nav-item {
  margin: 0 50px;
}

.nav span {
  color: white;
  font-size: 32px;
  font-weight: 600;
  cursor: default;
  user-select: none;
}

.nav-link {
  display: inline-block;
  background-color: white;
  color: black;
  text-decoration: none;
  text-align: center;
  min-width: 30px;
  padding: 10px 20px;
  margin-left: 10px;
  border-radius: 20px;
  font-size: 16px;
  font-weight: 500;
  transition: background-color .15s linear;
}

.nav-link:hover {
  background-color: rgb(220, 220, 220);
}

#menu-toggle {
  display: none;
}

.menu-button-container {
  height: 100%;
  width: 30px;
  cursor: pointer;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.menu-button,
.menu-button::before,
.menu-button::after {
  display: block;
  background-color: #fff;
  position: absolute;
  height: 4px;
  width: 30px;
  transition: transform 400ms cubic-bezier(0.23, 1, 0.32, 1);
  border-radius: 2px;
}

.menu-button::before {
  content: '';
  margin-top: -8px;
}

.menu-button::after {
  content: '';
  margin-top: 8px;
}

#menu-toggle:checked + .menu-button-container .menu-button::before {
  margin-top: 0px;
  transform: rotate(225deg); /* 405deg */
}

#menu-toggle:checked + .menu-button-container .menu-button {
  background: rgba(255, 255, 255, 0);
}

#menu-toggle:checked + .menu-button-container .menu-button::after {
  margin-top: 0px;
  transform: rotate(-225deg); /* -405deg */
}

.mobile {
  display: none;
}

@media screen and (max-width: 600px) {
  /* .nav-links > * {
    visibility: hidden;
  } */
  .nav-item {
    margin: 0 20px;
  }

  .desktop {
    display: none;
  }

  .mobile {
    display: initial;
  }

  .menu-button-container {
    display: flex;
  }

  /* #menu-toggle ~ .menu {
    height: 0;
    transition: height 400ms cubic-bezier(0.23, 1, 0.32, 1);
  } */

  #menu-toggle:checked ~ .menu {
    height: 50px;
    display: flex;
    animation: nav-menu-appear 400ms cubic-bezier(0.23, 1, 0.32, 1);
  }

  .menu {
    position: absolute;
    top: 75px;
    left: 0;
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    display: none;
  }
}

@keyframes nav-menu-appear {
  0% {
    opacity: 0;
    height: 0;
  }

  100% {
    opacity: 1;
    height: 50px;
  }
}
