/* Maryland Homebuyer Hub Professional Directory shell: announcement bar, header, navigation, footer. Loaded only on GeoDirectory pages. */
.mhh-dirannounce{background:#111214;color:rgba(255,255,255,.88);font-size:13.5px;line-height:1.5}
.mhh-dirannounce-in{width:min(1320px,calc(100vw - 48px));margin:0 auto;padding:9px 0}
.mhh-dirannounce a{color:#ffbd12;text-decoration:none;font-weight:800}
.mhh-dirannounce a:hover{text-decoration:underline}

.mhh-dirhead{position:relative;z-index:60}
.mhh-dirhead-label{display:inline-block;margin-left:14px;padding-left:16px;border-left:1px solid #e7e4df;font-size:12.5px;font-weight:900;letter-spacing:1.6px;text-transform:uppercase;color:#5b5e63;white-space:nowrap}
@media (max-width:1200px){.mhh-dirhead-label{display:none}}

/* ---------- desktop navigation ---------- */
.mhh-dirnav ul{list-style:none;margin:0;padding:0}
.mhh-dirnav>ul{display:flex;align-items:center;gap:2px}
.mhh-dirnav>ul>li{position:relative}
.mhh-dirnav>ul>li>a,.mhh-dirnav>ul>li>button{display:inline-flex;align-items:center;gap:7px;padding:10px 13px;font-size:15px;font-weight:800;color:#111214;text-decoration:none;border-radius:7px;background:none;border:0;cursor:pointer;font-family:inherit;line-height:1.3;white-space:nowrap}
.mhh-dirnav>ul>li>a:hover,.mhh-dirnav>ul>li>button:hover,.mhh-dirnav>ul>li:hover>a,.mhh-dirnav>ul>li:hover>button,.mhh-dirnav>ul>li:focus-within>a,.mhh-dirnav>ul>li:focus-within>button{color:#c91525;background:#faf8f3}
.mhh-dircaret{width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid currentColor;opacity:.55;flex:0 0 auto}

.mhh-dirsub{position:absolute;top:calc(100% + 6px);left:0;min-width:262px;background:#fff;border:1px solid #e7e4df;border-radius:11px;box-shadow:0 20px 48px rgba(17,18,20,.17);padding:9px;opacity:0;visibility:hidden;transform:translateY(7px);transition:opacity .14s ease,transform .14s ease,visibility .14s;z-index:70}
.mhh-has-sub:hover>.mhh-dirsub,.mhh-has-sub:focus-within>.mhh-dirsub{opacity:1;visibility:visible;transform:translateY(0)}
.mhh-dirsub li{position:relative}
.mhh-dirsub a{display:block;padding:10px 13px;font-size:14.5px;font-weight:700;color:#111214;text-decoration:none;border-radius:7px;line-height:1.35}
.mhh-dirsub a:hover{background:#faf8f3;color:#c91525}
.mhh-dirsub-group>span{display:block;padding:12px 13px 6px;font-size:11px;font-weight:900;letter-spacing:1.3px;text-transform:uppercase;color:#8a8d92}
.mhh-dirsub-group>ul{padding:0 0 4px}
.mhh-dirsub-group+.mhh-dirsub-group{border-top:1px solid #f0ede8;margin-top:4px}

/* ---------- search icon ---------- */
.mhh-dirsearch{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid #e7e4df;border-radius:50%;color:#111214;text-decoration:none;flex:0 0 auto;margin-left:6px}
.mhh-dirsearch:hover{border-color:#c91525;color:#c91525}
.mhh-dirsearch span{display:block;width:15px;height:15px;border:2px solid currentColor;border-radius:50%;position:relative}
.mhh-dirsearch span::after{content:"";position:absolute;right:-6px;bottom:-4px;width:7px;height:2px;background:currentColor;transform:rotate(45deg);border-radius:2px}
@media (max-width:1024px){.mhh-dirsearch{display:none}}

/* ---------- mobile navigation ---------- */
.mhh-dirnav-m{list-style:none;margin:0;padding:0}
.mhh-dirnav-m>li{border-bottom:1px solid #eeebe5}
.mhh-dirnav-m>li>a{display:block;padding:15px 2px;font-size:16.5px;font-weight:800;color:#111214;text-decoration:none}
.mhh-dirnav-m>li>a:hover{color:#c91525}
.mhh-dirnav-m details>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:15px 2px;font-size:16.5px;font-weight:800;color:#111214;cursor:pointer}
.mhh-dirnav-m details>summary::-webkit-details-marker{display:none}
.mhh-dirnav-m details>summary a{color:inherit;text-decoration:none}
.mhh-dirnav-m details>summary::after{content:"";width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid currentColor;opacity:.5;transition:transform .15s ease;flex:0 0 auto}
.mhh-dirnav-m details[open]>summary::after{transform:rotate(180deg)}
.mhh-dirsub-m{list-style:none;margin:0 0 10px;padding:0 0 0 4px}
.mhh-dirsub-m a{display:block;padding:11px 10px;font-size:15px;font-weight:700;color:#41454b;text-decoration:none;border-left:2px solid #eeebe5}
.mhh-dirsub-m a:hover{color:#c91525;border-left-color:#c91525}
.mhh-dirsub-m .mhh-dirsub-group>span{display:block;padding:12px 10px 4px;font-size:11px;font-weight:900;letter-spacing:1.3px;text-transform:uppercase;color:#8a8d92}
.mhh-dirsub-m .mhh-dirsub-group>ul{list-style:none;margin:0;padding:0}

/* ---------- footer ---------- */
.mhh-dirfoot{background:#0f1322;color:rgba(255,255,255,.72);padding:62px 0 0;font-size:15px;line-height:1.65}
.mhh-dirfoot-inner{width:min(1320px,calc(100vw - 48px));margin:0 auto;display:grid;grid-template-columns:minmax(0,1.5fr) repeat(2,minmax(0,1fr));gap:44px}
.mhh-dirfoot-logo{display:inline-block;background:#fff;border-radius:11px;padding:13px 17px;line-height:0}
.mhh-dirfoot-logo img{width:210px;height:auto;display:block}
.mhh-dirfoot-tag{margin:18px 0 14px;max-width:46ch;color:rgba(255,255,255,.66)}
.mhh-dirfoot-contact{margin:0}
.mhh-dirfoot a{color:rgba(255,255,255,.82);text-decoration:none}
.mhh-dirfoot a:hover{color:#ffbd12}
.mhh-dirfoot-col h2{margin:0 0 15px!important;font-size:12.5px!important;font-weight:900!important;letter-spacing:1.6px!important;text-transform:uppercase!important;color:#fff!important;line-height:1.3!important}
.mhh-dirfoot-col ul{list-style:none;margin:0;padding:0}
.mhh-dirfoot-col li{margin:0 0 10px}
.mhh-dirfoot-legal{margin-top:52px;border-top:1px solid rgba(255,255,255,.12);padding:22px 0}
.mhh-dirfoot-legalrow{display:flex!important;flex-wrap:wrap;gap:14px 28px;align-items:center;justify-content:space-between;grid-template-columns:none!important}
.mhh-dirfoot-legalrow p{margin:0;font-size:14px;color:rgba(255,255,255,.6)}
.mhh-dirfoot-legalrow ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:22px;font-size:14px}
.mhh-dirfoot-disc{background:#0a0d18;margin:0;padding:18px 0;font-size:12.5px;line-height:1.6;color:rgba(255,255,255,.45)}
.mhh-dirfoot-disc .mhh-dirfoot-inner{display:block}

@media (max-width:860px){
 .mhh-dirfoot-inner{grid-template-columns:minmax(0,1fr);gap:34px}
}
@media (max-width:782px){
 .mhh-dirannounce-in,.mhh-dirfoot-inner{width:calc(100vw - 32px)}
 .mhh-dirannounce{font-size:12.5px}
 .mhh-dirannounce-in>div{flex-direction:column!important;gap:4px!important;text-align:center}
 .mhh-dirfoot{padding-top:44px}
 .mhh-dirfoot-legalrow{justify-content:flex-start}
}

/* ---------- multi-column county flyout ---------- */
.mhh-dirsub--cols{display:grid;grid-template-columns:repeat(3,minmax(184px,1fr));gap:0 4px;min-width:592px;max-height:min(74vh,600px);overflow-y:auto}
@media (max-width:1240px){.mhh-dirsub--cols{grid-template-columns:repeat(2,minmax(186px,1fr));min-width:400px}}
.mhh-dirsub--cols .mhh-dirsub-all{grid-column:1/-1}
.mhh-dirsub-all a{font-weight:900;color:#c91525}
.mhh-dirsub-all{border-bottom:1px solid #f0ede8;margin-bottom:5px;padding-bottom:3px}
.mhh-dirsub--cols a{padding:9px 12px;font-size:14px}
.mhh-dirnav>ul>li:last-child>.mhh-dirsub,.mhh-dirnav>ul>li:nth-last-child(2)>.mhh-dirsub{left:auto;right:0}
.mhh-dirsub--side{top:-9px;left:100%;margin-left:4px}
.mhh-dirnav>ul>li:last-child .mhh-dirsub--side,.mhh-dirnav>ul>li:nth-last-child(2) .mhh-dirsub--side{left:auto;right:100%;margin-left:0;margin-right:4px}
.mhh-dirsub .mhh-has-sub>a,.mhh-dirsub .mhh-has-sub>button{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:10px 13px;font-size:14.5px;font-weight:700;color:#111214;background:none;border:0;cursor:pointer;font-family:inherit;border-radius:7px;text-align:left}
.mhh-dirsub .mhh-has-sub:hover>a,.mhh-dirsub .mhh-has-sub:hover>button,.mhh-dirsub .mhh-has-sub:focus-within>a{background:#faf8f3;color:#c91525}
.mhh-dirsub .mhh-has-sub>a .mhh-dircaret,.mhh-dirsub .mhh-has-sub>button .mhh-dircaret{border-top:4px solid transparent;border-bottom:4px solid transparent;border-left:5px solid currentColor;border-right:0}
@media (max-width:1024px){.mhh-dirsub--cols{grid-template-columns:minmax(0,1fr);min-width:0;max-height:none;overflow:visible}}
.mhh-dirsub-m .mhh-dirsub-all a{font-weight:900;color:#c91525;border-left-color:#c91525}
.mhh-dirsub-m details>summary{padding:12px 10px;font-size:15px}
.mhh-dirsub-m details .mhh-dirsub-m{padding-left:10px}

/* ---------- shared professional card (homepage, category archives, related) ---------- */
.mhh-dcard{position:relative;display:flex;flex-direction:column;height:100%;background:#fff;border:1px solid #e7e4df;border-radius:15px;overflow:hidden;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease;box-shadow:0 1px 3px rgba(17,18,20,.06)}
.mhh-dcard:hover{border-color:#d2ccc2;box-shadow:0 18px 42px rgba(17,18,20,.15);transform:translateY(-3px)}
.mhh-dcard-media{position:relative;aspect-ratio:3/2;background:#fff;border-bottom:1px solid #e7e4df;overflow:hidden;display:flex;align-items:center;justify-content:center;padding:14px}
.mhh-dcard-media .geodir-post-slider,.mhh-dcard-media .geodir-image-container,.mhh-dcard-media .geodir-images,.mhh-dcard-media .carousel,.mhh-dcard-media .carousel-inner,.mhh-dcard-media .carousel-item,.mhh-dcard-media .aui-gallery,.mhh-dcard-media .ratio,.mhh-dcard-media .embed-responsive,.mhh-dcard-media a.geodir-link-image{--bs-aspect-ratio:auto!important;aspect-ratio:auto!important;width:100%!important;height:100%!important;display:block!important;position:static!important;overflow:visible!important;background:none!important;margin:0!important}
.mhh-dcard-media .ratio::before,.mhh-dcard-media .embed-responsive::before{display:none!important;content:none!important;padding-top:0!important}
.mhh-dcard-media img{width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important;position:static!important;display:block;border:0!important;padding:0!important;margin:0!important}
.mhh-dcard-media .flex-direction-nav,.mhh-dcard-media .flex-control-nav,.mhh-dcard-media .carousel-control-prev,.mhh-dcard-media .carousel-control-next,.mhh-dcard-media .geodir-image-caption{display:none!important}
.mhh-dcard-flag{position:absolute;top:15px;left:15px;z-index:3}
.mhh-dcard-flag:empty{display:none}
.mhh-dcard-flag .gd-badge,.mhh-dcard-flag .badge{display:inline-flex;align-items:center;gap:6px;background:#ffbd12!important;color:#111!important;font-size:11.5px!important;font-weight:900!important;letter-spacing:1.1px;text-transform:uppercase;padding:8px 15px!important;border-radius:99px!important;cursor:default;box-shadow:0 3px 12px rgba(0,0,0,.22)}
.mhh-dcard-flag .gd-badge::before{content:"★ ";font-size:12px;line-height:1}
.mhh-dcard-body{display:flex;flex-direction:column;flex:1 1 auto;padding:23px 25px 25px}
.mhh-dcard-title{margin:0 0 7px}
.mhh-dcard-title .geodir-post-title{margin:0!important}
.mhh-dcard-title h2,.mhh-dcard-title h3,.mhh-dcard-title .geodir-entry-title{margin:0!important;font-size:21px!important;line-height:1.25!important;letter-spacing:-.4px!important;font-weight:800!important}
.mhh-dcard-title a{color:#111214!important;text-decoration:none!important}
.mhh-dcard-title a::after{content:"";position:absolute;inset:0;z-index:2}
.mhh-dcard:hover .mhh-dcard-title a{color:#c91525!important}
.mhh-dcard-loc{margin:0 0 14px;font-size:14.5px;color:#5b5e63}
.mhh-dcard-loc .geodir-post-address-container,.mhh-dcard-loc .geodir_post_meta{margin:0!important}
.mhh-dcard-loc .geodir_post_meta_title{display:none!important}
.mhh-dcard-loc .geodir_post_meta_icon{margin-right:6px;color:#c91525;opacity:.8}
.mhh-dcard-tags{margin-top:auto}
.mhh-dcard-tags .geodir-single-taxonomies-container,.mhh-dcard-tags .geodir_post_taxomomies{margin:0!important}
.mhh-dcard-tags .geodir-category{float:none!important;display:block;font-size:0!important;line-height:0!important}
.mhh-dcard-tags a,.mhh-dcard-tags a.badge{display:inline-block;line-height:1.2!important;background:#faf8f3!important;color:#5b5e63!important;border:1px solid #e7e4df!important;padding:7px 13px!important;margin:0 6px 6px 0!important;font-size:12.5px!important;font-weight:800!important;letter-spacing:0!important;text-transform:none!important;text-decoration:none!important;border-radius:99px!important}
.mhh-dcard-tags a:hover{border-color:#c91525!important;color:#c91525!important}
@media (max-width:782px){.mhh-dcard-media{aspect-ratio:16/10}}
