.form {
    --width-of-input: 100%;
    --border-height: 1px;
    --border-before-color: rgba(82, 82, 82, 0.39);
    --border-after-color: #b45309;
    --input-hovered-color: #b453092b;
    position: relative;
    width: var(--width-of-input);
}

/* styling of Input */
.input {
    color: #000000;
    font-size: 2rem;
    background-color: transparent;
    width: 100%;
    box-sizing: border-box;
    padding-inline: 0.5em;
    padding-block: 0.7em;
    border: none;
    border-bottom: var(--border-height) solid var(--border-before-color);
}

/* styling of animated border */
.input-border {
    position: absolute;
    background: var(--border-after-color);
    width: 0%;
    height: 2px;
    bottom: 0;
    left: 0;
    transition: 0.3s;
}

/* Hover on Input */
input:hover,
textarea:hover {
    background: var(--input-hovered-color);
}

input:focus,
textarea:focus {
    outline: none;
}

/* here is code of animated border */
input:focus~.input-border,
textarea:focus~.input-border {
    width: 100%;
}

/* === if you want to do animated border on typing === */
/* remove input:focus code and uncomment below code */
/* input:valid ~ .input-border{
     width: 100%;
   } */