#mobile-menu-wrapper {
    display: none;
}
.iubenda-tp-btn.hide:not([data-tp-nostyle]) {
    display: none !important;
}
.mobile-menu-handle.disabled {
    pointer-events: none;
}
#mobile-menu-wrapper.menu-closing {
    pointer-events: none;
}

@media only screen and (max-width: 1150px) {
    #mobile-menu-bg-element {
        display: block !important;
        position: fixed;
        width: 100% !important;
        height: 100vh;
        height: 100dvh;
        top: 0;
        left: 0;
        background-color: transparent;
        backdrop-filter: blur(0px);
        z-index: 99;
        pointer-events: none;
        visibility: hidden;
        overflow: hidden;
    }
    #mobile-menu-wrapper {
        display: block !important;
        position: fixed;
        width: 100% !important;
        height: 0vh;
        top: 0;
        left: 0;
        background-color: rgb(15 50 80 / 55%);
        z-index: 9999;
        pointer-events: none;
        visibility: hidden;
        overflow: hidden;
    }
    #mobile-menu-wrapper .mobile-menu-wrapper-container {
        height: 100vh;
        height: 100dvh;
        background-color: rgb(15 50 80 / 55%);
    }
    #mobile-menu-wrapper:after {
        content: '';
        display: block;
        width: 100%;
        height: 100dvh;
        position: fixed;
        top: 0;
        left: 0;
        background-color: transparent;
    }
    #mobile-menu-wrapper .mobile-menu-wrapper-inner {
        position: relative;
        z-index: 2;
    }
    #mobile-menu-wrapper .mobile-menu-wrapper-header {
        padding: 0 0 0 2em;
        display: flex;
        grid-template-columns: 1fr auto;
        -webkit-align-items: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        box-sizing: border-box;
        -webkit-transform: translateY(0%);
        -moz-transform: translateY(0%);
        -ms-transform: translateY(0%);
        transform: translateY(0%);
    }
    #mobile-menu-wrapper .logo {
        flex-grow: 1;
    }
    #mobile-menu-wrapper .logo a {
        display: inline-block;
    }
    #mobile-menu-wrapper .logo img {
        width: 111px;
        height: 50PX;
    }
    #mobile-menu-wrapper .close-menu,
    #mobile-menu-wrapper .close-sub-menu {
        height: 83px;
        padding: 0 2em;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    #mobile-menu-wrapper .close-menu svg {
        height: 14px;
        width: 12px;
    }

    /* Menu voices
    ----------------------------------------------------*/
        #mobile-menu-wrapper #mobile-menu,
        #mobile-menu-wrapper .sub-menu {
            padding: 0 2em;
        }
        #mobile-menu-wrapper #mobile-menu .mobile-menu-container {
            overflow-y: auto;
            height: calc(100vh - 83px);
            height: calc(100dvh - 83px);
            margin: 0 auto;
            display: flex;
            flex-direction: column;
            margin-bottom: 0;
            padding: 40px 0;
            border-top: 1px solid rgb(255 255 255 / 20%);
        }
        #mobile-menu-wrapper #mobile-menu .mobile-menu-container::-webkit-scrollbar {
            display: none;
        }
        #mobile-menu-wrapper #mobile-menu .mobile-menu-container * {
            outline: unset !important;
            margin-bottom: 0;
        }
        #mobile-menu-wrapper #mobile-menu .mobile-menu-content {
            flex-grow: 1;
        }
        #mobile-menu #menu-mobile-menu {
            padding-bottom: 80px;
        }
        #mobile-menu-wrapper #mobile-menu .mobile-menu-container ul:not(.sub-menu) {
            padding-left: 0;
            margin: 0 !important;
        }
        #mobile-menu-wrapper #mobile-menu .mobile-menu-container li {
            position: relative;
            margin: 0 0 20px 0;
            padding: 0;
            display: flex;
            align-items: center;
        }
        #mobile-menu-wrapper #mobile-menu .mobile-menu-container li a {
            font-family: var(--sbd-font);
            font-size: 18px;
            color: var(--color-white);
            text-transform: uppercase;
            padding: 6px 0;
            flex-grow: 1;
            line-height: 1.6;
        }
        #mobile-menu-wrapper a {
            text-decoration: unset !important;
        }


    /* MENU MOBILE TRANSITION
    -----------------------------------------------------*/
    #mobile-menu-wrapper.menu-opened {
        height: 100vh;
        height: 100dvh;

        background-color: rgb(15 50 80 / 55%);
        backdrop-filter: blur(20px);
        visibility: initial;
        pointer-events: initial;
    }
    #mobile-menu-wrapper {
        transition-property: height, background-color, backdrop-filter, visibility;
        transition-duration: 0.48s;
        transition-timing-function: cubic-bezier(.4,0,.6,1);
    }


    #mobile-menu-wrapper.menu-resetting .sub-menu-wrap {
        opacity: 0 !important;
        visibility: hidden !important;
        transform: translateX(30px) !important;
        transition: none !important;
    }
    #mobile-menu-bg-element.menu-opened {
        background-color: rgb(15 50 80 / 55%);
        backdrop-filter: blur(20px);
        visibility: initial;
        pointer-events: initial;
    }
    #mobile-menu-bg-element {
        transition-property: background-color, backdrop-filter, visibility;
        transition-duration: 0.48s;
        transition-timing-function: cubic-bezier(.4,0,.6,1);
    }


    /* Menu Utils
    --------------------------------------------------*/
        .contact-footer-title {
            border-bottom: 1px solid rgb(255 255 255 / 20%);
            padding-bottom: 12px;
            margin-bottom: 12px !important;
            font-size: 20px;
        }
        .mobile-contact-container {
            padding-top: 60px;
        }
        #mobile-menu-wrapper .contact-footer-section .widget-title p {
            padding-bottom: 20px;
        }
        #mobile-menu-wrapper .contact-footer-section .widget-content > *:last-child {
            padding-bottom: 0 !important;
        }
        #mobile-menu-wrapper .contact-footer-content > *:not(:last-child) {
            margin-bottom: 10px !important;
        }
        .contact-footer-content a {
            opacity: 0.45;
        }

    /* Mobile Menu Button
    --------------------------------------------------*/
        .mobile-menu-newsletter {
            padding-bottom: 38px;
        }
        .mobile-menu-newsletter .btn {
            padding-top: 21px;
            padding-bottom: 21px;
            font-family: var(--bd-font) !important;
            font-size: 16px;
            letter-spacing: 0;
        }
        .mobile-menu-newsletter .btn:before {
            display: none;
        }

    /* Lang Switch
    --------------------------------------------------*/
        .mobile-lang-switch {
            padding-top: 30px;
            border-top: 1px solid rgb(255 255 255 / 20%);
        }
        .wpml-ls-legacy-list-horizontal.wpml-ls-statics-footer {
            padding: 0 !important;
        }
        #mobile-menu-wrapper .wpml-ls-legacy-list-horizontal ul {
            display: flex;
            align-items: center;
            gap: 24px;
            margin: 0;
            padding: 0;
            list-style: none;
        }
        #mobile-menu-wrapper .wpml-ls-legacy-list-horizontal li {
            margin: 0;
            padding: 0;
        }
        #mobile-menu-wrapper .mobile-lang-switch li:before {
            display: none !important;
        }
        #mobile-menu-wrapper .wpml-ls-legacy-list-horizontal li a {
            font-size: 14px !important;
            line-height: 1 !important;
            padding: 9px 5px 7px 5px !important;
            min-width: 60px;
        }
        .wpml-ls-current-language a {
            background-color: #fff;
            color: var(--main-text-color) !important;
            border-radius: 3px;
        }
}

@media only screen and (max-width: 767px) {
    #mobile-menu-wrapper #mobile-menu,
    #mobile-menu-wrapper .sub-menu {
        padding: 0 1.5em;
    }
    #mobile-menu-wrapper #mobile-menu .mobile-menu-container {
        padding-top: 20px;
        padding-bottom: 40px;
    }
    #mobile-menu-wrapper .mobile-menu-wrapper-header {
        padding: 0 0 0 1.5em;
    }
    #mobile-menu-wrapper .close-menu, #mobile-menu-wrapper .close-sub-menu {
        padding: 0 1.5em;
    }
    #mobile-menu-wrapper #mobile-menu .mobile-menu-container li a {
        font-size: 15px;
    }
    .mobile-menu-newsletter .btn {
        font-size: 14px;
    }
}
