@media only screen and (min-width: 992px) {
  @supports (grid-area: auto){
    .people-wrapper{
      display: grid;
      grid-template-columns: minmax(auto,3fr) minmax( 900px, 14fr) minmax(auto,3fr);
      grid-template-areas: " . people .";
    }
  }
  @media only screen and (min-width: 2080px){
    .people-wrapper{
      grid-template-columns: auto 1456px auto;
    }
  }
  @supports not (grid-area: auto){
    .people-wrapper{
      max-width: 992px;
    }
  }
  @media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
    .people-wrapper{
      max-width: 992px;
    }
  }
}
.office-banner{
  display: flex;
  flex-direction: column;
}
.office-selector{
  border-radius: 32px;
  border: 1px solid #3E8CAE;
  color: #3E8CAE;
  cursor: pointer;
  text-align: center;
  list-style: none;
  padding: 12.5px;
  margin: 0 12.5px;
  width: 90px;
  cursor: pointer;
}
.office-selector:hover {
  background-color: #3E8CAE;
  color: #FFFFFF;
  border-color: #3E8CAE;
}
.office-selector:first-child{
  margin-left: 0;
}
.office-selector:last-child{
  margin-right: 0;
}
.office-selector.active{
  background-color: #3E8CAE;
  color: #FFFFFF;
  border-color: #3E8CAE;
}
.office-list{
  display: flex;
  padding:0;
}

.people {
  grid-area: people;
}
.card .info a.align-image{
  width: 100%;
}
.card .info a.align-image span{
  display:flex;
  width: 100%;
  justify-content: center;
  text-align: left;
}
.card .info a.align-image img{
  margin: 0 5px;
  margin-right: 15px;
}

.people ul{
  display: flex;
  flex-wrap: wrap;
  padding:0;
  margin: 0;
}

.card {
  list-style: none;
  display:flex;
  flex-direction: column;
  background-color: #3E8CAE;;
  color: #ffffff;
  border-radius: 5px;
  filter: drop-shadow(0px 0px 10px rgba(0, 0, 0, 0.15));
  text-align: center;
  width: 100%;
}
.card_item{
  flex:1;
  display: flex;
  padding: 12.5px;
  width: 100%;
  box-sizing: border-box;
  min-height: 45px;
}
.card_item_info{
  flex-direction: column;
}
.card_item_info > *{
  padding: 0;
  margin: 0;
}
.card_item_info p {
  font-size: 0.71rem;
  text-align: left;
}
.card_item_info h1 {
  font-size: 0.91rem;
  text-align: left;
}
.card_image{
  width: 100%;
  position: relative;
}
.card_image:before{
  content: "";
  display: block;
  padding-top: 100%;
}
.card img {
  position: absolute;
  bottom:0;
  left:0;
  width: 100%;
  height: auto;
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
}
.card .mail{
  background: url(../img/mail-blue.svg) no-repeat 0 center / 2rem 2rem;
  overflow: hidden;
  text-indent: -9999px;
}
.card_icon {
  width: 2rem;
  height: 2rem;
}
.card .phone{
  background: url(../img/phone-blue.svg) no-repeat 0 center / 2rem 2rem;
  margin-right: 0.5rem;
  overflow: hidden;
  text-indent: -9999px;
}

.card .info {
  display: flex;
  padding: 0;
  flex-direction: column;
  justify-content: center;
  align-content: center;
  align-items: center;
  position: relative;
}
.card .triangle {
  position: absolute;
  bottom: -20px;
  left:0;
  width: 100%;
  height: 40px;
  background-color: #3E8CAE;
  clip-path: polygon(0 50%, 100% 0, 100% 100%, 0 100%);
  -webkit-clip-path: polygon(0 50%, 100% 0, 100% 100%, 0 100%);
}

.card-container{
  display: flex;
  box-sizing: border-box;
}
span:target + .card {
  border: 5px solid #3E8CAE;
}
@media only screen and (min-width: 992px) {
  .card-container {
    flex-basis: 33.33%;
    max-width: 33.33%;
    padding: 12.5px;
  }
}
@media only screen and (min-width: 1600px) {
  .card-container {
    flex-basis: 25%;
    max-width: 25%;
    padding: 12.5px;
  }
  @supports not (grid-area: auto){
    .card-container{
      flex-basis: 33.3%;
      max-width: 33.3%;
    }
  }
  @media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
    .card-container{
      flex-basis: 33.3%;
      max-width: 33.3%;
    }
  }
}
.placeholder_person_image {
  width: 100%;
  height: auto;
  padding-bottom: 100%;
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
  background-color: #FFFFFF;
}

@media only screen and (max-width: 991px) {
  .people-wrapper{
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .people ul {
    display: flex;
    justify-content: center;
    margin: 0 10%;
  }
  .card-container{
    max-width: 400px;
    width: 100%;
    padding: 12.5px;
  }
}
@media only screen and (max-width: 450px) {
  .office-selector{
    font-size: 0.85rem;
    width: 50px;
  }
}
@media only screen and (max-width: 991px) and (min-width: 768px) {
  .card-container {
    flex-basis: 50%;
    max-width: 50%;
    padding: 12.5px;
  }
}
