@media (min-width:992px){

.flexnav>li>ul{
	display: none;
    position: absolute;
    top: 50px;
    border: none;
    left: 0;
    z-index: 9999;
    width: 200px;
    background: #fff;
    border-radius: 5px;
	} 
.header_type_2 .flexnav>li>a {color: #d4eef7;}
.header_type_2 .flexnav .active {color: #fff;}
.flexnav>li>ul .item-with-ul{width:100%;}
.flexnav>li{margin-left:0!important;}
.flexnav li a{
	text-transform: uppercase;
    float: left;
    color: #3e3e3e;
    font-family: 'Merriweather', serif;
    font-weight: 500;
    font-size: 14px;
    transition: 300ms ease-in-out;
	}
.flexnav>li>a:hover{color:hsl(206 59.5% 55.4%);} 
.menu-button{display:none;}
.flexnav li{position:relative;display:inline-block; text-align: left;}
.flexnav>li.item-with-ul{}
.flexnav>li.item-with-ul>a{/*border-bottom:3px solid transparent;*/}
.flexnav>li{float:none;display:inline-block;position:static;}
.flexnav li ul li >.touch-button{display:none!important;}
.flexnav li ul li ul{display:block;position:absolute;left:240px;top:0px;width:240px;}
.flexnav>li>ul>li li{display:block;width:100%;}
.flexnav>li>ul{}
.flexnav>li>ul>div{width:25%;float:left;}
.flexnav li a{padding:7px 0px 7px 0;font-size:14px;}
.flexnav li ul li a{font-size:11px;padding:12px 20px 8px 20px;color:#a0a0a0;width:100%;text-transform:uppercase;border-bottom: 1px solid #f2f2f2;}
.flexnav li ul li a:last-child{border-bottom:none;}
.flexnav li ul li a:hover{color:#3c3c3c;}
.flexnav ul li ul li a{text-transform:none;font-size:14px;padding:9px 20px;width:100%;color:#aaa;}
.flexnav ul li ul li a:hover{color:#fff;}
.flexnav ul li ul li ul{margin-bottom:10px;}
.flexnav ul li ul li ul li a{color:#707070;text-transform:none;padding:2px 0 2px 12px;font-size:12px;background:url(../images/menu-arrow.png) no-repeat 0px 6px;width:100%;}
.flexnav ul li ul li ul li a:hover{}
.flexnav ul li ul li ul li .label_cat_vn{font-size:11px;}
.flexnav .navigation_fullweight{width:100%;}
.flexnav .navigation_left > div{display:block;float:left;width:25%;padding:35px 28px;border-right:1px solid #181818;}
.flexnav .navigation_left > div:nth-child(4n){border-right:1px solid transparent;}
.flexnav .navigation_right{display:block;width:28%;float:right;margin-bottom:30px;}
.flexnav .navigation_right_content_images a{padding:0;display:block;}
.flexnav .navigation_right_content_images{margin-bottom:20px;}
.flexnav .navigation_right_content_right{float:right;text-indent:-9999px;margin-top:30px;width:42px;height:42px;display:block;border-radius:50%;border:1px solid #E5E5E5;background:#FFF url(../images/holder_right.png) no-repeat 17px 14px;}
.flexnav .navigation_right_content_right:hover{cursor:pointer;color:white!important;border:1px solid #823bb9!important;background-color:#823bb9!important;background-position:17px -34px;}
.flexnav .navigation_right_content_left{float:left;width:210px;color:#929292;}
.flexnav .navigation_right_content_left p{line-height:1.3;margin-bottom:0;}
.flexnav .navigation_right_content_left_title{text-transform:uppercase;color:#404040;font-size:14px;margin-bottom:5px;}
.flexnav:after{content:"";display:table;clear:both;}
.flexnav>li{float:none;padding:26px 37px 19px 0;position:relative;}    
.header_type_2 .flexnav>li {padding: 17px 37px 9px 0;}
.flexnav>li:last-child{padding-right:0;}
.flexnav>.item-with-ul:hover>.touch-button{background-position:center -15px;}
.flexnav>.item-with-ul:hover> a{}
.flexnav li a{position:relative;display:block;z-index:2;line-height:24px;text-decoration:none; /*border-bottom:3px solid transparent;*/ padding-bottom:10px;}
.menu-button{display:none;}
}
.navigation{position:relative;z-index:3;}
@media all and (max-width:992px){.flexnav{border-bottom:3px solid #fff;}
.flexnav:after{content:"";display:table;clear:both;}
.flexnav li .active { color: #3c3c3c;}
.flexnav li{padding:0; font-weight: bold; transition: 300ms ease-in-out;}
.flexnav li:hover{}
.flexnav li{display:block;position:relative;}
.flexnav>li.item-with-ul>a{padding-right:35px;}
.flexnav li a{position:relative;display:block;z-index:2;font-size:11px;text-transform:uppercase;color:#c8c8c8;padding:8px 20px 8px;line-height:1.3em;text-decoration:none;}
.flexnav li{display:block;position:relative;}
.flexnav{display:none;max-height:0;text-align:left;background:transparent;}
.flexnav.show{border-top:0px solid #fff;display:block;max-height:2000px;position:absolute;width:100%;background-color: #fff; border-radius: 5px; z-index: 99; padding-right: 1px;}
.flexnav .active{color:#fff;}
.flexnav li{float:none;border:none;}
.flexnav li:hover{border:none;}
.flexnav li a{font-size:11px;padding:11px 25px 11px 25px;border-bottom:1px solid #f2f2f2;color:#a0a0a0; transition: 300ms ease-in-out;}
.flexnav li a:last-child{border-bottom:none}
.flexnav li a:hover{color:#3c3c3c; font-weight: bold;}
.flexnav ul{width:100%;border:none;position:relative;background-color: #fff;}
.flexnav .show:before{display:none;}
.flexnav .show:after{display:none;}
.flexnav ul li a{padding:11px 47px 12px 25px;}
.flexnav li ul.show li{overflow:visible;}
.flexnav .touch-button{position:absolute;z-index:999;top:0;right:0;display:inline-block;width:48px;height:41px;background-image:url(../images/plus_minus.png);background-position:center 13px;background-repeat:no-repeat;}
.flexnav li ul li{position:relative;overflow:hidden;}
.menu-button:hover .touch-button{width:48px;height:45px;background-image:url(../images/plus_minus.png);background-position:center 13px;background-repeat:no-repeat;}
.flexnav .item-with-ul:hover .touch-button{}
.flexnav .item-with-ul:hover .touch-button:hover{cursor:pointer;}
.flexnav ul li .touch-button{width:48px;height:45px;background-image:url(../images/plus_minus.png);background-position:center 13px;background-repeat:no-repeat;}
.submenu-open{background-position:center -38px!important;}
.flexnav>li.item-with-ul>a{padding-right:70px;}
.flexnav li ul li a{text-transform:uppercase;font-size:11px;}
.flexnav li ul li ul li a{text-transform:none;font-size:11px;padding:13px 25px 13px 55px;}
.flexnav ul li ul li ul li a{text-transform:none;padding:13px 25px 13px 70px;}
.flexnav li ul li ul li ul li ul a{text-transform:none;padding-left:80px;font-size:12px;}
.flexnav ul li a{width:auto;}
.flexnav ul,
.flexnav ul ul{position:relative;margin-left:0;width:100%;}
.flexnav ul li a{padding-left:37px;}
.flexnav ul ul li a{padding-left:49px;}
.flexnav ul ul ul li a{padding-left:61px;}
.menu .menu-button i.fa-bars{font-size:21px;vertical-align:top;}
.menu-button{display:block;text-align:center;position:relative;padding:37px 0 15px 0;cursor:pointer;font-size:14px;text-transform:uppercase; font-weight: bold; color: #c8c8c8;}
.menu-button:hover{color:#888;}
.menu-button .touch-button .navicon{font-size:16px;position:relative;top:1em;color:#666;}
.menu-button.one-page{position:fixed;top:0;right:5%;padding-right:45px;}
.menu .show>ul {padding: 0!important; position: relative; z-index: 999; }
.menu .show>li {padding: 0!important;}   
}

@media all and (max-width: 992px) {

  /* El botón hamburguesa siempre visible sobre la capa azul */
  .menu-button {
    position: fixed;
    top: 15px;
    right: 15px;
    z-index: 1000000;
    padding: 12px 15px;
    border-radius: 50%;
  }

  .menu-button i.fa {
    font-size: 20px;
    color: #3c3c3c;
    transition: color 0.2s ease;
  }

  /* Cuando el menú está abierto, el ícono (ya cambiado a fa-times por JS)
     se ve blanco porque queda sobre el fondo azul */
  body.menu-open .menu-button i.fa {
    color: #fff;
  }

  body.menu-open {
    overflow: hidden;
  }

  /* Oculta las burbujas flotantes mientras el menú overlay está abierto */
  body.menu-open .whatsapp-container,
  body.menu-open .facebook-container,
  body.menu-open .linkedin-container,
  body.menu-open .notification-container {
    display: none !important;
  }

  /* El overlay queda SIEMPRE presente en el DOM como flex, pero invisible
     (opacity 0) cuando no tiene la clase .show. Así el cambio a .show
     puede animarse con transition en vez de aparecer/desaparecer de golpe
     con display:none. */
  .flexnav {
    display: flex !important;
    flex-direction: column;
    align-items: center;
    /* IMPORTANTE: flex-start (no "center") a propósito.
       Si el contenido se centra verticalmente, cada vez que "Servicios"
       se despliega cambia el alto total y TODO el menú se recorre hacia
       arriba -> el dedo del usuario termina sobre otro link sin querer.
       Con flex-start + padding fijo, los items de arriba nunca se mueven. */
    justify-content: flex-start;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    max-width: 420px;
    margin: 0 auto;
    padding: 110px 20px 40px;
    background: linear-gradient(160deg, #51a120cc 0%, #dabe02cc 100%);
    border: none;
    border-radius: 0;
    z-index: 999999;
    overflow-y: auto;
    box-sizing: border-box;

    /* Estado cerrado: invisible y sin recibir clicks */
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.28s ease, visibility 0s linear 0.28s;
  }

  /* Estado abierto: solo fade-in (sin zoom) */
  .flexnav.show {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transition: opacity 0.28s ease, visibility 0s linear 0s;
  }

  /* Los <li> quedan centrados, sin flotar, con más aire entre ellos */
  .flexnav li {
    float: none;
    display: block;
    width: 100%;
    text-align: center;
    border: none;
    overflow: visible;
  }

  .flexnav > li {
    padding: 0;
    margin-bottom: 6px;
  }

  /* Links: más grandes, blancos, centrados */
  .flexnav li a {
    color: rgba(255, 255, 255, 0.85);
    font-size: 17px;
    font-weight: 700;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    padding: 14px 0;
    border-bottom: none;
    text-align: center;
  }

  /* Item activo / destacado (como "Servicios" resaltado en la imagen) */
  .flexnav li a.active,
  .flexnav li.active > a {
    color: #7cc6ff;
  }

  /* "Servicios" y su flechita quedan pegados como una sola unidad,
     centrados juntos gracias al text-align:center del <li> */
  .flexnav > li a.servicios-todos {
    display: inline-block;
    padding-right: 4px;
  }

  /* Flechita (chevron) que reemplaza el cuadradito +/- original */
  .flexnav > li .touch-button {
    display: inline-block;
    width: 22px;
    height: 22px;
    vertical-align: middle;
    position: relative;
    background: none;
  }

  .flexnav > li .touch-button::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 45%;
    width: 8px;
    height: 8px;
    margin: -5px 0 0 -5px;
    border-right: 2px solid rgba(255, 255, 255, 0.75);
    border-bottom: 2px solid rgba(255, 255, 255, 0.75);
    transform: rotate(45deg);
    transition: transform 0.2s ease;
  }

  /* flexnav.js agrega/quita esta clase automáticamente al abrir/cerrar */
  .flexnav > li .touch-button.submenu-open::after {
    transform: rotate(-135deg);
    margin-top: -2px;
  }

  /* Submenú: separado con más espacio, tipografía más chica y clara
     para diferenciarlo jerárquicamente del nivel principal */
  .flexnav ul {
    position: relative;
    background: #77bf4c00;
    border-radius: 10px;
    text-align: center;
    width: 100%;
    margin: 8px 0 16px;
    padding: 4px 0;
  }

  .flexnav ul li a {
    font-size: 13px;
    font-weight: 400;
    letter-spacing: 0.2px;
    text-transform: none;
    color: rgba(255, 255, 255, 0.65);
    padding: 10px 0;
    border-bottom: none;
  }

}

