* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html{
    scroll-behavior: smooth;
}

body {
    width: 100vw;
    height: 100vh;
    background-color: #f86b23;
   
   
}

@font-face {
    font-family:"kreuz1";
    src: url("./tipos/Kreuz-Light-Trial.otf")
  
   
}

@font-face {
    font-family:"kreuz2";
    src: url("./tipos/Kreuz-Regular-Trial.otf")
   
}

@font-face {
    font-family:"kreuz3";
    src: url("./tipos/Kreuz-Medium-Trial.otf")
   
}

@font-face {
    font-family:"kreuz4";
    src: url("./tipos/Kreuz-Bold-Trial.otf")
   
}

@font-face {
    font-family:"zipper";
    src: url("./tipos/Zipper\ Std.otf")
   
}


@font-face {
    font-family:"signal";
    src: url("./tipos/SignalCompressed-Regular-Trial.otf")
   
}

@font-face {
    font-family:"axiforma1";
    src: url("./tipos/Kastelov\ -\ Axiforma\ Book.otf")
   
}

@font-face {
    font-family:"axiforma2";
    src: url("./tipos/Kastelov\ -\ Axiforma\ Medium.otf")
   
}

@font-face {
    font-family:"axiforma3";
    src: url("./tipos/Kastelov\ -\ Axiforma\ Light.otf")
   
}

@font-face {
    font-family:"axiforma6";
    src: url("./tipos/Kastelov\ -\ Axiforma\ Black.otf")
   
}


@font-face {
    font-family:"moore";
    src: url("./tipos/MooreTRIAL-Henry.otf")
   
}

@font-face {
    font-family:"helv1";
    src: url("./tipos/HelveticaNeueLTStd-Hv.otf")
   
}

@font-face {
    font-family:"helv2";
    src: url("./tipos/HelveticaNeueLTStd-Md.otf")
   
}

@font-face {
    font-family:"helv3";
    src: url("./tipos/HelveticaNeueLTStd-Bd.otf")
   
}


.contenedor {
     /* position: absolute;*/
    width: 100vw;
   
    background-color: #f86b23;
    overflow: hidden;
}


.video {
    width: 100vw;
    /*height: 70vh;*/
    overflow: hidden;
   margin: 0 auto 0;
    display: block;
     z-index: 1;
  }

.video video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    
}

.text-slider {
    display: flex;
    justify-content: flex-start;
    overflow: hidden;
    background-color: #3fa9f5;
    padding-top: .3em;
   /* margin: 2em auto;*/
 }
 
 .text-slider p {
    color: #070707;
    font-family:"helv2";
    text-align-last:justify;
    font-size: 1em;
    white-space: nowrap;
    padding: .5em 1.5em;
    /*word-spacing: 8em;*/
    animation: move-text 12000ms linear infinite;
   
 }

 @keyframes move-text {
    0%{
        transform: translateX(0);
    }
    100%{
        transform: translateX(-100%);
    }
}

.text-slider2 {
   display: flex;
    justify-content: flex-start;
    overflow: hidden;
   background-color: #3fa9f5;
    padding-top: .3em;
    /*margin: 2em auto;*/
 }
 
 .text-slider2 p {
    color: #070707;
    font-family:"moore";
     text-align-last:justify;
    font-size: 1.5em;
    white-space: nowrap;
    padding: .4em 5em;
    word-spacing: 8em;
    animation: move-text2 24000ms linear infinite;
   
 }

 @keyframes move-text2 {
    0%{
        transform: translateX(0);
    }
    100%{
        transform: translateX(-400%);
    }
}

.logo_inv{
    width: 100vw;
    background-size: contain;
    background-repeat: no-repeat;
    margin: 10vw auto 10vw;
    display: flex;
    flex-wrap: wrap;
}

.logo_inv img{
    max-width: 100%;
    height: auto;
}


.text-slider3 {
   display: flex;
    justify-content: flex-start;
    overflow: hidden;
   background-color: #3fa9f5;
    padding-top: .3em;
    /*margin: 2em auto;*/
 }
 
 .text-slider3 p {
    color: #070707;
    font-family:"moore";
     text-align-last:justify;
    font-size: 1.5em;
    white-space: nowrap;
    padding: .4em 5em;
    word-spacing: 8em;
    animation: move-text3 8000ms linear infinite;
   
 }

 @keyframes move-text3 {
    0%{
        transform: translateX(0);
    }
    100%{
        transform: translateX(-100%);
    }
}




.text-slider4 {
   display: flex;
    justify-content: flex-start;
    overflow: hidden;
   background-color: #3fa9f5;
    padding-top: .3em;
    /*margin: 2em auto;*/
 }
 
 .text-slider4 p {
    color: #070707;
    font-family:"moore";
     text-align-last:justify;
    font-size: 1.5em;
    white-space: nowrap;
    padding: .4em 5em;
    word-spacing: 8em;
    animation: move-text4 8000ms linear infinite;
   
 }

 @keyframes move-text4 {
    0%{
        transform: translateX(0);
    }
    100%{
        transform: translateX(-100%);
    }
}

.text-slider5 {
    display: flex;
    justify-content: flex-start;
    overflow: hidden;
    background-color: #3fa9f5;
    padding-top: .3em;
   /* margin: 2em auto;*/
 }
 
 .text-slider5 p {
    color: #070707;
    font-family:"helv2";
    text-align-last:justify;
    font-size: 1em;
    white-space: nowrap;
    padding: .5em 1.5em;
    /*word-spacing: 8em;*/
    animation: move-text5 12000ms linear infinite;
   
 }

 @keyframes move-text5 {
    0%{
        transform: translateX(0);
    }
    100%{
        transform: translateX(-100%);
    }
}



/* CLASE PARA OCULTAR VISUALMENTE PERO MANTENER ACCESIBLE */
.visually-hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}
/* FIN CLASE DE ACCESIBILIDAD */


.formulario{
    display: flex;
    justify-content: center;
    align-items: center;
    height: auto;
    margin-bottom: 5em;
    flex-wrap: wrap;
}


.registrate{
    width: 100vw;
    background-size: contain;
    background-repeat: no-repeat;
    margin: 0 auto 0;
    display: flex;
    flex-wrap: wrap;
     justify-content: center;
    align-items: center;
    line-height: 3em;
    
}

.registrate p{
    font-size: 6.5rem;
    font-family:"signal";
    color: #070707;
   
}


.fecha_limite{
    width: 100vw;
    background-size: contain;
    background-repeat: no-repeat;
    margin: 0 auto 0;
    display: flex;
    flex-wrap: wrap;
     justify-content: center;
    align-items: center;
   padding-top: 2em;
    
}

.fecha_limite p{
    font-size: 1.8em;
    font-family:"helv1";
    color: #3fa9f5;
    -webkit-text-stroke: 1px black;
   
}


.box_kido{
    width: 100vw;
    background-size: contain;
    background-repeat: no-repeat;
    margin: 10vw auto 0;
    display: flex;
    flex-wrap: wrap;
     justify-content: center;
    align-items: center;
}

.box_kido img{
    width: 50%;
   
}


.container {
    /*background-color: #ffffff;*/
    padding: 0 30px  30px;
   /* border-radius: 8px;*/
   /* box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);*/
    width: 100%;
    max-width: 500px;
}

.form-group {
    margin-bottom: 1em;
}

/* Modificamos el selector para que solo afecte a los labels que no están ocultos,
   es decir, los que son importantes para los radio buttons (los que no tienen la clase visually-hidden) */
label:not(.visually-hidden) {
    display: block;
    margin-bottom: 5px;
    font-weight: bold;
    color: #000000;
    font-family:"helv1";
}


input[type="text"],
input[type="email"],
input[type="number"],
textarea {
    width: 100%;
    padding: 12px;
    background-color: #3fa9f5;
    border: 2px solid #000000; /* Borde más grueso y sólido */
    border-radius: 8px;
    box-sizing: border-box;
    font-size: 24px;
    font-family:"helv1";
    transition: all 0.3s ease; /* Transición suave para el efecto hover/focus */
}

/* Estilo cuando el usuario pasa el ratón por encima (Hover) */
input[type="text"]:hover,
input[type="email"]:hover,
input[type="number"]:hover,
textarea:hover {
     border: 3px solid #000000
}

/* Estilo cuando el usuario hace clic en la casilla (Focus) */
input[type="text"]:focus,
input[type="email"]:focus,
input[type="number"]:focus,
textarea:focus {
    border-color: #007bff; /* Borde azul para indicar que está activo */
    box-shadow: 0 0 5px rgba(0, 123, 255, 0.5); /* Sombra suave azul */
    outline: none; /* Elimina el contorno predeterminado del navegador */
}

textarea {
    resize: vertical;
}

/* Estilos para Radio Buttons */
.radio-group {
    display: flex;
    gap: 20px;
    margin-top: 5px;
}

.radio-group input[type="radio"] {
    width: auto;
}

/* Botón Enviar */
button[type="submit"] {
    background-color: #000000;
    color: white;
    font-family:"helv1";
    padding: 12px 20px;
    border: none;
    border-radius: 50px;
    cursor: pointer;
    width: 100%;
    font-size: 18px;
    transition: background-color 0.3s ease;
}

button[type="submit"]:hover {
    background-color: #3fa9f5;;
     border: 2px solid #000000;
     color: #000000;
}


/* Para Chrome, Edge, Safari, Opera */
input::placeholder,
textarea::placeholder {
    color: #000000; /* Ejemplo de un gris más claro */
    opacity: 1; /* Necesario para anular el opacity predeterminado en algunos navegadores */
    
}

/* Para Firefox (hasta la versión 18) */
input:-moz-placeholder,
textarea:-moz-placeholder {
    color: #000000;
    opacity: 1;
}

/* Para Internet Explorer 10-11 */
input:-ms-input-placeholder,
textarea:-ms-input-placeholder {
    color: #000000;
}





.mapa{
    width: 90vw;
    background-size: contain;
    background-repeat: no-repeat;
    margin: 10vh auto 10vh;
    display: flex;
    flex-wrap: wrap;
     justify-content: center;
    align-items: center;
    line-height: 3em;
    overflow: hidden;
    border-radius: 20px;
    border: 3px solid #000000; /* Borde más grueso y sólido */    
}




 .mapa-transparente {
    opacity: 0.6; /* Hace que el mapa sea 50% transparente */
   
  }


.bottom{
    
      width: 90vw;
    background-size: contain;
    background-repeat: no-repeat;
    margin: 10vh auto 10vh;
    display: flex;
    flex-wrap: wrap;
     justify-content: center;
    align-items: center;
}

.bottom p{
    font-size: clamp(3rem, 32.3vw, 16rem);
    font-family:"moore";
    color: #3fa9f5;
   -webkit-text-stroke: 2px black;
}








 /*navegador*/
    nav ul {
       list-style-type: none;
   padding: 0 2vw  2vw;
    margin: 20px 0;
  /*justify-content: space-between;*/
    justify-content: center;
    position: fixed;
    z-index: 10;
   /* gap: 10px;*/
         mix-blend-mode:normal;
         bottom: 0svh;
         display:flex;
         width: 100VW;
}
     
     nav ul li {
         display:block;
         margin: 5px 1px;
         background-color:#03bf5c;
         border: 2px solid #000000;
         border-radius: 9999px;
          /* en realidad aqui no necesita el margiun ;*/
         width:fit-content;
         padding: 3.5px 17px 3.5px;
     }
     

 


     nav ul li a {
         text-decoration: none;
         color: rgb(253, 251, 251);
        text-transform: uppercase;
         font-size: 1em;
         font-family:"helv1";
        /* mix-blend-mode:difference;*/
         line-height: .3em;
     }


a:hover{
    color: #000000;
}


/* ESTILO CUANDO EL LI TIENE LA CLASE 'active' */
nav ul li.active {
    background-color: #000000; /* Fondo a Negro */
    border-color: #03bf5c; /* Borde a Verde */
}

nav ul li.active a {
    color: #03bf5c; /* Tipografía a Verde */
}




 /* 1. Estilos para la Pantalla de Inicio (#splash-screen) */
        .splash-screen-style {
            position: fixed;
            top: 0;
            right: 0;
            bottom: 0;
            left: 0;
            background-color: #f15a24;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            z-index: 10;
            transition-property: opacity;
            transition-duration: 1000ms;
        }



 .content-card-style {
            text-align: center;
           /*  padding: 2rem;  p-8 */
           width: 100vw;
           display: block;
           /* border-radius: 0.75rem; /* rounded-xl 
            box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04); /* shadow-2xl 
            background-color: rgba(31, 41, 55, 0.7);  bg-gray-800/70 
            backdrop-filter: blur(8px); /* backdrop-blur-sm 
            border: 1px solid rgba(79, 70, 229, 0.5); /* border border-indigo-600/50 */
        }

.ordenador {
    
    width: 100vw;
}


 /* 3. Estilos para el Título Principal (Título Épico) */
        .title-style {
           font-size: clamp(3rem, 33.3vw, 35rem);
            font-family:"moore";
            color: #3fa9f5;
            -webkit-text-stroke: 2px black;
            margin-bottom: 1rem; /* mb-4 */
            /*  letter-spacing: -0.05em; /* tracking-tight
            color: transparent;
            background-clip: text;
            /* Degradado (bg-gradient-to-r from-indigo-400 to-purple-500) 
            background-image: linear-gradient(to right, #818cf8, #a78bfa);  */
        }

        .logo_inv_fuera{
         width: 100vw;
         background-size: contain;
         background-repeat: no-repeat;
         position: fixed;
         display: flex;
         flex-wrap: wrap;
         z-index: 3;
         top: 45%; /* Mueve el borde superior al 50% de la altura de la pantalla */
         left: 50%; /* Mueve el borde izquierdo al 50% del ancho de la pantalla */
         /* Corrige el desplazamiento (desplaza el elemento hacia arriba y hacia la izquierda por la mitad de su propio tamaño) */
        transform: translate(-50%, -50%);
}


.logo_inv_fuera img {

    max-width: 100%;
    height: auto;
   
}
       

        /* 2. Estilos para el Botón de Inicio (#startButton) */
        .start-button-style {
            padding-left: 3rem;
            padding-right: 3rem;
            padding-top: 1rem;
            padding-bottom: 1rem;
            z-index: 5;
            font-size: 1.25rem; /* text-xl */
            font-weight: 700; /* font-bold */
            border-radius: 9999px; /* rounded-full */
            background-color: #3fa9f5;
            color: rgb(0, 0, 0);
            border:#000000 1px solid;
            transition-duration: 300ms;
            transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
        }
        
        /* Efecto hover del botón */
        .start-button-style:hover {
            background-color: #000000; /* hover:bg-indigo-700 */
            color: rgb(255, 255, 255);
            transform: scale(1.05); /* hover:scale-105 */
        }
        
       
        /* Media Query para Título en pantallas medianas (md:text-8xl) */
        @media (min-width: 768px) {}
          

       

        /* Animación de pulso lento (original) */
        .animate-pulse-slow {
            animation: pulse-slow 3s infinite;
        }
        @keyframes pulse-slow {
            0%, 100% {
                opacity: 1;
                transform: scale(1);
            }
            50% {
                opacity: 1;
                transform: scale(1.02);
            }
        }



    














@media (max-width: 1024px) {

    .logo_inv {
 
    margin: 22vw auto 22vw;
 
}
.box_kido img {
    width: 77%;
}
}










@media (max-width: 820px) {
    .logo_inv {
        margin: 28vw auto 28vw;
    }
    
    
}










@media (max-width: 475px) {

            .bottom p{
   -webkit-text-stroke: 1px black;
}

.bottom {
padding-bottom: 12vh;
}

.logo_inv {
  
    margin: 35vw auto 40vw;
   
}


nav ul li a {
  
    font-size: .7rem;
  line-height: 1.3em;
}

.registrate {
   
    line-height: 2em;
}

.registrate p {
    font-size: 4.5rem;
}

.fecha_limite{
    padding-top: 1.2em;
}

.fecha_limite p{
    font-size: 1.25em;

}

.box_kido {
   
    margin: 10vw auto 3vw;
}
.box_kido img {
    width: 100%;
}

}











@media (max-width: 430px) {
    .logo_inv {
        margin: 58vw auto 58vw;
    }
}










@media (max-width: 375px) {

            .bottom p{
   -webkit-text-stroke: 1px black;
}

.bottom {
padding-bottom: 12vh;
}

.logo_inv {
  
    margin: 35vw auto 40vw;
   
}


nav ul li a {
  
    font-size: .7rem;
  line-height: 1.3em;
}



.box_kido {
   
    margin: 10vw auto 3vw;
}
.box_kido img {
    width: 100%;
}

}