*{
  margin:0;
  padding:0;
  outline: none;
  font-family: sans-serif;
}

body{
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 100vh;
}

.container{
  border: 1px solid grey;
  width: 350px;
  border-color: grey;
  background:#fff;
  border-radius: 10px;
  text-align: center;
  padding: 30px 35px 0 35px;
}

.container header{
  color: #56070C;
  font-size: 28px;
  font-weight: 600;
  margin: 0 0 30px 0;
}

.container .form-princ{
  width: 100%;
  overflow: hidden;
}

.form-princ form{
  display: flex;
  width: 400%;
}

.form-princ form .pagina{
  width: 25%;
  transition: margin-left 0.5s ease-in-out;
}

.form-princ form .pagina .titulo{
  text-align: left;
  font-size: 20px;
  font-weight: 500;
  color: #56070C;;
}

.form-princ form .pagina .campo{
  height: 35px;
  width: 350px;
  margin: 40px 0;
  display: flex;
  position: relative;
   }

   .form-princ form .pagina .campo .label{
    position: absolute;
    top:-30px;
    font-weight: 500;
    font-size: 14px;
    font-style: sans-serif;
    float: left;
    text-align: left;
    width: 100%;
   }

   .form-princ form .pagina .campo input{
    width: 100%;
    height: 100%;
    border: 1px solid lightgrey;
    border-radius: 5px;
    font-size: 16px;
    padding-left: 15px;
   }

   .form-princ form .pagina .campo select{
    width: 100%;
    padding-left: 10px;
    font-size: 17px;
    font-weight: 500;
    border-radius: 5px;
    border: 1px solid lightgrey;
    }

    .form-princ form .pagina .campo textarea{
      width: 100%;
      height: 100px;
      min-height: 50px;
      padding-left: 10px;
      font-size: 16px;
      font-weight: 500;
      border-radius: 5px;
      border: 1px solid lightgrey;
      }

    .form-princ form .pagina .campo button{ 
      width: 100%;
      height: calc(100% + 5px);
      margin-top: -20px;
      border: none;
      background:#F74D04;
      border-radius: 7px;
      color: #fff;
      font-size: 18px;
      font-weight: 500;
      letter-spacing: 1px;
      text-transform: uppercase;
      cursor: pointer;
      transition: 0.3s ease;
    }

    .form-princ form .pagina .campo button:hover{
      background: #56070C;
    }

    .form-princ form .pagina .campo input:hover{
      border-color: #56070C;
    }

    .form-princ form .pagina .campo select:hover{
      border-color: #56070C;
    }

    .form-princ form .pagina .campo textarea:hover{
      border-color: #56070C;
    }

    .form-princ form .pagina .btns button{
      margin-top: -20px!important;
    }

    form .pagina .btns button.volver{
      margin-right: 3px;
      font-size: 17px;
    }

    form .pagina .btns button.adelante{
      margin-left: 3px;
    }

    .container .progress-bar{
      display: flex;
      margin: 40px 0;
    }

    .container .progress-bar .paso{
      text-align: center;
      width: 100%; 
      position: relative;
    }

    .progress-bar .paso p{
      font-size: 18px;
      font-weight: 500;
      color: #56070C;
      margin-bottom: 8px;
      transition:0.2s;
    }

    .progress-bar .paso p.active{
      color: green;
    }

    .progress-bar .paso .num{
      position: relative;
      width: 25px;
      height: 25px;
      border: 2px solid #56070C;
      border-radius: 50%;
      display: inline-block;
      font-weight: 500;
      font-size: 17px;
      line-height: 25px;
      transition: 0.2s;
    }

    .progress-bar .paso .num.active{
      border-color:green;
      background: green;
    }

    .progress-bar .paso .num span{
      color: #56070C;;
      font-weight: 500;
      font-size: 17px;
      line-height: 25px;
      position: absolute;
      left: 50%;
      transform: translateX(-50%);
    }

    .progress-bar .paso .num.active span{
      display: none;
    }
    
    .progress-bar .paso .check{
      display: none; 
      position: absolute;
      left: 50%;
      top: 70%;
      font-size: 15px;
      transform: translate(-50%, -50%);
    }

    .progress-bar .paso .check.active{
      display:block;
      color:#fff;
    }

    .progress-bar .paso .num:before,
    .progress-bar .paso .num:after{
      position: absolute;
      content: '';
      width: 44px;
      height: 3px;
      bottom: 11px;
      right: -53px;
      background: #56070C;
    }

    .progress-bar .paso:last-child .num:before,
    .progress-bar .paso:last-child .num:after{
      display: none;
    }

    .progress-bar .paso .num.active:after{
      background: green;
      animation: mov_linea 0.3s linear forwards;
      transform: scaleX(0);
      transform-origin: left;
    }

    @keyframes mov_linea{
      100%{
        transform: scaleX(1);
      }
    }

    /* Estilos para mostrar la contraseña*/
    .ojitos{
      position: absolute;
      top: 29%;
      right: 7px;
      font-size: 20px;
      color: #0E2C48;
    }

    #ocultar{
      display: none;
    }

    #mostrar, #ocultar{
      cursor: pointer;
    }

   /* Estilos para mostrar el mensaje de error*/

   .error{
    color: red;
    float: right;
    text-align: right;
   }





