/* CSS FIJO DEL HEADER MAIN */
@import url('https://fonts.googleapis.com/css2?family=Comic+Neue:ital,wght@0,300;0,400;0,700;1,300;1,400;1,700&family=Raleway:ital,wght@0,100..900;1,100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Comic+Neue:ital,wght@0,300;0,400;0,700;1,300;1,400;1,700&family=Raleway:ital,wght@0,100..900;1,100..900&family=Tinos:ital,wght@0,400;0,700;1,400;1,700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Comic+Neue:ital,wght@0,300;0,400;0,700;1,300;1,400;1,700&family=Raleway:ital,wght@0,100..900;1,100..900&family=Tinos:ital,wght@0,400;0,700;1,400;1,700&display=swap');
/*CONFIGURACIÓN CSS GENERAL DE LA PAGINA*/
*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    font-size: 16px; /* Base para calcular rem */
}

body{
    font-family: 'Open Sans', sans-serif;
    background-image:linear-gradient(180deg, #fafafa 0%,#fafafa 100%);
    background-size: cover;
    background-repeat: no-repeat;
    line-height: 1.6; /* Mejora la legibilidad */
}
/*SE CONCLUYE EL CSS GENERAL QUE TENDRA LA PAGINA*/

/*CONFIGURACIÓN RESPETO A LOS TITULOS*/
h1{text-shadow: 7px 4px 5px rgb(196, 191, 191);}

/*SE CONFIGURA LA PARTE SUPERIOR DEL BANNER... (NAVEGACIÓN > HEADER)*/


.Logo1{
    height:120px;
    width:135px;
    top: 0;
    left: 50px;
    position: fixed;
    z-index: 2;

    margin-left: 2%;
    margin-top: 1%;
}

@media (max-width: 768px) {
    .Logo1{
        margin-top: 1.6%;
        width: 105px;
        height: 93px;
        margin-left: -10%;
    }
}



#Lema{
    font-size: 3vw;
    color: #ffffff;
    font-family: 'Tinos', serif;
    font-weight: bold;
}


.navegacion{
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 70px;
    /*background-image: linear-gradient(180deg, #00c50a 0%, #00c50a0e 100%);
    */
    background-image:linear-gradient(180deg, #ffffff 0%, #ffffff 100%);
    display:inline-block;
    flex-direction: row;
    justify-content: space-evenly;
    align-items: center;
    z-index: 999;
    
}

.navegacion ul{
    list-style:none;
    text-align: center;
}

.menu > li > a{
    padding: 20px;
    font-family: "Big caslon medium";
    font-size: 20px;
    text-decoration: none;
    color: rgb(0, 48, 87);
    text-align: center;
    font-weight: 300;
  font-style: normal;
}

.menu > li{
    position: relative;
    display: inline-block;
    align-items: center;
    justify-content: center;
    text-align: center;
    top: 20px;
}

.menu > li > a:hover{
    /*font-size: 22px; */
    color: rgb(214, 209, 202);

}
/* Estilos para el menú hamburguesa (oculto por defecto) */
.menu-icon {
    display: none; /* Oculta el ícono en pantallas grandes */
    flex-direction: column;
    cursor: pointer;
    padding: 10px;
    position: absolute; /* Posicionamos el ícono */
    right: 20px; /* Lo movemos a la derecha */
    top: 15px; /* Ajustamos la posición vertical */
}

.menu-icon span {
    width: 25px;
    height: 3px;
    background: black;
    margin: 4px 0;
    transition: 0.4s;
}

/* Estilos para dispositivos móviles */
@media (max-width: 768px) {
    .menu-icon {
        display: flex; /* Muestra el ícono en pantallas pequeñas */
    }

    .menu {
        display: none; /* Oculta el menú en pantallas pequeñas */
        flex-direction: column;
        width: 100%;
        background: #ffffff;
        position: absolute;
        top: 70px; /* Ajusta según la altura de tu navbar */
        right: 0; /* Lo movemos a la derecha */
        text-align: right; /* Alineamos el texto a la derecha */
        padding-right: 20px; /* Añadimos un poco de padding */
    }

    .menu.active {
        display: flex; /* Muestra el menú cuando está activo */
    }

    .menu > li {
        display: block; /* Cambia a bloque para apilar los elementos */
        text-align: right; /* Alineamos el texto a la derecha */
        top: 0; /* Elimina el desplazamiento vertical */
    }

    .menu > li > a {
        padding: 15px; /* Ajusta el padding para móviles */
    }
}

/* Mostrar dropdown al pasar el cursor */
.menu > li:hover .dropdown {
    display: block;
}
/*CONCLUYE EL CSS DE LA NAVEGACIÓN CON EL MENU SUPERIOR*/

/*SE CONFIGURA EL BANNER DE LA PAGINA*/

.Banner_Top{
    margin-top: 70px;
}
/*CONCLUYE EL CSS DEL BANNER*/

.d-img{
    height: 100%;
    width:100vw;
    object-fit:cover;
    object-position: center 20%;
    filter: brightness(0.6);
}

.custom-btn{
    background-color: #ffffff00;
}
.custom-btn:hover {
    background-color:  #575757a9;
    opacity: 100%;                  
}

.c-txt{
    color: #0b678e;     /*Color de los titulos*/
}

.responsive-text {
    font-size: 2rem; /* Tamaño de fuente por defecto */
    font-family: Arial, sans-serif;
}

@media (max-width: 768px) {
    .responsive-text {
        font-size: 1.75rem; /* Tamaño de fuente para pantallas pequeñas */
    }
}

@media (max-width: 480px) {
    .responsive-text {
        font-size: 1.35rem; /* Tamaño de fuente para pantallas muy pequeñas */
    }
}

.d-item{
    height: 560px;
}
@media (max-width: 768px) {
    .d-item {
        height: 540px; /* Aumentar la altura del contenedor para pantallas pequeñas */
    }
}

@media (max-width: 480px) {
    .d-item {
        height: 180px; /* Aumentar aún más la altura del contenedor para pantallas muy pequeñas */
    }
}

#center_btn{
    margin-left: 70%;
    color: #ffffff;
    font-weight: 600;
}

#color_white{
    color: #ffffff;
    font-weight: 100;
}

#size_card{
    height: 100%;
    padding: 30px;
}

#font{
    font-weight: 1000;
    text-shadow: 5px 2px 3px gray;
}


/* SECCION BIENVENIDOS */

.CENTER_WRAPPER {
    display: flex;
    justify-content: center;
    padding: 20px 0;
    background-color: transparent;
    opacity: 0;
    transform: translateY(50px);
    transition: transform 0.5s ease, opacity 0.5s ease;
}

.CENTER_WRAPPER.visible, .card-deck.visible {
    opacity: 1;
    transform: translateY(0);
}


/* Contenedor de la sección */
#TOP_CONTENT {
    display: flex; 
    flex-direction: row;
    align-items: center; /* Alinea los elementos verticalmente */
    justify-content: space-between; /* Espacio entre texto e imagen */
    gap: 20px; /* Espacio entre la imagen y el texto */
    width: 80vw; /* 80% del ancho de la pantalla */
    max-width: 1200px; /* Máximo ancho para evitar que se vea demasiado ancho en pantallas grandes */
    background-color: #ffffff;
    border-radius: 15px;
    box-shadow: 0px 4px 6px rgba(0, 3, 62, 0.1);
    padding: 20px;
}

/* Image Styling */
.PROP_S_IMAGE {
    width: 300px; /* Tamaño específico para la imagen (ancho) */
    height: 300px; /* Tamaño específico para la imagen (alto) */
    object-fit: contain; /* Asegura que la imagen no se distorsione */
   /* flex-shrink: 0; /* Evita que la imagen se reduzca */
    margin-left: auto; /* Empuja la imagen a la derecha */
    flex-grow: 200px;
}

.PROP_S_IMAGE2 {
    width: 350px; /* Tamaño específico para la imagen (ancho) */
    height: 350px; /* Tamaño específico para la imagen (alto) */
    object-fit: contain; /* Asegura que la imagen no se distorsione */
    flex-shrink: 0; /* Evita que la imagen se reduzca */
    border-radius: 20px;
    margin-left: auto; /* Empuja la imagen a la derecha */
}

/* Text Content Styling */
.PROP_S_TEXT_CONTENT {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center; /* Centra el contenido verticalmente */
    text-align: left;
}

/* Title Styling */
.PROP_S_T_TEXT {
    font-size: 3.5rem;
    font-weight: bold;
    color: #333333;
    text-align: center; /* Centra el texto Alinea el texto */
    margin-bottom: 15px;
}

/* Description Text Styling */
.PROP_S_TEXTO {
    font-size: 1.5rem;
    color: #555555;
    line-height: 1.6;
    text-align: left;
}


/* Media Queries para hacerlo responsive */
@media (max-width: 768px) {
    #TOP_CONTENT {
        flex-direction: column; /* Cambia la dirección a columna en pantallas pequeñas */
        align-items: center; /* Centra los elementos en pantallas pequeñas */
        text-align: center; /* Centra el texto en pantallas pequeñas */
    }

    .PROP_S_T_TEXT {
        font-size: 2rem; /* Tamaño de fuente más pequeño para pantallas pequeñas */
        text-align: center; /* Centra el texto en pantallas pequeñas */
    }

    .PROP_S_TEXTO {
        font-size: 1.2rem; /* Tamaño de fuente más pequeño para pantallas pequeñas */
        text-align: center; /* Centra el texto en pantallas pequeñas */
    }

    .PROP_S_IMAGE, .PROP_S_IMAGE2 {
        width: 100%; /* Hace que la imagen ocupe el ancho completo en pantallas pequeñas */
        max-width: 300px; /* Limita el tamaño máximo de la imagen */
        height: auto; /* Mantiene la proporción de la imagen */
        margin-left: 0; /* Elimina el margen izquierdo en pantallas pequeñas */
    }
}

@media (max-width: 480px) {
    .PROP_S_T_TEXT {
        font-size: 1.8rem; /* Tamaño de fuente más pequeño para pantallas muy pequeñas */
    }

    .PROP_S_TEXTO {
        font-size: 1rem; /* Tamaño de fuente más pequeño para pantallas muy pequeñas */
    }
}


/*Configuración de la flecha intuitiva*/
.scroll-down {
  position: relative;
  left: 50%;
  transform: translateX(-10%);
  z-index: 5;
  cursor: pointer;
}

.scroll-down img {
  width: 80px; /* Ajusta tamaño */
  height: 80px;
  animation: bounce 2s infinite;
}


/* Animación para llamar la atención */
@keyframes bounce {
  0%, 20%, 50%, 80%, 100% { transform: translate(-50%, 0); }
  40% { transform: translate(-50%, -10px); }
  60% { transform: translate(-50%, -5px); }
}

.scroll-top {
  display: none; /* Oculta al inicio */
  position: fixed;
  bottom: 10px;
  right: 5px;
  z-index: 5;
  cursor: pointer;
}

.scroll-top img {
  width: 80px;
  height: 80px;
  transition: opacity 0.3s;
  animation: bounce 2s infinite;
}

@media (max-width: 768px) {
 .scroll-top {
   
  right: -15px;
  
}

}
/*FOOTER*/

.footer {
    background-color: #333;
    color: #fff;
    padding: 40px 20px;
    text-align: center;
    font-family: 'Raleway', sans-serif;
    border-top: 3px solid gray;
    padding-bottom: 0;
}

#color_white{
    border-color: #ffffff;
    color: #ffffff;

    font-weight: 800;
}

.footer h5 {
    font-size: 1.2em;
    margin-bottom: 15px;
    color: #ffffff;

    font-weight: 800;
}

.footer p {
    font-size: 0.9em;
    color: #ccc;
    line-height: 1.5;
}

.footer iframe {
    border: 2px solid #59ff00;
    border-radius: 8px;
}

.footer .btn {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    color: white;
    transition: transform 0.3s ease;
}

.footer .btn:hover {
    transform: scale(1.1);
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
}

.footer .btn-primary {
    background-color: #3b5998;
}

.footer .btn-danger {
    background-color: #dd4b39;
}

.footer .btn-secondary {
    background-color: #ac2bac;
}

.footer .btn-success {
    background-color: #f4c20d;
}

.footer hr {
    border: 1px solid #59ff00;
    margin: 20px 0;
}
#color_white{
    font-weight: 800;
}

/* SECCION 2 */
/* Barra de estadísticas */
.stats-bar {
  background-color: #f8f9fa;
}

.counter, .static-number {
  font-size: 2.5rem;
  font-weight: bold;
  color: #007bff;
}

/* Sección de convocatoria */
.convocatoria-section .motivacion {
  background-color: #e4ddd5;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 350px; /* Aumentada */
  padding: 40px;
  font-size: 1.1rem;
}

.convocatoria-section .motivacion h3 {
  color: #0d6efd;
  font-weight: bold;
  font-size: 2rem;
  margin-bottom: 15px;
}

.convocatoria-section .motivacion p {
  margin-bottom: 20px;
}

/* Tabla de inscritos */
.convocatoria-section .tabla-inscritos {
  background-color: #ffffff;
  box-shadow: 0 0 10px rgba(0,0,0,0.05);
  padding: 20px;
  min-height: 350px;
}

.table thead th {
  background-color: #0d6efd;
  color: white;
}

/* Botón de inscripción */
.btn-primary {
  background-color: #0d6efd;
  border: none;
  font-weight: bold;
}

.btn-primary:hover {
  background-color: #0b5ed7;
}

.table-container {
  max-height: 350px;
  overflow-y: auto;
  border: 1px solid #dee2e6;
  border-radius: 5px;
}

.clickable {
  cursor: pointer;
}

.collapse td {
  background-color: #f8f9fa;
  font-size: 0.95rem;
  color: #333;
}

.collapse-row {
  transition: all 0.3s ease;
}

.collapse-row td {
  background-color: #f1f3f5;
  font-style: italic;
}

/* Tabla 2 */
/* Estilo general de secciones redondeadas */
section.container.bg-white {
  border: 1px solid #e0e0e0;
}

.table-responsive {
  max-height: 400px;
  overflow-y: auto;
}


.btn-outline-success:hover {
  background-color: #193e87;
  color: #fff;
}

/* HRS ECUESTRE */
.EC_DORADO_HR{
    border-color: goldenrod;
    border: 5px solid goldenrod;
    background-color: goldenrod;
}

.PROP_S_T_TEXT_COPAQRO{
    font-size: 2.5rem;
    font-weight: bold;
    color: #193e87;
    text-align: center; /* Centra el texto Alinea el texto */
    margin-bottom: 15px;
     display: flex;
            flex-direction: row;
}

.PROP_S_T_TEXT_COPAQRO:before, .PROP_S_T_TEXT_COPAQRO:after{
            content: "";
            flex: 1 1;
            border-bottom: 5px solid goldenrod;
            margin: auto;
}

/* SECCION ACTIVA MENU */
.menu a.active {
    border-bottom: 3px solid #003d7e;
    padding-bottom: 10px;
}

.menu a::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -8px;
    height: 3px;
    width: 0;
    background-color: #555; /* gris oscuro */
    transition: width 0.3s ease;
}

.menu a:hover::after {
    width: 100%;
}


/* Estilos Responsivos Adicionales */
@media (max-width: 768px) {

}

@media (max-width: 480px) {
    .menu > li > a {
        font-size: 18px; /* Reducir el tamaño de fuente para pantallas muy pequeñas */
        padding: 15px; /* Ajustar el padding */
    }

    .footer {
        padding: 20px 10px; /* Reducir el padding del footer */
    }

    .footer h5 {
        font-size: 1em; /* Ajustar el tamaño de fuente del footer */
    }

    .footer p {
        font-size: 0.8em; /* Reducir el tamaño de fuente del párrafo */
    }
}

.menu-btn {
      position: fixed;
      top: 15px;
      right: 15px;
      z-index: 1051;
      background-color: #003d7e;
      color: white;
      border-width: 4px;
      border-color: #ffffff;
      padding: 10px 15px;

      border-radius: 15px;
      box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
    }

    .menu-btn:hover {
      background-color: #003d7e;
    }

    .sidebar-link {
      display: block;
      padding: 10px 0;
      color: #333;
      font-weight: 500;
      text-decoration: none;
      border-bottom: 1px solid #eee;
    }

    .sidebar-link:hover {
      color: #0d6efd;
    }

    .gradient-text {
    background: linear-gradient(90deg, #bec757, goldenrod);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
  }

  .animate-fade-in {
    animation: fadeInUp 1s ease-out;
  }

  @keyframes fadeInUp {
    from {
      opacity: 0;
      transform: translateY(20px);
    }
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }

  /* Modal */
.modal {
  display: none; /* <-- Clave para no bloquear la página */
  position: fixed;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background: rgba(0,0,0,0.7);
  justify-content: center;
  align-items: center;
  z-index: 9999;
}
.modal-content {
  position: relative;
  background: #fff;
  width: 80%;
  height: 80%;
  border-radius: 10px;
  overflow: hidden;
}
.modal-content iframe {
  width: 100%;
  height: 100%;
}
.close {
  position: absolute;
  
  top: 15px; right: 15px;
  color: white;
  background: rgba(0,0,0,0.9);
  padding: 20px 20px;
  border-radius: 25%;
  font-size: 36px;
  cursor: pointer;
}
.close:hover {
background: rgba(0,0,0,0.6);

}