So i just copied code from this answer and it doesn't seem to work. I can't find out why.
Current behavior: after opening menu and clicking outside of it nothing happens (class 'openMenu' stays)
Expected behavior: after opening menu and clicking outside of it menu closes (class openMenu removes)
var navToggle = document.getElementById("menu-trigger");
var navMenu = document.getElementById("header-menu");
var isMouseDown = false;
navToggle.addEventListener('click', function() {
  this.focus();
  navMenu.classList.toggle('openMenu');
  navMenu.focus();
});
navMenu.addEventListener('mousedown', function() {
  isMouseDown = true;  
});
navMenu.addEventListener('mouseup', function() {
  isMouseDown = false;  
});
navMenu.addEventListener('mouseleave', function() {
  isMouseDown = false;  
});
navMenu.addEventListener('blur', function() {
  if (!isMouseDown) {
    navMenu.classList.remove('openMenu');
  }
}, true);header i.fa-bars {
  position: absolute;
  right: 0;
  margin: 5px;
  font-size: 1rem;
  cursor: pointer;
}
header nav ul {
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transform: translateX(-150%);
          transform: translateX(-150%);
  -webkit-transition: .5s all;
  transition: .5s all;
  padding: 10px;
  width: 50vw;
  font-size: 2rem;
  background-color: #1f2a3e;
  height: 100%;
  z-index: 99;
  margin: 0 auto;
  display: -ms-grid;
  display: grid;
  -ms-grid-rows: (minmax(50px, 1fr))[auto-fill];
      grid-template-rows: repeat(auto-fill, minmax(50px, 1fr));
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
header nav ul.openMenu {
  -webkit-transform: translateX(0);
          transform: translateX(0);
  -webkit-transition: .5s all;
  transition: .5s all;
}  <header>
    <i class="fas fa-bars" id="menu-trigger">fontawesome menu icon</i>
    <nav>
      <ul id="header-menu">
        <li><a href="">Главная</a></li>
        <li><a href="">Кейсы</a></li>
        <li><a href="">Услуги</a></li>
        <li><a href="">Отзывы</a></li>
        <li><a href="">Контакты</a></li>
      </ul>
    </nav>
  </header>Trying to implement this for three hours, tried every available solution but everything failed. What am I doing wrong? How do I accomplish it?
Thank you, Mister @epascarello for the working solution.
 
     
     
    