@charset "utf-8";
html{
	width:100%;
	height:100vh;
}

body {
	width:100%;
	height:100vh;
	font-family: "Quicksand", sans-serif;
	font-optical-sizing: auto;
	font-weight: 300;
	font-style: normal;
  	font-size:1.25vw;
	margin:0%;
	
	/*background-image: url(../imagenes/fondo.jpg?v=1);*/
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;
	background-size: cover;
	background-attachment: fixed;
	background-repeat: no-repeat;
	background-position: center;
	background-color:#fff;

    -webkit-user-select: none;
    -moz-user-select: none;
    -khtml-user-select: none;
    -ms-user-select:none;
}

body {
  margin: 0;
  height: 100vh;
  background-color: #37692f; /* Verde base */
  background-image:
    radial-gradient(ellipse 60% 40% at 30% 30%, rgba(240, 221, 33, 0.6) 0%, transparent 70%),
    radial-gradient(ellipse 50% 30% at 70% 60%, rgba(240, 221, 33, 0.5) 0%, transparent 70%),
    radial-gradient(ellipse 40% 20% at 50% 80%, rgba(240, 221, 33, 0.4) 0%, transparent 70%);
  background-size: 200% 200%;
  background-repeat: no-repeat;
  animation: oleaje 20s ease-in-out infinite;
}
  	
@keyframes oleaje {
  0% {
    background-position: 0% 0%;
  }
  50% {
    background-position: 100% 100%;
  }
  100% {
    background-position: 0% 0%;
  }
}


.clear-both{
	clear:both;
}

.cont-lateral-izq{
	top: 0%;
	position: fixed;
    height: 100vh;
	left: 0%;
}

.lateral-izq{
	height: 100vh;
}

.cont-lateral-der{
	top: 0%;
	position: fixed;
    height: 100vh;
	right: 0%;
}

.lateral-der{
	height: 100vh;
}

.cabecera{
	padding-top: 2vh;
}

.cont-logo{
	float: left;
    width: 25vw;
    margin: 1vh 0vw 0vh 10vw;
}

.img-logo{
	width:100%;
}

.cont-logo-evento{
	width: 24%;
    float: left;
    margin-left: 0vw;
    margin-top: 2vh;
}

.img-logo-evento{
	width: 100%;
	display:block;
}

.cont-logo-empresa{
	float: left;
    width: 32%;
}

.img-logo-empresa{
	width: 100%;
	display:block;
}

.cont-cuenta-regresiva{
	width: 32%;
    float: right;
    margin-right: 19%;
    margin-top: 2%;
}

.cont-numeros-cuenta-regresiva{
	display: flex;
    justify-content: center;
    align-items: center;
	font-size: 1.5vw;
}

.slider-container {
    position: relative;
    width: 100%;
    overflow: hidden;
}

.slider {
    display: flex;
    transition: transform 0.6s ease-in-out;
    width: 100%;
}

.slide {
    flex: 0 0 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.slide img {
    width: 90vw;              /* 90% del ancho visible */
    height: auto;
    object-fit: contain;
    margin: 0 auto;           /* Centrado horizontal */
    display: block;
    border-radius: 0.5rem;    /* Opcional: suaviza los bordes */
}

/* Estilos de los botones de navegación */
.prev-btn, .next-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background-color: rgba(0, 0, 0, 0.3);
    border: none;
    color: white;
    font-size: 24px;
    cursor: pointer;
    transition: background 0.3s ease;
}

.prev-btn:hover, .next-btn:hover {
    background-color: rgba(0, 0, 0, 0.6);
}

/* Posición de los botones */
.prev-btn {
    left: 10px;
}

.next-btn {
    right: 10px;
}


@keyframes brillo-naranja {
    0% { box-shadow: 0px 0px 10px #fdc942; }
    25% { box-shadow: 0px 0px 15px #fdc942; }
    50% { box-shadow: 0px 0px 20px #fdc942; }
    75% { box-shadow: 0px 0px 15px #fdc942; }
    100% { box-shadow: 0px 0px 10px #fdc942; }
}

.cont-num-cuenta-regresiva {
    float: left;
    padding: 1.1vw;
    border: 0.125vw solid #fdc942; /* Borde naranja */
    border-radius: 50%;
	color: #fff;
    font-weight: bold;
	margin: 1vw;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 3vw;
    height: 3vw;
    aspect-ratio: 1 / 1;
    animation: brillo-naranja 2s infinite alternate ease-in-out;
}

.cont-descr-cuenta-regresiva{
	margin: 0vw 1vw;
}

.descr-cuenta-regresiva{
	float: left;
    color: #fff;
	width:25%;
	text-align:center;
	font-weight:bold;
}

.cont-barra-ingreso-sup{
	margin-top: 3vh;
    width: 80%;
    margin-left: 10%;
    height: 2.5vw;
}

.cont-barra-ingreso-inf{
    width: 80%;
    margin-left: 10%;
    height: 2.5vw;
}

.cont-redes-sociales{
	float: right;
    width: 9%;
}

.cont-red-social{
    float: left;
    padding-right: 8.5%;
    cursor: pointer;
}

.logo-red-social{
	float: left;
    height: 2.5vw;
    padding-right: 10%;
}

.cont-btn-registro{
	float: right;
    width: 11%;
    height: 100%;
    cursor: pointer;
    position: relative;
    font-size: 0.75vw;
    background-color: #fdcb33;
    color: #fff;
    text-align: center;
    font-weight: bold;
    transition: background-color 0.5s, color 0.5s;
    display: flex;
    justify-content: center;
    align-items: center;
    padding-left: 1%;
}

.cont-btn-registro:hover{
    background-color: #ffebac;
    color: #333;
}

.icono{
	float: left;
    padding-left: 6%;
}

.icono-idioma{
}

.btn-registro{
	width:100%;
	display:block;
}

.cont-btn-ingreso{
	float: right;
    width: 11%;
    height: 100%;
    cursor: pointer;
    position: relative;
    font-size: 0.75vw;
    background-color: #37b55d;
    color: #fff;
    text-align: center;
    font-weight: bold;
    transition: background-color 0.5s, color 0.5s;
    display: flex;
    justify-content: center;
    align-items: center;
    padding-left: 1%;
}

.cont-btn-ingreso:hover{
    background-color: #b8ffce;
    color: #333;
}

.btn-ingreso{
	width:100%;
	display:block;
}

.contenedor-idiomas{
	float: right;
    width: 12%;
    height: 100%;
    color: #333;
}

.contenedor-idioma{
	background-color: #ddd;
    border: 0.25vw solid #dfdfdf;
    height: 60%;
    padding: 0.25vw;
	cursor:pointer;
}

.idioma-bandera{
	float: left;
	margin: 0.25vw 1vw 0vw 0vw;
	width:22%;
}

.img-bandera{
	width:100%;
	box-shadow: 0.25vw 0.25vw 0.25vw #0007;
}

.idioma-descripcion{
	float: left;
	font-weight:bold;
	font-size:0.85vw;
	width: 75%;
}

.idioma-bienvenida{
	float: left;
	font-size:0.75vw;
	width:75%;
}

.contenedor-otros-idiomas{
	position:absolute;
	visibility:hidden;
	opacity:0;
	transition: visibility 0s, opacity 2s ease;
}

.contenedor-otros-idiomas-desplegado{
	width: 9.5%;
    position: absolute;
    visibility: visible;
    opacity: 1;
    transition: visibility 0s, opacity 2s ease;
    z-index: 1;
}


.cont-sliders{
	width: 80%;
    margin-left: 10%;
}

.cont-salas{
	width: 90%;
    margin: 1% 5%;
    display: flex;
    justify-content: center;
}

.cont-sala{
	width: 13%;
    margin: 1% 2%;
}

.img-sala {
  transition: transform 0.4s ease, filter 0.4s ease;
  display: inline-block;
  width: 100%;
}

.img-sala:hover {
  transform: scale(1.15);
  filter: brightness(1.2) drop-shadow(0 0 10px rgba(255, 255, 255, 0.4));
}

.texto-sala{
	position: absolute;
    bottom: 5%;
    width: 90%;
    text-align: center;
    font-size: 1vw;
    color: #fff;
    background-color: #0007;
    padding: 5%;
}

.ult-sala-fila{
	margin-right:0%;
}

.cont-gen-conferencistas{
	width: 80%;
    margin-left: 10%;
}

.cont-titulo-conferencistas{
	width:100%;
}

.img-titulo-conferencistas{
	width:100%;
	display:block;
}

.cont-conferencistas{
	overflow:hidden;
}

.cont-conferencistas-full{
	width:333.3333%;
	margin-left:0%;
	animation:scroll 30s infinite;
	transition-timing-function:ease;
	animation-delay: 2s;
}

.cont-nota{
	display: block;
    width: 50%;
    margin: 5vw auto;
}

.nota{
	width:100%;
	box-shadow: 0.5vw 0.5vw 0.5vw #0007;
}

@keyframes scroll {
	/*Animación para un slide de 7 imágenes*/
	0% { margin-left: 0%; }
	9.09% { margin-left: 0%; }
	18.18% { margin-left: -33.33%; }
	27.27% { margin-left: -33.33%; }
	36.36% { margin-left: -66.67%; }
	45.45% { margin-left: -66.67%; }
	54.54% { margin-left: -100%; }
	63.63% { margin-left: -100%; }
	72.72% { margin-left: -133.33%; }
	81.81% { margin-left: -133.33%; }
	90.9% { margin-left: -166.66%; }

	/*Animación para un slide de 6 imágenes*/
	/*
	0% {margin-left:0%;}
	12.5% {margin-left:0%;}
	25% {margin-left:-33.33%;}
	37.5% {margin-left:-33.33%;}
	50% {margin-left:-66.67%;}
	62.5% {margin-left:-66.67%;}
	75% {margin-left:-100%;}
	87.5% {margin-left:-100%;}
	*/
	
	/*Animación para un slide de 11 imágenes*/
	/*
	0% {margin-left:0%;}
	6.25% {margin-left:0%;}
	12.5% {margin-left:-33.33%;}
	18.75% {margin-left:-33.33%;}
	25% {margin-left:-66.67%;}
	31.25% {margin-left:-66.67%;}
	37.5% {margin-left:-100%;}
	43.75% {margin-left:-100%;}
	50% {margin-left:-133.33%;}
	56.25% {margin-left:-133.33%;}
	62.5% {margin-left:-166.67%;}
	68.75% {margin-left:-166.67%;}
	75% {margin-left:-200%;}
	81.25% {margin-left:-200%;}
	87.5% {margin-left:-233.33%;}
	93.75% {margin-left:-233.33%;}
	*/
}

.cont-conferencista{
	float: left;
    width: 10%;
	display: flex;
    align-items: center;
}

.par{
	background-color:#fff;
}

.impar{
	background-color:#F1F5F8;
}

.img-conferencista{
	width: 100%;
    float: left;
}

.rol-conferencista{
    font-size: 1vw;
}

.titulo-justificacion {
    font-size: 3vw;
	font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
	color:#fff;
	padding: 2vw 1vw 1vw 1vw;
}

.titulo-justificacion::before,
.titulo-justificacion::after {
    margin: 0 10px; /* Espacio entre el título y las líneas */
    content: "";
    display: inline-block; /* Asegura que se comporte como un elemento de línea */
    width: 20vw; /* Ajusta el tamaño de la línea */
    height: 2px;
    background-color: #fff;
    margin: 0 10px;
}

.titulo-conferencista{
    font-size: 1vw;
    font-weight: bold;
}

.texto-conferencista{
    font-size: 0.75vw;
}

.pais-conferencista{
    font-size: 0.75vw;
    font-weight: bold;
}

.cont-invitacion-registro{
	width: 80%;
    margin: 1% 10%;
	cursor:pointer;
	position:relative;
}

.img-invitacion-registro{
	width:100%;
	display:block;
}

.boton-registro{
	margin: 5% auto;
    font-size: 1.5vw;
    width: 25%;
    cursor: pointer;
    font-size: 1.5vw;
    background-color: #fdcb33;
    color: #fff;
    text-align: center;
    font-weight: bold;
    transition: background-color 0.5s, color 0.5s;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 1%;
    border-radius: 1vw;
}

.boton-registro:hover{
    background-color: #ffebac;
    color: #333;
}

.cont-gen-cronograma{
	width: 80%;
    margin-left: 10%;
}

.cont-titulo-cronograma{
	width:100%;
}

.img-titulo-cronograma{
	width:100%;
	display:block;
}

.cont-cronograma{
}

.img-cronograma{
	width:100%;
	display:block;
}

.cont-pie{
	position:relative;
	width: 100%;
	margin-top:2%;
}

.cont-logo-empresa-inf{
    padding-bottom: 2vw;
    text-align: center;
    padding-top: 2vw;
}

.img-footer{
	width:100%;
}

.img-logo-empresa-inf{
    width: 80%;
}

.footer-texto{
	position: absolute;
    text-align: right;
    color: #fff;
    font-size: 0.75vw;
    z-index: 2;
    top: 60%;
    right: 10%;
}

.cont-logo-supersubsidio{
	position: fixed;
    bottom: 1vw;
    right: 1vw;
}

.img-logo-supersubsidio{
	height: 20vh;
}

.galeria-wrapper {
  position: relative;
  display: flex;
  align-items: center;
  overflow: hidden;
  padding: 1vw;
}

.galeria {
  display: flex;
  gap: 1vw;
  overflow-x: auto;
  scroll-behavior: smooth;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.galeria::-webkit-scrollbar {
  display: none;
}

.miniatura {
  height: 10vw;              /* altura fija proporcional al ancho de pantalla */
  width: auto;               /* ancho automático */
  aspect-ratio: 1 / 1;       /* cuadrado visual */
  object-fit: cover;         /* recorta sin deformar */
  cursor: pointer;
  transition: transform 0.3s ease;
  border-radius: 6px;
}

.miniatura:hover {
  transform: scale(1.05);
}

.flecha-mini {
  font-size: 2.5rem;
  color: #444;
  cursor: pointer;
  user-select: none;
  padding: 0 1vw;
  z-index: 10;
}

#overlay {
  position: fixed;
  top: 0; left: 0;
  width: 100vw; height: 100vh;
  background-color: rgba(0, 0, 0, 0.8);
  display: none;
  justify-content: center;
  align-items: center;
  z-index: 999;
}


#imagen-grande {
  max-width: 90vw;
  max-height: 90vh;
  border-radius: 8px;
  box-shadow: 0 0 20px rgba(255, 255, 255, 0.3);
  opacity: 0;
  transition: opacity 0.5s ease;
}

.imagen-fondo {
  width: 90vw;
  height: 90vh;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  transition: opacity 0.8s ease;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  opacity: 1;
}

.flecha {
  position: absolute;
  top: 50%;
  font-size: 3rem;
  color: white;
  cursor: pointer;
  user-select: none;
  transform: translateY(-50%);
  padding: 0 1rem;
  z-index: 1000;
}

.flecha.izq { left: 2vw; }
.flecha.der { right: 2vw; }

.cerrar {
  position: absolute;
  top: 2vh;
  right: 2vw;
  font-size: 2rem;
  color: white;
  cursor: pointer;
  z-index: 1001;
}

.imagen-container {
  position: relative;
  width: 90vw;
  height: 90vh;
  display: flex;
  justify-content: center;
  align-items: center;
}

.imagen-fade {
  position: absolute;
  max-width: 90vw;
  max-height: 90vh;
  border-radius: 8px;
  box-shadow: 0 0 20px rgba(255, 255, 255, 0.3);
  opacity: 0;
  transition: opacity 0.8s ease;
}

.loader {
  position: absolute;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #fff;
  opacity: 0.6;
  animation: pulse 1s infinite ease-in-out;
  z-index: 1000;
}

@keyframes pulse {
  0% { transform: scale(0.9); opacity: 0.4; }
  50% { transform: scale(1.1); opacity: 0.8; }
  100% { transform: scale(0.9); opacity: 0.4; }
}

.cont-mapa{
	width: 60%;
    margin: auto;
}

.mapa{
	width:100%;
	box-shadow: 0.5vw 0.5vw 1vw #000;
}

@media only screen and (max-aspect-ratio: 13/9) {

	.cont-logo{
		float: none;
        width: 50%;
        margin-left: 23vw;
        margin-bottom: 3vw;
	}

	.cont-cuenta-regresiva {
		float: none;
        width: 80%;
        margin-left: 10%;
        margin-bottom: 6vh;
        font-size: 4vw;
	}
	
	.cont-barra-ingreso-sup {
		height: 5vw;
	}
	
	.cont-btn-ingreso {
		width: 25%;
		font-size: 1.75vw;
	}
	
	.cont-btn-registro {
		width: 25%;
		font-size: 1.75vw;
	}

	.contenedor-idiomas {
		float: right;
		width: 25%;
		height: 100%;
		color: #333;
	}
	
	.contenedor-idioma {
		height: 100%;
	}
	
	.contenedor-otros-idiomas-desplegado{
		width: 20%;
	}

	.idioma-descripcion {
		font-size: 1.75vw;
	}
	
	.idioma-bienvenida {
		font-size: 1.25vw;
	}
	
	.cont-redes-sociales {
		width: 17%;
	}
	
	.logo-red-social {
		float: left;
		height: 4.5vw;
	}
	
	.cont-descr-cuenta-regresiva {
		margin: 0vw 12vw;
	}
	
	.cont-num-cuenta-regresiva {
		width: 9vw;
	    height: 9vw;
		font-size:4vw;
	}

	.icono {
		padding-left: 3%;
	}
	
	.boton-registro {
        width: 84%;
        margin: 5% 7%;
        border-radius: 2vw;
        font-size: 5vw;
    }
	
	.cont-barra-ingreso-inf {
		height: 4.5vw;
	}

	.contenedor-idioma {
		height: 79%;
	}

    .prev-btn, .next-btn {
        width: 40px;
        height: 40px;
        font-size: 18px;
    }
	
	.img-logo-supersubsidio{
		height: 10vh;
	}
	
	.titulo-justificacion{
		font-size:5vw;
	}
	
	.cont-salas{
		width: 100%;
    	margin: initial;
		display: inline;
	}

	.cont-sala{
		width: 50%;
		float:none;
		margin-right: initial;
		margin-bottom: 1%;
		margin-left: 25%;
	}
	
	.cont-nota{
		width: 90%;
	}

	.miniatura{
		height:20vw;
	}
	
	.cont-mapa{
		width:90%;
		margin: 0% auto 10% auto;
	}
	
	.mapa{
		box-shadow: 2vw 2vw 2vw #0007;
	}
}
