@charset "UTF-8";
/* CSS Document */



      

        .navbar-custom {
            background-color: rgba(13, 12, 29, 0.8);
            backdrop-filter: blur(10px);
            -webkit-backdrop-filter: blur(10px);
            z-index: 1030;
            transition: background-color 0.3s;
        }

        .navbar-custom .nav-link, .navbar-custom .navbar-brand {
            font-family: 'spy_agency_italicitalic', sans-serif;
            color: #f0f0f0;
            text-transform: uppercase;
            font-weight: normal;
            font-size: 1rem; /* Ajuste de tamaño */
        }

        .navbar-custom .nav-link:hover, .navbar-custom .social-icon:hover {
            color: var(--neon-blue);
            text-shadow: 0 0 5px var(--neon-blue);
        }
        
        .navbar-toggler-icon {
            background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.9%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
        }

        /* Hero Section */
        .hero-section {
            min-height: 100vh;
            background-size: cover;
            background-position: center;
            display: flex;
            align-items: center;
            justify-content: center;
            text-align: center;
            position: relative;
            background-attachment: fixed;
            padding-top: 100px; /* Ajuste para el navbar */
            padding-bottom: 50px;
        }
        
        .hero-video-container {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            overflow: hidden;
            z-index: 1;
        }
        
        #hero-video-bg {
            position: absolute;
            top: 50%;
            left: 50%;
            min-width: 100%;
            min-height: 100%;
            width: auto;
            height: auto;
            transform: translate(-50%, -50%);
        }
        
        .hero-overlay {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-color: rgba(0, 0, 0, 0.6);
            z-index: 2;
        }


        .parallax-section-2 {
            background-image: url('../images/categorias.jpg');
        }

        .hero-content {
            z-index: 3;
        }

        .glow-text {
            font-family: 'spy_agency_italicitalic', sans-serif;
            font-size: 5rem;
            text-shadow: 0 0 10px var(--neon-blue), 0 0 20px var(--neon-blue), 0 0 30px var(--neon-blue), 0 0 40px var(--neon-blue);
            animation: glow-animation 2s infinite alternate;
        }

        @keyframes glow-animation {
            from {
                text-shadow: 0 0 10px var(--neon-blue), 0 0 20px var(--neon-blue);
            }
            to {
                text-shadow: 0 0 20px var(--neon-blue), 0 0 40px var(--neon-blue), 0 0 60px var(--neon-blue);
            }
        }
        
        /* Secciones con degradado animado y overlay */
        .animated-gradient-section-1 {
            position: relative;
            padding: 80px 0;
            text-align: center;
            color: white;
            overflow: hidden;
            background-image: url('../images/fondo_parallax.jpg');
            background-size: cover;
            background-position: center;
            background-attachment: fixed;
        }

        .animated-overlay {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: linear-gradient(-45deg, rgba(13, 12, 29, 0.8), rgba(0, 123, 255, 0.7), rgba(13, 12, 29, 0.8));
            background-size: 400% 400%;
            animation: gradient-animation-1 15s ease infinite;
        }

        .animated-gradient-section-2 {
            position: relative;
            padding: 80px 0;
            text-align: center;
            color: white;
            overflow: hidden;
        }
        
        .animated-gradient-section-2 .container {
            position: relative;
            z-index: 2;
        }
        
        #video-background {
            position: absolute;
            top: 50%;
            left: 50%;
            width: 100%;
            height: 100%;
            object-fit: cover;
            transform: translate(-50%, -50%);
            z-index: 1;
        }
        
        .video-overlay {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-color: rgba(0, 0, 0, 0.6);
            z-index: 1;
        }

        /* Nueva sección para docentes, ahora sin degradado animado */
        .animated-section-docentes {
            position: relative;
            padding: 80px 0;
            text-align: center;
            color: white;
            overflow: hidden;
            background-color: #0d0c1d; /* Color de fondo sólido */
        }
        
        /* Eliminamos la clase .animated-overlay-docentes */

        @keyframes gradient-animation-1 {
            0% { background-position: 0% 50%; }
            50% { background-position: 100% 50%; }
            100% { background-position: 0% 50%; }
        }

        @keyframes gradient-animation-2 {
            0% { background-position: 100% 50%; }
            50% { background-position: 0% 50%; }
            100% { background-position: 100% 50%; }
        }
        
        /* Eliminamos la animación de degradado para docentes */
        
        /* Sección de partículas personalizadas */
        .particles-container {
            position: absolute;
            width: 100%;
            height: 100%;
            top: 0;
            left: 0;
            z-index: 1;
        }
        
        .particles-container canvas {
            display: block;
        }
        
        /* Contenedor de video */
        .video-container {
            position: relative;
            padding-bottom: 56.25%; /* Relación de aspecto 16:9 */
            height: 0;
            overflow: hidden;
            border-radius: 10px;
            box-shadow: 0 0 20px rgba(0, 255, 255, 0.5);
            margin: 40px 0;
        }

        .video-container iframe,
        .video-container video {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
        }
        
        .video-controls {
            position: absolute;
            bottom: 20px;
            left: 20px;
            z-index: 3;
        }
        
        .video-controls button {
            background-color: rgba(0, 0, 0, 0.5);
            border: 1px solid var(--neon-blue);
            color: var(--neon-blue);
            width: 40px;
            height: 40px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            transition: background-color 0.3s ease;
        }
        
        .video-controls button:hover {
            background-color: var(--neon-blue);
            color: black;
        }

        /* Estilo para los botones principales */
        .btn-neon {
            background-color: transparent;
            border: 2px solid var(--neon-blue);
            color: var(--neon-blue);
            text-transform: uppercase;
            font-weight: 700;
            padding: 10px 30px;
            border-radius: 30px;
            position: relative;
            overflow: hidden;
            transition: all 0.3s ease;
        }

        .btn-neon:hover {
            color: #fff;
            background-color: var(--neon-blue);
            box-shadow: 0 0 10px var(--neon-blue), 0 0 20px var(--neon-blue), 0 0 40px var(--neon-blue);
        }

        /* Estilo para los nuevos botones pequeños (ahora más pequeños) */
        .btn-sm-neon {
            background-color: transparent;
            border: 1px solid var(--neon-blue);
            color: var(--neon-blue);
            text-transform: uppercase;
            font-weight: 700;
            padding: 3px 10px; /* Más pequeño */
            font-size: 0.75rem; /* Fuente más pequeña */
            border-radius: 15px; /* Radio de borde ajustado */
            position: relative;
            overflow: hidden;
            transition: all 0.3s ease;
        }
        
        .btn-sm-neon:hover {
            color: #fff;
            background-color: var(--neon-blue);
            box-shadow: 0 0 5px var(--neon-blue), 0 0 10px var(--neon-blue);
        }
        
        /* Estilo para los subtítulos de los retos dentro de las tarjetas */
        .reto-title-magenta {
            font-size: 1.05rem; /* Ajustado para ser más pequeño */
            color: var(--neon-magenta);
            text-shadow: 0 0 3px var(--neon-magenta);
        }

        .reto-title-yellow {
            font-size: 1.05rem; /* Ajustado para ser más pequeño */
            color: var(--neon-yellow);
            text-shadow: 0 0 3px var(--neon-yellow);
        }

        .reto-title-blue {
            font-size: 1.05rem; /* Ajustado para ser más pequeño */
            color: var(--main-blue);
            text-shadow: 0 0 3px var(--main-blue);
        }
        
        /* Tarjetas de categorías */
        .card-custom {
            background-color: rgba(255, 255, 255, 0.05);
            border: 1px solid rgba(255, 255, 255, 0.1);
            backdrop-filter: blur(10px);
            color: white;
            border-radius: 15px;
            transition: transform 0.3s ease, box-shadow 0.3s ease;
            position: relative;
        }

        .card-custom:hover {
            transform: translateY(-10px);
            box-shadow: 0 10px 30px rgba(0, 255, 255, 0.2);
        }
        
        .card-custom .card-icon {
            width: 100px;
            
            margin-bottom: 1rem;

        }

        .card-custom .card-title {
            font-family: 'spy_agency_italicitalic', sans-serif;
            font-size: 1.3rem;
            color: var(--neon-magenta);
            text-shadow: 0 0 5px var(--neon-magenta);
        }
		
		  .card-custom .card-title-ye {
            font-family: 'spy_agency_italicitalic', sans-serif;
            font-size: 1.3rem;
            color: var(--neon-yellow);
            text-shadow: 0 0 5px var(--neon-yellow);
        }
		
		 .card-custom .card-title-blu {
            font-family: 'spy_agency_italicitalic', sans-serif;
            font-size: 1.3rem;
            color: var(--main-blue);
            text-shadow: 0 0 5px var(--main-blue);
        }

        .card-header {
            background-color: rgba(0, 0, 0, 0.2);
            border-bottom: 1px solid rgba(255, 255, 255, 0.1);
        }
        
        .animated-gradient-section-1 h3 {
            font-family: 'spy_agency_italicitalic', sans-serif;
            font-size: 2.2rem;
            color: var(--neon-blue);
            text-shadow: 0 0 5px var(--neon-blue);
        }
        
        .animated-gradient-section-1 .container {
            position: relative;
            z-index: 2;
        }

        /* Contenedor de premios */
        .prize-container {
            background-color: rgba(255, 255, 255, 0.05);
            border: 1px solid rgba(255, 255, 255, 0.1);
            backdrop-filter: blur(10px);
            padding: 20px;
            border-radius: 15px;
            box-shadow: 0 0 10px rgba(0, 255, 255, 0.5);
            margin-top: 50px;
            width: 100%;
        }

        /* Formulario de contacto */
        .form-custom {
            background-color: rgba(255, 255, 255, 0.05);
            border: 1px solid rgba(255, 255, 255, 0.1);
            backdrop-filter: blur(10px);
            padding: 40px;
            border-radius: 15px;
        }

        .form-custom .form-control {
            background-color: rgba(255, 255, 255, 0.1);
            border: 1px solid rgba(255, 255, 255, 0.2);
            color: white;
        }
        
        .form-custom .form-control:focus {
            background-color: rgba(255, 255, 255, 0.15);
            border-color: var(--neon-blue);
            box-shadow: 0 0 0 0.25rem rgba(0, 255, 255, 0.25);
            color: white;
        }
    
        .form-custom label {
            color: var(--neon-blue);
            font-weight: 700;
        }
        
        .footer-custom {
            background-color: #000;
            color: #f0f0f0;
            padding: 20px 0;
        }
        
        /* Media Queries para responsividad */
        @media (max-width: 768px) {
            .glow-text {
                font-size: 3rem;
            }
        }
        
        .vimeo-video-container {
            position: relative;
            padding-bottom: 56.25%; /* 16:9 Aspect Ratio */
            height: 0;
            overflow: hidden;
            border-radius: 10px;
            box-shadow: 0 0 20px rgba(0, 255, 255, 0.5);
            margin: 40px 0;
        }
        .vimeo-video-container iframe {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
        }
		
		/* Estilos para el modal de video */
		.modal-video .modal-dialog {
			max-width: 800px;
		}

		.modal-video .modal-content {
			background-color: transparent;
			border: none;
		}

		.modal-video .modal-body {
			position: relative;
			padding: 0;
			height: 0;
			padding-bottom: 56.25%; /* Relación de aspecto 16:9 */
		}

		.modal-video .modal-body iframe {
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			border-radius: 10px;
			box-shadow: 0 0 20px rgba(0, 255, 255, 0.5);
		}
		
		/* Estilo del botón de cerrar el modal */
		.modal-video .btn-close {
			position: absolute;
			top: -20px;
			right: -20px;
			z-index: 1051;
			background-color: var(--neon-blue);
			opacity: 1;
			border-radius: 50%;
			padding: 10px;
			box-shadow: 0 0 10px rgba(0, 255, 255, 0.8);
			filter: invert(0);
		}
		
		@media (max-width: 768px) {
			.modal-video .btn-close {
				top: -10px;
				right: 0;
				padding: 5px;
			}
		}
  

