2635 lines
112 KiB
HTML
2635 lines
112 KiB
HTML
<!doctype html>
|
||
<html lang="en" class="scroll-smooth">
|
||
<head>
|
||
<meta charset="UTF-8" />
|
||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||
<title>Nonprofit ERP & Donor Management Software | ODOO4projects</title>
|
||
<meta
|
||
name="description"
|
||
content="Launch nonprofit software with Odoo for nonprofits—streamline donations, donor management and fundraising. Start a free trial or book a demo."
|
||
/>
|
||
<meta
|
||
name="keywords"
|
||
content="nonprofit software, donor management software, crm for nonprofits, fundraising software, Odoo for nonprofits, donation management software, nonprofit ERP, herramientas para ONGs, software de gestión de ONGs, software de gestão de ONGs, Werkzeuge für NGOs, NGO-Management-Software"
|
||
/>
|
||
<meta property="og:title" content="Nonprofit ERP & Donor Management Software | ODOO4projects" />
|
||
<meta property="og:description" content="Launch nonprofit software with Odoo for nonprofits—streamline donations, donor management and fundraising. Start a free trial or book a demo." />
|
||
<meta property="og:type" content="website" />
|
||
<meta property="og:image" content="https://odoo4projects.com/web/image/website/1/logo?unique=1be96c3" />
|
||
<meta name="twitter:card" content="summary_large_image" />
|
||
<link
|
||
rel="icon"
|
||
href="https://odoo4projects.com/web/image/website/1/favicon?unique=725c3af"
|
||
/>
|
||
|
||
<script type="application/ld+json">
|
||
{
|
||
"@context": "https://schema.org",
|
||
"@type": "WebPage",
|
||
"name": "NGO ERP Landing",
|
||
"about": "ERP for NGOs",
|
||
"publisher": {
|
||
"@type": "Organization",
|
||
"name": "ODOO4projects",
|
||
"logo": "https://odoo4projects.com/web/image/website/1/logo?unique=1be96c3"
|
||
},
|
||
"mainEntity": {
|
||
"@type": "SoftwareApplication",
|
||
"name": "ODOO4projects NGO ERP",
|
||
"applicationCategory": "BusinessApplication",
|
||
"operatingSystem": "Cloud",
|
||
"offers": {
|
||
"@type": "Offer",
|
||
"price": "0",
|
||
"priceCurrency": "USD",
|
||
"description": "4-week free trial of NGO ERP workspace"
|
||
}
|
||
}
|
||
}
|
||
</script>
|
||
<script
|
||
defer
|
||
data-domain="ngo.odoo4projects.com"
|
||
src="https://plausible.odoo4projects.com/js/script.tagged-events.js"
|
||
></script>
|
||
<script>
|
||
window.plausible =
|
||
window.plausible ||
|
||
function () {
|
||
(window.plausible.q = window.plausible.q || []).push(
|
||
arguments,
|
||
);
|
||
};
|
||
</script>
|
||
|
||
<style>
|
||
/* ============================================================
|
||
NGO VARIANT — Warm, Human, Mission-Driven
|
||
Palette: cream #faf7f2 · terracotta #c05621 · forest #276749
|
||
warm-brown #44302e · muted #718096 · dark #2d3748
|
||
============================================================ */
|
||
|
||
*,
|
||
*::before,
|
||
*::after {
|
||
box-sizing: border-box;
|
||
margin: 0;
|
||
padding: 0;
|
||
}
|
||
|
||
:root {
|
||
--cream: #faf7f2;
|
||
--cream-card: #fffdf9;
|
||
--beige: #f5efe6;
|
||
--terra: #c05621;
|
||
--terra-deep: #9c4221;
|
||
--terra-soft: rgba(192, 86, 33, 0.12);
|
||
--forest: #276749;
|
||
--forest-deep: #1d4f38;
|
||
--forest-soft: rgba(39, 103, 73, 0.12);
|
||
--brown: #44302e;
|
||
--brown-soft: rgba(68, 48, 46, 0.1);
|
||
--muted: #718096;
|
||
--dark: #2d3748;
|
||
--white: #ffffff;
|
||
--border: #e8ddd3;
|
||
--shadow-sm: 0 2px 12px rgba(68, 48, 46, 0.08);
|
||
--shadow-md: 0 4px 24px rgba(68, 48, 46, 0.11);
|
||
--shadow-lg: 0 8px 44px rgba(68, 48, 46, 0.16);
|
||
}
|
||
|
||
html {
|
||
scroll-behavior: smooth;
|
||
}
|
||
|
||
body {
|
||
font-family:
|
||
system-ui,
|
||
-apple-system,
|
||
"Segoe UI",
|
||
sans-serif;
|
||
background-color: var(--cream);
|
||
color: var(--muted);
|
||
line-height: 1.7;
|
||
font-size: 1rem;
|
||
-webkit-font-smoothing: antialiased;
|
||
}
|
||
|
||
h1,
|
||
h2,
|
||
h3 {
|
||
font-family: Georgia, "Times New Roman", Cambria, serif;
|
||
color: var(--brown);
|
||
line-height: 1.25;
|
||
}
|
||
|
||
img {
|
||
display: block;
|
||
max-width: 100%;
|
||
}
|
||
a {
|
||
text-decoration: none;
|
||
color: inherit;
|
||
}
|
||
|
||
.sr-only {
|
||
position: absolute;
|
||
width: 1px;
|
||
height: 1px;
|
||
padding: 0;
|
||
margin: -1px;
|
||
overflow: hidden;
|
||
clip: rect(0, 0, 0, 0);
|
||
white-space: nowrap;
|
||
border-width: 0;
|
||
}
|
||
|
||
.hidden {
|
||
display: none !important;
|
||
}
|
||
|
||
/* ── Buttons ───────────────────────────────────────────── */
|
||
.btn-terra {
|
||
display: inline-flex;
|
||
align-items: center;
|
||
justify-content: center;
|
||
background-color: var(--terra);
|
||
color: var(--white);
|
||
font-family:
|
||
system-ui,
|
||
-apple-system,
|
||
"Segoe UI",
|
||
sans-serif;
|
||
font-weight: 700;
|
||
font-size: 0.9375rem;
|
||
padding: 0.875rem 2rem;
|
||
border-radius: 9999px;
|
||
border: none;
|
||
cursor: pointer;
|
||
transition:
|
||
background-color 0.2s ease,
|
||
transform 0.15s ease,
|
||
box-shadow 0.2s ease;
|
||
white-space: nowrap;
|
||
letter-spacing: 0.01em;
|
||
box-shadow: 0 2px 8px rgba(192, 86, 33, 0.35);
|
||
}
|
||
.btn-terra:hover {
|
||
background-color: var(--terra-deep);
|
||
transform: translateY(-2px);
|
||
box-shadow: 0 6px 20px rgba(192, 86, 33, 0.4);
|
||
}
|
||
|
||
.btn-outline-white {
|
||
display: inline-flex;
|
||
align-items: center;
|
||
justify-content: center;
|
||
background-color: transparent;
|
||
color: var(--white);
|
||
font-family:
|
||
system-ui,
|
||
-apple-system,
|
||
"Segoe UI",
|
||
sans-serif;
|
||
font-weight: 600;
|
||
font-size: 0.9375rem;
|
||
padding: 0.875rem 2rem;
|
||
border-radius: 9999px;
|
||
border: 2px solid rgba(255, 255, 255, 0.55);
|
||
cursor: pointer;
|
||
transition:
|
||
background-color 0.2s ease,
|
||
border-color 0.2s ease;
|
||
white-space: nowrap;
|
||
}
|
||
.btn-outline-white:hover {
|
||
background-color: rgba(255, 255, 255, 0.12);
|
||
border-color: rgba(255, 255, 255, 0.9);
|
||
}
|
||
|
||
/* ── Navbar ─────────────────────────────────────────────── */
|
||
.ngo-navbar {
|
||
position: absolute;
|
||
top: 0;
|
||
left: 0;
|
||
right: 0;
|
||
z-index: 30;
|
||
padding: 1.5rem 0;
|
||
}
|
||
.ngo-navbar__inner {
|
||
max-width: 72rem;
|
||
margin: 0 auto;
|
||
padding: 0 1.75rem;
|
||
display: flex;
|
||
flex-wrap: wrap;
|
||
align-items: center;
|
||
justify-content: space-between;
|
||
gap: 1rem;
|
||
}
|
||
.ngo-navbar__brand {
|
||
display: flex;
|
||
align-items: center;
|
||
gap: 0.875rem;
|
||
}
|
||
.ngo-navbar__logo {
|
||
height: 2.5rem;
|
||
width: auto;
|
||
}
|
||
.ngo-navbar__badge {
|
||
font-size: 0.65rem;
|
||
font-weight: 700;
|
||
letter-spacing: 0.25em;
|
||
text-transform: uppercase;
|
||
color: rgba(255, 255, 255, 0.65);
|
||
}
|
||
.ngo-navbar__nav {
|
||
display: flex;
|
||
align-items: center;
|
||
gap: 2.25rem;
|
||
}
|
||
.ngo-navbar__nav a {
|
||
font-size: 0.9rem;
|
||
font-weight: 500;
|
||
color: rgba(255, 255, 255, 0.82);
|
||
transition: color 0.2s;
|
||
}
|
||
.ngo-navbar__nav a:hover {
|
||
color: var(--white);
|
||
}
|
||
.ngo-navbar__actions {
|
||
display: flex;
|
||
align-items: center;
|
||
gap: 0.875rem;
|
||
}
|
||
.lang-select {
|
||
background-color: rgba(255, 255, 255, 0.14);
|
||
border: 1px solid rgba(255, 255, 255, 0.32);
|
||
color: var(--white);
|
||
font-size: 0.8375rem;
|
||
font-family:
|
||
system-ui,
|
||
-apple-system,
|
||
"Segoe UI",
|
||
sans-serif;
|
||
border-radius: 9999px;
|
||
padding: 0.45rem 1rem;
|
||
cursor: pointer;
|
||
outline: none;
|
||
appearance: none;
|
||
-webkit-appearance: none;
|
||
transition: background-color 0.2s;
|
||
}
|
||
.lang-select:focus {
|
||
box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.4);
|
||
}
|
||
.lang-select option {
|
||
background-color: var(--brown);
|
||
color: var(--white);
|
||
}
|
||
|
||
/* ── Hero ───────────────────────────────────────────────── */
|
||
.hero-wrapper {
|
||
position: relative;
|
||
min-height: 100svh;
|
||
display: flex;
|
||
flex-direction: column;
|
||
justify-content: center;
|
||
background-image: url("https://odoo4projects.com/web/image/785-c14164bb/india.webp");
|
||
background-size: cover;
|
||
background-position: center 30%;
|
||
background-repeat: no-repeat;
|
||
}
|
||
.hero-overlay {
|
||
position: absolute;
|
||
inset: 0;
|
||
background: linear-gradient(
|
||
140deg,
|
||
rgba(68, 48, 46, 0.88) 0%,
|
||
rgba(156, 60, 20, 0.68) 40%,
|
||
rgba(39, 103, 73, 0.62) 100%
|
||
);
|
||
}
|
||
.hero-content {
|
||
position: relative;
|
||
z-index: 2;
|
||
max-width: 72rem;
|
||
margin: 0 auto;
|
||
padding: 9rem 1.75rem 5.5rem;
|
||
display: grid;
|
||
grid-template-columns: 55fr 45fr;
|
||
gap: 4rem;
|
||
align-items: center;
|
||
}
|
||
|
||
/* Hero — text column */
|
||
.hero-pill {
|
||
display: inline-block;
|
||
font-size: 0.8125rem;
|
||
font-weight: 600;
|
||
color: rgba(255, 255, 255, 0.92);
|
||
letter-spacing: 0.06em;
|
||
background-color: rgba(192, 86, 33, 0.3);
|
||
border: 1px solid rgba(192, 86, 33, 0.55);
|
||
border-radius: 9999px;
|
||
padding: 0.3rem 1.1rem;
|
||
margin-bottom: 1.5rem;
|
||
}
|
||
.hero-headline {
|
||
font-family: Georgia, "Times New Roman", Cambria, serif;
|
||
font-size: clamp(2.1rem, 4.2vw, 3.35rem);
|
||
font-weight: 700;
|
||
color: var(--white);
|
||
line-height: 1.22;
|
||
margin-bottom: 1.35rem;
|
||
}
|
||
.hero-subheadline {
|
||
font-size: 1.0625rem;
|
||
color: rgba(255, 255, 255, 0.8);
|
||
line-height: 1.78;
|
||
margin-bottom: 2.5rem;
|
||
max-width: 540px;
|
||
}
|
||
.hero-ctas {
|
||
display: flex;
|
||
flex-wrap: wrap;
|
||
gap: 1rem;
|
||
margin-bottom: 3.25rem;
|
||
}
|
||
.hero-stats {
|
||
display: grid;
|
||
grid-template-columns: 1fr 1fr;
|
||
gap: 1.5rem;
|
||
padding-top: 1.5rem;
|
||
border-top: 1px solid rgba(255, 255, 255, 0.18);
|
||
}
|
||
.hero-stat__num {
|
||
font-family:
|
||
system-ui,
|
||
-apple-system,
|
||
"Segoe UI",
|
||
sans-serif;
|
||
font-size: 2.5rem;
|
||
font-weight: 700;
|
||
color: var(--white);
|
||
line-height: 1;
|
||
margin-bottom: 0.35rem;
|
||
}
|
||
.hero-stat__label {
|
||
font-size: 0.84rem;
|
||
color: rgba(255, 255, 255, 0.7);
|
||
line-height: 1.5;
|
||
}
|
||
|
||
/* Hero — KPI card column */
|
||
.hero-card-col {
|
||
display: flex;
|
||
justify-content: center;
|
||
align-items: center;
|
||
}
|
||
.hero-kpi-card {
|
||
background-color: rgba(255, 255, 255, 0.11);
|
||
backdrop-filter: blur(14px);
|
||
-webkit-backdrop-filter: blur(14px);
|
||
border: 1px solid rgba(255, 255, 255, 0.22);
|
||
border-radius: 2.25rem;
|
||
padding: 2.5rem 2.25rem 2rem;
|
||
width: 100%;
|
||
max-width: 370px;
|
||
box-shadow: var(--shadow-lg);
|
||
}
|
||
.hero-kpi-card__badge {
|
||
font-size: 0.68rem;
|
||
font-weight: 700;
|
||
text-transform: uppercase;
|
||
letter-spacing: 0.22em;
|
||
color: rgba(255, 255, 255, 0.58);
|
||
margin-bottom: 0.85rem;
|
||
}
|
||
.hero-kpi-card__title {
|
||
font-family: Georgia, "Times New Roman", Cambria, serif;
|
||
font-size: 1.55rem;
|
||
font-weight: 700;
|
||
color: var(--white);
|
||
margin-bottom: 0.5rem;
|
||
line-height: 1.3;
|
||
}
|
||
.hero-kpi-card__body {
|
||
font-size: 0.875rem;
|
||
color: rgba(255, 255, 255, 0.68);
|
||
line-height: 1.6;
|
||
margin-bottom: 2rem;
|
||
}
|
||
/* ── Bundle checklist (replaces bar chart) ─────── */
|
||
.bundle-list {
|
||
list-style: none;
|
||
display: flex;
|
||
flex-direction: column;
|
||
gap: 0.5rem;
|
||
margin-bottom: 1rem;
|
||
}
|
||
.bundle-list li {
|
||
display: flex;
|
||
align-items: flex-start;
|
||
gap: 0.55rem;
|
||
font-size: 0.78rem;
|
||
color: rgba(255, 255, 255, 0.88);
|
||
line-height: 1.45;
|
||
}
|
||
.bundle-check {
|
||
flex-shrink: 0;
|
||
width: 1.35rem;
|
||
height: 1.35rem;
|
||
border-radius: 50%;
|
||
background-color: rgba(39, 103, 73, 0.55);
|
||
border: 1.5px solid rgba(39, 103, 73, 0.9);
|
||
display: inline-flex;
|
||
align-items: center;
|
||
justify-content: center;
|
||
font-size: 0.6rem;
|
||
font-weight: 800;
|
||
color: #fff;
|
||
}
|
||
.bundle-footnote {
|
||
font-size: 0.68rem;
|
||
color: rgba(255, 255, 255, 0.38);
|
||
text-align: left;
|
||
letter-spacing: 0.03em;
|
||
font-style: italic;
|
||
margin-top: 0.25rem;
|
||
}
|
||
|
||
/* ── Value Props ────────────────────────────────────────── */
|
||
.values-section {
|
||
max-width: 72rem;
|
||
margin: 0 auto;
|
||
padding: 5.5rem 1.75rem 4.5rem;
|
||
display: grid;
|
||
grid-template-columns: repeat(3, 1fr);
|
||
gap: 2rem;
|
||
}
|
||
.value-card {
|
||
background-color: var(--white);
|
||
border-radius: 2.25rem;
|
||
padding: 2.5rem 2.25rem;
|
||
border-left: 5px solid var(--terra);
|
||
box-shadow: var(--shadow-md);
|
||
transition:
|
||
transform 0.22s ease,
|
||
box-shadow 0.22s ease;
|
||
}
|
||
.value-card:nth-child(2) {
|
||
border-left-color: var(--forest);
|
||
}
|
||
.value-card:nth-child(3) {
|
||
border-left-color: var(--brown);
|
||
}
|
||
.value-card:hover {
|
||
transform: translateY(-4px);
|
||
box-shadow: var(--shadow-lg);
|
||
}
|
||
.value-icon {
|
||
width: 3.25rem;
|
||
height: 3.25rem;
|
||
border-radius: 1.125rem;
|
||
display: flex;
|
||
align-items: center;
|
||
justify-content: center;
|
||
font-size: 1.6rem;
|
||
margin-bottom: 1.35rem;
|
||
}
|
||
.value-card:nth-child(1) .value-icon {
|
||
background-color: var(--terra-soft);
|
||
}
|
||
.value-card:nth-child(2) .value-icon {
|
||
background-color: var(--forest-soft);
|
||
}
|
||
.value-card:nth-child(3) .value-icon {
|
||
background-color: var(--brown-soft);
|
||
}
|
||
.value-card h2 {
|
||
font-size: 1.15rem;
|
||
font-weight: 700;
|
||
color: var(--brown);
|
||
margin-bottom: 0.7rem;
|
||
line-height: 1.35;
|
||
}
|
||
.value-card p {
|
||
font-size: 0.9125rem;
|
||
color: var(--muted);
|
||
line-height: 1.72;
|
||
}
|
||
|
||
/* ── Impact Numbers Strip ───────────────────────────────── */
|
||
.impact-strip {
|
||
background: linear-gradient(
|
||
118deg,
|
||
var(--terra) 0%,
|
||
#a44418 55%,
|
||
var(--terra-deep) 100%
|
||
);
|
||
padding: 4.5rem 1.75rem;
|
||
}
|
||
.impact-strip__inner {
|
||
max-width: 72rem;
|
||
margin: 0 auto;
|
||
display: grid;
|
||
grid-template-columns: repeat(4, 1fr);
|
||
gap: 2rem;
|
||
text-align: center;
|
||
}
|
||
.impact-item {
|
||
}
|
||
.impact-item__divider {
|
||
display: none;
|
||
}
|
||
.impact-num {
|
||
font-family:
|
||
system-ui,
|
||
-apple-system,
|
||
"Segoe UI",
|
||
sans-serif;
|
||
font-size: clamp(2.25rem, 4vw, 3.1rem);
|
||
font-weight: 700;
|
||
color: var(--white);
|
||
line-height: 1;
|
||
margin-bottom: 0.5rem;
|
||
}
|
||
.impact-label {
|
||
font-size: 0.875rem;
|
||
color: rgba(255, 255, 255, 0.78);
|
||
font-weight: 500;
|
||
line-height: 1.5;
|
||
}
|
||
|
||
/* ── Section Shared Helpers ─────────────────────────────── */
|
||
.section-tagline {
|
||
font-size: 0.72rem;
|
||
font-weight: 700;
|
||
text-transform: uppercase;
|
||
letter-spacing: 0.26em;
|
||
color: var(--terra);
|
||
margin-bottom: 0.75rem;
|
||
}
|
||
.section-title {
|
||
font-family: Georgia, "Times New Roman", Cambria, serif;
|
||
font-size: clamp(1.8rem, 3vw, 2.55rem);
|
||
font-weight: 700;
|
||
color: var(--brown);
|
||
margin-bottom: 0.6rem;
|
||
line-height: 1.25;
|
||
}
|
||
.section-subtitle {
|
||
font-size: 1rem;
|
||
color: var(--muted);
|
||
line-height: 1.65;
|
||
}
|
||
|
||
/* ── Blog Section ───────────────────────────────────────── */
|
||
.blog-section {
|
||
background-color: var(--beige);
|
||
padding: 5.5rem 0;
|
||
}
|
||
.blog-inner {
|
||
max-width: 72rem;
|
||
margin: 0 auto;
|
||
padding: 0 1.75rem;
|
||
}
|
||
.blog-header {
|
||
display: flex;
|
||
flex-wrap: wrap;
|
||
align-items: flex-end;
|
||
justify-content: space-between;
|
||
gap: 1.5rem;
|
||
margin-bottom: 3rem;
|
||
}
|
||
#blog-toggle {
|
||
background: none;
|
||
border: none;
|
||
font-family:
|
||
system-ui,
|
||
-apple-system,
|
||
"Segoe UI",
|
||
sans-serif;
|
||
font-size: 0.9375rem;
|
||
font-weight: 600;
|
||
color: var(--terra);
|
||
cursor: pointer;
|
||
padding: 0;
|
||
transition: color 0.2s;
|
||
text-decoration: underline;
|
||
text-underline-offset: 3px;
|
||
}
|
||
#blog-toggle:hover {
|
||
color: var(--terra-deep);
|
||
}
|
||
#blog-grid {
|
||
display: grid;
|
||
grid-template-columns: repeat(3, 1fr);
|
||
gap: 1.875rem;
|
||
}
|
||
#blog-error {
|
||
font-size: 0.875rem;
|
||
color: var(--muted);
|
||
margin-top: 1.5rem;
|
||
}
|
||
|
||
/* Blog cards (injected by JS) */
|
||
.blog-card {
|
||
background-color: var(--white);
|
||
border-radius: 2rem;
|
||
padding: 2rem 1.875rem 1.875rem;
|
||
border-top: 4px solid var(--terra);
|
||
box-shadow: var(--shadow-md);
|
||
display: flex;
|
||
flex-direction: column;
|
||
gap: 0.75rem;
|
||
transition:
|
||
transform 0.22s ease,
|
||
box-shadow 0.22s ease;
|
||
}
|
||
.blog-card:hover {
|
||
transform: translateY(-4px);
|
||
box-shadow: var(--shadow-lg);
|
||
}
|
||
.blog-card-meta {
|
||
display: flex;
|
||
justify-content: space-between;
|
||
align-items: center;
|
||
gap: 0.5rem;
|
||
}
|
||
.blog-card-area {
|
||
font-size: 0.68rem;
|
||
font-weight: 700;
|
||
text-transform: uppercase;
|
||
letter-spacing: 0.18em;
|
||
color: var(--terra);
|
||
}
|
||
.blog-card-date {
|
||
font-size: 0.78rem;
|
||
color: var(--muted);
|
||
}
|
||
.blog-card-title {
|
||
font-family: Georgia, "Times New Roman", Cambria, serif;
|
||
font-size: 1.1rem;
|
||
font-weight: 700;
|
||
color: var(--brown);
|
||
line-height: 1.4;
|
||
}
|
||
.blog-card-teaser {
|
||
font-size: 0.875rem;
|
||
color: var(--muted);
|
||
line-height: 1.68;
|
||
flex: 1;
|
||
}
|
||
.blog-card-btn {
|
||
display: inline-block;
|
||
align-self: flex-start;
|
||
margin-top: 0.375rem;
|
||
background: none;
|
||
border: none;
|
||
font-family:
|
||
system-ui,
|
||
-apple-system,
|
||
"Segoe UI",
|
||
sans-serif;
|
||
font-size: 0.875rem;
|
||
font-weight: 600;
|
||
color: var(--terra);
|
||
cursor: pointer;
|
||
padding: 0;
|
||
transition: color 0.2s;
|
||
text-decoration: underline;
|
||
text-underline-offset: 3px;
|
||
}
|
||
.blog-card-btn:hover {
|
||
color: var(--terra-deep);
|
||
}
|
||
|
||
/* ── Trial Section ──────────────────────────────────────── */
|
||
.trial-section {
|
||
background-color: var(--forest);
|
||
padding: 5.5rem 0;
|
||
}
|
||
.trial-inner {
|
||
max-width: 64rem;
|
||
margin: 0 auto;
|
||
padding: 0 1.75rem;
|
||
display: grid;
|
||
grid-template-columns: 1fr 1fr;
|
||
gap: 4rem;
|
||
align-items: start;
|
||
}
|
||
.trial-tagline {
|
||
font-size: 0.72rem;
|
||
font-weight: 700;
|
||
text-transform: uppercase;
|
||
letter-spacing: 0.26em;
|
||
color: rgba(255, 255, 255, 0.6);
|
||
margin-bottom: 0.875rem;
|
||
}
|
||
.trial-heading {
|
||
font-family: Georgia, "Times New Roman", Cambria, serif;
|
||
font-size: clamp(1.7rem, 2.6vw, 2.25rem);
|
||
font-weight: 700;
|
||
color: var(--white);
|
||
line-height: 1.28;
|
||
margin-bottom: 1.1rem;
|
||
}
|
||
.trial-body-text {
|
||
font-size: 0.9375rem;
|
||
color: rgba(255, 255, 255, 0.75);
|
||
line-height: 1.78;
|
||
margin-bottom: 2rem;
|
||
}
|
||
.trial-bullets {
|
||
list-style: none;
|
||
display: flex;
|
||
flex-direction: column;
|
||
gap: 1rem;
|
||
}
|
||
.trial-bullet {
|
||
display: flex;
|
||
align-items: flex-start;
|
||
gap: 0.875rem;
|
||
font-size: 0.9rem;
|
||
color: rgba(255, 255, 255, 0.78);
|
||
line-height: 1.6;
|
||
}
|
||
.trial-bullet__icon {
|
||
flex-shrink: 0;
|
||
width: 1.4rem;
|
||
height: 1.4rem;
|
||
border-radius: 9999px;
|
||
background-color: rgba(255, 255, 255, 0.14);
|
||
border: 1.5px solid rgba(255, 255, 255, 0.3);
|
||
display: flex;
|
||
align-items: center;
|
||
justify-content: center;
|
||
font-size: 0.62rem;
|
||
color: rgba(255, 255, 255, 0.9);
|
||
margin-top: 0.1rem;
|
||
}
|
||
|
||
/* Trial Form */
|
||
#trial-form-wrapper {
|
||
position: relative;
|
||
}
|
||
|
||
#trial-form {
|
||
background-color: var(--white);
|
||
border-radius: 2.5rem;
|
||
padding: 2.75rem 2.5rem;
|
||
box-shadow: var(--shadow-lg);
|
||
display: flex;
|
||
flex-direction: column;
|
||
gap: 1.375rem;
|
||
}
|
||
.form-fieldset {
|
||
border: none;
|
||
padding: 0;
|
||
}
|
||
.form-legend {
|
||
display: block;
|
||
font-size: 0.875rem;
|
||
font-weight: 600;
|
||
color: var(--brown);
|
||
margin-bottom: 0.875rem;
|
||
}
|
||
.form-radio-group {
|
||
display: flex;
|
||
gap: 0.75rem;
|
||
}
|
||
.form-radio-label {
|
||
display: flex;
|
||
align-items: center;
|
||
gap: 0.55rem;
|
||
flex: 1;
|
||
border: 1.5px solid var(--border);
|
||
border-radius: 1.35rem;
|
||
padding: 0.8rem 1.1rem;
|
||
cursor: pointer;
|
||
font-size: 0.875rem;
|
||
font-weight: 600;
|
||
color: var(--brown);
|
||
transition:
|
||
border-color 0.2s,
|
||
background-color 0.2s;
|
||
}
|
||
.form-radio-label:hover {
|
||
border-color: var(--terra);
|
||
background-color: rgba(192, 86, 33, 0.04);
|
||
}
|
||
.form-radio-label input[type="radio"] {
|
||
accent-color: var(--terra);
|
||
}
|
||
.form-label {
|
||
display: block;
|
||
font-size: 0.875rem;
|
||
font-weight: 600;
|
||
color: var(--brown);
|
||
}
|
||
.form-label > span {
|
||
display: block;
|
||
margin-bottom: 0.55rem;
|
||
}
|
||
.form-input,
|
||
.form-select {
|
||
display: block;
|
||
width: 100%;
|
||
border: 1.5px solid var(--border);
|
||
border-radius: 1.1rem;
|
||
padding: 0.8rem 1.15rem;
|
||
font-size: 0.9125rem;
|
||
font-family:
|
||
system-ui,
|
||
-apple-system,
|
||
"Segoe UI",
|
||
sans-serif;
|
||
color: var(--brown);
|
||
background-color: var(--cream-card);
|
||
outline: none;
|
||
transition:
|
||
border-color 0.2s,
|
||
box-shadow 0.2s;
|
||
appearance: none;
|
||
-webkit-appearance: none;
|
||
}
|
||
.form-input:focus,
|
||
.form-select:focus {
|
||
border-color: var(--terra);
|
||
box-shadow: 0 0 0 3px rgba(192, 86, 33, 0.14);
|
||
}
|
||
.form-microcopy {
|
||
font-size: 0.8rem;
|
||
color: var(--muted);
|
||
line-height: 1.55;
|
||
}
|
||
.form-submit {
|
||
width: 100%;
|
||
background-color: var(--terra);
|
||
color: var(--white);
|
||
font-family:
|
||
system-ui,
|
||
-apple-system,
|
||
"Segoe UI",
|
||
sans-serif;
|
||
font-weight: 700;
|
||
font-size: 1rem;
|
||
padding: 0.9375rem 1.5rem;
|
||
border: none;
|
||
border-radius: 1.35rem;
|
||
cursor: pointer;
|
||
transition:
|
||
background-color 0.2s,
|
||
transform 0.15s;
|
||
letter-spacing: 0.01em;
|
||
}
|
||
.form-submit:hover {
|
||
background-color: var(--terra-deep);
|
||
transform: translateY(-1px);
|
||
}
|
||
.form-submit:disabled {
|
||
opacity: 0.6;
|
||
cursor: not-allowed;
|
||
transform: none;
|
||
}
|
||
.form-help {
|
||
font-size: 0.78rem;
|
||
color: var(--muted);
|
||
text-align: center;
|
||
line-height: 1.55;
|
||
}
|
||
|
||
#trial-status {
|
||
background-color: var(--white);
|
||
border-radius: 2.5rem;
|
||
padding: 3.5rem 2.5rem;
|
||
box-shadow: var(--shadow-lg);
|
||
display: flex;
|
||
flex-direction: column;
|
||
align-items: center;
|
||
gap: 1.1rem;
|
||
text-align: center;
|
||
}
|
||
.trial-status__icon {
|
||
font-size: 3.25rem;
|
||
color: var(--forest);
|
||
line-height: 1;
|
||
}
|
||
#trial-status-msg {
|
||
font-size: 0.9375rem;
|
||
color: var(--muted);
|
||
line-height: 1.65;
|
||
}
|
||
|
||
/* ── Meeting Section ────────────────────────────────────── */
|
||
.meeting-section {
|
||
position: relative;
|
||
padding: 6rem 0;
|
||
background-image: url("https://images.unsplash.com/photo-1529156069898-49953e39b3ac?w=1200&q=80");
|
||
background-size: cover;
|
||
background-position: center 40%;
|
||
background-attachment: fixed;
|
||
}
|
||
.meeting-overlay {
|
||
position: absolute;
|
||
inset: 0;
|
||
background: rgba(250, 247, 242, 0.91);
|
||
}
|
||
.meeting-inner {
|
||
position: relative;
|
||
z-index: 2;
|
||
max-width: 64rem;
|
||
margin: 0 auto;
|
||
padding: 0 1.75rem;
|
||
display: grid;
|
||
grid-template-columns: 1fr 1fr;
|
||
gap: 4rem;
|
||
align-items: center;
|
||
}
|
||
.meeting-tagline {
|
||
font-size: 0.72rem;
|
||
font-weight: 700;
|
||
text-transform: uppercase;
|
||
letter-spacing: 0.26em;
|
||
color: var(--terra);
|
||
margin-bottom: 0.875rem;
|
||
}
|
||
.meeting-heading {
|
||
font-family: Georgia, "Times New Roman", Cambria, serif;
|
||
font-size: clamp(1.7rem, 2.6vw, 2.25rem);
|
||
font-weight: 700;
|
||
color: var(--brown);
|
||
line-height: 1.28;
|
||
margin-bottom: 1.1rem;
|
||
}
|
||
.meeting-body-text {
|
||
font-size: 0.9375rem;
|
||
color: var(--muted);
|
||
line-height: 1.78;
|
||
margin-bottom: 2rem;
|
||
}
|
||
.meeting-bullets {
|
||
list-style: none;
|
||
display: flex;
|
||
flex-direction: column;
|
||
gap: 0.95rem;
|
||
}
|
||
.meeting-bullet {
|
||
display: flex;
|
||
align-items: flex-start;
|
||
gap: 0.875rem;
|
||
font-size: 0.9rem;
|
||
color: var(--muted);
|
||
line-height: 1.6;
|
||
}
|
||
.meeting-bullet__dot {
|
||
color: var(--forest);
|
||
font-size: 1.1rem;
|
||
line-height: 1.4;
|
||
flex-shrink: 0;
|
||
}
|
||
|
||
/* Meeting card */
|
||
.meeting-card {
|
||
background-color: var(--white);
|
||
border-radius: 2.25rem;
|
||
padding: 2.5rem 2.25rem;
|
||
box-shadow: var(--shadow-lg);
|
||
border-top: 5px solid var(--forest);
|
||
}
|
||
.meeting-card__label {
|
||
font-size: 0.72rem;
|
||
font-weight: 700;
|
||
text-transform: uppercase;
|
||
letter-spacing: 0.22em;
|
||
color: var(--forest);
|
||
margin-bottom: 0.875rem;
|
||
}
|
||
.meeting-card__title {
|
||
font-family: Georgia, "Times New Roman", Cambria, serif;
|
||
font-size: 1.3rem;
|
||
font-weight: 700;
|
||
color: var(--brown);
|
||
line-height: 1.35;
|
||
margin-bottom: 0.875rem;
|
||
}
|
||
.meeting-card__hint {
|
||
font-size: 0.84rem;
|
||
color: var(--muted);
|
||
line-height: 1.65;
|
||
font-style: italic;
|
||
margin-bottom: 1.75rem;
|
||
}
|
||
.meeting-card__cta {
|
||
display: inline-flex;
|
||
align-items: center;
|
||
gap: 0.4rem;
|
||
font-size: 0.9375rem;
|
||
font-weight: 700;
|
||
color: var(--forest);
|
||
border-bottom: 2px solid var(--forest);
|
||
padding-bottom: 0.1rem;
|
||
transition:
|
||
color 0.2s,
|
||
border-color 0.2s,
|
||
gap 0.2s;
|
||
}
|
||
.meeting-card__cta:hover {
|
||
color: var(--forest-deep);
|
||
border-color: var(--forest-deep);
|
||
gap: 0.65rem;
|
||
}
|
||
|
||
/* ── Footer ─────────────────────────────────────────────── */
|
||
.site-footer {
|
||
background-color: var(--brown);
|
||
color: var(--white);
|
||
padding: 2.75rem 1.75rem;
|
||
}
|
||
.footer-inner {
|
||
max-width: 72rem;
|
||
margin: 0 auto;
|
||
display: grid;
|
||
grid-template-columns: 1fr minmax(100px, 380px) 1fr;
|
||
align-items: center;
|
||
gap: 1.5rem 2.5rem;
|
||
font-size: 0.875rem;
|
||
}
|
||
.footer-copy {
|
||
color: rgba(255, 255, 255, 0.6);
|
||
}
|
||
.footer-links {
|
||
display: flex;
|
||
gap: 1.75rem;
|
||
justify-self: end;
|
||
align-self: end;
|
||
}
|
||
.footer-links a {
|
||
color: rgba(255, 255, 255, 0.6);
|
||
transition: color 0.2s;
|
||
}
|
||
.footer-links a:hover {
|
||
color: var(--white);
|
||
}
|
||
|
||
/* ── Footer Feedback ────────────────────────────── */
|
||
.footer-feedback {
|
||
justify-self: stretch;
|
||
width: 100%;
|
||
}
|
||
.footer-feedback__form {
|
||
position: relative;
|
||
}
|
||
.footer-feedback__area {
|
||
width: 100%;
|
||
resize: none;
|
||
border: 1.5px solid rgba(255, 255, 255, 0.18);
|
||
border-radius: 0.875rem;
|
||
padding: 0.65rem 0.875rem;
|
||
font-family:
|
||
system-ui,
|
||
-apple-system,
|
||
"Segoe UI",
|
||
sans-serif;
|
||
font-size: 0.8rem;
|
||
color: var(--white);
|
||
background-color: rgba(255, 255, 255, 0.07);
|
||
outline: none;
|
||
line-height: 1.5;
|
||
height: 4.8rem;
|
||
overflow-y: hidden;
|
||
transition:
|
||
border-color 0.2s,
|
||
background-color 0.2s;
|
||
}
|
||
.footer-feedback__area::placeholder {
|
||
color: rgba(255, 255, 255, 0.35);
|
||
}
|
||
.footer-feedback__area:focus {
|
||
border-color: rgba(255, 255, 255, 0.42);
|
||
background-color: rgba(255, 255, 255, 0.11);
|
||
}
|
||
.footer-feedback__btn {
|
||
position: absolute;
|
||
bottom: 0.45rem;
|
||
right: 0.5rem;
|
||
background: none;
|
||
border: none;
|
||
padding: 0.25rem;
|
||
cursor: pointer;
|
||
color: rgba(255, 255, 255, 0.18);
|
||
display: flex;
|
||
align-items: center;
|
||
justify-content: center;
|
||
border-radius: 50%;
|
||
line-height: 0;
|
||
z-index: 1;
|
||
transition:
|
||
color 0.2s,
|
||
transform 0.15s;
|
||
}
|
||
.footer-feedback__btn:hover {
|
||
color: rgba(255, 255, 255, 0.75);
|
||
transform: scale(1.15) translateX(2px);
|
||
}
|
||
.footer-feedback__btn:disabled {
|
||
opacity: 0.4;
|
||
cursor: not-allowed;
|
||
transform: none;
|
||
}
|
||
.footer-feedback__msg {
|
||
font-size: 0.74rem;
|
||
color: rgba(255, 255, 255, 0.52);
|
||
margin-top: 0.4rem;
|
||
min-height: 1em;
|
||
text-align: center;
|
||
transition: opacity 0.3s;
|
||
}
|
||
|
||
@media (max-width: 1100px) {
|
||
.footer-inner {
|
||
grid-template-columns: 1fr;
|
||
text-align: center;
|
||
gap: 1.5rem;
|
||
}
|
||
.footer-links {
|
||
justify-self: center;
|
||
}
|
||
.footer-feedback {
|
||
justify-self: stretch;
|
||
width: 100%;
|
||
}
|
||
.footer-feedback__form {
|
||
max-width: 540px;
|
||
margin: 0 auto;
|
||
}
|
||
}
|
||
|
||
/* ── Blog Modal ─────────────────────────────────────────── */
|
||
#blog-modal {
|
||
position: fixed;
|
||
inset: 0;
|
||
z-index: 50;
|
||
align-items: center;
|
||
justify-content: center;
|
||
padding: 1.25rem;
|
||
}
|
||
#blog-modal-backdrop {
|
||
position: absolute;
|
||
inset: 0;
|
||
background-color: rgba(44, 48, 46, 0.78);
|
||
backdrop-filter: blur(5px);
|
||
-webkit-backdrop-filter: blur(5px);
|
||
cursor: pointer;
|
||
opacity: 0;
|
||
transition: opacity 0.28s ease;
|
||
}
|
||
#blog-modal-backdrop.modal-animate-backdrop {
|
||
opacity: 1;
|
||
}
|
||
#blog-modal-box {
|
||
position: relative;
|
||
background-color: var(--white);
|
||
border-radius: 2.5rem;
|
||
box-shadow: 0 24px 80px rgba(68, 48, 46, 0.22);
|
||
width: 100%;
|
||
max-width: 44rem;
|
||
max-height: 90vh;
|
||
overflow-y: auto;
|
||
display: flex;
|
||
flex-direction: column;
|
||
opacity: 0;
|
||
transform: translateY(28px) scale(0.97);
|
||
transition:
|
||
opacity 0.32s ease,
|
||
transform 0.32s ease;
|
||
}
|
||
#blog-modal-box.modal-animate-box {
|
||
opacity: 1;
|
||
transform: translateY(0) scale(1);
|
||
}
|
||
.modal-header {
|
||
position: sticky;
|
||
top: 0;
|
||
background-color: var(--white);
|
||
border-radius: 2.5rem 2.5rem 0 0;
|
||
padding: 2rem 2.25rem 1.5rem;
|
||
display: flex;
|
||
align-items: flex-start;
|
||
justify-content: space-between;
|
||
gap: 1rem;
|
||
border-bottom: 1px solid var(--border);
|
||
z-index: 10;
|
||
}
|
||
.modal-header__text {
|
||
flex: 1;
|
||
min-width: 0;
|
||
}
|
||
#blog-modal-area {
|
||
font-size: 0.68rem;
|
||
font-weight: 700;
|
||
text-transform: uppercase;
|
||
letter-spacing: 0.18em;
|
||
color: var(--terra);
|
||
margin-bottom: 0.4rem;
|
||
}
|
||
#blog-modal-title {
|
||
font-family: Georgia, "Times New Roman", Cambria, serif;
|
||
font-size: 1.5rem;
|
||
font-weight: 700;
|
||
color: var(--brown);
|
||
line-height: 1.3;
|
||
padding-right: 0.5rem;
|
||
}
|
||
#blog-modal-close-x {
|
||
flex-shrink: 0;
|
||
width: 2.75rem;
|
||
height: 2.75rem;
|
||
border-radius: 9999px;
|
||
background-color: var(--cream);
|
||
border: 1.5px solid var(--border);
|
||
cursor: pointer;
|
||
font-size: 1.1rem;
|
||
font-weight: 700;
|
||
color: var(--brown);
|
||
display: flex;
|
||
align-items: center;
|
||
justify-content: center;
|
||
transition:
|
||
background-color 0.2s,
|
||
color 0.2s,
|
||
border-color 0.2s;
|
||
}
|
||
#blog-modal-close-x:hover {
|
||
background-color: var(--terra);
|
||
color: var(--white);
|
||
border-color: var(--terra);
|
||
}
|
||
.modal-body {
|
||
padding: 1.75rem 2.25rem;
|
||
flex: 1;
|
||
}
|
||
#blog-modal-date {
|
||
display: block;
|
||
font-size: 0.78rem;
|
||
color: var(--muted);
|
||
margin-bottom: 1.25rem;
|
||
}
|
||
#blog-modal-content {
|
||
font-size: 0.9375rem;
|
||
color: var(--muted);
|
||
line-height: 1.78;
|
||
}
|
||
#blog-modal-content p + p {
|
||
margin-top: 1rem;
|
||
}
|
||
#blog-modal-content h3 {
|
||
font-size: 1.05rem;
|
||
color: var(--brown);
|
||
margin: 1.25rem 0 0.5rem;
|
||
}
|
||
.modal-footer {
|
||
padding: 1.25rem 2.25rem 2.25rem;
|
||
display: flex;
|
||
justify-content: center;
|
||
}
|
||
#blog-modal-close-bottom {
|
||
background-color: var(--brown);
|
||
color: var(--white);
|
||
font-family:
|
||
system-ui,
|
||
-apple-system,
|
||
"Segoe UI",
|
||
sans-serif;
|
||
font-weight: 600;
|
||
font-size: 0.9375rem;
|
||
padding: 0.8rem 2.75rem;
|
||
border: none;
|
||
border-radius: 9999px;
|
||
cursor: pointer;
|
||
transition: background-color 0.2s;
|
||
}
|
||
#blog-modal-close-bottom:hover {
|
||
background-color: var(--terra);
|
||
}
|
||
|
||
/* ── Responsive ─────────────────────────────────────────── */
|
||
@media (max-width: 900px) {
|
||
.hero-content {
|
||
grid-template-columns: 1fr;
|
||
padding-top: 7.5rem;
|
||
padding-bottom: 4rem;
|
||
}
|
||
.hero-card-col {
|
||
display: none;
|
||
}
|
||
.values-section {
|
||
grid-template-columns: 1fr;
|
||
}
|
||
.impact-strip__inner {
|
||
grid-template-columns: repeat(2, 1fr);
|
||
row-gap: 2.5rem;
|
||
}
|
||
#blog-grid {
|
||
grid-template-columns: 1fr;
|
||
}
|
||
.trial-inner {
|
||
grid-template-columns: 1fr;
|
||
gap: 3rem;
|
||
}
|
||
.meeting-inner {
|
||
grid-template-columns: 1fr;
|
||
}
|
||
.meeting-section {
|
||
background-attachment: scroll;
|
||
}
|
||
}
|
||
@media (max-width: 600px) {
|
||
.ngo-navbar__nav {
|
||
display: none;
|
||
}
|
||
.hero-stats {
|
||
grid-template-columns: 1fr 1fr;
|
||
}
|
||
.impact-strip__inner {
|
||
grid-template-columns: repeat(2, 1fr);
|
||
}
|
||
#trial-form {
|
||
padding: 1.875rem 1.5rem;
|
||
}
|
||
.modal-header {
|
||
padding: 1.5rem 1.5rem 1.25rem;
|
||
}
|
||
.modal-body {
|
||
padding: 1.25rem 1.5rem;
|
||
}
|
||
.modal-footer {
|
||
padding: 1rem 1.5rem 1.75rem;
|
||
}
|
||
}
|
||
</style>
|
||
</head>
|
||
|
||
<body>
|
||
<!-- ═══════════════════════════════════════════════════════════
|
||
HEADER — Navbar + Hero
|
||
════════════════════════════════════════════════════════════ -->
|
||
<header>
|
||
<!-- Navbar (floats over hero) -->
|
||
<nav class="ngo-navbar" aria-label="Main navigation">
|
||
<div class="ngo-navbar__inner">
|
||
<div class="ngo-navbar__brand">
|
||
<img
|
||
src="https://odoo4projects.com/web/image/website/1/logo?unique=1be96c3"
|
||
alt="ODOO4projects logo"
|
||
class="ngo-navbar__logo"
|
||
/>
|
||
<span class="ngo-navbar__badge" data-i18n="hero-badge"
|
||
>ERP FOR NGOs</span
|
||
>
|
||
</div>
|
||
|
||
<div class="ngo-navbar__nav">
|
||
<a href="#blog" data-i18n="nav-resources">Resources</a>
|
||
<a href="#trial" data-i18n="nav-trial">Free Trial</a>
|
||
</div>
|
||
|
||
<div class="ngo-navbar__actions">
|
||
<label for="lang-selector" class="sr-only"
|
||
>Language</label
|
||
>
|
||
<select id="lang-selector" class="lang-select">
|
||
<option value="en">English</option>
|
||
<option value="es">Español</option>
|
||
<option value="de">Deutsch</option>
|
||
</select>
|
||
<a
|
||
href="https://calendar.google.com/calendar/u/0/appointments/schedules/AcZssZ3DDbaiHFlhNhWySszAQoPXE_H73QLqYT3w7H9IYWC76RA_TgNIhLESjb4N7ep_D2D_OyW9q4-c"
|
||
target="_blank"
|
||
rel="noopener"
|
||
class="btn-terra plausible-event-name=meeting"
|
||
data-i18n="cta-meeting"
|
||
>Schedule a Meeting</a
|
||
>
|
||
</div>
|
||
</div>
|
||
</nav>
|
||
|
||
<!-- Hero — full-width community photo background -->
|
||
<div class="hero-wrapper" role="banner">
|
||
<div class="hero-overlay" aria-hidden="true"></div>
|
||
|
||
<div class="hero-content">
|
||
<!-- Text column -->
|
||
<div>
|
||
<span class="hero-pill" data-i18n="hero-pill"
|
||
>Unified NGO ERP Platform</span
|
||
>
|
||
|
||
<h1 class="hero-headline" data-i18n="hero-headline">
|
||
Nonprofit ERP Built for Impact
|
||
</h1>
|
||
|
||
<p
|
||
class="hero-subheadline"
|
||
data-i18n="hero-subheadline"
|
||
>
|
||
Centralize programs, automate donor reporting and fundraising with nonprofit software and donor management software tailored to NGOs.
|
||
</p>
|
||
|
||
<div class="hero-ctas">
|
||
<a
|
||
href="#trial"
|
||
class="btn-terra plausible-event-name=Trial"
|
||
data-i18n="cta-trial"
|
||
>Start Free Trial</a
|
||
>
|
||
<a
|
||
href="https://calendar.google.com/calendar/u/0/appointments/schedules/AcZssZ3DDbaiHFlhNhWySszAQoPXE_H73QLqYT3w7H9IYWC76RA_TgNIhLESjb4N7ep_D2D_OyW9q4-c"
|
||
target="_blank"
|
||
rel="noopener"
|
||
class="btn-outline-white plausible-event-name=meeting"
|
||
data-i18n="cta-meeting"
|
||
>Book a Demo</a
|
||
>
|
||
</div>
|
||
|
||
<div class="hero-stats">
|
||
<div>
|
||
<p class="hero-stat__num">38%</p>
|
||
<p
|
||
class="hero-stat__label"
|
||
data-i18n="hero-stat1"
|
||
>
|
||
Faster donor & grant reporting cycles
|
||
</p>
|
||
</div>
|
||
<div>
|
||
<p class="hero-stat__num">2x</p>
|
||
<p
|
||
class="hero-stat__label"
|
||
data-i18n="hero-stat2"
|
||
>
|
||
Increase in volunteer onboarding speed
|
||
</p>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- KPI Card column -->
|
||
<div class="hero-card-col" aria-hidden="true">
|
||
<div class="hero-kpi-card">
|
||
<p
|
||
class="hero-kpi-card__badge"
|
||
data-i18n="hero-card-title"
|
||
>
|
||
🎁 Free NGO Signup Bonus
|
||
</p>
|
||
<p
|
||
class="hero-kpi-card__title"
|
||
data-i18n="hero-card-headline"
|
||
>
|
||
Automation Bundle — 1 Year
|
||
</p>
|
||
<p
|
||
class="hero-kpi-card__body"
|
||
data-i18n="hero-card-body"
|
||
>
|
||
Free with every trial signup
|
||
</p>
|
||
<ul class="bundle-list">
|
||
<li>
|
||
<span
|
||
class="bundle-check"
|
||
aria-hidden="true"
|
||
>✓</span
|
||
><span data-i18n="bundle-item1"
|
||
>Donor Management ODOO App — free</span
|
||
>
|
||
</li>
|
||
<li>
|
||
<span
|
||
class="bundle-check"
|
||
aria-hidden="true"
|
||
>✓</span
|
||
><span data-i18n="bundle-item2"
|
||
>ODOO CE: unlimited users · Website
|
||
Builder · Projects · Accounting</span
|
||
>
|
||
</li>
|
||
<li>
|
||
<span
|
||
class="bundle-check"
|
||
aria-hidden="true"
|
||
>✓</span
|
||
><span data-i18n="bundle-item4"
|
||
>Backups & routing for one
|
||
domain*</span
|
||
>
|
||
</li>
|
||
<li>
|
||
<span
|
||
class="bundle-check"
|
||
aria-hidden="true"
|
||
>✓</span
|
||
><span data-i18n="bundle-item5"
|
||
>One hour onboarding session</span
|
||
>
|
||
</li>
|
||
<li>
|
||
<span
|
||
class="bundle-check"
|
||
aria-hidden="true"
|
||
>✓</span
|
||
><span data-i18n="bundle-item6"
|
||
>50% discount — first year incl.</span
|
||
>
|
||
</li>
|
||
</ul>
|
||
<p class="bundle-footnote">
|
||
<span data-i18n="bundle-footnote-text"
|
||
>*Domain not included</span
|
||
>
|
||
</p>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</header>
|
||
|
||
<!-- ═══════════════════════════════════════════════════════════
|
||
VALUE PROPS — 3 warm cards with left-border accent
|
||
════════════════════════════════════════════════════════════ -->
|
||
<section class="values-section" aria-label="Key capabilities">
|
||
<article class="value-card">
|
||
<div class="value-icon" aria-hidden="true">🤝</div>
|
||
<h2 data-i18n="value1-title">Donor Transparency with Nonprofit ERP</h2>
|
||
<p data-i18n="value1-body">
|
||
Nonprofit ERP templates and dashboards speed donor reporting, reduce admin tasks, and improve donor transparency; Odoo for nonprofits streamlines impact updates and audit-ready records.
|
||
</p>
|
||
|
||
</article>
|
||
|
||
<article class="value-card">
|
||
<div class="value-icon" aria-hidden="true">💌</div>
|
||
<h2 data-i18n="value2-title">
|
||
Donor Management & Communications
|
||
</h2>
|
||
<p data-i18n="value2-body">
|
||
Donor management software automates receipts, enables segmented donor communications, and generates impact reports to improve donor retention and support personalized stewardship workflows.
|
||
</p>
|
||
|
||
</article>
|
||
|
||
<article class="value-card">
|
||
<div class="value-icon" aria-hidden="true">🌍</div>
|
||
<h2 data-i18n="value3-title">Fundraising Software & CRM for Nonprofits</h2>
|
||
<p data-i18n="value3-body">
|
||
A crm for nonprofits centralizes contacts, grants, and volunteer workflows, enabling scalable international fundraising and program delivery with clear reporting and donor visibility.
|
||
</p>
|
||
|
||
</article>
|
||
</section>
|
||
|
||
<!-- ═══════════════════════════════════════════════════════════
|
||
IMPACT IN NUMBERS STRIP
|
||
════════════════════════════════════════════════════════════ -->
|
||
<section class="impact-strip" aria-label="Impact in numbers">
|
||
<div class="impact-strip__inner">
|
||
<div class="impact-item">
|
||
<p class="impact-num">55%</p>
|
||
<p class="impact-label">NGOs estimated do not use ERP</p>
|
||
</div>
|
||
|
||
<div class="impact-item">
|
||
<p class="impact-num">32%</p>
|
||
<p class="impact-label">Estimated Admin time reduction</p>
|
||
</div>
|
||
|
||
<div class="impact-item">
|
||
<p class="impact-num">4 weeks</p>
|
||
<p class="impact-label">Average launch time</p>
|
||
</div>
|
||
|
||
<div class="impact-item">
|
||
<p class="impact-num">6</p>
|
||
<p class="impact-label">Continents covered</p>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
|
||
<!-- ═══════════════════════════════════════════════════════════
|
||
BLOG — warm beige background, terracotta top-border cards
|
||
════════════════════════════════════════════════════════════ -->
|
||
<section
|
||
id="blog"
|
||
class="blog-section"
|
||
aria-labelledby="blog-section-title"
|
||
>
|
||
<div class="blog-inner">
|
||
<div class="blog-header">
|
||
<div>
|
||
<p class="section-tagline" data-i18n="blog-tagline">
|
||
Insights for NGO leaders
|
||
</p>
|
||
<h2
|
||
id="blog-section-title"
|
||
class="section-title"
|
||
data-i18n="blog-title"
|
||
>
|
||
Blog & resource hub
|
||
</h2>
|
||
<p class="section-subtitle" data-i18n="blog-subtitle">
|
||
Get your impulses with our entertaining playbooks.
|
||
</p>
|
||
</div>
|
||
<button id="blog-toggle" type="button">
|
||
Browse all articles →
|
||
</button>
|
||
</div>
|
||
|
||
<div id="blog-grid" role="list"></div>
|
||
<p id="blog-error" class="hidden"></p>
|
||
</div>
|
||
</section>
|
||
|
||
<!-- ═══════════════════════════════════════════════════════════
|
||
TRIAL — deep forest green background
|
||
════════════════════════════════════════════════════════════ -->
|
||
<section
|
||
id="trial"
|
||
class="trial-section"
|
||
aria-labelledby="trial-section-title"
|
||
>
|
||
<div class="trial-inner">
|
||
<!-- Left: copy + bullets -->
|
||
<div>
|
||
<p class="trial-tagline" data-i18n="trial-tagline">
|
||
Launch your NGO ERP sandbox in under 5 minutes
|
||
</p>
|
||
<h2
|
||
id="trial-section-title"
|
||
class="trial-heading"
|
||
data-i18n="trial-heading"
|
||
>
|
||
Start your free trial
|
||
</h2>
|
||
<p class="trial-body-text" data-i18n="trial-body">
|
||
Try localized NGO templates, donor CRM, and automation recipes—no credit card required. Select your focus area, invite teammates, and begin testing immediately.
|
||
</p>
|
||
<ul class="trial-bullets">
|
||
<li class="trial-bullet">
|
||
<span class="trial-bullet__icon" aria-hidden="true"
|
||
>✓</span
|
||
>
|
||
<span data-i18n="trial-bullet1">Pre-loaded NGO chart of accounts and grant tracking</span>
|
||
</li>
|
||
<li class="trial-bullet">
|
||
<span class="trial-bullet__icon" aria-hidden="true"
|
||
>✓</span
|
||
>
|
||
<span data-i18n="trial-bullet2">Automated donor receipts and impact dashboards</span>
|
||
</li>
|
||
<li class="trial-bullet">
|
||
<span class="trial-bullet__icon" aria-hidden="true"
|
||
>✓</span
|
||
>
|
||
<span data-i18n="trial-bullet3">Guided go-live checklist to launch within 30 days</span>
|
||
</li>
|
||
</ul>
|
||
</div>
|
||
|
||
<!-- Right: form wrapper -->
|
||
<div id="trial-form-wrapper">
|
||
<form id="trial-form" novalidate>
|
||
<!-- Product selector -->
|
||
<fieldset class="form-fieldset">
|
||
<legend
|
||
class="form-legend"
|
||
data-i18n="trial-label-product"
|
||
>
|
||
Product
|
||
</legend>
|
||
<div class="form-radio-group">
|
||
<label class="form-radio-label">
|
||
<input
|
||
type="radio"
|
||
name="product"
|
||
value="odoo_19"
|
||
checked
|
||
/>
|
||
<span>ODOO</span>
|
||
</label>
|
||
</div>
|
||
</fieldset>
|
||
|
||
<!-- Server region -->
|
||
<label class="form-label">
|
||
<span data-i18n="trial-label-location"
|
||
>Server region</span
|
||
>
|
||
<select
|
||
name="location"
|
||
required
|
||
class="form-select"
|
||
>
|
||
<option
|
||
value=""
|
||
disabled
|
||
selected
|
||
data-i18n-option="trial-location-placeholder"
|
||
>
|
||
Select a region
|
||
</option>
|
||
<option value="manchester">
|
||
🇬🇧 UK, Manchester
|
||
</option>
|
||
<option value="boston">
|
||
🇺🇸 US, Boston
|
||
</option>
|
||
<option value="mumbai">
|
||
🇮🇳 IN, Mumbai
|
||
</option>
|
||
<option value="saopaulo">
|
||
🇧🇷 BR, São Paulo
|
||
</option>
|
||
<option value="Meppel">
|
||
🇳🇱 NL, Meppel
|
||
</option>
|
||
<option value="sydney">
|
||
🇦🇺 AU, Sydney
|
||
</option>
|
||
</select>
|
||
</label>
|
||
|
||
<!-- Email -->
|
||
<label class="form-label">
|
||
<span data-i18n="trial-label-email"
|
||
>Work email</span
|
||
>
|
||
<input
|
||
type="email"
|
||
name="email"
|
||
required
|
||
class="form-input"
|
||
placeholder="impact@yourngo.org"
|
||
data-i18n-placeholder="trial-placeholder-email"
|
||
/>
|
||
</label>
|
||
|
||
<input
|
||
type="hidden"
|
||
id="trial-affiliate"
|
||
name="affiliate_code"
|
||
value="NGO"
|
||
/>
|
||
|
||
<p class="form-microcopy" data-i18n="trial-microcopy">
|
||
No credit card required. EU hosting &
|
||
GDPR-ready.
|
||
</p>
|
||
|
||
<button
|
||
type="submit"
|
||
class="form-submit plausible-event-name=Trial"
|
||
data-i18n="cta-trial"
|
||
>
|
||
Sign Up for Free Trial
|
||
</button>
|
||
|
||
<p class="form-help" data-i18n="trial-help">
|
||
Need help? Use the Schedule a Meeting button in the
|
||
header to book a guided call.
|
||
</p>
|
||
</form>
|
||
|
||
<!-- Success state -->
|
||
<div id="trial-status" class="hidden">
|
||
<p class="trial-status__icon" aria-hidden="true">✓</p>
|
||
<p id="trial-status-msg"></p>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
|
||
<!-- ═══════════════════════════════════════════════════════════
|
||
MEETING — warm community photo background
|
||
════════════════════════════════════════════════════════════ -->
|
||
<section
|
||
id="meeting"
|
||
class="meeting-section"
|
||
aria-labelledby="meeting-section-title"
|
||
>
|
||
<div class="meeting-overlay" aria-hidden="true"></div>
|
||
|
||
<div class="meeting-inner">
|
||
<!-- Left: copy + bullets -->
|
||
<div>
|
||
<p class="meeting-tagline" data-i18n="meeting-tagline">
|
||
Book a 30-minute walkthrough
|
||
</p>
|
||
<h2
|
||
id="meeting-section-title"
|
||
class="meeting-heading"
|
||
data-i18n="meeting-heading"
|
||
>
|
||
See how your NGO can streamline operations, save time, and reduce errors
|
||
</h2>
|
||
<p class="meeting-body-text" data-i18n="meeting-body">
|
||
A 30-minute live session tailored to your mission—covering localization, integrations, and governance. You’ll leave with a practical rollout roadmap.
|
||
</p>
|
||
<ul class="meeting-bullets">
|
||
<li class="meeting-bullet">
|
||
<span class="meeting-bullet__dot" aria-hidden="true"
|
||
>●</span
|
||
>
|
||
<span data-i18n="meeting-bullet1"
|
||
>Baseline automation scoring</span
|
||
>
|
||
</li>
|
||
<li class="meeting-bullet">
|
||
<span class="meeting-bullet__dot" aria-hidden="true"
|
||
>●</span
|
||
>
|
||
<span data-i18n="meeting-bullet2">Tech-stack alignment and data migration approach</span>
|
||
</li>
|
||
<li class="meeting-bullet">
|
||
<span class="meeting-bullet__dot" aria-hidden="true"
|
||
>●</span
|
||
>
|
||
<span data-i18n="meeting-bullet3"
|
||
>Budget templates & total cost
|
||
forecast</span
|
||
>
|
||
</li>
|
||
</ul>
|
||
</div>
|
||
|
||
<!-- Right: info card -->
|
||
<div>
|
||
<div class="meeting-card">
|
||
<p class="meeting-card__label" data-i18n="meeting-note-title">Schedule a meeting</p>
|
||
<p class="meeting-card__title" data-i18n="meeting-note-body">Book a free 30-minute meeting to discuss your NGO’s priorities and implementation needs.</p>
|
||
<p class="meeting-card__hint" data-i18n="meeting-note-hint">Use the "Schedule a Meeting" button in the header and tell us during booking which question we should prepare for. <a href="https://calendar.google.com/calendar/u/0/appointments/schedules/AcZssZ3DDbaiHFlhNhWySszAQoPXE_H73QLqYT3w7H9IYWC76RA_TgNIhLESjb4N7ep_D2D_OyW9q4-c" target="_blank" rel="noopener">Open our calendar</a></p>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
|
||
<!-- ═══════════════════════════════════════════════════════════
|
||
FOOTER
|
||
════════════════════════════════════════════════════════════ -->
|
||
<footer class="site-footer">
|
||
<div class="footer-inner">
|
||
<p class="footer-copy">
|
||
© <span id="year"></span> ODOO4projects<br />
|
||
<span data-i18n="footer-note"
|
||
>Hosting for the AI generation</span
|
||
>
|
||
</p>
|
||
|
||
<div class="footer-feedback">
|
||
<form
|
||
id="footer-feedback-form"
|
||
class="footer-feedback__form"
|
||
novalidate
|
||
>
|
||
<textarea
|
||
id="footer-feedback-text"
|
||
class="footer-feedback__area"
|
||
maxlength="1000"
|
||
placeholder="Missing something, or have feedback? Drop us a note — we read every one."
|
||
data-i18n-placeholder="feedback-placeholder"
|
||
></textarea>
|
||
<button
|
||
type="submit"
|
||
class="footer-feedback__btn"
|
||
aria-label="Send feedback"
|
||
>
|
||
<svg
|
||
xmlns="http://www.w3.org/2000/svg"
|
||
width="22"
|
||
height="22"
|
||
viewBox="0 0 24 24"
|
||
fill="currentColor"
|
||
aria-hidden="true"
|
||
>
|
||
<path
|
||
d="M2.01 21L23 12 2.01 3 2 10l15 2-15 2z"
|
||
/>
|
||
</svg>
|
||
</button>
|
||
</form>
|
||
<p
|
||
id="footer-feedback-msg"
|
||
class="footer-feedback__msg"
|
||
></p>
|
||
</div>
|
||
|
||
<nav class="footer-links" aria-label="Footer links">
|
||
<a
|
||
href="https://odoo4projects.com/support"
|
||
data-i18n="footer-support"
|
||
>Support</a
|
||
>
|
||
<a
|
||
href="https://odoo4projects.com/legal"
|
||
data-i18n="footer-legal"
|
||
>Legal</a
|
||
>
|
||
<a
|
||
href="https://odoo4projects.com/contactus"
|
||
data-i18n="footer-contact"
|
||
>Contact</a
|
||
>
|
||
</nav>
|
||
</div>
|
||
</footer>
|
||
|
||
<!-- ═══════════════════════════════════════════════════════════
|
||
BLOG POST MODAL
|
||
════════════════════════════════════════════════════════════ -->
|
||
<div
|
||
id="blog-modal"
|
||
role="dialog"
|
||
aria-modal="true"
|
||
aria-labelledby="blog-modal-title"
|
||
style="display: none"
|
||
>
|
||
<div id="blog-modal-backdrop"></div>
|
||
|
||
<article id="blog-modal-box">
|
||
<div class="modal-header">
|
||
<div class="modal-header__text">
|
||
<p id="blog-modal-area"></p>
|
||
<h2 id="blog-modal-title"></h2>
|
||
</div>
|
||
<button
|
||
id="blog-modal-close-x"
|
||
type="button"
|
||
aria-label="Close"
|
||
>
|
||
✕
|
||
</button>
|
||
</div>
|
||
|
||
<div class="modal-body">
|
||
<time id="blog-modal-date"></time>
|
||
<div id="blog-modal-content"></div>
|
||
</div>
|
||
|
||
<div class="modal-footer">
|
||
<button id="blog-modal-close-bottom" type="button">
|
||
Close
|
||
</button>
|
||
</div>
|
||
</article>
|
||
</div>
|
||
|
||
<!-- ═══════════════════════════════════════════════════════════
|
||
SCRIPT — verbatim copy
|
||
════════════════════════════════════════════════════════════ -->
|
||
<script>
|
||
const translations = {
|
||
en: {
|
||
"nav-resources": "Resources",
|
||
"nav-trial": "Free Trial",
|
||
"hero-badge": "ERP & Automation for NGOs — ODOO4projects",
|
||
"hero-pill": "Unified NGO ERP Platform",
|
||
"hero-headline":
|
||
"Nonprofit ERP Built for Impact",
|
||
"hero-subheadline":
|
||
"Centralize programs, automate donor reporting and fundraising with nonprofit software and donor management software tailored to NGOs.",
|
||
"cta-trial": "Start Free Trial",
|
||
"cta-meeting": "Book a Demo",
|
||
"hero-stat1": "Faster donor & grant reporting cycles",
|
||
"hero-stat2": "Increase in volunteer onboarding speed",
|
||
"hero-card-title": "🎁 Signup Bundle for NGOs",
|
||
"hero-card-headline": "Free with every trial signup",
|
||
"hero-card-body": "Free with every trial signup",
|
||
"value1-title": "Donor Transparency with Nonprofit ERP",
|
||
"value1-body":
|
||
"Nonprofit ERP templates and dashboards speed donor reporting, reduce admin tasks, and improve donor transparency; Odoo for nonprofits streamlines impact updates and audit-ready records.",
|
||
"value1-cta": "View Donor Reporting Templates",
|
||
"value2-title": "Donor Management & Communications",
|
||
"value2-body":
|
||
"Donor management software automates receipts, enables segmented donor communications, and generates impact reports to improve donor retention and support personalized stewardship workflows.",
|
||
"value2-cta": "Explore Donor Management Features",
|
||
"value3-title": "Fundraising Software & CRM for Nonprofits",
|
||
"value3-body":
|
||
"A crm for nonprofits centralizes contacts, grants, and volunteer workflows, enabling scalable international fundraising and program delivery with clear reporting and donor visibility.",
|
||
"value3-cta": "Learn About Fundraising and CRM",
|
||
"blog-tagline": "Insights for NGO leaders",
|
||
"blog-title": "Blog & resource hub",
|
||
"blog-subtitle":
|
||
"Get your impulses with our entertaining playbooks.",
|
||
"blog-link": "Browse all articles →",
|
||
"blog-all-open": "Show fewer articles",
|
||
"blog-read-more": "Read more",
|
||
"blog-show-less": "Show less",
|
||
"blog-error": "Unable to load articles right now.",
|
||
"trial-tagline": "Sign up free trial",
|
||
"trial-heading":
|
||
"Launch your NGO ERP sandbox in under 5 minutes",
|
||
"trial-body":
|
||
"Experience localized NGO templates, donor CRM, and automation recipes. No credit card required—just choose your focus area and invite teammates.",
|
||
"trial-bullet1":
|
||
"Pre-loaded NGO chart of accounts & grant tracking",
|
||
"trial-bullet2":
|
||
"Automated donor receipts + impact dashboards",
|
||
"trial-bullet3":
|
||
"Guided checklists for go-live within 30 days",
|
||
"trial-label-email": "Work email",
|
||
"trial-placeholder-email": "impact@yourngo.org",
|
||
"trial-label-product": "Product",
|
||
"trial-label-location": "Server region",
|
||
"trial-location-placeholder": "Select a region",
|
||
"modal-close": "Close",
|
||
"trial-microcopy":
|
||
"No credit card required. EU hosting & GDPR-ready.",
|
||
"trial-help":
|
||
"Need help? Use the Schedule a Meeting button in the header to book a guided call.",
|
||
"meeting-tagline": "Have a meeting",
|
||
"meeting-heading":
|
||
"See how your NGO can streamline operations, save time, and reduce errors",
|
||
"meeting-body":
|
||
"A 30-minute live walkthrough tailored to your mission, covering localization, integrations, and governance. Walk away with a rollout roadmap.",
|
||
"meeting-bullet1": "Baseline automation scoring",
|
||
"meeting-bullet2":
|
||
"Tech stack alignment & data migration plan",
|
||
"meeting-bullet3": "Budget templates & total cost forecast",
|
||
"meeting-note-title": "Schedule a Meeting",
|
||
"meeting-note-body":
|
||
"We offer 30-minute free meetings to get to know your NGO and how we can assist.",
|
||
"meeting-note-hint":
|
||
"Use the Schedule a Meeting button in the header and tell us during booking which question we should prepare for.",
|
||
"meeting-note-cta": "Open our calendar",
|
||
"feedback-placeholder":
|
||
"Missing something, or have feedback? Drop us a note — we read every one.",
|
||
"bundle-item1": "Donor Management ODOO App — free",
|
||
"bundle-item2":
|
||
"ODOO CE: unlimited users · Website Builder · Projects · Accounting",
|
||
"bundle-item3": "N8N for customized Workflows & AI",
|
||
"bundle-item4": "Backups & routing for one domain*",
|
||
"bundle-item5": "One hour onboarding session",
|
||
"bundle-item6": "50% discount — first year incl.",
|
||
"bundle-footnote-text": "*Domain not included",
|
||
"footer-note": "Hosting for the AI generation",
|
||
"footer-support": "Support",
|
||
"footer-legal": "Legal",
|
||
"footer-contact": "Contact",
|
||
},
|
||
es: {
|
||
"nav-resources": "Recursos",
|
||
"nav-trial": "Prueba gratuita",
|
||
"hero-badge":
|
||
"ERP y Automatización para ONGs — ODOO4projects",
|
||
"hero-pill": "Plataforma ERP unificada para ONGs",
|
||
"hero-headline":
|
||
"Simplifica cada misión con un ERP diseñado para ONGs",
|
||
"hero-subheadline":
|
||
"Centraliza programas, automatiza reportes de donantes y subvenciones y ofrece a cada sede la misma fuente de verdad. Implementa en semanas con plantillas creadas para equipos humanitarios.",
|
||
"cta-trial": "Crear prueba gratuita",
|
||
"cta-meeting": "Agendar una reunión",
|
||
"hero-stat1":
|
||
"Ciclos más rápidos de reportes a donantes y subvenciones",
|
||
"hero-stat2":
|
||
"Mayor velocidad en la incorporación de voluntarios",
|
||
"hero-card-title": "🎁 Paquete de bienvenida para ONGs",
|
||
"hero-card-headline": "Gratis con cada registro de prueba",
|
||
"hero-card-body": "Gratis con cada registro de prueba",
|
||
"value1-title": "Transparencia de Donantes con ERP para ONGs",
|
||
"value1-body":
|
||
"Las plantillas y paneles del ERP para ONGs aceleran los informes de donantes, reducen tareas administrativas y mejoran la transparencia; Odoo para ONGs facilita actualizaciones de impacto y registros listos para auditoría.",
|
||
"value1-cta": "Ver plantillas de informes",
|
||
"value2-title": "Gestión y comunicación con donantes",
|
||
"value2-body":
|
||
"El software de gestión de donantes automatiza recibos, permite comunicaciones segmentadas con donantes y genera informes de impacto para mejorar la retención y personalizar el acompañamiento.",
|
||
"value2-cta": "Explorar funciones para donantes",
|
||
"value3-title": "Software de Recaudación y CRM para ONGs",
|
||
"value3-body":
|
||
"Un CRM para ONGs centraliza contactos, subvenciones y flujos de voluntariado, permitiendo la recaudación internacional escalable y la ejecución de programas con informes claros.",
|
||
"value3-cta": "Más sobre recaudación y CRM",
|
||
"blog-tagline": "Ideas para líderes de ONG",
|
||
"blog-title": "Blog y centro de recursos",
|
||
"blog-subtitle":
|
||
"Recibe impulsos con nuestros playbooks entretenidos.",
|
||
"blog-link": "Ver todos los artículos →",
|
||
"blog-all-open": "Mostrar menos artículos",
|
||
"blog-read-more": "Leer más",
|
||
"blog-show-less": "Mostrar menos",
|
||
"blog-error":
|
||
"No pudimos cargar los artículos en este momento.",
|
||
"trial-tagline": "Activa tu prueba",
|
||
"trial-heading":
|
||
"Lanza tu sandbox ERP para ONG en menos de 5 minutos",
|
||
"trial-body":
|
||
"Explora plantillas localizadas, CRM de donantes y recetas de automatización. Sin tarjeta; solo elige tu prioridad e invita al equipo.",
|
||
"trial-bullet1":
|
||
"Plan contable para ONG y seguimiento de subvenciones precargado",
|
||
"trial-bullet2":
|
||
"Recibos automáticos más tableros de impacto",
|
||
"trial-bullet3":
|
||
"Checklists guiados para salir a producción en 30 días",
|
||
"trial-label-email": "Correo laboral",
|
||
"trial-placeholder-email": "impacto@tuong.org",
|
||
"trial-label-product": "Producto",
|
||
"trial-label-location": "Región de servidor",
|
||
"trial-location-placeholder": "Selecciona una región",
|
||
"modal-close": "Cerrar",
|
||
"trial-microcopy":
|
||
"Sin tarjeta. Hosting en la UE y cumplimiento GDPR.",
|
||
"trial-help":
|
||
'¿Dudas? Usa el botón "Agendar una reunión" en el encabezado para reservar una llamada guiada.',
|
||
"meeting-tagline": "Agenda una reunión",
|
||
"meeting-heading":
|
||
"Descubre cómo optimizar operaciones, ahorrar tiempo y reducir errores",
|
||
"meeting-body":
|
||
"Sesión de 30 minutos adaptada a tu misión, con localización, integraciones y gobernanza. Sal con un plan de implementación.",
|
||
"meeting-bullet1": "Diagnóstico de automatización",
|
||
"meeting-bullet2":
|
||
"Plan de migración y alineación tecnológica",
|
||
"meeting-bullet3":
|
||
"Plantillas presupuestarias y previsión de costes",
|
||
"meeting-note-title": "Agendar una reunión",
|
||
"meeting-note-body":
|
||
"Ofrecemos reuniones gratuitas de 30 minutos para conocer tu ONG y cómo podemos ayudarte.",
|
||
"meeting-note-hint":
|
||
'Usa el botón "Agendar una reunión" del encabezado y cuéntanos durante la reserva qué pregunta debemos preparar.',
|
||
"meeting-note-cta": "Abrir nuestro calendario",
|
||
"feedback-placeholder":
|
||
"¿Falta algo o tienes comentarios? Déjanos una nota — leemos todos los mensajes.",
|
||
"bundle-item1": "App ODOO de gestión de donantes — gratis",
|
||
"bundle-item2":
|
||
"ODOO CE: usuarios ilimitados · Constructor web · Proyectos · Contabilidad",
|
||
"bundle-item3":
|
||
"N8N para flujos de trabajo y IA personalizados",
|
||
"bundle-item4":
|
||
"Copias de seguridad y enrutamiento para un dominio*",
|
||
"bundle-item5": "Sesión de incorporación de una hora",
|
||
"bundle-item6": "50 % de descuento — primer año incluido",
|
||
"bundle-footnote-text": "*Dominio no incluido",
|
||
"footer-note": "Hosting para la generación IA",
|
||
"footer-support": "Soporte",
|
||
"footer-legal": "Legal",
|
||
"footer-contact": "Contacto",
|
||
},
|
||
de: {
|
||
"nav-resources": "Ressourcen",
|
||
"nav-trial": "Kostenlose Testphase",
|
||
"hero-badge":
|
||
"ERP & Automatisierung für NGOs — ODOO4projects",
|
||
"hero-pill": "Vereintes NGO-ERP",
|
||
"hero-headline":
|
||
"Vereinfache jeden Einsatz mit einem ERP für NGOs",
|
||
"hero-subheadline":
|
||
"Bündele Programme, automatisiere Spender- und Förderberichte und gib allen Standorten dieselbe Datenbasis. Starte in wenigen Wochen mit maßgeschneiderten Templates.",
|
||
"cta-trial": "Kostenlose Testphase starten",
|
||
"cta-meeting": "Meeting planen",
|
||
"hero-stat1": "Schnellere Förder- & Spenderberichte",
|
||
"hero-stat2":
|
||
"Doppelt so schnelle Ehrenamtlichen-Onboardings",
|
||
"hero-card-title": "🎁 Anmelde-Paket für NGOs",
|
||
"hero-card-headline": "Kostenlos bei jeder Testanmeldung",
|
||
"hero-card-body": "Kostenlos bei jeder Testanmeldung",
|
||
"value1-title": "Spendertransparenz mit Nonprofit‑ERP",
|
||
"value1-body":
|
||
"ERP‑Vorlagen und Dashboards beschleunigen Spenderberichte, verringern Verwaltungstätigkeiten und erhöhen die Spendertransparenz; Odoo für Nonprofits erleichtert Impact‑Updates und prüfungsfähige Aufzeichnungen.",
|
||
"value1-cta": "Spenderbericht‑Vorlagen ansehen",
|
||
"value2-title": "Spenderverwaltung & Kommunikation",
|
||
"value2-body":
|
||
"Spenderverwaltungs‑Software automatisiert Quittungen, segmentierte Spenderkommunikation und Impact‑Reports, verbessert die Spenderbindung und unterstützt personalisierte Betreuungsabläufe.",
|
||
"value2-cta": "Spenderverwaltung und Kommunikation entdecken",
|
||
"value3-title": "Fundraising‑Software & CRM für NGOs",
|
||
"value3-body":
|
||
"Ein CRM für NGOs zentralisiert Kontakte, Fördermittel und Freiwilligenabläufe und ermöglicht skalierbares internationales Fundraising sowie Programmdurchführung mit klaren Reports.",
|
||
"value3-cta": "Mehr zu Fundraising und CRM",
|
||
"blog-tagline": "Insights für NGO-Führungskräfte",
|
||
"blog-title": "Blog & Wissenshub",
|
||
"blog-subtitle":
|
||
"Hol dir Impulse mit unseren unterhaltsamen Playbooks.",
|
||
"blog-link": "Alle Artikel ansehen →",
|
||
"blog-all-open": "Weniger Artikel anzeigen",
|
||
"blog-read-more": "Mehr lesen",
|
||
"blog-show-less": "Weniger anzeigen",
|
||
"blog-error":
|
||
"Artikel konnten gerade nicht geladen werden.",
|
||
"trial-tagline": "Kostenlos testen",
|
||
"trial-heading":
|
||
"Starte dein NGO-ERP-Sandbox in unter 5 Minuten",
|
||
"trial-body":
|
||
"Teste lokalisierte Templates, Donor-CRM und Automatisierungen. Keine Kreditkarte – wähle den Fokus und lade dein Team ein.",
|
||
"trial-bullet1":
|
||
"Vorkonfigurierter Kontenplan & Fördertracking",
|
||
"trial-bullet2":
|
||
"Automatische Spendenbelege & Impact-Dashboards",
|
||
"trial-bullet3":
|
||
"Geführte Checklisten für Go-Live in 30 Tagen",
|
||
"trial-label-email": "Arbeits-E-Mail",
|
||
"trial-placeholder-email": "impact@deinengo.org",
|
||
"trial-label-product": "Produkt",
|
||
"trial-label-location": "Serverstandort",
|
||
"trial-location-placeholder": "Region auswählen",
|
||
"modal-close": "Schließen",
|
||
"trial-microcopy":
|
||
"Keine Kreditkarte. EU-Hosting & DSGVO-konform.",
|
||
"trial-help":
|
||
'Brauchen Sie Hilfe? Nutzen Sie den Button „Meeting planen" im Header für einen geführten Call.',
|
||
"meeting-tagline": "Meeting vereinbaren",
|
||
"meeting-heading":
|
||
"Erleben Sie, wie Ihre NGO Zeit spart und Fehler reduziert",
|
||
"meeting-body":
|
||
"Ein 30-minütiger Walkthrough zu Lokalisierung, Integrationen und Governance – inklusive Rollout-Fahrplan.",
|
||
"meeting-bullet1": "Automation-Score als Ausgangspunkt",
|
||
"meeting-bullet2": "Technologie- & Migrationsplan",
|
||
"meeting-bullet3": "Budgetvorlagen & Kostenprognose",
|
||
"meeting-note-title": "Meeting buchen",
|
||
"meeting-note-body":
|
||
"Wir bieten kostenlose 30-Minuten-Meetings an, um Ihre NGO kennenzulernen und zu besprechen, wie wir helfen können.",
|
||
"meeting-note-hint":
|
||
'Verwenden Sie den Button „Meeting planen" im Header und nennen Sie bei der Buchung Ihre Frage, damit wir uns vorbereiten können.',
|
||
"meeting-note-cta": "Kalender öffnen",
|
||
"feedback-placeholder":
|
||
"Etwas fehlt oder Feedback? Schreiben Sie uns — wir lesen jede Nachricht.",
|
||
"bundle-item1": "Donor-Management-ODOO-App — kostenlos",
|
||
"bundle-item2":
|
||
"ODOO CE: unbegrenzte Nutzer · Website Builder · Projekte · Buchhaltung",
|
||
"bundle-item3": "N8N für individuelle Workflows & KI",
|
||
"bundle-item4": "Backups & Routing für eine Domain*",
|
||
"bundle-item5": "Einstündige Onboarding-Session",
|
||
"bundle-item6": "50 % Rabatt — erstes Jahr inklusive",
|
||
"bundle-footnote-text": "*Domain nicht enthalten",
|
||
"footer-note": "Hosting für die KI-Generation",
|
||
"footer-support": "Support",
|
||
"footer-legal": "Rechtliches",
|
||
"footer-contact": "Kontakt",
|
||
},
|
||
};
|
||
|
||
const BLOG_LIMIT = 3;
|
||
const blogGrid = document.getElementById("blog-grid");
|
||
const blogToggle = document.getElementById("blog-toggle");
|
||
const blogError = document.getElementById("blog-error");
|
||
let blogPosts = [];
|
||
let blogExpanded = false;
|
||
|
||
function loadBlogPosts(lang) {
|
||
if (!blogGrid) return;
|
||
blogPosts = [];
|
||
blogExpanded = false;
|
||
if (blogError) blogError.classList.add("hidden");
|
||
|
||
function onData(data) {
|
||
blogPosts = Array.isArray(data) ? data : [];
|
||
renderBlogCards();
|
||
}
|
||
|
||
function showError() {
|
||
if (blogError) {
|
||
blogError.classList.remove("hidden");
|
||
blogError.textContent = getTranslation(
|
||
document.documentElement.lang,
|
||
"blog-error",
|
||
"Unable to load articles right now.",
|
||
);
|
||
}
|
||
}
|
||
|
||
var file =
|
||
lang === "en" ? "blog.json" : "blog." + lang + ".json";
|
||
fetch(file)
|
||
.then(function (r) {
|
||
if (!r.ok) throw new Error(r.status);
|
||
return r.json();
|
||
})
|
||
.then(onData)
|
||
.catch(function () {
|
||
if (lang === "en") {
|
||
showError();
|
||
return;
|
||
}
|
||
fetch("blog.json")
|
||
.then(function (r) {
|
||
if (!r.ok) throw new Error(r.status);
|
||
return r.json();
|
||
})
|
||
.then(onData)
|
||
.catch(showError);
|
||
});
|
||
}
|
||
|
||
if (blogToggle) {
|
||
blogToggle.addEventListener("click", () => {
|
||
if (blogPosts.length <= BLOG_LIMIT) return;
|
||
blogExpanded = !blogExpanded;
|
||
renderBlogCards();
|
||
});
|
||
}
|
||
|
||
function getTranslation(locale, key, fallback) {
|
||
return (
|
||
(translations[locale] && translations[locale][key]) ??
|
||
translations.en[key] ??
|
||
fallback
|
||
);
|
||
}
|
||
|
||
function renderBlogCards() {
|
||
if (!blogGrid) {
|
||
return;
|
||
}
|
||
if (!blogPosts.length) {
|
||
blogGrid.innerHTML = "";
|
||
updateBlogToggleLabel();
|
||
return;
|
||
}
|
||
const limit = blogExpanded
|
||
? blogPosts.length
|
||
: Math.min(BLOG_LIMIT, blogPosts.length);
|
||
blogGrid.innerHTML = "";
|
||
blogPosts.slice(0, limit).forEach((post) => {
|
||
blogGrid.appendChild(createBlogCard(post));
|
||
});
|
||
updateBlogToggleLabel();
|
||
}
|
||
|
||
function createBlogCard(post) {
|
||
const card = document.createElement("article");
|
||
card.className = "blog-card";
|
||
const meta = document.createElement("div");
|
||
meta.className = "blog-card-meta";
|
||
const area = document.createElement("p");
|
||
area.className = "blog-card-area";
|
||
area.textContent = post.area || "";
|
||
const dateEl = document.createElement("time");
|
||
dateEl.className = "blog-card-date";
|
||
if (post.date) dateEl.dateTime = post.date;
|
||
dateEl.textContent = formatBlogDate(post.date);
|
||
meta.append(area, dateEl);
|
||
card.appendChild(meta);
|
||
const title = document.createElement("h3");
|
||
title.className = "blog-card-title";
|
||
title.textContent = post.title || "";
|
||
card.appendChild(title);
|
||
const teaser = document.createElement("div");
|
||
teaser.className = "blog-card-teaser";
|
||
teaser.innerHTML = post.teaser || "";
|
||
card.appendChild(teaser);
|
||
if (post.content) {
|
||
const btn = document.createElement("button");
|
||
btn.type = "button";
|
||
btn.className = "blog-card-btn";
|
||
btn.textContent = getTranslation(
|
||
document.documentElement.lang,
|
||
"blog-read-more",
|
||
"Read more",
|
||
);
|
||
btn.addEventListener("click", function () {
|
||
openBlogModal(post);
|
||
});
|
||
card.appendChild(btn);
|
||
}
|
||
return card;
|
||
}
|
||
|
||
function openBlogModal(post) {
|
||
var modal = document.getElementById("blog-modal");
|
||
var modalBox = document.getElementById("blog-modal-box");
|
||
var backdrop = document.getElementById("blog-modal-backdrop");
|
||
var locale = document.documentElement.lang || "en";
|
||
document.getElementById("blog-modal-area").textContent =
|
||
post.area || "";
|
||
var modalDateEl = document.getElementById("blog-modal-date");
|
||
modalDateEl.textContent = formatBlogDate(post.date);
|
||
if (post.date) modalDateEl.dateTime = post.date;
|
||
document.getElementById("blog-modal-title").textContent =
|
||
post.title || "";
|
||
document.getElementById("blog-modal-content").innerHTML =
|
||
post.content || post.teaser || "";
|
||
document.getElementById("blog-modal-close-bottom").textContent =
|
||
getTranslation(locale, "modal-close", "Close");
|
||
modalBox.classList.remove("modal-animate-box");
|
||
backdrop.classList.remove("modal-animate-backdrop");
|
||
modal.style.display = "flex";
|
||
document.body.style.overflow = "hidden";
|
||
requestAnimationFrame(function () {
|
||
modalBox.classList.add("modal-animate-box");
|
||
backdrop.classList.add("modal-animate-backdrop");
|
||
});
|
||
}
|
||
|
||
function closeBlogModal() {
|
||
var modal = document.getElementById("blog-modal");
|
||
modal.style.display = "none";
|
||
document.body.style.overflow = "";
|
||
document
|
||
.getElementById("blog-modal-box")
|
||
.classList.remove("modal-animate-box");
|
||
document
|
||
.getElementById("blog-modal-backdrop")
|
||
.classList.remove("modal-animate-backdrop");
|
||
}
|
||
|
||
function formatBlogDate(dateString) {
|
||
if (!dateString) return "";
|
||
try {
|
||
const locale = document.documentElement.lang || "en";
|
||
return new Intl.DateTimeFormat(locale, {
|
||
year: "numeric",
|
||
month: "short",
|
||
day: "numeric",
|
||
}).format(new Date(dateString));
|
||
} catch (error) {
|
||
return dateString;
|
||
}
|
||
}
|
||
|
||
function updateBlogToggleLabel() {
|
||
if (!blogToggle) return;
|
||
if (blogPosts.length <= BLOG_LIMIT) {
|
||
blogToggle.classList.add("hidden");
|
||
blogExpanded = false;
|
||
return;
|
||
}
|
||
blogToggle.classList.remove("hidden");
|
||
blogToggle.disabled = false;
|
||
const locale = document.documentElement.lang || "en";
|
||
blogToggle.textContent = blogExpanded
|
||
? getTranslation(
|
||
locale,
|
||
"blog-all-open",
|
||
"Show fewer articles",
|
||
)
|
||
: getTranslation(
|
||
locale,
|
||
"blog-link",
|
||
"Browse all articles →",
|
||
);
|
||
}
|
||
|
||
function setLanguage(lang) {
|
||
const locale = translations[lang] ? lang : "en";
|
||
document.documentElement.lang = locale;
|
||
document.querySelectorAll("[data-i18n]").forEach((el) => {
|
||
const key = el.dataset.i18n;
|
||
const value =
|
||
translations[locale][key] ?? translations.en[key] ?? "";
|
||
if (value !== undefined) el.innerHTML = value;
|
||
});
|
||
document
|
||
.querySelectorAll("[data-i18n-placeholder]")
|
||
.forEach((el) => {
|
||
const key = el.dataset.i18nPlaceholder;
|
||
const value =
|
||
translations[locale][key] ??
|
||
translations.en[key] ??
|
||
"";
|
||
if (value !== undefined)
|
||
el.setAttribute("placeholder", value);
|
||
});
|
||
document
|
||
.querySelectorAll("[data-i18n-option]")
|
||
.forEach((el) => {
|
||
const key = el.dataset.i18nOption;
|
||
const value =
|
||
translations[locale][key] ??
|
||
translations.en[key] ??
|
||
"";
|
||
if (value !== undefined) el.textContent = value;
|
||
});
|
||
document.querySelectorAll("[data-i18n-aria]").forEach((el) => {
|
||
const key = el.dataset.i18nAria;
|
||
const value =
|
||
translations[locale][key] ?? translations.en[key] ?? "";
|
||
if (value !== undefined)
|
||
el.setAttribute("aria-label", value);
|
||
});
|
||
loadBlogPosts(locale);
|
||
}
|
||
|
||
document
|
||
.getElementById("lang-selector")
|
||
.addEventListener("change", (event) => {
|
||
setLanguage(event.target.value);
|
||
});
|
||
setLanguage("en");
|
||
document.getElementById("year").textContent =
|
||
new Date().getFullYear();
|
||
|
||
var blogModal = document.getElementById("blog-modal");
|
||
if (blogModal) {
|
||
document
|
||
.getElementById("blog-modal-close-x")
|
||
.addEventListener("click", closeBlogModal);
|
||
document
|
||
.getElementById("blog-modal-close-bottom")
|
||
.addEventListener("click", closeBlogModal);
|
||
document
|
||
.getElementById("blog-modal-backdrop")
|
||
.addEventListener("click", closeBlogModal);
|
||
document.addEventListener("keydown", function (e) {
|
||
if (
|
||
e.key === "Escape" &&
|
||
blogModal.style.display !== "none"
|
||
)
|
||
closeBlogModal();
|
||
});
|
||
}
|
||
|
||
var affiliateCode =
|
||
new URLSearchParams(window.location.search).get("affiliate") ||
|
||
"NGO";
|
||
var trialAffiliateInput =
|
||
document.getElementById("trial-affiliate");
|
||
if (trialAffiliateInput) trialAffiliateInput.value = affiliateCode;
|
||
|
||
var trialForm = document.getElementById("trial-form");
|
||
var trialStatusEl = document.getElementById("trial-status");
|
||
var trialStatusMsg = document.getElementById("trial-status-msg");
|
||
|
||
if (trialForm) {
|
||
trialForm.addEventListener("submit", async function (e) {
|
||
e.preventDefault();
|
||
var btn = trialForm.querySelector('button[type="submit"]');
|
||
var origText = btn.textContent;
|
||
btn.disabled = true;
|
||
btn.textContent = "…";
|
||
try {
|
||
var res = await fetch(
|
||
"https://002-001-5dd6e535-4d1c-46bc-9bd9-42ad4bc5f082.odoo4projects.com/webhook/c25169c6-4234-4b47-8e74-612b9539da0a",
|
||
{ method: "POST", body: new FormData(trialForm) },
|
||
);
|
||
var text = await res.text();
|
||
trialForm.style.display = "none";
|
||
trialStatusEl.classList.remove("hidden");
|
||
trialStatusMsg.textContent = text;
|
||
} catch (err) {
|
||
btn.disabled = false;
|
||
btn.textContent = origText;
|
||
trialStatusEl.classList.remove("hidden");
|
||
trialStatusMsg.textContent =
|
||
"❌ Submission failed. Please try again.";
|
||
}
|
||
});
|
||
}
|
||
|
||
// Footer feedback
|
||
var footerFeedbackForm = document.getElementById(
|
||
"footer-feedback-form",
|
||
);
|
||
if (footerFeedbackForm) {
|
||
footerFeedbackForm.addEventListener(
|
||
"submit",
|
||
async function (e) {
|
||
e.preventDefault();
|
||
var textarea = document.getElementById(
|
||
"footer-feedback-text",
|
||
);
|
||
var msgEl = document.getElementById(
|
||
"footer-feedback-msg",
|
||
);
|
||
var btn = footerFeedbackForm.querySelector(
|
||
'button[type="submit"]',
|
||
);
|
||
var text = textarea.value.trim();
|
||
if (!text) return;
|
||
btn.disabled = true;
|
||
msgEl.textContent = "";
|
||
try {
|
||
var fd = new FormData();
|
||
fd.append("message", text);
|
||
fd.append("page", window.location.href);
|
||
try {
|
||
var geo = await fetch(
|
||
"https://ipapi.co/json/",
|
||
).then(function (r) {
|
||
return r.json();
|
||
});
|
||
fd.append("ip", geo.ip || "");
|
||
fd.append("city", geo.city || "");
|
||
fd.append("region", geo.region || "");
|
||
fd.append("country", geo.country_name || "");
|
||
fd.append("org", geo.org || "");
|
||
} catch (_) {}
|
||
await fetch(
|
||
"https://002-001-5dd6e535-4d1c-46bc-9bd9-42ad4bc5f082.odoo4projects.com/webhook/2fe3d1fe-eff9-45aa-8d0f-88738d443946",
|
||
{ method: "POST", body: fd },
|
||
);
|
||
textarea.value = "";
|
||
msgEl.textContent = "✓ Thanks — we got it!";
|
||
setTimeout(function () {
|
||
msgEl.textContent = "";
|
||
}, 5000);
|
||
} catch (err) {
|
||
msgEl.textContent =
|
||
"Could not send right now. Please try again.";
|
||
}
|
||
btn.disabled = false;
|
||
},
|
||
);
|
||
}
|
||
</script>
|
||
</body>
|
||
</html>
|