/* Variables
 * ==========================================================================
 * THIS FILE ARRIVED FROM ANOTHER PROJECT WITH ITS OWN PALETTE AND FONTS. Nothing
 * about its layout, spacing or sizing is touched — the only change is that every
 * colour and every font now resolves to the tokens global.css already defines for
 * the homepage, so the inner pages read as the same site.
 *
 * The variable NAMES are kept exactly as they were. Every rule below already goes
 * through them, so re-pointing them here is what carries the change through the
 * whole file without editing a single layout rule.
 *
 * Mapping (hex written without the hash on purpose — a bulk find-and-replace over
 * this file once rewrote these very lines and turned the documentation into
 * nonsense):
 *
 *   --primary      121212 -> --color-text          near-black body/heading ink
 *   --secondary    595959 -> --color-text-muted    the muted copy grey
 *   --white        fff    -> --color-white
 *   --link         0059A3 -> --color-secondary     the brand green. It has to work
 *                                                 BOTH as link text on white AND as
 *                                                 a solid fill behind white text
 *                                                 (breadcrumb bar, sidebar
 *                                                 headings) — 2f5d3a does both.
 *   --link-hover   121212 -> --clr-gold            hover is BRAND GOLD, not ink. The
 *                                                 original file darkened links to ink
 *                                                 on hover; the developer changed that
 *                                                 to C89635 (2026-08-24).
 *   --hover-color  121212 -> --color-text
 *   --title        Playfair Display  -> Sora
 *   --paragraph    Plus Jakarta Sans -> Sora
 *
 * Colours that never went through a variable were repointed too — the grey panels
 * (f1f3f4, f6f6f6, F2F7FA) to --color-bg-light, the borders (ccc, d5d5d5, f1f1f1)
 * to --color-border-light, and the stray blues (0057a1, 0059A3) to --link. Only
 * FontAwesome keeps a literal family, because it is an icon font, not type.
 *
 * Sora is the only family in the design, so both slots point at it. The two names
 * are kept separate rather than collapsed so the headings/body split stays visible
 * if a second family is ever added.
 * ========================================================================== */

:root {

    /* color */
    --primary: var(--clr-body-text);
    --secondary: var(--clr-muted);
    --white: var(--clr-white);
    --link: var(--clr-section-dark);
    --link-hover: var(--clr-gold);
    --hover-color: var(--clr-body-text);

    /* The near-white panel grey this file uses behind boxed content. tokens.css
     * has no such step, so it is mixed from the two tokens that bracket it
     * rather than reintroduced as a literal. Lands on f2f2f2, which is what
     * f1f3f4 rendered as. */
    --panel: color-mix(in srgb, var(--clr-border) 40%, var(--clr-white));

    /* font-family  */
    --title: var(--font-heading);
    --paragraph: var(--font-body);
}

/*breadcrumb-css*/
.breadcrumb-link{padding:18px 0;background-color: var(--link);color:var(--white);font-size:16px;position:relative;font-weight:600;font-family:var(--paragraph);z-index:1;background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(18, 18, 18, 0.1)), to(rgba(18, 18, 18, 0.2)));background-image: linear-gradient(180deg, color-mix(in srgb, var(--clr-black) 10%, transparent) 0%, color-mix(in srgb, var(--clr-black) 20%, transparent) 100%);}
.breadcrumb-link a{-webkit-transition:0.3s ease-out all;transition:0.3s ease-out all;font-size:17px;color:var(--white) !important;cursor:pointer;font-weight:600;font-family: var(--paragraph);padding-left:0px;}
.breadcrumb-link a:hover{text-decoration:underline;}
.breadcrumb-link #breadcrumbs{margin:0;}
.breadcrumb-link #breadcrumbs{font-size:17px;text-align:left;color:var(--white);font-weight:600;}


/*breadcrumb-css*/

/* inner-banner */
.hero__heading {
	font-size: var(--fs-hero);
	line-height: var(--lh-tight); /* 85 / 80 */
}
section.inner-banner{min-height: 420px;position:relative;background-repeat:no-repeat !important;background-size:cover !important;background-position:center center !important;width:100%;z-index:1;padding: 120px 0 60px;display: -webkit-box;display: -ms-flexbox;display: flex;-webkit-box-align: center;-ms-flex-align: center;align-items: center;-webkit-box-pack: center;-ms-flex-pack: center;justify-content: center;}
section.inner-banner .rightPart{width:100%;max-width: 1000px;}
.inner-banner-flex{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;min-height: auto !important;}
.inner-banner .inner-banner-right-content {
    position: absolute;
    width: 100%;
    max-width: 460px;
    right: 15px !important;
    bottom: -35px;
}
.bannerMainWrap {
    position: relative;
    z-index: 1;
}
.inner-banner-flex .section-title {
    color: var(--white);
}

/* inner-page */

.inner-page-content{padding:60px 0px 80px;}
.page-detail .inner-heading-1,.page-detail h1,.page-detail .inner-heading-2,.page-detail h2,.page-detail .inner-heading-3,.page-detail h3,.page-detail .inner-heading-4,.page-detail h4,.page-detail .inner-heading-5,.page-detail h5,.page-detail .inner-heading-6,.page-detail h6{font-weight:700;font-family: var(--title);color: var(--primary);line-height:1.3;margin:40px 0 5px}
.page-detail .inner-heading-1 a,.page-detail h1 a,.page-detail .inner-heading-2 a,.page-detail h2 a,.page-detail .inner-heading-3 a,.page-detail h3 a,.page-detail .inner-heading-4 a,.page-detail h4 a,.page-detail .inner-heading-5 a,.page-detail h5 a,.page-detail .inner-heading-6 a,.page-detail h6 a{font-weight:700 !important;font-family:var(--title);text-decoration:underline;}
.page-detail .inner-heading-1,.page-detail h1{font-size:42px;}
.page-detail .inner-heading-2,.page-detail h2{font-size:36px;}
.page-detail .inner-heading-3,.page-detail h3{font-size:30px;}
.page-detail .inner-heading-4,.page-detail h4{font-size:28px;}
.page-detail .inner-heading-5,.page-detail h5{font-size:26px;}
.page-detail .inner-heading-6,.page-detail h6{font-size:22px;}
.inner-content .page-left a{color: var(--link-hover);-webkit-transition:all 0.3s ease-in-out;transition:all 0.3s ease-in-out;-webkit-transition:all 0.3s ease-in-out;-moz-transition:all 0.3s ease-in-out;font-weight:600;}
.inner-content .page-left a:hover{text-decoration:underline;color: var(--primary);transition:all 0.3s ease-in-out;-webkit-transition:all 0.3s ease-in-out;-moz-transition:all 0.3s ease-in-out;}
.page-detail{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-wrap:wrap;flex-wrap:wrap;}
.page-detail .page-left{width:73%;}
.page-detail .page-right{width:23%;}
.com-mar-bg:first-child{margin-top:0;}
.page-right .widget{margin:0 0 50px 0;}
.page-right .widget:last-child{margin-bottom:0;}
.com-mar-bg img{width:100%;}
.page-detail .com-mar-bg h2{background: var(--link);color:var(--white);display:block;font-size:26px;font-weight:700;line-height:26px;margin:0;padding:20px;text-align:center;text-transform:uppercase;width:100%;-webkit-box-sizing:border-box;box-sizing:border-box;font-family: var(--title);}
* .page-right form.search-form{background:var(--panel);padding:20px;-ms-flex-wrap:wrap;flex-wrap:wrap;}
.search-form{position:relative;}
* .page-right .search-form input{color:var(--primary);display:inline-block;font-size:16px;outline:none;padding:15px 20px;transition:all 0.3s ease-in-out;-webkit-transition:all 0.3s ease-in-out;-moz-transition:all 0.3s ease-in-out;width:100%;box-sizing:border-box;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;border:1px solid var(--clr-divider);outline:none;margin:0 0 15px;border-radius:0px;line-height:16px;font-weight:500;border:1px solid transparent;font-family:var(--paragraph);}
* .page-right .search-form input.search-submit:hover{background:transparent;color: var(--link) !important;border: 2px solid var(--link);}
* .page-right .search-form input[type="search"]{-webkit-appearance:none;}
* .page-right .search-form input.search-submit{display:block;text-align:center;background-color: var(--link);font-size: 18px;text-transform:uppercase;line-height:1;padding:16px 25px;font-weight:bold !important;color:var(--white) !important;-webkit-transition:0.3s ease-out all;transition:0.3s ease-out all;border:2px solid transparent;cursor:pointer;-webkit-appearance:button;font-family: var(--paragraph);width:100%;letter-spacing: 2px;}
.page-right ul{display:block;width:auto;margin:0;background:var(--panel);padding:0px;}
.page-right .widget ul li:first-child{margin-top:0;}
.page-right ul li{border-bottom:1px solid var(--clr-divider);font-size:18px;display:block;list-style:none;position:relative;line-height:34px;font-weight:500;}
.page-right ul li:last-child{border:none;}
.page-right ul li a{border:none;padding:15px 40px 15px 35px;display:block;width:100%;font-weight:600;color: var(--link);line-height:1.4;font-size:16px;-webkit-transition:all ease 0.6s;transition:all ease 0.6s;font-family: var(--paragraph);}
.page-right ul li a:hover,.page-right ul li.current-menu-item>a,.page-right ul li.current-menu-ancestor>a,.page-right ul li.current-cat>a{color: var(--link-hover);}
.page-right ul li a::before{content:"";font-family:'FontAwesome';font-size:10px;font-weight:500;left:12px;position:absolute;top:26px;-webkit-transform:translateY(-50%) rotate(45deg);-ms-transform:translateY(-50%) rotate(45deg);transform:translateY(-50%) rotate(45deg);background: var(--link);height:8px;width:8px;}
.page-right ul li a::after{position:absolute;content:"";left:0;bottom:-1px;width:0;background:transparent;transition:all 0.3s ease-in-out;-webkit-transition:all 0.3s ease-in-out;-moz-transition:all 0.3s ease-in-out;height:1px;}
.page-right ul li:last-child a::after{display:none;}
.page-right ul li a:hover::after,.page-right ul li.current-menu-item>a::after,.page-right ul li.current-menu-ancestor>a::after,.page-right ul li.current-cat>a::after{width:100%;background: var(--link-hover);}
.page-right ul li a:hover::before,.page-right ul li.current-menu-item>a::before,.page-right ul li.current-menu-ancestor>a::before,.page-right ul li.current-cat>a::before{background: var(--link-hover);}
.widget_search form.search-form{max-width:100%;}
.widget_nav_menu #menu-practice-areas .current-menu-item>a:before{background:var(--link-hover)}
.widget_nav_menu #menu-practice-areas .current-menu-item>a:after{width:100%;background: var(--link-hover);}
.search-form input[type="search"]::-webkit-search-cancel-button{display:none;}
.widget_nav_menu #menu-practice-areas .current-menu-item>a{color:var(--link-hover);}
.widget_nav_menu #menu-practice-areas .current-menu-item>a:before{background:var(--link-hover);}
.widget_nav_menu #menu-practice-areas a:hover:before{background: var(--link-hover);}
.wp-block-search__inside-wrapper input[type="search"]::-webkit-search-cancel-button{display:none;}
.page-detail h1:first-child{margin-top:0px !important;}
.page-detail img{display:block;height:auto;}
.blog .page-detail img,.archive .page-detail img,.author .page-detail img{width:100%;}
.page-detail .page-left ul, .page-detail .page-left ol{display:block;width:auto;margin:0px;}
.page-detail .page-left ul li,.page-detail .page-left p, .page-detail .page-left ol li{font-size:18px;display:block;margin:15px 0px;position:relative;line-height:34px;color: var(--secondary);font-weight:500;font-family: var(--paragraph);text-align:left;}
.page-detail .page-left ul li, .page-detail .page-left ol li{padding:0px 0px 0px 20px;margin:10px 0;}
.page-detail .page-left ol li{
    list-style:decimal;
    padding:0px 0px 0px 5px;
    display:list-item;
}
.page-detail .page-left ol {
    padding: 0px 0px 0px 20px;
    display:list-item;
}
.page-left iframe {
    width: 100%;
    max-width: 700px;
    aspect-ratio: 16 / 9;
    height: auto;
}
.page-id-192097 .page-detail .page-left p {
    word-wrap: break-word;
}
.page-detail .page-left ul li::before{color:var(--link);content:"";font-family:FontAwesome;font-size:7px;font-weight:500;left:0px;position:absolute;top:12px;background: var(--link);height:8px;width:8px;-webkit-transform:rotate(-45deg);-ms-transform:rotate(-45deg);transform:rotate(-45deg);}
.page-detail h2:first-child,.page-detail h1:first-child,.page-detail h3:first-child{margin-top:0px !important;}
.page-left img.stars{display:inline-block;position:relative;left:10px;top:3px;}
blockquote img.stars{-webkit-transform:skew(-12deg, 0deg);-ms-transform:skew(-12deg, 0deg);transform:skew(-12deg, 0deg)}
.page-detail .page-left table{width:100%;max-width:100%;border-collapse: collapse}
.page-detail .page-left table thead tr th{background:var(--link);color:var(--white);font-size:1.2rem;padding:0.5rem 1rem;text-transform: uppercase;text-align: left;font-family:var(--title)}
.page-detail .page-left table tbody tr{border-bottom:1px solid var(--clr-divider);}
.page-detail .page-left table tbody tr td{font-size:1.05rem;padding:1.2rem;font-family:var(--paragraph);border: 1px solid var(--clr-divider);}
.related-content{width:100%;background:var(--white);border-top:1px solid var(--link);padding:1.5rem 0px 0;margin-top:15px;}
.related-content a{color:var(--link);-webkit-transition:all 0.3s ease-in-out;transition:all 0.3s ease-in-out;-webkit-transition:all 0.3s ease-in-out;-moz-transition:all 0.3s ease-in-out;font-weight:600;font-family: var(--paragraph);}
.related-content a:hover{color: var(--link);}
.related-content-repeater{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:wrap;flex-wrap:wrap;}
.related-content-repeater li{padding:0px 10px;border-left:1px solid var(--link);margin-bottom:10px}
.related-content-repeater li:first-child{border-left:0px;padding-left:0px}
.no-fees-tagline{font-size:1rem;font-weight:700;letter-spacing:0.025rem;line-height:1.0;margin:0;text-transform:uppercase;padding-bottom:15px;}
.related-content h6{margin-top:0px;margin-bottom:20px}
h6.no-fees-tagline{display:-webkit-box;display:-ms-flexbox;display:flex;border:3px solid var(--primary);padding:10px;max-width:-webkit-fit-content;max-width:-moz-fit-content;max-width:fit-content;font-size:14px !important;font-family:var(--title);font-weight:700;margin-top:0 !important;}
.related-content-links ul li:last-child a:after{content:'';}
.testimonial-bottom-content{margin-top:40px;}
.testimonial-reviews{border:1px solid var(--link);border-left:0;border-right:0;padding:20px 0;margin:20px 0;}
.review-title-left{width:70%;}
.reviews-flex-inner{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;position:relative;}
.testimonials-top{width:25%;}
.review-title-left p{margin:0 !important;font-size:16px !important;}
.reviews-flex-inner .testimonial-star span.rating-5:before,
.reviews-flex-inner .testimonial-star span.rating-4:before,
.reviews-flex-inner .testimonial-star span.rating-3:before,
.reviews-flex-inner .testimonial-star span.rating-2:before,
.reviews-flex-inner .testimonial-star span.rating-1:before{left:unset;right:0;top:10px;}
.about-page-badges{border-top:1px solid var(--link);border-bottom:1px solid var(--link);padding:25px 0 0px;margin:30px 0 30px;}
.about-badge-repeater{display:-webkit-box;display:-ms-flexbox;display:flex;margin-top:50px;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;-ms-flex-wrap:wrap;flex-wrap:wrap;}
.about-badge-images{background:var(--white);-webkit-box-shadow:0px 0px 14px 9px rgba(0,0,0,0.03);box-shadow:0px 0px 14px 9px color-mix(in srgb, var(--clr-black) 3%, transparent);width:250px;height:250px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin:0px 50px 50px 0px;}



p.gform_required_legend {
    display: none !important;
}

/* Blog css */
.entry-header{position:inherit;margin-bottom:10px;}
.byline{display:inline-block;font-size:0;line-height: 0;}
.posted-on .updated{border-bottom:0;}
.page-left .blog-more-btn a{background-color: var(--link);color:var(--white);padding: 8px 30px;display:block;width:-webkit-max-content;width:-moz-max-content;width:max-content;margin-top:0;border:2px solid transparent;font-weight: 600;font-size: 17px;-webkit-transition:0.5s all;transition:0.5s all;display:inline-block;margin-top:15px;text-decoration:none;font-family: var(--paragraph);text-transform: uppercase;letter-spacing: 2px;position: relative;line-height: 30px;}
.page-left .blog-more-btn a:hover{background:var(--link);color: var(--white);text-decoration:none;}
.blog h2.entry-title a,.archive h2.entry-title a,.category h2.entry-title a,.search h2.entry-title a{color: var(--link-hover);}
.blog span.author.vcard a,.archive span.author.vcard a,.category span.author.vcard a,.search span.author.vcard a,.post-template-default span.author.vcard a{color: var(--link);}
.entry-meta{margin:20px 0 0;background-color:transparent;color: var(--link);padding:15px;border: 2px solid var(--link);}
.post-link-area .posted-on a{position:relative;font-size:17px;padding-left:20px;line-height:18px;}
span.posted-on{font-size:0;}
.posted-on{display:none;}
.post-link-area .posted-on a:before{content:"\f017";font-size:17px;position:absolute;left:0px;top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);font-family:'FontAwesome';}
.byline span.author.vcard a,a.c-link,span.c-link{font-family:var(--paragraph);font-size:17px;position:relative;padding-left:20px;font-weight:600 !important;padding-right:10px;}
.byline span.author.vcard a:hover,a.c-link:hover{text-decoration:underline;color: var(--link-hover);}
a.c-link,span.c-link{padding-left:10px !important;color: var(--link);}
.c-link{border-left:2px solid;}
.byline span.author.vcard a:before{content:"\f007";font-family:'FontAwesome';left:0;position:absolute;top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);}
header.page-header{position:inherit;font-size:30px;margin-bottom:30px;}
.page-detail .widget ul li::before{display:none;}
.page-left article{margin-bottom:50px;border-bottom:2px solid var(--clr-divider);padding-bottom:40px;}
.blog_bg_img img{width:100%;height:400px;-o-object-fit:cover;object-fit:cover;padding-top:20px;}
.page-right .blog-sidebar ul li a[aria-current="page"]{color:var(--link);}
.blog h2.entry-title a{text-decoration:none;}
.entry-title{margin-top:0 !important;}
.byline span.author.vcard a{text-decoration:none;}
.search-no-results .search-form{display:block;padding:0;}
.search-no-results .page-left .search-form input.search-submit{padding:7.5px 30px;text-transform:uppercase;vertical-align:bottom;cursor:pointer;-webkit-transition:0.5s all;transition:0.5s all;background:var(--link);color:var(--white);border:2px solid transparent;font-family:var(--paragraph);font-weight:500;font-size:18px;}
.search-no-results .page-left .search-form input.search-submit:hover{background:transparent;color:var(--link);border:2px solid var(--link);}
.search-no-results .search-form input.search-field{padding:12px;border:1px solid var(--clr-divider);outline:none;}
.inner-content .page-left .post-thumbnail img{width:100%;height: 400px;-o-object-fit:cover;object-fit:cover;margin-bottom:20px;}
.inner-content .page-left .post-thumbnail{display:block;}
.single .inner-content .page-left .post-thumbnail img{width:auto;height:100%;margin-inline: auto;}
.blog-more-btn a:before{content:'';background:transparent;top:0;bottom:0;left:0;right:0;border:2px solid var(--white);position:absolute;opacity:0;-webkit-transition:all 0.3s ease-in-out;transition:all 0.3s ease-in-out;}
.blog-more-btn a:hover:before{top:5px;left:5px;right:5px;bottom:5px;opacity:1;}

/* Blog css */

/*blog-pagination*/
.blog-pagination .navigation.pagination{text-align:center;margin:35px 0 0 0;}
.navigation.pagination .page-numbers{border: 1px solid var(--link);margin:0 4px 8px 4px;text-decoration:none;color: var(--link);display:inline-block;font-size:14px;font-weight:500;margin-right:1px;padding:12px 16px;text-transform:uppercase;line-height:1;font-family: var(--paragraph);}
.nav-links a:nth-child(2n){text-align:right;}
.blog-pagination .navigation.pagination .page-numbers:hover{color:var(--white) !important;background: var(--link);}
.blog-pagination .page-numbers.current{color:var(--white);background-color: var(--link);padding:12px 17.41px;}
.blog-pagination{position:relative;}

/*blog-pagination*/

/* / Thank you / */
.page-left i.fa.fa-thumbs-up{border: 2px solid var(--link);border-radius:50%;-webkit-border-radius:50%;-moz-border-radius:50%;color: var(--link);font-size:80px;height:160px;line-height:150px;margin:30px auto;text-align:center;width:160px;}
.thankyou-outer{text-align:center;}

/* / Thank you / */

/* / 404 / */
.error404 .button_404 a.button{position: relative;display:inline-block;text-align:center;background-color: var(--link);font-size: 20px;text-transform:uppercase;line-height:1;padding:15px 20px;font-weight:600 !important;color:var(--white) !important;-webkit-transition:0.3s ease-out all;transition:0.3s ease-out all;border:2px solid transparent;cursor:pointer;-webkit-appearance:button;text-decoration:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;font-family: var(--paragraph);letter-spacing: 2px;}
.error404 .button_404 a.button:before{content:'';background:transparent;top:0;bottom:0;left:0;right:0;border:2px solid var(--white);position:absolute;opacity:0;-webkit-transition:all 0.3s ease-in-out;transition:all 0.3s ease-in-out;}
.error404 .button_404 a.button:hover:before{top:5px;left:5px;right:5px;bottom:5px;opacity:1;}



/* / 404 / */

/* blockquote */
    .page-detail .page-left blockquote{background:var(--panel);border-left:2px solid var(--link);font-size:22px;line-height:34px;padding:20px;margin:20px 0;color:var(--link);text-align:left;font-weight:500;font-style:normal;display:inline-block;width:100%;}


/* sidebar submenu */
#menu-practice-areas .menu-item-has-children>ul.sub-menu{display:none;}
.page-right ul.sub-menu li a::before{left:32px;top:22px;}
.page-right ul.sub-menu li a{padding:11px 40px 11px 50px;}
ul#menu-practice-areas .menu-item-has-children>ul.sub-menu{display:none;}
ul#menu-practice-areas-es .menu-item-has-children>ul.sub-menu{display:none;}
.page-right i.fa-angle-down{z-index:11;background-color:var(--link);border-color:var(--link);font-size:14px;position:absolute;top:14px;right:10px;width:26px;height:26px;display:block;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;display:-webkit-box;display:-ms-flexbox;display:flex;text-align:center;border-radius:2px;text-align:center;cursor:pointer;color:var(--white);-webkit-transition:all 0.4s ease-in-out;transition:all 0.4s ease-in-out;}
.page-right i.fa-solid.fa-angle-down.active:before,ul#menu-header-menu i.fa-solid.fa-angle-down.active:before{rotate:180deg;}
.children-arrow{position:absolute;top:13px;right:0px;background-image:url(../images/plus-icon.png);cursor:pointer;border:1px solid var(--white);padding:10px;z-index:11;right:6px;-webkit-transition:0.3s all;transition:0.3s all;background-size:auto;background-repeat:no-repeat;background-position:center center;background-color:var(--link);}
.page-detail .children-arrow.active{background-image:url(../images/minus-icon.png);}


/* sidebar submenu */





/* / left side / */
/* attorney box */
.our-attorney-box .attorney-box-img img{display:block;width:100%;height:auto;padding:10px;border:1px solid var(--clr-border);}
.our-attorney-box .attorney-box-detial{width:65%;}
.attorney-box-img{width:30%;}
.attorney_name a{text-decoration:none !important;line-height:31px;}
.attorney_name{margin:0 !important;}

.link-box:nth-child(1){display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:start;-webkit-box-align:start;-ms-flex-align:start;align-items:start;line-height:1.3;}
.link-box:nth-child(1) p{color: var(--link);}
.attorney-box-detial h3{font-size:32px;margin:0px 0 0px 0 !important;font-weight:700;border-bottom: 2px solid var(--link);padding-bottom:15px;line-height:1;}
.attorney-box-detial p.attorney_designation{font-weight:600;}
.attorney-box-detial .attorney_detail a{background-color:var(--link);position:relative;padding:13px 16px;display:inline-block;font-size:17px;line-height:1;color:var(--white);font-weight:600;font-family:var(--paragraph);border:2px solid transparent;text-transform:uppercase;text-decoration:none;margin-top:15px;min-width:auto;}
.attorney-box-detial .attorney_detail a:hover{border:2px solid var(--link);background:transparent;color:var(--link);}
.inner-content .attorney-box-detial .link-box a:hover{color: var(--link-hover) !important;}
.attorney-box-detial p{margin:5px 0 !important;color: var(--link);}


/* / left side / */
.link-box{font-family:var(--paragraph);color: var(--link) !important;font-size:20px;font-weight:500;display:block;margin-right:0;margin-top: 20px;line-height:1;}
.link-box i{font-family:'FontAwesome';font-style:normal;font-size:20px;color: var(--link);line-height:0;margin-right:10px;}
.link-box i.fas.fa-phone-square{font-size:23px;}
.link-box i.fas.fa-location-arrow{margin-right:7px;font-size: 23px;margin-top: 24px;}
.link-box i.fas.fa-fax{margin-right:7px;}
.link-box i.fa.fa-phone{font-size:23px;}
.link-box a{color: var(--link) !important;font-weight:500 !important;}
.link-box a:hover{color:var(--secondary) !important;}
.link-box.email-box a{color:var(--secondary);}


/* left side */
/* attorney box */


.page-detail .page-left .testimonial-title-inner .inner-heading{color:var(--secondary);letter-spacing:0;}
.page-detail .page-left .testi-box .testi-inner-content h4{margin-top:0;}
.page-detail .page-left .testi-box .testi-inner-content blockquote{padding:40px;}
.testimonial-repeater-inner{margin-top:30px;}


/* contact form */

.single .page-left article{margin-bottom:0 !important;border-bottom:none !important;padding-bottom:0 !important;}
#gf_form_focus{display:none;}

i.fas.fa-location-arrow{margin-top:25px;color: var(--link);}

.page-template-contact-page .address-flex{-webkit-filter:drop-shadow(2px 0px 86px rgba(0,0,0,0.11));filter:drop-shadow(2px 0px 86px color-mix(in srgb, var(--clr-black) 11%, transparent));background-color:var(--white);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-top:60px;padding:31px 30px 35px;}
.page-template-contact-page .address-flex .left-address{width:100%;max-width:31%;margin-top:30px !important;}
.office-left-address{display:-webkit-box;display:-ms-flexbox;display:flex;margin-bottom:-15px;}
i.fas.fa-location-arrow{margin-top:25px;}
.page-template-contact-page .address-flex p,.page-template-contact-page .address-flex a{font-size:20px !important;font-weight:600;color:var(--link) !important;}
.page-template-contact-page .address-flex i{margin-right:10px;}
.page-template-contact-page .address-flex .right-office-map{width:100%;max-width:65%;}
.page-template-contact-page .right-office-map p{margin-bottom:0;margin-top:0;}
.page-template-contact-page .address-flex iframe{height:299px;width:100%;margin-top:10px;}
.page-template-contact-page .address-flex p:hover i,.page-template-contact-page .address-flex p:hover a,.page-template-contact-page .address-flex p:hover,.office-left-address:hover p,.office-left-address:hover i{color:var(--link-hover) !important;}




.related-content-links ul{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;margin-left:-10px;}
.related-content-links ul li{padding:0px 10px;margin-bottom:10px}
.related-content-links ul li a:after{content:'|';font-size:0.7500rem;position:relative;top:-0.1rem;right:-10px}
.related-content-links ul li a:hover{color:var(--link)}
.page-left .link-box p,.page-left .link-box a{font-size:18px !important;font-weight:500 !important;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;text-decoration: none !important;}
p.attorney-designation{font-size:20px !important;font-weight:500 !important;}
.page-template-contact-page-form .legal-notebook-newsletter{width:100%;}
.error404 h1.banner-heading:Before{top:82px !important;bottom:0px !important;height:59.84%;}
.page-template-contact-page .address-flex p:hover{color:var(--link) !important;}
.agree-disagree-btn{margin-top:40px;}
.soc-share::after{position:absolute;content:"+";font-size:24px;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);}
.addtoany_shortcode{display:none;width:40px;position:relative;cursor:pointer;}
.soc-share{position:absolute;bottom:0px;right:10%;background:color-mix(in srgb, var(--clr-white) 80%, transparent);height:40px;width:40px;z-index:99;border-radius:4px 4px 0 0;color:var(--link);cursor:pointer;}
.soc-share > span{margin:10px 0 10px -52px;display:block;color:var(--white);text-transform:uppercase;font-size:13px;font-weight:400;font-family:var(--paragraph);}
.soc-share:hover .addtoany_shortcode{display:block;}
.page-template-contact-page .address-flex .office-left-address p{color: var(--link) !important;}
.page-template-contact-page .address-flex .office-left-address i{color: var(--link) !important;}
section.practice-inner-group-content{background:var(--panel);}
section.practice-inner-group-content .page-left{width:100% !important;}
section.practice-inner-group-content .page-left p:last-child{margin-bottom:0;}
section.practice-inner-group-content .page-left p{margin:0px 0 15px;}
section.practice-inner-group-content .our-inner-content-top {margin-bottom: 50px;}

section.practice-inner-group-content .our-inner-content-top .inner-heading.border {
    text-align: left;
}

section.practice-inner-group-content .our-inner-content-top .inner-heading.border::after {
    left: 0;
    right: inherit !important;}

    .gform_validation_errors {
    display: none !important;
}


/* Gravity Forms in the inner sidebar
 * ==========================================================================
 * The "Contact The Firm" widget renders a Gravity form (Orbital theme) wearing
 * none of this site's language: #112337 labels at 14px, 3px radii, an 87px-wide
 * #204CE5 submit, zero inset, and — against BRIEF.md rule 1 — a CSS GRID field
 * list. Everything below re-dresses it in the language the search widget
 * directly above it already uses: panel ground, 20px inset, square white
 * controls, and the canonical .btn--gold treatment from components.css.
 *
 * SPECIFICITY, never !important. Gravity's four stylesheets load AFTER
 * inner-page.css (positions 7-10 vs 6), so a tie LOSES. Gravity wraps nearly
 * every selector in :where(), which contributes ZERO specificity, so
 * .page-right plus one wrapper class clears most of them. The submit is the
 * exception, and the obvious fix is a TRAP. Gravity's strongest rule on it is
 * not .gform_wrapper button.button (0,4,1) but
 *   .gform_wrapper :where(...) > button:not([id*="mceu_"]):not(.mce-open)
 * where the two :not() DO carry weight (unlike :where()) - landing (0,5,1),
 * an exact TIE that Gravity then wins on load order. The rule below chains
 * .page-detail as a SIXTH class to reach (0,6,1).
 * Do not "tidy" that selector - it stops working.
 *
 * Scoped to .page-right, so the same form placed in a page body is untouched.
 * No media queries by design: --btn-pad-* already step down per breakpoint and
 * every control is width:100% inside a percentage column, so no width needs a
 * correction (responsive_policy: least responsive CSS possible).
 * ========================================================================== */

/* Panel ground + inset — mirrors .page-right form.search-form above it. */
.page-right .gform_wrapper {
    background: var(--panel);
    padding: 20px;
    box-sizing: border-box;
}

/* Grid -> flex column. BRIEF.md rule 1 forbids Grid; Gravity's own 40px
 * row-gap is also far too airy for a 354px column. */
.page-right .gform_wrapper .gform_fields {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.page-right .gform_wrapper .gfield {
    width: 100%;
    box-sizing: border-box;
}

.page-right .gform_wrapper .gfield_label {
    display: block;
    margin: 0 0 8px;
    padding: 0;
    font-family: var(--paragraph);
    font-size: 16px;
    font-weight: 600;
    line-height: 1.4;
    color: var(--primary);
}

/* Required asterisk picks up the brand accent instead of Gravity's red. */
.page-right .gform_wrapper .gfield_required,
.page-right .gform_wrapper .gfield_required_asterisk {
    color: var(--clr-gold);
}

/* Controls: square, white, transparent-bordered — the search input's own
 * treatment (15px 20px inset, 16px body type). */
.page-right .gform_wrapper input[type="text"],
.page-right .gform_wrapper input[type="email"],
.page-right .gform_wrapper input[type="tel"],
.page-right .gform_wrapper textarea {
    display: block;
    width: 100%;
    box-sizing: border-box;
    margin: 0;
    background: var(--white);
    border: 1px solid transparent;
    border-radius: var(--radius-none);
    padding: 15px 20px;
    font-family: var(--paragraph);
    font-size: 16px;
    font-weight: 500;
    line-height: 1.4;
    color: var(--primary);
    transition: border-color var(--transition);
}

/* rows="10" is a sidebar's worth of empty box. Cap it, keep it draggable. */
.page-detail .page-right .gform_wrapper .ginput_container_textarea textarea {
    height: 120px;
    min-height: 120px;
    resize: vertical;
}

.page-right .gform_wrapper input::placeholder,
.page-right .gform_wrapper textarea::placeholder {
    color: var(--secondary);
    opacity: 1;
}

/* Keyboard focus must stay visible — --focus-ring is the project token. */
.page-right .gform_wrapper input[type="text"]:focus,
.page-right .gform_wrapper input[type="email"]:focus,
.page-right .gform_wrapper input[type="tel"]:focus,
.page-right .gform_wrapper textarea:focus {
    outline: var(--focus-ring);
    outline-offset: 0;
    border-color: var(--clr-gold);
}

/* The Disclaimer HTML field is a link — same hover contract as every other
 * sidebar link: resting --link, gold on hover. */
.page-right .gform_wrapper .gfield_html a {
    color: var(--link);
    font-family: var(--paragraph);
    font-weight: 600;
    text-decoration: underline;
    transition: color var(--transition);
}

.page-right .gform_wrapper .gfield_html a:hover {
    color: var(--link-hover);
}

/* Consent row. THREE fixes over Gravity's defaults, each needing more weight
 * than the rule it replaces - hence the .page-detail prefix throughout:
 *   1. SPACE. Gravity lays this out as inline-grid with `gap: 16px 0` - the
 *      column gap is ZERO, which is why the label sat 2px off the box. Flex
 *      with a real gap (and Grid is forbidden by BRIEF.md rule 1 anyway).
 *      Its rule is (0,3,0), so a bare .page-right prefix only TIED and lost
 *      on load order.
 *   2. NO OUTLINE. The box carried Gravity's 1px #686E77 border + 2px radius,
 *      PLUS a 3px rgba(32,76,229,.65) focus outline from its own
 *      .gform-theme--framework input[type] rule (0,2,1). All three gone -
 *      `outline: none` in the base rule kills the blue ring on mouse click,
 *      and :focus-visible below puts the theme's gold ring back for keyboard
 *      users only (it never fires on a click, so the box stays clean).
 *   3. CHECKED STATE. Gravity draws the tick as an icon-font glyph in ::before
 *      (opacity 0, then 1 on :checked) coloured #204CE5. Recoloured white and
 *      dropped on a gold box, so "checked" reads as brand, not Gravity blue.
 * The box keeps flex centring instead of Gravity's inline-grid, so the glyph
 * still centres without reintroducing Grid. */
.page-detail .page-right .gform_wrapper .ginput_container_consent {
    display: flex;
    align-items: flex-start;
    flex-wrap: nowrap;
    gap: 12px;
}

.page-detail .page-right .gform_wrapper input[type="checkbox"] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 18px;
    height: 18px;
    min-width: 18px;
    margin: 3px 0 0;
    padding: 0;
    background-color: var(--white);
    border: none;
    border-radius: var(--radius-none);
    box-shadow: none;
    outline: none;
    cursor: pointer;
    transition: background-color var(--transition);
}

.page-detail .page-right .gform_wrapper input[type="checkbox"]:checked {
    background-color: var(--clr-gold);
}

.page-detail .page-right .gform_wrapper input[type="checkbox"]::before {
    color: var(--clr-white);
}

/* Keyboard focus ONLY - :focus-visible never fires on a mouse click, so the
 * box stays outline-free in normal use while remaining keyboard-reachable. */
.page-detail .page-right .gform_wrapper input[type="checkbox"]:focus-visible {
    outline: var(--focus-ring);
    outline-offset: 2px;
}

.page-detail .page-right .gform_wrapper .gfield_consent_label,
.page-detail .page-right .gform_wrapper .gform-field-label--type-inline {
    flex: 1 1 auto;
    min-width: 0;
    margin: 0;
    padding: 0;
    font-family: var(--paragraph);
    font-size: 15px;
    font-weight: 500;
    line-height: 1.5;
    color: var(--clr-dark);
    cursor: pointer;
}

.page-right .gform_wrapper .gform_footer {
    display: block;
    margin: 20px 0 0;
    padding: 0;
}

/* Submit == .btn--gold from components.css. FOUR classes before the element
 * on purpose (see the specificity note at the top of this block). */
.page-detail .page-right .gform_wrapper.gform-theme .gform_footer button.gform_button {
    display: block;
    width: 100%;
    background-color: var(--clr-gold);
    border: 1px solid var(--clr-gold);
    border-radius: var(--radius-none);
    padding: var(--btn-pad-y) var(--btn-pad-x);
    font-family: var(--paragraph);
    font-size: var(--fs-body);
    font-weight: var(--fw-extrabold);
    line-height: var(--lh-btn);
    color: var(--clr-white);
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 1px;
    cursor: pointer;
    transition: background-color var(--transition), border-color var(--transition), color var(--transition);
}

.page-detail .page-right .gform_wrapper.gform-theme .gform_footer button.gform_button:hover,
.page-detail .page-right .gform_wrapper.gform-theme .gform_footer button.gform_button:focus-visible {
    background-color: var(--clr-gold-light);
    border-color: var(--clr-gold-light);
    color: var(--clr-black);
}

@media (max-width:1600px) {

    /* inner-page */
    .inner-banner .inner-banner-title{font-size: 60px;letter-spacing:0;}
    section.inner-banner .rightPart{max-width: 900px;}
    .inner-banner-flex {
        min-height: 240px;
    }
    /* inner-page */
    .error404 h1.banner-heading:Before {

        top: 65px !important;
    }
}

@media (max-width:1440px) {
    section.inner-banner {
        padding: 130px 0 60px;
        min-height: 380px;
    }
    section.inner-banner .rightPart{max-width: 720px;}
    .error404 h1.banner-heading:Before {

        top: 58px !important;
      }
}

@media (max-width:1360px) {

    /* inner-page */
    .page-detail .com-mar-bg h2{font-size:19px;}
    .page-detail .inner-heading-1,.page-detail h1{font-size:42px;}
    .page-detail .inner-heading-2,.page-detail h2{font-size:36px;}
    .page-detail .inner-heading-3,.page-detail h3{font-size:28px;}
    .page-detail .inner-heading-4,.page-detail h4{font-size:32px;}
    .page-detail .inner-heading-5,.page-detail h5{font-size:30px;}
    .page-detail .inner-heading-6,.page-detail h6{font-size:28px;}
    .page-detail .page-left ul li::before{top:11px;}
    .page-detail .page-left p,.page-detail .page-left ul li, .page-detail .page-left ol li{font-size:18px;line-height:1.7;}
    .page-detail .page-left .attorney-box-detial p{font-size:16px;line-height:1.3;}
    .inner-banner .inner-banner-title{font-size: 55px;}
    section.inner-banner .rightPart{max-width: 720px;}
    .inner-banner-flex{min-height:230px;}

    /* inner-page */


    /* contact page */

    /* contact page */
    .about-badge-images{width:230px;height:230px;margin:0px 30px 30px 0px;}
    .about-page-badges{padding:25px 0 20px;}
    .page-template-contact-page .address-flex p, .page-template-contact-page .address-flex a {
        font-size: 18px !important;
    }
    .page-template-contact-page .address-flex {
        padding: 26px 25px 26px;
    }
    .link-box i.fas.fa-location-arrow{margin-top: 19px;}
}

@media (max-width:1200px) {

    /* inner-page */

    .inner-banner .inner-banner-title{font-size: 50px;letter-spacing:0px;}
    .page-detail .page-left blockquote{width:99%;}
    .page-detail .com-mar-bg h2,.page-detail .com-mar-bg label{font-size:17px;padding:12px;}
    .page-detail .inner-heading-1,.page-detail h1{font-size:40px;}
    .page-detail .inner-heading-2,.page-detail h2{font-size:35px;}
    .page-detail .inner-heading-3,.page-detail h3{font-size:28px;}
    .page-detail .inner-heading-4,.page-detail h4{font-size:28px;margin:12px 0 0;}
    .page-detail .inner-heading-5,.page-detail h5{font-size:27px;}
    .page-detail .inner-heading-6,.page-detail h6{font-size:23px;}
    .page-detail .page-left ul li::before{top:10px;}
    .page-detail .page-left p,.page-detail .page-left ul li, .page-detail .page-left ol li{font-size:17px;line-height:1.6;}
    .page-right .widget{margin:0 0 30px 0;}
    .page-right ul.sub-menu li a{padding:11px 40px 11px 44px;}
    .page-right ul.sub-menu li a::before{left:26px;}
    section.inner-banner{min-height: 320px;padding: 110px 0 50px;}
    .inner-banner .inner-banner-right-content{max-width:400px;}
    section.inner-banner .rightPart{max-width: 700px;}
    .inner-banner-flex{min-height:200px;}
    /* inner-page */

    /* attorney-page */
    .our-attorney-box .attorney-box-img{width:31%;}
    .our-attorney-box .attorney-box-detial{width:62%;}
    .page-template-attorney-inner-page .attorney-box-detial{width:57%;}
    .page-template-attorney-inner-page .attorney-box-img{width:35%;}

    .error404 h1.banner-heading:Before {
        top: 48px !important;
    }
    .page-detail .com-mar-bg label{padding: 0 !important;}
}

@media only screen and (max-width: 1200px) and (min-width: 1000px) {

    /* inner-page */
    .page-right ul.sub-menu li a{font-size:14px;}
    .page-right ul li a{font-size:15px;padding:15px 40px 15px 30px}
    /* inner-page */

}

@media (max-width:999px) {
   
    /* inner-page */
    .page-detail .com-mar-bg h2,.page-detail .com-mar-bg label{font-size:20px;}
    .page-detail{display:block;}
    .inner-banner .inner-banner-title{font-size: 45px;line-height: 1.4 !important;}
    .inner-page-content{padding:40px 0;}
    .page-detail .page-left{width:100%;}
    .page-detail .page-right{width:100%;margin-top:30px;}
    .page-detail .inner-heading-1,.page-detail h1{font-size:38px;}
    .page-detail .inner-heading-2,.page-detail h2{font-size:34px;}
    .page-detail .inner-heading-3,.page-detail h3{font-size:30px;}
    .page-detail .inner-heading-4,.page-detail h4{font-size:27px;}
    .page-detail .inner-heading-5,.page-detail h5{font-size:26px;}
    .page-detail .inner-heading-6,.page-detail h6{font-size:22px;}
    .page-detail .inner-heading-1,.page-detail h1,.page-detail .inner-heading-2,.page-detail h2,.page-detail .inner-heading-3,.page-detail h3,.page-detail .inner-heading-4,.page-detail h4,.page-detail .inner-heading-5,.page-detail h5,.page-detail .inner-heading-6,.page-detail h6{margin:20px 0 15px;}
    .page-detail .page-left p,.page-detail .page-left ul li, .page-detail .page-left ol li{margin:10px 0;font-size:17px;line-height:1.7;}
    .page-detail .page-left blockquote{width:100%;}
    .page-right i.fa-angle-down{right:20px;}
    .page-detail .page-left .testi-box .testi-inner-content blockquote{padding:40px;width:100%;}
    .page-right ul.sub-menu li a{padding:11px 47px 11px 44px;}
    .page-right ul li a{padding:15px 47px 15px 35px;}
    * .page-right form.wp-block-search .wp-block-search__inside-wrapper{width:100% !important;}
    .com-mar-bg img{width:auto;margin:0 auto;}
    section.inner-banner{min-height: 310px;padding: 110px 0 50px;}
    .inner-banner-right-img:before{top:-40px;}
    .inner-banner-flex{min-height:auto;-ms-flex-wrap:wrap;flex-wrap:wrap;}
    section.inner-banner .rightPart{max-width:100%;text-align:center;margin-bottom: 0;}
    .inner-banner .inner-banner-right-content{max-width:450px;position:relative;bottom:-67px;margin:0 auto;right:-40px !important;margin-top:-60px;}
 .inner-banner .section-title {
		font-size: 47px;
		line-height: 1.213em;
		letter-spacing: -0.02em;
	}
    /* inner-page */



      /* attorney-page */
    .page-template-attorney-inner-page .attorney-box-img{width:37%;}
    .page-template-attorney-inner-page .attorney-box-detial{width:56%;}


    /* attorney-page */

    /* contact page */

    .page-template-contact-page .address-flex {
        display: block;
    }
    .page-template-contact-page .address-flex .left-address {
        width: 100%;
        max-width: 100%;
        margin-top: 0 !important;
    }
    i.fas.fa-location-arrow{margin-top:18px;}
    .page-template-contact-page .address-flex .right-office-map {
        width: 100%;
        max-width: 100%;
        margin-top: 25px;
    }
    .page-template-contact-page .address-flex iframe {
        height: 299px;
    }

    /* contact page */
    .testimonial-bottom-content{margin-top:30px;}
    .about-badge-images img{width:150px;-o-object-fit:contain;object-fit:contain;}
    .about-badge-repeater{display:-webkit-box;display:-ms-flexbox;display:flex;margin-top:35px;}
    .page-left .blog-more-btn a {
        font-size: 15px;
        line-height: 30px;
    }
    * .page-right .search-form input.search-submit {
        font-size: 16px;
}
section.practice-inner-group-content.pb100 {
    padding-bottom: 70px;
}
}
@media (max-width:767px) {

    /* inner-page */
    .inner-banner .inner-banner-title{font-size: 40px;}
    .page-detail .inner-heading-1,.page-detail h1{font-size:35px;}
    .page-detail .inner-heading-2,.page-detail h2{font-size:32px;}
    .page-detail .inner-heading-3,.page-detail h3{font-size:28px;}
    .page-detail .inner-heading-4,.page-detail h4{font-size:25px;}
    .page-detail .inner-heading-5,.page-detail h5{font-size:23px;}
    .page-detail .inner-heading-6,.page-detail h6{font-size:20px;}
    .page-right ul li a::before{top:28px;}
    .inner-banner .inner-banner-right-content{max-width:370px;right: -30px !important;}
	 .inner-banner .section-title {
		font-size: 35px;
		line-height: 1.286em;
		letter-spacing: -0.01em;
	}
    /* inner-page */

    /* blog css */
    .entry-meta{padding:5px 15px;}
    .byline span.author.vcard a,a.c-link,span.c-link{line-height:1.5;}


    /* blog css */
  
    .reviews-flex-inner .testimonial-star span.rating-5:before,.reviews-flex-inner .testimonial-star span.rating-4:before,.reviews-flex-inner .testimonial-star span.rating-3:before,.reviews-flex-inner .testimonial-star span.rating-2:before,.reviews-flex-inner .testimonial-star span.rating-1:before{top:5px;}
    .about-badge-images{width:180px;height:180px;}
    .about-badge-images img{width:140px;}
    .page-template-about-page img.about-img{width:100%;}
    section.inner-banner {
        min-height: 250px;
    }
    section.practice-inner-group-content .our-inner-content-top {margin-bottom: 30px;}
       /* attorney-page */
    .our-attorney-box .attorney-box-img{width:50%;margin:0 auto;}
    .our-attorney-box .attorney-box-detial{width:100%;margin:20px 0 10px;}
    .link-box:nth-child(1){-webkit-box-pack:center;-ms-flex-pack:center;margin-top:20px;}
    .link-box{margin-top:15px;font-size:17px;}


    /* attorney-page */
}

@media (max-width:640px) {

    /* inner-page */
    .inner-banner .inner-banner-title{font-size: 36px;line-height: 1.3 !important;}
    .page-detail .inner-heading-1,.page-detail h1,.page-detail .inner-heading-2,.page-detail h2,.page-detail .inner-heading-3,.page-detail h3,.page-detail .inner-heading-4,.page-detail h4,.page-detail .inner-heading-5,.page-detail h5,.page-detail .inner-heading-6,.page-detail h6{margin:18px 0 12px;}
    .page-detail .inner-heading-1,.page-detail h1{font-size:32px;}
    .page-detail .inner-heading-2,.page-detail h2{font-size:28px;}
    .page-detail .inner-heading-3,.page-detail h3{font-size:25px;}
    .page-detail .inner-heading-4,.page-detail h4{font-size:20px;}
    .page-detail .inner-heading-5,.page-detail h5{font-size:19px;}
    .page-detail .inner-heading-6,.page-detail h6{font-size:18px;}
    .page-detail .page-left p,.page-detail .page-left ul li, .page-detail .page-left ol li{font-size:17px;line-height:1.6;}
    .inner-page-content{padding:45px 0;}
    section.inner-banner{padding: 100px 0 50px;min-height:240px;}
    .page-right ul li a{font-size:16px;}
    .page-detail .page-right{margin-top:40px;}


    /* inner-page */

    /* breadcrumb */

    .breadcrumb-link #breadcrumbs{font-size:16px;font-weight:500;}
    .breadcrumb-link a{font-size:16px;font-weight:500;}


    /* breadcrumb */

    /* Thank you */
    .page-left .thankyou-outer i.fa.fa-thumbs-up{height:120px;width:120px;position:relative;}
    .page-left .thankyou-outer i.fa.fa-thumbs-up.fa-thumbs-up:before{position:absolute;left:0;right:0;top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);font-size:55px;}


    /* Thank you */


    /* blog css */
    .inner-content .page-left .post-thumbnail img{height:300px;}

    /* blog css */

    /* contact page */

.our-attorney-box .attorney-box-img{
            width: 300px;
}

    /* contact page */

    .inner-banner-right-img:before{top:-35px;}
    .reviews-flex-inner{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;}
    .reviews-flex-inner .testimonial-star span.rating-5:before,.reviews-flex-inner .testimonial-star span.rating-4:before,.reviews-flex-inner .testimonial-star span.rating-3:before,.reviews-flex-inner .testimonial-star span.rating-2:before,.reviews-flex-inner .testimonial-star span.rating-1:before{left:0;right:unset;top:0px;}
    .testimonials-top{width:100%;margin:10px 0;height:30px;}
    .review-title-left{width:100%;}
    .about-badge-repeater{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;}
    .about-badge-images{margin:0px 10px 20px 10px;}
    .page-left .link-box p, .page-left .link-box a {
        font-size: 16px !important;
    }
    .link-box i.fas.fa-location-arrow {
        margin-top: 17px;
    }
    .page-detail .page-right {
        margin-top: 60px;
    }
    .soc-share {
        right: 3%;
}
section.practice-inner-group-content.pb100 {
    padding-bottom: 50px;
}
.page-detail img{float:none}
.inner-banner .section-title{
		letter-spacing: 0;
	}
}

@media (max-width:479px) {

    /* inner-page */
    section.inner-banner{padding: 100px 0 50px;min-height: 220px;}
    .inner-banner-tilte{font-size:32px;line-height:38px;}
    .inner-banner .inner-banner-title{font-size: 32px;}
    .page-detail .page-left ul li::before{top:7px;}
    .page-detail .inner-heading-1,.page-detail h1,.page-detail .inner-heading-2,.page-detail h2,.page-detail .inner-heading-3,.page-detail h3,.page-detail .inner-heading-4,.page-detail h4,.page-detail .inner-heading-5,.page-detail h5,.page-detail .inner-heading-6,.page-detail h6{margin:18px 0 12px;}
    .page-detail .inner-heading-1,.page-detail h1{font-size:30px;}
    .page-detail .inner-heading-2,.page-detail h2{font-size:25px;}
    .page-detail .inner-heading-3,.page-detail h3{font-size:22px;}
    .page-detail .page-left p,.page-detail .page-left ul li, .page-detail .page-left ol li{font-size:16px;line-height:1.4;}
    .inner-page-content{padding:30px 0;}
    .page-right ul li a{font-size:15px;}

    /* inner-page */



    /* blog css */
    .byline span.author.vcard a,a.c-link,span.c-link{font-size:14px;padding-left:20px;}
    .c-link:before{left:7px;}
    .entry-meta{padding:7px;}
    .byline span.author.vcard a,a.c-link,span.c-link{padding-right:5px;display:inline-block}
    a.c-link,span.c-link{padding-left:5px !important;}
    .page-left .blog-more-btn a{padding:8px 30px;font-size:14px;line-height: 26px;}
    span.date.c-link{display: inline-block;}
    /* blog css */

    /* error */
    .error404 .button_404 a.button {
        font-size: 13px;
        padding: 13px 15px;
    }
  
    /* error */

    /* contact page */
 
    /* contact page */

    .inner-banner .inner-banner-right-content{right: -5% !important;}
    .page-template-contact-page .address-flex iframe {
        height: 250px;
    }
    .search-no-results .page-left .search-form input.search-submit {
        padding: 9px 12px;
        font-size: 15px;
    }
    .link-box i.fas.fa-location-arrow {
        margin-top: 18px;
    }
       /* attorney-page */
    .attorney-box-detial .attorney_detail a{font-size:14px;}

    /* attorney-page */
}

@media only screen and (max-width:375px) {
    .page-left .link-box p, .page-left .link-box a {
        font-size: 15px !important;
    }
}

/* ==========================================================================
/* ==========================================================================
   Buttons — matched to the homepage
   ==========================================================================
   Every button in this file arrived as a different shape of the same imported
   style: a solid fill, uppercase, 2px letter-spacing, a 2px border, and a hover
   that emptied the fill and swapped to an outline. The homepage does none of
   that. Its button is components.css `.btn` + `.btn--gold`: a --clr-gold fill
   that lightens to --clr-gold-light on hover with the label going black, DM Sans
   at 800, mixed case, no tracking, square corners, a 1px border the same colour
   as the fill, and a 10x10 white wedge in the bottom-left corner.

   NOT ONE NUMBER IS REPEATED HERE. Every size comes from the tokens tokens.css
   already steps per breakpoint for the homepage button — --btn-pad-y and
   --btn-pad-x for the frame, --fs-body for the label — so these buttons ARE the
   homepage button rather than an imitation of it, and they resize with it.
   Change a button anywhere on the site by editing those tokens once.

   The homepage builds its button from `.btn` wrapping a `.btn__label` span. These
   are single <a> and <input> elements, so they play both roles at once: the frame,
   the padding and the type all land on one selector. `align-items`/`justify-content`
   centre the label because there is no inner span here to do it, and that is a
   structural difference, not a style one.

   This block sits at the very end of the file on purpose. The responsive rules
   above set their own font-size and padding per breakpoint for these same buttons;
   being last is what replaces that ad-hoc scale with the shared one.

   The `:before` rules cancel the inset white outline that used to animate in on
   hover. It is not a homepage behaviour, and leaving it would read as a different
   button system wearing the right colours.
   ========================================================================== */
/*
 * NOTE ON WHAT IS NOT IN THIS LIST. The sidebar search submit
 * (`.page-right .search-form input.search-submit`) is deliberately left out: its
 * design stays exactly as it was, and only its colours move to the tokens via the
 * :root mapping at the top of this file. It is a compact control inside a widget,
 * not a page-level call to action, and giving it the full button frame made it
 * dominate the sidebar.
 */
.page-left .blog-more-btn a,
.error404 .button_404 a.button,
.attorney-box-detial .attorney_detail a,
.search-no-results .page-left .search-form input.search-submit,
.search-inner-box input.search-submit,
.agree-disagree-btn a.btn {
    position: relative;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: var(--sp-10);
    padding: var(--btn-pad-y) var(--btn-pad-x);
    background-color: var(--clr-gold);
    border: 1px solid var(--clr-gold);
    border-radius: var(--radius-none);
    color: var(--clr-white) !important;
    overflow: hidden;
    cursor: pointer;
    font-family: var(--font-body);
    font-size: var(--fs-body);
    font-weight: var(--fw-extrabold) !important;
    line-height: var(--lh-btn);
    letter-spacing: normal;
    text-align: center;
    text-transform: none;
    text-decoration: none;
    -webkit-transition: background-color var(--transition), color var(--transition),
        border-color var(--transition);
    transition: background-color var(--transition), color var(--transition),
        border-color var(--transition);
}

/*
 * The homepage's gold button carries a 10x10 white corner wedge, inset --sp-7 from
 * the left and bottom (components.css `.btn--gold::after`). None of these buttons
 * holds an icon, so none of them takes the homepage's `:has(.btn__icon)` opt-out —
 * they all get the wedge, which is what makes them read as the same button.
 */
.page-left .blog-more-btn a::after,
.error404 .button_404 a.button::after,
.attorney-box-detial .attorney_detail a::after,
.search-no-results .page-left .search-form input.search-submit::after,
.search-inner-box input.search-submit::after,
.agree-disagree-btn a.btn::after {
    content: "";
    position: absolute;
    left: var(--sp-7);
    bottom: var(--sp-7);
    width: 10px;
    height: 10px;
    background-color: var(--clr-white);
    -webkit-clip-path: polygon(0 0, 0 100%, 100% 100%);
            clip-path: polygon(0 0, 0 100%, 100% 100%);
}

.page-left .blog-more-btn a:hover,
.error404 .button_404 a.button:hover,
.attorney-box-detial .attorney_detail a:hover,
.search-no-results .page-left .search-form input.search-submit:hover,
.search-inner-box input.search-submit:hover,
.agree-disagree-btn a.btn:hover,
.page-left .blog-more-btn a:focus-visible,
.error404 .button_404 a.button:focus-visible,
.attorney-box-detial .attorney_detail a:focus-visible,
.search-no-results .page-left .search-form input.search-submit:focus-visible,
.search-inner-box input.search-submit:focus-visible,
.agree-disagree-btn a.btn:focus-visible {
    background-color: var(--clr-gold-light);
    border-color: var(--clr-gold-light);
    color: var(--clr-black) !important;
    text-decoration: none;
}

/* The inset-outline hover effect is not part of the homepage button. */
.page-left .blog-more-btn a:before,
.page-left .blog-more-btn a:hover:before,
.error404 .button_404 a.button:before,
.error404 .button_404 a.button:hover:before {
    content: none;
}

/*
 * Pagination gets the colour and type language but NOT the fill: these are numbered
 * page links, and a row of sage blocks reads as six competing CTAs rather than as
 * navigation. Resting state stays outlined in the brand green and fills on hover,
 * which is what the homepage's `.btn-outline` variant does.
 */
.navigation.pagination .page-numbers {
    border-color: var(--clr-accent);
    color: var(--clr-section-dark);
    font-family: var(--paragraph);
    text-transform: none;
    letter-spacing: -0.02em;
}

.blog-pagination .navigation.pagination .page-numbers:hover,
.blog-pagination .page-numbers.current {
    background-color: var(--clr-accent);
    border-color: var(--clr-accent);
    color: var(--white) !important;
}
.page-detail .entry-content h2:first-child, .page-detail .entry-content h1:first-child, .page-detail .entry-content h3:first-child{
    margin-top: 25px !important;
}

/* ==========================================================================
/* ==========================================================================
   No per-breakpoint button block is needed
   ==========================================================================
   The frame above is --btn-pad-y / --btn-pad-x and the label is --fs-body, and
   tokens.css already steps all three for the homepage button (18/30 with an 18px
   label at 1920, down to 16/26 with a 16px label). These buttons therefore step
   WITH the homepage button for free, which is the whole point of taking the frame
   from its tokens rather than restating numbers per breakpoint.

   The ad-hoc per-breakpoint padding and font-size rules for these same selectors
   further up the file are dead: this block is later and replaces them.
   ========================================================================== */

/* ==========================================================================
   Search-results form — the field now matches its button
   ==========================================================================
   Measured before this block: the field was 41px tall with a 13.33px font (the browser
   default — it had no font-size at all) sitting next to a 62px, 20px-label button, so
   the two did not line up by 21px.

   The form becomes a flex row with `align-items: stretch`, which is what guarantees the
   match: whatever height the button resolves to at a given breakpoint, the field is that
   height too, so this keeps working with the button ladder above rather than restating
   any of its numbers. The field's type comes from `inherit`, so it rides the same scale
   as the surrounding copy.

   Scoped to `.search-no-results .page-left` only — the sidebar's search widget is a
   different form and is not touched.
   ========================================================================== */

.search-no-results .page-left .search-form {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    gap: var(--sp-15);
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
}

/* WordPress wraps the field in a <label>, so the label is the flex child that grows. */
.search-no-results .page-left .search-form label {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
    min-width: 240px;
    margin: 0;
}

.search-no-results .page-left .search-form input.search-field {
    width: 100%;
    padding: var(--btn-pad-y) var(--sp-15);
    font: inherit;
    color: var(--clr-body-text);
    background-color: var(--clr-white);
    border: 1px solid var(--clr-divider);
    border-radius: 0;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
}

.search-no-results .page-left .search-form input.search-field:focus {
    border-color: var(--clr-accent);
    outline: 2px solid var(--clr-section-dark);
    outline-offset: 2px;
}





.page-detail .page-left .contact-details {
	display: flex;
	flex-wrap: wrap;
	gap: var(--sp-25) var(--sp-40);
	margin: var(--sp-40) 0;
	padding: var(--sp-30);
	background-color: var(--panel);
	border-left: 4px solid var(--clr-gold);
	border-radius: var(--radius-none);
}

.page-detail .page-left .contact-details__item {
	display: flex;
	align-items: center;
	gap: var(--sp-15);
	flex: 1 1 auto;
}

.page-detail .page-left .contact-details__icon {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: var(--sp-40);
	height: var(--sp-40);
	border-radius: 50%;
	background-color: var(--clr-gold);
	color: var(--white);
}

/* Correction to what stood here: Font Awesome IS loaded, from a CDN in header.php
 * line 22 (cdnjs, v7.3.1). But it did not reach these icons - all.min.css was
 * absent from this page's stylesheet list on the load where it was measured, and
 * the glyphs computed to "DM Sans" at 0x0. A CDN is a single point of failure for
 * icons, and `fa fa-location-dot` mixes v4 and v6 naming besides. The markup now
 * carries inline <svg fill="currentColor"> - what homepage.php already does - so
 * each glyph inherits the circle's colour and needs no third-party request. */
.page-detail .page-left .contact-details__glyph {
	display: block;
	flex: 0 0 auto;
	width: 18px;
	height: 18px;
}

.page-detail .page-left .contact-details__value {
	margin: 0;
	font-family: var(--paragraph);
	font-weight: 500;
	color: var(--primary);
	text-decoration: none;
}

/* Only the click-to-call and mailto values are links, so only they take link colour. */
.page-detail .page-left a.contact-details__value {
	color: var(--link);
	font-weight: 700;
	transition: var(--transition);
}

.page-detail .page-left a.contact-details__value:hover,
.page-detail .page-left a.contact-details__value:focus-visible {
	color: var(--clr-gold);
	text-decoration: underline;
}

/* ------------------------------------------------------------------ form: rhythm */

.page-detail .page-left .contact-form {
	margin-top: var(--sp-40);
}

/*
 * Gravity Forms' own 12-column grid stays in charge of the layout â€” Phone and Email are
 * set to span 6 in the form itself, not forced into columns from here. This only retunes
 * the gaps onto the project spacing scale.
 */
.contact-form .gform_wrapper .gform_fields {
	row-gap: var(--sp-30);
	column-gap: var(--sp-25);
}

/* ------------------------------------------------------------------ form: labels */

/* 16px FLOOR. --fs-body steps 18/17/16.5/16/16/15/14, so a plain `inherit` put these
 * labels at 14px on the smallest screens. max(16px, 1em) keeps them riding the ladder
 * above 16 and stops exactly at 16 - developer's call. */
.contact-form .gform_wrapper .gfield_label {
	font-family: var(--paragraph);
	font-size: max(16px, 1em);
	font-weight: 700;
	color: var(--primary);
	margin-bottom: var(--sp-7);
}

/* First / Last / City / State / ZIP sit under their inputs and are secondary. */
.contact-form .gform_wrapper .gform-field-label--type-sub {
	font-size: 0.875em;
	font-weight: 400;
	color: var(--secondary);
}

.page-detail .page-left .contact-form .gform_wrapper .gfield_required,
.page-detail .page-left .contact-form .gform_wrapper .gfield_required_asterisk {
	color: var(--clr-gold);
}
.contact-form .gform_wrapper .gform_fields select {
    display: flex;
    align-items: center;
}

/* ------------------------------------------------------------------ form: controls */


.contact-form {
	--contact-field-height: var(--sp-60);
	--contact-field-pad-x: var(--sp-15);
	--contact-textarea-height: 180px;
}

.contact-form .gform_wrapper .gform_fields input[type="text"],
.contact-form .gform_wrapper .gform_fields input[type="email"],
.contact-form .gform_wrapper .gform_fields input[type="tel"],
.contact-form .gform_wrapper .gform_fields input[type="number"],
.contact-form .gform_wrapper .gform_fields select,
.contact-form .gform_wrapper .gform_fields textarea {
	box-sizing: border-box;
	width: 100%;
	min-height: var(--contact-field-height);
	padding: var(--btn-pad-y) var(--contact-field-pad-x);
	font: inherit;
	color: var(--primary);
	background-color: var(--white);
	border: 1px solid var(--clr-divider);
	border-radius: var(--radius-none);
	transition: var(--transition);
}

/* .page-detail .page-left prefix is load-bearing: at (0,3,1) the height lost to a
 * Gravity rule and the box rendered its rows="10" intrinsic 288px. max-height caps
 * the drag handle too - developer's 200px ceiling. */
.page-detail .page-left .contact-form .gform_wrapper .gform_fields textarea {
	height: var(--contact-textarea-height);
	max-height: 200px;
	min-height: var(--contact-textarea-height);
	padding: var(--contact-field-pad-x);
	resize: vertical;
	line-height:1.4;
}

.contact-form .gform_wrapper .gform_fields input:hover,
.contact-form .gform_wrapper .gform_fields select:hover,
.contact-form .gform_wrapper .gform_fields textarea:hover {
	border-color: var(--clr-divider);
}

.contact-form .gform_wrapper .gform_fields input:focus,
.contact-form .gform_wrapper .gform_fields select:focus,
.contact-form .gform_wrapper .gform_fields textarea:focus {
	border-color: var(--clr-gold);
	outline: 2px solid var(--link);
	outline-offset: 2px;
}

/* ------------------------------------------------------------------ form: submit */

.contact-form .gform_wrapper.gform-theme--framework.gform-theme--orbital[data-form-theme] {
	--gf-color-primary: var(--clr-gold) !important;
	--gf-color-primary-darker: var(--link) !important;
	--gf-color-primary-lighter: var(--clr-gold-light) !important;
	--gf-color-primary-contrast: var(--white) !important;

	--gf-ctrl-btn-size-md: var(--sp-60);
	--gf-ctrl-btn-font-size-md: var(--fs-body);
	--gf-ctrl-btn-padding-x-md: var(--btn-pad-x);
	--gf-ctrl-btn-padding-y: var(--btn-pad-y);
	--gf-ctrl-btn-font-weight: var(--fw-extrabold);
	--gf-ctrl-btn-letter-spacing: 1px;

	/* global.css sets .btn { border-radius: 0 } â€” every button on the site is square. */
	--gf-ctrl-btn-radius: 0;
}

.contact-form .gform_wrapper .gform_footer {
	margin-top: var(--sp-30);
	padding: 0;
}

.contact-form .gform_wrapper .gform-footer input.gform_button.button:focus,
.contact-form .gform_wrapper .gform-footer input.gform_button.button:focus-visible {
	outline: none !important;
}

/* ---------------------------------------------- restored: checkbox, labels, hover */

/* Checkboxes: same treatment as the sidebar form so the two forms on a page agree -
 * no Gravity border/radius, no blue focus ring, gold when checked with its white
 * icon-font tick. The 1px --clr-divider hairline is what makes the box visible at
 * all: page-left ground is WHITE, so a white borderless box disappeared. */
.page-detail .page-left .contact-form input[type="checkbox"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 18px;
	height: 18px;
	min-width: 18px;
	padding: 0;
	margin: 3px 0 0;
	background-color: var(--white);
	border: 1px solid var(--clr-divider);
	border-radius: var(--radius-none);
	box-shadow: none;
	outline: none;
	cursor: pointer;
	transition: background-color var(--transition);
}

.page-detail .page-left .contact-form input[type="checkbox"]:checked {
	background-color: var(--clr-gold);
	border-color: var(--clr-gold);
}

.page-detail .page-left .contact-form input[type="checkbox"]::before {
	color: var(--clr-white);
}

/* Keyboard focus only - never fires on a mouse click. */
.page-detail .page-left .contact-form input[type="checkbox"]:focus-visible {
	outline: var(--focus-ring);
	outline-offset: 2px;
}

/* Inline labels - the consent row ("I agree to the privacy policy.") and the
 * checkbox choices. Gravity leaves these at its own navy #112337 / 14px / 400.
 * 16px is a hard floor here, same as .gfield_label above - developer's call. */
.page-detail .page-left .contact-form .gform_wrapper .gform-field-label--type-inline,
.page-detail .page-left .contact-form .gform_wrapper .gfield_consent_label {
	font-family: var(--paragraph);
	font-size: 16px;
	font-weight: 500;
	line-height: 1.5;
	color: var(--clr-dark);
	cursor: pointer;
}

/* Submit hover/focus matched to the sidebar "Contact The Firm" button: gold ->
 * gold-light with BLACK text. Gravity's own hover paints --gf-color-primary-darker,
 * mapped to --link (#333) here, so this button went DARK while the sidebar went
 * light. Remapping that variable was not an option - Gravity keeps the text at
 * --gf-color-primary-contrast (white), unreadable on #efc167. */
.page-detail .page-left .contact-form .gform_wrapper.gform-theme .gform_footer button.gform_button:hover,
.page-detail .page-left .contact-form .gform_wrapper.gform-theme .gform_footer button.gform_button:focus-visible {
	background-color: var(--clr-gold-light);
	border-color: var(--clr-gold-light);
	color: var(--clr-black);
}

@media (max-width: 1200px) {
	.contact-form {
		--contact-field-height: 56px;
		--contact-textarea-height: 160px;
	}
}

@media (max-width: 999px) {
	.contact-form {
		--contact-field-height: 52px;
		--contact-textarea-height: var(--sp-150);
	}
}

@media (max-width: 767px) {
	.contact-form {
		--contact-field-height: var(--sp-50);
		--contact-field-pad-x: 12px;
		--contact-textarea-height: 130px;
	}

	.contact-form .gform_wrapper .gform_fields > .gfield {
		grid-column: 1 / -1;
	}

	.page-detail .page-left .contact-details {
		display: block;
		padding: var(--sp-25);
	}

	.page-detail .page-left .contact-details__item + .contact-details__item {
		margin-top: var(--sp-25);
	}
}

@media (max-width: 479px) {
	.contact-form {
		--contact-field-height: 44px;
		--contact-textarea-height: 110px;
	}
}

/* Attorneys listing page  (page-templates/attorney-main.php)
 * ==========================================================================
 * A plain grid - NO slider, developer's explicit call. The homepage runs its
 * attorneys through Slick with a 67px photo overhang and a rotating arrow;
 * none of that belongs on a listing page. So this borrows only the card's
 * VOCABULARY - white panel, --clr-border hairline, square corners, object-fit
 * photo, .btn--gold action - and lays it out with flex-wrap.
 *
 * WHY THE SCOPE IS NOT .attorney-main-page, even though that div exists:
 * the template closes it INSIDE the repeater loop (three </div> before
 * `endwhile`), so it wraps only the FIRST group. "Associate Attorneys" renders
 * as a sibling outside it and was left unstyled at full width. Every class
 * below (.our-attorney-box-team-title, .our-attorney-box-main,
 * .our-team-list-main, .our-team-image, .attorney-box-content, .our-team-name,
 * .our-team-designation) is used by THIS template and no other, so scoping on
 * them plus .page-detail .page-left covers every group and cannot leak.
 * NOTE: .our-attorney-box and .attorney_detail ARE shared with
 * attorney-inner-page.php - never style those two unscoped.
 *
 * Flexbox only, never Grid, and card widths are explicit percentages rather
 * than flex-basis - BRIEF.md rule 1 plus its flex_sizing note.
 *
 * TWO media queries, and only because 3 -> 2 -> 1 columns is three states. The
 * photo is aspect-ratio driven, name/heading sizes come from .page-detail h2/h3
 * and the button steps itself via --btn-pad-*, so nothing else needs a stop.
 * ========================================================================== */

/* Heading. 36px Playfair is already inherited from .page-detail h2 - only the
 * rhythm around it is set here. */
.page-detail .page-left .our-attorney-box-team-title {
	margin: 0 0 var(--sp-40);
}

/* Space between one team group and the next. A sibling selector cannot be used
 * because the div bug described above leaves the groups on different levels. */
.page-detail .page-left .our-attorney-box-main {
	display: flex;
	flex-wrap: wrap;
	gap: var(--sp-20);
	margin-bottom: var(--sp-70);
}

.page-detail .page-left .our-team-list-main {
	display: flex;
	flex-direction: column;
	box-sizing: border-box;
	width: calc(33.3333% - (var(--sp-20) * 2 / 3));
	background-color: var(--clr-white);
	border: 1px solid var(--clr-border);
	border-radius: var(--radius-none);
}

/* Photo. Same 437x395 ratio the homepage attorney card uses, so a face is
 * cropped the same way here as everywhere else. Without this the raw upload
 * rendered at its natural 874x790 and made a 953px-tall card. */
.page-detail .page-left .our-team-image {
	overflow: hidden;
	aspect-ratio: 437 / 395;
}

.page-detail .page-left .our-team-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.45s ease;
}

.page-detail .page-left .our-team-list-main:hover .our-team-image img,
.page-detail .page-left .our-team-list-main:focus-within .our-team-image img {
	transform: scale(1.05);
}

/* Content, in the order asked for: name -> designation -> action. */
.page-detail .page-left .attorney-box-content {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: var(--sp-30);
}

/* The rule between the name and the designation. width:100% is load-bearing:
 * .attorney-box-content is a flex column with align-items:flex-start, so this
 * anchor shrank to its text (251px of a 359px card) and the line stopped under
 * the name - a different length on every card, since some names wrap.
 * The 8px above it is this
 * element's padding-bottom and the 8px below it is its margin-bottom, so both
 * gaps are declared together here and .our-team-designation can keep a zero top
 * margin - nothing to keep in sync in two places. */
.page-detail .page-left .our-team-name {
	display: block;
	width: 100%;
	text-decoration: none !important;
	padding-bottom: 8px;
	margin-bottom: 8px;
	border-bottom: 1px solid var(--primary);
}

/* (0,3,1) on purpose: .page-detail h3 is (0,2,1) and sets `margin: 40px 0 5px`,
 * which would push the name away from its photo. */
/* The h3 needs its own colour because .page-detail h3 sets one, so the heading
 * never inherits the anchor's. */
.page-detail .page-left .our-team-name h3 {
	margin: 0;
	color: var(--primary);
	transition: color var(--transition);
}

.page-detail .page-left .our-team-name:hover h3,
.page-detail .page-left .our-team-name:focus-visible h3 {
	color: var(--link-hover);
}

/* The year lives in a <span> inside the h3. Own line, and sized off the PARENT
 * with em so it tracks the name at every breakpoint instead of needing its own
 * px ladder (0.6em = 18px against the h3's 30px).
 *
 * NOT made unclickable here, and not by oversight: the span sits INSIDE the
 * <a>, so `pointer-events: none` only changes which element is the event
 * target - the click falls through to the ancestor anchor and still navigates.
 * Measured, not assumed: with that declaration in place, a real click on the
 * span still took the URL from ?cb=6 to ?cb=6#. Making the year inert needs the
 * <span> moved out of the <a> in attorney-main.php - a markup change, not CSS -
 * so the misleading declaration was removed rather than left to imply it works. */
.page-detail .page-left .our-team-name h3 span {
	display: block;
	font-size: 0.6em;
	line-height: 1.3;
	margin-top: 4px;
}

.page-detail .page-left .our-team-designation {
	margin: 0;
	font-family: var(--paragraph);
	font-size: max(16px, 1em);
	font-weight: 500;
	line-height: 1.5;
	color: var(--secondary);
    text-transform: uppercase;
}

/* The button needs no colour work: the template already prints .btn.btn--gold,
 * which components.css owns. .attorney_detail is shared with the inner
 * attorney page, so this is scoped through .our-team-list-main. */
.page-detail .page-left .our-team-list-main .attorney_detail {
	margin-top: var(--sp-25);
}

.our-attorney-box.our-attorney-box-single {
    margin-bottom: 20px;
    background-color: #f1f3f4;
    padding: 40px;
    display: inline-block;
    max-width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

/* --------------------------------------------------------------- responsive */

/* Three per row, then two, then one. The width formula is
 *   100%/n - gap * (n-1)/n
 * which is why each step restates it rather than sharing one value.
 *
 * 1200 is where 3-up stops fitting: the sidebar is still beside the content
 * there, so .page-left is ~854px and a third of it leaves a 271px card - too
 * narrow once the 30px content padding is taken out. */
@media (max-width: 1200px) {
	.page-detail .page-left .our-team-list-main {
		width: calc(50% - (var(--sp-20) / 2));
	}
    .our-attorney-box.our-attorney-box-single {
    padding: 25px;
}
}

/* One per row, capped and centred rather than left to span the column: a
 * full-width card made the 437:395 photo 651px tall at 767 - nearly a phone
 * screen for one headshot. Capping keeps the portrait crop instead of
 * letterboxing a face, and `margin: 0 auto` is the same idiom the inner
 * attorney page already uses for its photo at this width. */
@media (max-width: 640px) {
	.page-detail .page-left .our-team-list-main {
		width: 100%;
		max-width: 420px;
		margin-left: auto;
		margin-right: auto;
	}
        .our-attorney-box.our-attorney-box-single {
    padding: 18px;
}
}

/* Attorney inner page - contact link boxes + the email popup
 * ==========================================================================
 * .link-box and #email-box are used by attorney-inner-page.php and no other
 * template, so these rules cannot reach another page.
 *
 * WHY THE BOXES DISAGREED (measured 44 / 18 / 34 / 18 px tall):
 *   1. `.page-detail .page-left p` (0,2,1) paints EVERY page-left paragraph
 *      --secondary and gives it `margin: 15px 0`. The location box escaped it
 *      through `.link-box:nth-child(1) p`, and the phone/email boxes use <a>
 *      rather than <p> - so the FAX box was the only one left grey and taller.
 *      That is the whole colour bug.
 *   2. `.link-box i` carries `line-height: 0`, and `.fa-location-arrow` adds
 *      `margin-top: 24px` on top of it - which is the 44px box.
 *   3. `.link-box i` sets `line-height: 0`, which collapsed the glyphs to zero
 *      height even though they DO load. Font Awesome comes from a CDN in
 *      header.php line 22 (cdnjs, v7.3.1) on every page - not from an
 *      enqueue in functions.php, which is why grepping functions.php finds
 *      nothing. The icons below get a real line-height and one fixed slot so
 *      the rows line up whether or not that CDN request succeeds.
 * ========================================================================== */

/* One rhythm between boxes, declared once, instead of margin-top on each. */
.page-detail .page-left .at-contact-detail .link-box {
	margin-top: 0;
}

.page-detail .page-left .at-contact-detail .link-box + .link-box {
	margin-top: var(--sp-15);
}

.page-detail .page-left .at-contact-detail .link-box a{
    display: inline-flex;
}

/* (0,3,1) beats `.page-detail .page-left p` (0,2,1), which is what was painting
 * the fax row --secondary. Note that `.attorney-box-detial p` also sets
 * `color: var(--link)` but loses to that (0,2,1) rule, which is exactly why the
 * fax row - the only one using a <p> that isn't box one - came out grey. */
.page-detail .page-left .link-box p,
.page-detail .page-left .link-box a {
	color: var(--link);
	line-height: 1.5;
}

/* !important is unavoidable here, and it is the only one in this block:
 * `.attorney-box-detial p` sets `margin: 5px 0 !important`, so no amount of
 * specificity clears it. Those 5px are what made the location row 37px against
 * the others' 30px. */
.page-detail .page-left .at-contact-detail .link-box p {
	margin: 0 !important;
}

/* Box one is the only row whose <i> and <p> are SIBLINGS rather than the icon
 * sitting inside the text element, and `.link-box:nth-child(1)` aligns them to
 * `start`. Centring them makes its height match every other row. */
.page-detail .page-left .at-contact-detail .link-box:nth-child(1) {
	align-items: center;
	line-height: 1.5;
}

/* One icon slot for every row. Ties with `.link-box i.fas.fa-location-arrow`
 * (0,3,1) and wins on order, which is what removes its 24px nudge. */
.page-detail .page-left .link-box i {
	flex: 0 0 auto;
	width: 22px;
	margin: 0 10px 0 0;
	font-size: 20px;
	line-height: 1.5;
	text-align: center;
}

/* --------------------------------------------------- email popup (no JS) */

/* #email-box already exists in the template carrying .mfp-hide - a Magnific
 * Popup class. Magnific is NOT enqueued on this site, so that class did nothing
 * and the container sat in the page flow. No library is added here: :target
 * does the whole job, so the popup costs zero JS and zero dependencies.
 * The trigger has to point at #email-box for :target to fire - see the report. */
#email-box {
	position: fixed;
	inset: 0;
	z-index: 9999;
	display: none;
	align-items: center;
	justify-content: center;
	padding: var(--sp-20);
	overflow-y: auto;
	background-color: color-mix(in srgb, var(--clr-black) 70%, transparent);
}

#email-box:target {
	display: flex;
}

/* The panel: theme vocabulary - white ground, --clr-border hairline, square. */
#email-box .email-pop-inner-box {
	position: relative;
	box-sizing: border-box;
	width: 100%;
	max-width: 600px;
	max-height: 90vh;
	overflow-y: auto;
	padding: var(--sp-40);
	background-color: var(--clr-white);
	border: 1px solid var(--clr-border);
	border-radius: var(--radius-none);
}

/* Close control. Sized as a real 44px target rather than a bare glyph. */
#email-box .email-pop-close {
	position: absolute;
	top: 10px;
	right: 10px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	font-family: var(--paragraph);
	font-size: 28px;
	line-height: 1;
	color: var(--link);
	text-decoration: none !important;
	transition: color var(--transition);
}

#email-box .email-pop-close:hover,
#email-box .email-pop-close:focus-visible {
	color: var(--link-hover);
}

@media (max-width: 640px) {
	#email-box .email-pop-inner-box {
		padding: var(--sp-25);
	}
}

/* The popup's Gravity form - same treatment as the contact page form
 * --------------------------------------------------------------------------
 * The form comes from the inner-page OPTIONS field `attorney_email_form`, so it
 * is the SAME markup Gravity prints anywhere: Orbital theme, navy labels, 3px
 * radii, a blue submit and a CSS-GRID field list.
 *
 * These selectors are cheap to win with, unlike the contact page's: #email-box
 * is an ID, so (1,x,x) outranks every class-based Gravity rule no matter how
 * long. That is why there is no !important anywhere in this block, and no
 * specificity padding either.
 * -------------------------------------------------------------------------- */

/* Grid -> flex column. BRIEF.md rule 1 forbids Grid, and Gravity's 40px
 * row-gap is far too airy inside a 600px panel. */
#email-box .gform_fields {
	display: flex;
	flex-direction: column;
	gap: var(--sp-20);
}

#email-box .gfield {
	width: 100%;
	box-sizing: border-box;
}

#email-box .gfield_label {
	display: block;
	margin: 0 0 var(--sp-7);
	padding: 0;
	font-family: var(--paragraph);
	font-size: max(16px, 1em);
	font-weight: 700;
	line-height: 1.4;
	color: var(--primary);
}

#email-box .gfield_required,
#email-box .gfield_required_asterisk {
	color: var(--clr-gold);
}

#email-box input[type="text"],
#email-box input[type="email"],
#email-box input[type="tel"],
#email-box input[type="number"],
#email-box select,
#email-box textarea {
	display: block;
	box-sizing: border-box;
	width: 100%;
	min-height: var(--sp-50);
	margin: 0;
	padding: 12px var(--sp-15);
	background-color: var(--white);
	border: 1px solid var(--clr-divider);
	border-radius: var(--radius-none);
	font-family: var(--paragraph);
	font-size: max(16px, 1em);
	font-weight: 500;
	line-height: 1.4;
	color: var(--primary);
	transition: border-color var(--transition);
}

/* rows="10" renders 288px, which does not belong in a modal. */
#email-box textarea {
	height: 130px;
	max-height: 200px;
	min-height: 130px;
	resize: vertical;
}

#email-box input::placeholder,
#email-box textarea::placeholder {
	color: var(--secondary);
	opacity: 1;
}

#email-box input:focus,
#email-box select:focus,
#email-box textarea:focus {
	outline: var(--focus-ring);
	outline-offset: 0;
	border-color: var(--clr-gold);
}

/* Consent row + choices: the treatment both other forms on this site use. */
#email-box .ginput_container_consent {
	display: flex;
	align-items: flex-start;
	flex-wrap: nowrap;
	gap: 12px;
}

#email-box input[type="checkbox"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	flex: 0 0 auto;
	width: 18px;
	height: 18px;
	min-width: 18px;
	margin: 3px 0 0;
	padding: 0;
	background-color: var(--white);
	border: 1px solid var(--clr-divider);
	border-radius: var(--radius-none);
	box-shadow: none;
	outline: none;
	cursor: pointer;
	transition: background-color var(--transition);
}

#email-box input[type="checkbox"]:checked {
	background-color: var(--clr-gold);
	border-color: var(--clr-gold);
}

#email-box input[type="checkbox"]::before {
	color: var(--clr-white);
}

#email-box input[type="checkbox"]:focus-visible {
	outline: var(--focus-ring);
	outline-offset: 2px;
}

#email-box .gform-field-label--type-inline,
#email-box .gfield_consent_label {
	flex: 1 1 auto;
	min-width: 0;
	margin: 0;
	padding: 0;
	font-family: var(--paragraph);
	font-size: 16px;
	font-weight: 500;
	line-height: 1.5;
	color: var(--clr-dark);
	cursor: pointer;
}

#email-box .gfield_html a {
	color: var(--link);
	font-weight: 600;
	text-decoration: underline;
	transition: color var(--transition);
}

#email-box .gfield_html a:hover {
	color: var(--link-hover);
}

/* Submit: the same gold action both other forms carry. Inline width, matching
 * the contact page form rather than the sidebar's full-width one. */
#email-box .gform_footer {
	display: block;
	margin: var(--sp-25) 0 0;
	padding: 0;
}

#email-box .gform_footer button.gform_button,
#email-box .gform_footer input[type="submit"] {
	display: inline-block;
	width: auto;
	background-color: var(--clr-gold);
	border: 1px solid var(--clr-gold);
	border-radius: var(--radius-none);
	padding: var(--btn-pad-y) var(--btn-pad-x);
	font-family: var(--paragraph);
	font-size: var(--fs-body);
	font-weight: var(--fw-extrabold);
	line-height: var(--lh-btn);
	color: var(--clr-white);
	text-align: center;
	text-transform: uppercase;
	letter-spacing: 1px;
	cursor: pointer;
	transition: background-color var(--transition), border-color var(--transition), color var(--transition);
}

#email-box .gform_footer button.gform_button:hover,
#email-box .gform_footer button.gform_button:focus-visible,
#email-box .gform_footer input[type="submit"]:hover,
#email-box .gform_footer input[type="submit"]:focus-visible {
	background-color: var(--clr-gold-light);
	border-color: var(--clr-gold-light);
	color: var(--clr-black);
}
.page-template-contact-page aside#text-2 {
    display: none;
}