/**
 * @file
 * Accordion.
 */

.accordion {
  margin-bottom: 1rem;
}

.accordion__summary {
  display: flex;
  align-items: center;
  list-style: none;
  cursor: pointer;
}

.accordion__summary::-webkit-details-marker {
  display: none;
}

.accordion__summary::after {
  flex-shrink: 0;
  width: 1.5rem;
  height: 1.5rem;
  margin-left: auto;
  content: "";
  background-image: url(../../images/arrow-down.svg);
  background-repeat: no-repeat;
  transition: transform 0.2s ease-in-out;
}

.accordion[open] > .accordion__summary::after {
  transform: rotate(-180deg);
}

.accordion__summary:focus-visible {
  outline: 3px solid var(--imtm-color-blue);
  outline-offset: -3px;
}

/* Box: gray header bar; blue underline when open. */
.accordion--box > .accordion__summary {
  padding: 1rem 1rem 0.8rem;
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--imtm-color-text);
  background-color: var(--imtm-color-surface);
  border-bottom: 4px solid var(--imtm-color-surface);
}

.accordion--box[open] > .accordion__summary {
  border-bottom-color: var(--imtm-color-blue);
}

.accordion--box > .accordion__content {
  padding: 1rem 0 1.5rem;
}

.accordion--box > .accordion__content--flush {
  padding-bottom: 0;
}

.accordion__content--filled > * {
  padding: 1rem;
  background-color: var(--imtm-color-surface);
}

/* Tab: large shadowed tile (technologies). */
.accordion--tab {
  margin-bottom: 1.5rem;
}

.accordion--tab[open] > .accordion__summary {
  margin-bottom: 1.5rem;
}

.accordion--tab > .accordion__summary {
  padding: 2.25rem 1.625rem;
  font-size: 1.4rem;
  font-weight: 700;
  color: var(--imtm-color-text);
  background-color: var(--imtm-color-white);
  box-shadow: var(--imtm-shadow-tile);
  transition: box-shadow 0.25s ease;
}

.accordion--tab > .accordion__summary:hover {
  box-shadow: var(--imtm-shadow-tile-hover);
}

/* Positions: light blue bar with a count. */
.accordion--positions {
  margin-bottom: 0.5rem;
}

.accordion--positions > .accordion__summary {
  padding: 1rem 1.25rem;
  line-height: var(--imtm-line-height-heading);
  background-color: var(--imtm-color-blue-light);
}

.accordion--positions[open] > .accordion__summary {
  box-shadow: inset 0 -4px 0 var(--imtm-color-blue-accent);
}

.accordion--positions > .accordion__summary::after {
  width: 1.25rem;
  height: 1.25rem;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
  background-size: 1.25rem;
}

.accordion--positions[open] > .accordion__summary::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%230c63e4'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
}

.accordion__count {
  width: 1.5rem;
  font-size: 1.5rem;
  font-weight: 700;
  color: #65c6dd;
}

.accordion--positions .accordion__title {
  padding-left: 1rem;
  font-weight: 700;
  color: var(--imtm-color-darkblue);
  text-align: left;
}
