Files
cuitunet.fi/index.html
Jukka Lampikoski f0d3b66756 Add working availability form with PHP email sending
- send.php handles form submission and sends email via mail()
- Honeypot field for bot protection
- IP-based rate limiting (60s cooldown)
- Query logging to data/kyselyt.log
- Frontend JS with loading state and success/error feedback
- data/ directory protected with .htaccess

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-10 00:41:08 +02:00

310 lines
14 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<html lang="fi">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Cuitunet Nopeinta kaistaa verkkoon</title>
<meta name="description" content="Cuitunet tarjoaa symmetriset valokuituyhteydet yrityksille ja taloyhtiöille — jopa 100 Gbps. Turkulainen operaattori.">
<link rel="stylesheet" href="style.css">
</head>
<body>
<header class="header">
<div class="container header-inner">
<a href="/" class="logo">
<img src="images/logo_transparent.png" alt="Cuitunet">
</a>
<nav class="nav" id="nav">
<a href="#palvelut">Palvelut</a>
<a href="#miksi">Miksi Cuitunet</a>
<a href="#saatavuus">Saatavuus</a>
<a href="#yhteystiedot">Yhteystiedot</a>
</nav>
<a href="#saatavuus" class="btn btn-sm header-cta">Tee saatavuuskysely</a>
<button class="nav-toggle" aria-label="Avaa valikko" onclick="document.getElementById('nav').classList.toggle('open')">
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M3 12h18M3 6h18M3 18h18"/></svg>
</button>
</div>
</header>
<!-- Hero -->
<section class="hero" style="background-image: url('images/hero-fiber.jpg')">
<div class="hero-overlay"></div>
<div class="container hero-container">
<h1>Valokuitua <span class="highlight">koko Suomeen</span><br>— yhteydet jotka vain toimivat</h1>
<p class="hero-sub">Turkulainen operaattori joka rakentaa luotettavimmat valokuituyhteydet yrityksille, taloyhtiöille ja konesaleille — koko Suomeen, avaimet käteen.</p>
<div class="hero-actions">
<a href="#saatavuus" class="btn">Tee saatavuuskysely</a>
<a href="#palvelut" class="btn btn-outline-light">Tutustu palveluihin</a>
</div>
<div class="hero-stats">
<div class="hero-stat">
<strong>100 Gbps</strong>
<span>Nopeudet jopa</span>
</div>
<div class="hero-stat">
<strong>100%</strong>
<span>Valokuitua</span>
</div>
<div class="hero-stat">
<strong>Symmetrinen</strong>
<span>Lataus = lähetys</span>
</div>
</div>
</div>
</section>
<!-- Palvelut -->
<section id="palvelut" class="services">
<div class="container">
<div class="section-header">
<span class="overline">Palvelut</span>
<h2>Yhteydet joka tarpeeseen</h2>
<p>Toimitamme valokuituyhteydet avaimet käteen periaatteella koko Suomeen. Kaikki yhteystemme ovat symmetrisiä — lataus- ja lähetysnopeus ovat aina samat.</p>
</div>
<div class="services-grid">
<div class="service-card">
<div class="service-icon">
<svg width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5"><rect x="2" y="3" width="20" height="14" rx="2"/><path d="M8 21h8M12 17v4"/></svg>
</div>
<h3>Yritysliittymät</h3>
<p>Luotettavat ja nopeat valokuituyhteydet kaikenkokoisille yrityksille. Kiinteä kaista, SLA-takuu ja tuki kun sitä tarvitset.</p>
<span class="service-speed">1100 Gbps</span>
</div>
<div class="service-card">
<div class="service-icon">
<svg width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5"><rect x="2" y="2" width="20" height="8" rx="2"/><rect x="2" y="14" width="20" height="8" rx="2"/><circle cx="6" cy="6" r="1" fill="currentColor"/><circle cx="6" cy="18" r="1" fill="currentColor"/></svg>
</div>
<h3>Konesaliyhteydet</h3>
<p>Yhteydet omiin laitetiloihin ja kolmansien osapuolien konesaleihin. Skaalautuvat tarpeen mukaan aina 100 gigabittiin asti.</p>
<span class="service-speed">Jopa 100 Gbps</span>
</div>
<div class="service-card">
<div class="service-icon">
<svg width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5"><path d="M3 9l9-7 9 7v11a2 2 0 01-2 2H5a2 2 0 01-2-2z"/><polyline points="9 22 9 12 15 12 15 22"/></svg>
</div>
<h3>Kiinteistöliittymät</h3>
<p>Symmetriset kuituyhteydet taloyhtiöille. Etätyö, suoratoisto ja pelaaminen sujuvat ilman katkoja ja hidastumisia.</p>
<span class="service-speed">Symmetrinen</span>
</div>
<div class="service-card">
<div class="service-icon">
<svg width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5"><circle cx="12" cy="12" r="10"/><path d="M2 12h20"/><path d="M12 2a15.3 15.3 0 014 10 15.3 15.3 0 01-4 10 15.3 15.3 0 01-4-10 15.3 15.3 0 014-10z"/></svg>
</div>
<h3>IP-transit</h3>
<p>Suora Internet-yhteys omalla AS-numerolla tai jaetulla reitityksellä. BGP-peering ja monipuoliset reititysratkaisut.</p>
<span class="service-speed">Skaalautuva</span>
</div>
</div>
</div>
</section>
<!-- Kuvakaistale -->
<section class="image-break" style="background-image: url('images/fiber-light.jpg')">
<div class="image-break-overlay"></div>
<div class="container image-break-content">
<div class="image-break-stat">
<strong>100 Gbps</strong>
<span>Nopeudet jopa</span>
</div>
<div class="image-break-stat">
<strong>Symmetrinen</strong>
<span>Sama nopeus molempiin suuntiin</span>
</div>
<div class="image-break-stat">
<strong>SLA</strong>
<span>Palvelutasotakuu</span>
</div>
<div class="image-break-stat">
<strong>Turku</strong>
<span>Paikallinen operaattori</span>
</div>
</div>
</section>
<!-- Miksi Cuitunet -->
<section id="miksi" class="why">
<div class="container">
<div class="why-inner">
<div class="why-content">
<span class="overline">Miksi Cuitunet</span>
<h2>Operaattori joka välittää</h2>
<p>Isot operaattorit kohtelevat sinua numerona. Meillä tunnet yhteyshenkilösi nimeltä. Kun ongelma ilmenee, emme piiloudu automaattisen palvelunumeron taakse — me vastaamme ja hoidamme asian.</p>
<p>Rakennamme jokaisen yhteyden huolella ja mitoitamme sen asiakkaan todellisen tarpeen mukaan. Ei ylimyyntiä, ei piilomaksuja — vain yhteys joka toimii.</p>
</div>
<div class="why-features">
<div class="feature">
<div class="feature-icon">
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5"><polyline points="13 17 18 12 13 7"/><polyline points="6 17 11 12 6 7"/></svg>
</div>
<div>
<strong>Jopa 100 Gbps</strong>
<p>Skaalautuva kapasiteetti kasvun mukaan</p>
</div>
</div>
<div class="feature">
<div class="feature-icon">
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"/></svg>
</div>
<div>
<strong>Palvelutasotakuu</strong>
<p>SLA-sopimukset ja varmennetut yhteydet</p>
</div>
</div>
<div class="feature">
<div class="feature-icon">
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5"><path d="M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0118 0z"/><circle cx="12" cy="10" r="3"/></svg>
</div>
<div>
<strong>Paikallinen toimija</strong>
<p>Turkulainen operaattori, nopea palvelu</p>
</div>
</div>
<div class="feature">
<div class="feature-icon">
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5"><path d="M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z"/><polyline points="22 6 12 13 2 6"/></svg>
</div>
<div>
<strong>Avaimet käteen</strong>
<p>Hoidamme asennuksen ja konfiguroinnin</p>
</div>
</div>
</div>
</div>
</div>
</section>
<!-- Kaupunki-kuvakaistale -->
<section class="image-break image-break-tall" style="background-image: url('images/city-network.jpg')">
<div class="image-break-overlay image-break-overlay-warm"></div>
<div class="container image-break-cta">
<h2>Kiinnostaako kuituliittymä?</h2>
<p>Selvitä valokuidun saatavuus osoitteessasi — vastaamme 12 arkipäivässä.</p>
<a href="#saatavuus" class="btn">Tee saatavuuskysely</a>
</div>
</section>
<!-- Saatavuuskysely -->
<section id="saatavuus" class="availability">
<div class="container">
<div class="availability-inner">
<div class="availability-text">
<span class="overline">Saatavuuskysely</span>
<h2>Tarkista saatavuus osoitteessasi</h2>
<p>Täytä lomake ja selvitämme valokuidun saatavuuden osoitteessasi. Vastaamme yleensä 12 arkipäivän kuluessa. Kysely ei velvoita mihinkään.</p>
</div>
<form class="form" id="availability-form">
<div style="position:absolute;left:-9999px;top:-9999px;">
<input type="text" name="website" tabindex="-1" autocomplete="off">
</div>
<div class="form-group">
<label for="company">Yrityksen nimi</label>
<input type="text" id="company" name="company" required>
</div>
<div class="form-group">
<label for="email">Sähköposti</label>
<input type="email" id="email" name="email" required>
</div>
<div class="form-row">
<div class="form-group">
<label for="address">Katuosoite</label>
<input type="text" id="address" name="address" required>
</div>
<div class="form-group">
<label for="city">Kaupunki</label>
<input type="text" id="city" name="city" required>
</div>
</div>
<div class="form-group">
<label for="message">Lisätiedot <span class="optional">(valinnainen)</span></label>
<textarea id="message" name="message" rows="3"></textarea>
</div>
<button type="submit" class="btn btn-full">Lähetä saatavuuskysely</button>
</form>
</div>
</div>
</section>
<!-- Footer -->
<footer id="yhteystiedot" class="footer">
<div class="container">
<div class="footer-top">
<div class="footer-brand">
<img src="images/logo_transparent.png" alt="Cuitunet" class="footer-logo">
<p>Turkulainen valokuituoperaattori. Rakennamme nopeimmat yhteydet yrityksille ja taloyhtiöille.</p>
</div>
<div class="footer-links">
<h4>Palvelut</h4>
<a href="#palvelut">Yritysliittymät</a>
<a href="#palvelut">Konesaliyhteydet</a>
<a href="#palvelut">Kiinteistöliittymät</a>
<a href="#palvelut">IP-transit</a>
</div>
<div class="footer-links">
<h4>Yhteystiedot</h4>
<a href="mailto:asiakaspalvelu@cuitunet.fi">asiakaspalvelu@cuitunet.fi</a>
<a href="tel:0207780731">02 077 80731</a>
</div>
<div class="footer-links">
<h4>Toimisto</h4>
<p>Latokarinkatu 3</p>
<p>20200 Turku</p>
<p>mape 8:0017:00</p>
</div>
</div>
<div class="footer-bottom">
<p>&copy; 2026 Cuitunet Oy. Kaikki oikeudet pidätetään.</p>
</div>
</div>
</footer>
<script>
// Mobiilinavigaatio
document.querySelector('.nav-toggle')?.addEventListener('click', function() {
document.querySelector('.nav')?.classList.toggle('open');
});
// Saatavuuskysely-lomake
document.getElementById('availability-form')?.addEventListener('submit', async function(e) {
e.preventDefault();
const btn = this.querySelector('button[type="submit"]');
const originalText = btn.textContent;
btn.disabled = true;
btn.textContent = 'Lähetetään...';
try {
const formData = new FormData(this);
const response = await fetch('send.php', {
method: 'POST',
body: formData
});
const data = await response.json();
if (data.success) {
btn.textContent = 'Lähetetty!';
btn.style.background = '#27ae60';
this.reset();
setTimeout(() => {
btn.textContent = originalText;
btn.style.background = '';
btn.disabled = false;
}, 4000);
} else {
alert(data.error || 'Jokin meni pieleen. Yritä uudelleen.');
btn.textContent = originalText;
btn.disabled = false;
}
} catch (err) {
alert('Yhteysvirhe. Tarkista verkkoyhteytesi ja yritä uudelleen.');
btn.textContent = originalText;
btn.disabled = false;
}
});
</script>
</body>
</html>