section.u5m-team-grid {
  padding: var(--section-padding-medium);
  margin: var(--section-margin-none);
  overflow: auto;
  position: relative;

  &:has(.intro-content) {
    .intro-content {
      margin-bottom: 50px;
    }
  }

  .widget-type-rich_text {
    text-align: center;
  }

  

  .member-wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: 0 auto;
    --cols: 3;
    --gap: 30px;
    gap: var(--gap);
    columns: var(--cols);

    &:has(.popover-container:popover-open) {
      .member {
        pointer-events: none;
      }
    }
    @media (max-width: 1024px) {
      --cols: 2;
    }

    @media (max-width: 580px) {
      --cols: 1;
      flex-direction: column;
      justify-content: center;
    }
    /* essentially the .card element CSS, broken out for customization*/
    .member {
      &.has-interactions {
        &:hover {
          border: 1px solid var(--action1);
        }
        .button-group a, .button-group button {
          &:before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
          }
        }
        button.close-btn {
          &:before {
            display:none;
          }
        }
      }
      border-radius: var(--border3);
      position: relative;
      display: flex;
      flex-direction: column;
      flex-basis: calc(100% / var(--cols) - var(--gap) / var(--cols) * (var(--cols) - 1));
      border: 1px solid var(--gray1);
      background-color: var(--white);
      transition: border-color var(--animation2);

      &[data-sal] {
        transition-property: opacity, transform, border-color;
        transition-delay: var(--sal-delay, 0s);
        transition-duration: var(--sal-duration, .2s);
        transition-timing-function: var(--sal-easing, ease);
      }

      .content {
        padding: 30px;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: space-between;
        flex-grow: 1;
        .content-upper {
          display: flex;
          flex-direction: column;
          align-items: center;
          justify-content: flex-start;
          flex-grow: 1;
          text-align: center;
          .headshot {
            margin: 0 auto 20px auto;
            width: 150px;
            height: 150px;
            border-radius: 50%;
            overflow: hidden;
            img {
              width: 100%;
              height: 100%;
              object-fit: cover;
            }
          }
          .member-name {
            display: block;
            color: var(--black);
            font-weight: bold;
            margin:0;
            line-height: 1.4;}
    
          .member-position {
            margin-top: 10px;
            color: var(--black);
            display: block;
            margin-bottom: 0;
          }
        }
        .button-group {
          margin-top: 30px;
        }
        .social-links {
          position: relative;
          z-index: 2;
          margin-top: 15px;
          display:flex;
          gap: 5px;
          a {
            display:flex;
            margin:0;
            &:before {
              display:none;
            }
            &:hover {
              svg path {
                fill: var(--action1);
              }
            }
          }
        }
      }
    }


  }

  .popover-member-bio {
    a {
      font-weight: 400;
      text-decoration: underline;
    &:after {
      display:none;
    }
    &:before {
      display:none;
    }
  }

}

