.listing-card {
  display: block;
  border-radius: (4em / 16);
  max-width: 1000px;
  margin-bottom: 24px;
  @include breakpoint(medium up) {
    margin-top: (28em / 16);
    margin-bottom: unset;
    @-moz-document url-prefix() {
      &:last-child {
        margin-bottom: 150px;
      }
    }
  }

  .edit-button {
    position: absolute;
    right: 20px;
    top: 20px;
    z-index: 9;

    .material-icons {
      font-size: 20px;
      line-height: 20px;
      color: $white;
    }
  }

  .listing-card-banner {
    display: inline-block;
    position: relative;
    width: 100%;
    height: 260px;
    border-top-left-radius: 4px;
    border-bottom-left-radius: 4px;
    background-image: url('/images/D2.png');
    background-size: cover;
    background-color: $off-white;
    vertical-align: middle;
    @include breakpoint(medium up) {
      width: 255px;
      height: 100%;
      &.host-listings {
        width: 100%;
        min-height: 260px;
      }
    }
    @include breakpoint(br-768 up) {
      width: 255px;
      border-top-right-radius: 0;
      border-bottom-right-radius: 0;
      border-bottom-left-radius: 4px;
      &.host-listings {
        width: 255px;
        min-height: 260px;
      }
    }
    @include breakpoint(large up) {
      width: 330px;
      height: 296px;
      &.host-listings {
        width: 330px;
        height: 296px
      }
    }
  }

  .listing-image-slider {
    height: 100%;

    .tns-outer {
      height: 100%;

      .tns-ovh {
        height: 100%;

        .tns-inner {
          height: 100%;

          .tns-slider {
            height: 100%;
          }
        }
      }
    }
  }

  .tns-controls {
    position: absolute;
    z-index: 1;
    bottom: 0;
    width: 100%;
  }

  .tns-nav {
    bottom: 14px;
    text-align: center;
  }

  .tns-controls {
    transition: opacity 0.3s ease;
    opacity: 1;
    bottom: 10px;

    button {
      outline: 0;
      color: white;
      position: absolute;
      bottom: 0;

      .material-icons {
        font-size: 30px;
      }
    }

    .prev {
      left: 10px;
    }

    .next {
      right: 10px;
    }
  }

  .feature-image {
    height: 100%;
    width: 100%;
    background-size: cover;
    background-position: center;
    position: relative;
    border-top-left-radius: 4px;
    border-bottom-left-radius: 4px;
  }

  &:first-child {
    margin-top: 0;
  }

  .image-container {
    display: inline-block;
    width: (330em / 16);
    height: (260em / 16);
    vertical-align: middle;
    background-color: $light-grey;
    background-size: cover;
    background-position: center;
  }

  .button-group {
    display: block;
    @include breakpoint(medium up) {
      display: block;
    }
    @include breakpoint(br-768 up) {
      margin-bottom: 0;
    }

    .hollow {
      background-color: white;

      &.mint {
        border: 1px solid $mint;
        color: $mint;

        &:hover {
          border-color: white;
          color: white;
          background-color: $mint;
        }
      }

      &.rose {
        border-color: $rose;
        color: $rose;

        &:hover {
          border-color: white;
          background-color: $rose;
          color: $white;

          .material-icons {
            color: white;
          }
        }
      }
    }

    .button {
      border-radius: 4px;
      font-size: (14em / 16);
      height: (40em / 14);
      padding: (12em / 14) (22em / 14);
      display: block;
      width: 100%;
      margin-bottom: 8px;
      @include breakpoint(large up) {
        width: unset;
        margin-right: 8px;
      }
      @media (min-width: 1440px) {
        display: inline-block;
        width: unset;
      }

      &.delete {
        font-size: (20em / 16);
        padding: 0 0 .2em 0;
        border-color: $rose;
        border-radius: (4em / 20);
        height: 2em;
        margin-top: 0;
        margin-bottom: 24px;
        float: right;
        @include breakpoint(medium up) {
          margin-top: 0;
          width: (40em / 20);
          height: (40em / 20);
          margin-bottom: 0;
          float: unset;
          position: absolute;
          right: 1rem;
        }
      }
    }

  }

  .body-container {
    height: 100%;
    position: relative;
    padding: 16px 12px;
    border-width: 0 (2em / 16) (2em / 16) (2em / 16);
    border-bottom-left-radius: 4px;
    border-bottom-right-radius: 4px;
    border-color: $light-mint;
    border-style: solid;
    vertical-align: middle;
    @include breakpoint(br-768 up) {
      padding: 16px 24px;
      border-top-right-radius: 4px;
      border-bottom-left-radius: 0;
      border-width: (2em / 16) (2em / 16) (2em / 16) 0;
    }
    @include breakpoint(large up) {
      border-width: (2em / 16) (2em / 16) (2em / 16) 0;
    }

    .tag {
      margin-bottom: 8px;
      @include breakpoint(large up) {
        margin-bottom: 12px;
      }
    }

    .title {
      margin-bottom: 8px;
    }

    .sub-title {
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
      margin-bottom: 16px;
      @include breakpoint(large up) {
        margin-bottom: 28px;
      }
    }

    .listing-card-list-item {
      font-size: (14em / 16);
      line-height: (17em / 14);
      margin-bottom: (16em / 16);
      color: $grey;
      white-space: nowrap;
      text-overflow: ellipsis;
      overflow: hidden;

      &.price {
        display: none;
        @include breakpoint(xxlarge up) {
          display: block;
        }
      }
    }

    .icon-list-item {
      display: block;
      position: relative;
      font-size: 14px;
      line-height: 17px;
      padding-left: 28px;

      &.listing {
        display: inline-block;
        margin-right: 8px;
        margin-bottom: 8px;

        @include breakpoint(large up) {
          margin-right: 16px;
          margin-bottom: 16px;
        }
      }

      .material-icons {
        position: absolute;
        font-size: 20px;
        left: 0;
        top: 50%;
        transform: translateY(-50%);
      }

      .dot {
        display: inline-block;
        vertical-align: middle;
        border-radius: 50%;
        width: (4em / 14);
        height: (4em / 14);
        overflow: hidden;
        content: '';
      }
    }
  }

  .card-label {
    font-size: (20em / 16);
    font-weight: 600;
    line-height: (24em / 20);
    position: absolute;
    right: (24em / 20);
    bottom: (24em / 20);
  }
}


.tag {
  display: inline-block;
  font-size: (9em / 16);
  font-weight: 700;
  border-radius: (13em / 9);
  letter-spacing: (0.45em / 9);
  padding: (6em / 9) (16em / 9);
  line-height: (11em / 9);
  text-transform: uppercase;
}

.title {
  font-size: 1em;
  line-height: (24em / 16);
  font-weight: 600;
}

.sub-title {
  font-size: (14em / 16);
  line-height: (21em / 14);
}

.prices-block {
  position: relative;
  margin-right: 26px;

  .expand-prices {
    position: absolute;
    right: 0;
    top: 0;
    outline: 0;
  }

  .prices-block-expanded {
    position: absolute;
    top: 26px;
    left: -16px;
    right: -10px;
    z-index: 1;
    background: white;
    padding: 16px 10px 0px 16px;

    .listing-card-list-item {
      margin-bottom: 18px;
    }
  }
}

.deactivate-button {
  padding: 0 16px;
  margin-top: 16px !important;
  @include breakpoint(medium up) {
    margin-top: unset !important;
    float: right;
  }
}