html, body {
    height: 100%;
    padding: 0;
    margin: 0;
}
.container-fluid {
    padding-right: 0px !important;
    padding-left: 0px !important;
}
@media (min-width: 1200px) {
    .container {
        max-width: 1170px;
    }
}
body {
  display: flex;
  flex-direction: column;
}
#menu-footer2025 {
  background-color: #050738;
  margin: auto 0 0;
}

#menu-footer2025 a {
  font-size: 10px;
  text-transform: uppercase;
}

#menu-footer2025 a:hover {
  background-color: #5fa6c9;
}

dt {
 font-weight: 700;
 font-size: 16px;
}
.lh-lg {
  line-height: 2 !important;
}
#menu-footer2025 > li {
    padding-bottom: 5px;
}
#menu-footer2025 .app-hover:hover {
    background-color: transparent !important;
    box-shadow: none !important;
    opacity: 0.85;
    transition: opacity 0.2s ease-in-out;
}
#menu-footer2025 #socialbianco :hover {
    background-color: transparent !important;
    box-shadow: none !important;
    opacity: 0.85;
    transition: opacity 0.2s ease-in-out;
}

#ricarica-sim,
#chat-assistenza,
#area-clienti {
    width:25px;
    height:30px;
    display:inline-block;
    background-size:25px;
    background-repeat:no-repeat;
    background-position:center;
}
#ricarica-sim {
    background-image:url(../img/euro.svg);
}

#chat-assistenza {
    background-image:url(../img/chat.svg);
}

#area-clienti {
    background-image:url(../img/clienti.svg);
}

.top-bar-blue #ricarica-sim,
.top-bar-blue #chat-assistenza,
.top-bar-blue #area-clienti {
    filter:brightness(0) invert(1)!important;
}
.top-bar-blue .menu-item-link:hover #ricarica-sim,
.top-bar-blue .menu-item-link:hover #chat-assistenza,
.top-bar-blue .menu-item-link:hover #area-clienti {
  filter: brightness(0) invert(1) !important;
  opacity: 0.7 !important; 
  transition: opacity 0.2s ease-in-out;
}
/* Icon hover */
.menu-item-link:hover #ricarica-sim {
    background-image:url(../img/euro-active.svg);
}
.menu-item-link:hover #chat-assistenza {
    background-image:url(../img/chat-active.svg);
}
.menu-item-link:hover #area-clienti {
    background-image:url(../img/clienti-active.svg);
}

#masthead,
#masthead nav.navbar {
    width:100%!important;
    max-width:none!important;
    margin:0!important;
}
header#masthead {
    background:#fff;
    box-shadow:0 5px 20px #00000029;
    padding:0!important;
}
.navbar {
    padding:0;
    box-shadow:0 5px 20px #00000029;
    
}
.container-navbar {
    max-width: 1260px !important;
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  flex-wrap: nowrap;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: justify;
  justify-content: space-between;
    
}

#logo-optima {
    width:160px;
}

#primary-menu {
    list-style:none;
    text-transform:uppercase;
    font-size:13px;
}


#primary-menu li {
    margin-right:8px;
    padding:3px;
}


#primary-menu li a {
    color:#00b9e2;
    text-decoration:none;
    font-size:13px;
    line-height:1.2;
    padding:3px 0.5rem;
    transition:.3s ease;
}
body:not(.theme-preset-active) #masthead .navbar-nav>li{

    margin-right:8px;
    padding:3px;
    transition:.3s ease;
}

body:not(.theme-preset-active) #masthead .navbar-nav>li>a{

    color:#00B9E2;
    text-transform:uppercase;
    font-size:13px;
    line-height:1.2;
    font-weight:400;
    padding:3px .5rem;
}

#primary-menu li:not(.componi-offerta):hover {
    background:#00b9e2;
}

#primary-menu li:not(.componi-offerta):hover > a {
    color:#fff!important;
}

#primary-menu li.current-menu-item {
    background:#00b9e2;
}
#primary-menu li.current-menu-item > a {
    color:#fff!important;
}
/* ==========================================================
   COMPONI OFFERTA
========================================================== */
li.componi-offerta {
    background:#fff;
    border:1px solid #ED1B7C;
    transition:.3s ease;
}
li.componi-offerta > a {
    color:#ED1B7C!important;
    background:transparent!important;
    border:none!important;
}
li.componi-offerta:hover {
    background:#ED1B7C!important;
    border-color:#ED1B7C;
}
li.componi-offerta:hover > a {
    color:#fff!important;
    background:transparent!important;
}

.top-bar-blue {
    background:#00A9EA;
}
@media only screen and (min-width: 2300px) {
  .top-bar-blue .container-nav{
width: 1300px !important;
  }
}
.top-bar-blue .container-nav {
    max-width:1333px!important;
    width:100%;
    height:40px!important;
    margin:auto;
    padding:0 30px!important;
    justify-content:flex-end!important;
}
.item-menu-text {
    font-weight:700!important;
    font-size:10px;
    color:#000!important;
}
.item-menu-text:hover {
    color:#04B6ED!important;
}
.top-bar-blue .menu-item-link .item-menu-text {
  color: #fff!important;
}
.top-bar-blue .menu-item-link:hover .item-menu-text {
    color:rgba(255,255,255,.7)!important;
}
.navbar-toggler:focus {

  box-shadow: none !important;

}

.navbar-toggler {
    border: none !important;
    outline: none;
    box-shadow: none !important;
}

.navbar-light .navbar-toggler {

  color: transparent !important;

  border-color: unset !important;

}



.navbar-toggler > img {

  width: 30px;

  height: 30px;

}



.navbar {

  max-width: 1260px !important;

  padding: 0;

  z-index: 3;

  padding: 0;

}



@media screen and (max-width: 400px) {

  .navbar-collapse {

    left: 0% !important;

  }

}



body:not(.theme-preset-active) #masthead .navbar-nav > li {

    transition: 0.3s ease-in-out;

}



body:not(.theme-preset-active) #masthead .navbar-nav > li:hover {

    background-color: #00b9e2;

    padding: 3px;

}



body:not(.theme-preset-active) #masthead .navbar-nav > li:hover .nav-link {

    color: #ffffff !important;

}



#masthead nav {

  padding: 0;

  margin: auto;

  box-shadow: none !important; 

  border-top: none !important;

  margin-top: 0 !important;

}

#masthead nav.is-sticky, .is-sticky #masthead nav {
    box-shadow: 0px 5px 20px #00000029 !important;
}

/* --------------------------------------------------------------------------

   NAVBAR TOGGLER (HAMBURGER)

   -------------------------------------------------------------------------- */

.navbar-light .navbar-toggler {

  color: unset;

  border-color: white;

}


/* 
.navbar-toggler {
    border: none !important;
    background: none;
    width: 25px;
    height: 20px;
    padding: 0;
    position: relative;
    z-index: 1001; 
} */

.navbar-toggler:focus,

.navbar-toggler:focus-visible,

.navbar-toggler:active {

  box-shadow: none !important;

  outline: none;

}



.navbar-toggler span {

  display: block;

  width: 28px;

  height: 3px;

  background-color: #00aeef;

  margin: 5px 0;

  transition: transform .3s ease, opacity .3s ease;

  transform-origin: center;

}



.navbar-toggler.collapse-second span:nth-child(1) {

  transform: translateY(8px) rotate(45deg);

}



.navbar-toggler.collapse-second span:nth-child(2) {

  opacity: 0;

}



.navbar-toggler.collapse-second span:nth-child(3) {

  transform: translateY(-8px) rotate(-45deg);

}



/* --------------------------------------------------------------------------

   PRIMARY MENU

   -------------------------------------------------------------------------- */

#primary-menu a,

#primary-menu .menu-item-link {

  text-decoration: none;

}



.menu-item > a:hover {

  transition: 0.3s ease-in-out;

  text-decoration: none;

}



body:not(.theme-preset-active) #masthead .navbar-nav > li {

  margin-right: 8px;

  padding-right: 0.25rem !important;

  padding-left: 0.25rem !important;

  font-size: 13px;

  padding: 3px;

}



body:not(.theme-preset-active) #masthead .navbar-nav > li > a {

  color: #00b9e2;

  text-transform: uppercase;

  font-weight: normal;

  line-height: 1.2;

  font-size: 13px;

  padding: 3px;

  padding-right: 0.5rem !important;

  padding-left: 0.5rem !important;

}



body:not(.theme-preset-active) #masthead .navbar-nav > li > a:hover {

  color: #ffffff;

  font-weight: normal;

  text-transform: uppercase;

  line-height: 1.2;

  font-size: 13px;

  padding: 3px;

  padding-right: 0.5rem !important;

  padding-left: 0.5rem !important;

}



body:not(.theme-preset-active) #masthead .navbar-nav > li > a:active {

  color: #fff !important;

  text-transform: uppercase;

  font-weight: bold;

  line-height: 1.2;

  font-size: 13px;

  padding: 3px;

  padding-right: 0.5rem !important;

  padding-left: 0.5rem !important;

}



body:not(.theme-preset-active) #masthead .navbar-nav > li:hover {

  transition: 0.3s ease-in-out;

  background-color: #00b9e2;

  padding: 3px;

}



body:not(.theme-preset-active) #masthead .navbar-nav > li.current-menu-item {

  background-color: #00b9e2;

  padding: 3px;

}



body:not(.theme-preset-active) #masthead .navbar-nav > li.current-menu-item > a {

  color: #ffffff;

  font-weight: normal;

  text-transform: uppercase;

  line-height: 1.2;

  font-size: 13px;

}



body:not(.theme-preset-active) #masthead .navbar-nav > li.current-menu-item + a:hover {

  background-color: #00b9e2 !important;

  color: #ffffff;

  padding: 3px;

}

#masthead nav.navbar.sticky.is-sticky {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    z-index: 1000 !important;
}



/* ==========================================================
   OVERLAY
========================================================== */
.overlay-menu {
    position: fixed;
    top: 0;
  left: 0;
  width: 100%;
  height: 100%;
       background: rgba(0, 0, 0, 0.5);
    display: none;
        z-index: 10;
}
body.menu-open .overlay-menu {
    display: block;
}

/* Tablet & down */

@media only screen and (max-width: 1199px) {

  #navbarNavDropdown {

    position: absolute;

    top: 100%;

    z-index: 999;

    right: 0;

  }

  .navbar-nav { background-color: #ffffff; }

  .icon-container { background: #fff; }

  .navbar-nav li {

    float: none;

    display: block;

    text-align: left;

    margin-bottom: 10px;

    line-height: 25px;

    width: fit-content;

  }

  .navbar-nav li a {

    color: #00b9e2;

    text-decoration: none;

    padding: 4px !important;

    font-size: 15px !important;

    font-weight: 500 !important;

  }

}



@media (max-width: 1199.98px) {

  .item-menu-text { font-size: 15px !important; color: #000;}

  .navbar-text {

    width: 100%;

    padding-left: 10px;

    padding-right: 10px;

  }

  .icon-container { width: 100%; }

}



@media (max-width: 1200px) {

  .item-menu-text { font-weight: 400 !important; }



  body:not(.theme-preset-active) #masthead .navbar-nav > li.current_menu_item {

    background-color: #00b9e2;

    padding: 3px;

    width: 100%;

  }

  body:not(.theme-preset-active) #masthead .navbar-nav > li:hover {

    transition: 0.3s ease-in-out;

    background-color: #00b9e2;

    padding: 3px;

    cursor: pointer;

  }

  body:not(.theme-preset-active) #masthead .navbar-nav > li:hover > a {

    color: #ffffff !important;

  }

  body:not(.theme-preset-active) #masthead .navbar-nav > li {

    margin-right: 8px;

    padding-right: 0.25rem !important;

    padding-left: 0.25rem !important;

    font-size: 13px;

    width: 100%;

    padding: 3px;

  }

}



/* Small tablets / large phones */

@media only screen and (max-width: 767px) {

  header#masthead { padding: 0 !important; }

  #masthead .container { padding: 0 !important; width: 100%; }

}



/* Phones */

@media only screen and (max-width: 480px) {

  body:not(.theme-preset-active) #masthead .navbar-nav > li {

    float: none;

    display: block;

    font-size: 15px;

    text-align: left;

    margin-bottom: 10px;

    line-height: 25px;

    width: 100%;

  }

}



/* Extra small phones */

@media screen and (max-width: 450px) {

  html { margin-top: 0px !important; }

  .navbar-brand { padding-top: 0px !important; }

  #navbarNavDropdown { width: 100%; }

  #masthead nav {

    padding-left: 10px;

    padding-top: 5px;

    padding-right: 10px;

  }

  .icon-container {

    background: #fff;

    padding-left: 0px !important;

    padding-right: 0px !important;

  }

  .navbar-text {

    padding-bottom: 20px !important;

    display: inline-block;

    padding-top: 0px;

    padding-bottom: 0px;

    background-color: #ffffff;

  }

}



#masthead,

#masthead nav.navbar {

  max-width: none !important;

  width: 100% !important;

  margin-left: 0 !important;

  margin-right: 0 !important;

}

@media(max-width:480px){
    #masthead nav {
        padding:5px 10px;
    }
    #menu-principale li {
        width:100%;
    }
}