/* Data Protection
 * @desc      1. Pure CSS Accordion, 2. Just Text
 * @type      Project
 * ***********************************************
 * @author    Heiko Groeger <heiko@fivevisions.de>
 * @link      http://www.fivevisions.de
 * @copyright 2018
 * @revision  2024-08-30
 * @hash      599ff187
 */
.data-protection {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  position: relative;
  width: 100%;
  font-size: 1em;
  font-weight: 400;
  color: #444;
  opacity: 1;
}

.data-protection strong, .data-protection b {
  font-weight: 600;
}

.data-protection h1, .data-protection h2, .data-protection h3, .data-protection label a {
  line-height: 120% !important;
  text-align: left !important;
  font-family: inherit;
  font-weight: 600;
  margin: 0 !important;
  padding: 0 !important;
  text-decoration: none !important;
  border: none !important;
  text-transform: initial;
  letter-spacing: initial;
}

.data-protection h1 {
  font-size: 1.4em;
}

.data-protection h2, .data-protection label a {
  font-size: 1.3em;
}

.data-protection h3 {
  font-size: 1.15em;
  color: #444;
}

.data-protection .tab {
  overflow: hidden;
  position: relative;
  width: 100%;
  font-size: clamp(14px, 2vw, 16px);
  color: #707077;
  margin-bottom: 1px;
  border-bottom: 1px solid #d1d1d1;
}

.data-protection .tab:first-of-type {
  border-top: 1px solid #d1d1d1;
}

.data-protection input {
  position: absolute;
  opacity: 0;
  z-index: -1;
}

.data-protection label {
  position: relative;
  display: block;
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 1em 3.5em 1em 0;
  background: transparent;
  font-weight: 600;
  line-height: 130%;
  cursor: pointer;
  transition: color .25s;
  -webkit-hyphens: none;
  hyphens: none;
}

.data-protection label a {
  display: inline-block;
  pointer-events: none;
  text-wrap: balance;
  cursor: default;
  transition: all .25s;
}

.data-protection .tab-content {
  display: table-column;
  overflow: hidden;
  color: #707077;
  background: transparent;
  font-size: 0;
  opacity: 0;
  border: none;
  padding: 0.5em 0 1.3em 0;
  line-height: inherit;
  transition: font-size .5s .25s, opacity .25s;
}

.data-protection .tab-content p>* {
  font-size: 0;
}

.data-protection .tab-content ul, .data-protection .tab-content ol, .data-protection .tab-content li {
  margin: 0;
  margin-left: 1em !important;
  padding: 0 !important;
  display: inline;
  font-size: 0;
  text-align: left;
  text-wrap: balance;
  -webkit-hyphens: none;
  hyphens: none;
}

.data-protection li {
  list-style-position: outside !important;
  color: #707077;
  margin-bottom: 6px !important;
  margin-left: 0 !important;
}

.data-protection ul li {
  list-style-type: disc !important;
}

.data-protection ol li {
  list-style-type: decimal !important;
}

.data-protection li::before, .data-protection li::after {
  content: none !important;
}

.data-protection .tab-content, .data-protection .tab-content-text {
  text-align: justify;
  -webkit-hyphens: auto;
  hyphens: auto;
}

.data-protection .tab-content p, .data-protection .tab-content-text p {
  margin: 1em 0 !important;
  padding: 0;
}

.data-protection .tab-content p:first-of-type, .data-protection .tab-content h3:first-of-type {
  margin-top: 0;
}

.data-protection .tab-content h3~p, .data-protection .tab-content ul~h3, .data-protection .tab-content ol~h3 {
  margin-top: 1em !important;
}

.data-protection .tab-content-text h2~h3 {
  margin-top: 1em !important;
}

.data-protection label:hover a, .data-protection input:checked~label a {
  color: #444;
}

.data-protection input:checked~label {
  color: #444;
  background: transparent;
}

.data-protection input:checked~.tab-content {
  display: block;
  font-size: clamp(14px, 2vw, 16px);
  opacity: 1;
  transition: font-size .15s, opacity .5s .15s;
}

.data-protection input:checked~.tab-content p>* {
  font-size: 1em;
}

.data-protection input:checked~.tab-content ul, .data-protection input:checked~.tab-content ol {
  display: block;
  font-size: 1em;
}

.data-protection input:checked~.tab-content li {
  display: list-item;
  font-size: 1em;
}

.data-protection input[type=checkbox]+label::after {
  content: '';
  position: absolute;
  right: 1em;
  top: 1.1em;
  display: inline-block;
  height: 15px;
  width: 15px;
  border-top: 2px solid rgba(0, 0, 0, 0.5);
  border-left: 2px solid rgba(0, 0, 0, 0.5);
  transform: rotate(-135deg);
}

.data-protection input[type=checkbox]:checked+label::after {
  top: 1.6em;
  transform: rotate(45deg);
}

@media print {
  .data-protection *:not(input):not(label a) {
    all: revert !important;
  }

  .data-protection {
    display: inline !important;
  }

  .data-protection .tab {
    border-bottom: 1px solid #222;
  }

  .data-protection .tab:first-of-type {
    border-top: 1px solid #222;
  }

  .data-protection .tab label a {
    color: revert !important;
    margin-top: 1em !important;
  }

  .data-protection label::after {
    display: none !important;
  }

  .data-protection .tab-content, .data-protection .tab-content-text {
    color: #444;
    font-size: 100%;
    opacity: 1;
  }

  .data-protection .tab-content ul, .data-protection .tab-content ol {
    display: block;
  }

  .data-protection .tab-content li {
    color: #444;
    display: list-item;
  }

  .data-protection label {
    padding-right: 1em;
  }

  .data-protection label::after {
    display: none;
  }

  .data-protection .tab-content a, .data-protection .tab-content-text a {
    float: none !important;
    background: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .data-protection .tab-content a, .data-protection .tab-content a:visited {
    text-decoration: underline;
  }

  .data-protection label, .data-protection label a, .data-protection h2, .data-protection h3 {
    color: #222 !important;
    page-break-after: avoid;
  }
}

/* data-protection.css overrides */
/* ***************************** */
/* .data-protection h1, .data-protection h2, .data-protection h3, .data-protection label a {
  font-weight: 500 !important;
}

.data-protection label:hover a, .data-protection input:checked~label a {
  color: var(--color-link-active-secondary) !important;
}

.data-protection input:checked~.tab-content li {
  text-align: left !important;
} */
