/* ===== Base Styles ===== */
 #newmenu {
    --primary-color: #E30615;
    --text-color: #333;
    --light-gray: #F3F3F3;
    --gray: #A3A3A3;
    --white: #fff;
    --font-semibold: "titillium_websemibold";
    --font-bold: "titillium_webbold";
  }
  
   #newmenu a {
    color: var(--text-color);
    font-family: var(--font-semibold);
    text-decoration: none;
  }
  
  /* ===== Header & Navigation ===== */
  header nav.container-menu.hidden {
    transform: none;
  }
  
   #newmenu .logo-desk {
    width: 140px;
    max-width: 140px;
    height: 1.875rem;
  }
  
  /* ===== Menu Structure ===== */
   #newmenu .newtop {
    font-size: 15px !important;
  }
  
   #newmenu .tab-view {
    display: inline-block;
    margin-right: 45px;
  }
  
   #newmenu .tab-view a,
  header .cta-bottom-menu a {
    background-color: var(--white);
    color: var(--text-color);
  }
  
   #newmenu .tab-view.active a {
    color: var(--primary-color);
  }
  
   #newmenu .bottom-menu ul,
   #newmenu .newtop ul {
    list-style: none;
    background-color: transparent;
    overflow-x: unset;
  }
  
   #newmenu .newtop ul {
    margin: 20px 0;
  }
  
   #newmenu .bottom-menu {
    text-align: center;
    overflow: unset;
  }
  
   #newmenu .container-bottom-menu {
    display: flex;
    justify-content: center;
    padding: 0 1.25rem;
    margin: 0 1.25rem 0 0.78125rem;
    position: relative;
  }
  
  /* ===== Hamburger Menu ===== */
   #newmenu .hamburger--compass .hamburger-inner,
   #newmenu .hamburger--compass .hamburger-inner::before,
   #newmenu .hamburger--compass .hamburger-inner::after {
    width: 24px;
    height: 2px;
    background-color: #282828;
    border-radius: 4px;
    position: absolute;
    transition: transform 0.15s ease;
  }
  
   #newmenu .hamburger--compass .hamburger-inner {
    top: 10px;
    transition: background-color 0.1s linear;
  }
  
   #newmenu .hamburger--compass .hamburger-inner::before {
    top: 10px;
    width: 19px;
    right: 0;
    transition: 
      background-color 0.4s linear,
      transform 0.5s ease;
  }
  
   #newmenu .hamburger--compass .hamburger-inner::after {
    top: 20px;
    width: 14px;
    right: 0;
    transition: 
      background-color 0.4s linear,
      transform 0.5s ease;
  }
  
   #newmenu .hamburger--compass.is-active .hamburger-inner {
    background-color: var(--primary-color) !important;
  }
  
   #newmenu .hamburger--compass.is-active .hamburger-inner::before {
    transform: translateX(-5px);
    background-color: var(--primary-color) !important;
  }
  
   #newmenu .hamburger--compass.is-active .hamburger-inner::after {
    transform: translateX(-10px);
    background-color: var(--primary-color) !important;
  }
  #newmenu .accedibtn {
    display: inline-block;
    margin-right: 40px;
  }
  #newmenu .accedibtn img {
    height: 31px;
    margin-left: 20px;
  }
  /* ===== Submenu ===== */
  #newmenu .submenunew {
    position: fixed;
    visibility: hidden;
    opacity: 0;
    top: auto;
    left: 0;
    right: auto;
    padding: 0 0 40px 0;
    background-color: var(--light-gray);
    width: 100%;
    margin-top: 80px;
    transition: visibility 0s, opacity 0.5s ease-in-out;
  }
  
  #newmenu .submenunew.active {
    visibility: visible;
    opacity: 1;
  }
  
  #newmenu #chisiamomenu{
    text-transform:uppercase;
    border-top:2px solid #fff;
    border-bottom:2px solid #fff;
    padding:10px 0;

  }
  #newmenu #chisiamomenu::after{
    top:20px;
  }

  #newmenu .nav-path-selected a{
    color: var(--primary-color) !important;
  }
  #newmenu .nav-path-noselected a.action-open-new {
    color: #333 !important;
  }

  #newmenu .nav-path-noselected a.action-open-new.item-menu-active{
    color: var(--primary-color) !important;

  }
  
  /* ===== Menu Columns ===== */
  header ul.col2 {
    columns: 2;
    list-style-type: disc;
    padding-left: 20px;
    left: 0.9375rem;
    text-align: left;
    font-family: var(--font-semibold);
    padding: 0;
    background-color: var(--light-gray) !important;
    margin-top: 10px;
    display: none;
  }
  
  header ul.col2 a,
  header ul.col3 a {
    font-size: 15px;
    line-height: 20px;
    color: var(--text-color);
    font-family: var(--font-semibold);
    width: 100%;
    text-align: left;
    display: block;
  }
  
  header  ul.col2 li,
  header  ul.col3 a {
    position: relative;
    padding-right: 35px;
    margin-bottom: 20px;
  }
  
  header ul.col2 a::after,
  header ul.col3 a::after {
    content: '';
    width: 26px;
    height: 18px;
    display: block;
    background-image: url("/application/themes/compass/assets/img/arrow_menu_right.svg");
    background-size: 18px;
    background-repeat: no-repeat;
    position: absolute;
    top: 12px;
    right: 5px;
    left: auto;
    margin-top: -6px;
  }
  
  /* ===== Menu Levels ===== */
  header .level1,.level0 {
    text-align: center;
    border-bottom: 2px solid var(--white) !important;
    padding-bottom: 10px !important;
  }
  
  header .level1 a,.level0 a {
    color: var(--text-color);
    font-size: 15px;
    font-family: var(--font-semibold);
    text-align: center;
    line-height: 16px;
  }
  
  header .level1 a span,header .level0 a span{
    display: block;
  }
  
  header .level1 a img {
    display: inline-block;
    height: 42px;
    margin-bottom: 10px;
  }
  
  header .level1.active,header .level0.active {
    border-bottom: 2px solid var(--primary-color) !important;
  }
  
  header .level1.active a,header .level0.active a {
    color: var(--primary-color) !important;
  }
  
  /* ===== Menu Buttons ===== */
  header .menubtn {
    text-align: center;
    border: 2px solid var(--primary-color);
    border-radius: 10px;
    font-size: 15px;
    font-family: var(--font-semibold);
    display: block;
    min-height: 100px;
    padding: 20px 5px;
  }
  
  header .menubtn.red {
    background-color: var(--primary-color);
    color: var(--white);
  }
  header .menubtn.red span{
      color: var(--white);
  }
  header .menubtn.white {
    background-color: var(--white);
    color: var(--primary-color);
  }
  header .menubtn.white span{
    color: var(--primary-color);
  }
  header .menubtn a {
    display: inline-block;
  }
  
  header .menubtn img {
    height: 42px;
  }
  
  header .menubtn span {
    display: block;
    margin-top: 15px;
  }
  
  header .menubtn.red:before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    right: 100%;
    top: 0;
    z-index: -1;
    transition: right 0.2s ease-in;
  }
  
  .menubtn.red:hover:before {
    right: 0;
  }
  
  /* ===== Language Menu ===== */
  header .menulang {
    text-align: right;
    padding-right:15px;
  }
  
  header .menulang li {
    display: inline-block;
  }
  
  header .menulang a {
    font-size: 13px;
    font-family: var(--font-semibold);
    color: var(--gray) !important;
  }
  
  header .menulang a.active {
    color: var(--text-color) !important;
  }
  
  header .menulang ul {
    margin: 10px !important;
  }
  
  header .menulang span {
    text-transform: uppercase;
  }
  
  /* ===== White Box ===== */
  header .boxbianco {
    border-radius: 10px;
    background-color: var(--white);
    padding: 20px;
  }
  
  header .boxbianco img {
    display: inline-block;
    width:100px;
  }
  
  header .boxbianco span {
    display: block;
    font-size: 14px;
    font-family: var(--font-semibold);
    color: var(--text-color);
    text-transform: uppercase;
    margin-top: 20px;
    line-height: 16px;
    margin-bottom: 15px;
  }
  
  header .menudx {
    border-left: 2px solid var(--white);
    padding-left: 20px;
  }
  
  header .col3 {
    margin: 0 !important;
  }
  
  header .col3 li:first-of-type a {
    font-family: var(--font-bold);
  }
  
  header .boxbianco .cmps_btn_store img {
    width: 48%;
  }
  header .level1,.level0 {
      margin-bottom: 15px;
    }
    header .submenu-container-mobile{
     width: 100%;
     margin-bottom: 20px;
  }
  header .level1 a span{
      text-transform:uppercase;
  }
  header .submenunew_inner{
      margin:0 50px;
  }
  main.opacity,footer.opacity{
    
    opacity: 0.1;
    
  }
  .action-open-new:hover,.item-menu-active{
    color:var(--primary-color) !important;
  }
  .top0{
    margin-top:0px !important;
  }
  @media screen and (max-width: 1323px) {
    .menubtn {
    
    min-height: 133px;
  }
  }
  /* ===== Mobile Styles ===== */
  @media screen and (max-width: 1023px) {
  
    header {
      width: 100%;
      height: auto;
    }
    header nav.container-menu .header-menu-bottom .top-bar .bottom-menu {
    width: 70%;
  }
    header nav.container-menu {
      overflow: auto;
      height: auto;
      -webkit-overflow-scrolling: touch;
      display: block !important;
      padding-top: 0 !important;
      width: 100% !important;
    }
  
    header nav.container-menu .header-menu-bottom .top-bar {
      padding: 0 1.5625rem;
    }
  
    .menu {
      display: none !important;
    }
  
    #newmenu .submenunew {
      margin-top: 0;
    }
  
    #newmenu .submenunew.active {
      height: 100vh;
      overflow: auto;
      
      padding-bottom: 150px;
      padding-top: 20px;
    }
  
    .menulangcontainer {
      position: absolute;
      bottom: -60px;
      left: 0;
    }
  
    .menulang {
      text-align: center;
      padding-right:0;
    }
  
    .menulang span {
      margin-left: 20px;
    }
  
    .menudx {
      border-left: 0;
      padding-left: 0;
    }
  
    .menubtn.red,
    .menubtn.white {
      margin-bottom: 20px;
    }
  
    .menubtn.white {
      border-radius: 27px;
      min-height: auto;
      padding: 10px;
    }
  
    .menubtn.white span {
      margin-top: 0;
    }
  
    .boxbianco span {
      display: inline-block;
    }
  
    .boxbianco img {
      display: inline-block;
      height: 50px;
      margin-top: -15px;
      margin-right: 30px;
    }
  
    
  
    #newhamburger {
      position: absolute;
      left: 20px;
      top: 10px;
    }
  
    #newmenu .accedibtn {
      margin-right: 0;
      text-align: center;
      display: grid;
      grid-auto-flow: column;
      position: absolute;
      right: 20px;
      top: 20px;
    }
  
    .accedibtn span {
      display: block;
    }
  
    #newmenu .accedibtn img {
      display: block;
      margin: auto;
      order: -1;
    }
  
    header nav.container-menu .header-menu-bottom .top-bar {
      padding-top: 20px;
    }
    .sectionmenu{
      display: block !important;
      position: absolute;
      margin: auto;
      width: 100%;
      left: 0;
      right: 0;
      text-align: center;
      top: 80px;
      z-index: 2;
      }
      .sectionmenu li{
      display: inline-block;
      margin-right: 0 !important;
      width: calc(50% - 1.875rem);
      margin-left: .9375rem;
      margin-right: .9375rem;
      border-bottom: 2px solid var(--white) !important;
      padding-bottom: 10px !important;
  
      }
      .sectionmenu li.active{
      border-bottom: 2px solid var(--primary-color) !important;
      }
      .sectionmenu li a{
          background:transparent !important;
      }
      .submenunew_inner{
          margin:0 15px !important;
      }
      .menulangcontainer{
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        width: 100% !important;
       
      }
  }



  .menubtn.white {
    background-color: #ffffff00;
}
.menusx ul.col2 a::after, .menusx ul.col3 a::after {
    right: 10px;
    transition: right 0.3s ease; /* ðŸ‘ˆ transizione fluida */
}
.menusx ul.col2 li a:hover::after, .menusx ul.col3 li a:hover::after {
    right: 0px;
}
.menudx ul.col2 a::after, .menudx ul.col3 a::after {
    right: 10px;
    transition: right 0.3s ease; /* ðŸ‘ˆ transizione fluida */
}
.menudx ul.col2 li a:hover::after, .menudx ul.col3 li a:hover::after {
    right: 0px;
}


.menusx .level1, .menusx .level0 {
    position: relative;
    text-align: center;
    padding-bottom: 10px !important;
}

.menusx .level1::after, .menusx .level0::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0; /* esattamente dove sta la border */
    height: 2px;
    width: 0;
    background-color: var(--primary-color);
    transition: width 0.4s ease-out;
    z-index: 1;
}

/* Bordo bianco di base come "sfondo" della linea */
.menusx .level1, .menusx .level0 {
    border-bottom: none !important;
}

.menusx .level1::before, .menusx .level0::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    height: 2px;
    width: 100%;
    background-color: var(--white);
    z-index: 0;
}

/* Allâ€™attivazione: ::after diventa visibile sopra il bianco */
.menusx .level1.active::after, .menusx .level0.active::after {
    width: 100%;
}

/* ------------------------------------------------------------------------------------------------------ DESKTOP - FULL RESOLUTION (orig. 1920)*/
@media only screen and (min-width : 1921px) {
}

/* ------------------------------------------------------------------------------------------------------------------ DESKTOP - STANDARD (orig. 1459)*/
@media only screen and (min-width : 1681px) and  (max-width : 1920px) {
}


/* ------------------------------------------------------------------------------------------------------------------ DESKTOP - VECCHI (orig. 1680)*/
@media only screen and (min-width : 1478px) and (max-width : 1680px) {	
}

/* ------------------------------------------------------------------------------------------------------ DESKTOP - VECCHI PORTATILI (orig. 1459)*/
@media only screen and (min-width : 1356px) and (max-width : 1477px) {
}

/* ------------------------------------------------------------------------------------------------------------------ DESKTOP - PORTATILI */
@media only screen and (min-width : 1200px) and (max-width : 1355px) {
}

/* ------------------------------------------------------------------------------------------------------------------ TABLET LANDSCAPE */
@media only screen and (min-width : 993px) and (max-width : 1199px) {
}

/* ------------------------------------------------------------------------------------------------------------------ TABLET PORTRAIT */
@media only screen and (min-width : 768px) and (max-width : 992px) {
#newmenu .submenunew {
        top: -10px !important;
        position: fixed;
        visibility: hidden;
        opacity: 0;
        transform: translateX(100%);
        left: 0;
        right: auto;
        padding: 20px 0 40px 0;
        background-color: var(--light-gray);
        width: 100%;
        margin-top: 80px;
        transition: transform 0.5s ease-in-out, opacity 0.5s ease-in-out, visibility 0s linear 0.5s;
    }
#newmenu .submenunew.active {
        /* top: -10px; */
        visibility: visible;
        opacity: 1;
        transform: translateX(0);
        transition: transform 0.5s ease-in-out, opacity 0.5s ease-in-out;
    }
}

/* ------------------------------------------------------------------------------------------------------ MOBILE LANDSCAPE + MOBILE HD FULL GRANDI */
@media only screen and (min-width : 401px) and (max-width : 767px) {
.menusx ul.grid-x.grid-margin-x.level1container {
    margin-bottom: -15px;
}
.menubtn.red span {
    font-size: 14px;
}
.menudx .boxbianco {
    display: inline-flex;
}
.menudx .boxbianco span {
    padding: 0 !important;
    margin: -3px 0 10px 0;
    font-size: 13px;
    line-height: 15px;
    display: -webkit-inline-flex;
    display: inline-flex;
  }
  
  .menudx .boxbianco img {
        display: inline-block;
        height: 60px;
        margin-top: -30px;
        margin-right: 0px;
        margin-bottom: -25px;
        margin-left: -25px;
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden;
    }
#newmenu .accedibtn {
        grid-auto-flow: row;
        right: 20px;
        top: 12px;
    }
.accedibtn span {
        font-size: 12px;
    }
.submenu-container-mobile ul.col2 {
    columns: 1;
}	
.menulangcontainer {
    background-color: var(--white);
    padding: 10px 0 10px 0;
    margin: 0 0 -20px 0;
    width: 100%;
}
.menulang a {
    font-size: 10px;
}
    .menulang span {
        margin-left: 5px;
    }
#newmenu .submenunew {
        top: -10px !important;
        position: fixed;
        visibility: hidden;
        opacity: 0;
        transform: translateX(100%);
        left: 0;
        right: auto;
        padding: 20px 0 40px 0;
        background-color: var(--light-gray);
        width: 100%;
        margin-top: 80px;
        transition: transform 0.5s ease-in-out, opacity 0.5s ease-in-out, visibility 0s linear 0.5s;
    }
#newmenu .submenunew.active {
        /* top: -10px; */
        visibility: visible;
        opacity: 1;
        transform: translateX(0);
        transition: transform 0.5s ease-in-out, opacity 0.5s ease-in-out;
    }
}

/* ------------------------------------------------------------------------------------------------------------------ MOBILE PORTRAIT */
@media only screen and (max-width : 400px) {
.menusx ul.grid-x.grid-margin-x.level1container {
    margin-bottom: -15px;
}
.menubtn.red span {
    font-size: 14px;
}
.menudx .boxbianco {
    display: inline-flex;
}
.menudx .boxbianco img {
    display: inline-block;
    /*height: 70px;*/
    /*margin-top: -30px;*/
    margin-right: 0px;
    /*margin-bottom: -10px;*/
    margin-left: -25px;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
  }
    .menudx .boxbianco span {
        padding: 0 !important;
        margin: 10px 0 0px -10px;
        font-size: 13px;
        line-height: 15px;
    }
#newmenu .accedibtn {
        grid-auto-flow: row;
        right: 20px;
        top: 10px;
    }
.menudx .boxbianco img {
        display: inline-block;
        height: 40px;
        margin-top: -3px;
        margin-right: 30px;
        margin-bottom: -5px;
    }
#newmenu .accedibtn {
        grid-auto-flow: row;
        right: 20px;
        top: 12px;
    }
.accedibtn span {
        font-size: 12px;
    }	
.submenu-container-mobile ul.col2 {
    columns: 1;
}	
.menulangcontainer {
    background-color: var(--white);
    padding: 10px 0 10px 0;
    margin: 0 0 -20px 0;
    width: 100%;
}
.menulang a {
    font-size: 10px;
}
    .menulang span {
        margin-left: 5px;
    }
#newmenu .submenunew {
        top: -10px !important;
        position: fixed;
        visibility: hidden;
        opacity: 0;
        transform: translateX(100%);
        left: 0;
        right: auto;
        padding: 20px 0 40px 0;
        background-color: var(--light-gray);
        width: 100%;
        margin-top: 80px;
        transition: transform 0.5s ease-in-out, opacity 0.5s ease-in-out, visibility 0s linear 0.5s;
    }
#newmenu .submenunew.active {
        /* top: -10px; */
        visibility: visible;
        opacity: 1;
        transform: translateX(0);
        transition: transform 0.5s ease-in-out, opacity 0.5s ease-in-out;
    }
}


@media print, screen and (min-width: 64em) {
  .content-page {
    padding-top: 9rem;
  }
}

@media only screen and (max-width: 400px) {
    .menudx .boxbianco {
        display: inline-flex;
        width: 100%;
    }
    .menudx .boxbianco img {
        display: inline-block;
        height: 60px;
        margin-top: -10px;
        margin-right: 0px;
        margin-bottom: -12px;
        margin-left: -25px;  
    }
    .menubtn.red span {
        font-size: 14px;
        text-transform: none;
    }
.menubtn {
        min-height: 110px;
    }
.menulang li {
    margin: 0 1% 0 1%;
}
}


@media only screen and (max-width: 768px) {
    .unknown,.Android,.iOS,.approw {
        display: flex;align-items: center;
    }
    .appsx {
        width: 25%;
    }
    .appdx {
        width: 75%;
    }
}
@media only screen and (max-width: 821px) {
    .boxbianco {
        max-width: 400px;
        margin: auto;
    }
    .boxbianco img {
        display: inline-block;
        height: 6vh;
        margin-top: 5px;
    }
}

