@charset "UTF-8";

/*!
  theme – default page-styles
  0.0.2
*/

/*!
  header ----------------------------------------------------------
*/
header {
  background-color: hsla(0, 0%, 100%, 0.95);
}

header nav ul a {
  font-weight: 100;
  color: var(--grau-dark);
}

header nav ul a:hover {
  color: var(--blau);
}

header nav ul a:active,
header nav ul a:focus {
  color: var(--black);
}

header nav ul a.active {
  color: var(--blau);
}

header nav ul a.active:after {
  border-color: transparent transparent rgba(4, 70, 190, 0.95);
}

header .meta {
  color: var(--grau-dark);
}

header .meta:hover {
  color: var(--blau);
}

header .meta:active,
header .meta:focus {
  color: var(--black);
}

header.header-blau {
  background-color: rgba(4, 70, 190, 0.95);
}

header.header-blau nav ul a {
  color: hsla(0, 0%, 100%, 0.8);
  font-weight: 400;
}

header.header-blau nav ul a.active,
header.header-blau nav ul a:active,
header.header-blau nav ul a:focus,
header.header-blau nav ul a:hover {
  color: var(--white);
}

header.header-blau nav ul a.active:after {
  border-color: transparent transparent hsla(0, 0%, 100%, 0.95);
}

header.header-blau .meta {
  color: hsla(0, 0%, 100%, 0.6);
}

header.header-blau .meta:active,
header.header-blau .meta:focus,
header.header-blau .meta:hover {
  color: var(--white);
}

header {
  position: fixed;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  width: 100%;
  height: 112px;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.25);
  z-index: 1;
}

nav {
  flex: 1 1 auto;
  text-align: center;
}

nav ul {
  list-style: none;
  margin: 0;
  padding-left: 0;
  font-size: 16px;
}

nav ul li {
  display: inline-block;
  margin-bottom: 0;
  padding-left: 8px;
  padding-right: 8px;
}

nav ul a.active:after {
  position: absolute;
  margin-top: 62px;
  margin-left: -56px;
  content: " ";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 6px 6px;
}

@media screen and (max-width: 640px) {
  nav ul {
    display: none !important;
  }
}

header .meta {
  display: flex;
  margin-right: 32px;
}

header .meta svg.stroke {
  stroke-width: 12;
  height: 16px;
  width: 16px;
}

.main {
  padding-top: 152px;
}

.hero-top {
  display: block;
  width: 100%;
  height: 112px;
}

.main:not(.page-side-margin) {
  padding-top: 0;
}

.logo {
  display: flex;
  width: 240px;
  padding-left: 32px;
  height: 112px;
  background-color: var(--white);
  cursor: pointer;
}

@media only screen and (min-width: 640px) {
  .logo {
    padding-left: 64px;
  }

  .meta {
    margin-right: 64px;
  }
}

/*!
  footer ----------------------------------------------------------
*/
footer {
  display: flex;
  flex-wrap: wrap;
  margin-top: 80px;
  padding: 24px 32px;
  width: 100%;
  background-color: var(--grau-dark);
}

.footer-blau {
  background-color: var(--blau);
}

footer a,
footer h4,
footer li,
footer p {
  color: hsla(0, 0%, 100%, 0.6);
}

footer a:active,
footer a:focus,
footer a:hover {
  color: var(--white);
}

footer a,
footer li,
footer p {
  font-weight: 400;
  font-size: 12px;
  line-height: 16px;
  margin-top: 8px;
  margin-bottom: 8px;
}

footer ul {
  list-style: none;
  margin: 0;
  padding-left: 0;
}

.footer {
  color: var(--white);
  box-shadow: inset 0 2px 5px rgba(0, 0, 0, 0.25),
    inset 0 2px 5px rgba(0, 0, 0, 0.0625), 0 0 20px rgba(0, 0, 0, 0.125);
}

@media only screen and (min-width: 640px) {
  .footer {
    padding-right: 64px;
    padding-left: 64px;
  }
}

/*!
  links -----------------------------------------------------------
*/
.link:focus,
a:focus {
  outline: none;
}

.link.disabled,
.link:disabled,
a.disabled,
a:disabled {
  opacity: 0.5;
}

.link {
  border-bottom: 0 solid transparent;
}

.link:active,
.link:focus,
.link:hover {
  border-bottom: 1px solid;
  margin-bottom: -1px;
}

a {
  color: var(--black);
}

a:hover {
  color: var(--blau-hover);
}

.link-white {
  color: hsla(0, 0%, 100%, 0.87);
  font-weight: 400;
}

.link-white:hover {
  color: var(--white);
}

.link-besprochen,
.link-frei {
  font-weight: 400;
}

/*!
  button ----------------------------------------------------------
*/
.button {
  vertical-align: middle;
  height: 40px;
  padding: 0 16px;
  background-image: linear-gradient(
    180deg,
    rgba(0, 0, 0, 0.01) 0,
    rgba(0, 0, 0, 0.05)
  );
  outline: none;
  border: 0 solid transparent;
  border-radius: 2px;
  overflow: hidden;
  cursor: pointer;
  transition-duration: 0.08s;
  transition-timing-function: ease-out;
  transition-property: box-shadow, background-color;
}

.button.bg-blau {
  background-color: var(--blau-hover);
}

.button.bg-red {
  background-color: var(--rot);
}

.button:hover {
  box-shadow: inset 0 0 0 4rem rgba(0, 0, 0, 0.25);
}

.button:focus {
  outline: none;
  border: 0 solid transparent;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.25);
}

.button.active,
.button:active {
  box-shadow: inset 0 0 0 3rem rgba(0, 0, 0, 0.25),
    inset 0 2px 3px 0 rgba(0, 0, 0, 0.5), 0 0 1px rgba(0, 0, 0, 0.25);
}

.button.disabled,
.button.disabled:active,
.button.disabled:focus,
.button.disabled:hover,
.button:disabled,
.button:disabled:active,
.button:disabled:focus,
.button:disabled:hover {
  opacity: 0.3;
  box-shadow: none;
}

.button-small {
  padding: 0 8px;
  height: 24px;
  font-size: 12px;
  line-height: 16px;
}

/*!
  page-styles -----------------------------------------------------
*/
.debug-baseline {
  background-position: 0 1px;
}

hr {
  margin-top: 48px;
  margin-bottom: 24px;
  border-bottom-color: hsla(210, 8%, 81%, 0.5);
}

.hr-white {
  border-bottom-color: hsla(0, 0%, 100%, 0.3);
}

.page-side-margin {
  margin-left: 32px;
  margin-right: 32px;
}

.page-side-padding {
  padding-left: 32px;
  padding-right: 32px;
}

.page-left-padding {
  padding-left: 32px;
}

@media only screen and (min-width: 640px) {
  .page-side-margin {
    margin-left: 64px;
    margin-right: 64px;
  }

  .page-side-padding {
    padding-left: 64px;
    padding-right: 64px;
  }

  .page-left-padding {
    padding-left: 64px;
  }
}

.alert{
  z-index: 9999 !important;
}
.loader-main {
    position: fixed;
    background: rgba(0, 0, 0, 0.74);
    height: 100%;
    top: 0;
    bottom: 0;
    width: 100%;
    text-align: center;
    padding-top: 20%;
    overflow: hidden;
    display: none;
    z-index: 9999;
}
/*!
  lists -----------------------------------------------------------
  https://yoksel.github.io/url-encoder/
*/
ol[class*="list-"] li,
ul[class*="list-"] li {
  margin-bottom: 8px;
}

[class^="list-icn-"] > li {
  fill: none;
  list-style-type: none;
  padding-left: 20px;
  margin-left: 0;
  background-repeat: no-repeat;
  background-position: 0 4px;
}

.list-icn-arrow > li {
  background-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' width='16' height='16'%3E%3Cpolyline stroke='%230446be' stroke-width='3' fill='none' points='54 41 32 23 10 41' transform='translate(64, 0) rotate(90)' x='0' y='0' width='100%25' height='100%25'/%3E%3C/svg%3E");
}

.list-icn-ok > li {
  background-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' width='16' height='16'%3E%3Cpolyline stroke='%230446be' stroke-width='3' fill='none' points='12 36 24 51 52 13' width='100%25' height='100%25'/%3E%3C/svg%3E");
}

.list-icn-stroke > li {
  background-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' width='16' height='16'%3E%3Cline stroke='%230446be' stroke-width='3' fill='none' x1='17' y1='32' x2='47' y2='32' width='100%25' height='100%25'/%3E%3C/svg%3E");
}

.list-icn-dot > li {
  background-position: 0 10px;
  background-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' width='4' height='4' transform='translateY(4px)'%3E%3Ccircle stroke='none' fill='%230446be' cx='32' cy='32' r='23' width='100%25' height='100%25'/%3E%3C/svg%3E");
}

/*!
  form ------------------------------------------------------------
*/
.field {
  margin-right: 0;
  margin-left: -1px;
  background-color: hsla(0, 0%, 100%, 0.4);
  border: 1px solid hsla(210, 8%, 81%, 0.5);
  color: var(--text-color);
  text-indent: 0.5rem;
  flex: 1 1 auto;
  transition: all 0.25s ease;
}

.field::-webkit-input-placeholder {
  color: #acb0b0;
}

.field:focus {
  text-indent: 0.8rem;
  outline: none;
  background-color: hsla(0, 0%, 100%, 0.8);
  box-shadow: 0 0 0 1px rgba(5, 88, 240, 0.6);
}

.field:disabled {
  background-color: rgba(0, 0, 0, 0.25);
  opacity: 0.5;
}

.field:read-only:not(select) {
  background-color: rgba(0, 0, 0, 0.5);
}

.field:invalid {
  border-color: var(--rot);
}
.field.success {
  border-color: #25d15a;
}
.field.warning {
  border-color: #fe9017;
}
.field.error {
  border-color: var(--rot);
}

legend {
  margin-bottom: 16px;
  color: var(--grau-dark);
}

label {
  padding-top: 8px;
  padding-left: 8px;
  padding-right: 8px;
  font-size: 12px;
  font-weight: 400;
  line-height: 24px;
}

.label-grau {
  background-color: #868f99;
  color: hsla(0, 0%, 100%, 0.7);
}

/*!
  checkboxes - radio ----------------------------------------------
*/
input[type="checkbox"] + label {
  font-weight: 300;
  margin-right: 20px;
}

input[type="checkbox"]:checked + label::before,
input[type="checkbox"]:not(:checked) + label::before,
input[type="radio"]:checked + label::before,
input[type="radio"]:not(:checked) + label::before {
  content: " ";
  display: inline-block;
  width: 16px;
  height: 16px;
  position: relative;
  top: 3px;
  border: 1px solid var(--grau);
  background: white;
  margin-right: 6px;
  box-shadow: inset 0 1px 1px 0 rgba(0, 0, 0, 0.1);
  transition: all 0.4s;
}

input[type="radio"]:checked + label::before,
input[type="radio"]:not(:checked) + label::before {
  border-radius: 30px;
}

input[type="checkbox"]:hover + label::before,
input[type="radio"]:hover + label::before {
  background: var(--blau-light);
  box-shadow: inset 0 0 0 2px white;
}

/* active */
input[type="checkbox"]:checked + label::before,
input[type="radio"]:checked + label::before {
  background: var(--blau);
  border: 1px solid var(--blau);
  box-shadow: inset 0 0 0 2px white;
}

/*!
  fake select -----------------------------------------------------
*/
.fake-select {
  display: block;
  cursor: pointer;
  width: 100%;
  font-size: 16px;
}

.fake-select > .trigger {
  position: relative;
  display: block;
  padding: 7px 8px 0;
  margin-right: 0;
  margin-left: -1px;
  background-color: hsla(0, 0%, 100%, 0.4);
  border: 1px solid hsla(210, 8%, 81%, 0.5);
  color: var(--text-color);
  text-indent: 0.4rem;
  height: 40px;
  line-height: 24px;
  transition: all 0.25s ease;
}

.fake-select > .trigger::after {
  display: block;
  content: "\00a0";
  background-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpolyline stroke='%230446be' stroke-width='.4rem' fill='none' points='56 44 32 20 8 44' transform='rotate(180, 32, 32)'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.3rem center;
  background-size: 1.1rem 1.1rem;
  z-index: 300;
  transform: translateY(-98%);
}

.fake-select ul {
  position: absolute;
  margin-top: 0;
  /* top: 0; */
  /* margin-left: 0; */
  /* margin-right: 0; */
  background-color: var(--grau-ultra);
  box-shadow: 2px 2px 8px rgba(53, 53, 53, 0.25);
  transform-origin: top center;
  transform: scaleY(0);
  transition: all 0.1s var(--in-cubic); /* out-anim */
  opacity: 0;
  z-index: 300;
}

.fake-select:hover ul {
  /* position: relative; */
  transition: all 0.25s var(--out-back); /* in-anim */
  transform: scaleY(1);
  opacity: 1;
}

.fake-select li {
  margin-bottom: 0 !important;
  padding: 8px 0 0 16px;
  height: 40px;
  transition: all 0.2s var(--inout-cubic);
}

.fake-select li:hover {
  background-color: var(--blau);
  color: var(--white);
}

/*!
  fake kalender ---------------------------------------------------
*/
.fake-kalender {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(50px, 1fr));
  background-color: var(--grau-ultra);
  width: 270px; /* + 2xpadding */
  padding: 10px;
  font-size: 14px;
  cursor: pointer;
}

.fake-kalender > li {
  text-align: center;
  padding: 8px 8px 8px 8px;
}

.fake-kalender svg {
  position: relative;
  top: 0.2rem;
}

/* reset... */
.fake-kalender > li:hover {
  background-color: transparent;
  color: var(--text);
}

/* ...then style */
.fake-kalender > .monat {
  grid-column: 2 / 5;
  font-size: 18px;
  padding: 12px;
}

.fake-kalender > .w-tag {
  font-weight: 600;
  border-bottom: 1px solid #fff;
}

.fake-kalender > .select:hover,
.fake-kalender > .tag:hover {
  background-color: var(--blau);
  color: white;
}

/*!
  fake form-popup -------------------------------------------------
*/
.fake-form-popup {
  position: absolute;
  margin-top: 80px;
  margin-left: 24px;
  padding: 32px 40px;
  width: 300px;
  background-color: var(--grau-ultra);
  box-shadow: 2px 2px 8px rgba(53, 53, 53, 0.25);
  /* transform: translateY(50%); */
}

.fake-form-popup.fixed {
  position: relative;
  margin: 24px 0 24px 24px;
}

.fake-form-popup::before {
  position: absolute;
  margin-top: -44px;
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 8.5px 14px 8.5px;
  border-color: transparent transparent var(--grau-ultra) transparent;
  z-index: 1;
}

/*!
  table -----------------------------------------------------------
*/
.table {
  border-collapse: separate;
  border-spacing: 0;
  max-width: 100%;
  width: 100%;
}

.table th {
  font-weight: 400;
}

.table td,
.table th {
  padding: 8px 16px;
  line-height: 32px;
}

.table td:first-child,
.table th:first-child {
  text-align: left;
}

.table th {
  vertical-align: bottom;
}

.table td {
  text-align: center;
  vertical-align: top;
}

.table-light td,
.table-light th {
  border-bottom-width: 0.1rem;
  border-bottom-style: solid;
  border-bottom-color: var(--grau);
}

.table-light tr:last-child td {
  border-bottom-color: transparent;
}

.table td,
.table th {
  position: relative;
}

.table .shaded:after,
.table .shaded:before {
  position: absolute;
  top: 0;
  content: " ";
  width: 24px;
  height: 100%;
  display: inline-block;
}

.table .shaded:before {
  left: -24px;
  background-image: linear-gradient(
    90deg,
    transparent 62%,
    rgba(0, 0, 0, 0.07) 85%,
    rgba(0, 0, 0, 0.23)
  );
}

.table .shaded:after,
.table .shaded:before {
  background-repeat: repeat-y;
  -webkit-backface-visibility: hidden;
}

.table .shaded:after {
  right: -24px;
  background-image: linear-gradient(
    270deg,
    transparent 62%,
    rgba(0, 0, 0, 0.07) 85%,
    rgba(0, 0, 0, 0.23)
  );
  z-index: 1;
}

/*!
  svg-icon --------------------------------------------------------
*/
.icn {
  display: inline;
  width: 1em;
  height: 1em;
  vertical-align: -0.13em;
  overflow: hidden;
}

[class^="stroke"] {
  fill: none;
  stroke-miterlimit: 10;
  stroke: currentColor;
}

.stroke.blau {
  stroke: var(--blau);
}
.stroke.medium {
  stroke: var(--blau-medium);
}
.stroke.grau {
  stroke: var(--grau);
}
.stroke.dark {
  stroke: var(--grau-dark);
}
.stroke.black {
  stroke: var(--black);
}
.stroke.white {
  stroke: var(--white);
}
.stroke.rot {
  stroke: var(--rot);
}

.stroke-strong {
  stroke-width: 6%;
}
.stroke-fine {
  stroke-width: 2.5%;
}

.icn-inlay {
  stroke: none;
  fill: var(--white);
}

.fill {
  stroke: none;
  fill: currentColor;
}

.fill.blau {
  fill: var(--blau);
}
.fill.medium {
  fill: var(--blau-medium);
}
.fill.grau {
  fill: var(--grau);
}
.fill.dark {
  fill: var(--grau-dark);
}
.fill.black {
  fill: var(--black);
}
.fill.white {
  fill: var(--white);
}
.fill.rot {
  fill: var(--rot);
}

.marker-blau {
  stroke: var(--white);
  stroke-width: 5.5%;
  fill: var(--blau);
}

.marker-white {
  stroke: none;
  fill: var(--white);
}

/*!
  boxes -----------------------------------------------------------
*/
.box {
  position: relative;
  display: flex;
  align-items: flex-start;
  margin-bottom: 32px;
}

.box.box-center {
  align-items: center;
}

.box.box-bottom {
  align-items: flex-end;
}

.box-padding {
  padding-top: 16px;
  padding-left: 40px;
  padding-right: 40px;
  margin-bottom: 24px;
}

.box .img {
  position: relative;
  background-size: cover;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  -webkit-backface-visibility: hidden;
  width: 100%;
}

.box .img.right {
  background-position: right 50%;
}

.box .img.left {
  background-position: left 50%;
}

.box .img.padded {
  margin-top: 16px;
  margin-left: 16px;
  width: calc(100% - 32px);
}

.box .img > .body {
  padding-top: 24px;
  padding-left: 40px;
  padding-right: 40px;
}

.box .img > .body :last-child {
  position: absolute;
  bottom: 32px;
  margin-right: 40px;
}

.box:not(.flex-column) .body {
  padding-left: 32px;
  padding-right: 40px;
}

.box:not(.flex-column) .img {
  width: 100%;
  height: 100%;
}

.box:not(.flex-column) .img.padded {
  position: relative;
  margin-top: 0;
  margin-left: 16px;
  height: calc(100% - 32px);
}

.box .button-hack {
  position: absolute;
  left: 38%;
}

/*!
  hero ------------------------------------------------------------
*/
.hero {
  position: relative;
}

.hero.img,
.hero .img {
  background-size: cover;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  -webkit-backface-visibility: hidden;
  width: 100%;
  height: 100%;
}

.hero.img.right,
.hero .img.right {
  background-position: right 50%;
}

.hero.img.left,
.hero .img.left {
  background-position: left 50%;
}

.hero .last {
  align-self: flex-end;
  margin-bottom: 32px;
}

/*!
  test-ZABs – for testing only
*/
.zab-to-percent h1 {
  line-height: 113%;
}

.zab-to-percent h2 {
  line-height: 117%;
}

.zab-to-percent h3 {
  line-height: 125%;
}

.zab-to-percent .subline,
.zab-to-percent h4,
.zab-to-percent h6 {
  line-height: 134%;
}

.zab-to-percent h5 {
  line-height: 150%;
}

.zab-to-em h1 {
  line-height: 1.125em;
}

.zab-to-em h2 {
  line-height: 1.166667em;
}

.zab-to-em h3 {
  line-height: 1.25em;
}

.zab-to-em .subline,
.zab-to-em h4,
.zab-to-em h6 {
  line-height: 1.33334em;
}

.zab-to-em h5 {
  line-height: 1.5em;
}

/*!
  off-canvas-fake -------------------------------------------------
*/
.off-canvas {
  display: block;
  position: fixed;
  top: 0;
  right: 0;
  width: 24rem;
  height: 100vh;
  padding: 48px 56px 24px;
  background-color: hsla(0, 0%, 100%, 0.97);
  z-index: 1;
  overflow-y: scroll;
  background-repeat: repeat-y;
  background-image: linear-gradient(
    270deg,
    transparent 83%,
    rgba(0, 0, 0, 0.03) 97%,
    rgba(0, 0, 0, 0.1) 98.7%,
    rgba(0, 0, 0, 0.4)
  );
  -webkit-backface-visibility: hidden;
}

.off-canvas-menu > h4 {
  margin-top: 40px;
  padding-top: 16px;
  border-top: 1px solid var(--grau);
  color: var(--grau-dark);
}

.off-canvas-menu > li {
  list-style: none;
  margin-left: 0;
  font-size: 16px;
}

.off-canvas-menu > .accordion-title {
  margin-left: -0.8rem;
  padding: 0.4rem 1rem;
  color: var(--black);
  cursor: pointer;
  font-weight: 400;
}

.off-canvas-menu > .accordion-title:hover {
  background-color: var(--grau-ultra);
}

.off-canvas-menu > .accordion-title.active {
  color: var(--blau);
}

.off-canvas-menu a {
  color: var(--grau-medium);
}

.off-canvas-menu a:not(.link) {
  position: relative;
  display: block;
  padding: 0.4rem 1rem;
  width: 100%;
}

.off-canvas-menu a:not(.link):hover {
  background-color: var(--grau-ultra);
  color: var(--blau);
}

.off-canvas-menu a:not(.link):hover:before {
  content: " ";
  position: absolute;
  width: 22px;
  height: 22px;
  top: 5px;
  left: -48px;
  background-repeat: no-repeat;
  -webkit-backface-visibility: hidden;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' width='24' height='24'><polyline stroke='var(--blau)' stroke-width='3' fill='none' points='54 41 32 23 10 41' transform='translate(0, 64) rotate(-90)' x='0' y='0' width='100%' height='100%'/></svg>");
}

.off-canvas > .close {
  position: absolute;
  top: 0;
  right: 24px;
}

.off-canvas-menu > h5 {
  margin-top: 40px;
  margin-bottom: 16px;
}

.off-canvas-menu > h5 a:hover {
  color: var(--blau-hover);
}

/*!
  tabs-fake -------------------------------------------------------
*/
.tabs > ul {
  position: relative;
  margin-bottom: 0.13rem;
}

.tabs > ul li {
  list-style: none;
  margin-left: 0;
  margin-right: 0.13rem;
  float: left;
}

.tabs > ul li a {
  display: inline-block;
  width: 240px;
  height: 48px;
  padding: 0.75rem 16px;
  vertical-align: middle;
  border-radius: 2px 2px 0 0;
  background-color: var(--grau-medium);
  color: var(--white);
}

.tabs > ul li a:hover {
  background-color: var(--grau-dark);
}

.tabs > ul li a.active {
  background-color: var(--blau);
}

.tabs > ul .marker {
  position: absolute;
  width: 30px;
  height: 30px;
  top: 2.343rem;
  left: 275px;
  z-index: 2;
}

/*!
  accordion-fake --------------------------------------------------
*/
.accordion > div {
  height: 48px;
  padding: 0.75rem 16px;
  margin-bottom: 0.13rem;
  vertical-align: middle;
  background-color: var(--grau-ultra);
  cursor: pointer;
}

.accordion > div:hover:not(.active) {
  background-color: var(--grau);
  color: var(--grau-dark);
}

.accordion > div.active {
  height: auto;
}

.accordion > div.active p,
.accordion > div.active ul {
  padding-left: 24px;
}

.accordion > div svg {
  margin-right: 0.5rem;
}

