.player
	.player__list
		.player__icon.player__icon-list.icon-list
	.player__volume
		.player__icon.player__icon-volume.icon-volume
	.player__meta
		.player__song Queenie Eye
		.player__artist Paul McCartney — New
	.player__bg(style="background-image: url(https://images.unsplash.com/photo-1534531173927-aeb928d54385?ixlib=rb-1.2.1&q=80&fm=jpg&crop=entropy&cs=tinysrgb&w=400&fit=max&ixid=eyJhcHBfaWQiOjE0NTg5fQ);")
	.player__controls
		.player__controls-bg(style="background-image: url(https://images.unsplash.com/photo-1534531173927-aeb928d54385?ixlib=rb-1.2.1&q=80&fm=jpg&crop=entropy&cs=tinysrgb&w=400&fit=max&ixid=eyJhcHBfaWQiOjE0NTg5fQ);")
		.player__repeat
			.player__icon.player__icon-repeat.icon-repeat
		.player__prev
			.player__icon.player__icon-prev.icon-prev
		.player__play
			.player__icon.player__icon-play.icon-play
		.player__next
			.player__icon.player__icon-next.icon-next
		.player__shuffle
			.player__icon.player__icon-shuffle.icon-shuffle
View Compiled
html,
body
	min-height: 100%
	
body
	background: radial-gradient(ellipse at center, #ffc200 0%, #e0ad00 100%)

.player
	box-shadow: 0 2px 4px -4px rgba(0, 0, 0, .4), 0 50px 45px -20px rgba(0, 0, 0, .2)
	border-radius: 30px
	height: 400px
	margin: 50px auto
	overflow: hidden
	position: relative
	width: 400px
	
	&__meta
		box-sizing: border-box
		font-size: 24px
		padding: 50px 20px
		position: absolute
		text-align: center
		text-shadow: 0 1px 1px rgba(255, 255, 255, .4)
		top: 0
		width: 100%
		z-index: 1
	
	&__artist
		font-weight: 300
	
	&__bg
		background-position: bottom center
		background-size: cover
		height: 100%
		position: absolute
		width: 100%
	
		&:before,
		&:after
			content: ''
			display: block
			height: 100%
			position: absolute
			width: 100%
		
		&:after
			background: linear-gradient(to top, #000, #fff)
			opacity: .2
			mix-blend-mode: soft-light
	
	&__controls
		background-color: rgba(255, 255, 255, .2)
		bottom: 0
		box-shadow: inset 0 1px rgba(255, 255, 255, .3)
		height: 80px
		position: absolute
		width: 100%
		
		&:before,
		&:after
			content: ''
			height: 100%
			display: block
			pointer-events: none
			position: absolute
			width: 100%
	
		&:before
			box-shadow: 0 -5px 10px 0 rgba(0, 0, 0, .6)
			mix-blend-mode: soft-light

		// &:after
		// 	background-color: rgba(0, 0, 0, .1)
	
		&-bg
			background-position: bottom center
			background-size: cover
			height: 100%
			filter: blur(30px)
			overflow: hidden
			position: absolute
			width: 100%
			
			&:before
				background: linear-gradient(to top, #000, #fff)
				content: ''
				display: block
				height: 100%
				opacity: .08
				mix-blend-mode: soft-light
				position: absolute
				width: 100%
	
	&__play,
	&__prev,
	&__next
		background: rgba(255, 255, 255, .01)
		border-radius: 60px
		bottom: 0
		box-shadow: 0 -2px 4px 0 rgba(255, 255, 255, .1)
		cursor: pointer
		left: 0
		margin: auto
		position: absolute
		right: 0
		top: 0
		transition: background .15s linear
	
		.player__icon
			transition: transform .05s linear
	
		&:before,
		&:after
			border-radius: 60px
			content: ''
			display: block
			height: 100%
			position: absolute
			width: 100%
	
		&:before
			background: linear-gradient(to top, rgba(255, 255, 255, .1), rgba(255, 255, 255, .04))
			box-shadow: 0 -1px 1px 0 rgba(255, 255, 255, .6)
			mix-blend-mode: overlay
		
		&:after
			box-shadow: 0 5px 10px 0 rgba(0, 0, 0, .6)
			mix-blend-mode: soft-light
		
		&:hover
			background: radial-gradient(ellipse at center, rgba(12, 11, 23, .4) 0%, rgba(86, 76, 132, .1) 60%, rgba(255, 255, 255, .2) 100%)

			.player__icon
				transform: scale(.9)

	&__play
		height: 60px
		width: 60px
	
	&__prev,
	&__next
		height: 40px
		width: 40px

	&__prev
		right: 120px
	
	&__next
		left: 120px
	
	&__icon
		bottom: 0
		color: rgba(0, 0, 0, .8)
		cursor: pointer
		height: 1em
		left: 0
		margin: auto
		position: absolute
		right: 0
		top: 0
		width: 1.4em
		
		&:before
			text-shadow: 0 1px 1px rgba(255, 255, 255, .2)
		
		&-play
			font-size: 30px
			width: 1.2em
		
		&-prev,
		&-next
			width: 1.4em
	
	&__repeat
		left: .5em
		width: 1.4em

	&__shuffle
		right: .5em
		width: 2em
	
	&__repeat,
	&__shuffle
		bottom: 0
		color: #1A0C1D
		height: 1.2em
		font-size: 30px
		margin: auto
		position: absolute
		top: 0
	
	&__list
		height: 1.2em
		font-size: 20px
		left: 20px
		position: absolute
		top: 30px
		width: 1.4em
		z-index: 1

	&__volume
		height: 1.2em
		font-size: 26px
		right: 20px
		position: absolute
		top: 30px
		width: 1.4em
		z-index: 1


View Compiled

External CSS

  1. https://codepen.io/ivanodintsov/pen/qRmVPd.css

External JavaScript

This Pen doesn't use any external JavaScript resources.