.has-mega-menu {
    position: relative;
}

.has-mega-menu > a {
    position: relative;
}

.has-mega-menu > a:after {
    content: "";
    width: 20px;
    height: 20px;
    border: 10px solid transparent;
    border-bottom-color: var(--bs-primary);
    position: absolute;
    bottom: -20px;
    right: 0;
    left: 0;
    margin: auto;
    z-index: -1;
    visibility: hidden;
    opacity: 0;
    transform: translateY(100%);
    transition: opacity 0.2s ease, transform 0.2s ease;
}

.has-mega-menu > a.show:after {
    z-index: 1;
    transform: translateY(0);
    visibility: visible;
    opacity: 1;
    transition-delay: 0.1s;
}

.mega-menu,
.mega-menu.dropdown-menu {
    padding: 0;
    background-color: var(--bs-body-bg);
    position: relative;
    width: 900px;
    border: 2px solid var(--bs-primary);
    box-shadow: 0 15px 30px 3px rgba(var(--bs-primary-rgb), 0.1);
}

body:not(.elementor-editor-active) .mega-menu,
body:not(.elementor-editor-active) .mega-menu.dropdown-menu {
    overflow: hidden;
}

.has-mega-menu .mega-menu,
.has-mega-menu .mega-menu.dropdown-menu {
    position: absolute;
    top: calc(100% + 10px);
    right: 0;
    transform: translateY(20%);
    opacity: 0;
    z-index: -1;
    visibility: hidden;
    transition: opacity 0.3s ease, transform 0.3s ease;
}

.has-mega-menu:hover .mega-menu:not(.dropdown-menu),
.has-mega-menu:active .mega-menu:not(.dropdown-menu),
.has-mega-menu .mega-menu.show {
    visibility: visible;
    opacity: 1;
    transform: translateY(0);
    z-index: 999;
}

.has-mega-menu .sub-menu {
    display: none !important;
}

.mega-menu img {
    max-width: 100%;
}

.mega-menu,
.mega-menu .mega-menu-content {
    border-radius: var(--bs-border-radius);
}

.mega-menu .mega-menu-content {
    position: relative;
    overflow: hidden;
}

.mega-menu > .elementor > .elementor-element,
.mega-menu > .elementor > .elementor-element > .e-con-inner,
.mega-menu > .elementor > .elementor-element > .e-con-inner > .elementor-element {
    padding: 0;
}

.mega-menu .e-con.e-con > .e-con-inner > .elementor-widget.elementor-widget-text-editor,
.mega-menu .elementor.elementor .e-con > .elementor-widget.elementor-widget-text-editor {
    white-space: normal;
}