<form action="" method="POST" role="form">
    <div class="form-group">        
        <input type="text" class="form-control">
        <div class="label-wrap"><label>Search for something...</label></div>
        <div class="icon-wrap"><svg class="icon" height='200' width='200'  fill="#000000" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" x="0px" y="0px" viewBox="0 0 100 100" style="enable-background:new 0 0 100 100;" xml:space="preserve"><title>Search</title><desc>Created with Sketch.</desc><g><g transform="translate(-29.000000, -764.000000)"><g transform="translate(20.000000, 375.000000)"><g transform="translate(0.000000, 381.000000)"><g transform="translate(9.000000, 8.000000)"><path d="M41.7,3.3C20.6,3.3,3.4,20,3.4,40.7s17.1,37.4,38.3,37.4c5.9,0,11.5-1.3,16.5-3.7c2.5-1.2,5.5-0.6,7.5,1.3l19.4,19       c2.6,2.5,6.7,2.5,9.3,0l0,0c2.7-2.6,2.7-6.9,0-9.6L76.1,67.3c-2.2-2.1-2.7-5.5-1.1-8.1c3.2-5.4,5-11.7,5-18.4       C80,20,62.9,3.3,41.7,3.3L41.7,3.3z M41.7,12.1C57.9,12.1,71,24.9,71,40.7S57.9,69.4,41.7,69.4S12.5,56.6,12.5,40.7       S25.5,12.1,41.7,12.1L41.7,12.1z"></path></g></g></g></g></g></svg></div>
    </div>
</form>



<!-- github  -->
<a href="https://github.com/alikinvv/search-animation" class="github-corner" aria-label="View source on GitHub"><svg width="80" height="80" viewBox="0 0 250 250" style="fill:#151513; color:#fff; position: absolute; top: 0; border: 0; left: 0; transform: scale(-1, 1);" aria-hidden="true"><path d="M0,0 L115,115 L130,115 L142,142 L250,250 L250,0 Z"></path><path d="M128.3,109.0 C113.8,99.7 119.0,89.6 119.0,89.6 C122.0,82.7 120.5,78.6 120.5,78.6 C119.2,72.0 123.4,76.3 123.4,76.3 C127.3,80.9 125.5,87.3 125.5,87.3 C122.9,97.6 130.6,101.9 134.4,103.2" fill="currentColor" style="transform-origin: 130px 106px;" class="octo-arm"></path><path d="M115.0,115.0 C114.9,115.1 118.7,116.5 119.8,115.4 L133.7,101.6 C136.9,99.2 139.9,98.4 142.2,98.6 C133.8,88.0 127.5,74.4 143.8,58.0 C148.5,53.4 154.0,51.2 159.7,51.0 C160.3,49.4 163.2,43.6 171.4,40.1 C171.4,40.1 176.1,42.5 178.8,56.2 C183.1,58.6 187.2,61.8 190.9,65.4 C194.5,69.0 197.7,73.2 200.1,77.6 C213.8,80.2 216.3,84.9 216.3,84.9 C212.7,93.1 206.9,96.0 205.4,96.6 C205.1,102.4 203.0,107.8 198.3,112.5 C181.9,128.9 168.3,122.5 157.7,114.1 C157.9,116.9 156.7,120.9 152.7,124.9 L141.0,136.5 C139.8,137.7 141.6,141.9 141.8,141.8 Z" fill="currentColor" class="octo-body"></path></svg><style>.github-corner:hover .octo-arm{animation:octocat-wave 560ms ease-in-out}@keyframes octocat-wave{0%,100%{transform:rotate(0)}20%,60%{transform:rotate(-25deg)}40%,80%{transform:rotate(10deg)}}@media (max-width:500px){.github-corner:hover .octo-arm{animation:none}.github-corner .octo-arm{animation:octocat-wave 560ms ease-in-out}}</style></a>
body {
	font-family: 'Roboto', sans-serif;
}

.icon {
	display: inline-block;
	width: 2em;
	height: 2em;
	font-size: 15px;
}

.form-control {
	width: 0;
    position: absolute;
    top: 50%;
    overflow: hidden;
    margin: 0;
    transform: translateY(-50%);
    height: 38px;
    right: 18px;
    border: none;
	box-shadow: none;
	font-size: 22px;
	color: #000;
	letter-spacing: 1px;
	&:focus {
		outline: none;
		border: none;
		border-color: transparent;
		box-shadow: none;
		& + .label-wrap {
			opacity: 0;
		}
	}
}

form {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%)
}

.icon-wrap {
	border-radius: 50%;
	box-shadow: 0px 6px 6px rgba(0,0,0,.28);
    display: flex;
    align-items: center;
	justify-content: center;
	width: 70px;
	height: 70px;
	cursor: pointer;
}

svg {
	position: absolute;
    left: 20px;
}

.form-group {
	margin: 0;
    position: relative;
}

.label-wrap {
	overflow: hidden;
	position: absolute;
	transform: translateY(-50%);
	top: 50%;
	width: 100%;
    height: 36px;
	z-index: 4;
	pointer-events: none;
}

label {
	position: absolute!important;
	transform: translateY(-50%);
	top: 50%;
    right: 18px;
    z-index: 10;
    font-size: 22px;
    margin: 0;
	width: 0;
	overflow: hidden;
	pointer-events: none;
	white-space: nowrap;
	letter-spacing: 1px;
}

.github {
	width: 40px;
	height: 40px;
	background: url(http://alikinvv.github.io/github.svg) no-repeat center;
	position: fixed;
	bottom: 40px;
	right: 40px;
	animation: github 3s cubic-bezier(0.68, -0.55, 0.27, 1.55) 0s infinite;
}

@keyframes github {
	0% {
		transform: scale(1);
	}
	50% {
		transform: scale(1.2);
	}
	100% {
		transform: scale(1);
	}
}
View Compiled

$(document).ready(function(){
    var tl = new TimelineMax();

    $('.icon-wrap').click(function() {
        if($(this).hasClass('open')) {
            $(this).removeClass('open');
            tl.to('.icon-wrap', 0.3, {css:{width: '70px', boxShadow: '0px 6px 6px rgba(0,0,0,.28)'}})
            tl.to('.icon-wrap', 0.3, {css:{borderRadius: "50%"}}, '-=0.2')
            TweenMax.to('svg', 0.3, {fill: '#000', rotation: 0})
            TweenMax.to('input, label', 0.3, {width: 0})
        } else {
            $(this).addClass('open');
            tl.to('.icon-wrap', 0.7, {css:{borderRadius: "20px", width: '400px', boxShadow: 'rgba(0, 0, 0, 0.28) -3px 16px 52px 0px'}, ease: Elastic.easeOut.config(1, 0.7)})
            TweenMax.to('svg', 0.3, {fill: '#737272', rotation: '90deg'})
            TweenMax.to('input', 0.3, {width: '81%'})
            TweenMax.to('label', 0.3, {width: '78%'})
        }
        
    });

    $('input').focus(function() {
        $('.label-wrap').animate({opacity: 0},100);
    });
    $('input').blur(function() {
        if(!$(this).val() == '') {
            $('.label-wrap').animate({opacity: 0},100);
        } else {
            $('.label-wrap').animate({opacity: 1},1200);
        }
    });
});

External CSS

  1. https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css

External JavaScript

  1. https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js
  2. https://cdnjs.cloudflare.com/ajax/libs/gsap/1.20.3/TweenMax.min.js