* {
  margin: 0;
  padding: 0;
}

.tabs {
  position: relative;   
  min-height: 560px; /* This part sucks */
  clear: both;
  margin: 0;
}

.tab {
  float: left; 
}

.tab label {
  background: #fff; 
  padding: 5px;  
  margin-left: -1px; 
  position: relative;
  left: 1px; 
  cursor:pointer;
}

.tab [type=radio] {
  display: none;  
}

.content {
  position: absolute;
  top: 115px;
  left: 0;
  background: #fff;
  right: 0;
  bottom: 0;
  padding: 10px;
  border: 1px solid #ccc; 
  overflow: hidden;
}

.content > * {
  opacity: 0;
  -webkit-transform: translate3d(0, 0, 0);
  -webkit-transform: translateX(-100%);
  -moz-transform:    translateX(-100%);
  -webkit-transition: all 0.6s ease;
  -moz-transition:    all 0.6s ease;
}	

[type=radio]:checked ~ label {
  background: none;
  z-index: 2;
}

[type=radio]:checked ~ label ~ .content {
  z-index: 1;
}

[type=radio]:checked ~ label ~ .content > * {
  opacity: 1;
  -webkit-transform: translateX(0);
  -moz-transform:    translateX(0);
}