@media all{

    .boxmenumobile{
        display: none;
    }

}



@media all and (max-width: 1060px){

    body.menumobile-open{
        overflow: hidden;
    }

    .boxmenumobile{
        display: block;
        position: fixed;
        top: 0;
        right: -100%;
        width: 100%;
        max-width: 420px;
        height: 100vh;
        background: #fff;
        z-index: 10050;
        transition: right 0.35s ease;
        box-shadow: -8px 0 20px rgba(0,0,0,0.18);
        box-sizing: border-box;
    }

    .boxmenumobile.open{
        right: 0;
    }

    .boxmenumobile *{
        box-sizing: border-box;
    }

    .menumobiletop{
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 20px;
        border-bottom: 1px solid rgba(0,0,0,0.08);
        background: #fff;
    }

    .menumobiletitle{
        font-size: 18px;
        line-height: 1em;
        font-weight: 700;
        text-transform: uppercase;
        color: #000;
    }

    .chiudimenumobile{
        display: block;
        text-decoration: none;
        color: #000;
        font-size: 34px;
        line-height: 1em;
        font-weight: 300;
    }

    .chiudimenumobile:hover{
        color: #00adee;
    }

    .menumobilebody{
        height: calc(100vh - 74px);
        overflow-y: auto;
        padding: 10px 0 25px 0;
        background: #fff;
    }

    .linkmobile{
        list-style: none;
        margin: 0;
        padding: 0;
    }

    .linkmobile li{
        display: block;
        width: 100%;
        margin: 0;
        padding: 0;
        border-bottom: 1px solid rgba(0,0,0,0.08);
    }

    .linkmobile > li > a,
    .linkmobile .vocemobile > a{
        display: block;
        flex: 1;
        text-decoration: none;
        color: #000;
        font-size: 18px;
        line-height: 1.2em;
        font-weight: 400;
        padding: 18px 20px;
        background: transparent;
    }

    .linkmobile > li > a:hover,
    .linkmobile .vocemobile > a:hover{
        color: #00adee;
    }

    .linkmobile .vocemobile{
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: space-between;
    }

    .submenu-toggle{
        border: 0;
        background: transparent;
        cursor: pointer;
        color: #000;
        padding: 0 20px;
        min-height: 58px;
        font-size: 26px;
        line-height: 1em;
        font-family: 'Nunito Sans', sans-serif;
    }

    .submenu-toggle:hover{
        color: #00adee;
    }

    .has-submenu-mobile > ul{
        display: none;
        list-style: none;
        margin: 0;
        padding: 0;
        background: #f5f5f5;
    }

    .has-submenu-mobile.open > ul{
        display: block;
    }

    .has-submenu-mobile > ul > li{
        display: block;
        margin: 0;
        padding: 0;
        border-top: 1px solid rgba(0,0,0,0.05);
        border-bottom: 0;
    }

    .has-submenu-mobile > ul > li > a,
    .has-submenu-mobile > ul > li .vocemobile > a{
        display: block;
        text-decoration: none;
        color: #000;
        font-size: 16px;
        line-height: 1.2em;
        font-weight: 400;
        padding: 15px 20px 15px 34px;
        background: transparent;
    }

    .has-submenu-mobile > ul > li > a:hover,
    .has-submenu-mobile > ul > li .vocemobile > a:hover{
        color: #00adee;
    }

    .has-submenu-mobile.interno > ul{
        background: #eeeeee;
    }

    .has-submenu-mobile.interno > ul > li > a{
        font-size: 15px;
        padding: 13px 20px 13px 52px;
        color: #111;
    }

    /* PULSANTE PRENOTA MOBILE */
    .linkmobile li.link-prenota-menu{
        width: auto;
        padding: 18px 20px;
        border-bottom: 0;
        box-sizing: border-box;
    }

    .linkmobile li.link-prenota-menu a{
        display: block;
        width: auto;
        box-sizing: border-box;
        background-color: #0a3661;
        color: #fff !important;
        text-align: center;
        padding: 14px 24px;
        /*border-radius: 10px;*/
        font-size: 18px;
        line-height: 1em;
        font-weight: 700;
        text-decoration: none;
    }

    .linkmobile li.link-prenota-menu a:hover{
        background-color: #00adee;
        color: #fff !important;
    }

    /* ACCESSIBILITÀ MENU MOBILE */
    .linkmobile > li > a:focus-visible,
    .linkmobile .vocemobile > a:focus-visible,
    .has-submenu-mobile > ul > li > a:focus-visible,
    .has-submenu-mobile > ul > li .vocemobile > a:focus-visible,
    .submenu-toggle:focus-visible,
    .chiudimenumobile:focus-visible{
        outline: 2px solid #1A0A00;
        outline-offset: -4px;
        background-color: #f5f1ee;
        color: #000;
    }

    .linkmobile li.link-prenota-menu a:focus-visible{
        outline: 2px solid #1A0A00;
        outline-offset: 4px;
        background-color: #0a3661;
        color: #fff !important;
    }

}



@media all and (max-width: 585px){

    .boxmenumobile{
        max-width: none;
    }

    .menumobiletop{
        padding: 16px 15px;
    }

    .linkmobile > li > a,
    .linkmobile .vocemobile > a{
        padding: 16px 15px;
        font-size: 17px;
    }

    .submenu-toggle{
        padding: 0 15px;
    }

    .has-submenu-mobile > ul > li > a,
    .has-submenu-mobile > ul > li .vocemobile > a{
        padding: 14px 15px 14px 28px;
    }

    .has-submenu-mobile.interno > ul > li > a{
        padding: 12px 15px 12px 44px;
    }

    .linkmobile li.link-prenota-menu{
        padding: 16px 15px;
    }

    .linkmobile li.link-prenota-menu a{
        font-size: 17px;
        padding: 14px 20px;
    }

}