/* Forces a smooth color transition when we change themes */
* {
    -webkit-transition: background-color .5s ease;
    -moz-transition: background-color .5s ease;
    -o-transition: background-color .5s ease;
    -ms-transition: background-color .5s ease;
    transition: background-color .5s ease;
}

/* Fun hack to hopefully limit spam */
.cryptedmail:after {
  content: attr(data-nameto) "@" attr(data-domain) "." attr(data-tld); 
}

.tab {
  position: relative;
  margin-bottom: 1px;
  width: 100%;
  overflow: hidden;
}
div.tab > input {
  position: absolute;
  opacity: 0;
  z-index: -1;
}
div.tab > label {
  position: relative;
  display: block;
  padding: 0 0 0 1em;
  font-weight: bold;
  line-height: 3;
  cursor: pointer;
}
.tab-content {
  max-height: 0;
  overflow: hidden;
  padding-left: 20px;
  -webkit-transition: max-height .5s;
  -o-transition: max-height .5s;
  transition: max-height .5s;
}
.tab-content p {
  margin: 1em;
}
/* :checked */
.tab input:checked ~ .tab-content {
  max-height: 10em;
}
/* Icon */
.tab label::after {
  position: absolute;
  right: 0;
  top: 0;
  display: block;
  width: 3em;
  height: 3em;
  line-height: 3;
  text-align: center;
  -webkit-transition: all .5s;
  -o-transition: all .5s;
  transition: all .5s;
}

.tab input[type=checkbox] + label::after {
  content: "\25BC";
}
.tab input[type=checkbox]:checked + label::after {
  transform: rotateX(180deg);
}