html,
body {
  height: 100%;
}

body {
  display: flex;
  align-items: center;
  padding-top: 40px;
  padding-bottom: 40px;
  background-color: #f5f5f5;
}

.form-signin {
  width: 100%;
  max-width: 630px;
  padding: 100px;
  margin: auto;
}

.form-signin .checkbox {
  font-weight: 400;
}

.form-signin .form-floating:focus-within {
  z-index: 2;
}

.form-signin input[type="email"] {
  margin-bottom: -1px;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}

.form-signin input[type="password"] {
  margin-bottom: 10px;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

/* entrar a los mensaje de error*/
.formulario__input-error{
  font-size: 12px;
  margin-bottom: 0;
  display:none;
}

.formulario__input-error-activo{
  display:block;
  position: relative;
  bottom: -10px;
}

/* Icono de check dentro del input */
.formulario_validacion-estado{
  position: relative;
  left: -50px;
  z-index: 100;
  font-size: 25px;
  opacity: 0;
}

.formulario__mensaje{
  height: 50px;
  line-height: 50px;
  opacity: 0;
  z-index: 100;
}
.formulario__mensaje p {
  margin: 0;
  background: #f56c5a;
  border-radius: 5px;
}

.formulario__mensaje-activo{
  height: 50px;
  line-height: 50px;
  opacity: 1;
  z-index: 100;
}
.formulario__mensaje-activo p {
  margin: 0;
  background: #f56c5a;
  border-radius: 5px;
}

/*Estilos para validación*/
/* Aquì se declaran los estilos cuando un grupo es correct o incorrecto */

.formulario__grupo-correcto .formulario_validacion-estado{
  color: #1ed12d;
  opacity: 1;
}

.formulario__grupo-incorrecto .formulario_validacion-estado{
  color: #bb2929;
  opacity: 1;
}

.formulario__grupo-incorrecto .formulario_label{
  color: #bb2929;
  opacity: 1;
}

.formulario__grupo-incorrecto .formulario_input{
  border: 3px solid #bb2929;
}

/* media queris para cambios de tamaño de pantalla*/
@media (min-width: 768px) {
  .bd-placeholder-img-lg {
    font-size: 3.5rem;
  }
}