/**
 * Custom Timeline Animations
 */

/* Fade Animation */
.timeline-animate-fade {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

.timeline-animate-fade.timeline-visible {
    opacity: 1;
    transform: translateY(0);
}

/* Slide Animation */
.timeline-animate-slide.timeline-left {
    opacity: 0;
    transform: translateX(-50px);
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

.timeline-animate-slide.timeline-right {
    opacity: 0;
    transform: translateX(50px);
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

.timeline-animate-slide.timeline-up {
    opacity: 0;
    transform: translateY(-50px);
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

.timeline-animate-slide.timeline-down {
    opacity: 0;
    transform: translateY(50px);
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

.timeline-animate-slide.timeline-visible {
    opacity: 1;
    transform: translate(0, 0);
}

/* Line Animation */
.timeline-horizontal .timeline-line-inner,
.timeline-vertical .timeline-line-inner {
    transform: scale(0);
    transform-origin: center left;
    transition: transform 1s ease-out;
}

.timeline-horizontal .timeline-line-inner {
    transform-origin: left center;
}

.timeline-vertical .timeline-line-inner {
    transform-origin: top center;
}

.timeline-line-animated .timeline-line-inner {
    transform: scale(1);
}

/* Marker Animation */
.timeline-marker {
    transform: scale(0);
    transition: transform 0.5s ease-out 0.3s;
}

.timeline-marker-animated {
    transform: scale(1) !important;
}

/* Content Animation Delays */
.timeline-item:nth-child(1) .timeline-content {
    transition-delay: 0.2s;
}

.timeline-item:nth-child(2) .timeline-content {
    transition-delay: 0.4s;
}

.timeline-item:nth-child(3) .timeline-content {
    transition-delay: 0.6s;
}

.timeline-item:nth-child(4) .timeline-content {
    transition-delay: 0.8s;
}

.timeline-item:nth-child(5) .timeline-content {
    transition-delay: 1s;
}

.timeline-item:nth-child(6) .timeline-content {
    transition-delay: 1.2s;
}

.timeline-item:nth-child(7) .timeline-content {
    transition-delay: 1.4s;
}

.timeline-item:nth-child(8) .timeline-content {
    transition-delay: 1.6s;
}

.timeline-item:nth-child(9) .timeline-content {
    transition-delay: 1.8s;
}

.timeline-item:nth-child(10) .timeline-content {
    transition-delay: 2s;
}

/* Image Animation */
.timeline-image {
    overflow: hidden;
}

.timeline-image img {
    transition: transform 0.5s ease-out;
}

.timeline-item:hover .timeline-image img {
    transform: scale(1.05);
}

/* Hover Effects */
.timeline-content {
    transition: box-shadow 0.3s ease-out, transform 0.3s ease-out;
}

.timeline-item:hover .timeline-content {
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23);
    transform: translateY(-5px);
}

.timeline-marker-inner {
    transition: background-color 0.3s ease-out, transform 0.3s ease-out;
}

.timeline-item:hover .timeline-marker-inner {
    background-color: #2980b9;
    transform: scale(1.2);
}
