CodePen

HTML

            
              <ul class="deck">
  <li class="deck__item deck__item--facebook">
    <a class="deck__link" href="#">
      <span class="deck__icon fontawesome-facebook"></span>
      <span class="deck__label">Facebook</span>
    </a>
  </li>
  <li class="deck__item deck__item--github">
    <a class="deck__link" href="#">
      <span class="deck__icon fontawesome-github"></span>
      <span class="deck__label">GitHub</span>
    </a>
  </li>
  <li class="deck__item deck__item--twitter">
    <a class="deck__link" href="#">
      <span class="deck__icon fontawesome-twitter"></span>
      <span class="deck__label">Twitter</span>
    </a>
  </li>
  <li class="deck__item deck__item--linkedin">
    <a class="deck__link" href="#">
      <span class="deck__icon fontawesome-linkedin"></span>
      <span class="deck__label">LinkedIn</span>
    </a>
  </li>
  <li class="deck__item deck__item--pinterest">
    <a class="deck__link" href="#">
      <span class="deck__icon fontawesome-pinterest"></span>
      <span class="deck__label">Pinterest</span>
    </a>
  </li>
  <li class="deck__item deck__item--googleplus">
    <a class="deck__link" href="#">
      <span class="deck__icon fontawesome-google-plus"></span>
      <span class="deck__label">Google+</span>
    </a>
  </li>
</ul>

            
          
!
via HTML Inspector

CSS

            
              *, 
*:after, 
*:before { 
  box-sizing: border-box;
}

body { 
  overflow: hidden; 
 	background: #c6c6c6;
  -webkit-font-smoothing: antialiased;
} 

.deck {
 	position: absolute;
  width: 10em;
  height: 13em;
  top: 50%;
  left: 50%;
  margin: -6.5em 0 0 -5em;
  -webkit-backface-visibility: hidden; 
  font-family: 'Ubuntu', "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", "Helvetica", "Arial", sans-serif;
  text-align: center;
}

.deck__item {
 	width: 100%;
  height: 100%;
  position: absolute;
  
  border-radius: .3em; 
  border: .1em solid rgba(black, .15);
  
  box-shadow: 
    0 0 .3em rgba(black, .3), 
    inset 0 6em 6em rgba(white, .1);
  
  transform-origin: 90% 92%;
  transition: .3s;
  
  &:hover ~ .deck__item { 
    transform: rotate(120deg);
  }
}

.deck__item:last-of-type:after {
 	content: "";
  position: absolute;
  left: 90%;
  top: 92%; 
  border-radius: 50%;
  width: 1.2em;
  height: 1.2em;
  background: white;
  margin: -.6em 0 0 -.6em;
  box-shadow:
    inset 0 1px 1px white,
    inset 0 -.3em .2em #dddcdb,
    0 0 .6em rgba(black, .2);
}

.deck__item:last-of-type:before {
 	content: "";
  position: absolute;
  right: .4em; 
  bottom: .9em;
  width: 1.1em;
  height: .15em;
  background: silver;
  background: rgba(black, .1); 
  z-index: 2;
}

.deck__link {
  text-decoration: none;
  display: block;
  color: white;
  color: rgba(white, .8);
}

.deck__icon {
  font-family: 'FontAwesome', sans-serif;
  font-size: 4em;
  color: black;
  color: rgba(black, .6);
  display: block;
  margin: .5em auto;
}

$list: 
  facebook   #3b5998, 
  github     #4183c4, 
  twitter    #00a0d1, 
  linkedin   #0e76a8, 
  pinterest  #910101, 
  googleplus #db4a39;

$deg: -20;
@each $item in $list {
  .deck__item--#{nth($item, 1)} {
    background:  nth($item, 2);
    transform: rotate(#{$deg}deg);
  }
  $deg: $deg + 10;
}

            
          
!
? ?
? ?
Must be a valid URL.
+ add another resource
via CSS Lint

JS

            
              
            
          
!
Must be a valid URL.
+ add another resource
via JS Hint
Loading ..................