91³Ô¹ÏÍø

Watch CBS News

Billionaire donates $74 million to St. Joe's Prep in Philadelphia, largest-ever donation to a Catholic school

A successful alumnus of St. Joseph's Prep in Philadelphia has donated a record-breaking amount of money to the school that will help fund scholarships and a "total transformation" of the campus. 

The $74 million gift comes from billionaire businessman , a member of the school's class of 1970, along with his wife Lorie and the Howley Foundation. School leaders say it is the largest gift to a Catholic high school in U.S. history.

St. Joe's Prep announced the gift Friday at the school's Kelly Fieldhouse. The money will fund 80 four-year scholarships (20 for each grade) and pay for an outdoor courtyard, a new parking facility and a multi-sport complex for football, soccer and lacrosse.

st-joes-prep-rendering-howley-donation-philadelphia.jpg
CBS News Philadelphia

Renderings of the upgraded campus were shown on a screen at the announcement event. One rendering included the words "W. Joseph Howley '70 campus."

The Howleys had previously donated $6 million to "The Prep," and Friday's announced contribution brings their total gifts to the school to $80 million.

"The Howley Foundation saw the impact that it was having, and really continued their investment in increasing their scholarships," President John Marinacci said. "They also felt strongly that as students continued to have the experience that they wanted to support, and that Nick had as a Prep alum, it was also worth investing in the infrastructure and the stability of the school."

School leaders hope construction can begin soon and that the new campus can be completed by 2030.

Howley is the founder and chairman of Transdigm Group, Inc., billed as the largest worldwide provider of wildfire prevention products and services.

After graduating from St. Joe's Prep, he earned a degree at Drexel University's LeBow College of Business in 1975 and today serves on Drexel's Board of Trustees.

View CBS News In
CBS News App Open
Chrome Safari Continue
const link = doc.createElement('link'); link.rel = 'stylesheet'; link.href = '/fly/fly/bundles/cbsnewscontent/css/cmp-banner.min.css?v=296763317a51cab90faa73f1bb146d5c'; doc.head.appendChild(link); doc.body.innerHTML = CONSENT_MESSAGE; } else { el.insertAdjacentHTML('afterend', CONSENT_MESSAGE); } }); } function hidePrivacyMessage() { // Remove from the main document document.querySelectorAll(`.${CONSENT_MESSAGE_CLASS}`).forEach(el => el.remove()); // Remove from inside any iframes document.querySelectorAll('iframe').forEach(iframe => { const doc = iframe.contentDocument || iframe.contentWindow.document; doc.querySelectorAll(`.${CONSENT_MESSAGE_CLASS}`).forEach(el => el.remove()); }); } function activateGatedScripts() { // Handle both new format (cmp-gated-script) and old OneTrust/Ketch format (optanon-category-4) const gatedScripts = Array.from(document.querySelectorAll('script.cmp-gated-script, script.optanon-category-4')); // Activate scripts sequentially with a small delay to avoid timing issues let delay = 0; gatedScripts.forEach(function(placeholder, index) { setTimeout(function() { // Skip if already processed if (placeholder.hasAttribute('data-cmp-processed')) { return; } placeholder.setAttribute('data-cmp-processed', 'true'); const newScript = document.createElement('script'); newScript.type = 'text/javascript'; // Try new format first (data-cmp-src), then fall back to old format (data-src) const src = placeholder.getAttribute('data-cmp-src') || placeholder.getAttribute('data-src'); if (src) { newScript.src = src; } else if (placeholder.textContent) { // Inline script - just copy the content newScript.textContent = placeholder.textContent; } // Handle new format attributes (data-cmp-attrs) - for both inline and external scripts const attrs = placeholder.getAttribute('data-cmp-attrs'); if (attrs) { const tempDiv = document.createElement('div'); tempDiv.innerHTML = '
<\/div>'; const tempAttrs = tempDiv.firstChild.attributes; for (let i = 0; i < tempAttrs.length; i++) { // For external scripts, allow defer/async. For inline scripts, skip them (not valid) if (src || (tempAttrs[i].name !== 'async' && tempAttrs[i].name !== 'defer')) { newScript.setAttribute(tempAttrs[i].name, tempAttrs[i].value); } } } // Copy other attributes from old OneTrust format for (let i = 0; i < placeholder.attributes.length; i++) { const attr = placeholder.attributes[i]; // Skip attributes we've already handled or don't want to copy if (!['class', 'data-src', 'data-type', 'data-cmp-src', 'data-cmp-attrs', 'data-cmp-processed', 'type', 'async', 'defer', 'src'].includes(attr.name)) { newScript.setAttribute(attr.name, attr.value); } } placeholder.parentNode.replaceChild(newScript, placeholder); // If external script, manually trigger window.onload handlers after it loads // This handles widgets that use window.onload for initialization if (src) { newScript.addEventListener('load', function() { // If page already loaded and script set a new onload handler, trigger it if (document.readyState === 'complete' && window.onload) { const originalOnload = window.onload; window.onload = null; // Clear temporarily to prevent loops originalOnload(); // Execute the handler } }); } }, delay); delay += 500; // 500ms delay between each script to allow full loading }); } cbsoptanon.onScriptsReady(function(cmp) { cmp.ot.targetingAllowed(function(allowed) { if (!allowed) { showPrivacyMessage(); } else { activateGatedScripts(); } }); cmp.ot.awaitInitialConsent(function(consent_model) { cmp.ot.addOnConsentChangedHandler(function() { cmp.ot.targetingAllowed(function(allowed) { if (allowed) { hidePrivacyMessage(); activateGatedScripts(); } else { showPrivacyMessage(); } }); }); }); });