/* Agent - Grid Module */
.cms-agent-grid-wrap { margin: 3.125rem 0; }
.cms-agent-grid-wrap [class^=col] { display: flex; margin-bottom: 1.875rem; }
.cms-agent-grid-wrap .card-wrapper { width: 100%; position: relative; }
.cms-agent-grid-wrap .card-wrapper .cms-agent-on-duty { z-index: 1; position: absolute; top: -1.5rem; left: 50%; transform: translateX(-50%); padding: 0.75rem 1.25rem; width: 90%; max-width: 25rem; text-align: center; border-radius: var(--borderRadius); color: hsl(var(--white)); background: hsl(var(--siteColor1)); }
.cms-agent-grid-wrap .card { overflow: hidden; width: 100%; position: relative; border: 0.25rem solid hsl(var(--siteColor1)); border-radius: var(--borderRadius); box-shadow: var(--dropShadow); height: 35rem; }
.cms-agent-grid-wrap .card:hover { box-shadow: var(--dropShadow), var(--dropShadow); background-color: hsl(var(--black)); }
.cms-agent-grid-wrap .card-link { overflow: hidden; display: block; background: hsl(var(--black)); }
.cms-agent-grid-wrap .card-img-top { opacity: 0.85; width: 100%; height: 15.625rem; object-fit: cover; transform: scale(1); transition: all ease-in-out 0.4s; }
.cms-agent-grid-wrap .card:hover .card-img-top { opacity: 1; transform: scale(1.2); }
.cms-agent-grid-wrap .card-body { display: flex; flex-direction: inherit; justify-content: space-between; padding: 1rem 1.25rem; background-color: hsl(var(--white)); }
.cms-agent-grid-wrap .card-text { margin: 0; }
.cms-agent-grid-wrap .card-title, .cms-agent-grid-wrap .card-sub-title { font-weight: var(--wMedium); }
.cms-agent-grid-wrap .btn { display: block; margin-top: 0.9375rem; background-color: hsl(var(--siteColor1)); border-radius: var(--borderRadiusPill); color: hsl(var(--white)); font-weight: var(--wRegular); transition: all ease-in-out 0.4s; }
.cms-agent-grid-wrap .btn:hover { background-color: hsl(var(--siteColor2)); }

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

/* Agent - Detail page */
.cms-agent-detail-wrap { margin: 3.125rem 0; position: relative; }
.cms-agent-detail-wrap .card-img-wrap { overflow: hidden; width: 100%; max-width: 18.75rem; min-height: 18.75rem; margin: 0 auto 0.9375rem; padding-bottom: 65%; position: relative; border-radius: var(--borderRadius); box-shadow: var(--dropShadow); }
.cms-agent-detail-wrap .card-img-left { width: 100%; height: 100%; object-fit: cover; position: absolute; top: 0; left: 0; }
.cms-agent-detail-wrap .card { width: 100%; justify-content: center; border: none; }
.cms-agent-detail-wrap .card-body { width: 100%; flex-grow: 0; }
.cms-agent-detail-wrap .card-title, .cms-agent-detail-wrap .card-sub-title { font-weight: var(--wMedium); }
.cms-agent-detail-wrap .card-list { list-style: circle; padding-left: 1.25rem; }
@media(min-width:578px){
  .cms-agent-detail-wrap .card-img-wrap { max-width: 100%; min-height: 0; padding-bottom: 100%; }
}

/* Agent Wrapper */
.cms-mls-agent-wrap { padding: 6.25rem 0; position: relative; z-index: 1; }
.cms-mls-agent-wrap .container { width: 100%; max-width: 87.5rem; margin-top: 0.9375rem; }
.cms-mls-agent-wrap .subtitle { color: hsl(var(--siteColor1)); font-weight: var(--wMedium); }

/* Agent Swiper */
.cms-mls-agent-wrap .swiper-container .swiper-lazy-preloader { --swiper-preloader-color: hsl(var(--siteColor1)); }
.mls-agent-swiper { max-width: 112.5rem; padding: 1.875rem 0.9375rem; }
.mls-agent-controls { display: flex; flex-wrap: wrap; justify-content: space-between; width: 100%; max-width: 25rem; margin: auto; position: relative; }
.mls-agent-controls .mls-agent-btn-next,
.mls-agent-controls .mls-agent-btn-prev { width: 3.125rem; height: 3.125rem; margin: auto; position: relative; top: auto; right: auto; left: auto; background: transparent; border-radius: 50vw; box-shadow: none; color: hsl(var(--siteColor1)); transition: all 0.4s ease-in-out; }
.mls-agent-controls .mls-agent-btn-next:hover,
.mls-agent-controls .mls-agent-btn-prev:hover { background: hsl(var(--siteColor1)); box-shadow: var(--dropShadow); color: hsl(var(--white)); }
.mls-agent-controls .mls-agent-btn-next:focus,
.mls-agent-controls .mls-agent-btn-prev:focus { outline: none; box-shadow: var(--focusShadow); }
.mls-agent-controls .mls-agent-btn-next:after,
.mls-agent-controls .mls-agent-btn-prev:after { display: none; }
.mls-agent-controls .mls-agent-btn-next .icon,
.mls-agent-controls .mls-agent-btn-prev .icon { width: 1.75rem; height: 1.75rem; }
.mls-agent-controls .mls-agent-pagination { display: flex; align-items: center; position: relative; top: auto; right: auto; left: auto; }

/* Agent Property */
.mls-agent { overflow: hidden; display: flex; flex-direction: column; border-radius: var(--borderRadius); box-shadow: var(--dropShadow); font-family: var(--siteFont2), sans-serif; }
.mls-agent:hover { box-shadow: var(--dropShadow), var(--dropShadow); }
.mls-agent-img-wrap { position: relative; padding-bottom: 62.5%; position: relative; z-index: 1; background-color: var(--placeholderBG); }
.mls-agent-img-link { display: block; width: 100%; height: 100%; position: absolute; top: 0; left: 0; }
.mls-agent-img { display: block; width: 100%; height: 100%; position: absolute; top: 0; left: 0; object-fit: cover; }
.mls-agent-info-wrap { display: flex; flex-direction: column; position: relative; padding: 1rem 1.25rem; background: hsl(var(--white)); line-height: 1; }
.mls-agent-info-wrap .col { display: flex; flex-wrap: wrap; align-content: center; padding: 0 0.3125rem; }
.mls-agent-title { display: flex; margin: 0 0 0.625rem; }
.mls-agent-title .h3 { margin: 0; font-family: var(--bodyFont); font-size: 1.25rem !important; line-height: 1.25; font-weight: var(--wRegular); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mls-agent-title-link,
.mls-agent-title-link:hover { color: hsl(var(--bodyFontColor)); }
.mls-agent-info { display: flex; flex-wrap: wrap; justify-content: space-around; margin: 0; padding: 0; font-size: 1rem; line-height: 1; font-weight: var(--wNormal); }
.mls-agent-info-item { display: flex; margin-top: 0.75rem; padding: 0 0.25rem; text-align: center; }
.mls-agent-info-item .icon { height: 0.85rem; width: 1.25rem; margin-right: 0.25rem; color: hsl(var(--siteColor1)); }

/* CLS Fixes */
.mls-agent-title-link { display: block; width: 95%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mls-agent-title .h3 { width: 100%; }
.mls-agent-img-wrap { height: 15rem; padding-bottom: 0; }
.mls-agent-info-wrap { min-height: 7rem; }
.mls-agent-info { flex-wrap: nowrap; }
.mls-agent-info-item { display: block; justify-content: center; }
.mls-agent-swiper .swiper-slide { --marginRight: 1.875rem; --columns: 1; margin-right: var(--marginRight); width: calc(calc(100% / var(--columns)) - var(--marginRight) + calc(var(--marginRight) / var(--columns))); }
.mls-agent-controls { height: 3rem; }
@media (min-width: 0) {
  .mls-agent-swiper .swiper-slide { --columns: 1; }
}
@media (min-width: 667px) {
  .mls-agent-swiper .swiper-slide { --columns: 2; }
}
@media (min-width: 992px) {
  .mls-agent-swiper .swiper-slide { --columns: 3; }
}
@media (min-width: 1200px) {
  .mls-agent-swiper .swiper-slide { --columns: 4; }
}

/* Agent Detail Results */
.srp-results {
  margin-top: 3rem;
	margin-bottom: 2rem;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(var(--bePropertyWidgetWidth), 1fr)); /* Magic - 333px min-width */
	gap: 2rem;
}

