.title {
  text-align: center;
  text-transform: uppercase;
  font-family: "Lato", sans-serif;
}

.hidden {
  display: none;
}

.opaque {
  opacity: 0;
  transition: 0.3s ease;
}

.disabled {
  opacity: 0.4;
  pointer-events: none;
}

* {
  box-sizing: border-box;
}

body {
  padding: 0px 0px 0px;
  font-family: "Lato", sans-serif;
}

#checkout-progress {
  width: 90%;
  margin: 0px auto;
  font-size: 23px;
  font-weight: bolder;
  position: relative;
}
@media (max-width: 767px) {
  #checkout-progress {
    font-size: 1.5em;
  }
}
#checkout-progress:before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  height: 2px;
  width: 100%;
  background-color: #ccc;
  -webkit-transform: translateY(-50%) perspective(1000px);
          transform: translateY(-50%) perspective(1000px); 
}
#checkout-progress:after {
  content: "";
  position: absolute; 
  left: 0;
  top: 50%;
  height: 2px;
  width: 100%;
  background-color: #325daf; 
  -webkit-transform: scaleX(0) translateY(-50%) perspective(1000px);
          transform: scaleX(0) translateY(-50%) perspective(1000px);
  -webkit-transform-origin: left center;
          transform-origin: left center;
  transition: -webkit-transform 0.5s ease; 
  transition: transform 0.5s ease;
  transition: transform 0.5s ease, -webkit-transform 0.5s ease;
}
#checkout-progress.step-2:after {
	content: "";
	  position: absolute; 
	  left: 0;
	  top: 50%;
	  height: 2px;
	  width: 60%;
	  background-color: #325daf; 
  -webkit-transform: scaleX(0.333) translateY(-50%) perspective(1000px);
          transform: scaleX(0.333) translateY(-50%) perspective(1000px);
}
#checkout-progress.step-3:after {
	content: "";
	  position: absolute; 
	  left: 0;
	  top: 50%;
	  height: 2px;
	  width: 60%;
	  background-color: #325daf; 
  -webkit-transform: scaleX(0.666) translateY(-50%) perspective(1000px);
          transform: scaleX(0.666) translateY(-50%) perspective(1000px);
}
#checkout-progress.step-4:after {
	content: "";
	  position: absolute; 
	  left: 0;
	  top: 50%;
	  height: 2px;
	  width: 60%;
	  background-color: #325daf; 
  -webkit-transform: scaleX(1) translateY(-50%) perspective(1000px);
          transform: scaleX(1) translateY(-50%) perspective(1000px);
}
#checkout-progress.step-5:after {
	content: "";
	  position: absolute; 
	  left: 0;
	  top: 50%;
	  height: 2px;
	  width: 80%;
	  background-color: #325daf; 
  -webkit-transform: scaleX(1) translateY(-50%) perspective(1000px);
          transform: scaleX(1) translateY(-50%) perspective(1000px);
}
#checkout-progress.step-6:after { 
	content: "";
	  position: absolute; 
	  left: 0;
	  top: 50%;
	  height: 2px;
	  width: 100%;
	  background-color: #325daf; 
  -webkit-transform: scaleX(1) translateY(-50%) perspective(1000px);
          transform: scaleX(1) translateY(-50%) perspective(1000px);
} 

#checkout-progress .progress-bar {
  width: 100%;
  display: flex;
  height: 100px;
  justify-content: space-between;
  align-items: center;
}
#checkout-progress .progress-bar .step {
  z-index: 2;
  position: relative;
}
#checkout-progress .progress-bar .step .step-label {
  position: absolute;
  top: calc(100% + 25px);
  left: 50%;
  -webkit-transform: translateX(-50%) perspective(1000px);
          transform: translateX(-50%) perspective(1000px);
  white-space: nowrap;
  font-size: 13px;
  font-weight: bolder;
  color: #ccc;
  transition: 0.3s ease;
}
@media (max-width: 767px) {
  #checkout-progress .progress-bar .step .step-label {
    top: calc(100% + 15px);
  }
}
#checkout-progress .progress-bar .step span {
  color: #ccc;
  transition: 0.3s ease;
  display: block;
  -webkit-transform: translate3d(0, 0, 0) scale(1) perspective(1000px);
          transform: translate3d(0, 0, 0) scale(1) perspective(1000px);
}
#checkout-progress .progress-bar .step .fa-check {
  color: #fff;
  position: absolute;
  left: 50%;
  top: 50%;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
  -webkit-transform: translate3d(-50%, -50%, 0) scale(0) perspective(1000px);
          transform: translate3d(-50%, -50%, 0) scale(0) perspective(1000px);
}
#checkout-progress .progress-bar .step.active span, #checkout-progress .progress-bar .step.active .step-label {
  color: #325daf;
}
#checkout-progress .progress-bar .step.valid .fa-check {
  -webkit-transform: translate3d(-50%, -50%, 0) scale(1) perspective(1000px);
          transform: translate3d(-50%, -50%, 0) scale(1) perspective(1000px);
}
#checkout-progress .progress-bar .step.valid span {
  color: #325daf;
  -webkit-transform: translate3d(0, 0, 0) scale(2) perspective(1000px);
          transform: translate3d(0, 0, 0) scale(2) perspective(1000px); 
}
#checkout-progress .progress-bar .step.valid .step-label {
  color: #325daf !important;
}
#checkout-progress .progress-bar .step:after {
  content: "";
  position: absolute;
  z-index: -1;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%) perspective(1000px);
          transform: translate(-50%, -50%) perspective(1000px);
  width: 40px;
  height: 40px;
  background-color: #fff;
  border-radius: 50%;
  border: 2px solid #ccc;
  transition: 0.3s ease;
}
@media (max-width: 767px) {
  #checkout-progress .progress-bar .step:after {
    width: 35px;
    height: 35px;
  }
}
#checkout-progress .progress-bar .step.active:after {
  border: 2px solid #325daf; 
}
#checkout-progress .progress-bar .step.valid:after {
  background-color: #325daf;
  border: 2px solid #325daf;
}

.button-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  width: 100%;
  margin: 100px auto 0px;
}
.button-container .btn {
  display: inline-block;
  background-color: #325daf;
  color: #fff;
  padding: 10px 15px;
  border-radius: 10px;
  text-transform: uppercase;
  font-weight: 900;
  border: 3px solid #325daf;
  transition: 0.3s ease;
  cursor: pointer;
  text-align: center;
}
@media (max-width: 767px) {
  .button-container .btn {
    width: 100%;
    margin-bottom: 15px;
  }
}
.button-container .btn:hover {
  background-color: transparent;
  color: #325daf;
  -webkit-transform: scale(1.02) perspective(1000px);
          transform: scale(1.02) perspective(1000px);
}


/********************가산점 진행바********************************************************************************/

#checkout-progress2 {
  width: 90%;
  margin: 0px auto;
  font-size: 23px;
  font-weight: bolder;
  position: relative;
}
@media (max-width: 767px) {
  #checkout-progress2 {
    font-size: 1.5em;
  }
}
#checkout-progress2:before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  height: 2px;
  width: 100%;
  background-color: #ccc;
  -webkit-transform: translateY(-50%) perspective(1000px);
          transform: translateY(-50%) perspective(1000px); 
}
#checkout-progress2:after {
  content: "";
  position: absolute; 
  left: 0;
  top: 50%;
  height: 14px;
  width: 100%;
  background-color: #325daf; 
  -webkit-transform: scaleX(0) translateY(-50%) perspective(1000px);
          transform: scaleX(0) translateY(-50%) perspective(1000px);
  -webkit-transform-origin: left center;
          transform-origin: left center;
  transition: -webkit-transform 0.5s ease; 
  transition: transform 0.5s ease;
  transition: transform 0.5s ease, -webkit-transform 0.5s ease;
}
#checkout-progress2.step-2:after {
	content: "";
	  position: absolute; 
	  left: 0;
	  top: 50%;
	  height: 2px;
	  width: 141%;
	  background-color: #325daf; 
  -webkit-transform: scaleX(0.333) translateY(-50%) perspective(1000px);
          transform: scaleX(0.333) translateY(-50%) perspective(1000px);
}
#checkout-progress2.step-3:after {
	content: "";
	  position: absolute; 
	  left: 0;
	  top: 50%;
	  height: 2px;
	  width: 150%;
	  background-color: #325daf; 
  -webkit-transform: scaleX(0.666) translateY(-50%) perspective(1000px);
          transform: scaleX(0.666) translateY(-50%) perspective(1000px);
}

#checkout-progress2 .progress-bar2 {
  width: 100%;
  display: flex;
  height: 100px;
  justify-content: space-between;
  align-items: center;
}
#checkout-progress2 .progress-bar2 .step2 {
  z-index: 2;
  position: relative;
}
#checkout-progress2 .progress-bar2 .step2 .step-label {
  position: absolute;
  top: calc(100% + 25px);
  left: 50%;
  -webkit-transform: translateX(-50%) perspective(1000px);
          transform: translateX(-50%) perspective(1000px);
  white-space: nowrap;
  font-size: 13px;
/*   font-weight: bolder; */
  color: #ccc;
  transition: 0.3s ease;
}
@media (max-width: 767px) {
  #checkout-progress2 .progress-bar2 .step2 .step-label {
    top: calc(100% + 15px);
  }
}
#checkout-progress2 .progress-bar2 .step2 span {
  color: #ccc;
  transition: 0.3s ease;
  display: block;
  -webkit-transform: translate3d(0, 0, 0) scale(1) perspective(1000px);
          transform: translate3d(0, 0, 0) scale(1) perspective(1000px);
}
#checkout-progress2 .progress-bar2 .step2 .fa-check {
  color: #fff;
  position: absolute;
  left: 50%;
  top: 50%;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
  -webkit-transform: translate3d(-50%, -50%, 0) scale(0) perspective(1000px);
          transform: translate3d(-50%, -50%, 0) scale(0) perspective(1000px);
}
#checkout-progress2 .progress-bar2 .step2.active span, #checkout-progress2 .progress-bar2 .step2.active .step-label {
  color: #325daf;
}
#checkout-progress2 .progress-bar2 .step2.valid .fa-check {
  -webkit-transform: translate3d(-50%, -50%, 0) scale(1) perspective(1000px);
          transform: translate3d(-50%, -50%, 0) scale(1) perspective(1000px);
}
#checkout-progress2 .progress-bar2 .step2.valid span {
  color: #325daf;
  -webkit-transform: translate3d(0, 0, 0) scale(2) perspective(1000px);
          transform: translate3d(0, 0, 0) scale(2) perspective(1000px); 
}
#checkout-progress2 .progress-bar2 .step2.valid .step-label {
  color: #325daf !important;
}
#checkout-progress2 .progress-bar2 .step2:after {
  content: "";
  position: absolute;
  z-index: -1;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%) perspective(1000px);
          transform: translate(-50%, -50%) perspective(1000px);
  width: 50px;
  height: 50px;
  background-color: #fff;
  border-radius: 50%;
  border: 2px solid #ccc;
  transition: 0.3s ease;
}
@media (max-width: 767px) {
  #checkout-progress2 .progress-bar2 .step2:after {
    width: 40px;
    height: 40px;
  }
}
#checkout-progress2 .progress-bar2 .step2.active:after {
  border: 2px solid #325daf; 
}
#checkout-progress2 .progress-bar2 .step2.valid:after {
  background-color: #325daf;
  border: 2px solid #325daf;
}

.button-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  width: 100%;
  margin: 100px auto 0px;
}
.button-container .btn {
  display: inline-block;
  background-color: #325daf;
  color: #fff;
  padding: 10px 15px;
  border-radius: 10px;
  text-transform: uppercase;
  font-weight: 900;
  border: 3px solid #325daf;
  transition: 0.3s ease;
  cursor: pointer;
  text-align: center;
}
@media (max-width: 767px) {
  .button-container .btn {
    width: 100%;
    margin-bottom: 15px;
  }
}
.button-container .btn:hover {
  background-color: transparent;
  color: #325daf;
  -webkit-transform: scale(1.02) perspective(1000px);
          transform: scale(1.02) perspective(1000px);
}