/* 

*/
* {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
  }
  /* Previene scroll horizontal */
html, body {
  overflow-x: hidden;
  max-width: 100vw;
}



body {
  font-family: 'Century Gothic', sans-serif;
  overflow-x: hidden;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
p {
	margin-bottom: 0px;
	font-size: 14px;
	color: #666666;
	line-height: 30px;
}
a {
	text-decoration: none!important;
}
ul {
	padding: 0;
	margin: 0;
	list-style: none;
}

h1,h2,h3,h4,h5,h6 {
	margin: 0px;
	font-weight: bold;

}

a.filled-button {
	background-color: #0179C4;
	color: #fff;
	font-size: 13px;
	text-transform: uppercase;
	font-weight: 700;
	padding: 12px 30px;
	border-radius: 30px;
	display: inline-block;
	transition: all 0.3s;
}

a.filled-button:hover {
	background-color: #74EDE4;
    color: #012B5C;
}

a.border-button {
	background-color: transparent;
	color: #fff;
	border: 2px solid #fff;
	font-size: 13px;
	text-transform: uppercase;
	font-weight: 700;
	padding: 10px 28px;
	border-radius: 30px;
	display: inline-block;
	transition: all 0.3s;
}

a.border-button:hover {
	background-color: #f4f4f4;
    color: #0179C4;
}

.section-heading {
	text-align: center;
	margin-bottom: 90px;
}

.section-heading h2 {
	font-size: 36px;
	font-weight: 600;
	color: #1e1e1e;
}

.section-heading em {
	font-style: normal;
	color: #01488D;
}

.section-heading span {
	display: block;
	margin-top: 15px;
	text-transform: uppercase;
	font-size: 15px;
	color: #666;
	letter-spacing: 1px;
}

#preloader {
  overflow: hidden;
  background: #0179C4;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  position: fixed;
  z-index: 9999999;
  color: #fff;
}

#preloader .jumper {
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  display: block;
  position: absolute;
  margin: auto;
  width: 50px;
  height: 50px;
}

#preloader .jumper > div {
  background-color: #fff;
  width: 10px;
  height: 10px;
  border-radius: 100%;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  position: absolute;
  opacity: 0;
  width: 50px;
  height: 50px;
  -webkit-animation: jumper 1s 0s linear infinite;
  animation: jumper 1s 0s linear infinite;
}

#preloader .jumper > div:nth-child(2) {
  -webkit-animation-delay: 0.33333s;
  animation-delay: 0.33333s;
}

#preloader .jumper > div:nth-child(3) {
  -webkit-animation-delay: 0.66666s;
  animation-delay: 0.66666s;
}

@-webkit-keyframes jumper {
  0% {
    opacity: 0;
    -webkit-transform: scale(0);
    transform: scale(0);
  }
  5% {
    opacity: 1;
  }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 0;
  }
}

@keyframes jumper {
  0% {
    opacity: 0;
    -webkit-transform: scale(0);
    transform: scale(0);
  }
  5% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}

/* Sub Header Style (Mejorado) */

.sub-header {
  background: linear-gradient(135deg, #0179C4 0%, #74EDE4 50%, #01488D 100%);
  height: 45px;
  line-height: 54px;
  font-family: 'Inter', sans-serif;
  font-weight: 800;
  font-size: 14px;
  color: #fff;
}
/* Separador visual dentro del horario */
.left-info .divider {
  margin: 0 5px;
  color: rgba(255,255,255,0.5);
  border-left: 2px solid rgba(255,255,255,0.3);
  font-weight: 700;
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  border: 0;
}


.sub-header ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.sub-header ul li {
  display: inline-block;
}

.sub-header ul.left-info li {
  border-left: 1px solid rgba(255,255,255,0.3);
  padding: 0 16px;
}

.sub-header ul.left-info li:first-child {
  border-left: none;
}

.sub-header ul.left-info li i {
  margin-right: 8px;
  font-size: 16px;
  vertical-align: middle;
}

.sub-header ul.left-info li a {
  color: #fff;
  text-decoration: none;
  transition: color 0.3s;
}

.sub-header ul.left-info li a:hover {
  color: #e0f7fa;
}

.sub-header ul.right-icons {
  float: right;
}

.sub-header ul.right-icons li {
  width: 50px;
  font-weight: 700;
  text-align: center;
  border-left: 1px solid rgba(255,255,255,0.3);
}
.sub-header ul.right-icons li.call-center-item {
  width: auto;
}

.sub-header ul.right-icons li a {
  color: #fff;
   font-size: 14px;
  font-weight: 700;
  transition: opacity 0.3s, color 0.3s;
}

/* Estilo para ítem de Call Center */
.call-center-item {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  width: auto; /* para que no se limite a 50px */
  padding-left: 10px;
}

.call-center-item i {
  font-size: 16px;
  margin-right: 8px;
}

.call-text {
  color: #ffffff;
  font-weight: 900;
  border-radius: 50px;
  font-size: 18px;
  white-space: nowrap;
  text-shadow:
    0 0 4px #bd6f6f,
    0 0 8px  #bd6f6f,
    0 0 12px  #bd6f6f;
}



.call-center-item .call-text {
  font-size: 14px;
  font-weight: 500;
  color: #fff;
  white-space: nowrap;
}

/* Para mover toda la caja hacia la derecha */
.right-icons-box {
  margin-left: auto; /* empuja la caja hacia el extremo derecho */
  display: flex;
  align-items: center;
}

.sub-header ul.right-icons li a:hover {
  opacity: 0.75;
  color: #e0f7fa;
}
.urgent-blink {
  font-weight: 900;
  color: #FF3B3B;
  text-shadow:
    0 0 5px #FF3B3B,
    0 0 10px #FF3B3B,
    0 0 20px #FF3B3B,
    0 0 40px #FF0000;
  animation: blinkGlow 3s infinite;
}

@keyframes blinkGlow {
  0%, 100% {
    opacity: 1;
    text-shadow:
      0 0 5px #FF3B3B,
      0 0 10px #FF3B3B,
      0 0 20px #FF3B3B,
      0 0 40px #FF0000;
  }
  50% {
    opacity: 0.4;
    text-shadow: none;
  }
}


/* Header Style */

header {
	position: absolute;
	z-index: 99999;
	width: 100%;
	background-color: transparent!important;
	height: 80px;
	-webkit-transition: all 0.3s ease-in-out 0s;
    -moz-transition: all 0.3s ease-in-out 0s;
    -o-transition: all 0.3s ease-in-out 0s;
    transition: all 0.3s ease-in-out 0s;
}
header .navbar {
	padding: 20px 0px;
	
}


.background-header .navbar {
	padding: 10px 0px;
}
.background-header {
	top: 0;
	position: fixed;
	background-color: #fff!important;
	box-shadow: 0px 1px 10px rgba(0,0,0,0.1);
}
.background-header .navbar-brand h2 {
	color: #0179C4!important;
}
.background-header .navbar-nav a.nav-link {
	color: #1e1e1e!important;
}
.background-header .navbar-nav .nav-link:hover,
.background-header .navbar-nav .active>.nav-link,
.background-header .navbar-nav .nav-link.current,
.background-header .navbar-nav .nav-link.show,
.background-header .navbar-nav .show>.nav-link {
	color: #01488D!important;;
}

.nav-item.dropdown:hover .dropdown-menu {
    display: block;
}
.dropdown-menu { 
display: none; /* Ocultar por defecto */ 

}
.navbar .navbar-brand {
	float: 	left;
	margin-top: 12px;
	outline: none;
}
/* Estilo responsivo para el logo en el navbar */
@media (max-width: 768px) {
  .navbar-brand img {
    height: 40px !important;
    max-width: 80%;
    object-fit: contain;
  }

  .navbar {
    padding-top: 10px;
    padding-bottom: 10px;
  }
}
@media (max-width: 992px) {
  .navbar-brand img {
    height: 45px !important;
    max-width: 80%;
    object-fit: contain;
  }

  .navbar {
    padding-top: 10px;
    padding-bottom: 10px;
  }
}

.navbar .navbar-brand h2 {
	color: #fff;
	text-transform: uppercase;
	font-size: 24px;
	font-weight: 700;
	-webkit-transition: all .3s ease 0s;
    -moz-transition: all .3s ease 0s;
    -o-transition: all .3s ease 0s;
    transition: all .3s ease 0s;
}
.navbar .navbar-brand h2 em {
	font-style: normal;
	font-size: 16px;
}
#navbarResponsive {
	z-index: 999;
}
.navbar-collapse {
	text-align: center;
}
.navbar .navbar-nav .nav-item {
	margin: 0px 15px;
}
.navbar .navbar-nav .nav-link {
    position: relative;
    padding: 8px 16px;
    background: rgba(255, 255, 255, 0.2); /* Fondo blanco translúcido */
    border-radius: 20px 5px; /* Esquinas tipo chip pero anguladas */
    color: #fff;
    backdrop-filter: blur(4px); /* Efecto de desenfoque de fondo */
    margin-top: 5px;
    transition: all 0.3s ease-in-out;
    border: 1px solid rgba(255,255,255,0.3);
	font-weight:  800;
}
.navbar .navbar-nav .nav-link:hover {
    background: rgba(1, 121, 196, 0.8); /* Color primario al hover */
    color: #fff !important;
    border-color: #01488D;
}

/* Estilo para el nav-link activo: solo una línea inferior azul */
.navbar .navbar-nav .nav-link.active::after {
    content: "";
    position: absolute;
    left: 16px;
    right: 16px;
    bottom: 4px;
    height: 3px;
     background: rgba(1, 121, 196, 0.8); 
    border-radius: 2px;
}



.navbar .navbar-toggler-icon {
	background-image: none;
}
.navbar .navbar-toggler {
	border-color: #fff;
	background-color: #fff;	
	height: 36px;
	outline: none;
	border-radius: 0px;
	position: absolute;
	right: 30px;
	top: 20px;
}
.navbar .navbar-toggler-icon:after {
	content: '\f0c9';
	color: #01488D;
	font-size: 18px;
	line-height: 26px;
	font-family: 'FontAwesome';
}


/* Estilos para la lista desplegable */
.dropdown-menu {
    background-color: #f8f9fa;
    border: 1px solid #ddd;
    border-radius: 5px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    padding: 10px;
}
/* Estilos para la lista desplegable */
.dropdown:hover .dropdown-menu {
    display: block;
}


.dropdown-menu a {
    color: #333;
    text-decoration: none;
    padding: 10px 15px;
    display: block;
    border-radius: 3px;
    transition: background-color 0.3s, color 0.3s;
}

.dropdown-menu a:hover {
    background-color: #007bff;
    color: #fff;
}

.dropdown-menu a:active {
    background-color: #0056b3;
    color: #fff;
}


/* Banner Style */

.img-fill{
  width: 100%;
  display: block;
  overflow: hidden;
  position: relative;
  text-align: center
}

.img-fill img {
  min-height: 100%;
  min-width: 100%;
  position: relative;
  display: inline-block;
  max-width: none;
}

*,
*:before,
*:after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.Grid1k {
  padding: 0 15px;
  max-width: 1200px;
  margin: auto;
}

.blocks-box,
.slick-slider {
  margin: 0;
  padding: 0!important;
}

.slick-slide {
  float: left;
  padding: 0;
}

.Modern-Slider .item .img-fill {
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	height:95vh;
}


.Modern-Slider .item-1 .img-fill {
	background-image: url(../images/fachada231.png);
}

.Modern-Slider .item-2 .img-fill {
	background-image: url(../images/aguachica.jpg);
 background-position: center  5%;
}

.Modern-Slider .item-3 .img-fill {
	background-image: url(../images/servicios_imagen.jpg);
   background-position: center  5%;
  
}

.Modern-Slider .NextArrow{
  position:absolute;
  top:50%;
  right:30px;
  border:0 none;
  background-color: transparent;
  text-align:center;
  font-size: 36px;
  font-family: 'FontAwesome';
  color:#FFF;
  z-index:5;
  outline: none;
  cursor: pointer;
}

.Modern-Slider .NextArrow:before{
  content:'\f105';
}
/* Efecto zoom en la imagen del slide activo */
.Modern-Slider .slick-active .img-fill {
  transform: scale(1.05);
}
.Modern-Slider .img-fill {
  position: relative;
  transition: transform 3s ease;
  z-index: 1;
}


.Modern-Slider .PrevArrow {
  position:absolute;
  top:50%;
  left:30px;
  border:0 none;
  background-color: transparent;
  text-align:center;
  font-size: 36px;
  font-family: 'FontAwesome';
  color:#FFF;
  z-index:5;
  outline: none;
  cursor: pointer;
}

.Modern-Slider .PrevArrow:before{
  content:'\f104';
}

ul.slick-dots {
  display: none!important;
}

.Modern-Slider .text-content {
	text-align: left;
  	width: 75%;
  	position: absolute;
  	top: 50%;
  	left: 50%;
  	transform: translate(-50%, -50%);
}

.Modern-Slider .item h6 {
  margin-bottom: 15px;
  font-size: 22px;
  text-transform: uppercase;
  font-weight: bold;
  letter-spacing: 1px;
  color:white;
  animation:fadeOutRight 1s both;
}

.Modern-Slider .item h4 {
  margin-bottom: 30px;
  text-transform: uppercase;
  font-size: 44px;
  font-weight: bold;
  letter-spacing: 2.5px;
  color:#FFF;
  overflow:hidden;
  animation:fadeOutLeft 1s both;
}

.Modern-Slider .item p {
	max-width: 570px;
	color: #fff;
	font-size: 15px;
	font-weight: bold;
	line-height: 30px;
	margin-bottom: 40px;
}

.Modern-Slider .item a {
  margin: 0 5px;
}

.Modern-Slider .item.slick-active h6{
  animation:fadeInDown 1s both 1s;
}

.Modern-Slider .item.slick-active h4{
  animation:fadeInLeft 1s both 1.5s;
}

.Modern-Slider .item.slick-active{
  animation:Slick-FastSwipeIn 1s both;
}

.Modern-Slider .buttons {
  position: relative;
}

.Modern-Slider {background:#000;}


/* ==== Slick Slider Css Ruls === */
.slick-slider{position:relative;display:block;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-touch-callout:none;-khtml-user-select:none;-ms-touch-action:pan-y;touch-action:pan-y;-webkit-tap-highlight-color:transparent}
.slick-list{position:relative;display:block;overflow:hidden;margin:0;padding:0}
.slick-list:focus{outline:none}.slick-list.dragging{cursor:hand}
.slick-slider .slick-track,.slick-slider .slick-list{-webkit-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}
.slick-track{position:relative;top:0;left:0;display:block}
.slick-track:before,.slick-track:after{display:table;content:''}.slick-track:after{clear:both}
.slick-loading .slick-track{visibility:hidden}
.slick-slide{display:none;float:left /* If RTL Make This Right */ ;height:100%;min-height:1px}
.slick-slide.dragging img{pointer-events:none}
.slick-initialized .slick-slide{display:block}
.slick-loading .slick-slide{visibility:hidden}
.slick-vertical .slick-slide{display:block;height:auto;border:1px solid transparent}




/* Request Form */

.request-form {
	background-color: #012B5C;
	padding: 40px 0px;
	color: #fff;
}

.request-form h4 {
	font-size: 22px;
	font-weight: 600;
}

.request-form span {
	font-size: 15px;
	font-weight: 400;
	display: inline-block;
	margin-top: 10px;
}

.request-form a.border-button {
	margin-top: 12px;
	float: right;
}




/* Services */
.services {
	padding: 100px 20px;
	background-color: #f4f6f9;
	text-align: center;
  }
  
  /* Título */
  .section-heading h2 {
	font-size: 36px;
	font-weight: 600;
	margin-bottom: 10px;
  }
  
  .section-heading span {
	color: #7f8c8d;
	font-size: 18px;
  }
  
  /* Tarjetas */
  .service-grid {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 30px;
	margin-top: 50px;
  }
  
  .service-item {
	background-color: #ffffff;
	border-radius: 16px;
	box-shadow: 0 10px 25px rgba(0, 0, 0, 0.05);
	overflow: hidden;
	width: 300px;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
	animation: fadeInUp 1s ease forwards;
  }
  
  .service-item:hover {
	transform: translateY(-8px);
	box-shadow: 0 15px 30px rgba(0, 0, 0, 0.08);
  }
  
  .service-item img {
	width: 100%;
	height: 200px;
	object-fit: cover;
  }
  
  .down-content {
	padding: 25px;
	background-color: #fafafa;
  }
  
  .down-content h4 {
	font-size: 20px;
	margin-bottom: 12px;
  }
  
  .down-content p {
	font-size: 15px;
	color: #7f8c8d;
	margin-bottom: 20px;
	line-height: 1.6;
  }
  
  /* Botón suscribir */
  .filled-button {
	display: inline-block;
	padding: 10px 20px;
	background-color: #3498db;
	color: #fff;
	border-radius: 8px;
	text-decoration: none;
	font-weight: 500;
	transition: background-color 0.3s ease;
  }
  
  .filled-button:hover {
	background-color: #2980b9;
  }
/* === MODAL OVERLAY === */
.modal {
  position: fixed;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background: rgba(0, 0, 0, 0.75);
  backdrop-filter: blur(6px);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.4s ease, visibility 0.4s ease;
}

.modal.show {
  opacity: 1;
  visibility: visible;
}

/* === CONTENIDO MODAL === */
.modal-content {
  background: #111827; /* Gris muy oscuro */
  border-radius: 20px;
  overflow: hidden;
  padding: 0;
  text-align: center;
  position: relative;
  max-width: 600px;
  width: 90%;
  box-shadow: 
    0 0 20px rgba(0, 255, 255, 0.2),
    0 0 40px rgba(0, 255, 255, 0.1),
    0 10px 40px rgba(0, 0, 0, 0.6);
  transform: translateY(30px);
  opacity: 0;
  transition: transform 0.4s ease, opacity 0.4s ease;
}

.modal.show .modal-content {
  transform: translateY(0);
  opacity: 1;
}

/* === CABECERA DEL MODAL CON IMAGEN === */
.modal-header-img img.modal-img {
  width: 100%;
  height: 250px;
  object-fit: cover;
  object-position: center;
  display: block;
  border-top-left-radius: 20px;
  border-top-right-radius: 20px;
}

/* === CUERPO DEL MODAL === */
.modal-body-text {
  padding: 32px 28px;
}

.modal-body-text h2 {
  color: #00ffff;
  font-size: 24px;
  font-weight: 700;
  margin-bottom: 12px;
  letter-spacing: 0.5px;
}

.modal-body-text p {
  font-size: 16px;
  color: #e5e7eb;
  margin-bottom: 24px;
  line-height: 1.6;
}

/* === BOTÓN MODAL === */
.boton_modal {
  padding: 12px 28px;
  background-color: #00ffff;
  color: #111827;
  border: none;
  border-radius: 8px;
  font-weight: 600;
  font-size: 16px;
  text-decoration: none;
  transition: all 0.3s ease;
  box-shadow: 0 0 10px rgba(0, 255, 255, 0.4);
}

.boton_modal:hover {
  background-color: #00caca;
  transform: translateY(-2px);
  box-shadow: 0 0 15px rgba(0, 255, 255, 0.6);
}

/* === BOTÓN CERRAR === */
.close-btn {
  position: absolute;
  top: 14px;
  right: 18px;
  font-size: 22px;
  cursor: pointer;
  color: #aaa;
  background-color: rgba(0, 0, 0, 0.2);
  padding: 6px 10px;
  border-radius: 50%;
  transition: background-color 0.3s ease, color 0.3s ease;
  z-index: 10;
}

.close-btn:hover {
  background-color: rgba(255, 255, 255, 0.1);
  color: #fff;
}

.logo-overlay {
  position: absolute;
  top: 12px;
  left: 12px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  font-weight: bold;
  z-index: 10;
}

.logo-overlay img {
  height: 30px;
  object-fit: contain;
  filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.2)); /* Ligera sombra para que resalte */

    /* Estilo blanco brillante futurista */
  filter: brightness(100) invert(1) drop-shadow(0 2px 4px rgba(0, 255, 255, 0.3));
  transition: transform 0.3s ease, filter 0.3s ease;
}

.logo-overlay img:hover {
  transform: scale(1.05);
  filter: brightness(110%) invert(1) drop-shadow(0 0 8px rgba(0, 255, 255, 0.5));
}




/* === RESPONSIVO === */
@media (max-width: 480px) {
  .modal-content {
    max-width: 90%;
  }

  .modal-header-img img.modal-img {
    height: 180px;
  }

  .modal-body-text {
    padding: 24px;
  }

  .modal-body-text h2 {
    font-size: 20px;
  }

  .modal-body-text p {
    font-size: 14px;
  }

  .boton_modal {
    font-size: 14px;
    padding: 10px 20px;
  }
}



/* more info */
.more-info {
	background-color: #f4f6f9;
	padding: 60px 20px;
	border-radius: 12px;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.05);
	font-family: 'Poppins', sans-serif;
  }
  
  .more-info .more-info-content {
	display: flex;
	flex-direction: column;
  }
  
  .left-video {
	background: #fff;
	border: none;
	border-radius: 12px;
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08);
	overflow: hidden;
	transition: transform 0.3s ease;
  }
  
  .left-video:hover {
	transform: scale(1.01);
  }
  
  .video-container {
	position: relative;
	width: 100%;
	padding-bottom: 56.25%;
	border-radius: 12px;
	overflow: hidden;
  }
  
  .video-container iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: none;
  }
  
  /* Contenido derecho */
  
  .more-info .right-content {
	padding: 30px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
  }
  
  .more-info .right-content span {
	text-transform: uppercase;
	font-size: 14px;
	color: #555;
	letter-spacing: 1px;
	margin-bottom: 10px;
	display: block;
  }
  
  .more-info .right-content h2 {
	font-size: 32px;
	font-weight: 600;
	color: #01488D;
	margin-bottom: 20px;
  }
  
  .more-info .right-content em {
	font-style: normal;
	color: #0179C4;
  }
  
  .more-info .right-content p {
	font-size: 16px;
	color: #333;
	margin-bottom: 20px;
	line-height: 1.6;
  }
  
  .more-info .filled-button {
	display: inline-block;
	cursor: pointer;
	padding: 10px 20px;
	background-color: #3498db;
	color: white;
	border-radius: 8px;
	text-decoration: none;
	font-weight: 500;
	transition: background-color 0.3s ease;
  }
  
  .more-info .filled-button:hover {
	background-color: #2980b9;
  }
  
  /* Responsive */
  
  @media (max-width: 768px) {
	

	.more-info .filled-button {
	  align-self: center;
	}
  }
  


/* Galería */
.gallery {
	background-color: #ffffff;
	padding: 60px 20px;
	border-radius: 5px;
	box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1);
  }
  
  .gallery .section-heading h2 {
	font-size: 32px;
	color: #01488D;
	text-align: center;
	margin-bottom: 15px;
	text-transform: uppercase;
	font-weight: bold;
  }
  
  .gallery .section-heading em {
	color: #0179C4;
	font-style: normal;
  }
  
  .gallery .section-heading span {
	font-size: 16px;
	text-align: center;
	color: #555;
	display: block;
	margin-bottom: 40px;
  }
  
  /* Grid de la galería */
/* Sección general de galería */
.gallery-section {
 
  padding: 30px 20px;
  background-color: #f4f6f9;
  text-align: center;
}
/* efecto ola de mar */
.wave-bottom {
  width: 100%;
  overflow: hidden;
  line-height: 0;
}

.wave-bottom svg {
  display: block;
  width: 100%;
  height: 80px;
}

.wave-blue svg path {
  fill: #ffffff; /* color de fondo de la próxima sección */
}



/* Título de la galería */
.gallery .section-heading h2 {
  font-size: 32px;
  color: #1e1e1e;
  margin-bottom: 10px;
}

.gallery .section-heading span {
  font-size: 16px;
  color: #666;
}

/* Carrusel de galería */
.owl-gallery {
  margin-top: 5px;
}

/* Contenedor individual de cada imagen */
.gallery-item {
  background: #ffffff;
  padding: 10px;
  margin: 15px;
  border-radius: 16px;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.06);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  max-width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
}

/* Hover para dar efecto a la tarjeta */
.gallery-item:hover {
  transform: scale(1.03);
  box-shadow: 0 15px 30px rgba(0, 0, 0, 0.1);
}

/* Estilo de la imagen dentro del contenedor */
.gallery-item img {
  width: 100%;
  height: auto;
  border-radius: 12px;
  object-fit: cover;
  display: block;
  transition: transform 0.3s ease;
}

/* Efecto de zoom leve al pasar el cursor */
.gallery-item:hover img {
  transform: scale(1.05);
}

/* Ajuste dentro del carrusel */
.owl-carousel .gallery-item {
  margin: 10px;
}

 /* Estilos generales para la sección de Contacto */

/* Sección de contacto general */
/* === Sección de Contacto === */
.contact-section {
  padding: 80px 20px;
  background-color: #fefefe;
  border-radius: 20px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
  margin-top: 60px;
}

.section-title {
  text-align: center;
  font-size: 32px;
  color: #245caa;
  margin-bottom: 30px;
}

.section-subtitle {
  text-align: center;
  color: #6b7280;
  font-size: 16px;
  margin-bottom: 40px;
}

.contact-content {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px; /* <-- Menor separación */
  flex-wrap: wrap;
  max-width: 890px; /* <-- Limita el ancho total */
  margin: 0 auto;    /* <-- Centrado */
}


.contact-image {
  flex: 1 1 300px;
  max-width: 400px;
}

.contact-image img {
  width: 100%;
  border-radius: 20px;
  animation: float 4s ease-in-out infinite;
}

.contact-form {
  width: 100%;
  max-width: 500px;
  margin: 0 auto;
  display: grid;
  gap: 20px;
  text-align: center;

}

.form-group input,
.form-group textarea {
  width: 100%;
  padding: 12px 18px;
  border: 2px solid #e0e0e0;
  border-radius: 12px;
  max-width: 400px;
  margin: 0 auto;
  font-size: 14px;
  background-color: #f9f9f9;
  outline: none;
  transition: border-color 0.3s ease;
}

.form-group input:focus,
.form-group textarea:focus {
  border-color: #7c3aed;
}

.send-button {
  background-color: #7c3aed;
  color: white;
  padding: 12px 24px;
  border: none;
  border-radius: 999px;
  font-weight: bold;
  font-size: 16px;
  cursor: pointer;
  transition: background-color 0.3s ease;
}

.send-button:hover {
  background-color: #5b21b6;
}

@keyframes float {
  0% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
  100% { transform: translateY(0); }
}

/* Responsive */
@media (max-width: 768px) {
  .contact-content {
    flex-direction: column;
    text-align: center;
  }

  .contact-form {
    width: 100%;
  }

  .contact-image {
    max-width: 100%;
  }
}


 
/* Sección general convenios */
.partners-section {
  background:  #f8f8f8b2;
  padding: 60px 20px;
  text-align: center;
}

/* Título principal */
.partners-section .section-title {
  font-size: 32px;
  margin-bottom: 10px;
  color: #1e1e1e;
}

/* Subtítulo */
.partners-section .section-subtitle {
  font-size: 16px;
  color: #555;
  margin-bottom: 40px;
}

/* CONTENEDOR GENERAL */
.ticker-section {
  padding: 20px 0;
  overflow: hidden;
}

/* CINTA ANIMADA */
.ticker-wrapper {
  width: 100%;
  overflow: hidden;
}

.ticker-track {
  display: flex;
  width: max-content;
  animation: tickerScroll 40s linear infinite; /* Más lento */
  gap: 40px;
}

/* TARJETAS DE LOGOS */
.ticker-card {
  background: #fff;
  border-radius: 18px;
  padding: 12px;
  min-width: 100px;
  height: 80px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.08);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  cursor: pointer;
}

.ticker-card:hover {
  transform: scale(1.05);
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.12);
}

/* Efecto al pasar el mouse por los logos con enlace */
.ticker-card a {
  display: inline-block;
  transition: transform 0.3s ease, filter 0.3s ease;
  cursor: pointer;
}

.ticker-card a:hover {
  transform: scale(1.05);
  filter: brightness(1.1);
}


/* LOGO DENTRO DE LA TARJETA */
.ticker-card img {
  max-height: 60px;
  max-width: 100%;
  object-fit: contain;
  filter: grayscale(10%);
  transition: filter 0.3s ease;
}

.ticker-card img:hover {
  filter: none;
}

/* ANIMACIÓN */
@keyframes tickerScroll {
  0% {
    transform: translateX(0%);
  }
  100% {
    transform: translateX(-50%);
  }
}

/* RESPONSIVE */
/* === Mejora responsive para sección de Convenios === */
@media (max-width: 768px) {
  .partners-section {
    padding: 40px 15px;
  }

  .partners-section .section-title {
    font-size: 24px;
  }

  .partners-section .section-subtitle {
    font-size: 14px;
    margin-bottom: 30px;
  }

  .ticker-card {
    min-width: 110px;
    height: auto;
    padding: 10px;
  }

  .ticker-card img {
    max-height: 48px;
    max-width: 80px;
  }

  .ticker-track {
    gap: 24px;
    animation-duration: 30s; /* más rápido en móviles */
  }
}

  

/* Footer Style */
footer {
	background-color: #232323;
	padding: 80px 0;
	color: #fff;
  }
  
  footer h4 {
	color: #fff;
	font-size: 22px;
	font-weight: bold;
	margin-bottom: 25px;
	border-bottom: 2px solid #01488D;
	display: inline-block;
	padding-bottom: 5px;
  }
  
  footer p {
	color: #bbb;
  }
  
  footer ul.social-icons {
	margin-top: 25px;
  }
  
  footer ul.social-icons li {
	display: inline-block;
	margin-right: 10px;
  }
  
  footer ul.social-icons li a {
	width: 40px;
	height: 40px;
	display: inline-block;
	line-height: 40px;
	text-align: center;
	background-color: #01488D;
	color: #fff;
	border-radius: 50%;
	transition: all 0.3s ease;
  }
  
  footer ul.social-icons li a:hover {
	background-color: #74EDE4;
	transform: scale(1.1);
  }
  
  footer ul.menu-list li a {
	font-size: 15px;
	color: #bbb;
	transition: color 0.3s ease;
  }
  
  footer ul.menu-list li a:hover {
	color: #74EDE4;
  }
  
  footer .contact-form input {
	border-radius: 20px;
	height: 45px;
	padding: 0 15px;
	background-color: #343434;
	color: #aaa;
	border: 1px solid #555;
	transition: all 0.3s ease;
  }
  
  footer .contact-form input:focus {
	border-color: #74EDE4;
	background-color: #232323;
  }
  
  footer .contact-form button.filled-button {
	background-color: #0179C4;
	color: #fff;
	border-radius: 30px;
	font-size: 14px;
	margin-top: 25px;
	font-weight: bold;
	padding: 12px 30px;
	transition: all 0.3s ease;
  }
  
  footer .contact-form button.filled-button:hover {
	background-color: #74EDE4;
	color: #01488D;
	transform: translateY(-2px);
  }
  



/* Sub-footer Style */

.sub-footer {
	background-color: #343434;
	text-align: center;
	padding: 25px 0px;
}

.sub-footer p {
	color: #fff;
	font-weight: 300;
	letter-spacing: 0.5px;
}

.sub-footer a {
	color: #fff;
}
/* logo gobierno */

/* --- Logos Footer --- */
/* --- Logos Footer --- */
.logos-footer {
	background-color: #232323;
	padding: 40px 0;
	text-align: center;
  }
  
  .logos-footer .logos-container {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 50px;
	flex-wrap: wrap;
  }
  
  .logo-footer {
	height: 70px;
	object-fit: contain;
	filter: brightness(0) invert(1); /* blanco por defecto */
	transition: transform 0.3s ease, filter 0.3s ease;
  }
  
  .logo-footer:hover {
	transform: scale(1.1);
	filter: none; /* color original al hacer hover */
  }
  
  /* --- Responsive para Logos Footer --- */
  @media (max-width: 768px) {
	.logos-footer .logos-container {
	  flex-direction: column;
	  gap: 20px;
	}
  
	.logo-footer {
	  height: 50px;
	}
  }

/* Encabezado de la página de Contacto */
.page-heading-contact {
  text-align: center;
  background-image: url(../images/urgencias_prueba.webp);
  background-repeat: no-repeat;
  background-position: center 20%;
  background-size: cover;
  padding: 230px 20px 155px 20px;
  color: #fff;
  font-weight: bold;
  
  
}

.page-heading-contact h1 {
  text-transform: capitalize;
  font-size: 36px;
  font-weight: 900;
  letter-spacing: 2px;
  margin-bottom: 18px;

}

.page-heading-contact span {
  font-size: 15px;
  text-transform: uppercase;
  font-weight: 900;
  letter-spacing: 1px;
  color: #fff;
  display: block;
  
}

/* Responsive para móviles y tablets */
@media (max-width: 768px) {
  .page-heading-contact {
    padding: 120px 15px 80px 15px;
    background-position: center 30%;
  }

  .page-heading-contact h1 {
    font-size: 24px;
    letter-spacing: 1px;
  }

  .page-heading-contact span {
    font-size: 13px;
    letter-spacing: 0.5px;
  }
}

/* estilos para estados finacnieros baner */
/* Encabezado de la página de Estados Financieros */
.page-heading-finance {
  text-align: center;
  background-image: url(../images/page-heading-bg.jpg);
  background-repeat: no-repeat;
  background-position: center 20%;
  background-size: cover;
  padding: 230px 20px 155px 20px;
  color: #fff;
  font-weight: bold;
}

.page-heading-finance h1 {
  text-transform: capitalize;
  font-size: 36px;
  font-weight: 900;
  letter-spacing: 2px;
  margin-bottom: 18px;
}

.page-heading-finance span {
  font-size: 15px;
  text-transform: uppercase;
  font-weight: 900;
  letter-spacing: 1px;
  color: #fff;
  display: block;
}

/* Responsive para móviles y tablets */
@media (max-width: 768px) {
  .page-heading-finance {
    padding: 120px 15px 80px 15px;
    background-position: center 30%;
  }

  .page-heading-finance h1 {
    font-size: 24px;
    letter-spacing: 1px;
  }

  .page-heading-finance span {
    font-size: 13px;
    letter-spacing: 0.5px;
  }
}


/* Estilo base para el encabezado de la página de servicios */
.page-heading-services {
  text-align: center;
  background-image: url(../images/servicios_item.jpg);
  background-repeat: no-repeat;
  background-position: center 20%;
  background-size: cover;
  padding: 230px 20px 155px 20px;
  color: #fff;
  font-weight: bold;
}

.page-heading-services h1 {
  text-transform: capitalize;
  font-size: 36px;
  font-weight: 900;
  letter-spacing: 2px;
  margin-bottom: 18px;
}

.page-heading-services span {
  font-size: 15px;
  text-transform: uppercase;
  font-weight: 900;
  letter-spacing: 1px;
  color: #fff;
  display: block;
}

/* Responsive: dispositivos móviles y tablets */
@media (max-width: 768px) {
  .page-heading-services {
    padding: 120px 15px 80px 15px;
    background-position: center 30%;
  }

  .page-heading-services h1 {
    font-size: 24px;
    letter-spacing: 1px;
  }

  .page-heading-services span {
    font-size: 13px;
    letter-spacing: 0.5px;
  }
}


/* Estilo base para el encabezado de la página de sedes */
.page-heading-sedes {
  text-align: center;
  background-image: url(../images/pasillo1.jpg);
  background-repeat: no-repeat;
  background-position: center 20%;
  background-size: cover;
  padding: 230px 20px 155px 20px;
  color: #fff;
  font-weight: bold;
}

.page-heading-sedes h1 {
  text-transform: capitalize;
  font-size: 36px;
  font-weight: 900;
  letter-spacing: 2px;
  margin-bottom: 18px;
}

.page-heading-sedes span {
  font-size: 15px;
  text-transform: uppercase;
  font-weight: 900;
  letter-spacing: 1px;
  color: #fff;
  display: block;
}

/* Responsive: dispositivos móviles y tablets */
@media (max-width: 768px) {
  .page-heading-sedes {
    padding: 120px 15px 80px 15px;
    background-position: center 30%;
  }

  .page-heading-sedes h1 {
    font-size: 24px;
    letter-spacing: 1px;
  }

  .page-heading-sedes span {
    font-size: 13px;
    letter-spacing: 0.5px;
  }
}


/* estilos para la  pagina de Acerca de nosotros la imagen  */

/* Estilo base */
.page-heading-about {
  text-align: center;
  background-image: url(../images/acerca_de_nosotros1.jpg);
  background-repeat: no-repeat;
  background-position: center 20%;
  background-size: cover;
  padding: 230px 20px 155px 20px;
  color: #fff;
  font-weight: bold;
}

.page-heading-about h1 {
  text-transform: capitalize;
  font-size: 36px;
  font-weight: 700;
  letter-spacing: 2px;
  margin-bottom: 18px;
}

/* Subtítulo o texto secundario (si hay span, p, etc.) */
.page-heading-about span,
.page-heading-about p {
  font-size: 15px;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #fff;
  font-weight: bold;
  display: block;
}

/* Responsive: tablets y móviles */
@media (max-width: 768px) {
  .page-heading-about {
     padding: 120px 15px 80px 15px;
    background-position: center 30%;
  }

  .page-heading-about h1 {
    font-size: 24px;
    letter-spacing: 1px;
  }

  .page-heading-about span,
  .page-heading-about p {
    font-size: 13px;
    letter-spacing: 0.5px;
  }
}


/* estilos para testimonios pagina sedes */

.testimonio-cta-section {
  background: #f9fbfc;
  padding: 60px 0;
}

.video-wrapper video {
  width: 100%;
  height: auto;
  display: block;
}



.video-caption {
  font-size: 0.95rem;
  color: #6c757d;
}
.cta-buttons {
    display: flex;
    gap: 10px; /* Puedes aumentar a 12px, 16px, etc. */
    flex-wrap: wrap;
  }
.cta-box {
  background: #ffffff;
  border-left: 5px solid #0077b6;
  transition: box-shadow 0.3s ease;
}

.cta-box:hover {
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
}

.cta-title {
  font-size: 1.5rem;
  color: #023047;
  font-weight: 700;
}

.cta-text {
  color: #495057;
  font-size: 1.05rem;
}

.btn-primary {
  background-color: #0077b6;
  border-color: #0077b6;
}

.btn-outline-primary {
  border-color: #0077b6;
  color: #0077b6;
}

.btn-outline-primary:hover {
  background-color: #0077b6;
  color: #fff;
}


/* Estilos generales de la sección  nuestras sedes*/
.team {
	background-color: #f3f7fb;
	padding: 80px 20px;
	text-align: center;
  }
  
  .team .container {
	max-width: 1200px;
	margin: 0 auto;
  }
  
  .team .section-heading h2 {
	font-size: 34px;
	font-weight: 700;
	color: #01488d;
	margin-bottom: 10px;
  }
  
  .team .section-heading em {
	font-style: normal;
	color: #0179c4;
  }
  
  .team .section-heading span {
	color: #444;
	font-size: 16px;
	font-weight: 400;
	display: block;
	margin-top: 8px;
  }
  
  /* Estilos de los items */
  .team-item {
	background-color: #ffffff;
	border-radius: 16px;
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08);
	overflow: hidden;
	transition: transform 0.4s ease, box-shadow 0.4s ease;
	margin-bottom: 30px;
  }
  
  .team-item:hover {
	transform: translateY(-8px);
	box-shadow: 0 12px 24px rgba(0, 0, 0, 0.15);
  }
  
  .team-item .image-wrapper {
	overflow: hidden;
	height: 220px;
  }
  
  .team-item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.4s ease;
  }
  
  .team-item:hover img {
	transform: scale(1.05);
  }
  
  /* Contenido abajo */
  .team-item .down-content {
	padding: 24px 20px;
	text-align: left;
  }
  
  .team-item .down-content h4 {
	font-size: 22px;
	font-weight: 700;
	color: #0179C4;
	margin-bottom: 6px;
  }
  
  .team-item .down-content span {
	font-size: 14px;
	font-weight: 500;
	color: #666;
	display: block;
	margin-bottom: 12px;
  }
  
  .team-item .down-content p {
	font-size: 15px;
	line-height: 1.7;
	color: #555;
  }
  
  .image-wrapper {
	position: relative;
	overflow: hidden;
  }
  
  .image-wrapper img {
	display: block;
	width: 100%;
	transition: transform 0.3s ease;
	border-radius: 12px;
  }
  
  .image-wrapper:hover img {
	transform: scale(1.05);
  }


  
  /* Overlay efecto tipo cortina */
  .hover-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(1, 9, 27, 0.85); /* Fondo oscuro */
	color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 20px;
	opacity: 0;
	transition: opacity 0.4s ease;
	border-radius: 12px;
  }
  
  .image-wrapper:hover .hover-overlay {
	opacity: 1;
  }
  
  .hover-content {
	text-align: center;
  }
  
  .hover-content h4 {
	margin-bottom: 10px;
	font-size: 20px;
	color: #ffffff;
  }
  
  .hover-content span {
	display: block;
	font-size: 14px;
	margin-bottom: 12px;
	color: #cccccc;
  }
  
  .hover-content p {
	font-size: 14px;
	margin-bottom: 15px;
	color: #dddddd;
	line-height: 1.4;
  }
  
  .ver-mas-btn {
	display: inline-block;
	padding: 10px 16px;
	background-color: #0179c4;
	color: #fff;
	font-size: 14px;
	border-radius: 8px;
	text-decoration: none;
	transition: background-color 0.3s ease;
  }
  
  .ver-mas-btn:hover {
	background-color: #01488d;
  }
  /* estilos para sedes pagina  */
  .sedes-section{
       background-color: #f4f6f9;

  }

  .section-padding {
    padding: 60px 0;
    

  }

  .section-heading h2 {
    font-weight: 700;
    font-size: 2.5rem;
  }

  .section-subtitle {
    color: #6c757d;
    font-size: 1.1rem;
    max-width: 600px;
    margin: 0 auto;
  }

  .sede-card {
    background: #ffffff;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
  }

  .sede-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
  }

  .sede-title {
    color: #005f73;
    font-weight: 600;
    font-size: 1.25rem;
  }

  .sede-address {
    font-size: 0.95rem;
    color: #6c757d;
  }

  .sede-services li {
    margin-bottom: 8px;
    font-size: 0.98rem;
    color: #333;
  }

  .sede-services i {
    color: #0081a7;
    margin-right: 8px;
  }
  /* estilos FQ preguntas freceutnes  */
/* Estilo general */
.faq-section {
  padding: 60px 0;
}

.faq-accordion .card {
  border: none;
  margin-bottom: 20px;
  border-radius: 12px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.07);
  overflow: hidden;
}

.faq-accordion .card-header {
  background-color: #f9f9f9;
  padding: 0;
}

.btn-faq {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding: 20px 25px;
  font-size: 1rem;
  color: #333;
  text-align: left;
  background-color: transparent;
  border: none;
  outline: none;
  font-weight: 600;
  transition: background 0.3s, color 0.3s;
}

.btn-faq:hover {
  background-color: #eef1f5;
  color: #004085;
}
.btn-faq:focus {
  box-shadow: none !important;
  outline: none !important;
  border-color: transparent !important;
}

.icon-toggle {
  transition: transform 0.3s ease;
}

.btn-faq[aria-expanded="true"] .icon-toggle {
  transform: rotate(180deg);
}


.card-body {
  padding: 20px 25px;
  font-size: 0.95rem;
  color: #555;
  background-color: #fff;
  border-top: 1px solid #ddd;
}

/* Asegura que el footer no se vea afectado */
.faq-section .container {
  position: relative;
  z-index: 1;
}



  /* Lightbox fullscreen */
  .lightbox-overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.9);
	display: flex;
	justify-content: center;
	align-items: center;
	z-index: 9999;
  }
  
  .lightbox-overlay img {
	max-width: 90%;
	max-height: 90%;
	border-radius: 12px;
	box-shadow: 0 0 20px rgba(255, 255, 255, 0.2);
  }
  
  /* Responsive */
  @media (max-width: 768px) {
	.hover-content p {
	  font-size: 13px;
	}
  
	.ver-mas-btn {
	  font-size: 13px;
	  padding: 8px 12px;
	}
  }
  
  
  /* Responsive */
  @media (max-width: 991px) {
	.team-item .image-wrapper {
	  height: 200px;
	}
  }
  @media (max-width: 991px) {
	.hover-overlay {
	  opacity: 1;
	  background: rgba(1, 9, 27, 0.85);
	  position: absolute;
	  top: 0;
	  left: 0;
	  width: 100%;
	  height: 100%;
	  padding: 20px;
	  display: flex;
	  justify-content: center;
	  align-items: center;
	  border-radius: 12px;
	}
  
	.image-wrapper:hover img {
	  transform: none;
	}
  
	.image-wrapper:hover .hover-overlay {
	  opacity: 1;
	}
  }
  
  @media (max-width: 768px) {
	.team .section-heading h2 {
	  font-size: 28px;
	}
  
	.team .section-heading span {
	  font-size: 14px;
	}
  
	.team-item .down-content h4 {
	  font-size: 20px;
	}
  
	.team-item .down-content p {
	  font-size: 14px;
	}
  
	.team-item .down-content {
	  padding: 20px 16px;
	}
  }
  

/* Sección valores corporativos */
/* ===== Valores Corporativos ===== */
.corporate-values {
  padding: 60px 0;
  background-color: #fff;
}

.corporate-values .section-heading h2 {
  font-weight: bold;
  color: #0056b3;
}

.corporate-values .section-heading p {
  color: #555;
  max-width: 700px;
  margin: 0 auto;
}

.value-wrapper {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1rem;
  margin-top: 2rem;
}

.value-card {
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 4px 10px rgba(0,0,0,0.08);
  padding: 2rem 1rem;
  text-align: center;
  transition: all 0.3s ease;
  cursor: default;
  
  /* NUEVO: ancho reducido para quepan 5 en fila */
  max-width: 200px;
  min-width: 160px;
  flex: 1 1 auto;
}

.value-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 6px 14px rgba(0,0,0,0.15);
}

.value-card .icon {
  font-size: 2.5rem;
  background: linear-gradient(135deg, #007bff, #00a6ff);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: #007bff;
  display: inline-block;
  margin-bottom: 1rem;
 
}

.value-card h4 {
  font-weight: bold;
  margin-bottom: 0.5rem;
  color: #222;
}
.parrafo{
  font-size: 16px;
  font-weight: 500;
}

.value-card p {
  font-size: 0.9rem;
  color: #555;
  font-weight: 600;
}

/* Responsive */
@media (max-width: 992px) {
  .value-card {
    max-width: 45%;
  }
}

@media (max-width: 576px) {
  .value-card {
    max-width: 100%;
  }
}


/* SECCIÓN: Iconos de servicios */
.iconos-servicios {
  background-color: #f7f7f7;
  padding: 80px 20px;
  text-align: center;
}

.iconos-servicios .section-heading h2 {
  font-size: 34px;
  font-weight: 800;
  color: #01488D;
  margin-bottom: 10px;
  text-transform: uppercase;
}

.iconos-servicios .section-heading p {
  font-size: 17px;
  color: #555;
  margin-bottom: 40px;
}

/* GRID */
.valuess-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 28px;
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 20px;
}

.values-item {
  background-color: #fff;
  border-radius: 16px;
  padding: 16px 12px; /* Antes: 24px 16px */
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
   max-width: 200px; /* Antes: auto o más ancho */
}

.values-item:hover {
  transform: translateY(-6px);
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.15);
}

.values-item .icon {
  font-size: 28px;
  margin-bottom: 8px;
  background: linear-gradient(135deg, #0179C4, #74EDE4, #01488D);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.values-item h4 {
  font-size: 16px;
  font-weight: 700;
  color: #1e1e1e;
  margin: 0;
  line-height: 1.3;
}
@media (max-width: 768px) {
  .iconos-servicios {
    padding: 60px 15px;
  }

  .iconos-servicios .section-heading h2 {
    font-size: 24px;
    line-height: 1.3;
  }

  .iconos-servicios .section-heading p {
    font-size: 15px;
    margin-bottom: 30px;
  }

  .valuess-grid {
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: 20px;
    padding: 0 10px;
  }

  .values-item {
    max-width: 100%;
    padding: 16px 10px;
  }

  .values-item .icon {
    font-size: 24px;
    margin-bottom: 6px;
  }

  .values-item h4 {
    font-size: 14px;
    text-align: center;
  }
}
/* media cuare 768 y 992 */
@media (max-width: 992px) {
  .iconos-servicios {
    padding: 70px 20px;
  }

  .iconos-servicios .section-heading h2 {
    font-size: 28px;
    margin-bottom: 8px;
  }

  .iconos-servicios .section-heading p {
    font-size: 16px;
    margin-bottom: 30px;
  }

  .valuess-grid {
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 24px;
    padding: 0 15px;
  }

  .values-item {
    max-width: 100%;
    padding: 16px 12px;
  }

  .values-item .icon {
    font-size: 26px;
  }

  .values-item h4 {
    font-size: 15px;
  }
}

@media (max-width: 768px) {
  .iconos-servicios {
    padding: 60px 15px;
  }

  .iconos-servicios .section-heading h2 {
    font-size: 24px;
    line-height: 1.3;
  }

  .iconos-servicios .section-heading p {
    font-size: 15px;
    margin-bottom: 30px;
  }

  .valuess-grid {
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: 20px;
    padding: 0 10px;
  }

  .values-item {
    max-width: 100%;
    padding: 14px 10px;
  }

  .values-item .icon {
    font-size: 22px;
    margin-bottom: 6px;
  }

  .values-item h4 {
    font-size: 14px;
    text-align: center;
  }
}



/* Estilos generales para la sección about*/
.about-section {
	padding: 80px 20px;
	background-color: #f7f7f7;
  }
  
  .about-content {
	padding: 20px;
  }
  
  .about-content,
.section-heading {
    text-align: center;
    margin-bottom: 80px;
}

.about-content h2,
.section-heading h2 {
    font-size: 28px; /* o el tamaño que prefieras */
    font-weight: 600;
    color: #01488D;
    margin-bottom: 10px;
}

.about-content em,
.section-heading em {
    font-style: normal;
    color: #01488D;
}

  
  .about-content p {
	font-size: 16px;
	color: #333;
	margin-bottom: 20px;
  }
  
  /* Estilo para la imagen */
  .about-image img {
	width: 100%;
	border-radius: 12px;
	box-shadow: 0 6px 15px rgba(0, 0, 0, 0.1);
  }
  
  
  /* Estilos generales para el acordeón */
  /* Contenedor principal del acordeón */
.accordion {
	width: 90%;
	max-width: 600px;
	background-color: transparent; /* Sin fondo en el contenedor */
	border: none; /* Sin borde en el contenedor */
	margin: 0 auto;
  }
  
  /* Estilo de cada ítem del acordeón */
  .accordion-item {
	margin-bottom: 10px; /* Espacio entre ítems */
	border: 1px solid #ccc; /* Bordes individuales */
	border-radius: 8px; /* Bordes redondeados */
	background-color: #fff; /* Fondo blanco para cada ítem */
	box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1); /* Sombra para separación visual */
  }
  
  /* Cabecera del acordeón */
  .accordion-header {
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 15px 20px;
	font-size: 1rem;
	font-weight: bold;
	text-align: left;
	background-color: #f0f0f0; /* Color base neutro */
	color: #333;
	border: none;
	cursor: pointer;
	outline: none;
	transition: background-color 0.3s, color 0.3s;
  }
  
  .accordion-header:hover {
	background: linear-gradient(135deg, #0179C4 20%, #74EDE4 60%);
	color: #fff; /* Cambia el color del texto a blanco */
  }
  
  /* Cuando el header está activo */
  .accordion-header.active {
	background: linear-gradient(135deg, #0179C4 20%, #74EDE4 60%);
	color: #fff;
  }
  
  /* Icono del acordeón (flecha) */
  .accordion-icon {
	font-size: 1.2rem;
	transition: transform 0.3s;
  }
  
  .accordion-header.active .accordion-icon {
	transform: rotate(90deg); /* Rotación de la flecha hacia abajo */
  }
  
  /* Contenido del acordeón */
  .accordion-content {
	max-height: 0; /* Cerrado por defecto */
	overflow: hidden;
	transition: max-height 0.3s ease, padding 0.3s ease;
	background-color: #f8f8f8;
  }
  
  .accordion-content p {
	margin: 0;
	padding: 15px 20px;
	font-size: 0.95rem;
	line-height: 1.6;
	color: #333;
  }
  
  /* Estilo para el primer y último ítem */
  .accordion-item:first-child .accordion-header {
	border-radius: 8px 8px 0 0;
  }
  
  .accordion-item:last-child .accordion-content {
	border-radius: 0 0 8px 8px;
  }
  
  /* Responsividad */
  @media (max-width: 768px) {
	.accordion-header {
	  font-size: 0.9rem;
	}
  
	.accordion-content p {
	  font-size: 0.85rem;
	}
  }
  
  /* otro servicio pagina de servicio */
  .services-page-section {
	padding: 80px 0;
	background-color: #f8f8f8;
  }
  
  .services-page-container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 20px;
  }
  
  .services-page-tabs {
	display: flex;
	overflow-x: auto;
	gap: 12px;
	border-bottom: 2px solid #e0e0e0;
	margin-bottom: 24px;
	padding-bottom: 8px;
	scroll-snap-type: x mandatory;
	flex-wrap: wrap;
	justify-content: center;
  }
  
  .services-page-tablink {
	background: none;
	border: none;
	font-size: 1rem;
	font-weight: 600;
	padding: 12px 16px;
	cursor: pointer;
	color: #555;
	position: relative;
	transition: color 0.2s;
	flex: 0 0 auto;
	scroll-snap-align: start;
	white-space: nowrap;
  }
  
  .services-page-tablink:focus {
	outline: 2px solid #0179C4;
	outline-offset: 2px;
  }
  
  .services-page-tablink.active {
	color: #0179C4;
  }
  
  .services-page-tablink.active::after {
	content: '';
	position: absolute;
	bottom: -2px;
	left: 0;
	right: 0;
	height: 3px;
	background: #0179C4;
	border-radius: 2px 2px 0 0;
  }
  
  .services-page-tabcontent {
	display: none;
	background: #fff;
	border-radius: 12px;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
	padding: 24px;
	animation: fadeIn 0.3s ease;
  }
  
  .services-page-tabcontent.active {
	display: block;
  }
  
  @keyframes fadeIn {
	from {
	  opacity: 0;
	  transform: translateY(10px);
	}
	to {
	  opacity: 1;
	  transform: translateY(0);
	}
  }
  
  .services-page-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 24px;
  }
  
  @media (min-width: 768px) {
	.services-page-grid {
	  grid-template-columns: 1fr 1fr;
	}
  }
  
  .services-page-image {
	width: 100%;
	border-radius: 8px;
	object-fit: cover;
  }
  
  .services-page-content h2 {
	font-size: 1.5rem;
	margin-bottom: 12px;
	color: #045e3b;
  }
  
  .services-page-content p {
	font-size: 1rem;
	line-height: 1.5;
	margin-bottom: 16px;
  }
  
  .services-page-content ul {
	list-style: none;
	padding: 0;
	margin-bottom: 24px;
  }
  
  .services-page-content ul li {
	position: relative;
	padding-left: 24px;
	margin-bottom: 8px;
  }
  
  .services-page-content ul li::before {
	content: '\2713';
	position: absolute;
	left: 0;
	color: #0179C4;
	font-weight: bold;
  }
  
  .services-page-btn-cta {
	display: inline-block;
	background: #0179C4;
	color: #fff;
	padding: 10px 20px;
	border-radius: 6px;
	text-decoration: none;
	font-weight: 600;
	transition: transform 0.2s;
  }
  
  .services-page-btn-cta:hover {
	transform: translateY(-2px);
  }
  
  /* estilos pdf estados financieros */
  .pdf-grid {
  display: grid;
  margin-bottom: 45px;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 2rem;
}

.pdf-card {
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 4px 10px rgba(0,0,0,0.1);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 1.5rem 1rem;
  text-align: center;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.pdf-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 6px 14px rgba(0,0,0,0.15);
}

.pdf-icon {
  width: 64px;
  height: auto;
  margin-bottom: 0.8rem;
}

.pdf-title {
  font-weight: bold;
  margin-bottom: 1rem;
  font-size: 1.1rem;
}

.pdf-actions {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
  justify-content: center;
}

.btn {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.5rem 1rem;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  text-decoration: none;
  font-size: 0.9rem;
  background-color: #007bff;
  font-weight: bold;
  color: #fff;
  transition: background-color 0.2s ease;
}

.btn:hover {
  background-color: #21f7ec;
}

@media (max-width: 768px) {
  .pdf-card {
    padding: 1rem;
  }
}

/* Servicios index*/
.home-services {
	padding: 80px 0;
	background-color: #f8f8f8;
  }
  
  .home-container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 20px;
  }
  
  .home-section-heading h2 {
	font-size: 2rem;
	color: #0179C4;
	text-align: center;
	margin-bottom: 8px;
  }
  
  .home-section-heading span {
	display: block;
	text-align: center;
	color: #555;
	margin-bottom: 40px;
  }
  
  .home-service-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 30px;
  }
  
  .home-service-item {
	background: #fff;
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
	transition: transform 0.2s;
  }
  
  .home-service-item:hover {
	transform: translateY(-5px);
  }
  
  .home-service-item img {
	width: 100%;
	height: 200px;
	object-fit: cover;
  }
  
  .home-down-content {
	padding: 20px;
  }
  
  .home-down-content h4 {
	font-size: 1.2rem;
	margin-bottom: 10px;
	color:  #0179C4;
  }
  
  .home-down-content p {
	font-size: 1rem;
	color: #333;
	margin-bottom: 16px;
  }
  
  
  
  
/* contacto otro  pagina contact*/
.contact-information {
  margin-top: 140px;
}

.contact-information .contact-item {
  padding: 30px 20px; /* REDUCIDO */
  background: rgba(247, 247, 247, 0.95);
  border-radius: 16px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  transition: all 0.3s ease-in-out;
  min-height: 100%; 
}

.contact-information .contact-item:hover {
  background-color: #e6f2fb;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.08);
  transform: translateY(-4px);
}

.contact-information .contact-item i {
  color: #0179C4;
  font-size: 36px;
  margin-bottom: 12px;
  display: inline-block;
  text-align: center;
}

.contact-information .contact-item h4 {
  font-size: 22px;
  font-weight: 700;
  letter-spacing: 0.5px;
  margin-bottom: 15px;
  text-align: center;
  color: #333;
}

.contact-information .contact-item p {
  margin-bottom: 12px;
  font-size: 15px;
  line-height: 1.6;
  color: #555;
  text-align: center;
}
.contact-information .contact-item h6 {
  font-size: 18px;
  margin-bottom: 10px;
}



.contact-information .contact-item a {
  font-weight: 600;
  color: #007bff;
  font-size: 15px;
  text-align: center;
  text-decoration: none;
}

.contact-information .contact-item a:hover {
  text-decoration: underline;
  color: #0056b3;
}

  /* Contenedor del botón de WhatsApp */
#whatsapp-container {
  position: fixed;
  bottom: 80px;
  right: 20px; /* valor estándar que funciona en escritorio y móvil */
  display: flex;
  align-items: center;
  z-index: 1000;
}

/* OPCIONAL: puedes moverlo un poco más a la derecha solo en pantallas grandes */
@media (min-width: 1024px) {
  #whatsapp-container {
    margin-left: 40px; /* solo en escritorio */
  }
}
/* Botón principal */
#contact-button {
  width: 60px;
  height: 60px;
  background-color: #007bff;
  border-radius: 50%;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.2);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: transform 0.3s ease;
}

#contact-button img {
  width: 60%;
  height: 60%;
}

#contact-button i {
  color: white;
}

/* Texto de ayuda */
#help-text {
  background-color: rgba(0, 0, 0, 0.7);
  color: white;
  padding: 6px 12px;
  border-radius: 8px;
  margin-right: 10px;  /* Cambiado de margin-right a margin-left */
  font-size: 14px;
  opacity: 0;
  transform: translateX(10px); /* Mover hacia la derecha al ocultarse */
  pointer-events: none;
  transition: opacity 0.4s ease, transform 0.4s ease;
}
/* Mostrar texto solo al pasar el mouse sobre el botón */
#contact-button:hover + #help-text,
#help-text:hover {
  opacity: 1;
  transform: translateX(0);
  pointer-events: auto;
}

/* Ocultar el texto en móviles y tablets */
@media (max-width: 768px) {
  #help-text {
    display: none;
  }
}

/* Menú de opciones flotante */
#contact-menu {
  position: absolute;
  bottom: 70px;
  right: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: opacity 0.4s ease-in-out, transform 0.4s ease-in-out;
  background-color: white;
  padding: 10px;
  border-radius: 8px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.2);
}

/* Botón "X" para cerrar menú */
#close-menu {
  position: absolute;
  top: 2px;
  right: 15px;
  font-size: 20px;
  cursor: pointer;
  color: black;
}

/* Opciones del menú */
.contact-option {
  display: flex;
  align-items: center;
  text-decoration: none;
  color: black;
  font-size: 14px;
  font-weight: bold;
  padding: 5px;
  transition: background 0.3s ease;
}

.contact-option img {
  width: 20px;
  height: 20px;
  margin-right: 8px;
}

.contact-option:hover {
  background-color: #f0f0f0;
}

/* Clase para mostrar el menú desplegable */
.show-menu {
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateY(0) !important;
}

/* Correcciones y optimización responsive para móviles */
@media (max-width: 768px) {
  /* Slider principal */
  .Modern-Slider {
    background: #000;
  }

  .Modern-Slider .item .img-fill {
    height: auto;
    min-height: 60vh;
    background-size: cover;
    background-position: center center;
  }

  .Modern-Slider .text-content {
    width: 90%;
    text-align: center;
    top: 55%;
    left: 50%;
    transform: translate(-50%, -50%);
  }

  .Modern-Slider .slick-active .img-fill {
    transform: none !important;
  }

  .Modern-Slider .PrevArrow,
  .Modern-Slider .NextArrow {
    font-size: 24px;
    top: 50%;
  }

  .Modern-Slider .NextArrow {
    right: 5px;
  }

  .Modern-Slider .PrevArrow {
    left: 5px;
  }

  .Modern-Slider .item a.filled-button {
    font-size: 14px;
    padding: 8px 16px;
  }

  .Modern-Slider .item h6 {
    margin-bottom: 15px;
    font-size: 18px;
  }

  .Modern-Slider .item h4 {
    margin-bottom: 25px;
    font-size: 28px;
    line-height: 36px;
    letter-spacing: 1px;
  }

  .Modern-Slider .item p {
    max-width: 570px;
    font-size: 14px;
    line-height: 25px;
    margin-bottom: 30px;
  }

  /* Formulario CTA */
  .request-form {
    text-align: center;
  }

  .request-form a.border-button {
    float: none;
    margin-top: 30px;
  }

  /* Ajustes generales del sitio */
  .services .service-item,
  .fun-facts .left-content,
  .more-info .right-content,
  .about-info .right-content,
  .team .team-item,
  .tabs-content,
  .contact-item {
    margin-bottom: 30px;
  }

  .more-info .right-content {
    padding: 30px;
  }

  .tabs-content {
    margin-left: 0px;
    margin-top: 30px;
  }

  /* Footer */
  footer {
    padding: 80px 0 20px 0;
  }

  footer .footer-item {
    border-bottom: 1px solid #343434;
    margin-bottom: 30px;
    padding-bottom: 30px;
  }

  footer .last-item {
    border-bottom: none;
  }

  /* Otros */
  .sub-header {
    display: none;
  }
}


@media (max-width: 992px) {
	.navbar .navbar-brand {
		position: absolute;
		left: 30px;
		top: 10px;
    width: auto;
	}
	.navbar:after {
		display: none;
	}
	#navbarResponsive {
	    z-index: 99999;
	    position: absolute;
	    top: 80px;
	    left: 0;
	    width: 100%;
	    text-align: center;
	    background-color: #fff;
	    box-shadow: 0px 10px 10px rgba(0,0,0,0.1);
	}
	.navbar .navbar-nav .nav-item {
		border-bottom: 1px solid #eee;
	}
	.navbar .navbar-nav .nav-item:last-child {
		border-bottom: none;
	}
	.navbar .navbar-nav a.nav-link {
		padding: 15px 0px;
		color: #1e1e1e!important;
	}
	.navbar .navbar-nav .nav-link:hover,
	.navbar .navbar-nav .active>.nav-link,
	.navbar .navbar-nav .nav-link.current,
	.navbar .navbar-nav .nav-link.show,
	.navbar .navbar-nav .show>.nav-link {
		color: #0179C4!important;
		border-bottom: none!important;
	}
}


