.wizard-steps {
  display: flex;
  justify-content: space-between;
  list-style: none;
  padding: 0;
  margin-bottom: 40px;
  position: relative;
}

.wizard-step {
  text-align: center;
  flex: 1;
  position: relative;
  color: #999;
  font-weight: 600;
}

.wizard-step::after {
  content: '';
  position: absolute;
  height: 2px;
  background: #ccc;
  top: 15px;
  left: 50%;
  width: 100%;
  z-index: 0;
}

.wizard-step:last-child::after { display: none; }

.step-number {
  display: inline-block;
  width: 36px;
  height: 36px;
  line-height: 36px;
  border-radius: 50%;
  border: 2px solid #ccc;
  background: #fff;
  margin-bottom: 5px;
  z-index: 1;
  position: relative;
  color: #555;
  font-weight: bold;
}

.wizard-step.active .step-number {
  background-color: #6f42c1;
  border-color: #6f42c1;
  color: white;
}

.wizard-step.completed .step-number {
  background-color: #28a745;
  border-color: #28a745;
  color: white;
}

.step-title {
  display: block;
  font-size: 13px;
  margin-top: 3px;
}

.wizard-step-container {
  /*opacity: 0;*/
  /*transform: translateX(20px);*/
  /*transition: opacity 0.4s ease, transform 0.4s ease;*/
}

.wizard-step-container.show { opacity:1; transform: translateX(0); }
.wizard-step-container.fade-out { opacity:0; transform: translateX(-20px); }

.placement-score-box {
  padding: 50px 20px;
  color: white;
}

.placement-title {
  letter-spacing: 3px;
  opacity: 0.9;
}

.placement-score {
  font-size: 75px;
  font-weight: 700;
  margin: 15px 0;
}

.score-percent {
  font-size: 30px;
}

.placement-grade {
  font-size: 18px;
  letter-spacing: 1px;
  margin-bottom: 25px;
}

.placement-progress {
  height: 10px;
  background: rgba(255,255,255,0.3);
}

.score-progress-bar {
  width: 0%;
  background: white;
}

.placement-rank {
  margin-top: 25px;
  font-size: 16px;
}

.placement-cutoff {
  margin-top: 12px;
  font-size: 14px;
}
