section.profile-type {
  margin: 0 auto 2em;
}

.entries.profiles {

}

.entries.profiles  .entry.profile:before,
.entries.profiles  .entry.profile:after {
  content: none;
}

.entries.profiles .entry.profile {
  margin-bottom: 0;
}

.entries.profiles .entry.profile.has-image .entry-side {
  text-align: center;
}

.tax-profile-type .entry.profile .entry-image-link {
  position: relative;
  display: inline-block;
  margin: 0 auto;
}

.tax-profile-type .entry.profile .entry-image {
  display: block;
  width: 100%;
  max-width: 320px;
  margin: 0 auto;
}

.tax-profile-type .entry.profile .entry-image-link .read-more {
  opacity: 0;
  position: absolute;
  bottom: 15px;
  display: inline-block;
  margin: 0 auto;
  padding: 4px 12px;
  background: rgba(0,0,0,0.75);
  color: #fff;
  transform: translateX(-50%);
  transition: opacity 0.3s ease-in-out;
}

.tax-profile-type .entry.profile .entry-image-link:hover .read-more {
  opacity: 1;
}


/* Records Layout */

.entries.profiles.display-records .entry.profile {
  padding: 20px 0;
  border-bottom: 1px solid #f1f1f1;
}

/* Grid Layout */

.entries.profiles.display-grid {
  display: grid;
  grid-template-columns: 1fr;
  grid-column-gap: 80px;
  grid-row-gap: 40px;
  justify-items: center;
  margin: 0 auto;
}

.entries.profiles.display-grid  .entry.profile {
  width: 100%;
  padding: 0;
  text-align: center;
}

.entries.profiles.display-grid .wp-post-image {
  display: block;
  width: 100%;
  max-width: 320px;
  height: auto;
  margin: 0 auto;
}

.entries.profiles.display-grid .entry-footer .entry-meta {
  padding-top: 0;
  border-top: 0;
  justify-content: center;
  margin-top: 5px;
}

.entries.profiles.display-grid .entry.profile .entry-title .meta-email a {
  color: #999;
  font-size: 18px;
  vertical-align: middle;
}

.entries.profiles.display-grid  .entry-footer {
  padding: 8px;
}

.entries.profiles.display-grid .entry-meta span {
  display: inline-block;
}


/* Grid Details Layout */

.entries.profiles.display-grid-details {
  display: grid;
  grid-template-columns: 1fr;
  justify-items: center;
  gap: 25px;
  width: 100%;
  margin: 0 auto 20px;
}
.entries.profiles.display-grid-details .entry.profile {
  width: 100%;
  max-width: 320px;
  text-align: center;
  padding: 20px;
  border: 1px solid #dedede;
  margin: 0;
}
.entries.profiles.display-grid-details .entry-main {
  text-align: center;
}
.entries.profiles.display-grid-details .wp-post-image {
  width: 100%;
  max-width: 320px;
  aspect-ratio: 3 / 4;
  object-fit: cover;
  object-position: center center;
  overflow: hidden;
  margin-bottom: 15px;
}
.entries.profiles.display-grid-details .entry-meta span {
  display: block;
}
.entries.profiles.display-grid-details .entry-meta span.meta-position {
  display: inline-block;
  margin-bottom: 8px;
}
.entries.profiles.display-grid-details .meta-organization {
  font-weight: bold;
}
.entries.profiles.display-grid-details .meta-title {
  font-weight: normal;
}
.entries.profiles.display-grid-details .meta-phone:before {
  content: '\f095\00a0';
  font-family: 'Font Awesome 6 free';
  font-weight: bold;
  color: #aaa;
}
.entries.profiles.display-grid-details .meta-email:before {
  content: '\f0e0\00a0';
  font-family: 'Font Awesome 6 free';
  color: #aaa;
}
.entries.profiles.display-grid-details .meta-email {
  font-size: 14px;
}

.single-profile .entry.profile .entry-title,
.entries.profiles .entry.profile .entry-title {
  font-family: var(--font-archive-title);
  font-size: 28px;
  line-height: 1;
  color: var(--color-archive-title);
  margin-bottom: 10px;
}

.single-profile .entry.profile .entry-title a,
.entries.profiles .entry.profile .entry-title a { 
  color: var(--color-archive-title);
}

.entry.profile .entry-side {
  margin-bottom: 15px;
}

.entry.profile .entry-image {
  margin: 0 auto;
}

.entry.profile .entry-image-link {
  display: inline-block;
}

.entry.profile .entry-rank,
.entry.profile .entry-name {
  display: block;
  /*color: var(--color-title-4);
  a {  color: var(--color-title-4); }*/
}

.entry.profile .entry-position {
  display: inline-block;
}

.entry.profile .entry-rank {
  font-family: var(--color-title);
  font-size: 16px;
  color: var(--color-title-2);
  text-transform: uppercase;
  margin-bottom: 4px;
}

.entry.profile .entry-meta {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-start;
  gap: 20px;
}

.entry.profile .entry-meta .meta-email i {
  color: #ccc;
}

.entry.profile .entry-meta .meta-position {
  background: var(--color-tag-bg);
  font-size: 16px;
  font-weight: normal;
  line-height: 1.2;
  color: var(--color-tag-text);
  text-transform: uppercase;
  padding: 4px 10px;
}

.entry.profile .entry-meta .entry-phone,
.entry.profile .entry-meta .entry-email,
.entry.profile .entry-meta .entry-twitter {
  display: block;
}

.entry.profile p {
  
}

.table-profiles,
.table-profiles tbody,
.table-profiles tr,
.table-profiles th,
.table-profiles td {
  display: block;
}

.table-profiles thead {
  display: none;
}

.table-profiles tr {
  padding: 0.75em;
}

.table-profiles th,
.table-profiles td {
  padding: 0;
}

.table-profiles td:before {
  font-weight: bold;
}

.table-profiles td:nth-child(1):before {
  content: 'Name: ';
}

.table-profiles td:nth-child(2):before {
  content: 'Position: ';
}

.table-profiles td:nth-child(3):before {
  content: 'Contact: ';
}

.single-profile .entry.profile .entry-image {
  display: block;
  max-width: 320px;
}
.single-profile .entry.profile .entry-image.alignright,
.single-profile .entry.profile .entry-image.alignleft {
  float: none;
  margin: 0 auto 1em;
}
.single-profile .entry.profile .entry-title {
  margin-bottom: 20px;
}


@media screen and ( min-width: 720px ) {

  .entries.profiles.display-grid {
    grid-template-columns: 1fr 1fr;
  }

  .single-profile .entry.profile .entry-image.alignright {
    float: right;
    margin: 0 0 20px 20px;
  }

  .single-profile .entry.profile .entry-image.alignleft {
    float: left;
    margin: 0 20px 20px 0;
  }

  /*.entries.profiles.display-grid .entry.profile {
    width: calc( 100% / 3);
  }*/

  .entries.profiles.display-records .entry.profile.has-image {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
  }

  .entries.profiles.display-records .entry.profile.has-image .entry-side {
    width: 250px;
    margin-bottom: 0;
  }

  .entries.profiles.display-records .entry.profile.has-image .entry-main {
    flex: 1;
  }

  /* Grid Details */

  .entries.profiles.display-grid-details {
    grid-template-columns: 1fr 1fr;
  }

  /*  */

  .table-profiles {
    display: table;
  }
  
  .table-profiles thead {
    display: table-header-group;
  }

  .table-profiles tbody {
    display:table-row-group;
  }

  .table-profiles tr {
    display: table-row;
    padding: 0;
  }

  .table-profiles th,
  .table-profiles td {
    display: table-cell;
    padding: 0.75em;
  }

  .table-profiles td:nth-child(1):before,
  .table-profiles td:nth-child(2):before,
  .table-profiles td:nth-child(3):before {
    content: '';
  }

}

@media screen and ( min-width: 960px ) {

  .entries.profiles.display-grid {
    grid-template-columns: 1fr 1fr 1fr;
  }

}

@media screen and ( min-width: 1400px ) {

    /* Grid Details */

    .entries.profiles.display-grid-details {
      grid-template-columns: 1fr 1fr 1fr;
    }

}

/* Show More/Less */

.show-more-excerpt {
    position: relative;
    padding-bottom: 40px;
}
.show-more-excerpt.active .excerpt-extra {
    margin: 0 0 1em;
}
.show-more-excerpt .show-more-text {
    position: absolute;
    bottom: 4px;
    margin: 0;
}
.show-more-excerpt .show-more:before,
.show-more-excerpt .show-less:before {
    display: inline-block;
    font-family: 'Font Awesome 6 Free';
    font-size: 14px;
    font-weight: bold;
    line-height: 1.2;
    background: #777;
    color: white;
    border-radius: 4px;
    padding: 2px 3px;
    margin-right: 5px;
}
.show-more-excerpt .show-more:before {
    content: '\f107';
}
.show-more-excerpt .show-less:before {
    content: '\f106';
}
.show-more-excerpt .excerpt-extra p:first-child {
    margin-top: 0;
}
.show-more-excerpt > p:not(:first-child):not(.show-more-text),
.show-more-excerpt .excerpt-extra {
    display: none;
}
.show-more-excerpt .excerpt-extra p:not(:first-child):not(.show-more-text) {
    display: block;
}