.groups-header {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 1em;
  .groups-header-new {
    order: 2;
    margin-bottom: 0.5em;
  }
}

.groups-header-filters {
  display: flex;
  flex-wrap: wrap;

  .groups-header-filters-name,
  .groups-header-filters-type {
    margin-right: 5px;
    margin-bottom: 0.5em;
  }

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

.groups-boxes {
  margin: 1em 0;
  width: 100%;
  @supports (display: grid) {
    display: grid;
    grid-template-columns: repeat(4, 24%);
    grid-column-gap: 1.333%;
    grid-row-gap: 1em;
    @include breakpoint("tablet") {
      grid-template-columns: repeat(3, 32%);
      grid-column-gap: 2%;
    }
    @include breakpoint("mobile-large") {
      grid-template-columns: 100%;
    }
  }

  .group-box {
    @include breakpoint("mobile-large") {
      margin: 0;
    }
    display: flex;
    box-sizing: border-box;
    cursor: pointer;
    border: 1px solid $primary-low;
    color: $primary;
    .discourse-no-touch & {
      transition: all 0.25s;
      &:hover {
        box-shadow: shadow("card");
      }
    }
    .group-membership {
      color: $primary-medium;
      margin-top: auto;
      padding-top: 1em;
      .is-group-owner,
      .is-group-member {
        color: $success;
      }
    }
    .group-box-inner {
      padding: 1em;
      width: 100%;
      display: flex;
      flex-direction: column;
      box-sizing: border-box;
      .group-info-wrapper {
        display: flex;
        overflow: hidden;
        flex: 0 1 auto;
        .group-avatar-flair {
          margin-top: 0.2em;
          margin-right: 8px;
          flex: 0 0 auto;
        }
        .group-info {
          flex: 1 0 auto;
          margin-bottom: 1em;
          width: 70%;

          span {
            width: 100%;
            word-break: break-word;
            line-height: $line-height-medium;
          }
        }
      }
      .group-user-count {
        display: flex;
        align-items: center;
        color: $primary-high;
        .d-icon {
          margin-right: 0.25em;
          font-size: 0.8em;
          color: $primary-medium;
        }
      }
      .group-description {
        color: $primary-high;
        word-wrap: break-word;
      }
    }

    .groups-info-name {
      font-size: $font-up-1;
      font-weight: bold;
      color: $primary;
    }

    $size: 40px;
    $icon-size: $size / 1.8;

    .group-avatar-flair {
      display: inline-block;
      color: $primary;

      .avatar-flair {
        background-size: $size;
        height: $size;
        width: $size;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        background-repeat: no-repeat;

        .d-icon {
          height: $icon-size;
          width: $icon-size;
        }
      }
    }
    .avatar-flair-image {
      width: $size;
    }
  }
}
