.elementor-15 .elementor-element.elementor-element-28b2019{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-15 .elementor-element.elementor-element-16da659{--display:flex;}.elementor-15 .elementor-element.elementor-element-16da659.e-con{--order:99999 /* order end hack */;}.elementor-15 .elementor-element.elementor-element-c8e8116{width:var( --container-widget-width, 116.284% );max-width:116.284%;--container-widget-width:116.284%;--container-widget-flex-grow:0;}.elementor-15 .elementor-element.elementor-element-c8e8116.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-15 .elementor-element.elementor-element-1923124{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:05%;--padding-bottom:0%;--padding-left:0%;--padding-right:0%;}.elementor-15 .elementor-element.elementor-element-75caeef{--display:flex;}.elementor-15 .elementor-element.elementor-element-892913f{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-15 .elementor-element.elementor-element-892913f.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-15 .elementor-element.elementor-element-3cbe611 > .elementor-widget-container{border-radius:30px 30px 30px 30px;}.elementor-15 .elementor-element.elementor-element-3cbe611 iframe{height:300px;}.elementor-15 .elementor-element.elementor-element-57d4d47{--display:flex;}.elementor-15 .elementor-element.elementor-element-57d4d47.e-con{--order:-99999 /* order start hack */;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-15 .elementor-element.elementor-element-501ba14 .elementor-heading-title{font-family:"Acme", Sans-serif;font-size:81px;font-weight:600;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-15 .elementor-element.elementor-element-3f7b844{text-align:center;font-family:"Roboto Condensed", Sans-serif;font-size:24px;font-weight:400;color:#000000;}.elementor-15 .elementor-element.elementor-element-797e0a7{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0%;--margin-bottom:08%;--margin-left:0%;--margin-right:0%;}.elementor-15 .elementor-element.elementor-element-895f958{text-align:center;}.elementor-15 .elementor-element.elementor-element-895f958 .elementor-heading-title{font-family:"Basic", Sans-serif;font-size:57px;font-weight:600;}.elementor-15 .elementor-element.elementor-element-431d616{text-align:center;font-family:"Roboto", Sans-serif;font-size:25px;font-weight:400;color:#000000;}@media(min-width:768px){.elementor-15 .elementor-element.elementor-element-16da659{--width:50%;}.elementor-15 .elementor-element.elementor-element-1923124{--width:50%;}.elementor-15 .elementor-element.elementor-element-892913f{--width:94.634%;}}@media(max-width:767px){.elementor-15 .elementor-element.elementor-element-28b2019{--margin-top:20vw;--margin-bottom:0vw;--margin-left:0vw;--margin-right:0vw;}.elementor-15 .elementor-element.elementor-element-501ba14 .elementor-heading-title{font-size:10vw;}}/* Start custom CSS for container, class: .elementor-element-28b2019 *//* Aplica la fuente 'Poppins' a los elementos de texto */
body, h1, h2, h3, h4, h5, h6, p, a, span, li, div {
  font-family: 'Poppins', sans-serif !important;
}

/* Mantén la fuente predeterminada para los íconos */
.fas, .fab, .far, .fal, .fad {
  font-family: 'Font Awesome 5 Free', sans-serif !important;
}
/* 1. Contenedor Principal Responsivo */
.container {
  max-width: 100%;
  width: 100%;
  margin: 0 auto;
  padding: 0 20px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

/* 2. Contenedores de Bloques Responsivos */
.elementor-widget-wrap {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px; /* Espaciado entre bloques */
  box-sizing: border-box;
}

/* 3. Ajustes para cada bloque dentro de los contenedores */
.block-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 20px;
  width: 100%;
  box-sizing: border-box;
}

.block-container .block {
  flex: 1 1 45%; /* 2 bloques por fila */
  max-width: 48%;
  min-width: 200px; /* Tamaño mínimo */
  box-sizing: border-box;
}

/* 4. Imágenes Responsivas */
img {
  width: 100%;
  height: auto;
  max-width: 100%;
}

/* 5. Media Queries para adaptarse a diferentes tamaños de pantalla */
@media (min-width: 1024px) {
  .block-container .block {
    flex: 1 1 30%; /* 3 bloques por fila en pantallas grandes */
    max-width: 32%;
  }
}

@media (max-width: 1023px) {
  .block-container .block {
    flex: 1 1 45%; /* 2 bloques por fila en tabletas */
    max-width: 48%;
  }
}

@media (max-width: 768px) {
  .block-container .block {
    flex: 1 1 100%; /* 1 bloque por fila en móviles */
    max-width: 100%;
  }
}

@media (max-width: 480px) {
  .block-container .block {
    flex: 1 1 100%; /* 1 bloque por fila en móviles muy pequeños */
    padding: 10px; /* Añadir padding extra para dispositivos pequeños */
  }
}

/* 6. Fuente Responsiva */
body {
  font-family: 'Poppins', sans-serif;
  font-size: 16px;
}

/* Tamaño de fuente dinámico para texto en pantallas pequeñas */
@media (max-width: 768px) {
  body {
    font-size: 14px;
  }
}

@media (max-width: 480px) {
  body {
    font-size: 12px;
  }
}

/* 7. Estilos para las tarjetas con iconos (ajustes de hover y colores) */
.card {
  background-color: #fff;
  border-radius: 15px;
  padding: 20px;
  width: 260px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
  transition: transform 0.3s ease, background-color 0.3s ease, color 0.3s ease;
  cursor: pointer;
  text-align: center;
}

.card i {
  font-size: 2rem;
  margin-bottom: 15px;
  color: #1a56a7;
}

.card h3 {
  font-size: 1.25rem;
  margin-bottom: 10px;
  color: #1e1e2f;
  font-weight: bold;
}

.card p {
  font-size: 1rem;
  color: #555;
  margin-bottom: 15px;
}

.card .time-slot {
  background-color: #1a56a7;
  color: #fff;
  font-weight: bold;
  padding: 5px 0;
  border-radius: 10px;
  margin-bottom: 10px;
}

.card:hover {
  transform: scale(1.05);
}

.card:hover .time-slot {
  background-color: #ff9800;
}

.card:nth-child(odd):hover {
  background-color: #f0f8ff;
}

.card:nth-child(even):hover {
  background-color: #ffebee;
}

/* 8. Estilos específicos para tarjetas de especialización */
.specialization-container {
  zoom: 1.1;
  display: flex;
  justify-content: center;
  gap: 30px;
  margin: 40px auto;
  flex-wrap: wrap;
}

.specialization-card {
  background-color: #ffffff;
  border-radius: 16px;
  padding: 40px 20px 30px;
  width: 260px;
  text-align: center;
  box-shadow: 0 3px 12px rgba(0, 0, 0, 0.1);
  transition: transform 0.3s ease, background-color 0.3s ease, color 0.3s ease;
  cursor: pointer;
}

.specialization-card .icon {
  font-size: 2rem;
  margin-bottom: 20px;
  color: #444;
  transition: transform 0.3s ease, color 0.3s ease;
}

.specialization-card h3 {
  font-size: 1.1rem;
  font-weight: bold;
  color: #1e1e2f;
  margin-bottom: 12px;
}

.specialization-card p {
  font-size: 0.9rem;
  color: #555;
}

/* Hover Effects */
.specialization-card:hover {
  transform: scale(1.07);
  color: #fff;
}

.specialization-card:hover .icon,
.specialization-card:hover h3,
.specialization-card:hover p {
  color: #fff;
}

.specialization-card:nth-child(1):hover {
  background-color: #0d47a1;
}

.specialization-card:nth-child(2):hover {
  background-color: #c62828;
}

/* 9. Flexbox para tarjetas de habilidad */
.skills-container {
  zoom: 1.2;
  display: flex;
  justify-content: center;
  gap: 20px;
  margin: 40px auto;
  flex-wrap: wrap;
}

.skill-card {
  background-color: #ffffff;
  border-radius: 16px;
  padding: 40px 15px 30px;
  width: 220px;
  text-align: center;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  transition: transform 0.3s ease, background-color 0.3s ease, color 0.3s ease;
  cursor: pointer;
}

.skill-card .icon {
  font-size: 1.8rem;
  margin-bottom: 20px;
  transition: transform 0.3s ease, color 0.3s ease;
  color: #444;
}

.skill-card h3 {
  font-size: 1rem;
  font-weight: bold;
  color: #1e1e2f;
  margin-bottom: 10px;
}

.skill-card p {
  font-size: 0.9rem;
  color: #555;
}

.skill-card:hover {
  transform: scale(1.08);
  color: #fff;
}

.skill-card:hover .icon,
.skill-card:hover h3,
.skill-card:hover p {
  color: #fff;
}

.skill-card:nth-child(1):hover {
  background-color: #f44336;
}

.skill-card:nth-child(2):hover {
  background-color: #009688;
}

.skill-card:nth-child(3):hover {
  background-color: #9c27b0;
}

.skill-card:nth-child(4):hover {
  background-color: #3f51b5;
}

.skill-card:nth-child(5):hover {
  background-color: #ff9800;
}

.skill-card:nth-child(6):hover {
  background-color: #607d8b;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6f39d94 */.locations-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
  max-width: 1200px;
  margin: 0 auto;
}

.location-card {
  background-color: white;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  width: 300px;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  display: flex;
  flex-direction: column;
}

.location-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15);
}

.location-image {
  display: flex;
  align-items: center;
  justify-content: center;
}

.location-image img {
  width: 100%;
  display: block;
}

.location-info {
  padding: 20px;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
}

.location-title {
  font-size: 1.2rem;
  font-weight: bold;
  margin-bottom: 10px;
  color: #1E3A8A;
}

.location-description {
  font-size: 0.9rem;
  color: #666;
  line-height: 1.4;
  flex-grow: 1;
}

.location-button {
  background-color: #1E3A8A;
  color: white;
  border: none;
  padding: 10px 20px;
  text-align: center;
  text-decoration: none;
  font-weight: bold;
  font-size: 1rem;
  border-radius: 5px;
  cursor: pointer;
  margin-top: 15px;
  transition: background-color 0.3s ease, color 0.3s ease;
}

.location-button:hover {
  background-color: #FFDB58;
  color: #1E3A8A;
}

@media (max-width: 768px) {
  .locations-container {
    flex-direction: column;
    align-items: center;
  }

  .location-card {
    width: 100%;
    max-width: 350px;
  }
}/* End custom CSS */