/* Staff - Grid Module */
.cms-staff-grid-wrap { padding: 4rem 0; position: relative; }
.cms-staff-grid { width: 100%; display: grid; gap: 4rem; position: relative;  }
.cms-staff-grid-wrap .staff-grid-item { width: 100%; position: relative; }
.cms-staff-grid-wrap .staff { height: 100%; width: 100%; display: grid; gap: 2.1875rem; justify-items: center; border: none; text-align: center; }
.cms-staff-grid-wrap .staff-header { max-width: 18.375rem; margin: 0 auto; }
.cms-staff-grid-wrap .staff-header .title { font-size: 1.375rem; }
.cms-staff-grid-wrap .staff-header .title:has(+ .subtitle)  { margin-bottom: 1.5625rem; }
.cms-staff-grid-wrap .staff-header .subtitle { font-size: 0.875rem; }
.cms-staff-grid-wrap .staff-link { overflow: hidden; display: block; }
.cms-staff-grid-wrap .staff-img { max-width: 100%; width: 18.375rem; height: 21.375rem; margin: 0 auto; object-fit: cover; filter: grayscale(1); transition: all ease-in-out 0.4s; }
.cms-staff-grid-wrap .staff-bdy { max-width: 37.5rem; margin: 0 auto; }
@media (min-width: 768px) {
  .cms-staff-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1025px) {
  .cms-staff-grid-wrap { padding: 6.25rem 0; }
  .cms-staff-grid { gap: 6.25rem;  }
}

.cms-staff-full { width: 100%; position: relative; }
.cms-staff-full .staff-img-wrap { width: 100%; height: 21.375rem; overflow: hidden; position: relative; }
.cms-staff-full .staff-img { width: 100%; height: 100%; -o-object-fit: cover; object-fit: cover; object-position: center 15%; position: absolute; right: 0; top: 0; bottom: 0; left: 0; filter: grayscale(1); }
.cms-staff-full .staff-info { padding: 4rem 2rem; }
.cms-staff-full .staff-header { margin-bottom: 2.1875rem; }
.cms-staff-full .staff-header .title { font-size: 1.375rem; }
.cms-staff-full .staff-header .title:has(+ .subtitle) { margin-bottom: 1.5625rem; }
.cms-staff-full .staff-header .subtitle { font-size: 0.875rem; }
@media (min-width: 768px) {
  .cms-staff-full .staff-img-wrap { height: 100%; min-height: 25rem; }
  .cms-staff-full .staff-info { padding: 4rem 3.125rem; }
}
@media (min-width: 1025px) {
  .cms-staff-full .staff-info { padding: 5rem 3.125rem; }
}

/* Staff - List Module */
.cms-staff-list-wrap { margin: 1.5rem 0; }
.cms-staff-list-wrap .cms-staff-row { margin-bottom: 3.125rem; }
.cms-staff-list-wrap [class^=col] { display: flex; margin-bottom: 1.875rem; }
.cms-staff-list-wrap .card-img-wrap { overflow: hidden; width: 100%; margin: 0 auto 1.5rem; position: relative; border-radius: 50vw; }
.cms-staff-list-wrap .card-img-link { display: block; position: relative; padding-bottom: 100%; border-radius: inherit; transition: all ease-in-out 0.4s; }
.cms-staff-list-wrap .card-img-left { width: 100%; height: 100%; object-fit: cover; position: absolute; top: 0; left: 0; z-index: 1; border-radius: inherit; }
.cms-staff-list-wrap .card-img-link:hover .card-img-left { transform: scale(1.2); }
.cms-staff-list-wrap .card { width: 100%; justify-content: center; border: none; }
.cms-staff-list-wrap .card-body { width: 100%; flex-grow: 0; border: 0.0625rem solid hsla(0,0%,0%,0.125); border-radius: var(--borderRadius); }
.cms-staff-list-wrap .btn { display: block; margin-top: 0.9375rem; background-color: hsl(var(--siteColor1)); border-radius: var(--borderRadiusPill); color: hsl(var(--siteColor5)); font-weight: var(--wRegular); transition: all ease-in-out 0.4s; }
.cms-staff-list-wrap .btn:hover { background-color: hsl(var(--siteColor2)); }
@media(min-width:578px){
  .cms-staff-list-wrap .cms-staff-row { margin-bottom: 0; }
  .cms-staff-list-wrap .card-img-wrap { margin: 0; max-width: 100%; }
}

/* Staff - Detail page */
.cms-staff-detail-wrap { margin: 1.5rem 0; }
.cms-staff-detail-wrap .card-img-wrap { overflow: hidden; width: 100%; min-height: 18.75rem; margin: 0 auto 1.5rem; padding-bottom: 65%; position: relative; border-radius: var(--borderRadius); padding: 1rem 1.25rem; background-color: hsl(var(--white)); }
.cms-staff-detail-wrap .card-img-left { width: 100%; height: 100%; object-fit: cover; position: absolute; top: 0; left: 0; }
.cms-staff-detail-wrap .card { width: 100%; justify-content: center; border: none; }
.cms-staff-detail-wrap .card-body { width: 100%; flex-grow: 0; }
.cms-staff-detail-wrap .card-list { list-style: circle; padding-left: 1.25rem; }
@media(min-width:578px){
  .cms-staff-detail-wrap .card-img-wrap { margin: 0; max-width: 100%; min-height: 0; padding-bottom: 100%; }
}