.elementor-13373 .elementor-element.elementor-element-1ec77e8{--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;--overlay-opacity:0.5;--margin-top:40px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:20px;--padding-bottom:70px;--padding-left:70px;--padding-right:70px;}.elementor-13373 .elementor-element.elementor-element-1ec77e8::before, .elementor-13373 .elementor-element.elementor-element-1ec77e8 > .elementor-background-video-container::before, .elementor-13373 .elementor-element.elementor-element-1ec77e8 > .e-con-inner > .elementor-background-video-container::before, .elementor-13373 .elementor-element.elementor-element-1ec77e8 > .elementor-background-slideshow::before, .elementor-13373 .elementor-element.elementor-element-1ec77e8 > .e-con-inner > .elementor-background-slideshow::before, .elementor-13373 .elementor-element.elementor-element-1ec77e8 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{--background-overlay:'';}.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-13373 .elementor-element.elementor-element-6ef0d3c{text-align:center;}.elementor-13373 .elementor-element.elementor-element-6ef0d3c .elementor-heading-title{font-family:"Roboto", Sans-serif;font-size:33px;font-weight:600;color:#000000;}.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-13373 .elementor-element.elementor-element-0fa3045 > .elementor-widget-container{margin:-23px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-widget-loop-grid .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-loop-grid .elementor-pagination{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-loop-grid .e-load-more-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-13373 .elementor-element.elementor-element-62eb53a{--grid-columns:3;}@media(max-width:1024px){.elementor-13373 .elementor-element.elementor-element-62eb53a{--grid-columns:2;}}@media(max-width:767px){.elementor-13373 .elementor-element.elementor-element-62eb53a{--grid-columns:1;}}/* Start custom CSS *//* Rs slide */
#rev_slider_1_1 rs-slides rs-slide{
	border-bottom-left-radius:20px;
	border-bottom-right-radius:20px;
	
}

 .timeline-wrapper {
  position: relative;
  max-width: 900px;
  margin: 100px auto;
  padding: 60px 0;
}

/* Línea central */
.timeline-line {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 4px;
  height: 0;
  background: linear-gradient(to top, #1F6166, #36367A);
  background-size: 100% 200%;
  animation: gradientMove 6s ease-in-out infinite alternate;
  transition: height 0.2s ease-out;
  border-radius: 2px;
  z-index: 1; /* 👈 menor que los puntos */
}

@keyframes gradientMove {
  0% { background-position: bottom; }
  100% { background-position: top; }
}

/* Estructura general */
.timeline-item {
  position: relative;
  width: 50%;
  padding: 20px 40px;
  box-sizing: border-box;
}

.timeline-item.left {
  left: 0;
  text-align: right;
}

.timeline-item.right {
  left: 50%;
}

/* Caja de contenido */
.timeline-item .content {
  position: relative;
  color: #ffffff;
  border-radius: 12px;
  padding: 20px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
  z-index: 2;
}

/* 🎨 Patrón de color 1-2-3 */
.timeline-item:nth-child(3n+1) .content { background-color: #36367A; }
.timeline-item:nth-child(3n+2) .content { background-color: #69B054; }
.timeline-item:nth-child(3n+3) .content { background-color: #66B078; }

/* 🔵 Puntos */
.timeline-item::before {
  content: "";
  position: absolute;
  top: 30px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  z-index: 3; /* 👈 más alto que la línea */
  box-shadow: 0 0 0 4px #fff; /* opcional: halo blanco para destacar */
}

/* 🎨 Puntos con el mismo patrón */
.timeline-item:nth-child(3n+1)::before { background-color: #36367A; }
.timeline-item:nth-child(3n+2)::before { background-color: #69B054; }
.timeline-item:nth-child(3n+3)::before { background-color: #66B078; }

/* 📏 Ramitas */
.timeline-item::after {
  content: "";
  position: absolute;
  top: 38px;
  width: 30px;
  height: 2px;
  z-index: 2;
}

/* 🎨 Ramitas con el mismo color */
.timeline-item:nth-child(3n+1)::after { background-color: #36367A; }
.timeline-item:nth-child(3n+2)::after { background-color: #69B054; }
.timeline-item:nth-child(3n+3)::after { background-color: #66B078; }

.timeline-item.left::before { right: -9px; }
.timeline-item.right::before { left: -9px; }
.timeline-item.left::after { right: 0; }
.timeline-item.right::after { left: 0; }

/* ✨ Animación de aparición */
.timeline-item {
  opacity: 0;
  transform: translateY(50px);
  transition: all 0.6s ease-out;
}
.timeline-item.visible {
  opacity: 1;
  transform: translateY(0);
}

/* 📱 Responsivo */
@media (max-width: 768px) {
  .timeline-item {
    width: 100%;
    text-align: left !important;
    padding-left: 80px;
  }

  .timeline-item::before {
    left: 30px;
  }

  .timeline-item::after {
    left: 48px;
    width: 20px;
  }

  .timeline-line {
    left: 30px;
    transform: none;
  }
}/* End custom CSS */