<div class="icon app-store"></div>
html { box-sizing: border-box; }
*, *:before, *:after { box-sizing: inherit; }
html, body { height: 100%; }
body { background: #f2f2f2 linear-gradient(to bottom, rgba(255,255,255,1) 0%, rgba(242,242,242,1) 100%); }
.icon {
position: absolute;
top: 50%;
left: 50%;
display: block;
width: 10em;
height: 10em;
padding: 1px;
background: rgba(150,150,150,1);
border-radius: 35px;
box-shadow:
inset 0 7em 10em -5em rgba(255,255,255,0.6),
0 0.3em 0.5em -0.2em rgba(100,100,100,1),
0 1em 2em -0.75em rgba(100,100,100,0.75),
0 1em 3em -0.5em rgba(100,100,100,0.5),
0 3em 3em -0.25em rgba(100,100,100,0.2);
transform: translate(-50%,-50%);
}
.app-store {
background: rgba(53,166,245,1);
box-shadow:
inset 0 7em 10em -5em rgba(255,255,255,0.6),
0 0.3em 0.5em -0.2em rgba(47,131,189,1),
0 1em 2em -0.75em rgba(47,131,189,0.75),
0 1em 3em -0.5em rgba(47,131,189,0.5),
0 3em 3em -0.25em rgba(47,131,189,0.2);
}
.app-store:before {
content: '';
position: absolute;
top: 25%;
left: 50%;
display: block;
width: 2.275em;
height: 2.275em;
border: 2px solid rgba(255,255,255,1);
border-radius: 50%;
box-shadow:
inset 0 0.25em 0.25em rgba(53,166,245,1),
inset 0 0.35em 0.25em rgba(0,0,0,0.1);
transform: translate(-50%,-50%);
}
.app-store:after {
content: '';
position: absolute;
top: 50%;
left: 50%;
display: block;
width: 2.25em;
height: 2.275em;
color: rgb(121,193,244);
font-size: 220%;
line-height: 2.5em;
text-align: center;
text-shadow:
0 0.025em rgba(255,255,255,0.5),
0 -0.025em rgba(6,111,184,0.25);
background: rgba(255,255,255,1);
border-radius: 0.25em;
box-shadow:
inset 0 -0.025em 0.05em 0em rgba(0,0,0,0.15),
inset 0 -2.5em 3em -2em rgba(0,0,0,0.2),
0 0.15em 0.5em 0 rgba(6,111,184,1),
0 0.75em 0.5em rgba(6,111,184,0.35);
transform: translate(-50%,-50%);
}
This Pen doesn't use any external CSS resources.