.gmap_top_wrapper{
    position: relative;
}
.gmap_top_wrapper .bt_bb_column_content_inner{
    position: relative;
    height: 100%;
    overflow: hidden;
}
.gmap_top_wrapper .bt_bb_column_content_inner .bt_bb_raw_content{
    position: relative;
    height: 100%;
}
.gmap_top_wrapper .bt_bb_column_content_inner .bt_bb_raw_content iframe{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.attorneys_outer_wrapper .attorney_users{
    width: 100%;
}
.attorneys_outer_wrapper .attorney_users .bt_bb_card_content{
    margin: 0!important;
}
.attorneys_outer_wrapper .attorney_users .bt_bb_card_content .bt_bb_card_text_box{
    padding-left: 5px !important;
      padding-right: 5px !important;
      text-align: center !important;
}
.attorneys_outer_wrapper .attorney_users .bt_bb_card_content .bt_bb_card_text_box .bt_bb_card_title{
    font-size: 18px !important;
    line-height: 1.2 !important;
    margin-bottom: 5px !important;
    text-align: center !important;
    font-weight: 600 !important;
}

/* Attorneys listing page (page-id-1407) — every attorney card's shortcode
   carries an invisible [bt_bb_separator bottom_spacing="small" border_style
   ="none"] nested inside it, which the theme renders into
   .bt_bb_card_content_inner solely to occupy space, stacked on top of the
   theme's own fixed 2.5em bottom padding on .bt_bb_card_text_box. Together
   they leave a tall blank gap below the name/title before the card's white
   background ends. Scoped by page ID since these cards carry no el_class of
   their own for .attorneys_outer_wrapper/.attorney_users above to match. */
.page-id-1407 .bt_bb_card .bt_bb_card_content_inner {
    display: none;
}

.page-id-1407 .bt_bb_card .bt_bb_card_text_box {
    padding-bottom: 1.35em;
}

/* The theme pulls a card's content box up over its image by -3em
   (goldenblatt/style.css .bt_bb_icon_size_small .bt_bb_card_content) so an
   icon tile can straddle the photo/panel seam. These attorney cards carry no
   icon, so the pull just crops the bottom of the headshot instead — zeroed
   out here, matching the .attorneys_outer_wrapper override already used for
   the About Us page's own attorney cards. */
.page-id-1407 .bt_bb_card .bt_bb_card_content {
    margin-top: 0 !important;
    position: relative;
    display: flex;
    align-items: center;
    gap: 16px;
    background: #fff;
    padding: 20px;
}

/* Scale-of-justice badge (bt_bb_card's own icon feature, icon="law_f14d"),
   sitting in the same row as the name/title (icon_box and text_box are flex
   items of card_content above) rather than floated over the headshot or
   stacked above the text. Selectors match the parent theme's own
   icon_size_small rules class-for-class (goldenblatt/style.css) so this
   outweighs them. */
.page-id-1407 .bt_bb_icon_size_small.bt_bb_card .bt_bb_card_content .bt_bb_card_icon_box {
    position: relative;
    width: auto;
    margin: 0;
    background: none;
    z-index: 3;
    flex-shrink: 0;
}

.page-id-1407 .bt_bb_icon_size_small.bt_bb_card .bt_bb_card_content .bt_bb_card_icon_box .bt_bb_card_icon {
    width: 52px;
    height: 52px;
    min-width: 52px;
    border-radius: 0;
    background-color: var(--conmy-maroon);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}

.page-id-1407 .bt_bb_icon_size_small.bt_bb_card .bt_bb_card_content .bt_bb_card_text_box {
    padding: 0;
    background: none;
}

.page-id-1407 .bt_bb_icon_size_small.bt_bb_card .bt_bb_card_content .bt_bb_card_icon_box .bt_bb_card_icon .bt_bb_icon_holder {
    font-size: 22px;
}

/* [team_attorneys] / [team_staff] (conmy_team_category_shortcode() in
   functions.php) — the same five rules as the page-id-1407 block just
   above, scoped to this shortcode's own wrapper class instead of a page ID
   so the card looks identical wherever the shortcode is dropped, not only
   on the one page it happened to be pasted into first. */
/* Without this, .bt_bb_card itself only shrink-wraps to its own content
   (name + role text) rather than filling its column — every card ends up a
   different width depending on how long that attorney/staff member's name
   and title happen to be, instead of the columns lining up evenly. Setting
   width on .bt_bb_card_content alone (below) wasn't enough on its own: that
   only made the content match the card's own (still shrunk) width. */
.conmyTeam .bt_bb_card {
    display: block;
    width: 100%;
}

/* The real shrink-wrapper turned out to be one level further up:
   .bt_bb_column_content (goldenblatt/style.css) is a flex container with
   align-items:flex-start, so its only child — .bt_bb_column_content_inner,
   width:auto — sizes to its own content instead of stretching to fill the
   column, which is what actually made every card a different width
   regardless of the width:100% already set on .bt_bb_card above (100% of an
   already-shrunk parent is still shrunk). Forcing this inner wrapper's width
   is what makes the column's full 1/3 or 1/4 share reach the card at all. */
.conmyTeam .bt_bb_column_content_inner {
    width: 100%;
}

.conmyTeam .bt_bb_card .bt_bb_card_content_inner {
    display: none;
}

.conmyTeam .bt_bb_card .bt_bb_card_text_box {
    padding-bottom: 1.35em;
}

.conmyTeam .bt_bb_card .bt_bb_card_content {
    margin-top: 0 !important;
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
    gap: 16px;
    background: #fff;
    padding: 20px;
}

.conmyTeam .bt_bb_icon_size_small.bt_bb_card .bt_bb_card_content .bt_bb_card_icon_box {
    position: relative;
    width: auto;
    margin: 0;
    background: none;
    z-index: 3;
    flex-shrink: 0;
}

.conmyTeam .bt_bb_icon_size_small.bt_bb_card .bt_bb_card_content .bt_bb_card_icon_box .bt_bb_card_icon {
    width: 52px;
    height: 52px;
    min-width: 52px;
    border-radius: 0;
    background-color: var(--conmy-maroon);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}

.conmyTeam .bt_bb_icon_size_small.bt_bb_card .bt_bb_card_content .bt_bb_card_text_box {
    padding: 0;
    background: none;
}

.conmyTeam .bt_bb_icon_size_small.bt_bb_card .bt_bb_card_content .bt_bb_card_icon_box .bt_bb_card_icon .bt_bb_icon_holder {
    font-size: 22px;
}

/* [team_attorneys] / [team_staff] wrapper — breathing room above/below the
   card grid regardless of which page/section it's dropped into. */
.conmyTeam {
    padding: 4em 0;
}

@media (max-width: 768px) {
    .conmyTeam {
        padding: 2.5em 0;
    }
}

/* Cards render N (=columns) to a row — each group beyond seven-or-fewer
   items is a separate [bt_bb_row], not a wrapped line within one, so the
   vertical gap between them is a margin on the row itself. Same rule as
   .conmyPractice .conmyCardsSpaced (style.css), portable here since
   .conmyTeam carries no conmyPractice class of its own. */
.conmyTeam .conmyCardsSpaced {
    margin-top: 30px;
}

/* Below 992px the grid's own breakpoints (col-md-6/col-sm-6, then col-xs-12
   under 481px — see the width_xs/width_sm/width_md attributes the shortcode
   puts on each column in conmy_team_category_shortcode()) wrap cards from a
   single row onto two or more lines, or stack them fully on a phone. Nothing
   set a vertical gap for that wrap, so a card's bottom edge sat flush against
   the top of the card below it. Same fix as .conmyPractice .conmyCards
   further down this file, applied to every [team_attorneys]/[team_staff]
   grid site-wide (the "Meet Our Lawyers" section on the home page and the
   /team/ page alike) via the shared .conmyTeam wrapper. */
@media (max-width: 992px) {
    .conmyTeam .conmyCards .bt_bb_row_holder > .bt_bb_column {
        margin-bottom: 30px;
    }
    .conmyTeam .conmyCards .bt_bb_row_holder > .bt_bb_column:last-child {
        margin-bottom: 0;
    }
}

/* Staff cards: light panel background instead of Attorneys' plain white,
   and a tighter 3-up grid (set as the shortcode's own default — see
   conmy_team_staff_shortcode()). The background is full-bleed (edge to
   edge of the viewport) even though .conmyTeamStaff itself sits nested
   inside the page's boxed_1200 section — box-shadow spread stands in for
   a background-color here since it isn't clipped to the element's own
   box the way a background is, and clip-path keeps that spread from
   creating horizontal scroll. The heading/grid inside stay at their
   normal boxed width; only the colour bleeds. */
.conmyTeamStaff {
    position: relative;
    background-color: #f5f5f5;
    box-shadow: 0 0 0 100vmax #f5f5f5;
    clip-path: inset(0 -100vmax);
}
.other_practice_area_wrapper .conmyMs {
	--conmy-ms-bg:      transparent;

	/* padding: 7.5rem 1.25rem 6.5rem; */
    padding: 0;
	background-color: var(--conmy-ms-bg);
}
.other_practice_area_wrapper{
    background-color:      #EFF3F4!important;
}

/* Practice Area listing page (page-id-4024): a leftover partial row (here,
   7 cards -> 2 full rows of 3 + 1) gets .conmyCardsCentered from
   conmy_practice_categories_shortcode(), which centers that last card
   (style.css: .conmyCardsCentered .bt_bb_row_holder{justify-content:center}).
   Left-aligned here instead, matching the full rows above it. */
.page-id-4024 .conmyCardsCentered .bt_bb_row_holder {
    justify-content: flex-start;
}

/* Jed V. Thomas attorney page: the row's own min-height (912px, set via the
   shortcode's el_style) doesn't reach the flex children — .bt_bb_row_holder
   sizes to its columns' content regardless of the outer row's height, so the
   photo and contact-card columns stayed short with dead space left over
   below the row. Stretching the holder itself lets both columns (already
   height:100% + flex align-items:stretch) fill the full 912px. */
.conmyJedHero .bt_bb_row_holder {
    min-height: 912px;
    /* The theme pins a single flex line to the top via align-content:
       flex-start (goldenblatt/style.css), so a taller container just leaves
       blank space below the line instead of stretching it — override back
       to stretch so the columns (already height:100% + flex) fill the
       912px instead of sitting at their natural content height. */
    align-content: stretch;
}

/* Attorney "VCARD" button — desktop preview modal (conmy.js). Styled after
   the native contact-card sheet iOS/Android already show for the same .vcf
   link, since that's the look the client asked to match on desktop. */
.conmyVCardModal {
	position: fixed;
	inset: 0;
	/* Above header.mainHeader (z-index: 10002, goldenblatt/style.css), which
	   otherwise sits above the overlay and both blocks outside-click-to-close
	   over the header area and stays fully lit while the rest dims. */
	z-index: 10010;
	display: flex;
	align-items: center;
	justify-content: center;
}
/* The class selector's display:flex above outranks the UA stylesheet's
   [hidden]{display:none} (attribute vs. class specificity), so the closed
   modal would otherwise stay laid out and keep eating clicks. */
.conmyVCardModal[hidden] {
	display: none;
}
.conmyVCardOverlay {
	position: absolute;
	inset: 0;
	background: rgba( 20, 27, 38, 0.6 );
}
.conmyVCardCard {
	position: relative;
	width: 320px;
	max-width: 90vw;
	padding: 2.5rem 1.75rem 1.75rem;
	border-radius: 20px;
	background: linear-gradient( 160deg, var( --conmy-navy ) 0%, var( --conmy-maroon ) 140% );
	color: #fff;
	text-align: center;
	box-shadow: 0 20px 60px rgba( 0, 0, 0, 0.35 );
}
.conmyVCardClose {
	position: absolute;
	top: 0.75rem;
	right: 0.75rem;
	width: 2rem;
	height: 2rem;
	border: 0;
	border-radius: 50%;
	background: rgba( 255, 255, 255, 0.15 );
	color: #fff;
	font-size: 1.25rem;
	line-height: 1;
	cursor: pointer;
}
.conmyVCardAvatar {
	width: 96px;
	height: 96px;
	margin: 0 auto 1.25rem;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid rgba( 255, 255, 255, 0.5 );
	border-radius: 50%;
	font-size: 2rem;
	font-weight: 600;
	letter-spacing: 0.05em;
}
.conmyVCardKicker {
	font-size: 0.7rem;
	letter-spacing: 0.1em;
	opacity: 0.75;
	margin-bottom: 0.35rem;
}
.conmyVCardName {
	font-family: var( --e-heading-font, inherit );
	font-size: 1.4rem;
	font-weight: 600;
	margin-bottom: 1.5rem;
}
.conmyVCardActions {
	display: flex;
	justify-content: center;
	gap: 0.75rem;
	margin-bottom: 1.5rem;
}
.conmyVCardAction {
	width: 2.75rem;
	height: 2.75rem;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: rgba( 255, 255, 255, 0.12 );
	color: #fff;
	text-decoration: none;
	font-size: 1.1rem;
}
.conmyVCardAction:hover {
	/* Pinned against the theme's global a:hover (goldenblatt/style.css),
	   which recolors links to the maroon accent on hover — the icon's SVG
	   uses stroke="currentColor", so without this it went low-contrast
	   maroon-on-dark instead of staying white. */
	color: #fff;
	background: rgba( 255, 255, 255, 0.22 );
}
.conmyVCardInfo {
	border-top: 1px solid rgba( 255, 255, 255, 0.2 );
	padding-top: 1rem;
	text-align: left;
}
.conmyVCardRow {
	padding: 0.5rem 0;
	border-bottom: 1px solid rgba( 255, 255, 255, 0.12 );
	font-size: 0.9rem;
}
.conmyVCardRow:last-child {
	border-bottom: 0;
}
.conmyVCardRow span:first-child {
	display: block;
	font-size: 0.7rem;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	opacity: 0.6;
	margin-bottom: 0.15rem;
}
.conmyVCardRow a,
.conmyVCardRow span:last-child {
	color: #fff;
	text-decoration: none;
}

/* 404 page (404.php) — the parent's own error page (goldenblatt/style.css
   body.error404 rules) hides the header and footer nav entirely, so the
   logo, search box and quick-link row added here are the only things on the
   page besides "BACK TO HOME". The oversized plug.png watermark (set inline
   as this section's background-image, parent CSS: background-size:initial;
   background-position:30% bottom) was sized for that original two-line
   layout; constrained and pushed behind the (now taller) content stack
   instead of colliding with it, and dropped below tablet width entirely
   rather than fighting for space against stacked content on a phone. */
.conmy404 {
	background-repeat: no-repeat !important;
	background-size: 260px auto !important;
	background-position: center 1em !important;
}
.conmy404 .port {
	position: relative;
	max-width: 640px;
}
.conmy404Logo {
	margin-bottom: 1.5em;
}
.conmy404Logo a {
	display: inline-block;
}
.conmy404Logo img {
	max-height: 48px;
	width: auto;
}
.conmy404Text {
	max-width: 32em;
	margin: 0 auto 1.5em;
	opacity: 0.85;
}
.conmy404SearchForm {
	display: flex;
	gap: 0.5em;
	max-width: 26em;
	margin: 0 auto 2em;
}
.conmy404SearchField {
	flex: 1 1 auto;
	min-width: 0;
	padding: 0.75em 1em;
	border: 1px solid var( --conmy-gold-muted );
	border-radius: 3px;
	background-color: #fff;
	font-size: 0.95rem;
}
.conmy404SearchSubmit {
	flex: 0 0 auto;
	padding: 0.75em 1.4em;
	border: 0;
	border-radius: 3px;
	background-color: var( --conmy-maroon );
	color: #fff;
	cursor: pointer;
	transition: background-color 200ms ease;
}
.conmy404SearchSubmit:hover {
	background-color: var( --conmy-maroon-dark );
}
.conmy404Links {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.75em;
	margin: 0 0 2em;
	padding: 0;
}
.conmy404Link {
	padding: 0.6em 1.4em;
	border: 1px solid var( --conmy-gold-muted );
	border-radius: 999px;
	color: var( --conmy-navy );
	text-decoration: none;
	font-size: 0.85rem;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	transition: background-color 200ms ease, color 200ms ease;
	white-space: nowrap;
}
.conmy404Link:hover,
.conmy404Link:focus {
	background-color: var( --conmy-maroon );
	border-color: var( --conmy-maroon );
	color: #fff;
}

@media ( max-width: 767px ) {
	.conmy404 {
		background-image: none !important;
	}
	body.error404 .btErrorPage.conmy404 .port {
		padding-top: 3em;
		padding-bottom: 3em;
	}
	.conmy404SearchForm {
		flex-wrap: wrap;
	}
	.conmy404SearchField {
		flex-basis: 100%;
	}
	.conmy404SearchSubmit {
		flex: 1 1 auto;
	}
	.conmy404Link {
		flex: 1 1 auto;
		text-align: center;
	}
}

@media ( max-width: 420px ) {
	.conmy404Logo img {
		max-height: 38px;
	}
}

/* Inline links in body copy (Bold Builder's [bt_bb_text] paragraphs/lists —
   "auto wreck claims", "contact us online", a phone number, …) are styled
   maroon-on-black with no underline, so color alone is what tells them
   apart from surrounding text — invisible to colorblind readers and (per a
   Lighthouse audit of a practice-area page) a real "link-in-text-block"
   violation. Scoped to .bt_bb_text specifically, not the blanket `a` rule
   above it (goldenblatt/style.css) — buttons, cards and nav links already
   have shape/position telling them apart from plain text and don't need
   this. */
.bt_bb_text a {
	text-decoration: underline;
}

/* Skip-to-content link (conmy.js). Off-screen until focused, matching the
   standard "visually hidden, revealed on :focus" pattern — a sighted mouse
   user never sees it, but it's the first Tab stop for everyone else. */
.conmySkipLink {
	position: absolute;
	top: -3em;
	left: 0.5em;
	z-index: 10020;
	padding: 0.6em 1.2em;
	background-color: var( --conmy-maroon );
	color: #fff;
	text-decoration: none;
	font-size: 0.9rem;
	border-radius: 0 0 4px 4px;
	transition: top 0.15s ease-out;
}
.conmySkipLink:focus {
	top: 0;
}

/* Attorney bio "Contact The Firm" PHONE/ADDRESS icons (el_class="conmyContactIcon",
   added directly to their [bt_bb_service] shortcodes in post_content). Bold
   Builder generates a per-page inline <style> block with the actual colors
   for each numbered "color scheme" combo (e.g. .bt_bb_color_scheme_6.
   bt_bb_style_filled.bt_bb_service:hover .bt_bb_icon_holder) — its :hover
   variant swaps the solid maroon fill for a near-empty outline, which read
   as broken now that ADDRESS is a real Maps link people actually hover.
   That inline rule and this one are equal specificity (3 classes + :hover),
   so it comes down to source order — this file loads first, so without the
   extra .bt_bb_style_filled it would lose outright; with it, it wins, but
   only once it stops leaning on the generic --secondary-color/--primary-
   color custom properties (never assigned anywhere — the PHP only ever
   sets --service-primary-color/--service-secondary-color — so both
   fell back to their literal "black"/"white" defaults instead of maroon).
   Hardcoded here to the same brand color instead, so hover matches rest. */
.conmyContactIcon.bt_bb_service.bt_bb_style_filled:hover .bt_bb_icon_holder {
	box-shadow: 0 0 0 1em var( --conmy-maroon ) inset;
	background-color: transparent;
	color: #fff;
}

/* Contact page "US States" field (Contact Intake form, cb-state) — given
   class="skipFancy" so it renders as a plain native <select> instead of the
   parent theme's fancySelect overlay widget (that widget was blending its
   dropdown panel with the page content underneath it — a Chromium compositor
   bug, not fixable from CSS). The parent's own field-height rule
   (.btForm .btFormRow .btFormColumn input/textarea, style.css ~10341) never
   included select in its selector list — only fancySelect's .trigger had a
   matching fixed height (3.2em, style.css ~277) — so a plain select fell
   back to the shorter base UA-default padding once skipFancy took it out of
   that widget, making it visibly shorter than Phone/Zip/etc. Matches that
   same input/textarea padding so it lines up again. */
.btForm .btFormRow .btFormColumn select {
	/* Same 1.3em/1em as input/textarea above, plus a touch more block padding:
	   even with identical padding/border/line-height/font-size (verified via
	   getComputedStyle), Chrome still renders a native <select>'s content box
	   a few px shorter than a text <input>'s — a long-standing UA rendering
	   quirk in how <select> sizes its line box, not something the padding
	   value alone controls. Tuned empirically against Zip's own height. */
	padding: 1.41em 1em;
}
