.accordion {
  padding-left: 8px;
  padding-right: 8px
}

@media(min-width: 768px) {
  .accordion {
    padding-left:.5vw;
    padding-right: .5vw
  }
}

.accordion .accordion__heading {
  font-size: 28px;
  font-family: Theinhardt,system-ui,sans-serif;
  font-weight: 300;
  letter-spacing: -0.01em;
  line-height: 1.2;
  padding-top: 24px;
  padding-bottom: 5px;
  margin-top: 12px
}

@media(min-width: 300px)and (max-width: 1499px) {
  .accordion .accordion__heading {
    font-size:calc(28px + (36 - 28) * ( 100vw - 300px ) / (1500 - 300))
  }
}

@media(min-width: 1500px) {
  .accordion .accordion__heading {
    font-size:36px
  }
}

.accordion .accordion__heading a {
  box-shadow: inset 0 -4px var(--c-bg),inset 0 -5px var(--c-border);
  color: var(--c-text-link);
  cursor: pointer;
  transition: box-shadow .2s cubic-bezier(0.645, 0.045, 0.355, 1),color .2s cubic-bezier(0.645, 0.045, 0.355, 1)
}

.accordion .accordion__heading a:hover,.accordion .accordion__heading a:focus {
  box-shadow: inset 0 -4px var(--c-bg),inset 0 -5px var(--c-text-strong);
  color: var(--c-text-strong)
}

@media(min-width: 600px) {
  .accordion .accordion__heading a {
    box-shadow:inset 0 -6px var(--c-bg),inset 0 -7px var(--c-border);
    color: var(--c-text-link);
    cursor: pointer;
    transition: box-shadow .2s cubic-bezier(0.645, 0.045, 0.355, 1),color .2s cubic-bezier(0.645, 0.045, 0.355, 1)
  }

  .accordion .accordion__heading a:hover,.accordion .accordion__heading a:focus {
    box-shadow: inset 0 -6px var(--c-bg),inset 0 -7px var(--c-text-strong);
    color: var(--c-text-strong)
  }
}

@media(min-width: 768px) {
  .accordion .accordion__heading {
    padding-top:36px;
    padding-bottom: 12px;
    margin-top: 0
  }
}

.accordion .accordion__list {
  list-style: none;
  margin: 0;
  padding: 0;
  margin-top: 12px
}

.accordion .accordion__list li {
  margin: 0;
  padding: 0
}

.accordion .accordion__list li::before {
  display: none
}

.accordion .accordion__list:hover .accordion__list-item,.accordion .accordion__list.muted .accordion__list-item {
  color: var(--c-text-muted)
}

.accordion .accordion__list .accordion__list-item {
  align-items: center;
  border-top: 1px solid var(--c-border);
  color: var(--c-text-strong);
  transition: all .2s cubic-bezier(0.645, 0.045, 0.355, 1)
}

.accordion .accordion__list .accordion__list-item:last-child {
  border-bottom: 1px solid var(--c-border)
}

.accordion .accordion__list .accordion__list-item:hover .accordion__item-title,.accordion .accordion__list .accordion__list-item:focus .accordion__item-title {
  color: var(--c-text-strong)
}

.accordion .accordion__list .accordion__list-item:hover .accordion__item-title::after,.accordion .accordion__list .accordion__list-item:focus .accordion__item-title::after {
  color: var(--c-text-strong)
}

.accordion .accordion__list .accordion__list-item:focus-within {
  border-top-color: var(--c-text);
  outline: 0
}

.accordion .accordion__expandable[open] {
  color: var(--c-text-strong)
}

.accordion .accordion__summary {
  align-items: flex-start;
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  list-style: none;
  outline: 0;
  padding: 12px 0;
  width: auto
}

.accordion .accordion__summary::marker,.accordion .accordion__summary::-webkit-details-marker {
  display: none
}

.accordion .accordion__item-title {
  font-size: 21px;
  font-family: Theinhardt,system-ui,sans-serif;
  font-weight: 400;
  letter-spacing: -0.01em;
  line-height: 1.2;
  display: block;
  margin: 0;
  padding: 5px 24px 0 0;
  position: relative;
  transition: all .2s cubic-bezier(0.645, 0.045, 0.355, 1);
  width: calc(100% - 24px)
}

@media(min-width: 300px)and (max-width: 1199px) {
  .accordion .accordion__item-title {
    font-size:calc(21px + (24 - 21) * ( 100vw - 300px ) / (1200 - 300))
  }
}

@media(min-width: 1200px) {
  .accordion .accordion__item-title {
    font-size:24px
  }
}

.accordion .accordion__item-title::after {
  position: absolute;
  top: .125em;
  right: 0;
  color: var(--c-text-link);
  content: "+";
  font-family: monospace;
  text-align: right;
  transition: all .2s cubic-bezier(0.645, 0.045, 0.355, 1);
  width: 1em
}

.accordion .accordion__expandable[open] .accordion__item-title::after {
  color: var(--c-border);
  content: "–"
}

.accordion .accordion__contents {
  font-family: Theinhardt,system-ui,sans-serif;
  font-size: 15px;
  line-height: 1.35;
  font-weight: 400;
  padding: 12px 0 24px
}

.accordion .accordion__contents b,.accordion .accordion__contents strong {
  font-weight: 500
}

.accordion .accordion__contents em,.accordion .accordion__contents i {
  font-style: italic
}

.accordion .accordion__contents p:not(:last-child) {
  margin-top: 0;
  margin-bottom: 1em
}

.accordion .accordion__contents a {
  box-shadow: inset 0 -1px var(--c-border);
  color: var(--c-text-link);
  cursor: pointer;
  transition: box-shadow .2s cubic-bezier(0.645, 0.045, 0.355, 1),color .2s cubic-bezier(0.645, 0.045, 0.355, 1)
}

.accordion .accordion__contents a:hover,.accordion .accordion__contents a:focus {
  box-shadow: inset 0 -1px var(--c-text-strong);
  color: var(--c-text-strong)
}

@media(min-width: 600px) {
  .accordion .accordion__contents {
    font-size:17px;
    line-height: 1.4
  }
}

.accordion .accordion__contents::after {
  clear: both;
  content: "";
  display: table
}

.accordion .accordion__contents h3 {
  font-size: 21px;
  font-family: Theinhardt,system-ui,sans-serif;
  font-weight: 500;
  letter-spacing: -0.01em;
  line-height: 1.2;
  color: var(--c-text-strong)
}

@media(min-width: 300px)and (max-width: 1199px) {
  .accordion .accordion__contents h3 {
    font-size:calc(21px + (24 - 21) * ( 100vw - 300px ) / (1200 - 300))
  }
}

@media(min-width: 1200px) {
  .accordion .accordion__contents h3 {
    font-size:24px
  }
}

.accordion .accordion__contents h4 {
  font-size: 17px;
  font-family: Theinhardt,system-ui,sans-serif;
  font-weight: 400;
  letter-spacing: .1em;
  line-height: 1.2;
  text-transform: uppercase;
  color: var(--c-text-strong)
}

@media(min-width: 300px)and (max-width: 1199px) {
  .accordion .accordion__contents h4 {
    font-size:calc(17px + (19 - 17) * ( 100vw - 300px ) / (1200 - 300))
  }
}

@media(min-width: 1200px) {
  .accordion .accordion__contents h4 {
    font-size:19px
  }
}

.accordion .accordion__contents h4 b,.accordion .accordion__contents h4 strong {
  font-weight: 500
}

.accordion .accordion__contents h5 {
  font-size: 17px;
  font-family: Academica;
  line-height: 1.4;
  font-weight: 300;
  color: var(--c-text-muted)
}

@media(min-width: 300px)and (max-width: 1499px) {
  .accordion .accordion__contents h5 {
    font-size:calc(17px + (24 - 17) * ( 100vw - 300px ) / (1500 - 300))
  }
}

@media(min-width: 1500px) {
  .accordion .accordion__contents h5 {
    font-size:24px
  }
}

.accordion .accordion__contents h6 {
  font-family: Academica;
  font-size: 17px;
  line-height: 1.4;
  font-weight: 300;
  font-style: italic;
  color: var(--c-text-muted)
}

@media(min-width: 300px)and (max-width: 1499px) {
  .accordion .accordion__contents h6 {
    font-size:calc(17px + (24 - 17) * ( 100vw - 300px ) / (1500 - 300))
  }
}

@media(min-width: 1500px) {
  .accordion .accordion__contents h6 {
    font-size:24px
  }
}

.accordion .accordion__contents h3,.accordion .accordion__contents h4,.accordion .accordion__contents h5,.accordion .accordion__contents h6 {
  margin-bottom: 12px;
  margin-top: 12px
}

.accordion .accordion__contents sub,.accordion .accordion__contents sup {
  font-family: Theinhardt,system-ui,sans-serif;
  font-size: .65em;
  margin-left: 1px;
  margin-right: 3px
}

.accordion .accordion__contents sub a,.accordion .accordion__contents sup a {
  box-shadow: none !important
}

.accordion .accordion__contents ul {
  list-style: none;
  margin-bottom: 1em;
  padding-left: 1em
}

.accordion .accordion__contents ul:first-child {
  margin-top: 0
}

.accordion .accordion__contents ul:last-child {
  margin-bottom: 0
}

.accordion .accordion__contents ul li {
  margin-top: 10px;
  padding-left: 1em;
  position: relative
}

.accordion .accordion__contents ul li::before {
  position: absolute;
  top: .45em;
  left: 0;
  height: 6px;
  width: 6px;
  background-color: var(--c-accent);
  border-radius: 50%;
  content: "";
}

@media(min-width: 1070px) {
  .accordion .accordion__contents ul li::before {
    height:8px;
    width: 8px
  }
}

.accordion .accordion__contents ul ul li::before {
  background: transparent;
  border: 1px solid var(--c-accent)
}

.accordion .accordion__contents ul ul ul li::before {
  background-color: var(--c-accent)
}

.accordion .accordion__contents ul ul ul ul li::before {
  background: transparent;
  border: 1px solid var(--c-accent)
}

.accordion .accordion__contents ul ul ul ul ul li::before {
  background-color: var(--c-accent)
}

.accordion .accordion__contents ul ul ul ul ul ul li::before {
  background: transparent;
  border: 1px solid var(--c-accent)
}

.accordion .accordion__contents ul>li::before {
  height: 6px;
  width: 6px;
  display: list-item
}

.accordion .accordion__contents ol {
  counter-reset: counter;
  list-style: none;
  padding-left: 1em
}

.accordion .accordion__contents ol:first-child {
  margin-top: 0
}

.accordion .accordion__contents ol:last-child {
  margin-bottom: 0
}

.accordion .accordion__contents ol>li {
  margin-top: 10px;
  padding-left: 1em;
  position: relative
}

.accordion .accordion__contents ol>li::before {
  position: absolute;
  top: 0;
  left: 0;
  font-family: Theinhardt,system-ui,sans-serif;
  font-size: 1.4;
  font-weight: 300;
  content: counter(counter);
  counter-increment: counter
}

.accordion .accordion__contents ol li::before {
  color: var(--c-accent)
}

.accordion .accordion__contents ol ol li::before {
  content: counter(counter, lower-alpha) "."
}

.accordion .accordion__contents ol ol ol li::before {
  content: counter(counter, upper-roman) "."
}

.accordion .accordion__contents ol ol ol ol li::before {
  content: counter(counter) "."
}

.accordion .accordion__contents ol ol ol ol ol li::before {
  content: counter(counter, lower-alpha) "."
}

.accordion .accordion__contents ol ol ol ol ol ol li::before {
  content: counter(counter, upper-roman) "."
}

.accordion .accordion__contents ol>li::before {
  height: 6px;
  width: 6px;
  display: list-item
}

.accordion .accordion__contents blockquote {
  padding-top: 18px;
  padding-bottom: 18px
}

@media(min-width: 600px) {
  .accordion .accordion__contents blockquote {
    padding-top:24px
  }
}

@media(min-width: 1070px) {
  .accordion .accordion__contents blockquote {
    padding-top:36px
  }
}

@media(min-width: 600px) {
  .accordion .accordion__contents blockquote {
    padding-bottom:24px
  }
}

@media(min-width: 1070px) {
  .accordion .accordion__contents blockquote {
    padding-bottom:36px
  }
}

.accordion .accordion__contents blockquote p {
  border-left: 5px solid var(--c-border-light);
  color: var(--c-text-muted);
  padding-left: 1em
}

.accordion .accordion__contents blockquote cite {
  font-family: Theinhardt,system-ui,sans-serif;
  font-size: 16px;
  line-height: 1.4;
  font-weight: 400;
  color: var(--c-text-muted)
}

.accordion .accordion__contents blockquote cite strong {
  color: var(--c-text);
  font-weight: 500
}

.accordion .accordion__contents pre {
  margin-top: 18px;
  margin-bottom: 18px;
  background-color: var(--c-card-bg);
  color: var(--c-card-text);
  display: block;
  padding: 20px
}

@media(min-width: 600px) {
  .accordion .accordion__contents pre {
    margin-top:24px
  }
}

@media(min-width: 1070px) {
  .accordion .accordion__contents pre {
    margin-top:36px
  }
}

@media(min-width: 600px) {
  .accordion .accordion__contents pre {
    margin-bottom:24px
  }
}

@media(min-width: 1070px) {
  .accordion .accordion__contents pre {
    margin-bottom:36px
  }
}

.accordion .accordion__contents code {
  font-family: Consolas,Menlo,Monaco,"Courier New",Courier,monospace;
  font-size: 15px;
  line-height: 1.4;
  font-weight: 400;
  background-color: var(--c-card-bg);
  color: var(--c-card-text);
  display: inline;
  padding: 2px
}

.accordion .accordion__contents table {
  margin-top: 18px;
  margin-bottom: 18px;
  font-family: Theinhardt,system-ui,sans-serif;
  font-size: 16px;
  line-height: 1.2;
  font-weight: 400;
  background-color: var(--c-card-bg);
  border-collapse: collapse;
  color: var(--c-card-text);
  table-layout: fixed;
  width: 100%
}

@media(min-width: 600px) {
  .accordion .accordion__contents table {
    margin-top:24px
  }
}

@media(min-width: 1070px) {
  .accordion .accordion__contents table {
    margin-top:36px
  }
}

@media(min-width: 600px) {
  .accordion .accordion__contents table {
    margin-bottom:24px
  }
}

@media(min-width: 1070px) {
  .accordion .accordion__contents table {
    margin-bottom:36px
  }
}

@media(min-width: 600px) {
  .accordion .accordion__contents table {
    margin-top:24px
  }
}

@media(min-width: 1070px) {
  .accordion .accordion__contents table {
    margin-top:36px
  }
}

@media(min-width: 600px) {
  .accordion .accordion__contents table {
    margin-bottom:24px
  }
}

@media(min-width: 1070px) {
  .accordion .accordion__contents table {
    margin-bottom:36px
  }
}

.accordion .accordion__contents table strong {
  font-weight: 500
}

.accordion .accordion__contents table thead {
  background-color: var(--c-text);
  color: var(--c-bg);
  font-weight: 500
}

@media(max-width: 767px) {
  .accordion .accordion__contents table thead {
    display:none
  }
}

.accordion .accordion__contents table thead th {
  text-align: left
}

.accordion .accordion__contents table tr {
  margin-top: 0
}

@media(min-width: 0)and (max-width: 767px) {
  .accordion .accordion__contents table tr {
    border-width:0
  }
}

.accordion .accordion__contents table tr:not(:first-child) {
  border: 1px solid var(--c-border);
  border-width: 1px 0 0
}

.accordion .accordion__contents table thead tr {
  border-width: 0
}

@media(max-width: 767px) {
  .accordion .accordion__contents table tbody tr {
    display:block;
    padding: 24px
  }
}

.accordion .accordion__contents table thead td,.accordion .accordion__contents table thead th,.accordion .accordion__contents table tbody td {
  margin-top: 0;
  padding-top: 0
}

@media(min-width: 768px) {
  .accordion .accordion__contents table thead td,.accordion .accordion__contents table thead th,.accordion .accordion__contents table tbody td {
    padding-top:18px;
    padding-right: 18px;
    padding-bottom: 18px;
    padding-left: 18px
  }
}

.accordion .accordion__contents table tbody td {
  line-height: 1.3
}

@media(max-width: 767px) {
  .accordion .accordion__contents table tbody td {
    display:block;
    padding: 0
  }
}

@media(min-width: 768px) {
  .accordion .accordion__contents table tbody td {
    line-height:inherit
  }
}

.accordion .accordion__contents table td {
  border: 0;
  vertical-align: top
}

@media(max-width: 767px) {
  .accordion .accordion__contents table td {
    display:block;
    font-size: 17px;
    width: 100% !important
  }
}

@media(min-width: 768px) {
  .accordion .accordion__contents table td {
    padding-top:24px;
    padding-bottom: 24px;
    padding-left: 0;
    padding-right: 0;
    display: table-cell;
    width: auto
  }
}

@media(max-width: 767px) {
  .accordion .accordion__contents table td+td {
    border-top:1px solid var(--c-card-border-light);
    margin-top: 18px;
    padding-top: 18px
  }
}

.accordion .accordion__contents table td[data-th]::before {
  color: var(--c-card-text-muted);
  content: attr(data-th) ": ";
  display: inline;
  font-weight: 500
}

@media(min-width: 768px) {
  .accordion .accordion__contents table td[data-th]::before {
    display:none
  }
}

.accordion .accordion__contents table tbody a {
  box-shadow: inset 0 -1px var(--c-card-border);
  color: var(--c-card-text-link);
  cursor: pointer;
  transition: box-shadow .2s cubic-bezier(0.645, 0.045, 0.355, 1),color .2s cubic-bezier(0.645, 0.045, 0.355, 1)
}

.accordion .accordion__contents table tbody a:hover,.accordion .accordion__contents table tbody a:focus {
  box-shadow: inset 0 -1px var(--c-card-border-light);
  color: var(--c-card-text)
}

@media(max-width: 767px) {
  .accordion .accordion__contents table tbody {
    border:1px solid var(--c-card-border-light);
    border-width: 3px 1px 1px
  }
}

.accordion .accordion__contents table tr:not(:first-child) {
  border-width: 3px 0 0
}

@media(min-width: 768px) {
  .accordion .accordion__contents table tr:not(:first-child) {
    border-width:1px 0 0
  }
}

.accordion .accordion__contents table.tablepress tr.even {
  background-color: var(--c-border)
}

.accordion .accordion__contents hr {
  margin-top: 24px;
  margin-bottom: 24px;
  height: 1px;
  width: 100%;
  background-color: var(--c-border);
  border: 0;
  display: block;
  padding: 0
}

@media(min-width: 600px) {
  .accordion .accordion__contents hr {
    margin-top:36px
  }
}

@media(min-width: 1070px) {
  .accordion .accordion__contents hr {
    margin-top:60px
  }
}

@media(min-width: 600px) {
  .accordion .accordion__contents hr {
    margin-bottom:36px
  }
}

@media(min-width: 1070px) {
  .accordion .accordion__contents hr {
    margin-bottom:60px
  }
}

.accordion .accordion__contents figcaption {
  font-family: Academica;
  font-size: 13px;
  line-height: 1.4;
  font-weight: 300;
  margin-top: 8px
}

.accordion .accordion__contents figcaption b,.accordion .accordion__contents figcaption strong {
  font-weight: 700
}

.accordion .accordion__contents figcaption i,.accordion .accordion__contents figcaption em {
  font-style: italic
}

.accordion .accordion__contents figcaption code {
  font-size: inherit
}

.accordion .accordion__contents .alignleft,.accordion .accordion__contents .alignright,.accordion .accordion__contents .alignnone,.accordion .accordion__contents .aligncenter,.accordion .accordion__contents .alignfull,.accordion .accordion__contents .alignwide {
  margin-top: 24px;
  margin-bottom: 24px;
  clear: both
}

@media(min-width: 600px) {
  .accordion .accordion__contents .alignleft,.accordion .accordion__contents .alignright,.accordion .accordion__contents .alignnone,.accordion .accordion__contents .aligncenter,.accordion .accordion__contents .alignfull,.accordion .accordion__contents .alignwide {
    margin-top:36px
  }
}

@media(min-width: 1070px) {
  .accordion .accordion__contents .alignleft,.accordion .accordion__contents .alignright,.accordion .accordion__contents .alignnone,.accordion .accordion__contents .aligncenter,.accordion .accordion__contents .alignfull,.accordion .accordion__contents .alignwide {
    margin-top:60px
  }
}

@media(min-width: 600px) {
  .accordion .accordion__contents .alignleft,.accordion .accordion__contents .alignright,.accordion .accordion__contents .alignnone,.accordion .accordion__contents .aligncenter,.accordion .accordion__contents .alignfull,.accordion .accordion__contents .alignwide {
    margin-bottom:36px
  }
}

@media(min-width: 1070px) {
  .accordion .accordion__contents .alignleft,.accordion .accordion__contents .alignright,.accordion .accordion__contents .alignnone,.accordion .accordion__contents .aligncenter,.accordion .accordion__contents .alignfull,.accordion .accordion__contents .alignwide {
    margin-bottom:60px
  }
}

.accordion .accordion__contents .alignleft,.accordion .accordion__contents .alignright {
  margin-bottom: 12px
}

@media(min-width: 600px) {
  .accordion .accordion__contents .alignleft,.accordion .accordion__contents .alignright {
    margin-bottom:18px
  }
}

@media(min-width: 1070px) {
  .accordion .accordion__contents .alignleft,.accordion .accordion__contents .alignright {
    margin-bottom:24px
  }
}

@media(min-width: 400px) {
  .accordion .accordion__contents .alignleft,.accordion .accordion__contents .alignright {
    margin-top:12px;
    width: 50%
  }
}

@media(min-width: 768px) {
  .accordion .accordion__contents .alignleft,.accordion .accordion__contents .alignright {
    width:33.3333333333%
  }
}

@media(min-width: 400px) {
  .accordion .accordion__contents .alignleft {
    clear:left;
    float: left;
    margin-right: 24px
  }
}

@media(min-width: 400px) {
  .accordion .accordion__contents .alignright {
    clear:right;
    float: right;
    margin-left: 24px
  }
}

.accordion .accordion__contents.normal-article .aligncenter:first-of-type {
  clear: initial;
  width: 83.3333333333% !important
}

.accordion .accordion__contents.normal-article .alignnone {
  width: 100% !important
}

.accordion .accordion__contents.normal-article .alignnone:first-of-type {
  clear: initial
}

.ckeditor-accordion-container > a {
  box-shadow: unset;
}

.ckeditor-accordion-container > dl {
  border: none;
}

.ckeditor-accordion-container > dl dt {
  border-top: 1px solid var(--c-border);

}

.ckeditor-accordion-container > dl dt > a,
.ckeditor-accordion-container > dl dt > a:not(.button) {
  background-color: unset;
  border: none;
  color: var(--c-text);
  padding-left: unset;
}

.ckeditor-accordion-container > dl dt > a:hover,
.ckeditor-accordion-container > dl dt > a:not(.button):hover {
  background-color: unset;
  color: var(--c-text-strong);
}

.ckeditor-accordion-container > dl dt > a > .ckeditor-accordion-toggle {
  right: 11px;
  left: unset;
  color: var(--c-text-link);
}


.ckeditor-accordion-container > dl dt > a > .ckeditor-accordion-toggle:before,
.ckeditor-accordion-container > dl dt > a > .ckeditor-accordion-toggle:after {
  background: var(--c-text-link);
  -webkit-transform: unset;
  transform: unset;
}

.ckeditor-accordion-container > dl dt > a > .ckeditor-accordion-toggle:before {
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
  left: 7px;
}

.ckeditor-accordion-container > dl dt > a:hover > .ckeditor-accordion-toggle:before,
.ckeditor-accordion-container > dl dt > a:hover > .ckeditor-accordion-toggle:after {
  background: var(--c-text-strong);
}

.ckeditor-accordion-container > dl dt.active > a > .ckeditor-accordion-toggle:before,
.ckeditor-accordion-container > dl dt.active > a > .ckeditor-accordion-toggle:after {
  -webkit-transform: unset;
  transform: unset;
}

.ckeditor-accordion-container > dl dd {
  font-family: Theinhardt,system-ui,sans-serif;
  font-size: 15px;
  line-height: 1.35;
  font-weight: 400;
  padding: 12px 0 24px
}

@media(min-width: 600px) {
  .ckeditor-accordion-container > dl dd {
    font-size:17px;
    line-height: 1.4
  }
}
