.o-footer {
  text-align: initial;

  color: $color-prim-white;
  background-color: $color-ocean-blue;

  border-top: 1px solid rgba($color-prim-white, 0.25);

  @media (min-width: $breakpoint-xs) {
    padding: 40px 0;
  }

  @media (min-width: $breakpoint-md) {
    padding: 50px 0;

    h2 {
      color: $color-prim-white !important;
    }
  }

  &__content {
    @media (min-width: $breakpoint-xs) {
      display: grid;
      grid-template-areas:
        'links'
        'social';

      // IE11 workaround
      display: -ms-grid;
      -ms-grid-columns: 1fr;
    }

    @media (min-width: $breakpoint-md) {
      grid-template-areas: 'links social';

      // IE11 workaround
      display: -ms-grid;
      -ms-grid-columns: 1fr 1fr;
    }
  }

  &__collection {
    @media (min-width: $breakpoint-xs) {
      display: flex;
      grid-area: links;
    }
  }

  &__title {
    @include text(t4);
    margin: 0;
  }

  &__social-media {
    @media (min-width: $breakpoint-xs) {
      grid-area: social;
    }

    &-title {
      @include text(t4);

      text-transform: uppercase;
      line-height: 1.5;
    }

    &-list {
      margin: 0;
      text-indent: 0;
      list-style-type: none;
      display: flex;
      flex-wrap: wrap;
      padding: 15px 20px;

      li {
        margin-right: 10px;

        &:last-child {
          margin-right: 0;
        }
      }

      @media (min-width: $breakpoint-xs) {
        text-indent: 0;
        list-style-type: none;
        padding-top: 15px;

        display: flex;
        flex-wrap: wrap;

        margin-left: -10px;

        a {
          display: block;
          padding: 10px 10px 0 10px;
          margin-right: 10px;
        }

        a:first-of-type {
          padding: 10px 10px 0 0;
        }
      }

      @media (min-width: $breakpoint-md) {
        padding: 10px 0;
      }
    }
  }

  &__accordion-button {
    @include text(t4);
    display: flex;
    justify-content: space-between;
    color: $color-prim-white;
    background-color: $color-ocean-blue;
    padding: 20px 30px;
    width: 100%;
    text-align: left;

    border: none;
    outline: 0;

    border-bottom: 1px solid $color-ocean-blue-dark;
    text-transform: uppercase;

    svg {
      width: 10px;
      height: 10px;
      transform: scale(2);
      color: $color-prim-white;
    }

    &-caret {
      transition: transform 0.2s ease-in-out;
      transform: rotate(180deg);

      &--open {
        transform: rotate(0deg);
      }

      @media (min-width: $breakpoint-xs) {
        display: none;
      }
    }

    @media (min-width: $breakpoint-xs) {
      padding: 0;
      background-color: transparent;
      border: 0 solid transparent;

      // remove button behaviour on desktop
      pointer-events: none;
    }
  }

  &__main {
    @media (min-width: $breakpoint-xs) {
      margin: 0 10px;
    }

    &:first-child {
      margin-left: 0;
    }

    &-content-panel {
      margin: 0;
      text-indent: 0;
      list-style-type: none;
      padding: 0;

      max-height: 0;
      transition: max-height 0.2s ease-out;

      overflow: hidden;
      background-color: $color-ocean-blue-dark;

      &-list-item {
        @include text(t4);

        padding: 0;
        border-bottom: 1px solid $color-ocean-blue;

        color: $color-prim-white;

        &:last-child {
          border-bottom: none;
        }

        @media (min-width: $breakpoint-xs) {
          @include text(t4);

          width: 165px;
          margin-top: 8px;
          padding: 5px 0;

          line-height: 1.21;
        }
      }

      @media (min-width: $breakpoint-xs) {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        padding-top: 10px;
        width: 330px;

        background-color: unset;
        max-height: unset;

        &--short {
          width: 165px;
        }
      }
    }
  }
}
