.container .form-outer {
  width: 100%;
  overflow: hidden;
}

.container .form-outer form {
  display: flex;
  width: 400%;
}

.form-outer form .page {
  width: 25%;
  transition: margin-left 0.3s ease-in-out;
}

.form-signin, .form-activate, .form-contact{
  width: 100%;
  padding: 15px;
  margin: auto;
}

.form-control {
 position: relative;
  
}

.form-control:focus, .form-floating label{
  z-index: 2;
}
 
.form-control.top, .form-select.top {
  margin-bottom: -1px;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.form-control.mid, .form-select.mid {
  margin-bottom: -1px;
  border-radius: 0;
}
.form-control.bottom, .form-select.bottom {
  margin-bottom: 10px;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}
.form-control.bottom-left {
  border-bottom-right-radius: 0;
}
.form-control.bottom-right {
  border-bottom-left-radius: 0;
  margin-left:-1px;
  width: calc(100% + 1px);
}
.unauthorized {
  color: #FF0000;
  margin:1rem;
}

form .invalid {
  color: #ff0000;
  font-weight: bold;
}

form .helper-text, form .invalid, form .valid{
  /* display: block;
  margin-top: 6px;
  line-height: 22px;*/ 
  font-size: 0.8rem;
  margin:0;
}
form ul.helper-text li {
  border:none;
  background:none;
  padding:0;
  margin-right: 1.5rem;
  float:left;
}
form .valid {
  font-weight:bold;
  color: #008800;
}

form label {
  font-size: .8rem;
}
form label.lg {
  font-size: 1rem;
}
/* toggle password view */
.togglePass {
  float:right;
  position:relative;
  top:-2.5rem;
  right:2rem;
  margin-bottom: -2.5rem;
  z-index: 2;
  cursor: pointer;
  color:#000;
}

/* checkbox styling */
.checkbox label:after, 
.radio label:after {
    content: '';
    display: table;
    clear: both;
}

.checkbox .cr,
.radio .cr {
    position: relative;
    border: 1px solid #a9a9a9;
    background-color: #FFF;
    float:left;
    border-radius: .25em;
    width: 1.3em;
    height: 1.3em;
    margin-right: .5em;
}
.radio .cr {
    border-radius: 50%;
}

.checkbox .cr .cr-icon,
.radio .cr .cr-icon {
    position: absolute;
    font-size: .8em;
    line-height: 0;
    top: 50%;
    left: 20%;
}

.radio .cr .cr-icon {
    margin-left: 0.04em;
}
/* checkbox size */
.checkbox label {
  font-size: 1.5rem;
}
.checkbox label input[type="checkbox"],
.radio label input[type="radio"] {
    display: none;
}
.checkbox label input[type="checkbox"] + .cr > .cr-icon,
.radio label input[type="radio"] + .cr > .cr-icon {
    transform: scale(3) rotateZ(-20deg);
    opacity: 0;
    transition: all .3s ease-in;
}

.checkbox label input[type="checkbox"]:checked + .cr > .cr-icon,
.radio label input[type="radio"]:checked + .cr > .cr-icon {
    transform: scale(1) rotateZ(0deg);
    opacity: 1;
}

.checkbox label input[type="checkbox"]:disabled + .cr,
.radio label input[type="radio"]:disabled + .cr {
    opacity: .5;
}

/* prog bar  */
.multi-steps > li.is-active:before, .multi-steps > li.is-active ~ li:before {
  content: counter(stepNum);
  font-family: inherit;
  font-weight: 700;
}
.multi-steps > li.is-active:after, .multi-steps > li.is-active ~ li:after {
  background-color: #ededed;
}

.multi-steps {
  display: table;
  table-layout: fixed;
  width: 100%;
}
.multi-steps > li {
  counter-increment: stepNum;
  text-align: center;
  display: table-cell;
  position: relative;
  /* color: tomato; */
  color: #435da5;
}
.multi-steps > li:before {
  content: '\f00c';
  content: '\2713;';
  content: '\10003';
  content: '\10004';
  content: '\2713';
  display: block;
  margin: 0 auto 4px;
  background-color: #fff;
  width: 32px;
  height: 32px;
  line-height: 24px;
  text-align: center;
  font-weight: bold;
  border-width: 4px;
  border-style: solid;
  /* border-color: tomato; */
  border-color: #435da5;
  border-radius: 50%;
}
.multi-steps > li.is-active:before {
  animation: pulse 2s infinite;
}
.multi-steps > li:after {
  content: '';
  height: 4px;
  /* width: 100%; */
  width: 0%;
  transition: width 1s ease-in;
  /* background-color: tomato; */
  background-color: #435da5;
  position: absolute;
  top: 16px;
  left: 50%;
  z-index: -1;
  
}
.multi-steps > li.is-complete:after {
  animation: nextStep 1s;
  animation-fill-mode: forwards;
}
.multi-steps > li:last-child:after {
  display: none;
}
.multi-steps > li.is-active:before {
  background-color: #fff;
  /* border-color: tomato; */
  border-color: #435da5;
}
.multi-steps > li.is-active ~ li {
  color: #808080;
}
.multi-steps > li.is-active ~ li:before {
  background-color: #ededed;
  border-color: #ededed;
}
@keyframes pulse {
  0% {
    box-shadow: 0 0 0 0 rgba(33, 131, 221, 0.4);
  }
  70% {
    box-shadow: 0 0 0 10px rgba(33, 131, 221, 0);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(33, 131, 221, 0);
  }
}
@keyframes nextStep {
  0% {
    width: 0%;
  }
  100% {
    width: 100%;
  }
}