body {
  width: 100vw;
  height: 100vh;
  background: #101010;
  color: #fff;
  overflow: hidden;
}
body .background {
  background: url("http://updates.eveonline.com/kvd74o0q2fjg/6LSX4DQNTGA2gkaAoUyyGm/dc6ba3c2210c2385b76ca444543167cf/SUMMER_-_FLEET_BOOSTS_REWORKb412.jpg?w=1920&fm=jpg&fl=progressive") center center no-repeat;
  background-size: cover;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0.3;
  width: 100%;
  height: 100%;
}
h1 {
  position: absolute;
  width: 100%;
  top: 30%;
  text-align: center;
  text-transform: uppercase;
  letter-spacing: 30px;
  transform: scale(1.2);
}
h1.zoom {
  transform: scale(1);
  transition: 10s ease-out;
}
h1 .underlay {
  position: absolute;
  width: 70%;
  height: 0px;
  box-shadow: 0 0 5px 3px rgba(255,255,255,0.2), 0 0 5px 3px rgba(255,255,255,0.2) inset;
  left: 50%;
  transform: translate3d(-50%, 17px, 0);
  opacity: 0;
  transition: 0.2s linear;
  border-radius: 50%;
}
h1 .underlay.show {
  width: 20%;
  opacity: 1;
  height: 14px;
  transform: translate3d(-50%, 10px, 0);
  transition: 0s linear;
}
h1 > span {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  display: block;
}
h1 > span span {
  display: inline-block;
  background: #fff;
  margin-right: -38px;
  padding: 0 20px 0 35px;
  transition: 0.1s linear;
  box-shadow: 0px 0px 0vw 0vw rgba(80,90,255,0);
  text-shadow: 1px 1px 20px rgba(255,255,255,0.5);
}
h1 > span.initial span {
  opacity: 0;
}
h1 > span.initial.transInStart span:nth-child(2),
h1 > span.initial.transInStart span:nth-child(3) {
  opacity: 1;
  box-shadow: 0px 0px 15vw 15vw rgba(80,90,255,0.2);
  transition: 0s linear;
}
h1 > span.initial.transInMid span {
  opacity: 1;
  transition: 0s linear;
  box-shadow: 0px 0px 15vw 15vw rgba(80,90,255,0.2);
}
h1 > span.initial.transInMid span:nth-child(1) {
  transition-delay: 0.125s;
}
h1 > span.initial.transInMid span:nth-child(2) {
  transition-delay: 0.075s;
}
h1 > span.initial.transInMid span:nth-child(3) {
  transition-delay: 0s;
}
h1 > span.initial.transInFin span {
  opacity: 1;
  background: rgba(255,255,255,0);
  transition: 0.05s linear;
}
h1 > span.initial.transInFin span:nth-child(1) {
  transition-delay: 0.2s;
}
h1 > span.initial.transInFin span:nth-child(2) {
  transition-delay: 0.1s;
}
h1 > span.initial.transInFin span:nth-child(3) {
  transition-delay: 0s;
}
h1 > span.initial.transOutStart span:nth-child(1) {
  opacity: 0;
  transition: 0s linear;
}
h1 > span.initial.transOutFin span:nth-child(1),
h1 > span.initial.transOutFin span:nth-child(2) {
  opacity: 0;
  transition: 0s linear;
}
h1 > span.final span {
  opacity: 0;
}
h1 > span.final span.show {
  box-shadow: 0px 0px 0vw 0vw !important;
  background: transparent !important;
  opacity: 1 !important;
}
h1 > span.final span.show:nth-child(2) {
  padding: 0 35px 0 20px;
}
h1 > span.final.transInStart span {
  opacity: 1;
  box-shadow: 0px 0px 15vw 15vw rgba(80,90,255,0.2);
  transition: 0s linear;
}
h1 > span.final.transInStepOne span:nth-child(1),
h1 > span.final.transInStepOne span:nth-child(2) {
  opacity: 1;
  box-shadow: 0px 0px 15vw 15vw rgba(80,90,255,0.2);
  transition: 0s linear;
}
h1 > span.final.transInStepTwo span {
  opacity: 0;
  box-shadow: 0px 0px 0vw 0vw;
  background: transparent;
  transition: 0s linear;
}
h1 > span.final.transInStepTwo span:nth-child(1) {
  transition-delay: 0.075s;
}
h1 > span.final.transInStepTwo span:nth-child(2) {
  transition-delay: 0s;
}
h1 > span.final.transInStepTwo span:nth-child(1) {
  opacity: 1;
}
h1 > span.final.transInStepThree span:nth-child(2) {
  opacity: 1;
  box-shadow: 0px 0px 15vw 15vw rgba(80,90,255,0.2);
  transition: 0s linear;
}
