Free
Pricing
EstateFlow Pricing
A pricing block extracted from the EstateFlow template, available in Tailwind CSS, Bootstrap, DaisyUI, and Material Design.
0
21
A pricing block extracted from the EstateFlow template, available in Tailwind CSS, Bootstrap, DaisyUI, and Material Design.
<!DOCTYPE html>
<html lang="en">
<head>
<script>
window.FontAwesomeConfig = {
autoReplaceSvg: 'nest'
};
</script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/js/all.min.js" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>EstateFlow Pricing | Tailwind CSS UI Block</title>
<meta name="description" content="A pricing block extracted from the EstateFlow template, available in Tailwind CSS, Bootstrap, DaisyUI, and Material Design.">
<meta name="keywords" content="property management template, real estate SaaS template, Tailwind CSS dashboard, portfolio management website, tenant CRM, property analytics">
<meta name="author" content="Let's templates">
<meta name="theme-color" content="#2563eb">
<meta name="color-scheme" content="light">
<link rel="canonical" href="">
<meta property="og:type" content="product">
<meta property="og:site_name" content="Let's templates">
<meta property="og:locale" content="en_US">
<meta property="og:url" content="">
<meta property="og:title" content="EstateFlow | Tailwind CSS Property Management SaaS Template">
<meta property="og:description" content="A responsive property management template for real estate SaaS platforms, asset portfolios, tenant CRM, and analytics dashboards.">
<meta property="og:image" content="">
<meta property="og:image:alt" content="EstateFlow property and portfolio management template preview">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:url" content="">
<meta name="twitter:title" content="EstateFlow | Tailwind CSS Property Management SaaS Template">
<meta name="twitter:description" content="A responsive property management template for real estate SaaS platforms, asset portfolios, tenant CRM, and analytics dashboards.">
<meta name="twitter:image" content="">
<meta name="twitter:image:alt" content="EstateFlow property and portfolio management template preview">
<script src="https://cdn.tailwindcss.com"></script>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&family=Playfair+Display:ital,wght@0,400..900;1,400..900&display=swap" rel="stylesheet">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
<script src="https://cdn.plot.ly/plotly-3.1.1.min.js"></script>
<style>
body {
font-family: 'Plus Jakarta Sans', sans-serif;
scroll-behavior: smooth;
}
.font-serif-elegant {
font-family: 'Playfair Display', serif;
}
.hero-gradient {
background: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 100%);
}
.glass-card {
background: rgba(255, 255, 255, 0.7);
backdrop-filter: blur(12px);
border: 1px solid rgba(255, 255, 255, 0.3);
}
</style>
</head>
<body class="bg-[#f8fafc] text-[#1e293b] antialiased">
<!-- block:start pricing -->
<section id="pricing" class="py-32 bg-gray-50">
<div class="container max-w-7xl mx-auto px-6">
<div class="text-center mb-16">
<div class="text-blue-600 font-bold text-xs uppercase tracking-widest mb-4">Investment</div>
<h2 class="text-4xl font-serif-elegant font-bold tracking-tight mb-8">Choose Your Plan</h2>
<div class="flex items-center justify-center gap-4">
<span id="monthly-label" class="text-sm font-bold text-blue-600">Monthly</span>
<button
id="billing-toggle"
type="button"
class="w-12 h-6 bg-blue-600 rounded-full p-1 relative focus:outline-none focus-visible:ring-2 focus-visible:ring-blue-600 focus-visible:ring-offset-2"
role="switch"
aria-checked="false"
aria-labelledby="monthly-label yearly-label"
>
<span id="billing-toggle-thumb" class="block w-4 h-4 bg-white rounded-full transition-transform duration-200 translate-x-0"></span>
</button>
<span id="yearly-label" class="text-sm font-bold text-gray-400">Yearly <span class="text-green-500">(Save 20%)</span></span>
</div>
</div>
<div class="grid grid-cols-1 md:grid-cols-3 gap-8 max-w-6xl mx-auto">
<!-- Starter -->
<div class="bg-white p-10 rounded-[2rem] border border-gray-100 shadow-sm flex flex-col">
<div class="mb-10">
<h3 class="text-lg font-bold text-gray-400 mb-4">Starter Plan</h3>
<div class="text-4xl font-black mb-1">Free</div>
<p class="text-sm text-gray-500">Perfect for private owners.</p>
</div>
<ul class="space-y-4 mb-10 flex-grow">
<li class="flex items-center gap-3 text-sm font-medium"><i class="fa-solid fa-circle-check text-blue-600"></i> Up to 3 Properties</li>
<li class="flex items-center gap-3 text-sm font-medium"><i class="fa-solid fa-circle-check text-blue-600"></i> Basic Tenant CRM</li>
<li class="flex items-center gap-3 text-sm font-medium"><i class="fa-solid fa-circle-check text-blue-600"></i> Expense Logging</li>
<li class="flex items-center gap-3 text-sm font-medium text-gray-300"><i class="fa-solid fa-circle-xmark"></i> AI Insights</li>
</ul>
<button class="w-full py-4 rounded-full border-2 border-blue-600 text-blue-600 font-bold hover:bg-blue-50 transition-all">Get Started</button>
</div>
<!-- Professional -->
<div class="bg-white p-10 rounded-[2rem] border-2 border-blue-600 shadow-xl relative scale-105 z-10 flex flex-col">
<div class="absolute -top-4 left-1/2 -translate-x-1/2 bg-blue-600 text-white text-[10px] font-black uppercase tracking-widest px-4 py-1.5 rounded-full">Most Popular</div>
<div class="mb-10">
<h3 class="text-lg font-bold text-blue-600 mb-4">Professional</h3>
<div class="text-4xl font-black mb-1" aria-live="polite">
<span class="billing-price" data-monthly="$29" data-yearly="$278">$29</span><span class="billing-period text-sm text-gray-400 font-bold">/mo</span>
</div>
<p class="text-sm text-gray-500">For growing portfolios.</p>
</div>
<ul class="space-y-4 mb-10 flex-grow">
<li class="flex items-center gap-3 text-sm font-medium"><i class="fa-solid fa-circle-check text-blue-600"></i> Unlimited Properties</li>
<li class="flex items-center gap-3 text-sm font-medium"><i class="fa-solid fa-circle-check text-blue-600"></i> Advanced Analytics</li>
<li class="flex items-center gap-3 text-sm font-medium"><i class="fa-solid fa-circle-check text-blue-600"></i> Market Value AI</li>
<li class="flex items-center gap-3 text-sm font-medium"><i class="fa-solid fa-circle-check text-blue-600"></i> Priority Support</li>
</ul>
<button class="w-full py-4 rounded-full bg-blue-600 text-white font-bold hover:bg-blue-700 transition-all shadow-lg shadow-blue-200">Select Plan</button>
</div>
<!-- Enterprise -->
<div class="bg-white p-10 rounded-[2rem] border border-gray-100 shadow-sm flex flex-col">
<div class="mb-10">
<h3 class="text-lg font-bold text-gray-400 mb-4">Enterprise</h3>
<div class="text-4xl font-black mb-1" aria-live="polite">
<span class="billing-price" data-monthly="$49" data-yearly="$470">$49</span><span class="billing-period text-sm text-gray-400 font-bold">/mo</span>
</div>
<p class="text-sm text-gray-500">For large-scale management.</p>
</div>
<ul class="space-y-4 mb-10 flex-grow">
<li class="flex items-center gap-3 text-sm font-medium"><i class="fa-solid fa-circle-check text-blue-600"></i> Custom API Access</li>
<li class="flex items-center gap-3 text-sm font-medium"><i class="fa-solid fa-circle-check text-blue-600"></i> White-label Option</li>
<li class="flex items-center gap-3 text-sm font-medium"><i class="fa-solid fa-circle-check text-blue-600"></i> Dedicated Manager</li>
<li class="flex items-center gap-3 text-sm font-medium"><i class="fa-solid fa-circle-check text-blue-600"></i> Early Access Features</li>
</ul>
<button class="w-full py-4 rounded-full border-2 border-blue-600 text-blue-600 font-bold hover:bg-blue-50 transition-all">Talk to Sales</button>
</div>
</div>
</div>
</section>
<!-- block:end pricing -->
<script>
window.addEventListener('load', function() {
const billingToggle = document.getElementById('billing-toggle');
const billingToggleThumb = document.getElementById('billing-toggle-thumb');
const monthlyLabel = document.getElementById('monthly-label');
const yearlyLabel = document.getElementById('yearly-label');
billingToggle.addEventListener('click', function() {
const isYearly = billingToggle.getAttribute('aria-checked') !== 'true';
billingToggle.setAttribute('aria-checked', String(isYearly));
billingToggleThumb.classList.toggle('translate-x-6', isYearly);
billingToggleThumb.classList.toggle('translate-x-0', !isYearly);
monthlyLabel.classList.toggle('text-blue-600', !isYearly);
monthlyLabel.classList.toggle('text-gray-400', isYearly);
yearlyLabel.classList.toggle('text-blue-600', isYearly);
yearlyLabel.classList.toggle('text-gray-400', !isYearly);
document.querySelectorAll('.billing-price').forEach(function(price) {
price.textContent = isYearly ? price.dataset.yearly : price.dataset.monthly;
});
document.querySelectorAll('.billing-period').forEach(function(period) {
period.textContent = isYearly ? '/yr' : '/mo';
});
});
// Revenue Chart
try {
const revenueData = [
{
x: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun'],
y: [180, 210, 195, 240, 270, 310],
type: 'scatter',
mode: 'lines+markers',
name: 'Projected',
line: { color: '#3b82f6', width: 3, shape: 'spline' },
marker: { size: 8 }
},
{
x: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun'],
y: [165, 205, 200, 230, 260, 290],
type: 'scatter',
mode: 'lines+markers',
name: 'Actual',
line: { color: '#94a3b8', width: 2, dash: 'dot' }
}
];
const revenueLayout = {
margin: { t: 30, r: 20, b: 40, l: 40 },
paper_bgcolor: 'rgba(0,0,0,0)',
plot_bgcolor: 'rgba(0,0,0,0)',
showlegend: true,
legend: { orientation: 'h', y: -0.2 },
xaxis: { gridcolor: '#e2e8f0', zeroline: false },
yaxis: { gridcolor: '#e2e8f0', zeroline: false }
};
Plotly.newPlot('revenue-chart', revenueData, revenueLayout, {responsive: true, displayModeBar: false});
} catch(e) { console.error('Revenue chart error:', e); }
// Occupancy Chart
try {
const occupancyData = [{
values: [94.2, 5.8],
labels: ['Occupied', 'Vacant'],
type: 'pie',
hole: .7,
marker: {
colors: ['#3b82f6', 'rgba(255,255,255,0.1)']
},
textinfo: 'none'
}];
const occupancyLayout = {
margin: { t: 0, r: 0, b: 0, l: 0 },
paper_bgcolor: 'rgba(0,0,0,0)',
showlegend: true,
legend: { font: { color: '#ffffff' }, orientation: 'h', x: 0.1, y: -0.1 },
annotations: [
{
font: { size: 30, color: '#ffffff', weight: 'bold' },
showarrow: false,
text: '94.2%',
x: 0.5,
y: 0.5
}
]
};
Plotly.newPlot('occupancy-chart', occupancyData, occupancyLayout, {responsive: true, displayModeBar: false});
} catch(e) { console.error('Occupancy chart error:', e); }
});
</script>
</body>
</html>
Free
SaaS
Unlock the entire library of premium templates and blocks. Renews automatically, cancel anytime.