.section { background: #e8eaed; background-image: repeating-linear-gradient( 90deg, transparent, transparent .125rem, rgba(200, 200, 205, 0.3) .125rem, rgba(200, 200, 205, 0.3) .25rem ); min-height: calc(100vh / var(--zoom-compensation, 1)); width: 100%; padding: 6.25rem auto; padding-bottom: 9.375rem; display: flex; flex-direction: column; } .headRow { width: 100%; display: flex; justify-content: flex-end; margin-bottom: 6.25rem; } /* Timeline */ .timelineWrapper { position: relative; width: 100%; } .timelineLine { position: absolute; left: 50%; top: 0; bottom: 0; width: .125rem; background: #828F9E; transform: translateX(-50%); } .timelineContent { display: flex; flex-direction: column; gap: 0; } .timelineItem { display: flex; flex-direction: row; align-items: flex-start; min-height: 6rem; margin-bottom: 1rem; scroll-margin-top: 7.5rem; } .timelineItem .side { flex: 1; display: flex; flex-direction: column; gap: .5rem; padding: .5rem 1.5rem; min-width: 0; } .timelineItem.left .side:first-child { text-align: right; align-items: flex-end; } .timelineItem.right .side:last-child { text-align: left; align-items: flex-start; } .timelineItem .side:empty { min-height: .0625rem; } .year { font-size: 2.5rem; color: #222; line-height: 1.2; } .desc { font-size: 1.25rem; line-height: 1.6; color: #333; margin: 0; max-width: 37.5rem; margin-top: 1.25rem; list-style: disc; margin-left: 1.25rem; } .timelineItem.left .desc { text-align: right; list-style: none; margin-left: 0; margin-right: 1.25rem; } .timelineItem.left li { display: flex; flex-direction: row; justify-content: flex-end; } .timelineItem.left li.desc::after { content: "•"; display: block; margin-left: 0.5em; } .dotWrapper { position: relative; flex-shrink: 0; width: 3.75rem; height: 3.75rem; display: flex; align-items: center; justify-content: center; z-index: 1; background: #E8F3FF; border-radius: 50%; } .dot { width: 1.25rem; height: 1.25rem; border-radius: 50%; background: #3875FF; } .dotWrapper.selected { width: 3.75rem; height: 3.75rem; background: #e8eaed; } .dotWrapper.selected .dot { width: 1.25rem; height: 1.25rem; background: #14355C; transition: all 0.3s ease-in-out; } .dotWrapper.selected::before { content: ""; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 3.75rem; height: 3.75rem; border: .125rem solid #14355C; border-radius: 50%; background: transparent; transition: all 0.3s ease-in-out; } .dotLine { position: absolute; left: 50%; top: 100%; transform: translateX(-50%); width: .375rem; min-height: 0; background: #14355C; transition: all 0.9s ease-in-out; } @media (max-width: 64rem) { .section { padding: 4rem 4rem; } .headRow { margin-bottom: 4rem; } } @media (max-width: 48rem) { .section { padding: 2rem 1rem; min-height: auto; } .headRow { margin-bottom: 2rem; } .timelineLine { left: 1.875rem; } .timelineItem { flex-direction: row !important; } .timelineItem .side:first-child { display: none; } .timelineItem .side:last-child { text-align: left !important; align-items: flex-start !important; } .timelineItem.left .desc { text-align: left; margin-left: 1.25rem; margin-right: 0; list-style: disc; } .timelineItem.left li { justify-content: flex-start; } .timelineItem.left li.desc::after { display: none; } .dotWrapper { width: 2.5rem; height: 2.5rem; flex-shrink: 0; } .dotWrapper.selected { width: 2.5rem; height: 2.5rem; } .dotWrapper.selected::before { width: 2.5rem; height: 2.5rem; } .year { font-size: 1.75rem; } .desc { font-size: 1rem; max-width: none; } } @media (max-width: 30rem) { .section { padding: 1.5rem 0.75rem; } .year { font-size: 1.5rem; } }