Free
Hero
Roamia Hero
A hero block extracted from the Roamia template, available in Tailwind CSS and Bootstrap.
0
36
A hero 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 Hero | Tailwind CSS UI Block</title>
<meta name="description" content="A hero 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 hero -->
<section id="hero" class="relative min-h-[900px] flex flex-col items-center pt-32 pb-20 overflow-hidden bg-gradient-to-b from-blue-400 to-blue-300">
<div class="text-center max-w-4xl px-6 relative z-20">
<h1 class="serif text-6xl md:text-8xl text-white font-bold leading-tight mb-8">
Your Next Epic<br>Begins Right Here
</h1>
<p class="text-white/80 text-lg md:text-xl max-w-2xl mx-auto mb-10 leading-relaxed font-light">
Sync with world-class explorers. Match your pace and passion, and transform solo trips into shared masterpieces.
</p>
<button class="bg-white text-blue-500 px-10 py-4 rounded-full font-bold shadow-xl hover:scale-105 transition-transform">
Get Started
</button>
</div>
<!-- Hero Image Cards -->
<div class="mt-20 w-full max-w-7xl px-6 grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-6 relative z-10">
<div class="relative h-[450px] rounded-[2.5rem] overflow-hidden border-4 border-white/10 shadow-2xl">
<img class="w-full h-full object-cover" src="https://storage.googleapis.com/uxpilot-auth.appspot.com/gen_1a97e61a3f_75d4a90f0a7bf747.png" alt="adventurous hiker with blue jacket in misty mountains, wide landscape shot" />
</div>
<div class="relative h-[450px] rounded-[2.5rem] overflow-hidden border-4 border-white/10 shadow-2xl mt-8">
<img class="w-full h-full object-cover" src="https://storage.googleapis.com/uxpilot-auth.appspot.com/gen_d24b64bac4_6d825668035fbb45.png" alt="traveler in orange jacket looking at mountain range, clear sky" />
</div>
<div class="relative h-[450px] rounded-[2.5rem] overflow-hidden border-4 border-white/10 shadow-2xl mt-4">
<img class="w-full h-full object-cover" src="https://storage.googleapis.com/uxpilot-auth.appspot.com/gen_37f38d6155_be48612382d55982.png" alt="backpacker walking on a ridge at sunset, dramatic lighting" />
</div>
<div class="relative h-[450px] rounded-[2.5rem] overflow-hidden border-4 border-white/10 shadow-2xl mt-12">
<img class="w-full h-full object-cover" src="https://storage.googleapis.com/uxpilot-auth.appspot.com/gen_d243aefdff_0e8aa640ceb937da.png" alt="explorer standing on a rocky peak, cold winter atmosphere" />
</div>
<!-- Decorative Swoosh Line -->
<svg class="swoosh-line absolute hidden lg:block" viewBox="0 0 1200 100" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M0 50C200 10 400 90 600 50C800 10 1000 90 1200 50" stroke="#fbbf24" stroke-width="6" stroke-linecap="round" />
</svg>
</div>
</section>
<!-- block:end hero -->
<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.