body {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 100vh;
  background: radial-gradient(ellipse at bottom, #0d1d31 0%, #0c0d13 100%);
  overflow: hidden;
}

.stars {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 120%;
  transform: rotate(-45deg);
  color: aqua;
}

.star {
  --star-color: var(--primary-color);
  --star-tail-length: 6em;
  --star-tail-height: 2px;
  --star-width: calc(var(--star-tail-length) / 6);
  --fall-duration: 9s;
  --tail-fade-duration: var(--fall-duration);
  position: absolute;
  top: var(--top-offset);
  left: 0;
  width: var(--star-tail-length);
  height: var(--star-tail-height);
  color: var(--star-color);
  background: linear-gradient(45deg, currentColor, transparent);
  border-radius: 50%;
  filter: drop-shadow(0 0 6px currentColor);
  transform: translate3d(104em, 0, 0);
  animation: fall var(--fall-duration) var(--fall-delay) linear infinite, tail-fade var(--tail-fade-duration) var(--fall-delay) ease-out infinite;
}
@media screen and (max-width: 750px) {
  .star {
    animation: fall var(--fall-duration) var(--fall-delay) linear infinite;
  }
}
.star:nth-child(1) {
  --star-tail-length: 7.46em;
  --top-offset: 27.95vh;
  --fall-duration: 10.567s;
  --fall-delay: 8.656s;
}
.star:nth-child(2) {
  --star-tail-length: 5.55em;
  --top-offset: 79.71vh;
  --fall-duration: 7.851s;
  --fall-delay: 3.417s;
}
.star:nth-child(3) {
  --star-tail-length: 6.68em;
  --top-offset: 41.67vh;
  --fall-duration: 7.064s;
  --fall-delay: 6.044s;
}
.star:nth-child(4) {
  --star-tail-length: 6.19em;
  --top-offset: 65.92vh;
  --fall-duration: 11.238s;
  --fall-delay: 1.064s;
}
.star:nth-child(5) {
  --star-tail-length: 5.09em;
  --top-offset: 46.54vh;
  --fall-duration: 7.783s;
  --fall-delay: 3.082s;
}
.star:nth-child(6) {
  --star-tail-length: 5.1em;
  --top-offset: 99.02vh;
  --fall-duration: 8.308s;
  --fall-delay: 9.764s;
}
.star:nth-child(7) {
  --star-tail-length: 6.25em;
  --top-offset: 60.69vh;
  --fall-duration: 8.248s;
  --fall-delay: 6.529s;
}
.star:nth-child(8) {
  --star-tail-length: 6.01em;
  --top-offset: 69.78vh;
  --fall-duration: 6.984s;
  --fall-delay: 4.508s;
}
.star:nth-child(9) {
  --star-tail-length: 7.03em;
  --top-offset: 44.65vh;
  --fall-duration: 7.245s;
  --fall-delay: 7.472s;
}
.star:nth-child(10) {
  --star-tail-length: 5.21em;
  --top-offset: 60.45vh;
  --fall-duration: 11.354s;
  --fall-delay: 6.147s;
}
.star:nth-child(11) {
  --star-tail-length: 5.86em;
  --top-offset: 24.31vh;
  --fall-duration: 9.65s;
  --fall-delay: 0.082s;
}
.star:nth-child(12) {
  --star-tail-length: 6.54em;
  --top-offset: 6.96vh;
  --fall-duration: 9.3s;
  --fall-delay: 9.586s;
}
.star:nth-child(13) {
  --star-tail-length: 7.47em;
  --top-offset: 85.94vh;
  --fall-duration: 7.106s;
  --fall-delay: 2.455s;
}
.star:nth-child(14) {
  --star-tail-length: 5.16em;
  --top-offset: 5.43vh;
  --fall-duration: 7.941s;
  --fall-delay: 5.163s;
}
.star:nth-child(15) {
  --star-tail-length: 6.88em;
  --top-offset: 54.87vh;
  --fall-duration: 8.407s;
  --fall-delay: 0.47s;
}
.star:nth-child(16) {
  --star-tail-length: 6.12em;
  --top-offset: 45.61vh;
  --fall-duration: 7.507s;
  --fall-delay: 2.902s;
}
.star:nth-child(17) {
  --star-tail-length: 5.1em;
  --top-offset: 88.77vh;
  --fall-duration: 9.562s;
  --fall-delay: 7.382s;
}
.star:nth-child(18) {
  --star-tail-length: 6.46em;
  --top-offset: 18.92vh;
  --fall-duration: 11.399s;
  --fall-delay: 7.247s;
}
.star:nth-child(19) {
  --star-tail-length: 5.02em;
  --top-offset: 1.26vh;
  --fall-duration: 11.86s;
  --fall-delay: 6.064s;
}
.star:nth-child(20) {
  --star-tail-length: 6.69em;
  --top-offset: 65.47vh;
  --fall-duration: 9.088s;
  --fall-delay: 2.145s;
}
.star:nth-child(21) {
  --star-tail-length: 6.91em;
  --top-offset: 66.38vh;
  --fall-duration: 6.755s;
  --fall-delay: 4.165s;
}
.star:nth-child(22) {
  --star-tail-length: 5.59em;
  --top-offset: 92vh;
  --fall-duration: 11.71s;
  --fall-delay: 1.113s;
}
.star:nth-child(23) {
  --star-tail-length: 6.59em;
  --top-offset: 43.68vh;
  --fall-duration: 9.756s;
  --fall-delay: 1.984s;
}
.star:nth-child(24) {
  --star-tail-length: 6.63em;
  --top-offset: 65.4vh;
  --fall-duration: 8.238s;
  --fall-delay: 5.029s;
}
.star:nth-child(25) {
  --star-tail-length: 6.37em;
  --top-offset: 78.12vh;
  --fall-duration: 10.428s;
  --fall-delay: 4.002s;
}
.star:nth-child(26) {
  --star-tail-length: 7.25em;
  --top-offset: 24.24vh;
  --fall-duration: 9.488s;
  --fall-delay: 1.947s;
}
.star:nth-child(27) {
  --star-tail-length: 6.41em;
  --top-offset: 5.85vh;
  --fall-duration: 10.358s;
  --fall-delay: 1.569s;
}
.star:nth-child(28) {
  --star-tail-length: 7.12em;
  --top-offset: 36.82vh;
  --fall-duration: 11.338s;
  --fall-delay: 4.108s;
}
.star:nth-child(29) {
  --star-tail-length: 6.78em;
  --top-offset: 43.56vh;
  --fall-duration: 8.57s;
  --fall-delay: 2.195s;
}
.star:nth-child(30) {
  --star-tail-length: 6.82em;
  --top-offset: 38.01vh;
  --fall-duration: 10.032s;
  --fall-delay: 8.637s;
}
.star:nth-child(31) {
  --star-tail-length: 5.89em;
  --top-offset: 9.15vh;
  --fall-duration: 10.023s;
  --fall-delay: 5.139s;
}
.star:nth-child(32) {
  --star-tail-length: 6.25em;
  --top-offset: 69.74vh;
  --fall-duration: 10.591s;
  --fall-delay: 2.449s;
}
.star:nth-child(33) {
  --star-tail-length: 6.15em;
  --top-offset: 42.34vh;
  --fall-duration: 10.244s;
  --fall-delay: 6.72s;
}
.star:nth-child(34) {
  --star-tail-length: 6.2em;
  --top-offset: 21.05vh;
  --fall-duration: 7.581s;
  --fall-delay: 1.728s;
}
.star:nth-child(35) {
  --star-tail-length: 6.77em;
  --top-offset: 91.25vh;
  --fall-duration: 8.834s;
  --fall-delay: 8.685s;
}
.star:nth-child(36) {
  --star-tail-length: 6.71em;
  --top-offset: 88.46vh;
  --fall-duration: 6.579s;
  --fall-delay: 7.725s;
}
.star:nth-child(37) {
  --star-tail-length: 7.23em;
  --top-offset: 53.23vh;
  --fall-duration: 8.229s;
  --fall-delay: 2.676s;
}
.star:nth-child(38) {
  --star-tail-length: 5.24em;
  --top-offset: 10.79vh;
  --fall-duration: 8.208s;
  --fall-delay: 2.626s;
}
.star:nth-child(39) {
  --star-tail-length: 5.72em;
  --top-offset: 51.97vh;
  --fall-duration: 9.012s;
  --fall-delay: 3.352s;
}
.star:nth-child(40) {
  --star-tail-length: 7.45em;
  --top-offset: 77.59vh;
  --fall-duration: 7.696s;
  --fall-delay: 0.714s;
}
.star:nth-child(41) {
  --star-tail-length: 5.84em;
  --top-offset: 62.76vh;
  --fall-duration: 10.482s;
  --fall-delay: 4.59s;
}
.star:nth-child(42) {
  --star-tail-length: 7.04em;
  --top-offset: 31.69vh;
  --fall-duration: 7.871s;
  --fall-delay: 1.257s;
}
.star:nth-child(43) {
  --star-tail-length: 5.32em;
  --top-offset: 36.8vh;
  --fall-duration: 8.108s;
  --fall-delay: 4.011s;
}
.star:nth-child(44) {
  --star-tail-length: 6.1em;
  --top-offset: 37.35vh;
  --fall-duration: 10.322s;
  --fall-delay: 7.367s;
}
.star:nth-child(45) {
  --star-tail-length: 5.54em;
  --top-offset: 44.23vh;
  --fall-duration: 8.015s;
  --fall-delay: 4.529s;
}
.star:nth-child(46) {
  --star-tail-length: 7.43em;
  --top-offset: 15.68vh;
  --fall-duration: 8.609s;
  --fall-delay: 2.622s;
}
.star:nth-child(47) {
  --star-tail-length: 5.55em;
  --top-offset: 81.27vh;
  --fall-duration: 10.029s;
  --fall-delay: 7.597s;
}
.star:nth-child(48) {
  --star-tail-length: 5.98em;
  --top-offset: 31.23vh;
  --fall-duration: 8.823s;
  --fall-delay: 6.549s;
}
.star:nth-child(49) {
  --star-tail-length: 6.14em;
  --top-offset: 63.62vh;
  --fall-duration: 7.129s;
  --fall-delay: 8.29s;
}
.star:nth-child(50) {
  --star-tail-length: 5.4em;
  --top-offset: 82.63vh;
  --fall-duration: 6.509s;
  --fall-delay: 4.885s;
}
.star::before, .star::after {
  position: absolute;
  content: "";
  top: 0;
  left: calc(var(--star-width) / -2);
  width: var(--star-width);
  height: 100%;
  background: linear-gradient(45deg, transparent, currentColor, transparent);
  border-radius: inherit;
  animation: blink 2s linear infinite;
}
.star::before {
  transform: rotate(45deg);
}
.star::after {
  transform: rotate(-45deg);
}

@keyframes fall {
  to {
    transform: translate3d(-30em, 0, 0);
  }
}
@keyframes tail-fade {
  0%, 50% {
    width: var(--star-tail-length);
    opacity: 1;
  }
  70%, 80% {
    width: 0;
    opacity: 0.4;
  }
  100% {
    width: 0;
    opacity: 0;
  }
}
@keyframes blink {
  50% {
    opacity: 0.6;
  }
}



/* TIMELINE */



* {
  box-sizing: border-box;
}

body {
  color: #bbb;
  padding: 1rem;
  font-family: "Playfair Display", serif;
}

h1 {
  text-align: center;
  font-family: "Raleway", sans-serif;
}

.timeline {
  position: relative;
  padding: 1rem;
  margin: 0 auto;
  max-width: 1300px;
}
.timeline:before {
  content: "";
  position: absolute;
  height: 100%;
  border: 1px solid rgb(121, 0, 105);
  right: 40px;
  top: 0;
}
.timeline:after {
  content: "";
  display: table;
  clear: both;
}
@media screen and (min-width: 700px) {
  .timeline {
    padding: 2rem;
  }
  .timeline:before {
    left: calc(50% - 1px);
    right: auto;
  }
}

.timeline__item {
  padding: 1rem;
  border: 2px solid rgb(121, 0, 105);
  border-image: linear-gradient(to right, rgb(13, 37, 255) 0%, rgb(121, 0, 105));
  border-image-slice: 1;
  position: relative;
  margin: 1rem 3rem 1rem 1rem;
  clear: both;
}
.timeline__item:after, .timeline__item:before {
  content: "";
  position: absolute;
}
.timeline__item:before {
  right: -10px;
  top: calc(50% - 5px);
  border-style: solid;
  border-color: rgb(121, 0, 105) rgb(121, 0, 105) transparent transparent;
  border-width: 10px;
  transform: rotate(45deg);
}
@media screen and (min-width: 700px) {
  .timeline__item {
    width: 44%;
    margin: 1rem;
  }
  .timeline__item:nth-of-type(2n) {
    float: right;
    margin: 1rem;
    border-image: linear-gradient(to right, rgb(121, 0, 105), rgb(13, 37, 255));
    border-image-slice: 1;
  }
  .timeline__item:nth-of-type(2n):before {
    right: auto;
    left: -10px;
    border-color: transparent transparent rgb(121, 0, 105) rgb(121, 0, 105);
  }
}

.timeline__item--year {
  text-align: center;
  max-width: 150px;
  margin: 0 48px 0 auto;
  font-size: 1.8rem;
  background-color: rgb(12, 22, 34) ;
  line-height: 1;
  border-image: none;
  padding: 0.5rem 1rem 1rem;
}
.timeline__item--year:before {
  display: none;
}
@media screen and (min-width: 700px) {
  .timeline__item--year {
    text-align: center;
    margin: 0 auto;
  }
  .timeline__item--year:nth-of-type(2n) {
    float: none;
    margin: 0 auto;
    border-image: none;
  }
  .timeline__item--year:nth-of-type(2n):before {
    display: none;
  }
}

.timeline__title {
  margin: 0;
  font-family: "Raleway", sans-serif;
  font-size: 1.5em;
}

.timeline__blurb {
  line-height: 1.5;
  font-size: 1rem;
  margin: 0.5rem 0 0;
}