:host { display: block; text-select: none; font-size: 0; height: 100%; } #track-container { height: 100%; width: 100%; height: 30px; } #track { width: 100%; height: 1px; -webkit-border-radius: 1px; border-radius: 1px; display: inline-block; position: relative; background: rgba(0,0,0,0.1); } #fill { height: 1px; margin-top: 0px; margin-left: 1px; -webkit-border-radius: 1px; border-radius: 1px; position: absolute; background: #fff; pointer-events: none; } #knob { width: 6px; height: 6px; margin-left: -3px; margin-top: -3px; -webkit-transition: -webkit-transform 0.2s cubic-bezier(0.25, 0.25, 0, 1); -moz-transition: -moz-transform 0.2s cubic-bezier(0.25, 0.25, 0, 1); -o-transition: -o-transform 0.2s cubic-bezier(0.25, 0.25, 0, 1); -ms-transition: -ms-transform 0.2s cubic-bezier(0.25, 0.25, 0, 1); transition: transform 0.2s cubic-bezier(0.25, 0.25, 0, 1); pointer-events: none; position: absolute; background-color: #fff; -webkit-border-radius: 100%; border-radius: 100%; } #track-container:hover #knob { -webkit-transform: scale(1.8); -moz-transform: scale(1.8); -o-transform: scale(1.8); -ms-transform: scale(1.8); transform: scale(1.8); } #track-container:active #knob { -webkit-transform: scale(1.4); -moz-transform: scale(1.4); -o-transform: scale(1.4); -ms-transform: scale(1.4); transform: scale(1.4); } input { font: 500 11px 'Roboto', sans-serif; color: #fff; -webkit-font-smoothing: antialiased; height: 30px; padding-left: 5px; display: inline-block; background: transparent; border: 0; text-align: center; outline: none; width: 20%; -webkit-transition: width 0.2s cubic-bezier(0.25, 0.25, 0, 1); -moz-transition: width 0.2s cubic-bezier(0.25, 0.25, 0, 1); -o-transition: width 0.2s cubic-bezier(0.25, 0.25, 0, 1); -ms-transition: width 0.2s cubic-bezier(0.25, 0.25, 0, 1); transition: width 0.2s cubic-bezier(0.25, 0.25, 0, 1); } input:hover { width: 28%; } input:focus { width: 50%; } input::selection { background-color: rgba(0,0,0,0.1); }