.reveal-if-active {
  opacity: 0;
  max-height: 0;
  overflow: hidden;
  font-size: 16px;
  -webkit-transform: scale(0.8);
      -ms-transform: scale(0.8);
          transform: scale(0.8);
  -webkit-transition: 0.5s;
          transition: 0.5s;
display: table;
clear: both;
}
.reveal-if-active label {
  display: block;
  margin: 0 0 3px 0;
display: table;
clear: both;
}
.reveal-if-active input[type=text] {
  width: 100%;
display: table;
clear: both;
}
input[type="radio"]:checked ~ .reveal-if-active, input[type="checkbox"]:checked ~ .reveal-if-active {
  opacity: 1;
  max-height: 500px;
  padding: 10px 20px;
  -webkit-transform: scale(1);
      -ms-transform: scale(1);
          transform: scale(1);
  overflow: visible;
display: table;
clear: both;
}

form2 {
  max-width: 500px;
  margin: 20px auto;
}
form2 > div {
  margin: 0 0 20px 0;
}
form2 > div label {
  font-weight: bold;
}
form2 > div > div {
  padding: 5px;
}
form2 > h4 {
  color: green;
  font-size: 24px;
  margin: 0 0 10px 0;
  border-bottom: 2px solid green;
}

form2-body {
  font-size: 20px;
}

* {
  box-sizing: border-box;
}