.accordion {
  margin-top: 0 !important;
  overflow: hidden;
}
.accordion + *:not(.accordion) {
  margin-top: 2.5ch !important;
}
*:not(.accordion):not(.page-title) + .accordion {
  margin-top: 3rem !important;
}
.accordion > input {
  display: none;
}
.accordion > input + .acc-title {
  display: block;
  font-weight: 500;
  line-height: 1.35;
  padding: 0.8ch 40px 0.75ch 1ch;
  margin: 0 0 1rem 0;
  color: #006450;
  border: 1px solid #006450;
  border-radius: 8px;
  cursor: pointer;
  position: relative;
  transition: background 0.25s ease-in-out, color 0.25s ease-in-out;
}
.accordion > input + .acc-title:after {
  content: "+";
  display: block;
  font-size: 2.8rem;
  font-weight: 200;
  line-height: 1;
  position: absolute;
  top: calc(50% - 1px);
  right: 1ch;
  transform: translateY(-50%);
}
.accordion > input + .acc-title:hover {
  color: #fff;
  background: #006450;
}
.accordion > input + .acc-title svg {
  width: 13px;
}
.accordion > input + .acc-title + .acc-panel {
  height: 0;
  visibility: hidden;
  padding: 0;
  position: relative;
  z-index: -1;
  transition: visibility 0.35s cubic-bezier(0.25, 0.5, 0.5, 1) 0.05s, height 0.35s cubic-bezier(0.25, 0.5, 0.5, 1) 0.05s, margin 0.35s cubic-bezier(0.25, 0.5, 0.5, 1) 0.05s;
}
.accordion > input + .acc-title + .acc-panel > * {
  opacity: 0;
  transition: opacity 0.25s cubic-bezier(0.82, -0.04, 1, 1);
}
.accordion > input:checked + .acc-title {
  color: #fff;
  background: #006450;
}
.accordion > input:checked + .acc-title + .acc-panel {
  height: auto;
  visibility: visible;
  margin-bottom: 10px;
  padding: 20px 0;
  opacity: 1;
  z-index: 1;
}
.accordion > input:checked + .acc-title + .acc-panel > * {
  opacity: 1;
}
