heroweb/examples/images/company.html
2024-10-31 07:24:12 +01:00

302 lines
10 KiB
HTML

<!DOCTYPE html>
<html lang="en" data-theme="dark">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>BlocPower - Clean Energy Solutions</title>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@picocss/pico@1/css/pico.min.css">
<link rel="stylesheet" href="https://unpkg.com/leaflet@1.9.4/dist/leaflet.css"
integrity="sha256-p4NxAoJBhIIN+hmNHrzRCf9tD/miZyoHS5obTRR9BMY="
crossorigin=""/>
<script src="https://unpkg.com/leaflet@1.9.4/dist/leaflet.js"
integrity="sha256-20nQCchB9co0qIjJZRGuk2/Z9VM+kNiyxNV1lvTlZBo="
crossorigin=""></script>
<style>
:root {
--primary: #00b894;
}
.hero {
text-align: center;
padding: 4rem 1rem;
background: linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)),
url('https://images.unsplash.com/photo-1613665813446-82a78c468a1d?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1200&q=80');
background-size: cover;
background-position: center;
margin: -1rem -1rem 2rem -1rem;
}
.metrics {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
gap: 2rem;
text-align: center;
margin: 2rem 0;
}
.metric {
padding: 1rem;
background: rgba(255, 255, 255, 0.1);
border-radius: 8px;
}
.metric h3 {
color: var(--primary);
font-size: 2.5rem;
margin: 0;
}
.team-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
gap: 2rem;
margin: 2rem 0;
}
.team-member {
text-align: center;
}
.team-member img {
width: 150px;
height: 150px;
border-radius: 50%;
object-fit: cover;
margin-bottom: 1rem;
}
.impact-section {
background: rgba(255, 255, 255, 0.05);
padding: 2rem;
border-radius: 8px;
margin: 2rem 0;
}
.tag {
display: inline-block;
padding: 0.2rem 1rem;
background: var(--primary);
border-radius: 20px;
margin: 0.2rem;
font-size: 0.9rem;
}
#impact-map {
height: 500px;
width: 100%;
border-radius: 8px;
margin: 2rem 0;
}
/* Custom styles for Leaflet map in dark theme */
.leaflet-tile-pane {
filter: invert(100%) hue-rotate(180deg) brightness(95%) contrast(90%);
}
.location-info {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
gap: 1rem;
margin-top: 1rem;
}
.location-card {
background: rgba(255, 255, 255, 0.1);
padding: 1rem;
border-radius: 8px;
cursor: pointer;
transition: background-color 0.3s ease;
}
.location-card:hover {
background: rgba(255, 255, 255, 0.15);
}
.location-card h4 {
margin: 0;
color: var(--primary);
}
/* Hide leaflet attribution */
.leaflet-control-attribution {
display: none;
}
/* Style zoom controls */
.leaflet-control-zoom a {
background-color: rgba(0, 0, 0, 0.7) !important;
color: white !important;
border: 1px solid rgba(255, 255, 255, 0.4) !important;
}
.leaflet-control-zoom a:hover {
background-color: rgba(0, 0, 0, 0.9) !important;
}
.leaflet-control-zoom-in {
border-bottom: 1px solid rgba(255, 255, 255, 0.4) !important;
}
</style>
</head>
<body>
<main class="container">
<section class="hero">
<h1>BlocPower</h1>
<p class="tagline">Transforming America's Buildings for a Greener Future</p>
</section>
<div class="metrics">
<div class="metric">
<h3>1000+</h3>
<p>Buildings Retrofitted</p>
</div>
<div class="metric">
<h3>40%</h3>
<p>Average Energy Savings</p>
</div>
<div class="metric">
<h3>$50M+</h3>
<p>Capital Deployed</p>
</div>
</div>
<section class="impact-section">
<h2>Our Impact</h2>
<p>BlocPower is transforming America's aging buildings into greener, smarter, healthier facilities. Focusing on underserved communities, we're making clean energy accessible while creating jobs and reducing carbon emissions.</p>
<div class="tags">
<span class="tag">Clean Energy</span>
<span class="tag">Social Impact</span>
<span class="tag">Climate Tech</span>
<span class="tag">Urban Development</span>
</div>
</section>
<section>
<h2>Impact Locations</h2>
<div id="impact-map"></div>
<div class="location-info">
<div class="location-card" onclick="focusLocation('nyc')">
<h4>New York City</h4>
<p>Over 500 buildings retrofitted, creating 1000+ green jobs</p>
</div>
<div class="location-card" onclick="focusLocation('chicago')">
<h4>Chicago</h4>
<p>200+ community buildings upgraded with clean energy solutions</p>
</div>
<div class="location-card" onclick="focusLocation('oakland')">
<h4>Oakland</h4>
<p>Partnership with city government for municipal building upgrades</p>
</div>
<div class="location-card" onclick="focusLocation('somewhere')">
<h4>Seomwhere</h4>
<p>Partnership with city government for municipal building upgrades</p>
</div>
</div>
</section>
<section>
<h2>What We Do</h2>
<div class="grid">
<div>
<h3>Building Modernization</h3>
<p>We retrofit aging buildings with modern, clean energy technology, reducing both costs and carbon footprint.</p>
</div>
<div>
<h3>Community Impact</h3>
<p>Creating green jobs and healthier living environments in underserved communities across America.</p>
</div>
</div>
</section>
<section>
<h2>Leadership Team</h2>
<div class="team-grid">
<article class="team-member">
<img src="https://images.unsplash.com/photo-1560250097-0b93528c311a?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=256&q=80" alt="CEO">
<h3>Donnel Baird</h3>
<p>CEO & Founder</p>
</article>
<article class="team-member">
<img src="https://images.unsplash.com/photo-1573496359142-b8d87734a5a2?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=256&q=80" alt="COO">
<h3>Keith Kinch</h3>
<p>General Manager & Co-Founder</p>
</article>
</div>
</section>
<section class="impact-section">
<h2>Investment Highlights</h2>
<ul>
<li>Series B funding led by Microsoft Climate Innovation Fund</li>
<li>Partnership with Goldman Sachs Urban Investment Group</li>
<li>Support from Kapor Capital, Andreessen Horowitz, and other leading investors</li>
</ul>
</section>
</main>
<script>
// Initialize the map
const map = L.map('impact-map').setView([3.8283, -14.5795], 4);
// Add the OpenStreetMap tiles with dark style
L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
attribution: false
}).addTo(map);
// Create custom white icon
const whiteIcon = L.divIcon({
html: '<div style="width: 10px; height: 10px; background-color: white; border-radius: 50%;"></div>',
className: 'custom-div-icon',
iconSize: [10, 10],
iconAnchor: [5, 5]
});
// Define location data
const locations = {
nyc: {
coords: [40.7128, -74.0060],
title: "New York City",
description: "500+ buildings retrofitted"
},
chicago: {
coords: [41.8781, -87.6298],
title: "Chicago",
description: "200+ community buildings"
},
oakland: {
coords: [37.8044, -122.2711],
title: "Oakland",
description: "Municipal building upgrades"
},
somewhere: {
coords: [3.8044, -14.2711],
title: "Somewhere",
description: "Municipal building upgrades"
}
};
// Add markers for each location
for (const [key, location] of Object.entries(locations)) {
L.marker(location.coords, {icon: whiteIcon})
.bindPopup(`<strong>${location.title}</strong><br>${location.description}`)
.addTo(map);
}
// Function to focus on a specific location
function focusLocation(locationKey) {
const location = locations[locationKey];
map.setView(location.coords, 10);
// Find and open the popup for this location
map.eachLayer((layer) => {
if (layer instanceof L.Marker) {
const latLng = layer.getLatLng();
if (latLng.lat === location.coords[0] && latLng.lng === location.coords[1]) {
layer.openPopup();
}
}
});
}
</script>
</body>
</html>