.timeline{max-width:1600px;margin:0 auto;padding:0 2em;position:relative}.timeline__year{font-size:40px;font-weight:600;color:#3e4f60;letter-spacing:-0.05em;text-align:center}.timeline__control{position:absolute;width:40px;height:67px;color:#00a4ef;font-size:94px;line-height:22px;text-align:center;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;visibility:hidden;opacity:0;transition:all .25s}.timeline__control--back{left:2rem}@media (max-width:400px){.timeline__control--back{left:.5rem}}.timeline__control--back::before{content:'«'}.timeline__control--forward{right:2rem}@media (max-width:400px){.timeline__control--forward{right:.5rem}}.timeline__control--forward::before{content:'»'}.timeline__control.is-visible{visibility:visible;opacity:1}.timeline__dots{margin:-10px auto 18px auto;max-width:calc(100% - 100px);overflow:hidden;height:72px;position:relative}@media (max-width:400px){.timeline__dots{max-width:calc(100% - 50px)}}.timeline__dots::before,.timeline__dots::after{content:'\0020';position:absolute;top:0;z-index:10;width:20px;height:100%}.timeline__dots::before{left:0;background-image:linear-gradient(to left, rgba(250,250,250,0), #fafafa)}.timeline__dots::after{right:0;background-image:linear-gradient(to right, rgba(250,250,250,0), #fafafa)}.timeline__slider{position:absolute;left:0;top:8px;padding:.8rem 0;font-size:0;text-align:center;white-space:nowrap;transition:left .5s}.timeline__slider.is-touching{transition:none}.timeline__dot{display:inline-block;vertical-align:top;width:22px;height:22px;margin:0 30px;background-color:#ccc;border-radius:50%;position:relative;transition:all .25s;cursor:pointer}.timeline__dot::before{content:attr(data-year);display:block;width:200%;position:absolute;top:-25px;left:-50%;font-size:14px;opacity:.2;transition:all .25s}.timeline__dot.is-active{background-color:#00a4ef;box-shadow:0 0 0 2px #00a4ef,0 0 0 8px white,0 0 10px 4px rgba(0,0,0,0.25)}.timeline__dot.is-active::before{opacity:0;transform:translateY(-8px) scale(.5)}.timeline__text{max-width:1200px;margin:0 auto;font-size:18px;line-height:1.75;position:relative;transition:height .5s;overflow:hidden}.timeline__textitem{position:absolute;top:0;left:0;width:100%;opacity:0;visibility:hidden;transition:all .25s}.timeline__textitem.is-active{opacity:1;visibility:visible}