/* Tabs */
.frame-type-tabs > .tabs__nav {
  gap: 0;
}

.tabs__button {
  min-width: 0;
  padding: 0.1em 0.5em;
  font-size: 110%;
  font-weight: var(--f-weight-n);
  line-height: 1.5;
  text-transform: uppercase;
  color: rgb(var(--c-primary-dark));
  background: transparent;
  border: none;
  border-radius: 0;
  box-shadow: inset 0 -1px 0 0 rgb(var(--c-neutral-darkest));
}

.tabs__button.-active {
  color: rgb(var(--c-primary));
  background: transparent;
  box-shadow: inset 0 -1px 0 0 rgb(var(--c-primary));
}

.frame-type-tabs:not(.-itempadding) > .tabs__content {
  margin-top: 2em;
}

@media (hover: hover) {
  .tabs__button:hover {
    color: rgb(var(--c-primary));
    background: transparent;
    box-shadow: inset 0 -1px 0 0 rgb(var(--c-primary));
  }
}

/* Tabs on subpages: list on the left, content on the right */
.page.-sub .tabs__nav {
  border-top: 1px solid rgb(var(--c-neutral-light));
  background: rgb(var(--c-neutral-lighter));
}

.page.-sub .tabs__button {
  width: 100%;
  padding: 0.4em 0.7em;
  font-size: 100%;
  font-weight: var(--f-weight-sb);
  text-align: left;
  border-bottom: 1px solid rgb(var(--c-neutral-light));
  border-left: 3px solid rgb(var(--c-neutral-light));
  box-shadow: none;
}

.page.-sub .tabs__button.-active {
  background: rgb(var(--c-neutral-lightest));
  border-left-color: rgb(var(--c-primary));
}

.page.-sub .frame-type-tabs > .tabs__content {
  margin-top: 0;
  padding: 0.5em;
  border: 1px solid rgb(var(--c-neutral-light));
}

@media (hover: hover) {
  .page.-sub .tabs__button:hover {
    background: rgb(var(--c-neutral-lightest));
    border-left-color: rgb(var(--c-primary));
    box-shadow: none;
  }
}

/* Accordion vertical */
.accordion.-vertical .accordion__item:not(:first-child) .accordion__header {
  margin-top: 0;
}

.accordion.-vertical .accordion__item,
.frame-bg-grey .accordion.-vertical .accordion__item {
  background: transparent;
  border-radius: 0;
}

.accordion.-vertical .accordion__header {
  margin-bottom: 3px;
}

.accordion.-vertical .accordion__button {
  padding: 10px 20px 10px 2.2em;
  font-size: 110%;
  font-weight: var(--f-weight-n);
  line-height: 1.2;
  text-transform: uppercase;
  color: rgb(var(--c-neutral-darkest));
  background: rgb(var(--c-neutral-lighter));
  border-radius: 0;
}

.accordion.-vertical .accordion__header.-active .accordion__button {
  color: rgb(var(--c-neutral-lightest));
  background: rgb(var(--c-primary));
}

.accordion.-vertical .accordion__header::after {
  right: 16px;
  font-size: 16px;
  color: rgb(var(--c-neutral-darkest));
}

.accordion.-vertical .accordion__header.-active::after {
  color: rgb(var(--c-neutral-lightest));
}

.accordion.-vertical .accordion__content {
  margin-bottom: 3px;
  padding: 48px 16px;
  background: rgb(var(--c-neutral-lightest));
  border: 1px solid rgb(var(--c-neutral-light));
}

@media (hover: hover) {
  .accordion.-vertical .accordion__header:hover .accordion__button {
    color: rgb(var(--c-neutral-lightest));
    background: rgb(var(--c-primary));
  }

  .accordion.-vertical .accordion__header:hover::after {
    color: rgb(var(--c-neutral-lightest));
  }
}

/* Accordion horizontal */
.accordion.-horizontal .accordion__content {
  padding: 2rem;
}

.accordion.-horizontal .accordion__headertext {
  font-size: var(--f-size-l-3);
  font-weight: var(--f-weight-sb);
}

.accordion.-horizontal .accordion__button {
  background-color: rgb(var(--c-primary));
  color: rgb(var(--c-neutral-lightest));
}

.accordion.-horizontal .accordion__button {
  background: transparent;
  color: rgb(var(--c-primary));
  border: 2px solid rgb(var(--c-primary));
  font-weight: var(--f-weight-sb);
}

.accordion.-horizontal .accordion__buttontext {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: 1.5rem 2rem;
  width: 100%;
  height: 100%;
  hyphens: none;
}

.accordion.-horizontal .accordion__header.-active + .accordion__content {
  background: rgb(var(--c-primary));
  color: rgb(var(--c-neutral-lightest));
  border-radius: var(--b-radius-s);
  overflow: hidden;
}

.accordion.-horizontal .accordion__header.-active + .accordion__content h2,
.accordion.-horizontal .accordion__header.-active + .accordion__content h3,
.accordion.-horizontal .accordion__header.-active + .accordion__content h4,
.accordion.-horizontal .accordion__header.-active + .accordion__content a {
  color: rgb(var(--c-neutral-lightest));
}

/* Container hide/show mobile */
.hidemobile {
  display: none;
}

/* Container grey white */
.frame-type-container-greywhite,
.frame-type-container-whitegrey {
  position: relative;
  z-index: 0;
  background: rgb(var(--c-neutral-lightest));
  border-bottom: 2px solid rgb(var(--c-neutral-lightest));
}

.frame .greyleft,
.frame .greyright {
  display: none;
  grid-column: 1 / -1;
  position: absolute;
  top: 0;
  z-index: -1;
  width: 50%;
  height: 100%;
  background: rgb(var(--c-neutral-lighter));
}

.greyleft {
  left: 0;
}

.greyright {
  right: 0;
}

.frame-type-container-greywhite > .page_margins,
.frame-type-container-whitegrey > .page_margins {
  grid-column: 1 / -1;
}

/* Mobile course information below the header: same side margins as the content */
.platzinfomobil .frame-type-container-greywhite > .page_margins,
.platzinfomobil .frame-type-container-whitegrey > .page_margins {
  grid-column: 2 / 5;
}

/* =============================================================================
   Media Queries
   ========================================================================== */

@media (min-width: 401px) {
  /* Tabs */
  .page.-sub .tabs__button {
    width: 50%;
  }

  .page.-sub .frame-type-tabs > .tabs__content {
    padding: 1em;
  }
}

@media (min-width: 641px) {
  /* Tabs */
  .tabs__button {
    font-size: 140%;
  }

  .page.-sub .tabs__button {
    width: 100%;
    font-size: 100%;
  }

  .page.-sub .frame-type-tabs {
    display: grid;
    grid-template-columns: 30% 70%;
    align-items: start;
  }

  .page.-sub .frame-type-tabs > .tabs__nav {
    grid-column: 1;
    grid-row: 1;
  }

  .page.-sub .frame-type-tabs > .tabs__content {
    grid-column: 2;
    grid-row: 1;
  }

  /* Container grey white */
  .frame .greyleft,
  .frame .greyright {
    display: block;
  }

  .frame-type-container-greywhite .grid__col.-w50:last-child,
  .frame-type-container-whitegrey .grid__col.-w50:last-child {
    padding-left: 2em;
  }
}

@media (min-width: 800px) {
  /* Accordion horizontal */
  .accordion.-horizontal .accordion__buttontext {
    padding: 2rem 0.5rem;
  }
}

@media (min-width: 801px) {
  /* Container grey white */
  .frame-type-container-greywhite > .page_margins,
  .frame-type-container-whitegrey > .page_margins {
    grid-column: 2 / 5;
  }
}

@media (min-width: 901px) {
  /* Tabs */
  .page.-sub .frame-type-tabs > .tabs__content {
    padding: 2em;
  }
}

@media (min-width: 961px) {
  /* Container hide/show mobile */
  .hidemobile {
    display: block;
  }

  .showmobile {
    display: none;
  }
}

@media (min-width: 1121px) {
  /* Container grey white */
  .frame-type-container-greywhite > .page_margins,
  .frame-type-container-whitegrey > .page_margins {
    grid-column: 3;
  }
}
