:root {
    --black: #333333 !important;
    --dark-gray: #545454 !important;
    --light-gray: #868A9A !important;
    --blue: #005696 !important;
    --red: #CB4B3C !important;
    --secondary-red: #F24D4D !important;
    --background-color: #E3E8F0 !important;
    --secondary-background-color: #CFDEE9 !important;
    --input-background-color: #F7FAFC !important;

    --yellow-gradient: linear-gradient(180deg, #EDC854, #EEB212) !important;

    --primary-font: 'Roboto Slab', sans-serif;
    --secondary-font: 'PT Sans', sans-serif;
    --public_directory_form_text_color: rgba(20, 22, 23, 1);
}

html, body, html * {
    /* font-family: var(--secondary-font); */
    font-family: inherit;
}

@media (min-width: 1200px) {
    .container {
      max-width: 1366px !important;
    }
}


#loadingDiv {
    position        : fixed;
    top             : 0;
    left            : 0;
    width           : 100%;
    height          : 100vh;
    z-index         : 9999;
    background-color: #00000024;
}

.loader,
.loader:after {
    border-radius: 50%;
    width : 10em;
    height: 10em;
}

.loader {
    margin           : 50px auto;
    font-size        : 10px;
    position         : relative;
    text-indent      : -9999em;
    border-top       : 1.1em solid rgb(255, 255, 255);
    border-right     : 1.1em solid rgb(255, 255, 255);
    border-bottom    : 1.1em solid rgb(37, 134, 208);
    border-left      : 1.1em solid #ffffff;
    -webkit-transform: translateZ(0);
    -ms-transform    : translateZ(0);
    transform        : translateZ(0);
    -webkit-animation: load8 1.1s infinite linear;
    animation        : load8 1.1s infinite linear;
    margin-top       : 20%;
}

@keyframes load8 {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }
    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

@media (min-width: 1024px) and (max-width: 1440px) {
    .CG_MemberPublicDirectory .hidden-card, .CG_MemberPublicDirectory .front-card-hidden {
        line-height: 20px;
    }
    
    .CG_MemberPublicDirectory .cs-name {
        margin-top: 24px;
    }

    .CG_MemberPublicDirectory .conference-data.zp-col-md-4 {
        width: 50%;
    }
}

@media screen and (max-width: 767px) {
    .CG_MemberPublicDirectory .front-card .w-left-150.mobile-full-width {
        width: 100%!important;
    }
}


/* button disabled  */
.CG_MemberPublicDirectory button:disabled {
    background-color: #34833563 !important;  /* Change background color */
    color           : #a0a0a0;               /* Change text color */
    border          : 1px solid #cccccc;     /* Change border color */
    cursor          : not-allowed;           /* Change cursor to indicate disabled state */
}


.CG_MemberPublicDirectory .cs_map_a {
    color: #A3A9AE;
}

.CG_MemberPublicDirectory .cs_map_a .cs_ttl {
    color        : #005696;
    font-size    : 14px;
    font-weight  : bold;
    margin-bottom: 5px;
    cursor       : pointer;
}

.CG_MemberPublicDirectory .cs_map_a .ref_content {
    color      : #8499A1;
    font-size  : 14px;
    font-weight: 400;
}

 .detail-view-actions {
    display: inline-block;
}

.CG_MemberPublicDirectory .location-box {
    display: inline-block;
    float: right;
    cursor: pointer;
}

#page {
    background: var(--background-color);
}

.CG_MemberPublicDirectory * {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

#wpwrap {
	background: var(--background-color);
}

.CG_MemberPublicDirectory * {
    /* font-family: var(--primary-font); */
    font-family: inherit;
}

.CG_MemberPublicDirectory {
    /* font-family: var(--primary-font); */
    font-family: inherit;
}

.clr {
	clear: both;
	width: 100%;
}

.CG_MemberPublicDirectory .row {
	width: calc(100% + 20px);
	margin-left: -10px;
    margin-right: -10px;
}

.CG_MemberPublicDirectory .zp-col-xs-1,
.CG_MemberPublicDirectory .zp-col-sm-1,
.CG_MemberPublicDirectory .zp-col-md-1,
.CG_MemberPublicDirectory .zp-col-lg-1,
.CG_MemberPublicDirectory .zp-col-xs-2,
.CG_MemberPublicDirectory .zp-col-sm-2,
.CG_MemberPublicDirectory .zp-col-md-2,
.CG_MemberPublicDirectory .zp-col-lg-2,
.CG_MemberPublicDirectory .zp-col-xs-3,
.CG_MemberPublicDirectory .zp-col-sm-3,
.CG_MemberPublicDirectory .zp-col-md-3,
.CG_MemberPublicDirectory .zp-col-lg-3,
.CG_MemberPublicDirectory .zp-col-xs-4,
.CG_MemberPublicDirectory .zp-col-sm-4,
.CG_MemberPublicDirectory .zp-col-md-4,
.CG_MemberPublicDirectory .zp-col-lg-4,
.CG_MemberPublicDirectory .zp-col-xs-5,
.CG_MemberPublicDirectory .zp-col-sm-5,
.CG_MemberPublicDirectory .zp-col-md-5,
.CG_MemberPublicDirectory .zp-col-lg-5,
.CG_MemberPublicDirectory .zp-col-xs-6,
.CG_MemberPublicDirectory .zp-col-sm-6,
.CG_MemberPublicDirectory .zp-col-md-6,
.CG_MemberPublicDirectory .zp-col-lg-6,
.CG_MemberPublicDirectory .zp-col-xs-7,
.CG_MemberPublicDirectory .zp-col-sm-7,
.CG_MemberPublicDirectory .zp-col-md-7,
.CG_MemberPublicDirectory .zp-col-lg-7,
.CG_MemberPublicDirectory .zp-col-xs-8,
.CG_MemberPublicDirectory .zp-col-sm-8,
.CG_MemberPublicDirectory .zp-col-md-8,
.CG_MemberPublicDirectory .zp-col-lg-8,
.CG_MemberPublicDirectory .zp-col-xs-9,
.CG_MemberPublicDirectory .zp-col-sm-9,
.CG_MemberPublicDirectory .zp-col-md-9,
.CG_MemberPublicDirectory .zp-col-lg-9,
.CG_MemberPublicDirectory .zp-col-xs-10,
.CG_MemberPublicDirectory .zp-col-sm-10,
.CG_MemberPublicDirectory .zp-col-md-10,
.CG_MemberPublicDirectory .zp-col-lg-10,
.CG_MemberPublicDirectory .zp-col-xs-11,
.CG_MemberPublicDirectory .zp-col-sm-11,
.CG_MemberPublicDirectory .zp-col-md-11,
.CG_MemberPublicDirectory .zp-col-lg-11,
.CG_MemberPublicDirectory .zp-col-xs-12,
.CG_MemberPublicDirectory .zp-col-sm-12,
.CG_MemberPublicDirectory .zp-col-md-12,
.CG_MemberPublicDirectory .zp-col-lg-12 {
    padding-left : 10px;
    padding-right: 10px;
    margin-bottom: 10px;
}

.CG_MemberPublicDirectory .p-20 {
    padding: 20px;
}

.CG_MemberPublicDirectory .pt-20 {
    padding-top: 20px;
}

.CG_MemberPublicDirectory .pl-20 {
    padding-left: 20px;
}

.CG_MemberPublicDirectory .pb-20 {
    padding-bottom: 20px;
}

.CG_MemberPublicDirectory .pr-20 {
    padding-right: 20px;
}

.CG_MemberPublicDirectory .m-20 {
    margin: 20px;
}

.CG_MemberPublicDirectory .mt-20 {
    margin-top: 20px;
}
.CG_MemberPublicDirectory .ml-20 {
    margin-left: 20px;
}

.CG_MemberPublicDirectory .mb-20 {
    margin-bottom: 20px;
}
.CG_MemberPublicDirectory .mr-20 {
    margin-right: 20px;
}


/* [SMART 1.1.54] Minimal Bootstrap 4 utility stand-ins (CDN BS4 CSS removed in 1.1.52).
   Scoped to .CG_MemberPublicDirectory only — do not re-add full Bootstrap. */
.CG_MemberPublicDirectory .d-none { display: none !important; }
.CG_MemberPublicDirectory .d-block { display: block !important; }
.CG_MemberPublicDirectory .d-inline { display: inline !important; }
.CG_MemberPublicDirectory .d-inline-block { display: inline-block !important; }
.CG_MemberPublicDirectory .d-flex { display: flex !important; }
.CG_MemberPublicDirectory .float-left { float: left !important; }
.CG_MemberPublicDirectory .float-right { float: right !important; }
.CG_MemberPublicDirectory .w-100 { width: 100% !important; }
.CG_MemberPublicDirectory .text-center { text-align: center !important; }
.CG_MemberPublicDirectory .justify-content-start { justify-content: flex-start !important; }
.CG_MemberPublicDirectory .justify-content-center { justify-content: center !important; }
.CG_MemberPublicDirectory .justify-content-end { justify-content: flex-end !important; }
.CG_MemberPublicDirectory .justify-content-between { justify-content: space-between !important; }
.CG_MemberPublicDirectory .align-items-start { align-items: flex-start !important; }
.CG_MemberPublicDirectory .align-items-center { align-items: center !important; }
.CG_MemberPublicDirectory .align-items-end { align-items: flex-end !important; }
.CG_MemberPublicDirectory .mb-0 { margin-bottom: 0 !important; }
.CG_MemberPublicDirectory .mt-0 { margin-top: 0 !important; }
.CG_MemberPublicDirectory .ml-0 { margin-left: 0 !important; }
.CG_MemberPublicDirectory .mr-0 { margin-right: 0 !important; }
.CG_MemberPublicDirectory .mb-1 { margin-bottom: 0.25rem !important; }
.CG_MemberPublicDirectory .mb-2 { margin-bottom: 0.5rem !important; }
.CG_MemberPublicDirectory .mb-3 { margin-bottom: 1rem !important; }
.CG_MemberPublicDirectory .mt-1 { margin-top: 0.25rem !important; }
.CG_MemberPublicDirectory .mt-2 { margin-top: 0.5rem !important; }
.CG_MemberPublicDirectory .mt-3 { margin-top: 1rem !important; }
.CG_MemberPublicDirectory .ml-1 { margin-left: 0.25rem !important; }
.CG_MemberPublicDirectory .ml-2 { margin-left: 0.5rem !important; }
.CG_MemberPublicDirectory .mr-1 { margin-right: 0.25rem !important; }
.CG_MemberPublicDirectory .mr-2 { margin-right: 0.5rem !important; }
.CG_MemberPublicDirectory .pl-0 { padding-left: 0 !important; }
.CG_MemberPublicDirectory .pr-0 { padding-right: 0 !important; }
.CG_MemberPublicDirectory .pt-0 { padding-top: 0 !important; }
.CG_MemberPublicDirectory .pb-0 { padding-bottom: 0 !important; }
.CG_MemberPublicDirectory .p-0 { padding: 0 !important; }


.CG_MemberPublicDirectory input:not([type="checkbox"]) {
    height          : 50px;
    background-color: var(--input-background-color);
    border-radius   : 0;
    border          : 0;
}

.CG_MemberPublicDirectory .btn {
    height        : 50px;
    background    : var(--yellow-gradient);
    font-size     : 18px;
    font-weight   : bold;
    line-height   : 1.3;
    border        : 0;
    border-radius : 0;
    text-transform: initial;
}

.CG_MemberPublicDirectory .border-bottom {
    border-bottom: 1px solid var(--secondary-background-color);
}

.CG_MemberPublicDirectory ul {
    list-style-type: none;
    padding-left: 0;
}

.CG_MemberPublicDirectory ul > li {
    margin-left: 0;
}

.CG_MemberPublicDirectory ul > li input {
    margin-left: 0;
}

.CG_MemberPublicDirectory input[type="checkbox"] {
    cursor: pointer;
}

.CG_MemberPublicDirectory .h-30 {
    height: 30px;
}

.CG_MemberPublicDirectory .additional-filter-area .card-body ul li .cs-checkbox {
    display: flex;
    align-items: center;
}

.CG_MemberPublicDirectory .additional-filter-area .card-body ul li .cs-checkbox label {
    margin-bottom: 0;
}

.CG_MemberPublicDirectory .additional-filter-area .card-body ul li .cs-checkbox span {
    display: inline-block;
    margin-left: 5px;
}


.CG_MemberPublicDirectory ul.two-column-list-grid {
    display: grid;
    grid-template-columns: 1fr 1fr; /* Two equal columns */
    gap: 10px; /* Space between items */
    list-style: none; /* Remove default bullets */
    padding-left: 0; /* Remove default padding */
}

.CG_MemberPublicDirectory ul.two-column-list-grid li {
    position: relative;
    padding-left: 20px;
    line-height: 20px;
    font-size: 16px;
    font-family: inherit;
    margin-bottom: 0;
    padding-bottom: 0px;
    margin-top: 0;
 
}

.CG_MemberPublicDirectory ul.two-column-list-grid li::before {
    content: '•'; /* Use a bullet character */
    position: absolute;
    left: 0;
    font-size: 30px; /* Adjust bullet size */
    color: var(--blue); /* Adjust bullet color */
}





/* user style */
.CG_MemberPublicDirectory #map {
    height: 800px;
    width: 100%;
}

.CG_MemberPublicDirectory #detail-view-map {
    height: 800px;
    width: 100%;
}


.CG_MemberPublicDirectory .section-header .section-title {
    font-size  : 20px;
    font-weight: bold;
    line-height: 1.3;
    color      : var(--black);
}

.CG_MemberPublicDirectory .section-header .section-subtitle {
    font-size  : 16px;
    font-weight: 400;
    line-height: 1.3;
    color      : var(--dark-gray);
    /* font-family: var(--secondary-font); */
    font-family: inherit;
}

.CG_MemberPublicDirectory .universal-search-area {
    background-color: #C1D3E1;
}

/* [SMART 1.1.41] Dedicated ZIP field sits with name/location/radius */
.CG_MemberPublicDirectory .search-by-zip-section .cgp-search-zip {
    letter-spacing: 0.02em;
}

.CG_MemberPublicDirectory .additional-filter-area {
    background-color: #AEC6D9;
}

.CG_MemberPublicDirectory .search_address_GDiv{
    position: relative;
}

.CG_MemberPublicDirectory .search_address_GDiv .icon_div{
    position: absolute;
    top: 12px;
    left: 20px;
}

.CG_MemberPublicDirectory .search_address_GDiv input,
.CG_MemberPublicDirectory .search_address_GDiv input:active,
.CG_MemberPublicDirectory .search_address_GDiv input:focus
{
    padding-left: 50px !important;
}

.CG_MemberPublicDirectory .reset-icon{
    position: absolute;
    top: 18px;
    right: 10px;
}

.CG_MemberPublicDirectory .btn-search {
    width: auto;
    height: 40px;
    margin-top: 10px;
}

.CG_MemberPublicDirectory .no-item-selected {
    text-align: center;
    font-size: 14px;
    font-weight: 600;
}

.CG_MemberPublicDirectory .cs_clear_search_btn {
    width: calc(50% - 24px);
}

.CG_MemberPublicDirectory .additional-filter-area .card-title {
    font-size  : 16px;
    font-weight: bold;
    line-height: 1.3;
    color      : var(--black);
}

.CG_MemberPublicDirectory .additional-filter-area .card-body-title {
    font-size  : 16px;
    font-weight: bold;
    line-height: 1.35;
    color      : var(--black);
    /* font-family: var(--primary-font); */
    font-family: inherit;
}

.CG_MemberPublicDirectory ul .li-title {
    color      : var(--black);
    font-size  : 14px;
    font-weight: 300;
    line-height: 1.35;
}

.CG_MemberPublicDirectory .no_records {
    text-align: center;
    margin-top: 20px;
}

.CG_MemberPublicDirectory .card.card-bordered {
    border: 1px solid #005696;
    box-shadow: 0 5px 20px #00549499;
}

.CG_MemberPublicDirectory .human-face-icon {
    height: 150px;
    width: 150px;
    object-fit: cover;
    /* border-radius: 50%; */
}

.CG_MemberPublicDirectory .view-detail-icon {
    text-align: right;
    cursor: pointer;
}


.CG_MemberPublicDirectory .view-detail-icon img {
    width: 16px;
    margin-bottom: 3px;
}

.CG_MemberPublicDirectory .view-detail-icon.list .icon-detail {
    display: none;
}

.CG_MemberPublicDirectory .card.list-view .view-detail-icon.list .icon-list img {
    display:inline-block;
    width: 16px;
    margin-bottom: 3px;
}

.CG_MemberPublicDirectory .view-detail-btn.detail .icon-list {
    display:none;
}


.CG_MemberPublicDirectory .card.list-view:hover {
    /* border: 1px solid #005696; */
    box-shadow: 0 5px 20px #00549499;
}

.CG_MemberPublicDirectory .view-detail-btn {
    color: #0088FF;
    font-weight: 600;
    font-size: 12px;
}

.CG_MemberPublicDirectory .cs-name {
    font-size  : 24px;
    font-weight: bold;
    line-height: 1.3;
    color      : var(--blue);
    /* margin-top : 24px; */
}

.CG_MemberPublicDirectory .front-card .w-150 {
    width: 160px !important;
    padding: 0;
    padding-left: 10px;
}
/* [SMART 1.1.25] Profile header: photo + meta layout */
.CG_MemberPublicDirectory.cgp-member-profile .front-card .cgp-profile-header {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 12px 16px;
}
.CG_MemberPublicDirectory.cgp-member-profile .front-card .cgp-profile-photo-map-row {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 12px;
    flex: 0 0 auto;
}
.CG_MemberPublicDirectory.cgp-member-profile .front-card .w-150.cgp-profile-photo-col,
.CG_MemberPublicDirectory.cgp-member-profile .front-card .cgp-profile-photo-col.w-150 {
    width: 160px !important;
    flex: 0 0 160px;
    max-width: 160px;
    padding: 0;
}
.CG_MemberPublicDirectory.cgp-member-profile .front-card .cgp-profile-meta {
    flex: 1 1 220px;
    min-width: 0;
    width: auto;
}
.CG_MemberPublicDirectory.cgp-member-profile .front-card .w-left-150 {
    width: calc(100% - 160px) !important;
    flex: 1 1 auto;
    min-width: 0;
}
.CG_MemberPublicDirectory.cgp-member-profile .front-card > .zp-row {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
}

.CG_MemberPublicDirectory .front-card .w-left-150 {
    width: calc(100% - 160px) !important;
}

.CG_MemberPublicDirectory .cs-degree {
    font-size  : 16px;
    line-height: 1.3;
}

.CG_MemberPublicDirectory .cs-address {
    line-height: 1.5;
    font-size: 14px; 
    font-weight: 400; 
    color: #333333;
}

.CG_MemberPublicDirectory .accred_title {
    font-size  : 16px;
    font-weight: bold;
    line-height: 1.3;
    color      : var(--blue);
    display: inline-flex;
}

.CG_MemberPublicDirectory .accred_body {
    font-size  : 14px;
    font-weight: 400;
    color      : var(--black);
    font-family: inherit;
    display: inline-flex;
}

.CG_MemberPublicDirectory .hidden-card .accred_title {
    font-size   : 16px;
    font-weight : bold;
}

.CG_MemberPublicDirectory .hidden-card .accred_body {
    font-size  : 16px;
    font-weight: 300;
    line-height: 1.3;
    font-size: 16px;
    /* font-family: var(--primary-font); */
    font-family: inherit;
}

.CG_MemberPublicDirectory .two-column-list-grid.accred_body.Services_Provideds {
    margin-top: 10px;
}



.CG_MemberPublicDirectory .sort_by {
    font-size  : 13px;
    font-weight: bold;
    line-height: 1.4;
    color      : var(--black);
}

.CG_MemberPublicDirectory .sort_selection{
    background: white;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.3;
    padding: 0 10px;
    color: var(--black);
    height: 30px;
}

/* Transition effect for showing and hiding */
.CG_MemberPublicDirectory .hidden-card,
.CG_MemberPublicDirectory .front-card-hidden {
    transition: opacity 0.5s ease-in-out;
    opacity: 1;
}

.CG_MemberPublicDirectory .hidden-card.d-none,
.CG_MemberPublicDirectory .front-card-hidden.d-none {
    /* [SMART 1.1.54] Must collapse layout (opacity alone left huge gaps after BS4 CDN removal) */
    display: none !important;
    opacity: 0;
    pointer-events: none;
}

.CG_MemberPublicDirectory .additional-filter-area details {
    margin-bottom: 0;
}

.CG_MemberPublicDirectory .additional-filter-area details summary {
    margin-bottom: 0;
}

.CG_MemberPublicDirectory .clear-all-additional-filter {
    float      : right;
    color      : var(--secondary-red);
    font-size  : 14px;
    font-weight: 400;
    line-height: 1.3;
    cursor     : pointer;
}

.CG_MemberPublicDirectory .faqs {
  margin: 1rem;
}

.CG_MemberPublicDirectory details summary {
  cursor               : pointer;
  grid-template-columns: 1fr auto;
  font-weight          : bold;
  padding-block        : 0.5rem;
  margin-bottom        : 0px;
}

.CG_MemberPublicDirectory details div {
  overflow: revert-layer;
  margin-block: 0.5rem;
}

.CG_MemberPublicDirectory details div.certification-item {
  margin: 0;
  display: flex;
  align-items: center;
  font-size: 14px;
}

.CG_MemberPublicDirectory .inner-wrap-left .popover-content-title {
    border-bottom: 2px solid #C1D3E1;
    padding: 7px;
    font-size: 14px;
}


.CG_MemberPublicDirectory .inner-wrap-left label {
    display: flex;
    align-items: center;
    margin-bottom: 0;
}

.CG_MemberPublicDirectory .inner-wrap-left input[type="checkbox"] {
    cursor: pointer;
    margin-right: 5px;
}

.CG_MemberPublicDirectory details[open] summary {
  border-bottom: 1px solid transparent;
  font-size: 18px;
  margin-bottom: 0;
}

.CG_MemberPublicDirectory .toggle-next {
  border-radius: 0;
}

.CG_MemberPublicDirectory label {
  cursor: pointer;
}

.CG_MemberPublicDirectory .ellipsis {
  text-overflow: ellipsis;
  width        : 100%;
  white-space  : nowrap;
  overflow     : hidden;
}

.CG_MemberPublicDirectory .apply-selection {
  display      : none;
  width        : 100%;
  margin       : 0;
  padding      : 5px 10px;
  border-bottom: 1px solid #ccc;
}

.CG_MemberPublicDirectory .certification-container {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 10px;
}
.CG_MemberPublicDirectory .certification-container img {
    width    : auto;
    max-width: 80px;
    height   : auto;
    max-height: 55px;
    object-fit: contain;
}
/* [SMART 1.1.25] Profile cert logos — larger side-by-side (~110–130 / 75–90 desktop) */
.CG_MemberPublicDirectory.cgp-member-profile .certification-container,
.CG_MemberPublicDirectory .card.detail-view .certification-container {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 12px;
}
.CG_MemberPublicDirectory.cgp-member-profile .certification-container img,
.CG_MemberPublicDirectory .card.detail-view .certification-container img {
    max-width: 120px;
    max-height: 82px;
    width: auto;
    height: auto;
    object-fit: contain;
}

.CG_MemberPublicDirectory .apply-selection .ajax-link {
  display: none;
}

.CG_MemberPublicDirectory .checkboxes {
  margin    : 0;
  display   : none;
  border    : none;
  border-top: 0;
}

.CG_MemberPublicDirectory .checkboxes .inner-wrap-left {
    padding         : 5px 10px;
    min-height      : 140px;
    max-height      : 300px;
    background-color: #fff;
}

.CG_MemberPublicDirectory .checkboxes .inner-wrap-left .popover-content-title img {
    height: 16px;
}

.CG_MemberPublicDirectory .checkboxes .inner-wrap {
    padding         : 5px 10px;
    min-height      : 140px;
    max-height      : 300px;
    overflow        : auto;
    background-color: #fff;
    font-size: 14px;
    /* font-family: var(--primary-font); */
    font-family: inherit;
}

.CG_MemberPublicDirectory .card-body-title{
    margin     : 0px;
    font-size  : 14px;
    font-weight: 700;
    color      : #333333;
    padding-top: 8px;
}

.CG_MemberPublicDirectory .filter-top {
    border-top: 1px solid #FFFFFF;
}

.CG_MemberPublicDirectory .form-control.toggle-next {
    position: relative;
    height  : 40px;
    font-size: 14px;
    /* font-family: var(--primary-font); */
    font-family: inherit;
}

.CG_MemberPublicDirectory .form-control.toggle-next::after {    
    content          : '';
    background-image : url('../images/common/Polygon.png');
    position         : absolute;
    top              : 13px;
    right            : 7px;
    width            : 20px;
    height           : 20px;
    background-repeat: no-repeat;
}

.CG_MemberPublicDirectory .reset-btn {
    color          : #FF6A6A!important;
    border         : 1px solid #FF6A6A!important;
    height         : 40px!important;
    margin-top     : 9px;
    width          : 158px !important;
    background     : #fff !important;
    display        : flex;
    justify-content: center;
    align-items    : center;
    margin-right   : 15px;
}

.CG_MemberPublicDirectory .reset-btn:hover {
    color: #FF6A6A!important;
}

.CG_MemberPublicDirectory .reset-btn img {
    margin-right: 10px;
}

.CG_MemberPublicDirectory .btn-search {
    height          : 40px!important;
    margin-top      : 9px;
    width           : 158px !important;
    background-image: linear-gradient(to right, #74A14C, #518423) !important;
}

.CG_MemberPublicDirectory .tagid {
    background: #FFFFFF;
    padding   : 10px;
    overflow: auto;
}

.CG_MemberPublicDirectory .tag-flex {
    background : #0056963d;
    display    : flex;
    align-items: center;
    width      : fit-content;
    padding    : 3px 8px;
    float      : left;
    margin     : 5px 5px 2px;
}

.CG_MemberPublicDirectory .education-tag {    
    color       : #005696;
    display     : inline-block;
    font-size   : 12px;
    margin-right: 5px;
    font-family : var(--secondary-font);
}

.CG_MemberPublicDirectory select.sort_selection {
    position: relative;
}

.CG_MemberPublicDirectory select.sort_selection::after {
    content          : '';
    background-image : url('../images/common/Polygon.png');
    position         : absolute;
    top              : 13px;
    right            : 7px;
    width            : 20px;
    height           : 20px;
    background-repeat: no-repeat;
}

.CG_MemberPublicDirectory .btn-sec {
    display: flex;
    margin: 0;
    flex-wrap: wrap;
    gap: 8px;
    max-width: 100%;
}

.CG_MemberPublicDirectory .accred_body.Website {
    color: #005696;
}

.CG_MemberPublicDirectory .back-bnt {
    display: inline-block;
    color: #005696;
    font-size: 14px;
    font-weight: 700;
}

.CG_MemberPublicDirectory .hide-detail-view {
    text-decoration: none!important;
}

.CG_MemberPublicDirectory .tooltip-container {
    /* position: relative; */
    display : inline-block;
    cursor  : pointer;
}

.CG_MemberPublicDirectory .tooltip-container .info-icon {
    margin-right: 10px;
}

.CG_MemberPublicDirectory .tooltip-text {
    visibility: hidden;
    background-color: #555;
    color: #fff;
    text-align: center;
    border-radius: 5px;
    padding: 5px;
    position: absolute;
    z-index: 99999;
    margin-bottom: 10px;
    opacity: 0;
    transition: opacity 0.3s;
}

.CG_MemberPublicDirectory .tooltip-container:hover .tooltip-text {
    visibility: visible;
    opacity   : 1;
}

.CG_MemberPublicDirectory input[type=text], input[type=time], select, textarea {
    color: var(--public_directory_form_text_color);
}









.CG_MemberPublicDirectory .popover-container {
    position: relative;
    display: inline-block;
  }
  
  .CG_MemberPublicDirectory  .popover-trigger {
    cursor: pointer;
    padding: 5px;
  }
  
  .CG_MemberPublicDirectory  .info-icon {
    font-size: 12px;
    margin-left: 5px;
  }
  
  .CG_MemberPublicDirectory  .popover-content {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    width: 250px;
    background-color: #fff;
    border: 1px solid #ddd;
    box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1);
    padding: 15px;
    z-index: 100;
    font-size: 14px;
    color: #333;
  }
  
  .CG_MemberPublicDirectory .popover-content::before {
    content: "";
    position: absolute;
    top: -10px;
    left: 20px;
    border-width: 0 10px 10px;
    border-style: solid;
    border-color: transparent transparent #ddd transparent;
  }
  
  .CG_MemberPublicDirectory .popover-container input:checked ~ .CG_MemberPublicDirectory .popover-content {
    display: block;
  }
  
  .CG_MemberPublicDirectory .popover-content a {
    color: #007bff;
    text-decoration: none;
  }
  
  .CG_MemberPublicDirectory .popover-content a:hover {
    text-decoration: underline;
  }
  
  .CG_MemberPublicDirectory .parent-account {
    font-size: 14px;
    display: block;
    line-height: 20px;
  }
  
  .CG_MemberPublicDirectory .parent-account-title {
    color: #898989;
    font-size: 14px;
  }
  
  .CG_MemberPublicDirectory .account-name-btn {
    cursor: pointer;
  }
  

.CG_MemberPublicDirectory {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    float: none;
}


.CG_MemberPublicDirectory .gm-style .gm-style-iw-chr {
    justify-content: end;
}


.CG_MemberPublicDirectory .gm-style .gm-style-iw-chr button {
    background: none;
    display: block;
    border: 0px;
    margin: 0px;
    padding: 0px;
    text-transform: none;
    appearance: none;
    position: relative;
    cursor: pointer;
    user-select: none;
    width: 48px;
    height: 48px;
    float: right;
    right: 0;
}


.CG_MemberPublicDirectory .gm-style .gm-style-iw-d {
    overflow: hidden;
    max-height: 614px;
    margin-top: -31px;
    padding-bottom: 15px;
}

.CG_MemberPublicDirectory .cs_map_a .cs_ttl {
    color: #005696;
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 5px;
    cursor: pointer;
    word-wrap: break-word;
    width: calc(100% - 20px);
}

.CG_MemberPublicDirectory .detail-view .detail-view-full {
    border-right: none !important;
    width: 100%;
}

.CG_MemberPublicDirectory .other-degree-item {
  font-weight: 300;
    line-height: 1.3;
    font-size: 16px;
    display: inline-flex;
    margin-right: 10px;
}

.CG_MemberPublicDirectory .full-width {
    width: 100%;
}

.CG_MemberPublicDirectory .mb-3px {
    margin-bottom: 3px;
}

.CG_MemberPublicDirectory .mb-10px {
    margin-bottom: 10px;
}

.CG_MemberPublicDirectory .Video-Embaded {
    width: 100%;
}

.CG_MemberPublicDirectory .office-phone-section {
    font-size: 14px; 
    font-weight: 400; 
    color: #333333;
}

.CG_MemberPublicDirectory .detail-view-full {
    border-right: 1px solid #DAE6EF;
    min-height: 95px;
}

.CG_MemberPublicDirectory .parent-account-name {
    font-size: 14px; 
    font-weight: 600; 
    color: #333333;
}


.CG_MemberPublicDirectory .service-provided-item {
    line-height: 25px;
}


/* ==========================================================================
   [CLIXLOGIX TEAM] Secondary Office Listing — secondary card styles — BEGIN
   What: Styling for secondary-office cards (green left border) and the
         "Additional Location" badge pill.
   Why : Gives secondary offices a clear visual cue in the directory list.
   ========================================================================== */
/* -----------------------------------------------
   Multi-Location: Secondary office card styles
----------------------------------------------- */
.secondary-location-card {
    border-left: 3px solid #4CAF50;
}

.secondary-badge-pill {
    display: inline-block;
    background: #e8f4ea;
    color: #2d7a34;
    font-size: 11px;
    font-weight: 600;
    padding: 2px 10px;
    border-radius: 12px;
    border: 1px solid #b6d9ba;
    letter-spacing: 0.3px;
    margin-left: 6px;
    vertical-align: middle;
}
/* ==========================================================================
   [CLIXLOGIX TEAM] Secondary Office Listing — secondary card styles — END
   ========================================================================== */


/* [SMART 1.1.3] Search-first (all viewports): hide map + members until Search */
/* [SMART 1.1.6] Keep #map laid out (invisible/off-flow) so Maps can warm in background —
   do NOT use display:none on the map container or tiles/JS never initialize. */
.CG_MemberPublicDirectory.cgp-search-only .list-view-content,
.CG_MemberPublicDirectory.cgp-mobile-search-only .list-view-content {
    position: fixed !important;
    left: 0 !important;
    top: 0 !important;
    width: min(100vw, 1200px) !important;
    height: 800px !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    z-index: -1 !important;
    overflow: hidden !important;
    margin: 0 !important;
    /* intentionally NOT display:none — background map warm-up needs dimensions */
}
.CG_MemberPublicDirectory.cgp-search-only .list-view-content > .zp-col-md-6:first-child,
.CG_MemberPublicDirectory.cgp-mobile-search-only .list-view-content > .zp-col-md-6:first-child {
    display: none !important; /* member list stays fully hidden */
}
.CG_MemberPublicDirectory.cgp-search-only .list-view-content .main-map-container,
.CG_MemberPublicDirectory.cgp-mobile-search-only .list-view-content .main-map-container {
    display: block !important;
    width: 100% !important;
    height: 800px !important;
}
.CG_MemberPublicDirectory.cgp-search-only .list-view-content #map,
.CG_MemberPublicDirectory.cgp-mobile-search-only .list-view-content #map {
    height: 800px !important;
    width: 100% !important;
}

/* [SMART 1.1.22] Mobile post-search: list-only — hide visible map under members;
   keep map column off-screen so Maps API/geocode can still use the instance */
@media (max-width: 767px) {
    .CG_MemberPublicDirectory.cgp-mobile-list-only .list-view-content {
        display: block !important;
    }
    .CG_MemberPublicDirectory.cgp-mobile-list-only .list-view-content > .zp-col-md-6:first-child {
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 100% !important;
        display: block !important;
    }
    .CG_MemberPublicDirectory.cgp-mobile-list-only .list-view-content > .zp-col-md-6:last-child,
    .CG_MemberPublicDirectory.cgp-mobile-list-only .list-view-content .main-map-container {
        position: fixed !important;
        left: 0 !important;
        top: 0 !important;
        width: min(100vw, 400px) !important;
        height: 300px !important;
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
        z-index: -1 !important;
        overflow: hidden !important;
        margin: 0 !important;
        /* not display:none — allow background map updates */
    }
    .CG_MemberPublicDirectory.cgp-mobile-list-only .list-view-content #map {
        height: 300px !important;
        width: 100% !important;
    }
}

/* [SMART 1.1.24] Desktop profile: details left, map right (side-by-side) */
.CG_MemberPublicDirectory.cgp-member-profile .list-view-content {
    display: flex;
    flex-wrap: nowrap;
    align-items: flex-start;
}
.CG_MemberPublicDirectory.cgp-member-profile .list-view-content > .zp-col-md-6:first-child,
.CG_MemberPublicDirectory.cgp-member-profile .list-view-content > .zp-col-md-6:last-child {
    width: 50%;
    max-width: 50%;
    flex: 0 0 50%;
    box-sizing: border-box;
}
.CG_MemberPublicDirectory.cgp-member-profile .main-map-container#cgp-member-map,
.CG_MemberPublicDirectory.cgp-member-profile #cgp-member-map.main-map-container {
    width: 100%;
    margin-top: 0;
}
.CG_MemberPublicDirectory .cgp-profile-photo-col {
    overflow: hidden;
}
.CG_MemberPublicDirectory .cgp-profile-photo-col .user-profile-image,
.CG_MemberPublicDirectory.cgp-member-profile .cgp-profile-photo-col .human-face-icon.user-profile-image {
    width: 150px !important;
    height: 150px !important;
    min-width: 150px;
    min-height: 150px;
    max-width: 150px;
    max-height: 150px;
    object-fit: cover;
    flex: 0 0 150px;
    display: block;
}
/* [SMART 1.1.25] Show on Map — beside photo on mobile; hidden on desktop (map already right) */
.CG_MemberPublicDirectory .cgp-show-on-map-link.cgp-show-on-map-bar,
.CG_MemberPublicDirectory.cgp-member-profile .cgp-show-on-map-bar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    background: #005696;
    color: #fff !important;
    text-align: center;
    padding: 10px 14px;
    margin: 0;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    white-space: normal;
    cursor: pointer;
    border-radius: 4px;
    align-self: flex-start;
    max-width: 140px;
    line-height: 1.3;
}
.CG_MemberPublicDirectory .cgp-show-on-map-link.cgp-show-on-map-bar:hover,
.CG_MemberPublicDirectory.cgp-member-profile .cgp-show-on-map-bar:hover {
    background: #003d6b;
    color: #fff !important;
    text-decoration: none;
}
@media (min-width: 768px) {
    .CG_MemberPublicDirectory.cgp-member-profile .cgp-show-on-map-bar,
    .CG_MemberPublicDirectory.cgp-member-profile .cgp-show-on-map-beside,
    .CG_MemberPublicDirectory .cgp-show-on-map-link.cgp-show-on-map-bar {
        display: none !important;
    }
}
/* legacy class kept for safety if old markup present */
.CG_MemberPublicDirectory .cgp-show-on-map-link:not(.cgp-show-on-map-bar) {
    display: inline-block;
    color: #005696;
    font-size: 14px;
    font-weight: 700;
    text-decoration: underline;
    cursor: pointer;
}
/* [SMART 1.1.25] Practice + address like search list card (plain practice name, no blue bar) */
.CG_MemberPublicDirectory.cgp-member-profile .cgp-profile-address-block {
    background: transparent;
    padding: 0;
    border-radius: 0;
    box-sizing: border-box;
    width: 100%;
    margin-top: 6px;
}
.CG_MemberPublicDirectory.cgp-member-profile .cgp-profile-address-block .parent-account-name {
    background: transparent;
    color: #333 !important;
    font-weight: 600;
    font-size: 14px;
    padding: 0;
    margin: 2px 0 0 0;
    width: auto;
    box-sizing: border-box;
    border-radius: 0;
}
.CG_MemberPublicDirectory.cgp-member-profile .cgp-profile-address-block .cs-address,
.CG_MemberPublicDirectory.cgp-member-profile .cgp-profile-address-block .card-city-state {
    font-size: 13px;
    line-height: 1.4;
    color: #555;
    margin-top: 2px;
}
.CG_MemberPublicDirectory.cgp-member-profile .cgp-profile-address-block .office-phone-section {
    color: #555;
    font-size: 13px;
    line-height: 1.4;
    margin-top: 2px;
    font-weight: 400;
}
.CG_MemberPublicDirectory.cgp-member-profile .cgp-profile-address-block .office-phone-section img {
    display: none !important;
}
.CG_MemberPublicDirectory.cgp-member-profile .detail-view-full {
    border-right: none;
    min-height: 0;
}
/* [SMART 1.1.27] / [SMART 1.1.35] Profile Search again — same light-blue box as Additional Filters */
.CG_MemberPublicDirectory.cgp-member-profile .cgp-profile-search-again-wrap {
    margin: 0 0 8px 0;
    /* background from .additional-filter-area (#AEC6D9) */
}
.CG_MemberPublicDirectory.cgp-member-profile .cgp-profile-search-again-wrap .universal-search-area {
    background-color: transparent;
}
.CG_MemberPublicDirectory.cgp-member-profile .cgp-profile-search-accordion {
    margin: 0;
    padding: 0 10px;
}
.CG_MemberPublicDirectory.cgp-member-profile .cgp-profile-search-accordion > summary {
    cursor: pointer;
    font-weight: 700;
    font-size: 16px;
    color: #005696;
    padding: 8px 0;
    list-style: none;
}
.CG_MemberPublicDirectory.cgp-member-profile .cgp-profile-search-accordion > summary::-webkit-details-marker {
    display: none;
}
.CG_MemberPublicDirectory.cgp-member-profile .cgp-profile-search-accordion > summary::marker {
    content: '';
}
.CG_MemberPublicDirectory.cgp-member-profile .cgp-profile-search-accordion > summary::before {
    content: '';
    display: inline-block;
    width: 0;
    height: 0;
    margin-right: 8px;
    vertical-align: middle;
    /* closed: point right */
    border-top: 5px solid transparent;
    border-bottom: 5px solid transparent;
    border-left: 7px solid #005696;
    border-right: 0;
    transform: none;
}
.CG_MemberPublicDirectory.cgp-member-profile .cgp-profile-search-accordion[open] > summary {
    margin-bottom: 4px;
}
.CG_MemberPublicDirectory.cgp-member-profile .cgp-profile-search-accordion[open] > summary::before {
    /* open: point down (never up) */
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 7px solid #005696;
    border-bottom: 0;
    transform: none;
}
/* [SMART 1.1.24] Practice Description light grey block */
.CG_MemberPublicDirectory .cgp-practice-description-block,
.CG_MemberPublicDirectory.cgp-member-profile .cgp-practice-description-block {
    background: #f2f2f2;
    padding: 12px 14px;
    border-radius: 4px;
    box-sizing: border-box;
    margin-bottom: 12px;
    width: 100%;
}
.CG_MemberPublicDirectory .cgp-practice-description-block .accred_title,
.CG_MemberPublicDirectory .cgp-practice-description-block .accred_body.Description {
    display: block;
}
/* [SMART 1.1.24] Hide Showing 0–0 / prev-next on profile; Back mid + below-map */
.CG_MemberPublicDirectory.cgp-member-profile .cgp-list-pagination-strip,
.CG_MemberPublicDirectory.cgp-member-profile .total-record-count-show {
    display: none !important;
}
.CG_MemberPublicDirectory .cgp-back-below-detail,
.CG_MemberPublicDirectory .cgp-back-below-map {
    margin: 16px 0 8px;
    padding: 8px 0 12px;
    text-align: left;
}
.CG_MemberPublicDirectory .cgp-back-below-detail .back-to-search-results,
.CG_MemberPublicDirectory .cgp-back-below-map .back-to-search-results,
.CG_MemberPublicDirectory .back-to-search-results {
    color: #005696;
    font-size: 15px;
    font-weight: 700;
    text-decoration: underline;
}
.CG_MemberPublicDirectory .cgp-back-below-detail .back-to-search-results:hover,
.CG_MemberPublicDirectory .cgp-back-below-map .back-to-search-results:hover,
.CG_MemberPublicDirectory .back-to-search-results:hover {
    color: #003d6b;
}
@media (max-width: 767px) {
    /* [SMART 1.1.25] Mobile profile: map full-width below details */
    .CG_MemberPublicDirectory.cgp-member-profile .list-view-content {
        flex-wrap: wrap;
    }
    .CG_MemberPublicDirectory.cgp-member-profile .list-view-content > .zp-col-md-6:first-child,
    .CG_MemberPublicDirectory.cgp-member-profile .list-view-content > .zp-col-md-6:last-child {
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 100% !important;
    }
    .CG_MemberPublicDirectory.cgp-member-profile .main-map-container,
    .CG_MemberPublicDirectory.cgp-member-profile #cgp-member-map {
        display: block !important;
        width: 100% !important;
        visibility: visible !important;
        opacity: 1 !important;
        position: relative !important;
        pointer-events: auto !important;
        z-index: auto !important;
        margin-top: 16px;
    }
    .CG_MemberPublicDirectory.cgp-member-profile #map {
        min-height: 280px;
        width: 100% !important;
    }
    .CG_MemberPublicDirectory .cgp-profile-photo-col .user-profile-image,
    .CG_MemberPublicDirectory.cgp-member-profile .cgp-profile-photo-col .human-face-icon.user-profile-image {
        width: 120px !important;
        height: 120px !important;
        min-width: 120px;
        min-height: 120px;
        max-width: 120px;
        max-height: 120px;
        flex: 0 0 120px;
    }
    .CG_MemberPublicDirectory.cgp-member-profile .front-card .w-150.cgp-profile-photo-col,
    .CG_MemberPublicDirectory.cgp-member-profile .front-card .cgp-profile-photo-col.w-150 {
        width: 120px !important;
        flex: 0 0 120px;
        max-width: 120px;
    }
    /* Mobile: [Photo | Show on Map], then name / practice / address below */
    .CG_MemberPublicDirectory.cgp-member-profile .front-card .cgp-profile-header {
        flex-direction: column;
        align-items: stretch;
        gap: 10px;
    }
    .CG_MemberPublicDirectory.cgp-member-profile .front-card .cgp-profile-photo-map-row {
        width: 100%;
        justify-content: flex-start;
        align-items: center;
    }
    .CG_MemberPublicDirectory.cgp-member-profile .front-card .cgp-profile-meta {
        width: 100%;
        flex: 1 1 auto;
    }
    .CG_MemberPublicDirectory.cgp-member-profile .cgp-show-on-map-bar,
    .CG_MemberPublicDirectory.cgp-member-profile .cgp-show-on-map-beside {
        display: inline-flex !important;
        width: auto;
        max-width: 150px;
        min-height: 44px;
        padding: 10px 12px;
        border-radius: 4px;
    }
    .CG_MemberPublicDirectory .cgp-back-below-detail,
    .CG_MemberPublicDirectory .cgp-back-below-map {
        text-align: center;
        padding: 12px 0 16px;
    }
    /* [SMART 1.1.24/1.1.25] Mobile profile: hide Additional Filters entirely (rolled up / not shown) */
    .CG_MemberPublicDirectory.cgp-member-profile .additional-filter-area {
        display: none !important;
    }
    /* [SMART 1.1.27] Hide Share URL (+ tooltip) on mobile — directory search AND profile */
    .CG_MemberPublicDirectory #shareUrl,
    .CG_MemberPublicDirectory #copyTooltip,
    .CG_MemberPublicDirectory a#shareUrl {
        display: none !important;
    }
    /* [SMART 1.1.25] Larger cert logos on mobile profile (~120–140 / 90–100) */
    .CG_MemberPublicDirectory.cgp-member-profile .certification-container img,
    .CG_MemberPublicDirectory .card.detail-view .certification-container img {
        max-width: 130px;
        max-height: 95px;
    }
}

/* ==========================================================================
   [SMART 1.1.23] Compact cards — desktop: SMART/rank upper-right; blue footer UNDER photo
   Mobile: photo+name row; SMART/rank/blue full-width under photo
   Cert logos hidden; stacked darker rank bars #5a9e62; SMART #7cc684
   Square fixed photos (no flex-stretch); desktop stars after only via JS
   ========================================================================== */
/* [SMART 1.1.46] A little more breathing room: card gap 10px → 22px, inner top/bottom 10px → 20px
   (left/right stay 12px). Mobile gets a smaller bump below (18px gap, 16px top/bottom).
   [SMART 1.1.47] Desktop gap between cards 22px → 16px (inner top/bottom stays 20px; mobile unchanged).
   [SMART 1.1.48] Bottom inside padding back to the 1.1.45 value (10px) on desktop and mobile;
   top stays 20px desktop / 16px mobile, gaps stay 16px / 18px. */
.CG_MemberPublicDirectory .card.cgp-compact-card.mb-20 {
    margin-bottom: 16px !important;
}

.CG_MemberPublicDirectory .card.cgp-compact-card > .card-body.p-20 {
    padding: 20px 12px 10px !important; /* [SMART 1.1.48] top 20 / sides 12 / bottom 10 (1.1.45) */
}

@media (max-width: 767px) {
    .CG_MemberPublicDirectory .card.cgp-compact-card.mb-20 {
        margin-bottom: 18px !important;
    }
    .CG_MemberPublicDirectory .card.cgp-compact-card > .card-body.p-20 {
        padding: 16px 12px 10px !important; /* [SMART 1.1.48] bottom 10px = 1.1.45 */
    }
}

/* [SMART 1.1.23] Column: upper (photo|content) then full-width blue footer under photo */
.CG_MemberPublicDirectory .card.cgp-compact-card .cgp-compact-card-main {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
}

.CG_MemberPublicDirectory .card.cgp-compact-card .cgp-compact-card-upper {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 12px;
    width: 100%;
}

.CG_MemberPublicDirectory .card.cgp-compact-card .cgp-compact-card-left {
    flex: 0 0 110px;
    width: 110px;
    max-width: 110px;
    align-self: flex-start;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.CG_MemberPublicDirectory .card.cgp-compact-card .human-face-icon.user-profile-image,
.CG_MemberPublicDirectory .card.cgp-compact-card .user-profile-image {
    flex: 0 0 110px;
    width: 110px !important;
    height: 110px !important;
    min-width: 110px;
    min-height: 110px;
    max-width: 110px;
    max-height: 110px;
    object-fit: cover;
    display: block;
}

/* [SMART 1.1.23] Content column: toprow only (footer is sibling under upper) */
.CG_MemberPublicDirectory .card.cgp-compact-card .cgp-compact-card-content {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: stretch;
}

/* [SMART 1.1.21] Desktop top row: name/practice middle + SMART/rank upper-right */
.CG_MemberPublicDirectory .card.cgp-compact-card .cgp-compact-card-toprow {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 10px;
    flex: 0 0 auto;
    width: 100%;
    min-width: 0;
}

.CG_MemberPublicDirectory .card.cgp-compact-card .cgp-compact-card-right {
    flex: 1 1 auto;
    min-width: 0;
    position: relative;
}

/* [SMART 1.1.21 / 1.1.39] Logos column upper-right — desktop locks to 240px in min-width:768px */
.CG_MemberPublicDirectory .card.cgp-compact-card .cgp-compact-card-logos {
    flex: 0 0 auto;
    width: 240px;
    max-width: 45%;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    margin-top: 0;
    align-self: flex-start;
    overflow: visible;
}

/* [SMART 1.1.27 / 1.1.32 / 1.1.37] SMART CERTIFIED bar (#7cc684) — full column width; label + “i” */
.CG_MemberPublicDirectory .card.cgp-compact-card .cgp-logo-smart-bar {
    background: #7cc684;
    color: #fff;
    font-weight: 700;
    font-size: 10px;
    text-align: center;
    padding: 4px 6px;
    width: 100%;
    max-width: 100%;
    align-self: stretch;
    margin-bottom: 0;
    box-sizing: border-box;
    line-height: 1.2;
    letter-spacing: 0.04em;
    position: relative;
    overflow: visible; /* popovers escape; label truncates inside row */
    cursor: pointer;
}

/* [SMART 1.1.21 / 1.1.37] Stacked darker rank bars — full column width like SMART */
.CG_MemberPublicDirectory .card.cgp-compact-card .cgp-logo-rank-bars {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    max-width: 100%;
    align-self: stretch;
    gap: 2px;
    margin-top: 2px;
    box-sizing: border-box;
}
.CG_MemberPublicDirectory .card.cgp-compact-card .cgp-logo-rank-bar {
    display: block;
    background: #5a9e62;
    color: #fff;
    font-weight: 700;
    font-size: 10px;
    text-align: center;
    padding: 4px 6px;
    width: 100%;
    max-width: 100%;
    align-self: stretch;
    margin-bottom: 0;
    box-sizing: border-box;
    line-height: 1.25;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    position: relative;
    overflow: visible;
    cursor: pointer; /* [SMART 1.1.34] click-expand like SMART bar */
}
.CG_MemberPublicDirectory .card.cgp-compact-card .cgp-logo-rank-bar.cgp-is-visible {
    display: block;
}
.CG_MemberPublicDirectory .card.cgp-compact-card .cgp-logo-smart-bar.cgp-is-visible {
    display: block;
}

/* [SMART 1.1.21 / 1.1.32] Hide leftover list-card cert logo images (text bars only).
   Exempt info.svg on bars + SMART expand Smart.jpg */
.CG_MemberPublicDirectory .card.cgp-compact-card .cgp-compact-cert-logos,
.CG_MemberPublicDirectory .card.cgp-compact-card .certification-container,
.CG_MemberPublicDirectory .card.cgp-compact-card .cgp-compact-card-logos .certification-container,
.CG_MemberPublicDirectory .card.cgp-compact-card .hidden-card .certification-container {
    display: none !important;
}
.CG_MemberPublicDirectory .card.cgp-compact-card .cgp-compact-cert-logos img,
.CG_MemberPublicDirectory .card.cgp-compact-card .certification-container img,
.CG_MemberPublicDirectory .card.cgp-compact-card .cgp-compact-card-logos img,
.CG_MemberPublicDirectory .card.cgp-compact-card .hidden-card .certification-container img {
    display: none !important;
}
.CG_MemberPublicDirectory .card.cgp-compact-card .cgp-compact-card-logos img.info-icon {
    display: inline-block !important;
}
.CG_MemberPublicDirectory .card.cgp-compact-card .cgp-compact-card-logos img.cgp-smart-bar-logo,
.CG_MemberPublicDirectory .card.cgp-compact-card .cgp-compact-card-logos img.cgp-cert-bar-logo {
    display: block !important;
}

.CG_MemberPublicDirectory .card.cgp-compact-card .cs-name {
    font-size: 17px;
    font-weight: bold;
    line-height: 1.25;
    margin-top: 0; /* [SMART 1.1.36] flush with photo top (override legacy 24px) */
    padding-top: 0;
    margin-bottom: 2px;
}

.CG_MemberPublicDirectory .card.cgp-compact-card .cs-degree,
.CG_MemberPublicDirectory .card.cgp-compact-card .degrees {
    font-size: 13px;
    font-weight: 400;
    line-height: 1.3;
}

.CG_MemberPublicDirectory .card.cgp-compact-card .parent-account-name {
    font-size: 13px;
    line-height: 1.3;
    color: #333;
    margin-top: 2px;
}

.CG_MemberPublicDirectory .card.cgp-compact-card .card-city-state {
    font-size: 12px;
    line-height: 1.3;
    color: #555;
    margin-top: 2px;
}
.CG_MemberPublicDirectory .card.cgp-compact-card .office-phone-section {
    font-size: 12px;
    line-height: 1.3;
    color: #555;
    margin-top: 2px;
    font-weight: 400;
}
.CG_MemberPublicDirectory .card.cgp-compact-card .office-phone {
    font-size: 12px;
    color: #555;
}


.CG_MemberPublicDirectory .card.cgp-compact-card .cgp-compact-expand-toggle {
    text-align: right;
    font-size: 11px;
    margin-bottom: 2px; /* mobile; desktop absolute in 1.1.36 media */
}

.CG_MemberPublicDirectory .card.cgp-compact-card.list-view .cgp-compact-expand-toggle .icon-detail {
    display: none;
}

.CG_MemberPublicDirectory .card.cgp-compact-card.detail-view .cgp-compact-expand-toggle .icon-list {
    display: none;
}

/* [SMART 1.1.24] Blue footer full-width under photo+content row — slightly larger text */
.CG_MemberPublicDirectory .card.cgp-compact-card .cgp-card-footer-bar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 6px 10px;
    width: 100%;
    box-sizing: border-box;
    margin-top: 10px;
    padding: 7px 10px;
    background: #005696;
    color: #fff;
    font-size: 12.5px;
    line-height: 1.4;
}

.CG_MemberPublicDirectory .card.cgp-compact-card .cgp-card-footer-bar .cgp-footer-item {
    color: #fff;
    white-space: nowrap;
}

.CG_MemberPublicDirectory .card.cgp-compact-card .cgp-card-footer-bar .cgp-footer-sep {
    color: rgba(255, 255, 255, 0.75);
    margin: 0 4px;
    display: inline;
    font-weight: 400;
}
.CG_MemberPublicDirectory .card.cgp-compact-card .cgp-footer-actions .cgp-footer-view-details {
    border-left: none; /* separator via .cgp-footer-sep */
}

.CG_MemberPublicDirectory .card.cgp-compact-card .cgp-card-footer-bar .member-since,
.CG_MemberPublicDirectory .card.cgp-compact-card .cgp-card-footer-bar .Number_of_IAOMT_Conferences_Attended {
    color: #fff;
    font-weight: 600;
}

.CG_MemberPublicDirectory .card.cgp-compact-card .cgp-card-footer-bar .account-detail-custom-link,
.CG_MemberPublicDirectory .card.cgp-compact-card .cgp-card-footer-bar .cgp-footer-view-details {
    color: #fff !important;
    font-weight: 600;
    text-decoration: underline;
    white-space: nowrap;
    margin-left: auto;
}

/* [SMART 1.1.14] .cgp-footer-smart-certified removed — bar lives above logos */
.CG_MemberPublicDirectory .card.cgp-compact-card .cgp-card-footer-bar .cgp-footer-actions {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin-left: auto;
    white-space: nowrap;
}
/* [SMART 1.1.22] View Details: desktop short / mobile "VIEW DETAILS - SHOW ON MAP" */
.CG_MemberPublicDirectory .card.cgp-compact-card .cgp-footer-view-details .cgp-vd-mobile {
    display: none;
}
.CG_MemberPublicDirectory .card.cgp-compact-card .cgp-footer-view-details .cgp-vd-desktop {
    display: inline;
}
.CG_MemberPublicDirectory .card.cgp-compact-card .cgp-card-footer-bar .cgp-footer-share-url {
    color: #fff !important;
    font-weight: 600;
    text-decoration: underline;
    white-space: nowrap;
    cursor: pointer;
}
.CG_MemberPublicDirectory .card.cgp-compact-card .cgp-card-footer-bar .cgp-footer-actions .cgp-footer-view-details,
.CG_MemberPublicDirectory .card.cgp-compact-card .cgp-card-footer-bar .cgp-footer-actions .account-detail-custom-link {
    margin-left: 0;
}


/* [SMART 1.1.51] Desktop/tablet (>=768px): blue footer bar on ONE line.
   1.1.50 used flex-wrap:wrap + space-between, so at the real ~455-600px card width the bar
   broke into 2 rows (Member Since | Conferences, then Share Member URL | View Details).
   Now: nowrap; Member Since | Conferences grouped left (separator stays with the labels);
   Share URL | View Details pinned right; 12px text, tighter gaps. Safety net on very narrow
   cards: only the Conferences label truncates with an ellipsis (never wraps, never pushes the
   links off the bar). Mobile (<=767px) is untouched: 1.1.27 stacking + 1.1.47 full-width
   VIEW DETAILS row still apply.
   Narrow desktop cards (bar content < 500px, e.g. the ~1024px-wide window where the list column
   is ~475px): "IAOMT Conferences Attended" -> "Conferences" via a container query, so the count
   stays visible. Browsers without container queries keep the long label + ellipsis fallback. */
.CG_MemberPublicDirectory .card.cgp-compact-card .cgp-footer-conf .cgp-conf-label-short {
    display: none; /* default everywhere (mobile keeps the full label) */
}
@media (min-width: 768px) {
    .CG_MemberPublicDirectory .card.cgp-compact-card .cgp-card-footer-bar {
        container-type: inline-size;
        container-name: cgpcardbar;
        flex-wrap: nowrap;
        justify-content: flex-start;
        gap: 0 8px;
        padding: 7px 10px;
        font-size: 12px;
        line-height: 1.4;
        white-space: nowrap;
        min-width: 0;
    }
    .CG_MemberPublicDirectory .card.cgp-compact-card .cgp-card-footer-bar > .cgp-footer-item {
        flex: 0 0 auto;
        min-width: 0;
        white-space: nowrap;
    }
    .CG_MemberPublicDirectory .card.cgp-compact-card .cgp-card-footer-bar > .cgp-footer-item ~ .cgp-footer-item {
        flex: 0 1 auto; /* Conferences: the only item allowed to shrink */
        overflow: hidden;
        text-overflow: ellipsis;
    }
    .CG_MemberPublicDirectory .card.cgp-compact-card .cgp-card-footer-bar .cgp-footer-sep {
        flex: 0 0 auto;
        margin: 0;
    }
    .CG_MemberPublicDirectory .card.cgp-compact-card .cgp-card-footer-bar > .cgp-footer-actions {
        flex: 0 0 auto;
        margin-left: auto;
        padding-left: 6px;
        gap: 8px;
        white-space: nowrap;
    }
}
@container cgpcardbar (max-width: 499.98px) {
    .CG_MemberPublicDirectory .card.cgp-compact-card .cgp-footer-conf .cgp-conf-label-long {
        display: none;
    }
    .CG_MemberPublicDirectory .card.cgp-compact-card .cgp-footer-conf .cgp-conf-label-short {
        display: inline;
    }
}

.CG_MemberPublicDirectory .card.cgp-compact-card .secondary-badge-pill {
    font-size: 10px;
    padding: 1px 8px;
    margin-left: 4px;
}

/* [SMART 1.1.20] Hide legacy next/prev; infinite scroll is primary */
.CG_MemberPublicDirectory .btn-prev,
.CG_MemberPublicDirectory .btn-next {
    display: none !important;
}

/* [SMART 1.1.20] Subtle infinite-scroll loading indicator */
.CG_MemberPublicDirectory .cgp-infinite-scroll-loader {
    display: none;
    text-align: center;
    padding: 10px 8px;
    font-size: 12px;
    color: #555;
    font-weight: 600;
}
.CG_MemberPublicDirectory .cgp-infinite-scroll-loader.is-visible {
    display: block;
}


/* [SMART 1.1.36 / 1.1.37 / 1.1.38 / 1.1.39] Desktop SMART/rank bars: 12px + wider pad; fixed 240px cert column.
   Name flush with photo. Do NOT change max-width:767px cert font/pad. */
@media (min-width: 768px) {
    .CG_MemberPublicDirectory .card.cgp-compact-card .cgp-logo-smart-bar {
        font-size: 12px;
        padding: 8px 16px;
        font-weight: 700;
        line-height: 1.25;
        width: 100%;
        max-width: 100%;
    }
    .CG_MemberPublicDirectory .card.cgp-compact-card .cgp-logo-rank-bars {
        gap: 4px;
        margin-top: 4px;
        width: 100%;
        max-width: 100%;
    }
    .CG_MemberPublicDirectory .card.cgp-compact-card .cgp-logo-rank-bar {
        font-size: 12px;
        padding: 8px 16px;
        font-weight: 700;
        line-height: 1.25;
        width: 100%;
        max-width: 100%;
    }
    .CG_MemberPublicDirectory .card.cgp-compact-card .cgp-cert-bar-label {
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    /* [SMART 1.1.39] Fixed-width cert column (Gary Hochstetler length) — not flex-grow leftover space */
    .CG_MemberPublicDirectory .card.cgp-compact-card .cgp-compact-card-logos {
        flex: 0 0 240px;
        width: 240px;
        max-width: 240px;
        min-width: 240px;
        align-items: stretch;
    }
    /* Content/name column takes remaining toprow space */
    .CG_MemberPublicDirectory .card.cgp-compact-card .cgp-compact-card-right {
        flex: 1 1 auto;
        min-width: 0;
    }
    .CG_MemberPublicDirectory .card.cgp-compact-card .cgp-cert-bar-row {
        width: 100%;
        min-width: 0;
    }
    /* Name flush with top of photo; Hide Details sits top-right without pushing name */
    .CG_MemberPublicDirectory .card.cgp-compact-card .cgp-compact-card-upper,
    .CG_MemberPublicDirectory .card.cgp-compact-card .cgp-compact-card-toprow {
        align-items: flex-start;
    }
    .CG_MemberPublicDirectory .card.cgp-compact-card .cgp-compact-card-right {
        padding-top: 0;
        margin-top: 0;
    }
    .CG_MemberPublicDirectory .card.cgp-compact-card .cs-name {
        margin-top: 0 !important; /* beats legacy @media 1024–1440 24px */
        padding-top: 0;
    }
    .CG_MemberPublicDirectory .card.cgp-compact-card .cgp-compact-expand-toggle {
        position: absolute;
        top: 0;
        right: 0;
        margin-bottom: 0;
        z-index: 2;
    }
}

@media (max-width: 767px) {
    /* [SMART 1.1.23] Mobile: photo|name row; SMART/rank/blue full-width under photo */
    .CG_MemberPublicDirectory .card.cgp-compact-card .cgp-compact-card-main {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        align-items: flex-start;
        gap: 10px;
    }
    /* Flatten wrappers so logos + footer can sit under the photo+name row */
    .CG_MemberPublicDirectory .card.cgp-compact-card .cgp-compact-card-upper,
    .CG_MemberPublicDirectory .card.cgp-compact-card .cgp-compact-card-content,
    .CG_MemberPublicDirectory .card.cgp-compact-card .cgp-compact-card-toprow {
        display: contents;
    }
    .CG_MemberPublicDirectory .card.cgp-compact-card .cgp-compact-card-left {
        flex: 0 0 88px;
        width: 88px;
        max-width: 88px;
        align-self: flex-start;
        overflow: hidden;
    }
    .CG_MemberPublicDirectory .card.cgp-compact-card .human-face-icon.user-profile-image,
    .CG_MemberPublicDirectory .card.cgp-compact-card .user-profile-image {
        flex: 0 0 88px;
        width: 88px !important;
        height: 88px !important;
        min-width: 88px;
        min-height: 88px;
        max-width: 88px;
        max-height: 88px;
        object-fit: cover;
    }
    .CG_MemberPublicDirectory .card.cgp-compact-card .cgp-compact-card-right {
        flex: 1 1 0;
        min-width: 0;
        max-width: calc(100% - 98px);
    }
    /* Full-width bars under photo+name */
    .CG_MemberPublicDirectory .card.cgp-compact-card .cgp-compact-card-logos {
        flex: 1 0 100%;
        width: 100%;
        max-width: 100%;
        margin-top: 0;
        align-self: stretch;
    }
    .CG_MemberPublicDirectory .card.cgp-compact-card .cgp-logo-smart-bar {
        font-size: 11px;
        padding: 6px 10px;
        width: 100%;
    }
    .CG_MemberPublicDirectory .card.cgp-compact-card .cgp-logo-rank-bars {
        width: 100%;
        gap: 2px;
    }
    .CG_MemberPublicDirectory .card.cgp-compact-card .cgp-logo-rank-bar {
        display: block;
        font-size: 11px;
        padding: 6px 10px;
        width: 100%;
    }
    /* [SMART 1.1.27] Stack Member Since + Conferences vertically on mobile */
    .CG_MemberPublicDirectory .card.cgp-compact-card .cgp-card-footer-bar {
        flex: 1 0 100%;
        flex-direction: column;
        width: 100%;
        max-width: 100%;
        margin-top: 0;
        font-size: 11px;
        padding: 8px 10px;
        gap: 4px;
        justify-content: center;
        align-items: center;
        text-align: center;
    }
    .CG_MemberPublicDirectory .card.cgp-compact-card .cgp-card-footer-bar > .cgp-footer-item {
        display: block;
        width: 100%;
        text-align: center;
        white-space: normal;
    }
    .CG_MemberPublicDirectory .card.cgp-compact-card .cgp-footer-share-url {
        display: none !important;
    }
    .CG_MemberPublicDirectory .card.cgp-compact-card .cgp-footer-view-details .cgp-vd-desktop {
        display: none !important;
    }
    .CG_MemberPublicDirectory .card.cgp-compact-card .cgp-footer-view-details .cgp-vd-mobile {
        display: inline !important;
    }
    .CG_MemberPublicDirectory .card.cgp-compact-card .cgp-footer-view-details,
    .CG_MemberPublicDirectory .card.cgp-compact-card .cgp-card-footer-bar .account-detail-custom-link.cgp-footer-view-details {
        text-transform: uppercase;
        letter-spacing: 0.04em;
    }
    .CG_MemberPublicDirectory .card.cgp-compact-card .cs-name {
        font-size: 15px;
    }
    .CG_MemberPublicDirectory .card.cgp-compact-card .cgp-card-footer-bar .cgp-footer-item {
        white-space: normal;
    }
    .CG_MemberPublicDirectory .card.cgp-compact-card .cgp-card-footer-bar .cgp-footer-actions {
        margin-left: 0;
        width: 100%;
        justify-content: center;
        flex-wrap: wrap;
    }
    .CG_MemberPublicDirectory .card.cgp-compact-card .cgp-card-footer-bar .account-detail-custom-link,
    .CG_MemberPublicDirectory .card.cgp-compact-card .cgp-card-footer-bar .cgp-footer-view-details {
        margin-left: 0;
    }
    .CG_MemberPublicDirectory .card.cgp-compact-card .cgp-card-footer-bar .cgp-footer-sep {
        display: none !important;
    }
    /* [SMART 1.1.47] Mobile: "VIEW DETAILS - SHOW ON MAP" is its own full-width row at the very
       bottom of the card, set apart from the Member Since / Conferences info above it (divider
       line + slightly darker band), and allowed to wrap instead of overflowing on narrow phones. */
    .CG_MemberPublicDirectory .card.cgp-compact-card .cgp-card-footer-bar {
        padding-bottom: 0;
    }
    .CG_MemberPublicDirectory .card.cgp-compact-card .cgp-card-footer-bar > .cgp-footer-actions {
        display: flex !important;
        order: 99;
        flex: 0 0 auto;
        align-self: stretch;
        width: auto;
        margin: 4px -10px 0;
        padding: 9px 10px;
        border-top: 1px solid rgba(255, 255, 255, 0.35);
        background: #00467a;
        justify-content: center;
        align-items: center;
        text-align: center;
        white-space: normal;
        box-sizing: border-box;
    }
    .CG_MemberPublicDirectory .card.cgp-compact-card .cgp-card-footer-bar > .cgp-footer-actions .cgp-footer-view-details {
        display: block;
        width: 100%;
        white-space: normal;
        font-size: 12px;
        line-height: 1.35;
    }
}


/* [SMART 1.1.24] Mobile search: match Search-by-name field width; stack Reset/Search; no overflow */
@media (max-width: 767px) {
    .CG_MemberPublicDirectory,
    .CG_MemberPublicDirectory .body-container,
    .CG_MemberPublicDirectory .search-area,
    .CG_MemberPublicDirectory .universal-search-area,
    .CG_MemberPublicDirectory .additional-filter-area {
        max-width: 100%;
        overflow-x: hidden;
        box-sizing: border-box;
    }
    /* Match universal-search-area.p-20 horizontal padding so filters/buttons align with name field */
    .CG_MemberPublicDirectory .additional-filter-area {
        padding-left: 20px;
        padding-right: 20px;
        box-sizing: border-box;
    }
    .CG_MemberPublicDirectory .universal-search-area .row,
    .CG_MemberPublicDirectory .additional-filter-area .row,
    .CG_MemberPublicDirectory .additional-filter-area .filter-top {
        margin-left: 0;
        margin-right: 0;
        max-width: 100%;
        width: 100%;
        box-sizing: border-box;
    }
    .CG_MemberPublicDirectory .search-by-name-section,
    .CG_MemberPublicDirectory .search-by-location-section,
    .CG_MemberPublicDirectory .search-by-zip-section,
    .CG_MemberPublicDirectory .search-by-radius-section,
    .CG_MemberPublicDirectory .additional-filter-area .checkbox-filter,
    .CG_MemberPublicDirectory .search-buttons-section {
        width: 100% !important;
        max-width: 100% !important;
        float: none;
        box-sizing: border-box;
        padding-left: 10px;
        padding-right: 10px;
    }
    .CG_MemberPublicDirectory .search_address_GDiv,
    .CG_MemberPublicDirectory .search_address_GDiv input,
    .CG_MemberPublicDirectory .additional-filter-area .wrapper,
    .CG_MemberPublicDirectory .additional-filter-area .form-control.toggle-next {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }
    .CG_MemberPublicDirectory .search-buttons-section {
        padding-left: 10px;
        padding-right: 10px;
    }
    .CG_MemberPublicDirectory .search-area .row,
    .CG_MemberPublicDirectory .btn-sec {
        max-width: 100%;
        width: 100%;
        box-sizing: border-box;
    }
    /* Stacked Reset/Search — same column width as Search by name (not full viewport) */
    .CG_MemberPublicDirectory .btn-sec {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0;
        margin-right: 0;
        gap: 10px;
    }
    .CG_MemberPublicDirectory .btn-sec .btn,
    .CG_MemberPublicDirectory .btn-sec .reset-btn,
    .CG_MemberPublicDirectory .btn-sec .btn-search {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        box-sizing: border-box;
    }
    .CG_MemberPublicDirectory .cs_clear_search_btn {
        width: 100% !important;
    }
}


/* ==========================================================================
   [SMART 1.1.32/1.1.34] List-card cert bar “i” popovers + all-cert click-expand logos
   ========================================================================== */
.CG_MemberPublicDirectory .card.cgp-compact-card {
    overflow: visible;
}
.CG_MemberPublicDirectory .card.cgp-compact-card > .card-body {
    overflow: visible;
}
/* [SMART 1.1.37] Full-width bar row: label flexes/truncates; reserved right slot for “i” */
.CG_MemberPublicDirectory .card.cgp-compact-card .cgp-cert-bar-row {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    gap: 4px;
    width: 100%;
    min-width: 0;
    position: relative;
    box-sizing: border-box;
}
.CG_MemberPublicDirectory .card.cgp-compact-card .cgp-cert-bar-label {
    flex: 1 1 auto;
    min-width: 0;
    text-align: center;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.CG_MemberPublicDirectory .card.cgp-compact-card .cgp-cert-info.popover__wrapper {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 22px;
    width: 22px;
    min-width: 22px;
    max-width: 22px;
    height: 100%;
    margin-top: 0;
    align-self: center;
    z-index: 5;
}
.CG_MemberPublicDirectory .card.cgp-compact-card .cgp-cert-info-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    text-decoration: none;
    cursor: help;
    width: 100%;
    height: 100%;
}
.CG_MemberPublicDirectory .card.cgp-compact-card .cgp-cert-info .info-icon {
    width: 14px;
    height: 14px;
    display: inline-block !important;
    vertical-align: middle;
    /* [SMART 1.1.35/1.1.37] No white plate — white glyph on green (info-white.svg + filter fallback) */
    background: transparent;
    border-radius: 0;
    padding: 0;
    box-sizing: content-box;
    filter: brightness(0) invert(1);
}
.CG_MemberPublicDirectory .card.cgp-compact-card .cgp-cert-info .popover__content {
    /* [SMART 1.1.38] Clear outline vs card background — cert-bar “i” only */
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    left: auto;
    margin-left: 0;
    transform: none;
    background-color: #ffffff;
    border: 1px solid #005696;
    box-shadow: 0px 4px 28px 0 rgba(0, 86, 150, 0.28);
    width: min(450px, 86vw);
    min-width: 260px;
    max-width: min(450px, 92vw);
    z-index: 10050;
    color: #333;
    font-weight: 400;
    text-transform: none;
    letter-spacing: normal;
    text-align: left;
    font-size: 12px;
    line-height: 1.4;
}
.CG_MemberPublicDirectory .card.cgp-compact-card .cgp-cert-info .popover__content:before {
    /* [SMART 1.1.38] Arrow outline matches popover border (#005696) */
    position: absolute;
    z-index: -1;
    content: "";
    right: 10px;
    left: auto;
    top: -11px;
    border-style: solid;
    border-width: 0 10px 11px 10px;
    border-color: transparent transparent #005696 transparent;
}
.CG_MemberPublicDirectory .card.cgp-compact-card .cgp-cert-info .popover__content:after {
    position: absolute;
    z-index: 0;
    content: "";
    right: 11px;
    left: auto;
    top: -9px;
    border-style: solid;
    border-width: 0 9px 9px 9px;
    border-color: transparent transparent #ffffff transparent;
}
.CG_MemberPublicDirectory .card.cgp-compact-card .cgp-cert-info:hover .popover__content,
.CG_MemberPublicDirectory .card.cgp-compact-card .cgp-cert-info.cgp-cert-info-open .popover__content {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: none;
}
.CG_MemberPublicDirectory .card.cgp-compact-card .cgp-cert-info .popover-content-title {
    border-bottom: 2px solid #C1D3E1;
    padding: 7px;
    font-size: 14px;
    color: #005696;
    font-weight: 600;
}
.CG_MemberPublicDirectory .card.cgp-compact-card .cgp-cert-info .popover__message {
    text-align: left;
    padding: 10px 15px;
    color: #333;
}
.CG_MemberPublicDirectory .card.cgp-compact-card .cgp-cert-info .popover__message a {
    color: #005696;
    font-weight: 600;
    text-decoration: underline;
}

/* [SMART 1.1.34 / 1.1.40] Shared cert-bar expand: fills colored bar width; all logos same size.
   Expand pad matches parent bar via data-cert-key (Option B). Do NOT hardcode #5a9e62/#7cc684 on all expands. */
.CG_MemberPublicDirectory .card.cgp-compact-card .cgp-cert-bar-expand,
.CG_MemberPublicDirectory .card.cgp-compact-card .cgp-smart-bar-expand {
    display: none;
    width: 100%;
    box-sizing: border-box;
    padding: 12px 10px 14px;
    margin: 6px 0 0;
    text-align: center;
    background: inherit; /* falls back to parent bar color */
}
/* SMART CERTIFIED expand only — scope green to Smart bars (not rank bars) */
.CG_MemberPublicDirectory .card.cgp-compact-card .cgp-logo-smart-bar .cgp-cert-bar-expand,
.CG_MemberPublicDirectory .card.cgp-compact-card .cgp-logo-smart-bar .cgp-smart-bar-expand,
.CG_MemberPublicDirectory .card.cgp-compact-card .cgp-cert-bar[data-cert-key="Smart"] > .cgp-cert-bar-expand,
.CG_MemberPublicDirectory .card.cgp-compact-card .cgp-cert-bar[data-cert-key="Smart"] > .cgp-smart-bar-expand {
    background: #7cc684;
}
/* Rank expand pads: Option B via data-cert-key (replaces legacy #5a9e62 halo) */
.CG_MemberPublicDirectory .card.cgp-compact-card .cgp-logo-rank-bar[data-cert-key="Accredited"] > .cgp-cert-bar-expand,
.CG_MemberPublicDirectory .card.cgp-compact-card .cgp-logo-rank-bar[data-cert-key="Biological_Dental_Hygiene"] > .cgp-cert-bar-expand {
    background: #2a9d8f;
}
.CG_MemberPublicDirectory .card.cgp-compact-card .cgp-logo-rank-bar[data-cert-key="Fellow"] > .cgp-cert-bar-expand,
.CG_MemberPublicDirectory .card.cgp-compact-card .cgp-logo-rank-bar[data-cert-key="Hygiene_Fellow"] > .cgp-cert-bar-expand {
    background: #3d7ea6;
}
.CG_MemberPublicDirectory .card.cgp-compact-card .cgp-logo-rank-bar[data-cert-key="Master"] > .cgp-cert-bar-expand,
.CG_MemberPublicDirectory .card.cgp-compact-card .cgp-logo-rank-bar[data-cert-key="Hygiene_Master"] > .cgp-cert-bar-expand {
    background: #1e4d7b;
}
.CG_MemberPublicDirectory .card.cgp-compact-card .cgp-cert-bar.cgp-cert-expanded > .cgp-cert-bar-expand,
.CG_MemberPublicDirectory .card.cgp-compact-card .cgp-logo-smart-bar.cgp-smart-expanded > .cgp-cert-bar-expand,
.CG_MemberPublicDirectory .card.cgp-compact-card .cgp-logo-smart-bar.cgp-smart-expanded > .cgp-smart-bar-expand,
.CG_MemberPublicDirectory .card.cgp-compact-card .cgp-logo-smart-bar.cgp-cert-expanded > .cgp-smart-bar-expand {
    display: flex;
    align-items: center;
    justify-content: center;
}
.CG_MemberPublicDirectory .card.cgp-compact-card .cgp-cert-bar-logo,
.CG_MemberPublicDirectory .card.cgp-compact-card .cgp-smart-bar-logo {
    display: block !important;
    width: 100%;
    max-width: 100%;
    height: 120px;
    max-height: 120px;
    object-fit: contain;
    object-position: center center;
    margin: 0 auto;
    background: #fff;
    border-radius: 4px;
    padding: 6px;
    box-sizing: border-box;
}
@media (max-width: 767px) {
    .CG_MemberPublicDirectory .card.cgp-compact-card .cgp-cert-info .info-icon {
        width: 12px;
        height: 12px;
    }
    .CG_MemberPublicDirectory .card.cgp-compact-card .cgp-cert-bar-logo,
    .CG_MemberPublicDirectory .card.cgp-compact-card .cgp-smart-bar-logo {
        height: 100px;
        max-height: 100px;
        padding: 5px;
    }
}

/* [SMART 1.1.37 / 1.1.38 / 1.1.39] Equal-width cert bars inside fixed logos column
   Desktop: .cgp-compact-card-logos is flex:0 0 240px (Gary length). Mobile: full-width under photo.
   SMART + every rank bar = 100% of that column. Short MASTER cannot shrink bars. */
.CG_MemberPublicDirectory .card.cgp-compact-card .cgp-compact-card-logos {
    align-items: stretch;
}
.CG_MemberPublicDirectory .card.cgp-compact-card .cgp-compact-card-logos > .cgp-logo-smart-bar,
.CG_MemberPublicDirectory .card.cgp-compact-card .cgp-compact-card-logos > .cgp-logo-rank-bars,
.CG_MemberPublicDirectory .card.cgp-compact-card .cgp-logo-rank-bars > .cgp-logo-rank-bar,
.CG_MemberPublicDirectory .card.cgp-compact-card .cgp-logo-smart-bar.cgp-cert-bar,
.CG_MemberPublicDirectory .card.cgp-compact-card .cgp-logo-rank-bar.cgp-cert-bar {
    width: 100%;
    min-width: 100%;
    max-width: 100%;
    align-self: stretch;
    box-sizing: border-box;
}
.CG_MemberPublicDirectory .card.cgp-compact-card .cgp-logo-rank-bars {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    min-width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

/* [SMART 1.1.39 / 1.1.40] Option B cert bar colors via data-cert-key (set in cgpAppendRankBar / cgpApplySmartRankBars)
   SMART CERTIFIED #7cc684; Accredited #2a9d8f; Fellow #3d7ea6; Master #1e4d7b.
   Hygiene variants reuse Accredited/Fellow/Master tones. White “i” stays visible on all.
   Expand pads (.cgp-cert-bar-expand) match these same keys — see 1.1.40 rules above. */
.CG_MemberPublicDirectory .card.cgp-compact-card .cgp-logo-smart-bar,
.CG_MemberPublicDirectory .card.cgp-compact-card .cgp-logo-smart-bar[data-cert-key="Smart"] {
    background: #7cc684;
}
.CG_MemberPublicDirectory .card.cgp-compact-card .cgp-logo-rank-bar[data-cert-key="Accredited"],
.CG_MemberPublicDirectory .card.cgp-compact-card .cgp-logo-rank-bar[data-cert-key="Biological_Dental_Hygiene"] {
    background: #2a9d8f;
}
.CG_MemberPublicDirectory .card.cgp-compact-card .cgp-logo-rank-bar[data-cert-key="Fellow"],
.CG_MemberPublicDirectory .card.cgp-compact-card .cgp-logo-rank-bar[data-cert-key="Hygiene_Fellow"] {
    background: #3d7ea6;
}
.CG_MemberPublicDirectory .card.cgp-compact-card .cgp-logo-rank-bar[data-cert-key="Master"],
.CG_MemberPublicDirectory .card.cgp-compact-card .cgp-logo-rank-bar[data-cert-key="Hygiene_Master"] {
    background: #1e4d7b;
}

/* [SMART 1.1.52] Minimal jQuery UI Autocomplete menu styles
   (replaces full CDN jquery-ui theme CSS from code.jquery.com).
   Only used by #member_autocomplete name suggestions. */
.ui-autocomplete {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 10050;
	cursor: default;
	max-height: 280px;
	overflow-y: auto;
	overflow-x: hidden;
	background: #fff;
	border: 1px solid #c5c5c5;
	border-radius: 3px;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
	padding: 2px 0;
	list-style: none;
	margin: 0;
	box-sizing: border-box;
}
.ui-autocomplete .ui-menu-item {
	margin: 0;
	padding: 0;
	list-style: none;
}
.ui-autocomplete .ui-menu-item-wrapper,
.ui-autocomplete .ui-menu-item > div {
	display: block;
	padding: 6px 12px;
	color: #333;
	text-decoration: none;
	cursor: pointer;
	font-size: 14px;
	line-height: 1.35;
}
.ui-autocomplete .ui-state-active,
.ui-autocomplete .ui-menu-item-wrapper.ui-state-active,
.ui-autocomplete .ui-menu-item-wrapper:hover,
.ui-autocomplete .ui-menu-item > div:hover {
	background: #00467a;
	color: #fff;
	border: none;
	margin: 0;
}
.ui-helper-hidden-accessible {
	border: 0;
	clip: rect(0 0 0 0);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
}

/* ==========================================================================
   [SMART 1.1.56] Member profile speed
   ========================================================================== */
/* Lazy map placeholder — fills #map (same 800px box / 280px+ on phones), no static Maps image */
.CG_MemberPublicDirectory #map.cgp-map-lazy {
    position: relative;
    background: #e9eef2;
}
.CG_MemberPublicDirectory .cgp-map-placeholder {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    cursor: pointer;
    background-color: #e9eef2;
    background-image:
        linear-gradient(rgba(255,255,255,.55) 2px, transparent 2px),
        linear-gradient(90deg, rgba(255,255,255,.55) 2px, transparent 2px);
    background-size: 64px 64px;
    color: #2b5d8a;
    text-align: center;
    padding: 110px 24px 24px;
    box-sizing: border-box;
}
.CG_MemberPublicDirectory .cgp-map-placeholder:focus-visible {
    outline: 3px solid #348335;
    outline-offset: -3px;
}
.CG_MemberPublicDirectory .cgp-map-placeholder-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    max-width: 320px;
}
.CG_MemberPublicDirectory .cgp-map-placeholder-pin {
    color: #c0392b;
    display: block;
}
.CG_MemberPublicDirectory .cgp-map-placeholder-address {
    color: #333;
    font-size: 15px;
    line-height: 1.4;
    background: rgba(255,255,255,.85);
    border-radius: 4px;
    padding: 6px 10px;
}
.CG_MemberPublicDirectory .cgp-map-placeholder-btn {
    display: inline-block;
    background: #348335;
    color: #fff;
    border-radius: 4px;
    padding: 8px 18px;
    font-weight: 600;
    font-size: 15px;
    line-height: 1.3;
    box-shadow: 0 1px 3px rgba(0,0,0,.2);
}
.CG_MemberPublicDirectory .cgp-map-placeholder:hover .cgp-map-placeholder-btn {
    background: #2b6e2c;
}
.CG_MemberPublicDirectory .cgp-map-placeholder.is-loading {
    cursor: progress;
}
.CG_MemberPublicDirectory .cgp-map-placeholder.is-loading .cgp-map-placeholder-btn {
    opacity: .8;
}
.CG_MemberPublicDirectory .cgp-map-placeholder.is-error .cgp-map-placeholder-btn {
    background: #a94442;
}
/* Certification badges in <picture> (WebP + JPEG): no inline line-box gap, same size as before */
.CG_MemberPublicDirectory .certification-container picture.cgp-cert-pic {
    display: flex;
    line-height: 0;
}
/* Inline SVG icons that replaced Font Awesome (share copy, pagination arrows) */
.CG_MemberPublicDirectory svg.cgp-icon {
    display: inline-block;
    vertical-align: -0.125em;
    overflow: visible;
}
