:host { display: block; font-size: 0; height: 100%; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } #track-container { width: 100%; height: 30px; } #track { width: 100%; height: 1px; -webkit-border-radius: 1px; border-radius: 1px; display: inline-block; position: relative; background: rgba(255,255,255,0.25); } #fill { height: 1px; margin-top: 0px; margin-left: 1px; -webkit-border-radius: 1px; border-radius: 1px; position: absolute; background: #25a0d8; pointer-events: none; } #knob { width: 6px; height: 6px; margin-left: -3px; margin-top: -3px; -webkit-transition: -webkit-transform 0.1s cubic-bezier(0.25, 0.25, 0, 1); -moz-transition: -moz-transform 0.1s cubic-bezier(0.25, 0.25, 0, 1); -o-transition: -o-transform 0.1s cubic-bezier(0.25, 0.25, 0, 1); -ms-transition: -ms-transform 0.1s cubic-bezier(0.25, 0.25, 0, 1); transition: transform 0.1s cubic-bezier(0.25, 0.25, 0, 1); pointer-events: none; position: absolute; background-color: #25a0d8; -webkit-border-radius: 100%; border-radius: 100%; } #track-container:hover #knob { -webkit-transform: scale(2); -moz-transform: scale(2); -o-transform: scale(2); -ms-transform: scale(2); transform: scale(2); } #track-container:active #knob { -webkit-transform: scale(1.5); -moz-transform: scale(1.5); -o-transform: scale(1.5); -ms-transform: scale(1.5); transform: scale(1.5); } input { font: 500 11px 'Roboto', sans-serif; color: #fff; -webkit-font-smoothing: antialiased; height: 30px; margin-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(255,255,255,0.25); }