html {
    position: relative;
    min-height: 100%;
  }
  
  .footer {
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 60px; /* Set the fixed height of the footer here */
    line-height: 60px; /* Vertically center the text there */
    background-color: #aaaaaa;
  }
  
  
  /* Custom page CSS
  -------------------------------------------------- */
  /* Not required for template or sticky footer method. */
  
 


  .bottom-menu {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    background-color: hsl(0, 0%, 100%);
    border-top: 2px solid #a9a9a9;
    padding:0px;
    border-top-left-radius: 20px;
    border-top-right-radius: 20px;
    box-shadow: -15px -9px 15px -4px rgba(0,0,0,0.75);
    -webkit-box-shadow: -15px -9px 15px -4px rgba(0,0,0,0.75);
    -moz-box-shadow: -15px -9px 15px -4px rgba(0,0,0,0.75);
    
  }

   
  .bottom-menu .nav {
    display: flex;
    justify-content: space-evenly;
    padding: 0;
  }

  .bottom-menu .nav-item {
    flex-grow: 1;
    text-align: center;
  }

  .bottom-menu .nav-link {
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .bottom-menu .nav-link i {
    margin-bottom: 0.25rem !important; /* Adjust this value for desired spacing */
  }


  .bottom-menu .nav {
    display: flex;
    justify-content: space-evenly;
    padding: 0;
  }

  .bottom-menu .nav-item {
    flex-grow: 1;
    text-align: center;
  }

  .bottom-menu .nav-link {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding:5px 10px;
  }

  .bottom-menu .nav-link i {
    margin-bottom: 0.1rem !important; /* Adjust this value for desired spacing */
  }

  #nbMenu span{
    color:gray  ;
margin-bottom: 10px;}


    .activo{
        border-bottom :3px solid lightblue !important
    }
  .nbBtn.activo i{
    color:red !important;
    
  }

  #nbMenu  i {
    color: black;
    font-family: 'Roboto', sans-serif;
    font-style: normal !important;
    font-size: 14px;
    font-weight: lighter;
}


body { margin: 0; padding: 0; }
#map {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 100vh;
   /* border: 5px solid red !important;*/
  }

 #txGps{
  text-align: center;
  padding-right:10px;
  width:100% !important;
  position:absolute;
  bottom:0;
  margin-bottom: 10px;
 }
 

 .slide .arrowUp{display:none;}
 .slide .arrowDn{display:inline}
 .noslide .arrowUp{display:inline;}
 .noslide .arrowDn{display:none}
  
 

 #dAreas, #dLugares {
    width: 100% !important;
    z-index: 1000;
    position: fixed;
    bottom: -10em;
    height: 0px;
    border: 1px solid rgb(129, 129, 129);
    background-color: rgb(255, 255, 255);
    padding: 0px 5px 10em 5px !important;
    overflow:scroll;
       
 }

.slide{
    animation: slideUp  500ms forwards;
}

.unSlide{
    animation: slideDn  1s forwards ;

}

@keyframes slideUp {
    0% {
        height: 0px;
        bottom: -10em;
        ;
    }
    100% {
        height: 50vh; /* 50% of the viewport height */
       bottom:0em;
    }
}

.topHalf{
    animation: shrink50 1.1s forwards; /* 2 seconds */
    top:0 !important;
}

@keyframes shrink50 {
    0% {
      height:100vh;
    }
    100% {
      height:55vh;
    }
  }
  

.fullScreen {
    animation: growFull 1s forwards; /* 2 seconds */
    top:0 !important;
}

@keyframes growFull {
    0% {
      height:50vh;
    }
    100% {
      height:100vh;
    }
  }
 

@keyframes slideDn{
    0% {
        height: 50vh;
        ottom:0em;
        
    }
    100% {
        height: 0vh; /* 50% of the viewport height */
        bottom: -10em;
        
    }
}

.arrow{
    background-color: #9a1412;
    color:white;
    font-size:1em !important
}

footer .boton{
    font-size: 2.5em !important;
  }


  .marker {
  background-color: green;
  width: 20px; /* Set the marker width */
  height: 20px; /* Set the marker height */
  border-radius: 50%; /* Make the marker shape circular */
  border: 2px solid white; /* Set the marker border */
  cursor: pointer; /* Set the cursor type on hover */
}

.oculta{
    display: none;
}
#cMain {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

.content {
   
   
  padding-bottom:15vh !important;
}

.footer {
  height: 3em;
  background-color: #f0f0f0;
  position: fixed;
  bottom: 0;
  width: 100%;
  display: flex;
  justify-content: space-around;
  align-items: center;
  margin-left: -15px;
}

.footer-button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  align-items: center;
  font-size: 1.5em;
  color: #333;
}

.footer-button span {
  font-size: 12px;
  color:darkgray;
  margin-top: 0.2em;
  margin-bottom: 0.2em;
  line-height: 1;
}


.mapboxgl-popup {
  max-width: 240px;
  background-color: #fff;
  border-radius: 4px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
}

.mapboxgl-popup-content {
  padding: 5px 10px;
}

.mapboxgl-popup h3 {
  font-size: 1em;
  font-weight: bold;
  margin-bottom: 0.5em;
}

.mapboxgl-popup p {
  margin-bottom: 0.1em;
}

.mapboxgl-popup-close-button {
  background-color:red;
  border: none;
  color: white;
  cursor: pointer;
  font-size: 16px;
  padding: 0;
  position: absolute;
  top: 10px;
  right: 10px;
  width:20px;
}



.sidebar {
  position: fixed;
  top: 0;
  left: -300px;
  width: 300px;
  height: 100vh;
  background-color: #f1f1f1;
  transition: left 0.3s ease;
  z-index: 1000;
}


.toggle-btn {
  position: fixed;
  top: 20px;
  right: 20px;
  width: 2em;
  height: 2em;
  background-color: #ccc;
  cursor: pointer;
  z-index: 1000;
  text-align: center;   
  padding-top:5px;
  border:1px solid #fdfdfd;
  box-shadow: 2px 2px 3px 0px rgba(0,0,0,0.63);
-webkit-box-shadow: 2px 2px 3px 0px rgba(0,0,0,0.63);
-moz-box-shadow: 2px 2px 3px 0px rgba(0,0,0,0.63);
}

 
.sidebar.active {
  left: 0;
}


.toggle-btn.active {
  background-color: #999;
}

.content{
    margin:0px !important;
    width:100% !important;
}
 

.myCarousel{
    height: 100%;
    width: 100%;
}
.myCarousel-inner {
    position: relative;
    height: 100%;
}

.myCarousel-item {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    transition: opacity 0.5s ease-in-out;
    display: none;
}

.myCarousel-item.active {
    opacity: 1;
    z-index: 999;
    height: 100%;
    top:0;
    display: block;
}

.myCarousel-item.right {
    transform: translateX(100%);
}

.myCarousel-item.left {
    transform: translateX(-100%);
}

.myCarousel-item-next.carousel-item-left,
.myCarousel-item-prev.carousel-item-right {
    transform: translateX(0);
}

#dCSidebar{
    padding: 10px;
}

.dCapas{
    padding:10px;
    border:1px solid rgb(182, 182, 182);
    margin: 10px;
   right:10;
   -webkit-box-shadow: inset 6px 6px 5px 0px rgba(117,117,117,1);
-moz-box-shadow: inset 6px 6px 5px 0px rgba(117,117,117,1);
box-shadow: inset 6px 6px 5px 0px rgba(117,117,117,1);

}

.dCapas hr{
    margin-top: 0px !important;
}

.dCapas h4{
    color:rgb(109, 109, 109) !important;
    margin-bottom: 2px !important;
    
}

#topMenu{

    height:4em;
    border-bottom: 1px solid silver;
    box-shadow: 4px 6px 5px 0px rgba(0,0,0,0.75);
-webkit-box-shadow: 4px 6px 5px 0px rgba(0,0,0,0.75);
-moz-box-shadow: 4px 6px 5px 0px rgba(0,0,0,0.75);

}

#topMenu img{
    height:3.9em;
}

#topMenu table{
    margin-left: 1em;
}

.mLogo{
    border:1px solid #ccc;
    border-radius: 50%;
    background-color: rgb(97, 97, 97);
    color:white;
    text-align: center;
    font-size:2em;
     width:1.5em;
     height: 1.5em;
     justify-content: center;
     display:grid;
}

h1.logo{
    margin:0px;
}

#logoNm{
    font-size:0.8em;
    color:gray !important;
    padding: 0px 25px;
}

#tdModulo{
    text-align: right  ;
    font-weight: bold;;
    padding-right:10px;
}

.nbBtn span{
  margin: 0px !important;
font-size: 1.5em;}

#dInputData{
    margin:10px;
}
#dInputData div{
    
    padding:0px 3px;
}

#dInputData label{
    font-size: 0.8em;
    color:rgb(0, 0, 0);
    background-color: silver;
    padding :0px 10px;
    border: 1px solid gray;
    border-top-left-radius  : 5px;
    border-top-right-radius  : 5px;
    margin-bottom: 0px;
}

#dInputData .form-control{
    font-size: 0.8em;
    border: 1px solid gray;
    border-top-left-radius  : 0px;
   
    margin-bottom: 10px;
    margin-top: 0px;
    
}

#dIne {
    position: relative;
    padding-top: 66% !important; /* (9 / 6) * 100% = 150% */
    background-image: url('assets/img/inexx.png'); 
    background-position: center center;
    background-size: contain;
    background-repeat: no-repeat;
    border-radius: 10px;
    
    box-shadow: 3px 5px 9px 0px rgba(0,0,0,0.75);
-webkit-box-shadow: 3px 5px 9px 0px rgba(0,0,0,0.75);
-moz-box-shadow: 3px 5px 9px 0px rgba(0,0,0,0.75);
}
  #dIne > * {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
   
  }
  
  #qr-video{
    width: 100%;
    height: 100%;
  }

  

  

  #iIne{
    height: 100%;
  }


 /* ----------------------------------------------
 * Generated by Animista on 2023-9-26 11:41:10
 * Licensed under FreeBSD License.
 * See http://animista.net/license for more info. 
 * w: http://animista.net, t: @cssanimista
 * ---------------------------------------------- */

/**
 * ----------------------------------------
 * animation bounce-top
 * ----------------------------------------
 */
@-webkit-keyframes bounce-top {
    0% {
      -webkit-transform: translateY(-45px);
              transform: translateY(-45px);
      -webkit-animation-timing-function: ease-in;
              animation-timing-function: ease-in;
      opacity: 1;
    }
    24% {
      opacity: 1;
    }
    40% {
      -webkit-transform: translateY(-24px);
              transform: translateY(-24px);
      -webkit-animation-timing-function: ease-in;
              animation-timing-function: ease-in;
    }
    65% {
      -webkit-transform: translateY(-12px);
              transform: translateY(-12px);
      -webkit-animation-timing-function: ease-in;
              animation-timing-function: ease-in;
    }
    82% {
      -webkit-transform: translateY(-6px);
              transform: translateY(-6px);
      -webkit-animation-timing-function: ease-in;
              animation-timing-function: ease-in;
    }
    93% {
      -webkit-transform: translateY(-4px);
              transform: translateY(-4px);
      -webkit-animation-timing-function: ease-in;
              animation-timing-function: ease-in;
    }
    25%,
    55%,
    75%,
    87% {
      -webkit-transform: translateY(0px);
              transform: translateY(0px);
      -webkit-animation-timing-function: ease-out;
              animation-timing-function: ease-out;
    }
    100% {
      -webkit-transform: translateY(0px);
              transform: translateY(0px);
      -webkit-animation-timing-function: ease-out;
              animation-timing-function: ease-out;
      opacity: 1;
    }
  }
  @keyframes bounce-top {
    0% {
      -webkit-transform: translateY(-45px);
              transform: translateY(-45px);
      -webkit-animation-timing-function: ease-in;
              animation-timing-function: ease-in;
      opacity: 1;
    }
    24% {
      opacity: 1;
    }
    40% {
      -webkit-transform: translateY(-24px);
              transform: translateY(-24px);
      -webkit-animation-timing-function: ease-in;
              animation-timing-function: ease-in;
    }
    65% {
      -webkit-transform: translateY(-12px);
              transform: translateY(-12px);
      -webkit-animation-timing-function: ease-in;
              animation-timing-function: ease-in;
    }
    82% {
      -webkit-transform: translateY(-6px);
              transform: translateY(-6px);
      -webkit-animation-timing-function: ease-in;
              animation-timing-function: ease-in;
    }
    93% {
      -webkit-transform: translateY(-4px);
              transform: translateY(-4px);
      -webkit-animation-timing-function: ease-in;
              animation-timing-function: ease-in;
    }
    25%,
    55%,
    75%,
    87% {
      -webkit-transform: translateY(0px);
              transform: translateY(0px);
      -webkit-animation-timing-function: ease-out;
              animation-timing-function: ease-out;
    }
    100% {
      -webkit-transform: translateY(0px);
              transform: translateY(0px);
      -webkit-animation-timing-function: ease-out;
              animation-timing-function: ease-out;
      opacity: 1;
    }
  }
  .bounce-top {
	-webkit-animation: bounce-top 1.2s both;
	        animation: bounce-top 1.2s both;
}


.no .chSi {display:none} 
.no .chNo {display:block}
.si .chNo {display:none}
.si .chSi {display:block}

.dBorder{
    border: 1px solid gray;
    padding:5px 10px 5px 15px!important;
    border-radius: 5px !important;
    border-top-left-radius: 0px !important;
    margin-bottom: 15px !important;
}

.dRadio{
    cursor: pointer !important;
}

@keyframes blink-background {
  0% {
    background-color:red;
  }
   
  100% {
    background-color:white;
  }
} 

.bgBlink{
  animation: blink-background 2s ease-in-out

}
.lGps.no{
  background-color: red !important;
  color:white !important;
   
}

.lGps.si{
  background-color: green !important;
  color:white !important;
   
}

.nv0{
  margin-right:3em !important;

  background-color: maroon !important;
  color: white;
  border: 1px solid black;
  border-radius: 5px;
  font-size: 0.6em;
  padding:0px;
  width:auto;
   
  
}

.nv2{
  background-color:#b49082 !important;
  color: white;
  border: 1px solidblack;
  border-radius: 5px;
  font-size: 0.6em;
  padding:0px;
  margin-left:0em !important;
  
}


.nv1{
  background-color:#bf0603 !important;
  color: white;
  border: 1px solidblack;
  border-radius: 5px;
  font-size: 0.6em;
  padding:0px;
  margin-left:2em !important;
  
}


.nv3{
  background-color: #f4d58d !important;
  color: black;
  border: 1px solidblack;
  border-radius: 0px;
  font-size: 0.6em;
  padding:10px;
  margin-left:3em !important;
  
}

#menu {
    position: fixed;
    bottom: 100px; /* Start hidden */
    right: 20px;
    width: 200px;
    
    
    border-radius: 5px;
    
    transition: bottom 0.6s ease-in-out;
    z-index: 1029;
    background-color: transparent !important;
     
}

#menu ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

#menu li {
    padding: 5px 10px;
    /*text-align: center;*/
    border:1px solid #FFAAAA;
    border-radius: 5px;
    margin-bottom: 10px; 
    background-color:#D46A6A;
   
    box-shadow: 2px 7px 11px -4px rgba(0,0,0,0.75);
    -webkit-box-shadow: 2px 7px 11px -4px rgba(0,0,0,0.75);
    -moz-box-shadow: 2px 7px 11px -4px rgba(0,0,0,0.75);
    
}

#menu a {
    text-decoration: none;
      color:#000000;
}
#overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: white;
    z-index: 1028; 
    opacity: 50%;
     
}

#btRegistrar{
    margin-bottom: 140px;
}

.hidden{
    bottom:-300px !important;
    


}

#overlay.hidden{
    display:none;
}

 #tTop{
    margin:0px !important   ;
    padding:20px;
    width:100%;
     
 }

 #dCiudadano{
    margin-top: 20px;
 }

 #dVideo{
    border: 1px solid gray;
    background-image: url("assets/img/video.png");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
 }

  



  #dExpand{
    position:relative;
    top:0px;
    border:0px solid gray;
    text-align: center;
    font-size: 3em !important;
    padding:0px;
    margin:-0.5em;
    width:100%;
  }

 #btNoFiltrar, #btFiltrar{
    margin:10px;
 }

 .miPopUp{
    padding:20px;
 }

 .dArea img , .dLugar img{
    width: 80px;
    float: left;
    border-radius: 5px;
}

.dArea a, .dLugar a {
    color: #012970;
    transition: 0.3s;
    text-decoration: none;
}

.dArea h4, .dLugar h4  {
    font-size: 15px;
    margin-left: 95px;
    font-weight: bold;
    margin-bottom: 5px;
}

.dArea p,.dLugar p {
    font-size: 14px;
    color: #777777;
    margin-left: 95px !important;
    display: block;
    margin-block-start: 1em;
    margin-block-end: 1em;
    margin-inline-start: 0px;
    margin-inline-end: 0px;
    margin-top: 0;
    margin-bottom: 1rem;
        
}

.dArea, .dLugar{
  padding:5px !important;
  border-bottom: 1px solid gray;
}

.este{
    background-color: antiquewhite;
    border: 1px solid  green;
}