input#datenschutz, input#datenschutz:not(:checked) ~ #datenschutz-content, input#impressum, input#impressum:not(:checked) ~ #impressum-content {
  display: none;
}

input#datenschutz:checked ~ .mod_impress__labels label[for="datenschutz"] {
  color: #2baab1;
}

input#impressum:checked ~ .mod_impress__labels label[for="impressum"] {
  color: #2baab1;
}

.mod_impress {
  font-size: 16px;
  font-family: 'Raleway', sans-serif;
  font-weight: 300;
  color: #f5f5f5;
  text-align: left;
}

.mod_impress h1, .mod_impress h2, .mod_impress h3, .mod_impress h4, .mod_impress p, .mod_impress span {
  color: inherit;
}

.mod_impress h2 {
  font-size: 1.3em;
  letter-spacing: normal !important;
}

.mod_impress h3 {
  font-size: 1.15em;
}

.mod_impress__label {
  font-weight: normal;
  font-size: 16px;
  cursor: pointer;
}

.mod_impress__label:hover {
  text-decoration: underline;
}

@media screen and (max-width: 40em) {
  .mod_impress__label {
    padding: .5em;
    margin: .25em;
  }
}

.mod_impress__labels {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

@media screen and (max-width: 40em) {
  .mod_impress__labels {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.mod_impress__labels__column--label {
  -webkit-box-flex: 1;
  -webkit-flex: 1 0 0px;
      -ms-flex: 1 0 0px;
          flex: 1 0 0px;
  text-align: right;
  margin: 0 1em;
}

.mod_impress__labels__column--last {
  text-align: left;
}

@media screen and (max-width: 40em) {
  .mod_impress__labels__column {
    text-align: center !important;
  }
  .mod_impress__labels__column--separator {
    display: none;
  }
}
