#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: 992px) {
    #mobile-menu-bg-element {
        display: block !important;
        position: fixed;
        width: 100% !important;
        height: 100vh;
        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: var(--color-main);
        z-index: 9999;
        pointer-events: none;
        visibility: hidden;
        overflow: hidden;
    }
    #mobile-menu-wrapper .mobile-menu-wrapper-container {
        height: 100vh;
        background-color: var(--color-main);
    }
    #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: 89px;
        height: 31px !important;
    }
    #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: 65px 4em 80px 4em;
        }
        #mobile-menu-wrapper #mobile-menu {
            overflow-y: auto;
            height: calc(100vh - 83px);
            height: calc(100dvh - 83px);
            margin: 0 auto;
            display: flex;
            flex-direction: column;
            margin-bottom: 0;
        }
        #mobile-menu-wrapper #mobile-menu::-webkit-scrollbar {
            display: none;
        }
        #mobile-menu-wrapper #mobile-menu * {
            outline: unset !important;
            margin-bottom: 0;
        }
        #mobile-menu-wrapper #mobile-menu > *:first-child {
            flex-grow: 1;
        }
        #mobile-menu #menu-mobile-menu {
            padding-bottom: 80px;
        }
        #mobile-menu-wrapper #mobile-menu ul:not(.sub-menu) {
            padding-left: 0;
            margin: 0 !important;
        }
        #mobile-menu-wrapper #mobile-menu li {
            position: relative;
            margin: 0;
            padding: 0;
            display: flex;
            align-items: center;
        }
        #mobile-menu-wrapper #mobile-menu li a {
            font-family: var(--sbd-font);
            font-size: 24px;
            color: var(--color-white);
            padding: 6px 0;
            flex-grow: 1;
            line-height: 1.6;
        }
        #mobile-menu-wrapper a {
            text-decoration: unset !important;
        }

    /* SUB MENU 
    ---------------------------------------------------------------------------------------------*/
        /* SUB MENU TOGGLE
        -------------------------------------*/
            #mobile-menu-wrapper #mobile-menu .sub-menu-toggle {
                display: flex;
                align-items: center;
                width: 5px;
                height: 9px;
            }
            #mobile-menu-wrapper #mobile-menu .sub-menu-toggle svg {
                fill: var(--color-white);
                width: 100%;
                height: 100%;
            }

        /* SUB MENU BODY
        -------------------------------------*/
            #mobile-menu-wrapper .sub-menu-wrap {
                position: fixed;
                top: 0;
                left: 0;
                height: 100%;
                width: 100%;
                background-color: var(--color-main);
                opacity: 0;
                z-index: 6;
                visibility: hidden;
                transform: translateX(30px);
                transition-property: opacity, transform, visibility;
                transition-duration: 0.48s;
                transition-timing-function: cubic-bezier(.4,0,.6,1);
            }
            #mobile-menu-wrapper .sub-menu-wrap.opened {
                opacity: 1;
                visibility: visible;
                transform: translateX(0);
            }            
            #mobile-menu-wrapper .sub-menu-wrap-container {
                height: calc(100vh - 83px);
                height: calc(100dvh - 83px);
                overflow-y: auto;
            }
            #mobile-menu-wrapper .sub-menu > li:not(:first-child) > a {
                font-size: 21px !important;
                font-family: var(--sbd-font) !important;
            }     

        /* Sub Menu handler
        -------------------------------*/     
            #mobile-menu-wrapper #mobile-menu .sub-menu-handler {
                width: 100%;
                text-transform: uppercase;
                padding: 0;
                justify-content: space-between;
                align-items: center;
            }
            #mobile-menu-wrapper #mobile-menu .close-sub-menu svg {
                fill: var(--color-white);
                width: 7px;
                height: 13px;
            }
            #mobile-menu-wrapper #mobile-menu .close-sub-menu svg {
                -webkit-transform: rotate(180deg);
                -ms-transform: rotate(180deg);
                transform: rotate(180deg);
            }
            #mobile-menu-wrapper #mobile-menu .sub-menu-title {
                flex-grow: 1;
                display: none;
                pointer-events: none;
            }


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

        background-color: var(--color-main);
        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: var(--color-main);
        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
    --------------------------------------------------*/
        .mobile-contact-container {
            padding-top: 35px;
        }
        #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;
        }


}

@media only screen and (max-width: 767px) {
    #mobile-menu-wrapper #mobile-menu,
    #mobile-menu-wrapper .sub-menu {
        padding: 65px 3em;
    }
    #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;
    }
}

@media only screen and (max-width: 390px) {
    #mobile-menu-wrapper #mobile-menu, #mobile-menu-wrapper .sub-menu {
        padding: 50px 2em;
    }
}