header {
  padding-top: 4vmin;
  padding-bottom: calc(4vmin - 0.5rem);
  position: relative;
  z-index: 2;
  background: var(--pink-light);
}

.logo {
  display: block;
  width: 2.2rem;
}

header .container {
  position: relative;
}

header .container:after {
  content: '';
  position: absolute;
  width: calc(100% - 4rem);
  bottom: -4vmin;
  right: 2rem;
  border-bottom: 1px solid var(--color-text);
}

.menu-toggle {
  display: none;
  font-size: 1.5rem;
  cursor: pointer;
  background: none;
  border: none;
}

nav ul {
  display: flex;
  gap: 2rem;
  list-style: none;
  margin: 0;
  padding: 0;
  justify-content: flex-end;
}

nav ul li {
  transition: all 0.3s ease;
}

nav ul li a {
  padding: 0.5rem 0;
  position: relative;
  display: block;
}

nav ul li a:after {
  content: '';
  position: absolute;
  bottom: 0;
  right: 0;
  border-bottom: 1px solid var(--color-text);
  transition: all 0.3s ease-in-out;
  width: 100%;
  transform: translate3d(-100%, 0px, 0px) scale3d(1, 1, 1) rotateX(0deg) rotateY(0deg) rotateZ(0deg) skew(0deg, 0deg);
  transform-style: preserve-3d;
  width: 0;
  opacity: 0;
}

nav ul li a:hover {
  opacity: 1;
}

nav ul li a:hover:after {
  opacity: 1;
  transform: translate3d(0%, 0%, 0px) scale3d(1, 1, 1) rotateX(0deg) rotateY(0deg) rotateZ(0deg) skew(0deg, 0deg);
  transform-style: preserve-3d;
  width: 100%;
}

.main-menu {
  transition: max-height 0.4s ease;
}

@media (max-width: 768px) {
  header .toggle-wrap {
      display: flex;
      justify-content: flex-end;
    }

  .menu-toggle {
    display: block;
  }

  .main-menu {
    visibility: hidden;
    position: absolute;
    right: 0;
    background: var(--pink-light);
    width: 100%;
    max-height: 0;
    overflow: hidden;
    flex-direction: column;
    gap: 1rem;
    padding: 1rem 2rem;
    transition: all 0.3s ease-in-out;
    top: calc(100% + 2rem);
    opacity: 0;
  }

 .active-menu .main-menu {
    max-height: 300px;
    visibility: visible;
    opacity: 1;
  }

  header {
    position: relative;
  }

  nav ul {
    flex-direction: column;
  }

  .menu-toggle {
    position: relative;
    width: 30px;
    height: 20px;
  }

  .menu-toggle span {
    position: absolute;
    height: 3px;
    width: 100%;
    background: #333;
    transition: 0.3s ease;
    left: 0;
  }

  .menu-toggle span:nth-child(1) { top: 0; }
  .menu-toggle span:nth-child(2) { top: 8px; }
  .menu-toggle span:nth-child(3) { top: 16px; }

  .active-menu  .menu-toggle span:nth-child(1) {
    transform: rotate(45deg);
    top: 8px;
  }

  .active-menu  .menu-toggle span:nth-child(2) {
    opacity: 0;
  }

  .active-menu  .menu-toggle span:nth-child(3) {
    transform: rotate(-45deg);
    top: 8px;
  }

}

@media (max-width: 430px) {
    header .row-flex {
      display: flex;
    }
    header .col-50 {
      width: 50%;
    }
}