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

*, ::after, ::before {
    box-sizing: border-box;
}

html, body{
    height: 100%;
}

body{
    display: flex;
    padding-top: 40px;
    padding-bottom: 40px;
    background-color: #f5f5f5;
    margin: 0;
    font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: #212529;
}

.form{
    width: 100%;
    max-width: 420px;
    padding: 15px;
    margin: auto;
}

.text-center {
    text-align: center!important;
}

.mb-4, .my-4 {
    margin-bottom: 1.5rem!important;
}

a{
    color: #6441a4;
    text-decoration: none;
    background-color: transparent;
    -webkit-text-decoration-skip: objects;
}

img {
    vertical-align: middle;
    border-style: none;
}

p {
    margin-top: 0;
    margin-bottom: 1rem;
}

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

.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, .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-control {
    display: block;
    width: 100%;
    padding: .375rem .75rem;
    font-size: 1rem;
    line-height: 1.5;
    color: #495057;
    background-color: #fff;
    background-clip: padding-box;
    border: 1px solid #ced4da;
    border-radius: .25rem;
    transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out;
}

.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;
}

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

.form-label-group input:-ms-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;
}

label {
    display: inline-block;
    margin-bottom: .5rem;
}

.btn {
    display: inline-block;
    font-weight: 400;
    text-align: center;
    white-space: nowrap;
    vertical-align: middle;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    border: 1px solid transparent;
    padding: .375rem .75rem;
    font-size: 1rem;
    line-height: 1.5;
    border-radius: .25rem;
    transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;
}

.btn-group-lg>.btn, .btn-lg {
    padding: .5rem 1rem;
    font-size: 1.25rem;
    line-height: 1.5;
    border-radius: .3rem;
}

.btn-primary {
    background: #6441a4;
    color: #fff !important;
    border: 0px;
    box-shadow: none !important;
}

input[type=button].btn-block, input[type=reset].btn-block, input[type=submit].btn-block {
    width: 100%;
}

.btn:not(:disabled):not(.disabled) {
    cursor: pointer;
}

.btn-primary:hover, .btn-primary:active, .btn-primary:focus {
    outline: none;
    background: #7d5bbe;
    color: #fff;
    border: 0px;
    box-shadow: none !important;
}

.tml-action-links {
    margin: 0;
    padding: 0;
    list-style: none;
    text-align: center;
}

.tml-action-links li {
    display: inline-block;
    margin: 0 1em;
}

.tml-action-links li a {
    color: rgb(33, 37, 41);
    transition: all 0.25s;
}

.tml-action-links li a:hover, .tml-action-links li a:active, .tml-action-links li a:focus {
    color: rgb(125, 91, 190);
    text-decoration: none;
}


.login_anim{
  position: relative;
}

.first_anim_2{
    position: relative;
    display: inline-block;
    height: 36px;
    margin-bottom: 15px;
}

.login_anim:before, .login_anim:after{
  content: '';
  position: absolute;
  left: -5px;
  top: -5px;
  background: linear-gradient(45deg,rgba(241,196,15,1),rgba(69,167,63,1),rgba(57,172,113,1),
    rgba(49,178,179,1), rgba(75,72,181,1),rgba(147,88,179,1),rgba(177,84,167,1),
    rgba(174,68,84,1),rgba(177,84,167,1),rgba(147,88,179,1), rgba(75,72,181,1),
    rgba(49,178,179,1),rgba(57,172,113,1),rgba(69,167,63,1),rgba(241,196,15,1));
  background-size: 400%;
  width: calc(100% + 10px);
  height: calc(100% + 10px);
  border-radius: 6px;
  z-index: 0;
  animation: anim 20s linear infinite;
}

@keyframes anim{
  0%{
    background-position: 0 0;
  }
  50%{
    background-position: 300% 0;
  }
  100%{
    background-position: 0 0;
  }
}

.login_anim > a {
    color: rgb(33, 37, 41);
    transition: all 0.25s;
    position: relative;
    z-index: 2;
    display: block;
    background: #F5F5F5;
    border-radius: 3px;
    z-index: 2;
    padding: 0px 5px;
}
/*  */

.text-muted {
    color: #6c757d!important;
    margin-top: 3rem;
}

ul.errorlist{
    color: rgb(243, 64, 64);
}

ul.errorlist > li > ul.errorlist{
    color: rgb(243, 93, 93);
    font-size: 14px;
}

.ok{
    color: rgb(79, 202, 89);
}
