.funcionalidad-box {
    border: 1px solid #dee2e6;
    border-radius: 0.5rem;
    padding: 1rem;
    margin-bottom: 1rem;
    transition: box-shadow 0.3s;
    cursor: pointer;
    &:hover {
        box-shadow: 0 0 11px rgba(33,33,33,.2);
    }
}

.timeline {
    position: relative;
    padding: 2rem 0;
    &::before {
        content: '';
        position: absolute;
        left: 50%;
        width: 2px;
        background: #dee2e6;
        top: 0;
        bottom: 0;
    }
}

.timeline-event {
    position: relative;
    width: 50%;
    padding: 1rem 2rem;
    box-sizing: border-box;
    &.left {
        left: 0;
        text-align: right;
        &::before {
            right: -5px;
        }
    }
    &.right {
        left: 50%;
        text-align: left;
        &::before {
            left: -5px;
        }
    }
    &::before {
        content: '';
        position: absolute;
        top: 1rem;
        width: 10px;
        height: 10px;
        background: var(--link-color);
        border-radius: 50%;
        z-index: 1;
    }
}

nav .page-item.active .page-link {
    background-color: var(--link-color);
    border-color: var(--link-color);
    color: #fff;
}

.timeline-wrapper {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.timeline-container {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    border-top: 2px solid #dee2e6;
    position: relative;
    padding-top: 30px;
    margin-bottom: 60px;
    min-width: max-content;
    width: max-content;
}

.timeline-point {
    position: relative;
    text-align: center;
    flex: 0 0 auto;
    width: 200px;
    padding: 0 10px;
    &::before {
        content: "";
        position: absolute;
        top: -12px;
        left: 50%;
        transform: translateX(-50%);
        width: 14px;
        height: 14px;
        background-color: var(--button-color);
        border-radius: 50%;
        z-index: 10;
    }
    a {
        display: block;
        text-decoration: none;
        font-weight: bold;
        margin-top: 10px;
        word-wrap: break-word;
    }
}

.card-list .card {
    margin-bottom: 1.5rem;
}

