// Definición de colores principales :root { --color1: #47545d; --color2: #c9d0d3; } // Estilos generales del timeline .main-timeline { &:after { content: ""; display: block; clear: both; } .timeline { border-right: 10px solid var(--color1); width: 50%; padding: 10px 20px 10px 0; box-shadow: 10px 0 var(--color2); float: left; min-height: 160px; &:last-child { min-height: 130px; } &-content { text-align: center; display: block; position: relative; border-radius: 10px 10px; &:hover { text-decoration: none; } &:before, &:after { content: ""; background: var(--color2); width: 80px; height: 3px; transform: translateY(-50%); position: absolute; top: 50%; right: -120px; } &:after { width: 15px; height: 15px; border-radius: 50%; right: -125px; } } } .timeline-year { border-radius: 50%; transform: translateY(-50%); position: absolute; top: 50%; right: -300px; img { max-width: 120px; } } .title { color: #fff; background: var(--color2); font-size: 22px; font-weight: 400; text-transform: uppercase; letter-spacing: 1px; padding: 10px 10px 9px; margin: 0; border-radius: 10px 10px 0 0; } .description { letter-spacing: 1px; padding: 10px; border-radius: 10px; margin: 0; } .timeline:nth-child(even) { float: right; border: none; border-left: 10px solid var(--color2); box-shadow: -10px 0 var(--color1); padding: 10px 0 10px 20px; margin: 0 0 0 10px; .timeline-content { &:before { right: auto; left: -120px; } &:after { right: auto; left: -125px; } } .timeline-year { right: auto; left: -300px; } } } // Colores dinámicos según el índice @for $i from 1 through 5 { .main-timeline .timeline:nth-child(#{$i}) { --color1: var(--bs-#{nth(success naranja-1 vino secondary naranja-2 , $i)}); --color2: color-mix(in srgb, var(--color1) 80%, black); } } // Estilos responsive para móviles @media screen and (max-width: 767px) { .main-timeline { .timeline, .timeline:nth-child(even) { width: 100%; padding: 100px 0 20px 20px; margin: 0 0 0 10px; box-shadow: -10px 0 var(--color2); border: none; border-left: 10px solid var(--color1); float: none; } .timeline-content { &:before, &:after { top: -50px; left: -20px; width: 50px; } &:after { width: 15px; right: auto; left: 15px; } } .timeline-year, .timeline:nth-child(even) .timeline-year { transform: translateX(-50%); top: -85px; left: 50%; right: auto; position: relative; } .description { margin-top: -73px; } } .timeline:nth-child(even) { float: right; border: none; border-left: 10px solid var(--color2); box-shadow: -10px 0 var(--color1); padding: 10px 0 10px 20px; margin: 0 0 0 10px; .timeline-content { &:before { right: auto; left: -20px !important; } &:after { width: 15px !important; right: auto !important; left: 15px !important; } } .timeline-year { right: auto; left: -300px; } } }