@font-face
{
    font-family: InterTight_SB;
    src: url("../fonts/InterTight-SemiBold.ttf") format("truetype");
}

@font-face 
{
    font-family: InterTight_R;
    src: url("../fonts/InterTight-Regular.ttf") format("truetype");
}

@font-face 
{
    font-family: InterTight_M;
    src: url("../fonts/InterTight-Medium.ttf") format("truetype");
}

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
textarea:-webkit-autofill,
textarea:-webkit-autofill:hover,
textarea:-webkit-autofill:focus,
select:-webkit-autofill,
select:-webkit-autofill:hover,
select:-webkit-autofill:focus 
{   
    -webkit-background-clip: text;           
    transition: background-color 5000s ease-in-out 0s;
}

input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

input[type=number]{
    -moz-appearance: textfield;
}

body
{
    margin:0px;
    position: relative;
    background-image: url('../images/pattern.svg');
    background-repeat: no-repeat;
    background-attachment: fixed;
    background-position: top;
}

h3
{
    width:100%;
    height: auto;
    text-align: center;
    font-size: 32px;
    font-family: InterTight_SB;
    height: 40px;
    margin: 0px;
    color: #000;
    display: block;
}

.subtitle
{
    width: 100%;
    height: 40px;                
    margin-bottom: 32px;
    position: relative;
}

.subtitle span
{
    color: #737373;
    width: 100%;
    display: block;
    text-align: center;
    font-size: 16px;
    position: absolute;
    bottom: 0px;
    font-family: InterTight_R;
}

.error
{
    width: 100%;              
    margin-top: 32px;
    position: relative;
    opacity: 1;
    transition-duration: 0.2s;
}

.error span
{
    color: #f00;
    width: 100%;
    display: block;
    text-align: center;
    font-size: 16px;
    position: absolute;
    bottom: 0px;
    font-family: InterTight_R;
}

.error.invisible
{
    opacity: 0;
}

.login_form
{
    width:480px; 
    height:auto; 
    margin:auto auto;
    box-sizing: border-box;
}

label
{
    font-family: InterTight_M;
    font-size: 14px;
    display: block;
    width: 100%;
    color: #525252;
    margin-bottom: 5px;
}

.field
{
    position: relative;
    margin-bottom: 22px;
}

.inactive
{
   background: #f3f3f3!important;
}

.field input
{
    display: block;
    width: 100%;
    font-family: InterTight_M;
    font-size: 16px;
    border-radius: 10px;
    height: 48px;
    border: 0px;
    padding: 0 10px 0 48px;
    box-sizing: border-box;
    box-shadow: 0px 1px 2px 0px #12376914, 0px 0px 0px 1px #09194821;
    transition: all .2s;
    outline: none; 
}

::placeholder {
    color: #a3a3a3;
    opacity: 1; /* Firefox */
}

.field input:focus
{
    box-shadow: 0px 1px 2px 0px #16330066, 0px 0px 0px 1px #9FE870, 0px 0px 0px 2px #fff, 0px 0px 0px 3px #9fe87052;
}

.field div
{
    font-family: IcoMoon;
    left: 0;
    pointer-events: none;
    position: absolute;
    top: 0;
    bottom: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 48px;
}           

.field img 
{
    width: 20px;
    height: 20px;
    filter: invert(40%) sepia(0%) saturate(0%) hue-rotate(119deg) brightness(95%) contrast(89%);
}   
            
.login_btn
{
    border:0px;
    background: #9fe870;
    height: 56px;
    color: #000;
    font-family: InterTight_SB;
    font-size: 16px;
    display: block;
    width: 100%;
    border-radius: 100px;
    margin-top: 40px;
    box-sizing: border-box;
    box-shadow: none;
    transition: all .2s;
    cursor: pointer;
}

.login_btn.invisible
{
    font-size:0px;
}

.login_btn:hover
{
    box-shadow: 0px 1px 2px 0px #16330066, 0px 0px 0px 1px #9FE870, 0px 0px 0px 2px #fff, 0px 0px 0px 3px #9fe87052;
}

.otp
{
    opacity: 1;
    margin-top: 0;
    pointer-events: all;
    transition-duration: .3s;
}

.hidden
{
    opacity: 0;
    margin-top: -92px;
    pointer-events: none;
}
            
.logo
{
    box-sizing: border-box; 
    width:720px; 
    margin-bottom: 170px; 
    margin-left: auto; 
    margin-right: auto;
}

.logo img
{
    margin-left: 24px; 
    margin-top: 20px; 
    width:157px; 
    height: 40px;
    box-sizing: border-box;
}

@media screen and (max-width:767px) { 
    body
    {
        background-image: none;
    }
    
    .login_form
    {
        width: 100%;
        padding: 0 24px;
    }
    
    .logo
    {     
        width:100%; 
        padding: 0 24px;
        margin-bottom: 40px;          
    }
    
    .logo img
    {
        margin-left: 0px; 
        margin-top: 16px; 
        width:125px; 
        height: 32px;
        box-sizing: border-box;
    }
    
    h3
    {
        font-family: InterTight_SB;
        font-size: 24px;
        height: 31px;                   
    }
    
    .subtitle
    {
        height: 31px;                
        margin-bottom: 24px;                  
    }
    
    .subtitle span
    {
        font-size: 16px;
    }       
}


.dot-flashing {
  position: relative;
  width: 10px;
  height: 10px;
  border-radius: 5px;
  background-color: #000;
  color: #000;
  animation: dot-flashing 0.5s infinite linear alternate;
  animation-delay: 0.25s;
  display: inline-block;
  opacity: 1;
  transition-duration:0.2s;
}

.dot-flashing.invisible
{
  opacity: 0;
  width: 0px;
  height: 0px;
}


.dot-flashing::before, .dot-flashing::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 0;
}
.dot-flashing::before {
  left: -15px;
  width: 10px;
  height: 10px;
  border-radius: 5px;
  background-color: #000;
  color: #000;
  animation: dot-flashing 0.5s infinite alternate;
  animation-delay: 0s;
}
.dot-flashing::after {
  left: 15px;
  width: 10px;
  height: 10px;
  border-radius: 5px;
  background-color: #000;
  color: #000;
  animation: dot-flashing 0.5s infinite alternate;
  animation-delay: 0.5s;
}

@keyframes dot-flashing {
  0% {
    background-color: #000;
  }
  50%, 100% {
    background-color: rgba(0, 0, 0, 0.2);
  }
}