diff --git a/themes/le-2025/layouts/partials/funding-details-2026.html b/themes/le-2025/layouts/partials/funding-details-2026.html
new file mode 100644
index 000000000..9aac4b6fe
--- /dev/null
+++ b/themes/le-2025/layouts/partials/funding-details-2026.html
@@ -0,0 +1,5 @@
+
+
+ {{ T "donate_2026_funding_details_stat_text" }}
+
+
From 987eb1ce4e71d1e338cb050178f786d4e0c86d63 Mon Sep 17 00:00:00 2001
From: scottmakestech <83726258+scottmakestech@users.noreply.github.com>
Date: Tue, 7 Jul 2026 19:20:53 -0500
Subject: [PATCH 3/5] Updates
---
i18n/en.toml | 23 ++++---
themes/le-2025/assets/js/donate-2026.js | 61 +++++++++++++++++++
themes/le-2025/layouts/page/donate-2026.html | 16 ++---
.../partials/donate-accordion-2026.html | 2 +-
.../donate-content-2026/become-a-sponsor.html | 6 +-
.../donate-content-2026/donate-by-check.html | 7 ++-
.../donate-cryptocurrency.html | 5 +-
.../donate-content-2026/donate-stock.html | 1 +
.../donor-advised-funds.html | 1 +
.../employer-matching-gifts.html | 14 ++++-
.../planned-legacy-giving.html | 8 +--
.../qualified-charitable-distribution.html | 7 +--
12 files changed, 115 insertions(+), 36 deletions(-)
diff --git a/i18n/en.toml b/i18n/en.toml
index a5b9fb8e6..443ed425d 100644
--- a/i18n/en.toml
+++ b/i18n/en.toml
@@ -572,7 +572,10 @@ other = "Become a sponsor"
other = "Nearly 100 companies and organizations support our work – from two-person businesses to nonprofits to Fortune 100 companies. Join our roster of generous sponsors that are helping to provide a more secure and privacy respecting Internet for billions of people."
[donate_2026_become_a_sponsor_link_text]
-other = "Learn more here."
+other = "here"
+
+[donate_2026_become_a_sponsor_link_sentence]
+other = "Learn more {{ .sponsorshipLink }}."
[donate_2026_donate_stock_title]
other = "Donate stock"
@@ -613,14 +616,14 @@ other = "46-3344200"
[donate_2026_donate_stock_outro_text]
other = "Please contact us if you are transferring securities at {{ .donateEmailLink }} to ensure that we are able to credit you for your gift."
+[donate_2026_donate_stock_online_text]
+other = "You can also donate stock in a couple clicks via this page. We do incur processing fees through these transactions, so please consider covering the fees to help ensure your gift has the greatest impact."
+
[donate_2026_donate_cryptocurrency_title]
other = "Donate cryptocurrency"
-[donate_2026_donate_cryptocurrency_link_text]
-other = "this page"
-
[donate_2026_donate_cryptocurrency_text]
-other = "We are able to accept most cryptocurrency by visiting {{ .cryptoLink }}. We do incur processing fees through these transactions, so please consider covering the fees to help ensure your gift has the greatest impact."
+other = "We are able to accept most cryptocurrency by visiting this page. We do incur processing fees through these transactions, so please consider covering the fees to help ensure your gift has the greatest impact."
[donate_2026_donor_advised_funds_title]
other = "Donor Advised Funds (DAFs)"
@@ -628,6 +631,9 @@ other = "Donor Advised Funds (DAFs)"
[donate_2026_donor_advised_funds_text]
other = "Simply inform your DAF sponsor that you’d like to make a gift to:"
+[donate_2026_donor_advised_funds_online_text]
+other = "You can also donate through your DAF via DAFpay in a couple clicks via this page. We do incur processing fees this way, so please consider covering the fees to help ensure your gift has the greatest impact."
+
[donate_2026_org_name]
other = "Internet Security Research Group"
@@ -650,7 +656,7 @@ other = "Planned/Legacy giving"
other = "Please consider making ISRG a beneficiary of your will or retirement plan to help protect Internet users by lowering monetary, technological, and informational barriers to a more secure and privacy-respecting Internet."
[donate_2026_planned_legacy_giving_notify_text]
-other = "Have you already included ISRG in your estate plans? Let us know at {{ .donateEmailLink }}."
+other = "Have you already included ISRG in your estate plans? {{ .legacyGivingFormLink }}."
[donate_2026_planned_legacy_giving_confidentiality_text]
other = "While documenting your planned gift is confidential and non-binding, it allows us to plan for the future and thank you for your generosity today."
@@ -668,10 +674,7 @@ other = "If you are 70½ or older, you can give directly from your US-based IRA
other = "Please seek the advice of your financial or legal advisor."
[donate_2026_qualified_charitable_distribution_instructions_text]
-other = "To make your gift, ask your IRA administrator to send the distribution directly to ISRG. Give them our legal name and federal tax ID so they can identify us. Please also let us know about your gift at {{ .donateEmailLink }}. Many IRA administrators send distributions without identifying the donor, so a quick note from you lets us thank you and honor your wishes for the gift."
-
-[donate_2026_qualified_charitable_distribution_legal_name_heading]
-other = "Legal details"
+other = "To make your gift, ask your IRA administrator to send the distribution directly to ISRG. Give them our legal name and federal tax ID so they can identify us. Please also let us know about your gift. Many IRA administrators send distributions without identifying the donor, so a quick note from you lets us thank you and honor your wishes for the gift."
[donate_2026_legal_name_label]
other = "Legal name:"
diff --git a/themes/le-2025/assets/js/donate-2026.js b/themes/le-2025/assets/js/donate-2026.js
index ad453a911..6f7e18101 100644
--- a/themes/le-2025/assets/js/donate-2026.js
+++ b/themes/le-2025/assets/js/donate-2026.js
@@ -5,6 +5,10 @@ const Donate2026 = {
this.page = page;
this.forms = page.querySelector('#cmp-DonationForms2026');
+ this.formOverlay = page.querySelector('#cmp-Donate2026FormOverlay');
+ this.formSpacer = page.querySelector('#cmp-Donate2026FormSpacer');
+ this.lowerContent = page.querySelector('#cmp-Donate2026WaysToGive');
+ this.desktopMediaQuery = window.matchMedia('(min-width: 768px)');
window.addEventListener('hashchange', () => {
this.syncAccordionToLocation();
@@ -14,12 +18,15 @@ const Donate2026 = {
this.syncAccordionToLocation();
});
+ this.bindFormSpacerHeight();
this.bindDonationTabs();
this.bindAccordionLinks();
if (window.location.hash) {
this.syncAccordionToLocation();
}
+
+ this.syncFormSpacerHeight();
},
bindDonationTabs() {
@@ -54,6 +61,56 @@ const Donate2026 = {
panel.classList.toggle('active', isActive);
panel.hidden = !isActive;
});
+
+ this.scheduleFormSpacerHeightSync();
+ },
+
+ bindFormSpacerHeight() {
+ if (!this.formOverlay || !this.formSpacer) return;
+
+ this.scheduleFormSpacerHeightSync = () => {
+ if (this.formSpacerSyncFrame) return;
+
+ this.formSpacerSyncFrame = requestAnimationFrame(() => {
+ this.formSpacerSyncFrame = null;
+ this.syncFormSpacerHeight();
+ });
+ };
+
+ window.addEventListener('resize', this.scheduleFormSpacerHeightSync);
+ window.addEventListener('load', this.scheduleFormSpacerHeightSync);
+
+ if (this.desktopMediaQuery?.addEventListener) {
+ this.desktopMediaQuery.addEventListener('change', this.scheduleFormSpacerHeightSync);
+ } else if (this.desktopMediaQuery?.addListener) {
+ this.desktopMediaQuery.addListener(this.scheduleFormSpacerHeightSync);
+ }
+
+ if (window.ResizeObserver) {
+ this.formSpacerObserver = new ResizeObserver(this.scheduleFormSpacerHeightSync);
+ this.formSpacerObserver.observe(this.formOverlay);
+
+ if (this.lowerContent) {
+ this.formSpacerObserver.observe(this.lowerContent);
+ }
+ }
+ },
+
+ syncFormSpacerHeight() {
+ if (!this.formOverlay || !this.formSpacer) return;
+
+ if (!this.desktopMediaQuery?.matches) {
+ this.formSpacer.style.minHeight = '';
+ return;
+ }
+
+ this.formSpacer.style.minHeight = '';
+
+ const formBottom = this.formOverlay.getBoundingClientRect().bottom;
+ const spacerTop = this.formSpacer.getBoundingClientRect().top;
+ const shortfall = Math.max(Math.ceil(formBottom - spacerTop), 0);
+
+ this.formSpacer.style.minHeight = shortfall ? `${shortfall}px` : '';
},
bindAccordionLinks() {
@@ -100,6 +157,8 @@ const Donate2026 = {
if (icon) icon.textContent = '+';
});
+
+ this.scheduleFormSpacerHeightSync();
},
openAccordionById(id) {
@@ -126,6 +185,8 @@ const Donate2026 = {
requestAnimationFrame(() => {
item.scrollIntoView({ block: 'start' });
});
+
+ this.scheduleFormSpacerHeightSync();
}
};
diff --git a/themes/le-2025/layouts/page/donate-2026.html b/themes/le-2025/layouts/page/donate-2026.html
index 79b1139b0..33da47eed 100644
--- a/themes/le-2025/layouts/page/donate-2026.html
+++ b/themes/le-2025/layouts/page/donate-2026.html
@@ -2,19 +2,21 @@
{{ partial "components/post-hero-image" (dict "page" . "image" "images/donate-hero.jpg" "title" (T "donate_2026_page_title")) }}
From 2bc85109d8f3e782121c0d33190afdbda8dc773f Mon Sep 17 00:00:00 2001
From: scottmakestech <83726258+scottmakestech@users.noreply.github.com>
Date: Fri, 10 Jul 2026 14:39:26 -0500
Subject: [PATCH 5/5] Donate 2026 page updates
---
i18n/en.toml | 8 ++++----
themes/le-2025/assets/css/donate-2026.css | 6 ++++++
.../donate-content-2026/donate-cryptocurrency.html | 3 ++-
.../partials/donate-content-2026/donate-stock.html | 3 ++-
.../partials/donate-content-2026/donor-advised-funds.html | 3 ++-
themes/le-2025/layouts/partials/donation-forms-2026.html | 1 -
themes/le-2025/layouts/partials/funding-details-2026.html | 2 +-
7 files changed, 17 insertions(+), 9 deletions(-)
diff --git a/i18n/en.toml b/i18n/en.toml
index 443ed425d..f9b28e857 100644
--- a/i18n/en.toml
+++ b/i18n/en.toml
@@ -554,7 +554,7 @@ other = "here"
other = "Support ISRG, the nonprofit behind Let’s Encrypt, Prossimo and Divvi Up today!"
[donate_2026_funding_details_stat_text]
-other = "Donate during our Summer Campaign and receive a limited time only t-shirt, “Preparing for a PQ World.”"
+other = "Get the limited-edition ISRG Root X1 t-shirt when you give $75 or more this summer."
[donate_2026_ways_to_give_heading]
other = "More Ways to Give"
@@ -617,13 +617,13 @@ other = "46-3344200"
other = "Please contact us if you are transferring securities at {{ .donateEmailLink }} to ensure that we are able to credit you for your gift."
[donate_2026_donate_stock_online_text]
-other = "You can also donate stock in a couple clicks via this page. We do incur processing fees through these transactions, so please consider covering the fees to help ensure your gift has the greatest impact."
+other = "You can also donate stock in a couple clicks via {{ .givingBlockLink }}. We do incur processing fees through these transactions, so please consider covering the fees to help ensure your gift has the greatest impact."
[donate_2026_donate_cryptocurrency_title]
other = "Donate cryptocurrency"
[donate_2026_donate_cryptocurrency_text]
-other = "We are able to accept most cryptocurrency by visiting this page. We do incur processing fees through these transactions, so please consider covering the fees to help ensure your gift has the greatest impact."
+other = "We are able to accept most cryptocurrency by visiting {{ .givingBlockLink }}. We do incur processing fees through these transactions, so please consider covering the fees to help ensure your gift has the greatest impact."
[donate_2026_donor_advised_funds_title]
other = "Donor Advised Funds (DAFs)"
@@ -632,7 +632,7 @@ other = "Donor Advised Funds (DAFs)"
other = "Simply inform your DAF sponsor that you’d like to make a gift to:"
[donate_2026_donor_advised_funds_online_text]
-other = "You can also donate through your DAF via DAFpay in a couple clicks via this page. We do incur processing fees this way, so please consider covering the fees to help ensure your gift has the greatest impact."
+other = "You can also donate through your DAF via DAFpay in a couple clicks via {{ .givingBlockLink }}. We do incur processing fees this way, so please consider covering the fees to help ensure your gift has the greatest impact."
[donate_2026_org_name]
other = "Internet Security Research Group"
diff --git a/themes/le-2025/assets/css/donate-2026.css b/themes/le-2025/assets/css/donate-2026.css
index f79d4fde4..9e2699968 100644
--- a/themes/le-2025/assets/css/donate-2026.css
+++ b/themes/le-2025/assets/css/donate-2026.css
@@ -1,3 +1,9 @@
+#cmp-FundingDetails2026 .donate-2026-stat-text {
+ font-size: 2rem;
+ font-weight: 700;
+ line-height: 1.3;
+}
+
#cmp-DonationForms2026 .btn {
display: inline-block;
background: #3a76f0;
diff --git a/themes/le-2025/layouts/partials/donate-content-2026/donate-cryptocurrency.html b/themes/le-2025/layouts/partials/donate-content-2026/donate-cryptocurrency.html
index c97ff111d..5d165de0b 100644
--- a/themes/le-2025/layouts/partials/donate-content-2026/donate-cryptocurrency.html
+++ b/themes/le-2025/layouts/partials/donate-content-2026/donate-cryptocurrency.html
@@ -1,3 +1,4 @@