.accordion-item {
  border-radius: 3px;
  transition: all 0.3s;
  font-family: var(--ifx-font-family);
}

.accordion-title:focus {
  outline: none;
}

.accordion-title:focus::after {
  content: "";
  display: block;
  position: absolute;
  top: -4px;
  bottom: -4px;
  left: -4px;
  right: -4px;
  border-radius: 5px;
  border: 2px solid #0a8276;
  box-sizing: border-box;
}

.accordion-title:hover {
  border: 1px solid #eeeded;
  color: #08665c;
}

.accordion-title {
  display: flex;
  align-items: center;
  position: relative;
  padding: 12px 16px;
  gap: 12px;
  color: #0a8276;
  background-color: #ffffff;
  border: 1px solid #eeeded;
  cursor: pointer;
  margin: 4px;
}

.accordion-caption {
  font-weight: 600;
  font-size: 1.125rem;
}

.accordion-content {
  gap: 8px;
  overflow: hidden;
  height: 0;
  transition: height 0.3s ease;
  line-height: 24px;
  font-size: 1rem;
  font-weight: 400;
}

.inner-content {
  background-color: #ffffff;
  padding: 16px;
  word-wrap: break-word;
  overflow-wrap: anywhere;
  align-self: stretch;
  margin: 0 4px 4px;
  border: 1px solid transparent;
  border-top: 1px solid transparent;
}

.accordion-icon {
  font-weight: bold;
  display: flex;
  transition: transform 0.3s;
}
.accordion-icon:hover {
  color: #08665c;
}

.accordion-item.open .accordion-content {
  max-height: auto;
}

.accordion-item.open .accordion-icon {
  transform: rotate(-180deg);
}

.accordion-item.open .inner-content {
  border-color: #eeeded;
  border-top-color: transparent;
  transition: border-color 0s;
}

.accordion-item:not(.open) .inner-content {
  transition: border-color 0s 0.3s;
}

.inner-content.no-content {
  border: none;
  padding: 0;
  margin: 0;
}

.accordion-icon .with-icon {
  justify-content: flex-end;
  align-items: center;
}

.no-icon {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-direction: row;
}

.icon-wrapper {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-direction: row-reverse;
  width: 100%;
  gap: 12px;
  justify-content: space-between;
}

.icon-wrapper-caption {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 12px;
}