.accordion {
  padding: 20px 0;
  border-bottom: 1px solid $gray;

  &__header {
    color: $blue;
    cursor: pointer;
    margin-bottom: 0;
    padding-left: 34px;
    position: relative;
  }

  &__content {
    padding: 20px 15px 5px;
  }

  &__header-icon {
    left: 0;
    position: absolute;
    top: 0;
    font-size: 1rem;
  }

  &_collapsed {
    & > .accordion__header {
      & > .accordion__header-icon {
        & > .fa-angle-up {
          transform: rotate(180deg);
        }
      }
    }
  }

  &--fulfilment {
    border: 0;
    padding: 0;
    margin-bottom: 15px;

    & .accordion {
      &__header {
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        padding: 15px 30px 15px 15px;
        border: 1px solid $gray;
        border-radius: 3px;
        word-wrap: break-word;

        &-icon {
          position: static;
          color: $warm-grey;
          margin-right: 15px;
        }

        &-text {
          @include normal-text;
          max-width: 75%;
          color: $gray-dark;
        }

        &::after {
          color: $blue;
          content: '-';
          position: absolute;
          top: 50%;
          right: 15px;
          transform: translateY(-50%);
          font-size: 3rem;

          .accordion_collapsed & {
            content: '+';
            font-size: 1.77rem;
          }
        }

        &:hover {
          border-color: $gray-dark;

          &::after {
            color: $gray-dark;
          }
        }
      }

      &__content {
        border: 1px solid $gray;
        border-radius: 3px;

        &-inner {
          font-size: 0.875rem;
          font-weight: 500;
          line-height: 18px;
        }
      }
    }

    &.accordion_collapsed {
      & .accordion {
        &__header {
          &::after {
            content: '+';
            font-size: 1.77rem;
          }
        }
      }
    }
  }
}

@include media-breakpoint-up(md) {
  .accordion {
    &--fulfilment {
      & .accordion {
        &__content {
          padding: 20px 40px 5px;
        }
      }

      &.accordion_collapsed {
        & .accordion {
          &__header {
            &::after {
              font-size: 1.77rem;
            }
          }
        }
      }

      &:not(.accordion_collapsed) {
        & .accordion {
          &__header {
            &::after {
              font-size: 3.57rem;
              font-weight: 400;
              line-height: 19px;
            }
          }
        }
      }
    }
  }
}

.hidden-state {
  display: none;
}
