PageSourceSearch

https://atowfnd.org/partners/

html atowfnd.org collected 2026-10-05 22:04:43 UTC 28,837 bytes, 287 lines download raw bytes

1<!doctype html>
2<html lang="en">
3	<head>
4		<meta charset="UTF-8" />
5		<link rel="icon" type="image/png" href="https://horizons-cdn.hostinger.com/e8f463cd-04d9-4716-8470-21dc025c5f24/90fbef68190fa1d6f10f469525480742.png" />
6		<meta name="generator" content="Hostinger Horizons" />
7		<link rel="alternate" type="text/markdown" title="About Africa2World Foundation" href="/about.md" />
8		<meta name="viewport" content="width=device-width, initial-scale=1.0" />
9		
10		
10<script type="module" crossorigin src="/assets/index-DFku32aa.js"></script>
10
11		<link rel="stylesheet" crossorigin href="/assets/index-Dbtv9dIq.css">
12		
12<script type="module">
13window.onerror = (message, source, lineno, colno, errorObj) => {
14	const errorDetails = errorObj ? JSON.stringify({
15		name: errorObj.name,
16		message: errorObj.message,
17		stack: errorObj.stack,
18		source,
19		lineno,
20		colno,
21	}) : null;
22
23	window.parent.postMessage({
24		type: 'horizons-runtime-error',
25		message,
26		error: errorDetails
27	}, '*');
28};
29</script>
29
30		
30<script type="module">
31const observer = new MutationObserver((mutations) => {
32	for (const mutation of mutations) {
33		for (const addedNode of mutation.addedNodes) {
34			if (
35				addedNode.nodeType === Node.ELEMENT_NODE &&
36				(
37					addedNode.tagName?.toLowerCase() === 'vite-error-overlay' ||
38					addedNode.classList?.contains('backdrop')
39				)
40			) {
41				handleViteOverlay(addedNode);
42			}
43		}
44	}
45});
46
47observer.observe(document.documentElement, {
48	childList: true,
49	subtree: true
50});
51
52function handleViteOverlay(node) {
53	if (!node.shadowRoot) {
54		return;
55	}
56
57	const backdrop = node.shadowRoot.querySelector('.backdrop');
58
59	if (backdrop) {
60		const overlayHtml = backdrop.outerHTML;
61		const parser = new DOMParser();
62		const doc = parser.parseFromString(overlayHtml, 'text/html');
63		const messageBodyElement = doc.querySelector('.message-body');
64		const fileElement = doc.querySelector('.file');
65		const messageText = messageBodyElement ? messageBodyElement.textContent.trim() : '';
66		const fileText = fileElement ? fileElement.textContent.trim() : '';
67		const error = messageText + (fileText ? ' File:' + fileText : '');
68
69		window.parent.postMessage({
70			type: 'horizons-vite-error',
71			error,
72		}, '*');
73	}
74}
75</script>
75
76		
76<script type="module">
77const originalConsoleError = console.error;
78const MATCH_LINE_COL_REGEX = /:(\d+):(\d+)\)?\s*$/; // regex to match the :lineNum:colNum
79const MATCH_AT_REGEX = /^\s*at\s+(?:async\s+)?(?:.*?\s+)?\(?/; // regex to remove the 'at' keyword and any 'async' or function name
80const MATCH_PATH_REGEX = /^\//; // regex to remove the leading slash
81
82function parseStackFrameLine(line) {
83	const lineColMatch = line.match(MATCH_LINE_COL_REGEX);
84	if (!lineColMatch) return null;
85	const [, lineNum, colNum] = lineColMatch;
86	const suffix = `:${lineNum}:${colNum}`;
87	const idx = line.lastIndexOf(suffix);
88	if (idx === -1) return null;
89	const before = line.substring(0, idx);
90	const path = before.replace(MATCH_AT_REGEX, '').trim();
91	
92	if (!path) return null;
93
94	try {
95		const pathname = new URL(path).pathname;
96		const filePath = pathname.replace(MATCH_PATH_REGEX, '') || pathname;
97		return `${filePath}:${lineNum}:${colNum}`;
98	} catch (e) {
99		const filePath = path.replace(MATCH_PATH_REGEX, '') || path;
100		return `${filePath}:${lineNum}:${colNum}`;
101	}
102}
103
104function getFilePathFromStack(stack, skipFrames = 0) {
105	if (!stack || typeof stack !== 'string') return null;
106	const lines = stack.split('\n').slice(1);
107
108	const frames = lines.map(line => parseStackFrameLine(line.replace(/\r$/, ''))).filter(Boolean);
109
110	return frames[skipFrames] ?? null;
111}
112
113function formatConsoleMessage(args, skipStackFrames = 1) {
114	let messageString = '';
115	let filePath = null;
116
117	for (let i = 0; i < args.length; i++) {
118		const arg = args[i];
119		if (arg instanceof Error) {
120			filePath = getFilePathFromStack(arg.stack, 0);
121			messageString = `${arg.name}: ${arg.message}`;
122			if (filePath) {
123				messageString = `${messageString} at ${filePath}`;
124			}
125			break;
126		}
127	}
128
129	if (!messageString) {
130		messageString = args.map(arg => typeof arg === 'object' ? JSON.stringify(arg) : String(arg)).join(' ');
131		const stack = new Error().stack;
132		filePath = getFilePathFromStack(stack, skipStackFrames);
133		if (filePath) {
134			messageString = `${messageString} at ${filePath}`;
135		}
136	}
137
138	return messageString;
139}
140
141console.error = function(...args) {
142	originalConsoleError.apply(console, args);
143
144	window.parent.postMessage({
145		type: 'horizons-console-error',
146		error: formatConsoleMessage(args, 1)
147	}, '*');
148};
149
150const originalConsoleWarn = console.warn;
151
152console.warn = function(...args) {
153	originalConsoleWarn.apply(console, args);
154
155	window.parent.postMessage({
156		type: 'horizons-console-warn',
157		warning: formatConsoleMessage(args, 1)
158	}, '*');
159};
160</script>
160
161		
161<script type="module">
162// Prevents authentication failures (PB returns 400) from crashing the app — use console.info, not console.error/PM2.
163// [urlPattern, bodyPattern] tuples; align with sandboxErrorUtils ERROR_BLACKLIST.
164const BENIGN_FETCH_ERRORS = [
165	[/hcgi\/platform\/api\/collections\/.*auth-with-password.*/i, /Failed to authenticate/i],
166	[/hcgi\/api\//i, /Insufficient credits/i],
167	// A user-supplied integration secret (Stripe/PayPal/Twilio/...) is not set yet — an expected setup state, not a bug to fix.
168	[/hcgi\/api\//i, /INTEGRATION_NOT_CONFIGURED/i],
169];
170
171function isBenignFetchError(url, body) {
172	return BENIGN_FETCH_ERRORS.some(([urlPattern, bodyPattern]) =>
173		urlPattern.test(url) && (!bodyPattern || bodyPattern.test(body)));
174}
175
176const PLATFORM_URL_PATTERN = /hcgi\/platform\//i;
177const VALIDATION_CODE_TEXT_PATTERN = /validation_/;
178
179function hasValidationCode(value) {
180	if (value == null) {
181		return false;
182	}
183	if (typeof value === 'string') {
184		return value.startsWith('validation_');
185	}
186	if (Array.isArray(value)) {
187		return value.some(hasValidationCode);
188	}
189	if (typeof value === 'object') {
190		return Object.values(value).some(hasValidationCode);
191	}
192	return false;
193}
194
195function isValidationFetchWarning(url, body) {
196	if (!PLATFORM_URL_PATTERN.test(url)) {
197		return false;
198	}
199	try {
200		return hasValidationCode(JSON.parse(body));
201	} catch {
202		return VALIDATION_CODE_TEXT_PATTERN.test(body);
203	}
204}
205
206const originalFetch = window.fetch;
207
208window.fetch = function(...args) {
209	const url = args[0] instanceof Request ? args[0].url : args[0];
210
211	// Skip WebSocket URLs
212	if (url.startsWith('ws:') || url.startsWith('wss:')) {
213		return originalFetch.apply(this, args);
214	}
215
216	return originalFetch.apply(this, args)
217		.then(async response => {
218			const contentType = response.headers.get('Content-Type') || '';
219
220			// Exclude HTML document responses
221			const isDocumentResponse =
222				contentType.includes('text/html') ||
223				contentType.includes('application/xhtml+xml');
224
225			// no-cors requests (e.g. Google Analytics/Ads beacons) always return an opaque
226			const isOpaqueResponse = response.type === 'opaque';
227
228			if (!response.ok && !isDocumentResponse && !isOpaqueResponse) {
229					const responseClone = response.clone();
230					const errorFromRes = await responseClone.text();
231					const requestUrl = response.url;
232					const errorMessage = `Fetch error from ${requestUrl}: ${errorFromRes}`;
233
234					if (isBenignFetchError(requestUrl, errorFromRes)) {
235						console.info(errorMessage);
236					} else if (isValidationFetchWarning(requestUrl, errorFromRes)) {
237						console.warn(errorMessage);
238					} else {
239						console.error(errorMessage);
240					}
241			}
242
243			return response;
244		})
245		.catch(error => {
246			if (!url.match(/.html?$/i)) {
247				// Cancelled in-flight fetch (e.g. preview reload) — not a server failure.
248				if (error?.name === 'AbortError') {
249					console.info(error);
250				} else {
251					console.error(error);
252				}
253			}
254
255			throw error;
256		});
257};
258</script>
258
259		
259<script type="module">
260if (window.navigation && window.self !== window.top) {
261	window.navigation.addEventListener('navigate', (event) => {
262		const url = event.destination.url;
263
264		try {
265			const destinationUrl = new URL(url);
266			const destinationOrigin = destinationUrl.origin;
267			const currentOrigin = window.location.origin;
268
269			if (destinationOrigin === currentOrigin) {
270				return;
271			}
272		} catch (error) {
273			return;
274		}
275
276		window.parent.postMessage({
277			type: 'horizons-navigation-error',
278			url,
279		}, '*');
280	});
281}
282</script>
282
283	<title data-react-helmet="true">Our Partners | Africa2World Foundation</title><meta data-react-helmet="true" name="robots" content="index, follow, max-image-preview:large"/><meta data-react-helmet="true" property="og:type" content="website"/><meta data-react-helmet="true" property="og:title" content="Our Partners | Africa2World Foundation"/><meta data-react-helmet="true" property="og:site_name" content="Africa2World Foundation"/><meta data-react-helmet="true" property="og:url" content="https://atowfnd.org/partners"/><meta data-react-helmet="true" property="og:description" content="Meet the organizations partnering with Africa2World Foundation to advance African art, education and community opportunity."/><meta data-react-helmet="true" property="og:image" content="https://horizons-cdn.hostinger.com/e8f463cd-04d9-4716-8470-21dc025c5f24/af5f0be6e108418ef1880fd0a9340825.jpg"/><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"/><meta data-react-helmet="true" name="twitter:title" content="Our Partners | Africa2World Foundation"/><meta data-react-helmet="true" name="twitter:description" content="Meet the organizations partnering with Africa2World Foundation to advance African art, education and community opportunity."/><meta data-react-helmet="true" name="description" content="Meet the valued partners of Africa2World Foundation who help us achieve our mission of cultural exchange and community empowerment."/><link data-react-helmet="true" rel="canonical" href="https://atowfnd.org/partners"/></head>
284	<body>
285		<div id="root"><div class="min-h-screen bg-white flex flex-col"><header class="fixed top-0 left-0 right-0 z-50 transition-all duration-300 bg-white/95 backdrop-blur-sm"><div class="container mx-auto px-4 sm:px-6 lg:px-8"><div class="flex items-center justify-between h-20"><a href="/#hero" class="flex items-center space-x-3 cursor-pointer"><img src="https://horizons-cdn.hostinger.com/e8f463cd-04d9-4716-8470-21dc025c5f24/90fbef68190fa1d6f10f469525480742.png" alt="Africa2World Foundation Logo" class="h-12 w-auto"/><span class="text-xl font-bold text-[#1e3a8a] hidden">Africa2World Foundation</span></a><nav aria-label="Main navigation" class="hidden xl:flex items-center space-x-6"><a href="/#hero" class="text-gray-700 hover:text-[#ff6b35] font-medium transition-colors duration-200 relative group text-sm">Home<span class="absolute bottom-0 left-0 w-0 h-0.5 bg-[#ff6b35] group-hover:w-full transition-all duration-300"></span></a><a href="/#programs" class="text-gray-700 hover:text-[#ff6b35] font-medium transition-colors duration-200 relative group text-sm">Programs<span class="absolute bottom-0 left-0 w-0 h-0.5 bg-[#ff6b35] group-hover:w-full transition-all duration-300"></span></a><a href="/#collection" class="text-gray-700 hover:text-[#ff6b35] font-medium transition-colors duration-200 relative group text-sm">Collection<span class="absolute bottom-0 left-0 w-0 h-0.5 bg-[#ff6b35] group-hover:w-full transition-all duration-300"></span></a><a href="/#events" class="text-gray-700 hover:text-[#ff6b35] font-medium transition-colors duration-200 relative group text-sm">Events<span class="absolute bottom-0 left-0 w-0 h-0.5 bg-[#ff6b35] group-hover:w-full transition-all duration-300"></span></a><a href="/partners" class="text-gray-700 hover:text-[#ff6b35] font-medium transition-colors duration-200 relative group text-sm">Partners<span class="absolute bottom-0 left-0 w-0 h-0.5 bg-[#ff6b35] group-hover:w-full transition-all duration-300"></span></a><a href="/#signup" class="text-gray-700 hover:text-[#ff6b35] font-medium transition-colors duration-200 relative group text-sm">Sign Up<span class="absolute bottom-0 left-0 w-0 h-0.5 bg-[#ff6b35] group-hover:w-full transition-all duration-300"></span></a><a href="/#membership" class="text-gray-700 hover:text-[#ff6b35] font-medium transition-colors duration-200 relative group text-sm">Membership<span class="absolute bottom-0 left-0 w-0 h-0.5 bg-[#ff6b35] group-hover:w-full transition-all duration-300"></span></a><a href="/#donate" class="text-gray-700 hover:text-[#ff6b35] font-medium transition-colors duration-200 relative group text-sm">Donate<span class="absolute bottom-0 left-0 w-0 h-0.5 bg-[#ff6b35] group-hover:w-full transition-all duration-300"></span></a></nav><button class="inline-flex items-center justify-center rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 hover:bg-accent hover:text-accent-foreground h-10 w-10 xl:hidden text-[#1e3a8a]" aria-label="Open menu" aria-expanded="false"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-menu"><line x1="4" x2="20" y1="12" y2="12"></line><line x1="4" x2="20" y1="6" y2="6"></line><line x1="4" x2="20" y1="18" y2="18"></line></svg></button></div></div></header><main class="flex-grow"><div class="bg-white min-h-screen pt-28 pb-20"><div class="container mx-auto px-4 sm:px-6 lg:px-8"><div class="text-center mb-16"><h1 class="text-4xl md:text-5xl font-bold text-[#1e3a8a] mb-6">Our Partners</h1><p class="text-xl text-gray-600 max-w-3xl mx-auto leading-relaxed">We are proud to collaborate with these esteemed organizations. Their support and partnership are vital in helping us bridge cultures and empower communities through education and art.</p></div><div class="w-full overflow-hidden bg-gray-50 py-16 rounded-xl relative"><div class="absolute left-0 top-0 bottom-0 w-16 md:w-32 z-10 bg-gradient-to-r from-gray-50 to-transparent pointer-events-none"></div><div class="absolute right-0 top-0 bottom-0 w-16 md:w-32 z-10 bg-gradient-to-l from-gray-50 to-transparent pointer-events-none"></div><div class="flex items-center space-x-16 md:space-x-24 w-max"><div class="flex-shrink-0 w-48 md:w-64 h-32 flex items-center justify-center p-4 bg-white rounded-lg shadow-sm hover:shadow-md transition-shadow duration-300"><img src="https://horizons-cdn.hostinger.com/e8f463cd-04d9-4716-8470-21dc025c5f24/c9ce95c409c64e6547d79e293c08d71e.png" loading="lazy" decoding="async" alt="Yale University Logo" class="max-w-full max-h-full object-contain filter grayscale hover:grayscale-0 transition-all duration-300 opacity-80 hover:opacity-100"/></div><div class="flex-shrink-0 w-48 md:w-64 h-32 flex items-center justify-center p-4 bg-white rounded-lg shadow-sm hover:shadow-md transition-shadow duration-300"><img src="https://horizons-cdn.hostinger.com/e8f463cd-04d9-4716-8470-21dc025c5f24/026cb9461788898ef33761d6c96abf3c.png" loading="lazy" decoding="async" alt="Connecticut Horizons Logo" class="max-w-full max-h-full object-contain filter grayscale hover:grayscale-0 transition-all duration-300 opacity-80 hover:opacity-100"/></div><div class="flex-shrink-0 w-48 md:w-64 h-32 flex items-center justify-center p-4 bg-white rounded-lg shadow-sm hover:shadow-md transition-shadow duration-300"><img src="https://horizons-cdn.hostinger.com/e8f463cd-04d9-4716-8470-21dc025c5f24/2b93a51e9cdec9464789c2440ec1c418.png" loading="lazy" decoding="async" alt="Girls of Color Leadership Academy Logo" class="max-w-full max-h-full object-contain filter grayscale hover:grayscale-0 transition-all duration-300 opacity-80 hover:opacity-100"/></div><div class="flex-shrink-0 w-48 md:w-64 h-32 flex items-center justify-center p-4 bg-white rounded-lg shadow-sm hover:shadow-md transition-shadow duration-300"><img src="https://horizons-cdn.hostinger.com/e8f463cd-04d9-4716-8470-21dc025c5f24/e4724678fe1ccce5f81a260c24344613.png" loading="lazy" decoding="async" alt="Credit Keeper Solutions Logo" class="max-w-full max-h-full object-contain filter grayscale hover:grayscale-0 transition-all duration-300 opacity-80 hover:opacity-100"/></div><div class="flex-shrink-0 w-48 md:w-64 h-32 flex items-center justify-center p-4 bg-white rounded-lg shadow-sm hover:shadow-md transition-shadow duration-300"><img src="https://horizons-cdn.hostinger.com/e8f463cd-04d9-4716-8470-21dc025c5f24/df37914b6630eec25726272b2fd6a910.png" loading="lazy" decoding="async" alt="Universal Lectures Logo" class="max-w-full max-h-full object-contain filter grayscale hover:grayscale-0 transition-all duration-300 opacity-80 hover:opacity-100"/></div><div class="flex-shrink-0 w-48 md:w-64 h-32 flex items-center justify-center p-4 bg-white rounded-lg shadow-sm hover:shadow-md transition-shadow duration-300"><img src="https://horizons-cdn.hostinger.com/e8f463cd-04d9-4716-8470-21dc025c5f24/ea9c77c76f1064a8351bcec5517d7187.png" loading="lazy" decoding="async" alt="Kadiwaku Foundation USA Logo" class="max-w-full max-h-full object-contain filter grayscale hover:grayscale-0 transition-all duration-300 opacity-80 hover:opacity-100"/></div><div class="flex-shrink-0 w-48 md:w-64 h-32 flex items-center justify-center p-4 bg-white rounded-lg shadow-sm hover:shadow-md transition-shadow duration-300"><img src="https://horizons-cdn.hostinger.com/e8f463cd-04d9-4716-8470-21dc025c5f24/c9ce95c409c64e6547d79e293c08d71e.png" loading="lazy" decoding="async" alt="Yale University Logo" class="max-w-full max-h-full object-contain filter grayscale hover:grayscale-0 transition-all duration-300 opacity-80 hover:opacity-100"/></div><div class="flex-shrink-0 w-48 md:w-64 h-32 flex items-center justify-center p-4 bg-white rounded-lg shadow-sm hover:shadow-md transition-shadow duration-300"><img src="https://horizons-cdn.hostinger.com/e8f463cd-04d9-4716-8470-21dc025c5f24/026cb9461788898ef33761d6c96abf3c.png" loading="lazy" decoding="async" alt="Connecticut Horizons Logo" class="max-w-full max-h-full object-contain filter grayscale hover:grayscale-0 transition-all duration-300 opacity-80 hover:opacity-100"/></div><div class="flex-shrink-0 w-48 md:w-64 h-32 flex items-center justify-center p-4 bg-white rounded-lg shadow-sm hover:shadow-md transition-shadow duration-300"><img src="https://horizons-cdn.hostinger.com/e8f463cd-04d9-4716-8470-21dc025c5f24/2b93a51e9cdec9464789c2440ec1c418.png" loading="lazy" decoding="async" alt="Girls of Color Leadership Academy Logo" class="max-w-full max-h-full object-contain filter grayscale hover:grayscale-0 transition-all duration-300 opacity-80 hover:opacity-100"/></div><div class="flex-shrink-0 w-48 md:w-64 h-32 flex items-center justify-center p-4 bg-white rounded-lg shadow-sm hover:shadow-md transition-shadow duration-300"><img src="https://horizons-cdn.hostinger.com/e8f463cd-04d9-4716-8470-21dc025c5f24/e4724678fe1ccce5f81a260c24344613.png" loading="lazy" decoding="async" alt="Credit Keeper Solutions Logo" class="max-w-full max-h-full object-contain filter grayscale hover:grayscale-0 transition-all duration-300 opacity-80 hover:opacity-100"/></div><div class="flex-shrink-0 w-48 md:w-64 h-32 flex items-center justify-center p-4 bg-white rounded-lg shadow-sm hover:shadow-md transition-shadow duration-300"><img src="https://horizons-cdn.hostinger.com/e8f463cd-04d9-4716-8470-21dc025c5f24/df37914b6630eec25726272b2fd6a910.png" loading="lazy" decoding="async" alt="Universal Lectures Logo" class="max-w-full max-h-full object-contain filter grayscale hover:grayscale-0 transition-all duration-300 opacity-80 hover:opacity-100"/></div><div class="flex-shrink-0 w-48 md:w-64 h-32 flex items-center justify-center p-4 bg-white rounded-lg shadow-sm hover:shadow-md transition-shadow duration-300"><img src="https://horizons-cdn.hostinger.com/e8f463cd-04d9-4716-8470-21dc025c5f24/ea9c77c76f1064a8351bcec5517d7187.png" loading="lazy" decoding="async" alt="Kadiwaku Foundation USA Logo" class="max-w-full max-h-full object-contain filter grayscale hover:grayscale-0 transition-all duration-300 opacity-80 hover:opacity-100"/></div><div class="flex-shrink-0 w-48 md:w-64 h-32 flex items-center justify-center p-4 bg-white rounded-lg shadow-sm hover:shadow-md transition-shadow duration-300"><img src="https://horizons-cdn.hostinger.com/e8f463cd-04d9-4716-8470-21dc025c5f24/c9ce95c409c64e6547d79e293c08d71e.png" loading="lazy" decoding="async" alt="Yale University Logo" class="max-w-full max-h-full object-contain filter grayscale hover:grayscale-0 transition-all duration-300 opacity-80 hover:opacity-100"/></div><div class="flex-shrink-0 w-48 md:w-64 h-32 flex items-center justify-center p-4 bg-white rounded-lg shadow-sm hover:shadow-md transition-shadow duration-300"><img src="https://horizons-cdn.hostinger.com/e8f463cd-04d9-4716-8470-21dc025c5f24/026cb9461788898ef33761d6c96abf3c.png" loading="lazy" decoding="async" alt="Connecticut Horizons Logo" class="max-w-full max-h-full object-contain filter grayscale hover:grayscale-0 transition-all duration-300 opacity-80 hover:opacity-100"/></div><div class="flex-shrink-0 w-48 md:w-64 h-32 flex items-center justify-center p-4 bg-white rounded-lg shadow-sm hover:shadow-md transition-shadow duration-300"><img src="https://horizons-cdn.hostinger.com/e8f463cd-04d9-4716-8470-21dc025c5f24/2b93a51e9cdec9464789c2440ec1c418.png" loading="lazy" decoding="async" alt="Girls of Color Leadership Academy Logo" class="max-w-full max-h-full object-contain filter grayscale hover:grayscale-0 transition-all duration-300 opacity-80 hover:opacity-100"/></div><div class="flex-shrink-0 w-48 md:w-64 h-32 flex items-center justify-center p-4 bg-white rounded-lg shadow-sm hover:shadow-md transition-shadow duration-300"><img src="https://horizons-cdn.hostinger.com/e8f463cd-04d9-4716-8470-21dc025c5f24/e4724678fe1ccce5f81a260c24344613.png" loading="lazy" decoding="async" alt="Credit Keeper Solutions Logo" class="max-w-full max-h-full object-contain filter grayscale hover:grayscale-0 transition-all duration-300 opacity-80 hover:opacity-100"/></div><div class="flex-shrink-0 w-48 md:w-64 h-32 flex items-center justify-center p-4 bg-white rounded-lg shadow-sm hover:shadow-md transition-shadow duration-300"><img src="https://horizons-cdn.hostinger.com/e8f463cd-04d9-4716-8470-21dc025c5f24/df37914b6630eec25726272b2fd6a910.png" loading="lazy" decoding="async" alt="Universal Lectures Logo" class="max-w-full max-h-full object-contain filter grayscale hover:grayscale-0 transition-all duration-300 opacity-80 hover:opacity-100"/></div><div class="flex-shrink-0 w-48 md:w-64 h-32 flex items-center justify-center p-4 bg-white rounded-lg shadow-sm hover:shadow-md transition-shadow duration-300"><img src="https://horizons-cdn.hostinger.com/e8f463cd-04d9-4716-8470-21dc025c5f24/ea9c77c76f1064a8351bcec5517d7187.png" loading="lazy" decoding="async" alt="Kadiwaku Foundation USA Logo" class="max-w-full max-h-full object-contain filter grayscale hover:grayscale-0 transition-all duration-300 opacity-80 hover:opacity-100"/></div></div></div></div></div></main><footer class="bg-[#1e3a8a] text-white pt-16 pb-8"><div class="container mx-auto px-4 sm:px-6 lg:px-8"><div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-12 mb-12"><div class="space-y-4"><h3 class="text-2xl font-bold text-[#ffd60a]">Africa2World</h3><p class="text-gray-300 leading-relaxed">Bridging cultures and empowering communities through education, art, and sustainable development across Africa and the world.</p></div><div><h4 class="text-lg font-semibold mb-6 text-[#ff6b35]">Quick Links</h4><ul class="space-y-3"><li><a class="text-gray-300 hover:text-white transition-colors" href="/">Home</a></li><li><a class="text-gray-300 hover:text-white transition-colors" href="/#programs">Our Programs</a></li><li><a class="text-gray-300 hover:text-white transition-colors" href="/partners">Partners</a></li><li><a class="text-gray-300 hover:text-white transition-colors" href="/#events">Events</a></li><li><a class="text-gray-300 hover:text-white transition-colors" href="/#donate">Donate</a></li></ul></div><div><h4 class="text-lg font-semibold mb-6 text-[#ff6b35]">Contact Us</h4><ul class="space-y-4"><li class="flex items-start space-x-3 text-gray-300"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-map-pin flex-shrink-0 mt-1"><path d="M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0"></path><circle cx="12" cy="10" r="3"></circle></svg><span>157 Ch
285urch St, New Haven<br/>CT 06510-2100 United States</span></li><li class="flex items-center space-x-3 text-gray-300"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-mail"><rect width="20" height="16" x="2" y="4" rx="2"></rect><path d="m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7"></path></svg><a href="mailto:[email protected]" class="hover:text-white">[email protected]</a></li><li class="flex items-center space-x-3 text-gray-300"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-phone"><path d="M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z"></path></svg><a href="tel:+12037019869" class="hover:text-white">+1 (203) 701-9869</a></li></ul></div><div><h4 class="text-lg font-semibold mb-6 text-[#ff6b35]">Connect With Us</h4><div class="flex space-x-4 mb-8"><a href="https://www.facebook.com/atowfnd" target="_blank" rel="noopener noreferrer" class="bg-white/10 hover:bg-[#ff6b35] p-2 rounded-full transition-colors"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-facebook"><path d="M18 2h-3a5 5 0 0 0-5 5v3H7v4h3v8h4v-8h3l1-4h-4V7a1 1 0 0 1 1-1h3z"></path></svg></a><a href="https://x.com/Africa2World1" target="_blank" rel="noopener noreferrer" class="bg-white/10 hover:bg-[#ff6b35] p-2 rounded-full transition-colors"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-twitter"><path d="M22 4s-.7 2.1-2 3.4c1.6 10-9.4 17.3-18 11.6 2.2.1 4.4-.6 6-2C3 15.5.5 9.6 3 5c2.2 2.6 5.6 4.1 9 4-.9-4.2 4-6.6 7-3.8 1.1 0 3-1.2 3-1.2z"></path></svg></a><a href="https://www.instagram.com/africa2world1/" target="_blank" rel="noopener noreferrer" class="bg-white/10 hover:bg-[#ff6b35] p-2 rounded-full transition-colors"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-instagram"><rect width="20" height="20" x="2" y="2" rx="5" ry="5"></rect><path d="M16 11.37A4 4 0 1 1 12.63 8 4 4 0 0 1 16 11.37z"></path><line x1="17.5" x2="17.51" y1="6.5" y2="6.5"></line></svg></a><a href="https://www.linkedin.com/showcase/103519097/admin/dashboard/" target="_blank" rel="noopener noreferrer" class="bg-white/10 hover:bg-[#ff6b35] p-2 rounded-full transition-colors"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-linkedin"><path d="M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z"></path><rect width="4" height="12" x="2" y="9"></rect><circle cx="4" cy="4" r="2"></circle></svg></a></div></div></div><div class="border-t border-white/10 pt-8 mt-8 text-center md:text-left flex flex-col md:flex-row justify-between items-center text-sm text-gray-400"><p>© <!-- -->2026<!-- --> Africa2World Foundation. All rights reserved.</p><div class="flex flex-wrap gap-4 md:gap-6 mt-4 md:mt-0 justify-center md:justify-end"><a class="hover:text-white transition-colors" href="/privacy-policy">Privacy Policy</a><a class="hover:text-white transition-colors" href="/terms-of-use">Terms of Use</a><a class="hover:text-white transition-colors" href="/anti-discrimination-policy">Anti-Discrimination Policy</a><a class="hover:text-white transition-colors" href="/membership-policy">Membership Policy</a></div></div></div></footer></div></div>
286	</body>
287</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.