@media all{

    .bloccofixed{
        position:fixed;
        top:0;
        left:0;
        z-index:9999;
        width:100%;
    }

    header{
        --submenugap: 27px;
        position:relative;
        width:100%;
        background-color:rgba(255,255,255,0.86);
        transition:background-color 0.35s ease, box-shadow 0.35s ease;
    }

    header:hover{
        background-color:rgba(255,255,255,0.96);
    }

    header .rigacontacts{
        display:flex;
        align-items:center;
        width:auto;
        padding:0 20px;
        font-size:12px;
        border-bottom:1px solid #999;
        overflow:hidden;
        max-height:60px;
        opacity:1;
        transition:max-height 0.35s ease, opacity 0.25s ease, padding 0.35s ease, border-color 0.35s ease;
    }

    header .rigacontacts a{
        text-decoration:none;
        color:#000;
        padding:12px 10px;
    }

    header .rigacontacts a:hover{
        color:#c0262e;
        transition:color 0.35s ease;
    }

    header .rigacontacts a:nth-child(2){
        border-left:1px solid #999;
    }

    header .rigacontacts a:nth-child(3){
        margin-left:auto;
        border-right:1px solid #999;
    }

    header .rigacontacts .iconbrand{
        display:inline-block;
        font-size:18px;
        padding:0 10px;
    }

    header .rigamenu{
        position:relative;
        z-index:10;
        width:100%;
        padding:0;
        margin:0;
        border-bottom:1px solid #999;
        box-shadow:0 3px 6px rgba(0,0,0,0.15);
        transition:min-height 0.35s ease, box-shadow 0.35s ease;
    }

    header .logo{
        position:absolute;
        top:0;
        left:30px;
        line-height:0;
        padding:10px 0;
        z-index:2;
        transition:all 0.35s ease;
    }

    header .logo img{
        width:120px;
        transition:all 0.35s ease;
        display:block;
    }

    header .menu{
        width:100%;
        text-align:center;
        padding:27px 0;
        margin:0;
        line-height:1em;
        transition:padding 0.35s ease;
    }

    header .menumobileico{
        display:none;
    }

    .boxmenumobile{
        display:none;
    }

    .bloccofixed.scrolled header{
        --submenugap: 18px;
        background-color:rgba(255,255,255,0.97);
    }

    .bloccofixed.scrolled header .rigacontacts{
        max-height:0;
        opacity:0;
        padding-top:0;
        padding-bottom:0;
        border-bottom-color:transparent;
    }

    .bloccofixed.scrolled header .logo{
        left:20px;
        padding:7px 0;
    }

    .bloccofixed.scrolled header .logo img{
        width:92px;
    }

    .bloccofixed.scrolled header .menu{
        padding:18px 0;
    }

    ul#link{
        list-style:none;
        margin:0;
        padding:0;
    }

    ul#link > li{
        position:relative;
        display:inline-block;
        margin:0;
        padding:0 15px;
        font-size:14px;
        font-weight:bold;
        text-transform:uppercase;
        vertical-align:top;
    }

    ul#link > li:last-child{
        padding-right:0;
    }

    ul#link > li > a{
        position:relative;
        display:inline-block;
        margin:0;
        padding:0;
        text-decoration:none;
        color:rgba(0,0,0,0.6);
        transition:color 0.35s ease;
    }

    ul#link > li > a:hover{
        color:rgba(0,0,0,0.95);
    }

    ul#link > li > a:after{
        content:"";
        position:absolute;
        left:0;
        bottom:-6px;
        width:100%;
        height:2px;
        background:#c0262e;
        transform:scaleX(0);
        transform-origin:right;
        transition:transform 0.35s ease;
    }

    ul#link > li > a:hover:after{
        transform:scaleX(1);
        transform-origin:left;
    }

    ul#link > li > a.attivo{
        color:rgba(0,0,0,0.95);
    }

    ul#link > li > a.attivo:after{
        transform:scaleX(1);
        transform-origin:left;
    }

    ul#link > li.has-submenu:after{
        content:"";
        position:absolute;
        top:100%;
        left:0;
        width:300px;
        height:var(--submenugap);
        z-index:9998;
    }

    ul#link > li > ul{
        position:absolute;
        top:calc(100% + var(--submenugap));
        left:0;
        margin:0;
        padding:0;
        list-style:none;
        min-width:300px;
        text-align:left;
        background:#fff;
        z-index:9999;
        opacity:0;
        visibility:hidden;
        pointer-events:none;
        transition:opacity 0.18s ease;
    }

    ul#link > li.has-submenu:hover > ul{
        opacity:1;
        visibility:visible;
        pointer-events:auto;
    }

    ul#link > li > ul > li{
        display:block;
        margin:0;
        padding:0;
        font-size:14px;
        font-weight:normal;
        text-transform:none;
    }

    ul#link > li > ul > li > a{
        display:block;
        margin:0;
        padding:16px 28px;
        text-decoration:none;
        white-space:nowrap;
        text-transform:uppercase;
        font-size:14px;
        font-weight:bold;
        color:rgba(0,0,0,0.7);
        background:#fff;
        border-bottom:1px solid rgba(0,0,0,0.08);
        transition:background 0.2s ease, color 0.2s ease;
    }

    ul#link > li > ul > li:last-child > a{
        border-bottom:none;
    }

    ul#link > li > ul > li > a:hover{
        color:rgba(0,0,0,1);
        background:rgba(0,0,0,0.03);
    }
}

@media all and (max-width: 1060px){

    body.menumobile-open{
        overflow:hidden;
    }

    header .rigacontacts{
        display:none;
    }

    header .rigamenu{
        display:flex;
        justify-content:space-between;
        align-items:center;
        width:100%;
        padding:0 20px;
        margin:0;
    }

    header .logo{
        position:static;
        line-height:0;
        padding:10px 0;
        z-index:auto;
    }

    header .logo img{
        width:100px;
    }

    header .menu{
        display:none;
    }

    header .menumobileico{
        display:block;
        position:static;
        width:auto;
        height:auto;
        line-height:0;
        padding:10px 0;
    }

    header .menumobileico a{
        color:#000;
        text-decoration:none;
    }

    header .menumobileico a:hover{
        color:#c0262e;
        transition:color 0.35s ease;
    }

    header .menumobileico .iconsolid{
        font-size:36px;
    }

    .bloccofixed.scrolled header .logo{
        left:auto;
        padding:10px 0;
    }

    .bloccofixed.scrolled header .logo img{
        width:100px;
    }

    .bloccofixed.scrolled header .menumobileico{
        padding:10px 0;
    }

    .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.12);
    }

    .boxmenumobile.open{
        right:0;
    }

    .menumobiletop{
        display:flex;
        justify-content:space-between;
        align-items:center;
        padding:20px;
        border-bottom:1px solid rgba(0,0,0,0.08);
    }

    .menumobiletitle{
        font-size:16px;
        font-weight:bold;
        text-transform:uppercase;
        color:rgba(0,0,0,0.8);
    }

    .chiudimenumobile{
        text-decoration:none;
        color:#000;
    }

    .chiudimenumobile:hover{
        color:#c0262e;
        transition:color 0.35s ease;
    }

    .chiudimenumobile .iconsolid{
        font-size:26px;
    }

    .menumobilebody{
        height:calc(100vh - 69px);
        overflow-y:auto;
        padding:10px 0 25px 0;
    }

    .linkmobile{
        list-style:none;
        margin:0;
        padding:0;
    }

    .linkmobile > li{
        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:rgba(0,0,0,0.85);
        font-size:14px;
        font-weight:bold;
        text-transform:uppercase;
        padding:18px 20px;
    }

    .linkmobile > li > a:hover,
    .linkmobile .vocemobile > a:hover{
        color:#c0262e;
    }

    .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;
        height:100%;
        min-height:54px;
    }

    .submenu-toggle .iconsolid{
        font-size:16px;
    }

    .has-submenu-mobile > ul{
        display:none;
        list-style:none;
        margin:0;
        padding:0;
        background:rgba(0,0,0,0.02);
    }

    .has-submenu-mobile.open > ul{
        display:block;
    }

    .has-submenu-mobile.open .submenu-toggle .icon-plus:before{
        content:"\f068";
    }

    .has-submenu-mobile > ul > li{
        margin:0;
        padding:0;
        border-top:1px solid rgba(0,0,0,0.05);
    }

    .has-submenu-mobile > ul > li > a{
        display:block;
        text-decoration:none;
        color:rgba(0,0,0,0.75);
        font-size:13px;
        font-weight:bold;
        text-transform:uppercase;
        padding:14px 20px 14px 34px;
    }

    .has-submenu-mobile > ul > li > a:hover{
        color:#c0262e;
    }
}

@media all and (max-width: 585px){

    header .rigamenu{
        padding:0 15px;
    }

    header .logo{
        padding:5px 0;
    }

    header .logo img{
        width:90px;
    }

    header .menumobileico{
        padding:5px 0;
    }

    header .menumobileico .iconsolid{
        font-size:30px;
    }

    .bloccofixed.scrolled header .logo{
        padding:5px 0;
    }

    .bloccofixed.scrolled header .logo img{
        width:90px;
    }

    .bloccofixed.scrolled header .menumobileico{
        padding:5px 0;
    }

    .boxmenumobile{
        max-width:none;
    }

    .menumobiletop{
        padding:16px 15px;
    }

    .linkmobile > li > a,
    .linkmobile .vocemobile > a{
        padding:16px 15px;
    }

    .submenu-toggle{
        padding:0 15px;
    }

    .has-submenu-mobile > ul > li > a{
        padding:13px 15px 13px 28px;
    }
}