Test Menu

Menu that overflows first time after refresh

HTML

<header>
    <nav class="main-navigation" id="desktop-navigation">
        <div class="container-fluid">
            <div class="menu-menu-1-container">
                <ul id="menu-menu-2" class="d-flex justify-content-center">
                    <li
                        class="has-mega-menu menu-item menu-item-type-taxonomy menu-item-object-product_cat menu-item-has-children menu-item-92">
                        <a href="#">Test</a>
                        <ul class="sub-menu">
                            <li
                                class="mega-menu-column menu-item menu-item-type-taxonomy menu-item-object-product_cat menu-item-has-children menu-item-93">
                                <a
                                    href="#">Test</a>
                                <ul class="sub-menu">
                                    <li
                                        class="menu-item menu-item-type-taxonomy menu-item-object-product_cat menu-item-94">
                                        <a
                                            href="#/">Test</a></li>
                                </ul>
                            </li>
                            <li
                                class="mega-menu-column menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-149">
                                <a href="#">Test</a>
                                <ul class="sub-menu">
                                    <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-150">
                                        <a href="#">Test</a></li>
                                </ul>
                            </li>
                        </ul>
                    </li>
                </ul>
            </div>
        </div>
    </nav>
</header>

CSS

header .main-navigation {
  display: block;
  margin-left: 1rem!important;
  margin-right: 1rem!important;
  text-transform: uppercase;
}

header .main-navigation > div {
  background: #000;
  position: relative;
}

header .menu-menu-1-container {
  height: 50px;
  white-space: initial;
}

header #menu-menu-2 {
  list-style: none;
  margin: 0;
  flex-direction: row;
}

header #menu-menu-2 > .menu-item {
  padding: 0 20px;
  height: 50px;
  border-bottom: 3px solid;
  border-color: #000;
  display: flex;
  align-items: center;
  justify-content: center;

}

header #menu-menu-2 .menu-item:hover {
  border-color: red;
  transition: 0.1s ease-in-out;
}

header #menu-menu-2 > li:hover > a {
  color: red;
}

header .has-mega-menu > .sub-menu {
  position: absolute;
  background: #fff;
  top: 50px;
  left: 0;
  width: 100%;
  display: none;
  box-shadow: 0 5px 10px rgb(0 0 0 / 10%);
}



header #menu-menu-2 li, header #menu-menu-2 ul {
  list-style: none;
  padding: 0;
}

header #menu-menu-2 li a {
  text-decoration: none;
}

header #menu-menu-2 > li > a {
  color: #fff;
}


header .has-mega-menu a {
  color: #000;
}

header .mega-menu-column {
  margin-left: 10px;
  margin-top: 25px;
  margin-bottom: 25px;
  padding: 0 15px!important;
}

header .mega-menu-column > a {
  position: relative;
  font-weight: 600;
  letter-spacing: 1px;
  padding-bottom: 10px;
  pointer-events: none;
}

header .mega-menu-column > a::before {
  content: "";
  position: absolute;
  height: 1px;
  width: 14px;
  bottom: 0;
  background-color: #000;
  opacity: 0.2;
}

header .mega-menu-column ul {
  margin-top: 20px;
}

header .mega-menu-column ul li {
  padding: 5px 0!important;
}

header .mega-menu-column ul a {
  color: grey;
  font-weight: 400;
  line-height: 25px;
  transition: all 0.3s ease-in-out;
  text-transform: capitalize;
  display: block;
}

header .mega-menu-column ul li a:hover {
  -webkit-transition: -webkit-transform 0.3s ease-in-out;
  -moz-transition: -moz-transform 0.3s...

JavaScript

jQuery(document).ready(function() {
    
    jQuery('.main-navigation .has-mega-menu').hover(function() {
        jQuery(this).has('.sub-menu').children('.sub-menu').stop().slideDown({start: function() { 
            jQuery(this).css('display', 'flex');
          }, duration: 250
        });
        jQuery(this).children('.sub-menu').css('z-index', '3')
    }, function() {
        jQuery(this).has('.sub-menu').children('.sub-menu').stop().slideUp(250);
        jQuery(this).children('.sub-menu').css('z-index', '2')
    });
});