@charset "utf-8";
/* CSS Document */

@import url('https://cdn-uicons.flaticon.com/3.0.0/uicons-regular-straight/css/uicons-regular-straight.css');
@import url('https://cdn-uicons.flaticon.com/3.0.0/uicons-brands/css/uicons-brands.css');
@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:ital,wght@0,200..800;1,200..800&display=swap');

/*--------*/

* {outline:0; padding:0; margin:0; box-sizing: border-box;}
html {font-size: 62.5%; }

body { font-family:"Plus Jakarta Sans", sans-serif; overflow-x:hidden !important; background:#fff; }
main { width:100%; clear:both; font-size:1.6rem; }
a {color:#2E67B2; text-decoration:none; display:inline-block;} a:hover {color:#A1D3EC; } 
strong { color:#2E67B2; }
b { color:#00257a; }
i { color:#2E67B2; } 
p { padding:.5em 0; line-height:2rem; width:100%; color:#000; font-size:1.5rem;} p i {margin-left:-.5em;} 
button {border:0; background:none; color:#fff; font-size:1.6rem; cursor:pointer;}

h1 {font-size:5rem; line-height:4.8rem; color:#00257a; padding:.7em 0; width:100%; font-family:"Plus Jakarta Sans", sans-serif; font-weight: 400; } 
h2 {font-size:4rem; line-height:4.5rem; color:#717988; padding:.6em 0; width:100%; font-family:"Plus Jakarta Sans", sans-serif; font-weight: 400;} 
h3 {font-size:2.6rem; line-height:2.5rem; color:#2E67B2; padding:.5em 0; width:100%; font-family:"Plus Jakarta Sans", sans-serif; font-weight: 500;} 
h4 {font-size:1.8rem; line-height:1.7rem; color:#717988; padding:.5em 0; width:100%; font-family:"Plus Jakarta Sans", sans-serif; font-weight: 400;} 
h5 {font-size:1.6rem; line-height:1.6rem; color:#000; padding:.4em 0; width:100%; font-family:"Plus Jakarta Sans", sans-serif; } 
h6 {font-size:1.2rem; line-height:1.3rem; color:#000; padding:.4em 0; width:100%; font-family:"Plus Jakarta Sans", sans-serif; } 

.boton { padding:.6em 1em; margin: .5em; color:#fff; background: #2E67B2; font-size:1.4rem; text-align:center; cursor:pointer; border-radius: 8px; transition: background-color 0.3s ease; } 
.boton i {color:#fff !important; font-size:1.4rem; padding: 1.5em 0em 0em .6em;}
.boton:hover { color:#fff; background:#214E89; }

.boton-rs { padding:.4em .8em; margin: .5em; color:#fff; background: #2E67B2; font-size:1.2rem; text-align:center; cursor:pointer; border-radius: 7px; transition: background-color 0.3s ease; } 
.boton-rs i {color:#fff !important; font-size:1.4rem; padding: 3px 0px 0px 3px;}
.boton-rs:hover { color:#fff; background:#214E89; }

.boton2 { padding:.8em 1.2em; margin: .6em; color:#1F1F1F; border: solid 0.5px #B1B1B1; font-size:1.3rem; text-align:center; cursor:pointer; border-radius: 8px; transition: background-color 0.3s ease; } 
.boton2 i {color:#1F1F1F !important; font-size:1.2rem; padding: 0.1em 0em 0em .5em;}
.boton2:hover { color:#000; background:#ccc; border: #2E67B2; }
.boton2:hover i { color:#000 !important; } 

.social-media i {font-size: 4.2rem !important; max-width: 300px; padding: 0.8em;}
.social-media:hover i {color: #fff !important;}

#arriba { display:none; position:fixed; bottom:2em; right:30px; z-index:20; background:#4B9FFF; color:#fff; cursor: pointer; padding:13px  8px 10px 8px; border-radius:50px; border:0; box-shadow:0 3px 3px 0 rgba(0,0,0,0.5); line-height:18px; font-size:1.5rem;}
#arriba i {color: #fff;}
#arriba:hover {  background:#96C7FF; color:#000; }
#arriba:hover i {color: #000;}

.color-1 {color: #2E67B2!important;}
.color-2 {color: #00257a!important;}
.color-3 {color: #717988!important;}

.izquierda {text-align:left !important;}
.derecha {text-align:right !important;}
.centrado {text-align: center;}
.oculto { display:none !important; }

.listas ul {list-style: none; padding: 0; margin: 0;}
.listas li {list-style: none; font-size: 1.6rem; text-indent: -1.8rem; padding-left: 1.5rem; color: #4a4f59; margin-bottom: 10px;}
.listas i {color: #2E67B2;}

.back2 {background:#F5E7FF; width:100%; display:flex; justify-content:space-evenly; flex-wrap:wrap; align-items:center; padding:2em 0; }

.inicio h1, .inicio h2, .inicio h3, .inicio h4, .inicio p {color: #fff!important;}
.breadcumb {background: #717988; width: 100%; padding: 10px 0px 10px 80px; color: #fff; font-size: 1.3rem;}
.breadcumb a {color: #fff; text-decoration:underline;}
.breadcumb i, .breadcumb strong {color: #fff;}


.col-2, .col-3, .col-4, .col-40, .col-30, .col-50, .col-60, .col-80, .col-90, .col-25, .col-75 {min-height:50px;  padding:1em .5em; }

/*------------------Social Menu--------*/

.social { position:fixed; right:0; top:210px; z-index:21;  }
.social ul {list-style:none; text-align:center; padding:0; background:rgba(0,0,0,.7); padding-right:20px; padding-left:10px; padding-bottom:1em; border-top-left-radius:1em; border-bottom-left-radius:1em;   }
.social ul li a {display:inline-block; color:#fff; padding:10px 8px 2px 8px; text-decoration: none; font-size:2rem; margin-top:-1px; 
animation-direction: normal; -webkit-transition:400ms ease;-o-transition:400ms ease; transition:400ms ease; }
.social ul li img { height:60px; margin:1em 0; background:#095E95; border-radius:3em; border:solid 1px #e0b123; padding:.5em;} 
.social ul li a:hover img { background:#000;}
.social ul li a:hover { color:#e0b123;  }

/*----- Navegación por pestañas ----*/

.tabs-container{width:90%;background-color:#fff;border-radius:16px;box-shadow:0 4px 20px rgba(0,0,0,0.1);overflow:hidden}.tabs-header{display:flex;justify-content:space-around;background-color:#fff}.tab{display:flex;align-items:center;padding:1rem 1.5rem;cursor:pointer;transition:background-color .3s,color .3s;user-select:none;font-weight:500;color:#666}.tab:hover{color:#095E95}.tab.active{font-weight: 600;border-bottom:2px solid #095E95}.tab-indicator{width:12px;height:12px;border-radius:50%;border:2px solid #ccc;margin-right:.5rem;box-sizing:border-box}.tab.active .tab-indicator,.tab-indicator.active-indicator{background-color:#A1D3EC;border:2px solid #095E95}.tabs-content{padding:2rem}.tab-pane{display:none}.tab-pane.active-content{display:block}

/*--------------------- -----------*/
footer { width:100%; min-height:100px; clear:both; text-align:center; font-size:1.5rem; padding-bottom:1em;  background:#babcbc; }
footer .col {align-items:center; justify-content:center; margin-top:0;}
footer ul {padding:.5em 0; margin-right:1em; margin-bottom: 0.5em; }
footer li {display:inline; padding:1em 0em; }
footer h4 {color: #fff; font-weight: 400;}
footer h5 {color: #fff; font-weight: 400;}
footer p {color: #fff; font-size: 12px;}
footer th, footer td {color: #fff; font-size: 12px;}
footer a {color: #fff!important;}
footer a:hover {color: #fff!important;}

/* ---------Social Footer -----*/
.icon-button {background-color:#fff; border-radius:3em;  cursor: pointer; display:inline-block; font-size:1.4rem; width:3em; height:3em; line-height:3em; position:relative; border-right:0; }

/* Circle */
.icon-button span { display: block; height:0; left:50%; margin:0; position:absolute; top:50%; background-color:#000; border-radius:3em;
-webkit-transition: all 0.3s; -moz-transition: all 0.3s;  -o-transition: all 0.3s; transition: all 0.3s; width: 0;}
.icon-button:hover span { width:3em; height:3em; background: #000; margin:-1.5em; }

/* Icons */
.icon-button i { background:none; color:#babcbc; width:2em;  height:2em; left:.1em; line-height:3em; position:absolute; top:0; z-index:10; padding-left:.85em;}
.icon-button:hover i {color: #fff!important;}

.social-button {font-size: 2em; padding: .5em; }


/* LAYOUT: Contenedor y Sidebar */
.container { display: flex; width: 100%; min-height: 80%; }

/* Estilos del Sidebar */
.sidebar { width: 300px; color: black; padding: 20px 0; flex-shrink: 0; }
.sidebar h3 { margin-bottom: 30px; padding: 0 20px; color: #96C7FF!important; }
.sidebar i { color: rgba(225,225,225,1.00); }
.sidebar ul { list-style: none; padding: 0; margin: 0; }
.menu-item { padding: 15px 20px; cursor: pointer; border-bottom: 1px solid #34495e; transition: background-color 0.3s; color:#EEEEEE; }
.menu-item:hover { background-color: #151515; font-weight: 800; color: #96C7FF; }

/* Estilo para el elemento activo del menú */
.menu-item.active { font-weight: bold; background-color: #151515;}
.menu-item.active i { color: #4B9FFF; }

/* Estilos del Área de Contenido */
.content-area { flex-grow: 1; padding: 20px; }

/* Oculta/Muestra bloques de contenido */
.content-block { display: none; }
.content-block.active-content { display: block; }

/*---- Carrusel ----*/

/* Contenedor principal del carrusel */
.carousel-container { width: 90%; max-width: 1400px; margin: 0 auto; position: relative; overflow: hidden; }
/* Pista del carrusel (agrupando reglas duplicadas) */
.carrusel-pista, .carousel-track, .carousel-track-2 { display: flex; gap: 20px; padding: 20px 0; transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1); transform: translateX(0); }
/* Estilo de la tarjeta (card) */
.card { min-width: 300px; height: 370px; background-color: #2B569E ;background-size: cover; background-position: center; border-radius: 18px; overflow: hidden; position: relative; cursor: pointer; flex-shrink: 0; box-shadow: 0 0 0 rgba(0, 0, 0, 0); transition: transform 0.3s ease, box-shadow 0.3s ease; }
/* Efecto Hover: Zoom In y Box Shadow Azul Sólido */
.card:hover { transform: scale(1.03); box-shadow: 5px 5px 20px rgba(0, 180, 255, 0.5); }
/* Opacidad de imagen (pseudo-elemento before) */
.card::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.3); z-index: 3; transition: background-color 0.3s ease; }
/* Alfa al 0% al hacer rollover */
.card:hover::before { background-color: rgba(0, 0, 0, 0.2); }
/* Superposición de Contenido (Overlay) Centrado */
.card-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; padding: 30px; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; z-index: 4; }
/* Contenido de la tarjeta */
.card-content { background: none; padding-top: 0; padding-bottom: 0; width: 100%; }
/* Estilos de texto */
.card-title { font-size: 2.2rem; font-weight: bold; margin-bottom: 10px; color: #6ABE51!important; }
.card-description { font-size: 1.5rem; color: #fff; margin-bottom: 20px; max-width: 80%; }
.card-link { text-decoration: none; color: #00b4ff; font-weight: bold; font-size: 1.2rem; padding-bottom: 5px; border-bottom: 2px solid #00b4ff; display: inline-block; transition: color 0.3s; }
/* Navegación (flechas) */
.carousel-navigation { display: flex; justify-content: flex-start; gap: 10px; padding-top: 20px; }
.card h5 { color: #00b4ff;}
.nav-arrow { background: none; border: 2px solid #00b4ff; color: #00b4ff; width: 40px; height: 40px; border-radius: 50%; cursor: pointer; font-size: 1.7rem; transition: all 0.3s; display: flex; align-items: center; justify-content: center; }
.nav-arrow:hover:not(:disabled) { background-color: #00b4ff; color: #000; }
.nav-arrow:disabled { border-color: #333; color: #333; cursor: not-allowed; }

/* Diseño Responsivo */
@media (max-width: 768px) {
    .card { min-width: 80vw; }
    .carousel-navigation { margin-left: 20px; }
}


/* Contenedor principal FAQ */
  .faq-container {
    max-width: 82%;
    margin: 20px auto;
  }

  /* Estilo de cada bloque */
  details {
    background-color: #13131B;
    border: 1px solid #4B9FFF;
    border-radius: 12px;
    margin-bottom: 10px;
    padding: 12px;
    transition: all 0.3s ease;
  }

  /* Estilo del título (la pregunta) */
  summary {
    font-weight: bold;
	color: #FAF5FF;
    cursor: pointer;
    list-style: none; /* Quita la flecha por defecto en algunos navegadores */
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  /* Añadir un ícono de "+" manual */
  summary::after {
    content: '＋';
    color: #007bff;
  }

  /* Cambiar el ícono cuando está abierto */
  details[open] summary::after {
    content: '－';
  }

  /* Espaciado del contenido abierto */
  details p {
    margin-top: 10px;
    line-height: 1.5;
  }


/*--------------------- Formulario --------*/

.form-container {
      background: #ffffff;
      padding: 30px;
      max-width: 100%;
      margin: 0 auto;
      border-radius: 8px;
      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    }

    .form-container h2 {
      text-align: center;
      margin-bottom: 25px;
      color: #333;
    }

    label {
      display: block;
      margin-bottom: 6px;
    }

    input[type="text"],
    input[type="email"],
    input[type="tel"],
    textarea {
      width: 100%;
      padding: 10px;
      margin-bottom: 20px;
      border: 1px solid #ccc;
      border-radius: 6px;
      font-size: 16px;
    }

    textarea {
      resize: vertical;
    }

    .boton-formulario {
      background-color: #1f4ae6;
      color: #fff;
      padding: 12px;
      border: none;
      border-radius: 6px;
      cursor: pointer;
      width: 80%;
      font-size: 16px;
    }

    .boton-formulario:hover {
      background-color: #061433;
    }


/* Hero Carousel Contenedor principal */
.hero-carousel {
  width: 100%;
  height: 80vh;
  overflow: hidden;
  position: relative;
}

.carousel-inner {
  display: flex;
  width: 300%;
  height: 100%;
  transition: transform 0.5s ease-in-out; /* Movimiento suave al hacer clic */
}

.slide { width: 100%; height: 100%; background-size: cover; background-position: center; display: flex; align-items: center; justify-content: center; color: white; }

/* Estilo de las flechas */
button.prev, button.next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(0,0,0,0.5);
  color: white;
  border: none;
  padding: 15px;
  cursor: pointer;
  font-size: 24px;
  border-radius: 50%;
  transition: 0.3s;
  z-index: 10;
}

button.prev:hover, button.next:hover { background: red; } /* Usamos tu color rojo */
button.prev { left: 20px; }
button.next { right: 20px; }

/*------ Swiper Sliders -----*/
/* Altura del carrusel y de los slides */
/* SWIPER (Carrusel) */
.swiper { width: 100%; height: 550px; position: relative; }

.swiper-slide { display: flex; justify-content: center; align-items: left; background: #1a365d; background-size:contain; background-repeat: no-repeat; background-position: center; color: white; text-align: center; padding-top: 120px; }

/* Estilo para el slide ACTIVO */
.swiper-slide-active { opacity: 1; }

/* Contenido del slide (títulos, texto, botón) */
.slide-content { text-align: left; background: linear-gradient(to right, rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.0), rgba(0, 0, 0, 0)); padding: 20px 20px 20px 100px; width: 100%; margin: 0% 50% 0% 0%; }
.slide-content h1 { color: #fff; }
.slide-content p { font-size: 1em; margin-bottom: 1em; }

/* Ajustes de navegación y paginación (Opcional) */
.swiper-button-next, .swiper-button-prev { color: #5ed3fc !important; }
.swiper-pagination-bullet-active { background: #5ed3fc !important; }
.autoplay-progress { position: absolute; bottom: 0; left: 0; width: 100%; height: 5px; background: rgba(255, 255, 255, 0.2); z-index: 10; }
.progress-bar { height: 100%; width: 0; background-color: #007bff; transition-property: width; transition-timing-function: linear; }

/* Tarjetas Rollover */
.tarjeta-link {
            position: relative;
            display: block; /* Para que el enlace se comporte como un bloque */
            height: 250px;
            overflow: hidden;
        }

        /* La imagen de fondo */
        .tarjeta-bg {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-size: cover;
            background-position: center;
            transition: transform 0.3s ease;
            z-index: 1;
        }

        /* La capa oscura (overlay) */
        .tarjeta-link::before {
            content: "";
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-color: rgba(0, 0, 0, 0); /* Transparente por defecto */
            transition: background-color 0.3s ease;
            z-index: 2;
        }

        /* Texto centrado */
        .tarjeta-link h2 {
            position: relative;
            z-index: 3;
            color: white;
			font-size: 2.5rem;
            margin: 0;
            height: 100%;
            display: flex;
            align-items: center;
            justify-content: center;
            text-shadow: 2px 2px 4px rgba(0,0,0,0.5); /* Sombra para legibilidad inicial */
        }

.tarjeta-link strong {color: #fff!important;}

        /* Efecto Hover (Rollover) */
        .tarjeta-link:hover::before {
            background-color: rgba(0, 0, 0, 0.5); /* Oscurece al 0.5 */
        }

        .tarjeta-link:hover .background {
            transform: scale(1.05); /* Efecto opcional de zoom suave */
        }


/* Contenedor principal de la tira */
        .icon-strip {
            display: flex;
            gap: 12px;
            padding: 15px;
            justify-content: center;
            align-items: center;
        }

        /* Contenedor individual de cada icono */
        .icon-wrapper {
            position: relative;
            display: inline-block;
            cursor: pointer;
        }

        /* Estilo de la imagen */
        .icon-wrapper img {
            width: 36px; /* Ajusta el tamaño aquí */
            height: auto;
            transition: transform 0.3s ease;
        }

        /* Efecto de agrandado al pasar el mouse */
        .icon-wrapper:hover img {
            transform: scale(1.1);
        }

        /* Estilo de la etiqueta (Tooltip) */
        .label-icon {
            visibility: hidden;
            width: 120px;
            background-color: #333;
            color: #fff;
            text-align: center;
            border-radius: 6px;
            padding: 5px 0;
            position: absolute;
            z-index: 1;
            bottom: 125%; /* Aparece arriba del icono */
            left: 50%;
            margin-left: -60px; /* Centra la etiqueta */
            opacity: 0;
            transition: opacity 0.3s;
            font-family: sans-serif;
            font-size: 14px;
        }

        /* Flechita de la etiqueta */
        .label-icon::after {
            content: "";
            position: absolute;
            top: 100%;
            left: 50%;
            margin-left: -5px;
            border-width: 5px;
            border-style: solid;
            border-color: #333 transparent transparent transparent;
        }

        /* Mostrar etiqueta al hacer hover */
        .icon-wrapper:hover .label-icon {
            visibility: visible;
            opacity: 1;
        }


/*-------------------------------------- Galeria de Videos--*/

 .galeria-videos {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
      gap: 24px;
      max-width: 1200px;
      margin: 0 auto;
    }

    .video-thumb {
      position: relative;
      overflow: hidden;
      border-radius: 22px;
      cursor: pointer;
      background: #000;
      box-shadow: 0 10px 30px rgba(0, 0, 0, 0.10);
      transition: transform 0.35s ease, box-shadow 0.35s ease;
    }

    .video-thumb:hover {
      transform: translateY(-10px);
      box-shadow: 0 18px 40px rgba(0, 0, 0, 0.18);
    }

    .video-thumb img {
      width: 100%;
      aspect-ratio: 16 / 9;
      display: block;
      object-fit: cover;
      transition: transform 0.5s ease, filter 0.5s ease;
    }

    .video-thumb:hover img {
      transform: scale(1.04);
      filter: brightness(0.92);
    }

    .video-thumb::after {
      content: "";
      position: absolute;
      inset: 0;
      background: linear-gradient(
        to top,
        rgba(0, 0, 0, 0.35),
        rgba(0, 0, 0, 0.08),
        rgba(0, 0, 0, 0.12)
      );
      pointer-events: none;
    }

    .video-info {
      position: absolute;
      left: 22px;
      right: 22px;
      bottom: 18px;
      z-index: 2;
      color: #fff;
    }

    .video-info h3 {
      margin: 0;
      font-size: 1.1rem;
      font-weight: 600;
      letter-spacing: 0.2px;
    }

    .video-info p {
      margin: 6px 0 0;
      font-size: 1.4rem;
      opacity: 0.9;
    }

    .video-modal {
      position: fixed;
      inset: 0;
      background: rgba(10, 10, 12, 0.82);
      backdrop-filter: blur(10px);
      -webkit-backdrop-filter: blur(10px);
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 30px;
      z-index: 9999;
      opacity: 0;
      visibility: hidden;
      transition: opacity 0.35s ease, visibility 0.35s ease;
    }

    .video-modal.active {
      opacity: 1;
      visibility: visible;
    }

    .video-modal-content {
      position: relative;
      width: min(1100px, 100%);
      aspect-ratio: 16 / 9;
      background: #000;
      border-radius: 24px;
      overflow: hidden;
      box-shadow: 0 25px 80px rgba(0, 0, 0, 0.45);
      transform: translateY(30px) scale(0.96);
      opacity: 0;
      transition: transform 0.42s ease, opacity 0.42s ease;
    }

    .video-modal.active .video-modal-content {
      transform: translateY(0) scale(1);
      opacity: 1;
    }

    .video-modal iframe {
      width: 100%;
      height: 100%;
      border: none;
      display: block;
    }

    .cerrar-modal {
      position: absolute;
      top: 18px;
      right: 18px;
      width: 44px;
      height: 44px;
      border: none;
      border-radius: 50%;
      background: rgba(255, 255, 255, 0.16);
      color: #fff;
      font-size: 24px;
      line-height: 1;
      cursor: pointer;
      z-index: 10;
      backdrop-filter: blur(6px);
      -webkit-backdrop-filter: blur(6px);
      transition: background 0.25s ease, transform 0.25s ease;
    }

    .cerrar-modal:hover {
      background: rgba(255, 255, 255, 0.26);
      transform: scale(1.06);
    }


/* Laptop / tablet horizontal */
@media (max-width: 1200px) {
  .galeria-videos {
    grid-template-columns: repeat(3, 1fr);
  }
}

/* Tablet vertical */
@media (max-width: 1024px) {
  .galeria-videos {
    grid-template-columns: repeat(2, 1fr);
  }
}
		
.galeria-videos { grid-template-columns: 1fr;}	

	.video-thumb {
    aspect-ratio: 16 / 9;
    border-radius: 16px;
  }	
		
      .video-modal {
        padding: 12px;
      }

      .video-modal-content {
		width: 100%;
        border-radius: 14px;
      }

      .video-info h3 {
        font-size: 1rem;
      }

      .video-info p {
        font-size: 0.85rem;
      }
	}

.galeria-videos-vertical {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 20px;
  margin: 0 auto;
max-width: 1200px;	
}


.galeria-videos-vertical .video-thumb {
  aspect-ratio: 9 / 16;
  max-height: 420px;
}

.galeria-videos-vertical .video-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media (max-width: 768px) {
  .galeria-videos-vertical {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 480px) {
  .galeria-videos-vertical {
    grid-template-columns: 1fr;
  }
}


/* Galería Imágenes Rejilla Responsiva */
.gallery-container {
    display: grid;
    gap: 10px;
    padding: 10px;
    grid-template-columns: repeat(5, 1fr); /* Escritorio: 5 */
}

.gallery-item {
    overflow: hidden;
    cursor: pointer;
}

.gallery-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    aspect-ratio: 1/1;
    transition: transform 0.3s ease; /* Efecto Zoom */
}

.gallery-item img:hover {
    transform: scale(1.1); /* Crecimiento al pasar el mouse */
}

/* Media Queries */
@media (max-width: 1024px) {
    .gallery-container { grid-template-columns: repeat(4, 1fr); } /* Tablet: 4 */
}

@media (max-width: 600px) {
    .gallery-container { grid-template-columns: repeat(2, 1fr); } /* Móvil: 2 */
}

/* Estilos del Modal (Lightbox) */
.modal {
    display: none;
    position: fixed;
    z-index: 2000;
    top: 0; left: 0;
    width: 100%; height: 100%;
    background-color: rgba(0,0,0,0.9);
    justify-content: center;
    align-items: center;
}

.modal-content {
    max-width: 80%;
    max-height: 80%;
}

.close, .prev, .next {
    position: absolute;
    color: white;
    font-size: 40px;
    cursor: pointer;
    background: none;
    border: none;
}

.close { top: 20px; right: 35px; }
.prev { left: 20px; top: 50%; }
.next { right: 20px; top: 50%; }


/*--------------------- Extras --------*/

.clear {width:100%; height:1px;}
.white {color:#fff;}

.icon { font-size:4rem; }
.foto { width:100%;} 
.art {box-shadow:0 0 10px rgba(0,0,0,.5); border-radius:18px; width: 100%;} 

.imagen-1 {border-radius: 0px 30px 0px 30px; box-shadow:0 0 10px rgba(0,0,0,.2); width: 85%; }
.imagen-2 {border-radius: 20px 0px 20px 0px; width: 100%; margin-bottom: 15px; }

main table {text-align:left;  font-size:1.6rem; line-height:2.5rem; width:100%; } 

.separador {width:100%; height:50px;}
.separador-x {width:100%; height:100px; }
.separador-s {width:100%; height:25px; }


/* Style the buttons that are used to open and close the accordion panel */
.accordion { background-color: #D1E9FF; color: #444; cursor: pointer; padding: 18px; width: 100%; text-align: left; border: none;outline: none; transition: 0.4s; }

/* Add a background color to the button if it is clicked on (add the .active class with JS), and when you move the mouse over it (hover) */
.active-accordion, .accordion:hover {background-color: #84CAFF;}

.accordion:after { content: '\02795'; /* Unicode character for "plus" sign (+) */ font-size: 14px; color: #000; float: right; margin-left: 5px; }

.active-accordion:after { content: "\2796"; /* Unicode character for "minus" sign (-) */ }

/* Style the accordion panel. Note: hidden by default */
.panel { padding: 0 18px;background-color: white;display: none; overflow: hidden; }

.sombra {box-shadow:0 3px 3px rgba(0,0,0,.5); }

.box-blue {padding: 1.2em; height: 480px; border-radius: 18px; border: solid 0.6px #4B9FFF; margin: .5em; background: rgba(19,19,27,0.70); box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px; }
.box-blue a:hover {background:#000; }

.box-blue-2 {padding: 1.2em; height: auto; border-radius: 18px; border: solid 0.6px #4B9FFF; margin: .5em; background: rgba(19,19,27,0.70); box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px; }

.minicard {background: #13131B; border: thin #0088FF; border-radius: 12px; padding: 1.5em; margin: .6em; display: flex; justify-content: center; align-items: center; gap: 20px; }

.minicard2 {background: #13131B; border: thin #0088FF; border-radius: 12px; padding: .8em; margin: .5em; display: flex; justify-content: center; align-items: center; gap: 15px; }

.highlight {padding: .6rem;  margin: 1rem; color: #fff; text-align: center; background: #4B9FFF; background: linear-gradient(54deg, rgba(75, 159, 255, 1) 5%, rgba(20, 32, 51, 1) 95%); border-radius: 10px; }

.deg {padding: 2em; color: #fff; text-align: center; background: #4B9FFF; background: linear-gradient(54deg, rgba(75, 159, 255, 1) 5%, rgba(20, 32, 51, 1) 95%); }
.deg strong {color: #13131B;}



.section-1 {background: #b4c0d3 url("../images/bg-up.jpg") bottom center; background-size: cover; }
.section-1 p {color: #b4c0d3;}
.section-2 {background: #f0f3f3; width: 100%; padding: 1.5em;}
.section-3 {background: #f0f3f3; width: 100%; padding: .8em;}
.card-prod {border-radius: 22px; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);  background: #fff; padding: .5em; }

.card-feature { background-color: #0B0A12 ;background-size: cover; background-position: center; border-radius: 18px; border: solid 1px #717988; overflow: hidden; position: relative; cursor: pointer; flex-shrink: 0; box-shadow: 0 0 0 rgba(0, 0, 0, 0); transition: transform 0.3s ease, box-shadow 0.3s ease; }
/* Efecto Hover: Zoom In y Box Shadow Azul Sólido */


.cta {background: #0B0A12 url("../images/bg-cta-1.webp") center; background-size: cover; text-align: center; width: 80%; border-radius: 18px; padding: 2.5em; margin: 1em; color: #fff; }


/*-------------------------------------- WEB--*/

@media screen and (min-width:1025px){
		
main {padding-top:10px;}
header { width:100%; text-align:center; display:fixed;  justify-content:center; align-items:center;}
	
nav { width:100%; margin: auto; display: flex; justify-content: space-between; color: #000; background: #fff; position: fixed; z-index:990; padding-top:10px; border-bottom: solid 1px #ccc; }
nav ul {color:#000; padding: 1em; display:flex; justify-content:center;  align-items:center;  }
nav li 	{list-style: none; padding: 0px 12px; margin: .4em; white-space: nowrap;}
nav a {color:#000; font-size: 1.2rem; text-decoration:none; padding: 0px 10px }
nav a:hover { text-decoration: underline; color:#717988; } 	
nav a span { color:#fff !important;} nav a:hover span {color:#FF4C99!important;}
.active { color:#2E67B2; font-weight: 800; }
.active span {color:#4B9FFF !important;} 	
.active2 { color:#96C7FF; font-weight: 800; } 	

.dropbtn { padding:1.1em 3em 1em 3em; cursor:pointer; }
.dropdown {  display:inline-block; }
.dropdown:hover .dropdown-content, .dropdown:hover .dropdown-content2 { display: block; box-shadow: 3px 1px 30px 1px rgba(0,0,0,0.20); }	
	
.dropdown-content { display:none; position:absolute; z-index:20; text-align:left; white-space: normal!important; background-color:#fff;  margin-top:0; padding:1em; border: solid 1px rgba(197,197,197,1.00);}
.dropdown-content .uno { width:200px; float:left; height:auto; padding:0; margin-right:1em; }
.dropdown-content p { margin-bottom:1em; color: #000;}	
.dropdown-content a {color:#000; width:100%; text-decoration:none; display:inline-block; padding:1em 0em !important; font-size:1.2rem; border-bottom: 1px solid #f9f9f9;  }
.dropdown-content a:hover { color:#2E67B2; }
.dropdown-content i {color: #000!important;}	.dropdown-content i:hover {color: #2E67B2!important;}	
.drop-active { color:#2E67B2 !important;}	.drop-active img { background:#000;}
		
.menu-fixed { position:fixed; z-index:1000; width:100%; top:0; }	

	
/* Ajustamos el contenedor para dos columnas amplias */
.dropdown-content .dos {
    width: 650px; /* Un ancho cómodo para dos columnas */
    display: flex;
    flex-wrap: nowrap; /* Evitamos que se amontonen */
    gap: 30px; /* Espacio generoso entre las dos columnas */
    padding: 10px;
}

/* Estilo para cada una de las dos columnas principales */
.col-nav {
    flex: 1; /* Ambas columnas tendrán el mismo ancho (50/50) */
    display: flex;
    flex-direction: column; /* Los links irán uno debajo del otro */
}

/* Separador visual opcional entre las dos columnas */
.col-nav:first-child {
    border-right: 1px solid #eee;
    padding-right: 20px;
}

/* Titulillos de categoría */
.dropdown-header {
    font-weight: 800;
    color: #2E67B2;
    text-transform: uppercase;
    font-size: 0.9rem;
    letter-spacing: 1px;
    margin-bottom: 10px;
    border-bottom: 2px solid #2E67B2;
    padding-bottom: 5px;
}

/* Ajuste fino de los enlaces dentro de las columnas */
.col-nav a {
    padding: 8px 0 !important;
    font-size: 1.1rem;
    border-bottom: 1px solid #f9f9f9;
}	
	
	
	
.top {text-align:right; width:auto; padding:.5em 0; font-size:1.8rem; position: fixed; right:0; top:0; z-index:1001;  }
.top ul {padding:.5em 0; margin-right:1em; margin-bottom: 0.5em; }
.top li {display:inline; padding:.5em 0; }
.top a:hover img {filter:invert(1);}
.top a:hover i {color:#000;}	

.inicio {padding-top:68px; z-index: 11; display:flex; flex-wrap:wrap; justify-content:center; align-items:flex-start; position:relative;}	
.hero { width:100%; height:auto; padding-top: 10px; display:flex; flex-wrap:wrap; align-items:stretch; } 

.hero-2 { width:100%; height:auto; padding-top: 150px; display:flex; flex-wrap:wrap; align-items:flex-start; background: left center no-repeat; background-size:cover;}	
	
.col {width:1240px; margin:0 auto; display:flex; justify-content:space-around; flex-wrap:wrap; align-items:center; padding:2em 0; }
.col-2 {width:600px;} 
.col-3 {width:408px;}
.col-4 {width:304px;}
.col-50 {width:48%; }
.col-20 {width:20%;}
.col-25 {width:24%;}
.col-30 {width:30%;}
.col-70 {width:68%;}
.col-90 {width:90%;}
.col-80 {width:80%;}
.col-75 {width:75%; }
.col-60 {width:60%;}
.col-66 {width:66%; }
.col-40 {width:40%;}
.col-33 {width:33%;}
	
.izquierda {text-align:left !important;}
.derecha {text-align:right !important;}
.oculto { display:none !important; }	

.porcentaje {font-size:6rem; line-height:6rem; color:#272C66; width:auto; text-align:center; font-family:inter; }
.porcentaje2 {  width:180px; font-family:inter; border-radius:10em; padding:3em 3em; text-align:center;  }	
	
#uno {position:absolute; top:0; left:0;}
#dos {position:absolute; top:7em; left:7em;}
#tres {position:absolute; top:2em; right:4em;}
#cuatro {position:absolute; top:11em; right:0;}	

.azul { padding:2em; }
	
}

/*-------------------------------------- movil--*/ 

@media screen and (max-width:450px){
	
header {width:100%; min-height:62px; z-index:10; position:fixed; display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; border-bottom:1px solid #ccc;  background: #fff;}
main { padding:0;}
	
.col { width:100%; padding:0 4%; display:flex; flex-wrap: wrap; justify-content:space-evenly; }		
.col-2, .col-7, .col-3, .col-4, .col-5, .col-6, .col-8, .col-50, .col-20, .col-25, .col-30, .col-40, .col-70, .col-80, .col-90, .col-75, .col-60, .col-33  {width:100% !important;}

h1 {font-size:3.2rem; line-height:3.6rem; padding:.5em 0em;}
h2 {font-size:2.6rem; line-height:2.8rem; padding:.4em 0em;}
h3 {font-size:2.2rem; line-height:2.5rem; padding:.4em 0em;}
h4 {font-size:1.8rem; line-height:2rem; padding:.4em 0em;}
	
.menu_movil {width:15%; z-index:30; padding:0; margin:0;  cursor:pointer;  }
.btn_menu { padding:0; width:100%; color:#ffc60c; font-weight:normal; font-size:2.8rem; } 
	
nav {position:absolute; z-index:11; }		
nav ul { width:100%; left:-100%;  border:none; position:fixed; padding:0; top:0; background:#fff; color:#000; margin-top:65px; } 
nav li {display:block; float:none; text-align:left; width:100%; border-right:none; border-bottom:1px solid #ccc; padding-left:2em; }
nav a { font-size:1.4rem; padding:.8em 0; color:#000; width:100%; display:inline-block;  text-transform:uppercase;}
nav span { color:#000;} 
.active { color:#095E95;}  .active span {color:#095E95 !important ;}	 
nav .boton, nav .boton2, nav .boton3 {border-radius:0; border:0; }	
.last {width: 100%;}	
	
.dropdown-content {display:block; padding-left:2em;}
.dropdown-content a { display:inline-block; padding:.8em 0; }
				
.inicio {height:auto; padding-top:65px; }	
.hero { height:auto; padding-top:100px; background: url("../images/bg-hero.webp") right top no-repeat; background-size:cover;}
.hero-2 { padding-top: 100px; height: auto; background: center no-repeat;}	
    
.minicard {padding: 1em; margin: .4em; }

.faq-container {max-width: 92%;}
.cta {width: 92%; padding: 1.5em; margin: .6em;}	
	
main table { font-size:1.4rem;}
	
.text-form2, .caja  { width:75% !important; }	
.izquierda2 {text-align:left;}
.orden1 { order:1;} .orden2 { order:2;} .orden3 { order:3;} .orden4 { order:4;} .orden5 { order:5;} .orden6 { order:6;}	
.porcentaje {font-size:5rem; line-height:5rem; color:#272C66; width:50%; text-align:center; font-family:inter; margin:0 auto;}
.porcentaje2 {  width:180px; font-family:inter; border-radius:10em; padding:3em 3em; text-align:center;  }	

#uno, #dos, #tres, #cuatro {margin:1em auto;}
	
footer .logotipo {width:250px;}
    
.listas ul {list-style: none; padding: 0; margin: 0;}
.listas li {list-style: none; font-size: 1.6rem; text-indent: -.3em; padding-left: 3em; color: #4a4f59; margin-bottom: 8px;}  
   
.swiper-slide { background-size:cover; background-repeat: no-repeat; background-position: center; color: white; text-align: center; padding-top: 120px; }	
	
}


/*-------------------------------------- tablet --*/ 

@media screen and (min-width:451px) and (max-width:1024px){
	
header {width:100%; min-height:60px; background:#fff; z-index:9; position:fixed; display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; border-bottom:1px solid #ccc;}
.logo {padding:0px 0px 0px 16px; width:60%; margin-left: 0.5em; }	
main { padding:0;}

h1 {font-size:4rem; line-height:4.2rem; padding:.8em;}
h2 {font-size:3.2rem; line-height:3.3rem; padding:.8em;}
h3 {font-size:2.5rem; line-height:2.5rem; padding:.6em;}
h4 {font-size:2rem; line-height:1.8rem; padding:.5em;}	
	
.menu_movil {width:auto; z-index:20; position:absolute; padding:.5em 1em 0em 1em; margin:0;  cursor:pointer; top:5px; right:25px;  }
.btn_menu { padding:0; color:#e0b123; text-decoration:none; font-weight:normal; font-size:3.2rem;} 

nav {position:absolute; z-index:60; width:100%; }		
nav ul { width:100%; left:-100%;  border:none; position:absolute; padding:0; top:22px; background:#fff; color:#000; border-bottom:1px solid #6f78de;  padding-bottom: 2em;   } 
nav li {display:block; float:none; text-align:left; width:100%; border-right:none; border-bottom:1px solid #6f78de; padding-left:3em; }
nav a { font-size:1.4rem; padding:.8em 0; color:#000; width:100%; display:inline-block;  text-transform:uppercase;}
nav span { color:#000;} 
nav .last { border:none;}
nav img {display:none;}
	
.dropbtn { color:#FFF; background:rgba(255,251,240,0); border: none; cursor: pointer; padding-bottom:.55em;  }
.dropdown { display:inline-block;}
.dropdown:hover .dropdown-content {display:block;}	
	
.dropdown-content {display:block;}
.dropdown-content a { display:inline-block; padding:.7em 0; }
	
.col { width:98%; padding:1em 2%; display:flex; flex-wrap:wrap; justify-content:space-evenly; align-items:center;  }	
.col-7 {width:14.2%;}
.col-2 {width:48%;}
.col-3 {width:31%;}
.col-4 {width:25%;}
.col-5 {width:200px;}
.col-6 {width:200px;}
.col-20 {width:20%;}	
.col-25 {width:25%;}
.col-30 {width:30%;}
.col-33 {width:33%;}	
.col-40 {width:40%;}	
.col-50 {width:48%;}
.col-60 {width:60%;}		
.col-70 {width:70%;}	
.col-75 {width:75%;}
.col-80 {width:80%;}
.col-90 {width:90%;}	

.inicio {padding-top:3em; }		
.slider { width:100%; height:auto; padding: 3em 0em 1em 0em; display:flex; justify-content:flex-start; flex-wrap:wrap; align-items:center; }
	.box-blue {height: auto; padding: 1em;}
	
}


@media (max-width:450px){.hide-small{display:none!important}}
@media (min-width:451px) and (max-width:1024px){.hide-medium{display:none!important}}
@media (min-width:1025px){.hide-large{display:none!important}}

.animate-fading{-webkit-animation:fading 1s;animation:fading 1s}
@-webkit-keyframes fading{0%{opacity:0}100%{opacity:1}}
@keyframes fading{0%{opacity:0}100%{opacity:1}}
.animate-opacity{-webkit-animation:opac 1s;animation:opac 1s}
@-webkit-keyframes opac{from{opacity:0} to{opacity:1}}
@keyframes opac{from{opacity:0} to{opacity:1}}
.animate-top{position:relative;-webkit-animation:animatetop 0.4s;animation:animatetop 0.4s}
@-webkit-keyframes animatetop{from{top:-300px;opacity:0} to{top:0;opacity:1}}
@keyframes animatetop{from{top:-300px;opacity:0} to{top:0;opacity:1}}
.animate-left{position:relative;-webkit-animation:animateleft 0.4s; animation:animateleft 0.4s}
@-webkit-keyframes animateleft{from{left:-1000px;opacity:0} to{left:0;opacity:1}}
@keyframes animateleft{from{left:-1000px;opacity:0} to{left:0;opacity:1}}
.animate-right{position:relative;-webkit-animation:animateright 0.8s;animation:animateright 0.8s}
@-webkit-keyframes animateright{from{right:-300px;opacity:0} to{right:0;opacity:1}}
@keyframes animateright{from{right:-300px;opacity:0} to{right:0;opacity:1}}
.animate-bottom{position:relative;-webkit-animation:animatebottom 0.8s;animation:animatebottom 0.8s}
@-webkit-keyframes animatebottom{from{bottom:-300px;opacity:0} to{bottom:0px;opacity:1}}
@keyframes animatebottom{from{bottom:-300px;opacity:0} to{bottom:0;opacity:1}}
.animate-zoom {-webkit-animation:animatezoom 0.6s;animation:animatezoom 0.6s}
@-webkit-keyframes animatezoom{from{-webkit-transform:scale(0)} to{-webkit-transform:scale(1)}}
@keyframes animatezoom{from{transform:scale(0)} to{transform:scale(1)}}
.animate-input{-webkit-transition:width 0.4s ease-in-out;transition:width 0.4s ease-in-out}.animate-input:focus{width:100%!important}