.elementor-11 .elementor-element.elementor-element-6d5f396{--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;--margin-top:0%;--margin-bottom:0%;--margin-left:0%;--margin-right:0%;}.elementor-11 .elementor-element.elementor-element-6d5f396:not(.elementor-motion-effects-element-type-background), .elementor-11 .elementor-element.elementor-element-6d5f396 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#245FA6;}.elementor-11 .elementor-element.elementor-element-6d5f396.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-11 .elementor-element.elementor-element-e14e6cb{--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:0%;--margin-left:015%;--margin-right:0%;}.elementor-11 .elementor-element.elementor-element-e14e6cb.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-11 .elementor-element.elementor-element-5a2c7a9{width:var( --container-widget-width, 144.712% );max-width:144.712%;--container-widget-width:144.712%;--container-widget-flex-grow:0;}.elementor-11 .elementor-element.elementor-element-5a2c7a9.elementor-element{--align-self:flex-start;--flex-grow:0;--flex-shrink:0;}.elementor-11 .elementor-element.elementor-element-40d1fbc{--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:0%;--margin-left:0%;--margin-right:0%;}.elementor-11 .elementor-element.elementor-element-40d1fbc.e-con{--flex-grow:0;--flex-shrink:0;}.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-11 .elementor-element.elementor-element-ac28f02{font-family:"Roboto Mono", Sans-serif;font-size:23px;font-weight:400;color:#FFFFFF;}.elementor-11 .elementor-element.elementor-element-d424803{width:var( --container-widget-width, 30% );max-width:30%;--container-widget-width:30%;--container-widget-flex-grow:0;}.elementor-11 .elementor-element.elementor-element-d424803 > .elementor-widget-container{padding:0% 0% 0% 17%;}.elementor-11 .elementor-element.elementor-element-c38669d{--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;--margin-top:04%;--margin-bottom:0%;--margin-left:0%;--margin-right:0%;}.elementor-11 .elementor-element.elementor-element-aa59389{--display:flex;}.elementor-11 .elementor-element.elementor-element-aa59389.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-11 .elementor-element.elementor-element-92d27da{width:var( --container-widget-width, 123.232% );max-width:123.232%;--container-widget-width:123.232%;--container-widget-flex-grow:0;text-align:right;}.elementor-11 .elementor-element.elementor-element-92d27da > .elementor-widget-container{padding:10% 0% 0% 0%;}.elementor-11 .elementor-element.elementor-element-92d27da.elementor-element{--align-self:flex-end;--order:99999 /* order end hack */;--flex-grow:0;--flex-shrink:0;}.elementor-11 .elementor-element.elementor-element-52c1d27{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-11 .elementor-element.elementor-element-52c1d27.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-11 .elementor-element.elementor-element-933c4cd{--display:flex;}.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-11 .elementor-element.elementor-element-f49e369{width:var( --container-widget-width, 91.807% );max-width:91.807%;--container-widget-width:91.807%;--container-widget-flex-grow:0;text-align:center;}.elementor-11 .elementor-element.elementor-element-f49e369.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-11 .elementor-element.elementor-element-f49e369 .elementor-heading-title{font-family:"Cantora One", Sans-serif;font-size:52px;font-weight:600;-webkit-text-stroke-color:var( --e-global-color-accent );stroke:var( --e-global-color-accent );color:var( --e-global-color-accent );}.elementor-11 .elementor-element.elementor-element-968a04a{--display:flex;}.elementor-11 .elementor-element.elementor-element-0e5547b{width:var( --container-widget-width, 113.642% );max-width:113.642%;--container-widget-width:113.642%;--container-widget-flex-grow:0;font-family:"Roboto", Sans-serif;font-size:21px;font-weight:400;}.elementor-11 .elementor-element.elementor-element-0e5547b.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-11 .elementor-element.elementor-element-508df63{--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:05%;--margin-bottom:0%;--margin-left:0%;--margin-right:0%;}.elementor-11 .elementor-element.elementor-element-5515cd8{text-align:center;}.elementor-11 .elementor-element.elementor-element-5515cd8 .elementor-heading-title{font-family:"Cantata One", Sans-serif;font-size:58px;font-weight:600;}.elementor-11 .elementor-element.elementor-element-b3bda32{text-align:center;font-family:"Roboto", Sans-serif;font-size:18px;font-weight:400;}.elementor-11 .elementor-element.elementor-element-ce04cb7{width:var( --container-widget-width, 96% );max-width:96%;--container-widget-width:96%;--container-widget-flex-grow:0;}.elementor-11 .elementor-element.elementor-element-ce04cb7 > .elementor-widget-container{margin:0% 0% 0% 0%;}.elementor-11 .elementor-element.elementor-element-ce04cb7.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-11 .elementor-element.elementor-element-a7a28e5{--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-11 .elementor-element.elementor-element-aacaa54{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;}.elementor-11 .elementor-element.elementor-element-aacaa54.elementor-element{--align-self:center;--flex-grow:0;--flex-shrink:0;}@media(max-width:767px){.elementor-11 .elementor-element.elementor-element-f49e369 .elementor-heading-title{font-size:9.3vw;}.elementor-11 .elementor-element.elementor-element-0e5547b{text-align:center;}.elementor-11 .elementor-element.elementor-element-5515cd8 .elementor-heading-title{font-size:9.6vw;}.elementor-11 .elementor-element.elementor-element-ce04cb7.elementor-element{--align-self:center;}}@media(min-width:768px){.elementor-11 .elementor-element.elementor-element-6d5f396{--width:100%;}.elementor-11 .elementor-element.elementor-element-e14e6cb{--width:38.245%;}.elementor-11 .elementor-element.elementor-element-40d1fbc{--width:94.536%;}.elementor-11 .elementor-element.elementor-element-aa59389{--width:46%;}.elementor-11 .elementor-element.elementor-element-52c1d27{--width:51.658%;}}@media(max-width:1024px) and (min-width:768px){.elementor-11 .elementor-element.elementor-element-6d5f396{--width:737.75px;}}/* Start custom CSS for container, class: .elementor-element-6d5f396 *//* 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-ce04cb7 *//* Contenedor general */
.values-section {
  background-color: #f8f8f8;
  padding: 60px 20px;
  text-align: center;
}

.values-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 40px;
  max-width: 1200px;
  margin: 0 auto;
}

/* Tarjetas individuales */
.value-card {
  background-color: #fff;
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
  padding: 30px 20px;
  width: 100%;
  max-width: 260px;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  flex: 1 1 calc(25% - 40px); /* 4 por fila con espacio entre */
}

.value-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
}

/* Estilo de los íconos */
.value-card i {
  font-size: 48px;
  margin-bottom: 20px;
  color: #444;
  transition: color 0.4s ease;
}

/* Hover multicolor en tonos suaves */
.value-card:nth-child(1):hover i {
  color: #88ccff; /* Azul claro */
}

.value-card:nth-child(2):hover i {
  color: #a5f7a5; /* Verde pastel */
}

.value-card:nth-child(3):hover i {
  color: #fff07a; /* Amarillo suave */
}

.value-card:nth-child(4):hover i {
  color: #ffb3b3; /* Rojo suave */
}

/* Títulos y párrafos */
.value-card h3 {
  font-size: 20px;
  color: #222;
  margin-bottom: 10px;
}

.value-card p {
  font-size: 15px;
  color: #555;
  line-height: 1.5;
}

/* Responsive: apilado en pantallas pequeñas */
@media (max-width: 992px) {
  .value-card {
    flex: 1 1 calc(50% - 40px); /* 2 por fila en tablet */
  }
}

@media (max-width: 600px) {
  .value-card {
    flex: 1 1 100%; /* 1 por fila en móviles */
  }
}
/* Imagen con posición absoluta que se adapta al tamaño del contenedor */

@media (max-width: 768px) {
  img {
    object-fit: contain; /* Ajusta la imagen para que no se recorte en pantallas pequeñas */
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-aacaa54 */.mision-vision .container {
  max-width: 1200px;
  margin: 40px auto;
  padding: 20px;
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
  justify-content: center;
}

.mision-vision .box {
  flex: 1 1 500px;
  background-color: #fff;
  border-radius: 15px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.1);
  overflow: hidden;
  transition: transform 0.3s ease;
}

.mision-vision .box:hover {
  transform: translateY(-5px);
}

.mision-vision .section-header {
  display: flex;
  align-items: center;
  gap: 15px;
  padding: 20px;
  color: white;
}

.mision-vision .mission-section {
  background: linear-gradient(to right, #1a56a7, #0a2d5e);
}

.mision-vision .vision-section {
  background: linear-gradient(to right, #e7a614, #c78c00);
}

.mision-vision .section-header h2 {
  font-size: 26px;
  font-weight: bold;
}

.mision-vision .section-content {
  padding: 25px;
  font-size: 16px;
  line-height: 1.6;
}

.mision-vision .highlight {
  font-weight: bold;
}

.mision-vision .section-content a {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background-color: #c78c00;
  color: #fff;
  padding: 12px 24px;
  border-radius: 30px;
  text-decoration: none;
  font-weight: 600;
  margin-top: 20px;
  transition: background-color 0.3s ease, transform 0.3s ease;
}

.mision-vision .section-content a:hover {
  background-color: #a56f00;
  transform: translateX(5px);
}

/* Responsive */
@media (max-width: 768px) {
  .mision-vision .container {
    flex-direction: column;
    padding: 10px;
  }

  .mision-vision .box {
    flex: 1 1 100%;
  }

  .mision-vision .section-header h2 {
    font-size: 22px;
  }

  .mision-vision .section-content {
    font-size: 14px;
    padding: 20px;
  }
}/* End custom CSS */