.tabs {
  position: relative;
  min-height: 480px;
  /* This part sucks */
  height: fit-content;
  clear: both;
  margin: 3rem 0;
}
.tabs .tab {
  float: left;
}
.tabs .tab label {
  background: #eee;
  padding: 10px;
  border: 1px solid #ccc;
  margin-left: -1px;
  position: relative;
  left: 1px;
}
.tabs .tab label.special {
  border: 0px none;
  background: #fff;
}
.tabs .tab input[type=radio] {
  display: none;
}
.tabs .tab .content {
  position: absolute;
  top: 30px;
  left: 0;
  background: #fff;
  right: 0;
  bottom: 0;
  padding: 20px;
  border: 1px solid #ccc;
  overflow: hidden;
  height: 480px;
}
.tabs .tab .content > * {
  opacity: 0;
  transform: translateY(-100%);
  transition: all 0.6s ease;
}
.tabs .tab [type="radio"]:checked ~ label {
  background: white;
  border-bottom: 1px solid white;
  z-index: 2;
}
.tabs .tab [type="radio"]:checked ~ label ~ .content {
  z-index: 1;
  overflow: auto;
}
.tabs .tab [type="radio"]:checked ~ label ~ .content > * {
  opacity: 1;
  transform: translateY(0);
}
.accordion.tabs {
  min-height: 100px;
}
