
  :root {
  --input-padding-x: 1.5rem;
  --input-padding-y: .75rem;
}

body {
  background: #000;
  background: linear-gradient(to right, #d2dbe8, #ebeff1);
}

.alert{
  border-radius: 0.5rem;
}


.card-signin {
  border: 0;
  border-radius: .75rem;
  box-shadow: 0 0.5rem 1rem 0 rgba(0, 0, 0, 0.1);
}

.card-signin .card-title {
  margin-bottom: 2rem;
  font-weight: 300;
  font-size: 1.5rem;
}

.card-signin .card-body {
  padding: 2rem;
}

.form-signin {
  width: 100%;
}

.form-signin .btn {
  font-size: 80%;
  border-radius: .5rem;
  letter-spacing: .1rem;
  font-weight: bold;
  padding: 1rem;
  transition: all 0.2s;
}

.form-label-group {
  position: relative;
  margin-bottom: 1rem;
}

.form-label-group input {
  height: auto;
  border-radius: .5rem;
}

.form-label-group>input,
.form-label-group>label {
  padding: var(--input-padding-y) var(--input-padding-x);
}

.form-label-group>label {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  margin-bottom: 0;
  line-height: 1.5;
  color: #495057;
  border: 1px solid transparent;
  border-radius: .25rem;
  transition: all .1s ease-in-out;
}

.form-label-group input::-webkit-input-placeholder {
  color: transparent;
}


.form-label-group input::-ms-input-placeholder {
  color: transparent;
}

.form-label-group input::-moz-placeholder {
  color: transparent;
}

.form-label-group input::placeholder {
  color: transparent;
}

.form-label-group input:not(:placeholder-shown) {
  padding-top: calc(var(--input-padding-y) + var(--input-padding-y) * (2 / 3));
  padding-bottom: calc(var(--input-padding-y) / 3);
}

.form-label-group input:not(:placeholder-shown)~label {
  padding-top: calc(var(--input-padding-y) / 3);
  padding-bottom: calc(var(--input-padding-y) / 3);
  font-size: 12px;
  color: #777;
}

/* For EDGE specific styles*/
@supports (-ms-ime-align:auto) {
  .form-label-group input::-ms-clear,.form-label-group input::-ms-reveal {
   display: none;
  }

  .form-label-group input:not(:focus) ~label {
   color: transparent;
  }

  .form-label-group input:not([value=""]):not(:focus):invalid~label {
   color: #777;
  }

  .form-label-group input:focus{
    padding-top: 30px;
    padding-left: 25px;
  }

  .form-label-group input:focus ~label {
    padding-top: calc(var(--input-padding-y) / 3);
    padding-bottom: calc(var(--input-padding-y) / 1);
    padding-left: 25px;
    font-size: 12px;
    color: #777;
  }

  .form-label-group input {
    height: 50px;
    border-radius: 0.5rem;
    padding-left: 25px;
  }

  .form-label-group>label {
    transition: 0 !important;
  }


}

  @media screen and (max-width: 770px) {
    .media_2_factor {
      width: 25%;
      padding-left: 0px;
      padding-right: 5px;
    }
    .form_2_factor{
      width: 105%;
    }
  }



/* For IE11 specific styles*/
@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {

  .form-label-group input::-ms-clear,.form-label-group input::-ms-reveal {
  display: none;
 }

 .form-label-group input:not(:focus) ~label {
  color: transparent;
 }

 .form-label-group input:focus{
   padding-top: 18px;
   padding-left: 18px;
 }

 .form-label-group input:focus ~label {
   padding-top: calc(var(--input-padding-y) / 3);
   padding-bottom: calc(var(--input-padding-y) / 1);
   padding-left: 15px;
   font-size: 12px;
   color: #777;
 }

 .form-label-group input {
   height: 50px;
   border-radius: 0.5rem;
   padding-left: 18px;
 }

 .form-label-group>label {
   transition: 0 !important;
 }

  .input-de-2-factor{
    margin: 5px;
  }

  .row-de-2-factor{
    margin-left: 4px;
  }

  .col-de-2-factor{
    width: 25%;
  }

}
