Free
Demo
Roamia Demo
A demo block extracted from the Roamia template, available in Tailwind CSS and Bootstrap.
0
38
A demo block extracted from the Roamia template, available in Tailwind CSS and Bootstrap.
<!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>Roamia Demo | Tailwind CSS UI Block</title>
<meta name="description" content="A demo block extracted from the Roamia template, available in Tailwind CSS and Bootstrap.">
<meta name="keywords" content="Roamia, Tailwind CSS template, HTML website template, travel companion matching, traveler community, trip matching app, responsive travel design">
<meta name="author" content="Let's templates">
<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="Roamia | Tailwind CSS Travel Companion Matching Template">
<meta property="og:description" content="A vibrant Tailwind CSS travel companion matching template for traveler communities, trip matching apps, and shared adventure brands.">
<meta property="og:image" content="">
<meta property="og:image:alt" content="Roamia template preview">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:url" content="">
<meta name="twitter:title" content="Roamia | Tailwind CSS Travel Companion Matching Template">
<meta name="twitter:description" content="A vibrant Tailwind CSS travel companion matching template for traveler communities, trip matching apps, and shared adventure brands.">
<meta name="twitter:image" content="">
<meta name="twitter:image:alt" content="Roamia template preview">
<script src="https://cdn.tailwindcss.com"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css">
<link href="https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;600;700&family=Fraunces:ital,opsz,wght@0,9..144,400;0,9..144,700;1,9..144,400&display=swap" rel="stylesheet">
<script src="https://cdn.plot.ly/plotly-3.1.1.min.js"></script>
<style>
body {
font-family: 'Outfit', sans-serif;
background-color: #f8f9fa;
}
.serif {
font-family: 'Fraunces', serif;
}
.swoosh-line {
position: absolute;
top: 50%;
left: 0;
width: 100%;
height: 100px;
pointer-events: none;
z-index: 10;
}
.tilted-card {
transition: transform 0.3s ease;
}
.tilted-card:hover {
transform: translateY(-10px) rotate(-2deg);
}
.nav-pill {
transition: background-color 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
}
.nav-pill .brand,
.nav-pill .nav-links a,
.nav-pill .profile-ring {
transition: color 0.3s ease, border-color 0.3s ease;
}
#header.is-scrolled .nav-pill {
background-color: rgba(255, 255, 255, 0.95);
border-color: rgba(0, 0, 0, 0.08);
box-shadow: 0 10px 30px rgba(15, 23, 42, 0.08);
}
#header.is-scrolled .nav-pill .brand {
color: #171717;
}
#header.is-scrolled .nav-pill .nav-links {
color: rgba(23, 23, 23, 0.7);
}
#header.is-scrolled .nav-pill .nav-links a:hover {
color: #171717;
}
#header.is-scrolled .nav-pill .profile-ring {
border-color: rgba(0, 0, 0, 0.12);
}
</style>
</head>
<body class="antialiased overflow-x-hidden">
<!-- block:start demo -->
<section id="mobile-app" class="py-32 px-6 bg-neutral-900 rounded-[2rem] sm:rounded-[4rem] mx-3 sm:mx-6 my-12 overflow-hidden relative">
<div class="absolute inset-0 opacity-20">
<div class="absolute top-0 left-0 w-full h-full bg-gradient-to-br from-blue-500 to-transparent"></div>
</div>
<div class="max-w-7xl mx-auto relative z-10 grid grid-cols-1 lg:grid-cols-2 gap-20 items-center">
<div class="space-y-10">
<h2 class="serif text-4xl md:text-6xl text-white font-bold leading-tight">Roamia In Your<br>Pocket</h2>
<p class="text-white/60 text-lg leading-relaxed max-w-md">
Take the community with you. Match, chat, and manage your itineraries on the go with our award-winning mobile experience.
</p>
<div class="flex flex-wrap gap-4">
<button class="bg-white text-black px-8 py-4 rounded-2xl flex items-center space-x-3 hover:scale-105 transition-transform">
<i class="fa-brands fa-apple text-2xl"></i>
<div class="text-left">
<div class="text-[8px] uppercase font-bold opacity-40">Download on the</div>
<div class="text-sm font-bold">App Store</div>
</div>
</button>
<button class="bg-white/10 backdrop-blur-md text-white border border-white/20 px-8 py-4 rounded-2xl flex items-center space-x-3 hover:scale-105 transition-transform">
<i class="fa-brands fa-google-play text-2xl"></i>
<div class="text-left">
<div class="text-[8px] uppercase font-bold opacity-40">Get it on</div>
<div class="text-sm font-bold">Google Play</div>
</div>
</button>
</div>
</div>
<div class="relative flex justify-center">
<!-- Phone Mockup Simulation -->
<div class="relative w-[300px] h-[600px] bg-neutral-800 rounded-[3rem] border-[8px] border-neutral-700 shadow-2xl overflow-hidden">
<div class="absolute top-0 left-1/2 -translate-x-1/2 w-32 h-6 bg-neutral-700 rounded-b-2xl z-20"></div>
<div class="h-full w-full bg-white p-6 pt-10 flex flex-col space-y-6">
<div class="flex items-center justify-between">
<div class="text-xs font-bold">Explore</div>
<i class="fa-solid fa-magnifying-glass text-xs opacity-30"></i>
</div>
<div class="h-32 rounded-2xl bg-blue-50 overflow-hidden relative">
<img class="w-full h-full object-cover opacity-80" src="https://storage.googleapis.com/uxpilot-auth.appspot.com/gen_5dacf3dba0_622dc620cd767492.png" alt="vibrant city street at night, neon lights" />
<div class="absolute bottom-2 left-2 text-[10px] font-bold text-white">Tokyo, Japan</div>
</div>
<div class="space-y-3">
<div class="text-[10px] font-bold uppercase tracking-widest text-neutral-400">Nearby Matches</div>
<div class="flex -space-x-2">
<img src="https://storage.googleapis.com/uxpilot-auth.appspot.com/avatars/avatar-1.jpg" class="w-10 h-10 rounded-full border-2 border-white">
<img src="https://storage.googleapis.com/uxpilot-auth.appspot.com/avatars/avatar-2.jpg" class="w-10 h-10 rounded-full border-2 border-white">
<img src="https://storage.googleapis.com/uxpilot-auth.appspot.com/avatars/avatar-3.jpg" class="w-10 h-10 rounded-full border-2 border-white">
</div>
</div>
<div class="flex-1 flex flex-col justify-end">
<div class="p-4 bg-neutral-50 rounded-2xl border border-neutral-100">
<div class="text-[10px] font-bold mb-1">New Message from Elias</div>
<div class="text-[8px] text-neutral-400 italic">"Ready for the trek?"</div>
</div>
</div>
</div>
</div>
<!-- Floating notifications -->
<div class="absolute top-20 -right-10 bg-white p-4 rounded-2xl shadow-xl border border-neutral-100 hidden md:block">
<div class="flex items-center space-x-3">
<div class="w-8 h-8 bg-blue-500 rounded-full flex items-center justify-center text-white">
<i class="fa-solid fa-location-dot text-xs"></i>
</div>
<div class="text-[10px] font-bold">Match nearby!</div>
</div>
</div>
</div>
</div>
</section>
<!-- block:end demo -->
<script>
(function() {
const header = document.getElementById('header');
const hero = document.getElementById('hero');
function updateHeader() {
if (!header || !hero) return;
const threshold = Math.max(hero.offsetHeight - 120, 80);
header.classList.toggle('is-scrolled', window.scrollY > threshold);
}
window.addEventListener('scroll', updateHeader, { passive: true });
window.addEventListener('resize', updateHeader);
updateHeader();
})();
window.addEventListener('load', function() {
try {
const data = [{
type: 'scatter',
mode: 'lines',
fill: 'tozeroy',
x: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul'],
y: [4000, 4500, 3800, 6000, 5500, 8000, 12206],
line: { color: '#60a5fa', width: 4, shape: 'spline' },
fillcolor: 'rgba(96, 165, 250, 0.1)'
}];
const layout = {
margin: { t: 10, r: 10, b: 40, l: 40 },
paper_bgcolor: 'rgba(0,0,0,0)',
plot_bgcolor: 'rgba(0,0,0,0)',
showlegend: false,
xaxis: {
showgrid: false,
zeroline: false,
tickfont: { size: 10, color: '#9ca3af' }
},
yaxis: {
showgrid: true,
gridcolor: 'rgba(0,0,0,0.05)',
zeroline: false,
tickfont: { size: 10, color: '#9ca3af' }
}
};
const config = { responsive: true, displayModeBar: false, displaylogo: false };
Plotly.newPlot('cost-chart', data, layout, config);
} catch(e) {
console.error("Plotly Error:", e);
}
});
</script>
</body>
</html>
Free
Travel
Unlock the entire library of premium templates and blocks. Renews automatically, cancel anytime.