.elementor-12 .elementor-element.elementor-element-27de024{--display:flex;}.elementor-12 .elementor-element.elementor-element-27de024.e-con{--flex-grow:0;--flex-shrink:0;}.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-12 .elementor-element.elementor-element-900678b.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-12 .elementor-element.elementor-element-900678b{text-align:center;}.elementor-12 .elementor-element.elementor-element-900678b .elementor-heading-title{font-family:"Adamina", Sans-serif;font-size:77px;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-12 .elementor-element.elementor-element-9812426{text-align:center;font-family:"Roboto", Sans-serif;font-size:23px;font-weight:400;}.elementor-12 .elementor-element.elementor-element-2dc0696{width:var( --container-widget-width, 79% );max-width:79%;--container-widget-width:79%;--container-widget-flex-grow:0;}.elementor-12 .elementor-element.elementor-element-2dc0696.elementor-element{--align-self:center;--flex-grow:0;--flex-shrink:0;}.elementor-12 .elementor-element.elementor-element-d36c05d{--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-12 .elementor-element.elementor-element-0cef136{text-align:center;}.elementor-12 .elementor-element.elementor-element-0cef136 .elementor-heading-title{font-family:"Adamina", Sans-serif;font-size:74px;font-weight:600;}.elementor-12 .elementor-element.elementor-element-e548921{text-align:center;font-family:"Roboto", Sans-serif;font-size:23px;font-weight:400;}.elementor-12 .elementor-element.elementor-element-57b853d{--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-12 .elementor-element.elementor-element-e495883{--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-12 .elementor-element.elementor-element-4af0c76{--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-12 .elementor-element.elementor-element-6fc7945 .elementor-heading-title{font-family:"Adamina", Sans-serif;font-size:47px;font-weight:600;}.elementor-12 .elementor-element.elementor-element-8baad63{font-family:"Roboto", Sans-serif;font-size:22px;font-weight:400;color:#000000;}.elementor-12 .elementor-element.elementor-element-9b12dc6{--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;}@media(min-width:768px){.elementor-12 .elementor-element.elementor-element-4af0c76{--width:50%;}.elementor-12 .elementor-element.elementor-element-9b12dc6{--width:50%;}}@media(max-width:767px){.elementor-12 .elementor-element.elementor-element-27de024{--width:263.25px;--margin-top:30vw;--margin-bottom:0vw;--margin-left:07vw;--margin-right:0vw;}.elementor-12 .elementor-element.elementor-element-900678b{width:var( --container-widget-width, 269px );max-width:269px;--container-widget-width:269px;--container-widget-flex-grow:0;}.elementor-12 .elementor-element.elementor-element-900678b .elementor-heading-title{font-size:9.5vw;}.elementor-12 .elementor-element.elementor-element-0cef136 .elementor-heading-title{font-size:8.9vw;}.elementor-12 .elementor-element.elementor-element-6fc7945 > .elementor-widget-container{margin:0% 0% 0% 0%;}.elementor-12 .elementor-element.elementor-element-6fc7945{text-align:center;}}/* Start custom CSS for heading, class: .elementor-element-900678b *//* Ajuste para pantallas grandes */
@media (min-width: 1200px) {
  h2 {
    font-size: 3rem; /* Tamaño fijo para pantallas grandes */
  }
}

/* Ajuste para pantallas medianas */
@media (max-width: 1200px) and (min-width: 768px) {
  h2 {
    font-size: 2vw; /* Ajuste para pantallas medianas */
  }
}

/* Ajuste para pantallas pequeñas */
@media (max-width: 768px) {
  h2 {
    font-size: 2vw; /* Ajuste para pantallas móviles */
  }
}

/* Ajuste para pantallas muy pequeñas (teléfonos en modo retrato) */
@media (max-width: 480px) {
  h2 {
    font-size: 2vw; /* Ajuste para pantallas móviles muy pequeñas */
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-27de024 *//* 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 */