.elementor-14517 .elementor-element.elementor-element-d100000{--display:flex;}.elementor-14517 .elementor-element.elementor-element-d110000{--display:flex;}.elementor-14517 .elementor-element.elementor-element-d111000{--display:flex;}.elementor-widget-heading .elementor-heading-title{color:var( --e-global-color-primary );}.elementor-widget-text-editor{color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-14517 .elementor-element.elementor-element-d111050{--display:flex;}.elementor-14517 .elementor-element.elementor-element-d111100{--display:flex;}/* Start custom CSS *//* ==== p3 shared components (the LEGAL3 subset of PAGES3 spec/shared.css) - pasted verbatim at the
   top of each page's custom CSS. `body.elementor-page-14517` is replaced by Elementor Pro with body.elementor-page-<post id>. */

body.elementor-page-14517 {
	--p3-top: 40px;
	--p3-bottom: 80px;
	--p3-band-gap: 50px;
}

/* Bands and columns: Elementor containers carry default padding and gaps through custom
   properties; zero them here so every dimension below is the mockup's. */
body.elementor-page-14517 .e-con.p3-band,
body.elementor-page-14517 .e-con.p3-wrap,
body.elementor-page-14517 .e-con.p3-card,
body.elementor-page-14517 .e-con.p3-panel {
	--padding-top: 0px;
	--padding-right: 0px;
	--padding-bottom: 0px;
	--padding-left: 0px;
	--row-gap: 0px;
	--column-gap: 0px;
	--gap: 0px;
}

body.elementor-page-14517 .e-con.p3-band {
	--width: 100%;
	width: 100%;
	flex-direction: column;
	align-items: stretch;
}

body.elementor-page-14517 .e-con.p3-band + .e-con.p3-band {
	margin-top: var(--p3-band-gap);
}

body.elementor-page-14517 .elementor > .e-con.p3-band:first-child {
	margin-top: var(--p3-top);
}

body.elementor-page-14517 .elementor > .e-con.p3-band:last-child {
	margin-bottom: var(--p3-bottom);
}

body.elementor-page-14517 .e-con.p3-wrap {
	--width: min(100% - 2 * var(--b26-gutter), var(--b26-max));
	width: min(100% - 2 * var(--b26-gutter), var(--b26-max));
	margin-inline: auto;
}

@media (min-width: 640px) {
	body.elementor-page-14517 .e-con.p3-wrap {
		--width: min(100% - 2 * var(--b26-gutter-sm), var(--b26-max));
		width: min(100% - 2 * var(--b26-gutter-sm), var(--b26-max));
	}
}

body.elementor-page-14517 .e-con.p3-card {
	background: var(--b26-white);
	border-radius: var(--b26-radius-md);
}

body.elementor-page-14517 .e-con.p3-panel {
	background: var(--b26-sand);
	border-radius: var(--b26-radius-md);
}
/* ==== end p3 shared ==== */

/* ==== p3l: legal pages - /terms-of-use/, /work-and-volunteer-with-us/, /state-fundraising-disclosures/ ====
   Layout: the Donor-Advised Funds mockup Sandro sent on 2026-09-13 (spec/mockup-daf.png, 0.7148 screenshot
   px per CSS px): a sand panel 1350 wide with 60px padding, white blocks 100% of the column, the theme's
   newsletter card below. Positions were measured on that screenshot as baselines and box edges
   (runs/measure/); sizes and weights are the theme tokens the site's own build of that page uses
   (/donate-via-daf/: h1 44, section heading 30, body 16, headings 600).
   Converting a baseline to a CSS line box uses each font's typo metrics (PAGES3, fontTools):
   Plus Jakarta Sans ascent 1.038 / descent 0.222 / cap 0.745, Instrument Sans 0.970 / 0.250 / 0.720.
   So h1 44/55 has its baseline 45.45 below the line top and its cap top 12.67 below it; h2 30/40 -> 32.24
   and 9.89; h3 24/32 -> 25.79 and 7.91; body 16/20 -> 15.76 and 4.24. */

/* The header of these pages ends 16.1 below the DONATE button (measured on /terms-of-use/ at 1500:
   button bottom 200.9, header bottom 217.0), and an Elementor body starts at the header's bottom
   (measured on /donate/). The mockup puts the panel 31.4 below the DONATE button and the newsletter card
   48.5 below the panel; the theme's subscribe section has 50px of top padding. */
body.elementor-page-14517 {
	--p3-top: 15.3px;
	--p3-bottom: -1.5px;
}

/* The theme cancels the footer's 96px top margin only when the footer directly follows the newsletter band
   (app.css ".b26-footer{margin-top:var(--b26-space-13)}", ".b26-subscribe+.b26-footer{margin-top:0}").
   Cookiebot's uc.js (addUspapiLocatorFrame) appends a display:none iframe named __uspapiLocator to <body>
   as soon as <body> exists, while the page is still being parsed, so the iframe ends up after whichever
   element had been parsed by then. Measured 2026-09-13: after the footer on production, between the
   newsletter band and the footer on a local copy of /work-and-volunteer-with-us/ - where the "+" rule
   stopped matching and a 96px strip opened above the footer, the strip Sandro saw on that page. "~" still
   matches with the iframe in between. */
body.elementor-page-14517 .b26-subscribe ~ .b26-footer {
	margin-top: 0;
}

/* Top 48.5: the mockup's h1 cap top is 61.1 below the panel top. Bottom 60: the last white block ends
   59.7 above the panel bottom. */
body.elementor-page-14517 .e-con.p3l-panel {
	--padding-top: 48.5px;
	--padding-right: 60px;
	--padding-bottom: 60px;
	--padding-left: 60px;
	padding: 48.5px 60px 60px;
}

/* A block column, so vertical margins behave like prose. 723.7 wide and centred in the mockup; 68ch of
   the 16px body face is 724.6, which is why the font is declared here. */
body.elementor-page-14517 .e-con.p3l-col {
	--padding-top: 0px;
	--padding-right: 0px;
	--padding-bottom: 0px;
	--padding-left: 0px;
	--row-gap: 0px;
	--column-gap: 0px;
	--gap: 0px;
	--display: block;
	--width: 100%;
	display: block;
	width: 100%;
	max-width: var(--b26-prose);
	margin-inline: auto;
	font-family: var(--b26-font-body);
	font-size: var(--b26-size-body);
	line-height: 20px;
	color: var(--b26-ink);
}

/* ---- type ---------------------------------------------------------------------------------------- */

/* The mockup's two-line h1 has a 55.1 line pitch. */
body.elementor-page-14517 .p3l-title .elementor-heading-title {
	margin: 0;
	font-family: var(--b26-family-h1);
	font-size: var(--b26-size-h1);
	font-weight: var(--b26-weight-h1);
	line-height: 1.25;
	letter-spacing: var(--b26-ls-h1, normal);
	color: var(--b26-ink);
	text-wrap: balance;
}

/* Body 16 on a 20.2 line pitch in the mockup. */
body.elementor-page-14517 .p3l-prose {
	font-family: var(--b26-font-body);
	font-size: var(--b26-size-body);
	font-weight: 400;
	line-height: 20px;
	color: var(--b26-ink);
}

body.elementor-page-14517 .p3l-prose h2 {
	font-family: var(--b26-family-h3);
	font-size: var(--b26-size-h3);
	font-weight: var(--b26-weight-h3);
	line-height: var(--b26-lh-h3);
	letter-spacing: var(--b26-ls-h3, normal);
	color: var(--b26-ink);
	text-wrap: balance;
}

body.elementor-page-14517 .p3l-prose h3 {
	font-family: var(--b26-family-h4);
	font-size: var(--b26-size-h4);
	font-weight: var(--b26-weight-h4);
	line-height: var(--b26-lh-h4);
	letter-spacing: var(--b26-ls-h4, normal);
	color: var(--b26-ink);
	text-wrap: balance;
}

/* ---- vertical rhythm, from the mockup's baselines --------------------------------------------------
   h1 last baseline -> h2 baseline 71.0      => 29.2 below the h1
   h2 baseline -> first body baseline 34.15  => 10.6 below a section heading
   paragraph last baseline -> next first 39.6 on a 20 line => 20 between paragraphs
   body last baseline -> white block top 45.0 => 40.7 above a white block
   white block bottom -> h2 baseline 68.7    => 36.5 above a section heading that follows a block
   h2 baseline -> white block top 21.4       => 13.6 between a section heading and its block
   The mockup has no heading straight after body text: 33.4 keeps the 47.5 it leaves between a block's
   bottom and the next heading's cap top. Sub-headings (h3) are not in the mockup: 23.9 above (36 from
   the body baseline to the cap top) and 12 below. */

body.elementor-page-14517 .p3l-col > .elementor-element {
	margin: 0;
}

body.elementor-page-14517 .p3l-col > .elementor-element + .elementor-element {
	margin-top: 20px;
}

body.elementor-page-14517 .p3l-col > .p3l-title + .elementor-element {
	margin-top: 29.2px;
}

body.elementor-page-14517 .p3l-col > .elementor-element + .p3l-block {
	margin-top: 40.7px;
}

body.elementor-page-14517 .p3l-col > .elementor-element:has(> .elementor-widget-container > h2:last-child) + .p3l-block {
	margin-top: 13.6px;
}

body.elementor-page-14517 .p3l-col > .p3l-block + .elementor-element {
	margin-top: 36.5px;
}

body.elementor-page-14517 .p3l-prose .elementor-widget-container > * {
	margin: 0;
}

body.elementor-page-14517 .p3l-prose .elementor-widget-container > * + * {
	margin-top: 20px;
}

body.elementor-page-14517 .p3l-prose .elementor-widget-container > * + h2 {
	margin-top: 33.4px;
}

body.elementor-page-14517 .p3l-prose .elementor-widget-container > * + h3 {
	margin-top: 23.9px;
}

body.elementor-page-14517 .p3l-prose .elementor-widget-container > h2 + * {
	margin-top: 10.6px;
}

body.elementor-page-14517 .p3l-prose .elementor-widget-container > h3 + * {
	margin-top: 12px;
}

/* ---- lists: the theme's prose markers, restated because these widgets are not .b26-prose ---------- */

body.elementor-page-14517 .p3l-prose ul,
body.elementor-page-14517 .p3l-prose ol {
	padding-left: var(--b26-space-6);
}

body.elementor-page-14517 .p3l-prose li + li {
	margin-top: var(--b26-space-2);
}

body.elementor-page-14517 .p3l-prose ul {
	list-style: none;
	padding-left: 18.68px;
}

body.elementor-page-14517 .p3l-prose ul > li {
	position: relative;
	padding-left: 0;
}

body.elementor-page-14517 .p3l-prose ul > li::before {
	content: "";
	position: absolute;
	left: -17.83px;
	top: 0.45em;
	width: 5.4px;
	height: 5.4px;
	border-radius: 50%;
	background: var(--b26-ink);
}

body.elementor-page-14517 .p3l-prose ol {
	list-style: none;
	counter-reset: p3l-ol;
}

/* The theme's counter ignores <ol start>, so on the live Terms of Use every one-item list after the
   first showed 1. The numbers the text was written with are kept here. */
body.elementor-page-14517 .p3l-prose ol[start="2"] { counter-reset: p3l-ol 1; }
body.elementor-page-14517 .p3l-prose ol[start="3"] { counter-reset: p3l-ol 2; }
body.elementor-page-14517 .p3l-prose ol[start="4"] { counter-reset: p3l-ol 3; }
body.elementor-page-14517 .p3l-prose ol[start="5"] { counter-reset: p3l-ol 4; }
body.elementor-page-14517 .p3l-prose ol[start="6"] { counter-reset: p3l-ol 5; }
body.elementor-page-14517 .p3l-prose ol[start="7"] { counter-reset: p3l-ol 6; }
body.elementor-page-14517 .p3l-prose ol[start="8"] { counter-reset: p3l-ol 7; }
body.elementor-page-14517 .p3l-prose ol[start="9"] { counter-reset: p3l-ol 8; }
body.elementor-page-14517 .p3l-prose ol[start="10"] { counter-reset: p3l-ol 9; }
body.elementor-page-14517 .p3l-prose ol[start="11"] { counter-reset: p3l-ol 10; }
body.elementor-page-14517 .p3l-prose ol[start="12"] { counter-reset: p3l-ol 11; }

body.elementor-page-14517 .p3l-prose ol > li {
	counter-increment: p3l-ol;
	position: relative;
}

body.elementor-page-14517 .p3l-prose ol > li::before {
	content: counter(p3l-ol);
	position: absolute;
	left: calc(-1 * var(--b26-space-6));
	top: 0;
	width: 1.4em;
	height: 1.4em;
	display: grid;
	place-items: center;
	border-radius: 50%;
	background: var(--b26-sector);
	color: var(--b26-ink);
	font-family: var(--b26-font-display);
	font-size: 0.72em;
	line-height: 1;
	font-weight: 600;
	font-variant-numeric: tabular-nums;
}

/* ---- white blocks ---------------------------------------------------------------------------------- */

body.elementor-page-14517 .e-con.p3l-block {
	--padding-top: 40px;
	--padding-right: 40px;
	--padding-bottom: 40px;
	--padding-left: 40px;
	--display: block;
	display: block;
	padding: 40px;
}

/* The registration seal (Sandro, 2026-09-13, after the first publish): no white block around it - no
   background, no padding - and the logo with the link label beside it, the label centred on the logo, as
   on the page before the rebuild. The theme resets every img to display:block (app.css
   "img,picture,video,canvas,svg{display:block;max-width:100%}"), which put the logo on a line of its own
   with the label under it; the link is a flex row instead, so on a phone the label wraps beside the logo
   (measured at 375: two lines, centred on the logo within 0.3px). About 9px between logo and label: the
   gap on Sandro's screenshot of the old page (12 screenshot px, logo 125 screenshot px for 90 CSS px).
   Without the block the seal follows the paragraph above at the paragraph gap, 20px. The theme's link
   rule for body copy skips a link that holds an image; the old page underlined this one through
   .b26-prose a. */
body.elementor-page-14517 .e-con.p3l-block.p3l-seal {
	--padding-top: 0px;
	--padding-right: 0px;
	--padding-bottom: 0px;
	--padding-left: 0px;
	padding: 0;
	background: none;
	border-radius: 0;
}

body.elementor-page-14517 .p3l-col > .elementor-element + .p3l-block.p3l-seal {
	margin-top: 20px;
}

body.elementor-page-14517 .p3l-seal .elementor-widget-container > p {
	text-align: left;
}

body.elementor-page-14517 .p3l-seal a {
	display: inline-flex;
	align-items: center;
	max-width: 100%;
	text-decoration: underline;
	text-decoration-color: var(--b26-yellow);
	text-decoration-thickness: 2px;
}

body.elementor-page-14517 .p3l-seal a:hover {
	text-decoration-color: currentcolor;
}

body.elementor-page-14517 .p3l-seal img {
	flex: none;
	width: 90px;
	max-width: 100%;
	height: auto;
	margin-right: 9px;
}

/* ---- tablet and mobile ------------------------------------------------------------------------------ */

@media (max-width: 1024px) {
	body.elementor-page-14517 .e-con.p3l-panel {
		--padding-top: 30px;
		--padding-right: 40px;
		--padding-bottom: 40px;
		--padding-left: 40px;
		padding: 30px 40px 40px;
	}
}

@media (max-width: 767px) {
	body.elementor-page-14517 .e-con.p3l-panel {
		--padding-top: 20px;
		--padding-right: 20px;
		--padding-bottom: 20px;
		--padding-left: 20px;
		padding: 20px;
	}

	body.elementor-page-14517 .e-con.p3l-block {
		--padding-top: 20px;
		--padding-right: 20px;
		--padding-bottom: 20px;
		--padding-left: 20px;
		padding: 20px;
	}
}

/* ==== p3t: /tax-deductibility/ - the legal-page layout with the country accordion in a white block ====
   The accordion is the theme's own FAQ markup (inc/charity-blocks.php tlycs26_charity_faq), so its type,
   dividers and Expand/Collapse toggle come from app.css, and accordion.js opens the panel a URL names. */

/* app.css gives .b26-faq var(--b26-space-9) of top margin, written for an accordion under a band heading;
   inside the block the block's own padding is that space. */
body.elementor-page-14517 .p3t-faq .b26-faq {
	margin-top: 0;
}

/* app.css pads every panel's bottom by var(--b26-space-6); on the last country that stacks on the block's
   own bottom padding. */
body.elementor-page-14517 .p3t-faq .b26-acc__item:last-child > .b26-acc__panel {
	padding-bottom: 0;
}

/* The donate links in the panels. app.css underlines them through ".b26-prose a", and on an Elementor page
   Elementor's frontend.min.css ".elementor a{text-decoration:none}" - same specificity, loaded later - wins,
   so the yellow underline the live page draws was gone (measured 2026-09-13 in a mock on /terms-of-use/:
   computed text-decoration-line none; with this rule underline, rgb(255, 178, 0), 2px). */
body.elementor-page-14517 .p3t-faq .b26-acc__panel a {
	text-decoration: underline;
	text-decoration-color: var(--b26-yellow);
	text-decoration-thickness: 2px;
}

body.elementor-page-14517 .p3t-faq .b26-acc__panel a:hover {
	text-decoration-color: currentcolor;
}

/* ==== p3d: /donate-crypto/ - the tax-deductibility layout (spec/tax.css accordion block) plus the partner logo,
   the FreeWill launcher (US), the small print (US) and The Giving Block widget (AU) ====
   The live page drew the logo with an inline style (float right; US margin 0 0 10px 20px, AU 0 0 0 10px), the
   launcher as a Bootstrap col-4 in a py-5 row, and the small print as a 14px span. The build keeps the markup
   and moves those looks here, one rule for both editions. */

/* The logo floats beside the opening paragraph from tablet up, as on the live page; the text column keeps the
   float inside its own widget. On a phone the column is too narrow to wrap text beside a 265px logo, so it
   stands on its own line above the text. */
body.elementor-page-14517 .p3l-prose:has(.p3d-logo) > .elementor-widget-container {
	display: flow-root;
}

body.elementor-page-14517 .p3d-logo {
	float: right;
	max-width: 100%;
	height: auto;
	margin: 0 0 10px 20px;
}

@media (max-width: 767px) {
	body.elementor-page-14517 .p3d-logo {
		float: none;
		margin: 0 0 20px;
	}
}

/* The launcher (US). widget.js takes over any click on a link whose href holds /widget/smartgiving, so only
   the href matters to it; the theme's .btn-primary rule draws the button. On the live page the button was a
   col-4, 222px wide, which broke its label onto two lines (and to a third of the column on a phone); here it
   is as wide as its label, centred, with a white block's spacing above and below. */
body.elementor-page-14517 .p3l-col > .elementor-element + .p3d-launcher,
body.elementor-page-14517 .p3l-col > .p3d-launcher + .elementor-element {
	margin-top: 40.7px;
}

body.elementor-page-14517 .p3d-cta {
	display: flex;
	justify-content: center;
}

body.elementor-page-14517 .p3d-cta a.btn.btn-block {
	width: auto;
	max-width: 100%;
}

/* The small print under the launcher (US): 14px, as the span on the live page set it. */
body.elementor-page-14517 .p3d-note {
	font-size: 14px;
	line-height: 20px;
}

/* The Giving Block widget (AU) in a white block, like the embed on the mockup. Its script puts a fixed
   300 x 600 iframe straight after the script element; centred here. On a phone the column is 295px at 375
   (gutter 20, panel padding 20), so the block drops its side padding and reaches into the panel's padding,
   which leaves the 300px frame 335px to sit in. */
body.elementor-page-14517 .p3d-tgb {
	line-height: 0;
}

body.elementor-page-14517 .p3d-tgb iframe {
	display: block;
	max-width: 100%;
	margin-inline: auto;
}

@media (max-width: 767px) {
	body.elementor-page-14517 .e-con.p3l-block.p3d-embed {
		--padding-right: 0px;
		--padding-left: 0px;
		--width: auto;
		width: auto;
		padding-right: 0;
		padding-left: 0;
		margin-inline: -20px;
	}
}/* End custom CSS */