.destination-card-container {
  display: flex;
  flex-wrap: wrap-reverse;

  &:not(.ab-no-price) {
    .no-of-location {
      display: none;

      @include breakpoint(sm) {
        display: inline;
      }
    }
  }

  .content-cards-list {
    margin: 0;
  }

  .destination-card {
    margin: $margin-half;

    @media only screen and (min-width: 499px) {
      flex: 0 calc(50% - #{$margin-normal});
      flex-direction: column;
    }

    @include breakpoint(sm) {
      flex: 0 calc(20% - #{$margin-normal});
    }

    &:last-child {
      margin-right: $margin-half;
      margin-bottom: $margin-half;
    }

    &__info--large {
      display: none;
      flex-direction: row;
      align-items: flex-end;
      position: absolute;
      right: $margin-enterprise;
      bottom: $margin-enterprise;

      > * {/* stylelint-disable max-nesting-depth */
        @include breakpoint(sm) {
          margin-right: 0;
        }
      }

      @include breakpoint(sm) {
        display: flex;
        flex-direction: column;
        right: $margin-normal;
        bottom: $margin-normal;
      }
    }
  }

  &.multi-line {
    .destination-card {
      @include breakpoint(sm) {
        flex-basis: calc(33.33333% - #{$margin-normal});
      }

      &__info--small {
        @include breakpoint(sm) {
          display: flex;
        }

        span:last-child {
          @include breakpoint(lg) {
            display: inline;
          }
        }
      }

      &__info--large {
        @include breakpoint(sm) {
          display: none;
        }
      }
    }
  }

  &.cols-odd {
    .destination-card {
      @media only screen and (min-width: 499px) {
        flex: 1 calc(33.33333% - #{$margin-double});
        flex-direction: column;
      }
    }
  }

  &.cols-even {
    .destination-card {
      @include breakpoint(sm) {
        flex: 1 calc(25% - #{$margin-double});
      }
    }

    .price-text {
      margin-left: auto;
    }

    @include breakpoint(lg) {
      .price-text {
        margin-left: $margin-half;
      }
    }
  }/* stylelint-enable */

  @media only screen and (min-width: 499px) {
    flex-direction: row;
  }
}

.destination-card {
  flex: 1;
  position: relative;
  background: $color-white;
  border-radius: $margin-normal;
  overflow: hidden;
  min-width: 145px;

  .content {
    position: relative;
    width: 100%;
  }

  .image-container {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: stretch;

    .ratio-fixed {
      display: block;
      overflow: hidden;
      position: relative;
      width: 100%;
      height: 100%;
    }
  }

  .price-text {
    font-size: 14px;
    font-weight: bold;
    color: $color-red-400;
    margin-right: 0;

    @include breakpoint(sm) {
      font-size: $margin-enterprise;
    }
  }

  .offer-text-from {
    display: none;
    margin-left: auto;
    font-size: 1.4rem;
    margin-right: 0;
  }

  .offer-text-fr {
    display: inline;
    font-size: 14px;
    margin-right: 0;
  }

  @include breakpoint(lg) {
    .offer-text-from {
      display: inline;
    }

    .offer-text-fr {
      display: none;
    }
  }

  .image-fade {
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    background-image: linear-gradient(to bottom, rgba($text-color, 0) 50%, rgba($text-color, .8) 90%);
  }

  &__body {
    padding: $margin-enterprise;
    padding: 100px $margin-normal $margin-normal;
    width: 100%;
    height: 100%;
    color: $color-white;
    display: flex;
    align-items: center;
    position: relative;
    top: 0;
    left: 0;
    z-index: 3;

    @include breakpoint(sm) {
      padding: 140px $margin-normal $margin-normal;
    }
  }

  .no-of-location,
  .no-of-hotels {
    font-size: 14px;
    margin-right: $margin-normal;
    font-weight: bold;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;

    @include breakpoint(sm) {
      margin-right: 0;
      font-size: $margin-enterprise;
    }

    @include breakpoint(lg) {
      margin-right: $margin-normal;
    }

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

  &__info--large {
    display: none;
    flex-direction: row;
    align-items: flex-end;
    position: absolute;
    right: $margin-enterprise;
    bottom: $margin-enterprise;

    @include breakpoint(sm) {
      display: flex;
    }
  }

  &__info--small {
    width: 100%;
    display: flex;
    background-color: $color-white;
    padding: $margin-normal;
    z-index: 4;
    align-items: center;
    justify-content: space-between;

    @include breakpoint(sm) {
      display: none;
      // justify-content: flex-start;
    }
  }

  .flag-icon {
    flex-shrink: 0;
    margin-right: $margin-normal;
    width: 24px;
    height: 24px;

    svg {
      width: 100%;
      height: 100%;
    }

    @include breakpoint(sm) {
      width: 32px;
      height: 32px;
    }
  }

  .body {
    flex: 1;
    overflow: hidden;
    display: flex;
    flex-direction: column;

    &__text,
    &__name {
      font-weight: bold;
      display: block;
      margin-bottom: 0;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }

    &__text {
      font-style: italic;
      font-size: $margin-normal;
    }
  }

  .loading-image {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    width: 100%;
  }
}
