bb-journey-location-row {

  .location-row {

    border-bottom: border(1);
    padding: spacing(20);
    width: 100%;

    &__active {
      border: border(2, $studio-cyan-blue);
    }

    &__visible-details {
      @include flex-row;
      flex-basis: 100%;
      justify-content: space-between;
    }

    &__other-details {
      padding-left: 27px;
    }

    &__distance {
      color: $studio-raven-pale-gray;
      font-size: 15px;
      margin: 0;
    }

    &__address > p {
      color: $studio-raven-pale-gray;
    }

    &__name,
    &__address > p {
      font: {
        size: 15px;
      }

      margin: 0;
    }

    &__select {
      padding-left: 27px;
    }

    &__radio-button {
      position: relative;
      left: -23px;
      top: -1px;

      &:before {
        content: "";

        position: absolute;
        left: -5px;
        top: 0;
        height: 20px;
        width: 20px;

        border: border(1);
        border-radius: 50%;
      }

      &:after {
        content: "";

        opacity: 0;
        position: absolute;
        left: 2px;
        top: 7px;

        border: 3px solid #FFF;
        border-radius: 50%;

        transition: opacity 0.2s ease-in-out;
      }
    }

    &__radio-input {
      opacity: 0;
      display: inline-block;

      position: absolute;
      left: 0;
      top: 0;
      width: spacing(40);
      height: spacing(40);
      margin-top: spacing(3);

      &:checked + .location-row__radio-button {
        &:before {
          background-color: $studio-cyan-blue;
          border-color: $studio-cyan-blue;
        }

        &:after {
          opacity: 1;
        }
      }

      &:checked ~ .location-row__details {
        .location-row__name {
          color: $bb-dark-gray;
        }
      }

      &:focus + .location-row__radio-button {
        &:before {
          @include outline;
        }
      }
    }

    &__name {
      font-weight: 600;

      padding: {
        top: spacing(1);
      }
    }

    &__address {
      @include column-flex-container;

      padding-top: spacing(8);
    }

    &__opening-hours {
      color: $studio-cyan-blue;
      cursor: pointer;
      font-size: 15px;
      padding-top: spacing(5);
    }

    &__description {

      &--present {
        padding-bottom: spacing(8);
      }
    }
  }
}