@font-face {
  font-family: "Montserrat";
  src: url('../fonts/Montserrat-Regular.ttf');
  font-weight: normal;
  font-style: normal;
}  
@font-face {
  font-family: "Montserrat";
  src: url('../fonts/Montserrat-Bold.ttf');
  font-weight: bold;
  font-style: normal;
}  
@font-face {
  font-family: "Montserrat";
  src: url('../fonts/Montserrat-Italic.ttf');
  font-weight: normal;
  font-style: italic;
}
@font-face {
  font-family: "OpenSans";
  src: url('../fonts/OpenSans-Regular.ttf');
  font-weight: normal;
  font-style: normal;
}  
@font-face {
  font-family: "OpenSans";
  src: url('../fonts/OpenSans-Bold.ttf');
  font-weight: bold;
  font-style: normal;
}  
@font-face {
  font-family: "OpenSans";
  src: url('../fonts/OpenSans-Italic.ttf');
  font-weight: normal;
  font-style: italic;
}
body {
  background-color: black;
  margin: 0;
  overflow: hidden;
}
#overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.7);  
  z-index: 9999;
}
#overlay .container-overlay{
  /* border:1px solid #fff; */
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  color: white;
}
#overlay img{
  width:120px;
  height:auto;
  padding:1vw;
}
#overlay p {
  font-family: 'Montserrat', sans-serif;
  font-weight: bold;
  text-transform: uppercase;
  text-align: center;
  font-size: 1.2rem;
  margin-bottom: 20px; 
  text-shadow: 1px 1px 4px rgba(0, 0, 0, 0.5);
}
#overlay button {
  color: #fff;
  padding: 10px 20px;
  font-size: 20px;
  margin: 10px;
  cursor: pointer;
  background-color: rgba(255,255,255,0.2);
  border: 1px solid rgba(255,255,255,0.5);
  box-shadow: 0px 0px 10px 2px rgba(255, 255, 255, 0.5);
  text-shadow: 1px 1px 4px rgba(0, 0, 0, 0.5);
}
#overlay small{
  font-size: 1rem;
  font-family: 'Montserrat', sans-serif;
  margin-top: 30px;
  margin-bottom: 20px;
  text-align: center;
}
#overlay i.fa-mobile-screen{
  font-size: 50px;
  animation: rotate90 ease-in 2s infinite;  
}
/* Estilos para el modal */
.modal {
  position: fixed;
  z-index: 1000;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: rgba(0, 0, 0, 0.7);
}
.modal-content {
  position: relative;
  background-color: #000000;
  max-width: 80%;
  max-height: 80%;
  overflow: auto;
  text-align: center;
  padding: 20px;
}
.modal-content img{
  width: 100%;
}
.close {
  position: absolute;
  top: 0;
  right: 0;
  padding: 5px;
  cursor: pointer;
  font-size: 2vw;
  font-weight: bold;
  color:#000000;
  font-family: 'Montserrat', sans-serif;
  background-color: #fff;
  margin-right: 2vw;
  margin-top: 2vw;
  border-radius: 5px;
}
.tutorial ul {
  display: flex;
  justify-content: center;
}
.tutorial ul li {
  list-style: none;
  font-family: 'OpenSans', sans-serif;  
  border: 1px solid transparent;
  padding: 10px;
  font-size: 1.5vw;
}
.tutorial ul li .icon-tutorial{  
  height: 1.2vw;
  font-size: 1.9vw;
  padding: 10px;
}
#textoContainer {
  position: absolute;
  display: flex;
  justify-content: space-between;
  top: 0;
  left: 0;
  z-index: 1;
  color: #fff;
  width: 100%;
  height: 13vw;
  padding: 1vw;
  background-color: rgba(0, 0, 0, 0.7);
}

#textoContainer h1{
  font-family: 'Montserrat', sans-serif;
  font-weight: bold;
  font-size: 4vw;
  margin:0;
  text-shadow: 1px 1px 4px rgb(0, 0, 0);
}
#textoContainer p{
  font-family: 'Montserrat', sans-serif;
  font-size: 1.5vw;
  line-height: 0.6;
  text-shadow: 1px 1px 4px rgb(0, 0, 0);
}
#textoContainer .logoContainer{
  display: flex;
  justify-content: space-around;
  align-items: center;
  padding: 10px;
  margin-right: 20px;
}
#textoContainer .logoContainer p{
  flex-direction: column;
  font-family: 'Montserrat', sans-serif;
  margin: 1.2vw 0vw;
  font-weight: 600;
  text-transform: uppercase;
  text-align: justify;
}
#textoContainer .logoContainer img{
  width: 10vw;
  height: 10vw;
  margin-left: 1vw;
}
nav ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
nav ul li {
  display: inline-block;
  margin-right: 20px;
}
nav ul li a {
  color: white;
  text-decoration: none;
  font-size: 1.2em;
}
.btn-menu{
  display:flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
}
.btn-menu img{
  margin: 0px 5px;
}
.btn {
  background-color: transparent;
  width:12vw;
  height: 3vw; 
  font-size: 1.2vw;
  padding:0.5vw 0.6vw;
  color:#fff;
  opacity:1;
  cursor: pointer;
  background-color: rgba(255,255,255,0.2);
  border: 1px solid rgba(255,255,255,0.5);
  box-shadow: 0px 0px 10px 2px rgba(255, 255, 255, 0.5); 
}
#menuDerecho {
  position: fixed;
  top: 0;
  right: 0;
  height: 90vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background-color: transparent;
  padding: 20px;
  z-index: 1000;
}
#menuIzquierdo {
  position: fixed;
  top: 0;
  left: 0;
  height: 90vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background-color: transparent;
  padding: 20px;
  z-index: 1000;
}
.icono-menu {
  margin-bottom: .7vw;
  cursor: pointer; 
}
.icono-menu img{
  width: 2vw;
  opacity: 0.9;
}
.icono-menu i{
  font-size: 1.6vw;
  margin-right: 0.4vw;
}
.minimapa {
  position: absolute;
  top: 6vw;
  /* left: 20px; */
  /* width: 10vw; */
  height: 10vw;
  background-color: rgba(255, 255, 255, 0.2);
  z-index: 1;
  padding: 0px;
  cursor:auto;
}
.character {
  position: absolute;
  top: 80%;
  left: 10%;
  width: 10px;
  height: 10px;  
  /* animation: travel 11.62s linear; */
  z-index: 2;
  color:#fff;
}
.path {
  position: absolute;
  top: 20%;
  right: 12%;
  width: 2px;
  height: 100%;
  background-color: white;
  transform-origin: top right;
  transform: rotate(45deg); /* Rotar el "path" 45 grados para que siga la misma dirección */
  z-index: 1;
}
.path i {
  position: absolute;
  top: 95%;
  right: 95%;
  color: #fff;
  transform: rotate(-45deg);
}

@keyframes travel {
  0% {
    left: 80%;
    top: 10%
  }
  100% {
    top: 80%;
    left: 10%;
  }
}
.notificacionSonidoAves{
  position: absolute;
  top: 1vw;
  left: 0;
  right: 0;
  width: 30vw;
  margin: 0 auto;
  padding: 0.5vw 1vw;
}
.notificacionSonidoAves span{
  display: block;
  color:#ffffff;
  font-family: 'OpenSans', sans-serif;
  font-size: 0.8vw;
  font-style: italic;
  text-shadow: 1px 1px 4px rgb(0, 0, 0);
}
.notificacionSonidoAves p{
  color:#fff;
  font-family: 'OpenSans', sans-serif;
  font-size: 1vw;
  margin: 0;
  text-align: start;
  text-shadow: 1px 1px 4px rgba(0, 0, 0, 1);
}
.notificacionSonidoAves p.nombre{
  font-weight: bold;
  text-transform: uppercase;
  font-size: 1.5vw;
}
.glass{
  background: linear-gradient(135deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0));
  backdrop-filter: blur(0.3rem);
  border-radius: 20px;
  border: 3px solid rgba(255, 255, 255, 0.1);
  box-shadow: 0 8px 20px 0 rgba(0, 0, 0, 0.37);
}
.descripcionAves {
  position: absolute;
  bottom:5vw;
  right:5vw;
  margin: 0 auto;
  padding: 0.5vw 2vw;
}
.descripcionAves p{
  color:#fff;
  font-family: 'OpenSans', sans-serif;
  font-size: 1.5vw;
  margin: 0;
  text-align: end;
  text-shadow: 1px 1px 4px rgba(0, 0, 0, 1);
  font-style: italic;
}
.descripcionAves p:first-child{
  font-family: 'Montserrat', sans-serif;
  font-size: 2vw;
  font-weight: bold;
  text-transform: uppercase;
  font-style: normal;
}
.nav-top {
  display: none;
  position: fixed;
  top: 1vw;
  right: 0vw;
  width: 100%;
  background-color: transparent;
  padding: 0px;
  box-sizing: border-box;
  z-index: 1000;
}
.ul-top{
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 3px 20px;
}
.nav-top .ul-top a#button360, .nav-top .ul-top a#buttonWaves{
  pointer-events: none;
}
#button360out p, #volverRecorrido p{
  cursor:pointer;
  font-size:2vw; 
  padding:1vw;
  margin:0;
  width:2vw;
  height:2vw; 
  opacity: 0.6;
}
.img-360{
  width: 5vw;
  opacity: 0.2;
  background-color: transparent;
  cursor:pointer;  
}
.img-waves{
  width: 3vw;
  opacity: .2;
  cursor:pointer; 
}
#fullscreenButton {
  background-color: transparent;
  color: white;
  padding: 10px 20px;
  font-size: 1.5vw;
  border: none;
  cursor: pointer;
}
.nav-bottom {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  background-color: transparent;
  padding: 10px;
  box-sizing: border-box;
  z-index: 1000;
}
.nav-bottom ul{
  display: flex;
  justify-content: space-around;
  /* margin-bottom: 10px; */
  transition: opacity 0.2s ease-in-out;
}
.desactivar {
  transition: opacity 0.2s ease-in-out;
}
.inactive {
  opacity: 0;
  transition: opacity 0.2s ease-in-out;
}
.nav-bottom ul li {
  margin: 0px;
}
.nav-bottom ul li a{
  display: block;
  background-color: rgba(255,255,255,0.2);
  width: 15vw;
  text-align: center;
  font-size: 1.46vw;
  padding:5px 8vw;
  font-family: 'OpenSans', sans-serif;
  border: 1px solid rgba(255,255,255,0.5);
  text-shadow: 1px 1px 5px rgba(0, 0, 0, 0.5);
  box-shadow: 0px 0px 10px 2px rgba(255, 255, 255, 0.5);  
  cursor:pointer;
}
.nav-miniatura {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  background-color: transparent;
  padding: 10px;
  box-sizing: border-box;
  z-index: 1;  
  margin-bottom: 2.5vw;  
}
.nav-miniatura ul{
  display: flex;
  justify-content: space-around;
  margin-bottom: 5px;
}
.nav-miniatura ul li{
  margin:0;
}
.nav-miniatura video{
  transform: scale(0);
  padding:0.8vw;
  width: 29.4vw;
  border:1px solid #fff;
  background-color: rgba(255,255,255,0.3);
  box-shadow: 0px 0px 15px 10px rgba(255, 255, 255, 0.5); 
  opacity: 0.8;
}


@keyframes rotate90 {
  0% {
    transform: rotate(0deg);
    opacity: 1;
  }
  50% {transform: rotate(90deg);}
  100% {
    transform: rotate(90deg);
    opacity:0;
  }
}
.bounce2 {
  animation: bounce2 2s ease infinite;
}
.contenedor-video{
  display: flex;
  align-items: center;
}
@keyframes bounce2 {
	0%, 20%, 50%, 80%, 100% {transform: translateY(0);}
	40% {transform: translateY(-30px);}
	60% {transform: translateY(-15px);}
}
.containerWaves {
  position: relative;
  width: 80px;
  height: 80px;
  display: inline-block;
  margin-right: 5px;
  margin-top: 45px;
  transform: rotate(-90deg);
  display:none;
}
.containerWaves div {
  position: absolute;
  border-radius: 50%;
  border: 10px solid white;
  border-right: 10px solid transparent;
  border-left: 10px solid transparent;
  border-bottom: 10px solid transparent;
  animation: ripple 2s cubic-bezier(0, 0.2, 0.8, 1) infinite;
}
.containerWaves div:nth-child(2) {
  animation-delay: -0.5s;
}
.containerWaves div:nth-child(3){
  animation-delay:  -1s;
}
@keyframes ripple {
  0% {
    top: 70px;
    left: 70px;
    width: 0;
    height: 0;
    opacity: 0;
  }
  5% {
    top: 70px;
    left: 70px;
    width: 0;
    height: 0;
    opacity: 1;
  }
  100% {
    top: 0;
    left: 0;
    opacity: 0;
    width: 140px;
    height: 140px;
  }
}
.buttonBirds {
  display: none;
  background-size: cover;
  width: 10vw;
  height: 10vw;
  opacity: 1;
  animation: animacionAves 0.8s infinite;
}
.buttonBirdSing {
  display: none;
  background-size: cover;
  width: 10vw;
  height: 10vw;
  opacity: 1;
  animation: animacionAvesCanto 0.8s infinite;
}
@keyframes animacionAves {
  0% { background-image: url('../img/iconos/frames_1.png'); }
  11% { background-image: url('../img/iconos/frames_2.png'); }
  22% { background-image: url('../img/iconos/frames_3.png'); }
  33% { background-image: url('../img/iconos/frames_4.png'); }
  44% { background-image: url('../img/iconos/frames_5.png'); }
  55% { background-image: url('../img/iconos/frames_6.png'); }
  66% { background-image: url('../img/iconos/frames_5.png'); }
  77% { background-image: url('../img/iconos/frames_4.png'); }
  88% { background-image: url('../img/iconos/frames_3.png'); }
  100% { background-image: url('../img/iconos/frames_2.png'); opacity: 0.7;}
}
@keyframes animacionAvesCanto {
  0% { background-image: url('../img/iconos/canto_1.png'); }
  20% { background-image: url('../img/iconos/canto_2.png'); }
  40% { background-image: url('../img/iconos/canto_3.png'); }
  60% { background-image: url('../img/iconos/canto_4.png'); }
  80% { background-image: url('../img/iconos/canto_3.png'); }
  100% { background-image: url('../img/iconos/canto_2.png'); }
}

@media (min-width: 768px){  
  #overlay p{
    font-size: 2rem;
  } 
  #overlay small {
    display: none;
  }
  #overlay i.fa-mobile-screen{
    display: none;
  }
  
}