.group 			  {
    position:relative;
    margin-bottom:45px;
}
textarea 				{
    font-size:18px;
    padding:10px 10px 10px 5px;
    display:block;
    max-width:100%;
    border:none;
    border-bottom:1px solid #757575;
    background-color: #ededed;
}
textarea:focus 		{ outline:none; }

/* LABEL ======================================= */
label 				 {
    color:#999;
    font-size:18px;
    font-weight:normal;
    position:absolute;
    pointer-events:none;
    left:5px;
    top:10px;
    transition:0.2s ease all;
    -moz-transition:0.2s ease all;
    -webkit-transition:0.2s ease all;
}

/* active state */
textarea:focus ~ label, textarea:valid ~ label 		{
    top:-20px;
    font-size:14px;
    color:#f5c351;
}

/* BOTTOM BARS ================================= */
.bar 	{ position:relative; display:block; max-width:100%; }
.bar:before, .bar:after 	{
    content:'';
    height:2px;
    width:0;
    bottom:1px;
    position:absolute;
    background:#f5c351;
    transition:0.2s ease all;
    -moz-transition:0.2s ease all;
    -webkit-transition:0.2s ease all;
}
.bar:before {
    left:50%;
}
.bar:after {
    right:50%;
}

/* active state */
textarea:focus ~ .bar:before, textarea:focus ~ .bar:after {
    max-width:50%;
}

/* HIGHLIGHTER ================================== */
.highlight {
    position:absolute;
    height:60%;
    max-width:100%;
    top:25%;
    left:0;
    pointer-events:none;
    opacity:0.5;
}

/* active state */
textarea:focus ~ .highlight {
    -webkit-animation:textareaHighlighter 0.3s ease;
    -moz-animation:textareaHighlighter 0.3s ease;
    animation:textareaHighlighter 0.3s ease;
}

/* ANIMATIONS ================ */
@-webkit-keyframes textareaHighlighter {
    from { background:#f5c351; }
    to 	{ width:0; background:transparent; }
}
@-moz-keyframes textareaHighlighter {
    from { background:#f5c351; }
    to 	{ width:0; background:transparent; }
}
@keyframes textareaHighlighter {
    from { background:#f5c351; }
    to 	{ width:0; background:transparent; }
}