#year {margin-top:10px;}

.list > li {
    display:block;
    }
.width-100 {width:100%;}

:root {
--line-color: #ccc;       /* Color de la línea vertical */
--dot-size: 16px;         /* Tamaño de los círculos */
--dot-blue: #0072bb;      /* Color del círculo para título */
--dot-green: #44b04f;     /* Color del círculo para contenido */
}

.timeline {
position: relative;
margin: 40px 0;
padding: 0;
}

.timeline::before {
content: '';
position: absolute;
top: 0;
bottom: 0;
left: 50%;
width: 2px;
background-color: var(--line-color);
transform: translateX(-50%);
}

.timeline-item {
position: relative;
width: 50%;
padding: 20px 0;
box-sizing: border-box;
}

.timeline-item.left {
left: 0;
}

.timeline-item.right {
left: 50%;
}

.timeline-dot {
position: absolute;
top: 25px;
width: var(--dot-size);
height: var(--dot-size);
border-radius: 50%;
z-index: 1;
}

/* Posicionamiento correcto para ambos lados en desktop */
.timeline-item.left .timeline-dot {
left: 100%;
transform: translateX(-50%);
}
.timeline-item.right .timeline-dot{
left: -8px;
}

.dot-green {
background-color: var(--dot-green);
}

.dot-blue {
background-color: var(--dot-blue);
}

.timeline-panel {
padding:2px 30px;
}

.timeline-title {
font-weight: bold;
margin-bottom: 5px;
}

.timeline-month {
color: var(--dot-blue);
font-weight: bold;
font-size: 18px;
border-bottom: solid 2px #0072bb;
margin-top:-15px;
padding-left:15px;
padding-right: 15px;
}

.timeline-item.right .timeline-month {
    text-align:right;
}

/* Responsive */
@media (max-width: 767px) {
    .timeline::before {
        left: 20px;
    }

    .timeline-item {
        width: 100%;
        padding-left: 25px;
        padding-right: 15px;
        left: 0 !important;
    }

    .timeline-dot {
        left: 12px !important;
        transform: none !important;
    }

    .timeline-item.right .timeline-month {
        text-align:left;
    }

}

#contBuscador::after {
    content: "\f002";
    color: #ccc;
    position: absolute;
    right: 24px;
    top: .25rem;
    font-family: 'FontAwesome';
    font-size: 1.3rem;
    display: block;
}
#buscador {
    padding-right:35px;
}

.badge{
    white-space: normal !important;
}



/* Responsive */
@media (max-width: 991px) {
    .form-select {
        margin:1em 0;
    }
}


