2026-01-17 13:46:20 +02:00
|
|
|
<!DOCTYPE html>
|
2026-01-24 12:16:10 +02:00
|
|
|
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}" x-data="{ darkMode: localStorage.getItem('darkMode') === 'true' || (!('darkMode' in localStorage) && window.matchMedia('(prefers-color-scheme: dark)').matches) }" :class="{ 'dark': darkMode }">
|
2026-01-17 13:46:20 +02:00
|
|
|
<head>
|
|
|
|
|
<meta charset="UTF-8">
|
|
|
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
|
|
|
<meta name="csrf-token" content="{{ csrf_token() }}">
|
2026-01-24 12:16:10 +02:00
|
|
|
<meta name="description" content="Privacy-focused website monitoring. European hosted, GDPR compliant. Monitor uptime, SSL, broken links, DNS, and more.">
|
|
|
|
|
<title>{{ config('app.name') }} - Privacy-First Website Monitoring</title>
|
2026-01-17 13:46:20 +02:00
|
|
|
|
|
|
|
|
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
|
|
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
2026-01-24 12:16:10 +02:00
|
|
|
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap" rel="stylesheet">
|
2026-01-17 13:46:20 +02:00
|
|
|
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
|
|
|
|
|
<link href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.10.0/font/bootstrap-icons.css" rel="stylesheet">
|
|
|
|
|
|
|
|
|
|
<style>
|
2026-01-24 12:16:10 +02:00
|
|
|
:root {
|
|
|
|
|
--bg-primary: #ffffff;
|
|
|
|
|
--bg-secondary: #f8f9fa;
|
|
|
|
|
--bg-tertiary: #f3f4f6;
|
|
|
|
|
--text-primary: #111827;
|
|
|
|
|
--text-secondary: #6b7280;
|
|
|
|
|
--text-muted: #9ca3af;
|
|
|
|
|
--border-color: #e5e7eb;
|
|
|
|
|
--accent-primary: #667eea;
|
|
|
|
|
--accent-secondary: #764ba2;
|
|
|
|
|
--accent-success: #10b981;
|
|
|
|
|
--shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.06);
|
|
|
|
|
--shadow-md: 0 4px 12px rgba(0, 0, 0, 0.08);
|
|
|
|
|
--shadow-lg: 0 10px 30px rgba(0, 0, 0, 0.1);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark {
|
|
|
|
|
--bg-primary: #111827;
|
|
|
|
|
--bg-secondary: #1f2937;
|
|
|
|
|
--bg-tertiary: #374151;
|
|
|
|
|
--text-primary: #f9fafb;
|
|
|
|
|
--text-secondary: #d1d5db;
|
|
|
|
|
--text-muted: #9ca3af;
|
|
|
|
|
--border-color: #374151;
|
|
|
|
|
--shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.3);
|
|
|
|
|
--shadow-md: 0 4px 12px rgba(0, 0, 0, 0.4);
|
|
|
|
|
--shadow-lg: 0 10px 30px rgba(0, 0, 0, 0.5);
|
|
|
|
|
}
|
|
|
|
|
|
2026-01-17 13:46:20 +02:00
|
|
|
* {
|
|
|
|
|
font-family: 'Inter', sans-serif;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
body {
|
2026-01-24 12:16:10 +02:00
|
|
|
background-color: var(--bg-primary);
|
|
|
|
|
color: var(--text-primary);
|
2026-01-17 13:46:20 +02:00
|
|
|
overflow-x: hidden;
|
2026-01-24 12:16:10 +02:00
|
|
|
transition: background-color 0.3s, color 0.3s;
|
2026-01-17 13:46:20 +02:00
|
|
|
}
|
|
|
|
|
|
2026-01-24 12:16:10 +02:00
|
|
|
/* Navigation */
|
|
|
|
|
.navbar-landing {
|
|
|
|
|
padding: 1.25rem 0;
|
|
|
|
|
background: var(--bg-primary);
|
|
|
|
|
border-bottom: 1px solid var(--border-color);
|
|
|
|
|
position: sticky;
|
|
|
|
|
top: 0;
|
|
|
|
|
z-index: 1000;
|
|
|
|
|
backdrop-filter: blur(10px);
|
|
|
|
|
transition: all 0.3s;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.navbar-brand {
|
|
|
|
|
font-size: 1.5rem;
|
|
|
|
|
font-weight: 900;
|
|
|
|
|
color: var(--text-primary);
|
|
|
|
|
display: flex;
|
|
|
|
|
align-items: center;
|
|
|
|
|
gap: 0.5rem;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.nav-link {
|
|
|
|
|
color: var(--text-secondary);
|
|
|
|
|
font-weight: 500;
|
|
|
|
|
margin: 0 0.75rem;
|
|
|
|
|
transition: color 0.2s;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.nav-link:hover {
|
|
|
|
|
color: var(--accent-primary);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.btn-theme-toggle {
|
|
|
|
|
background: var(--bg-secondary);
|
|
|
|
|
border: 1px solid var(--border-color);
|
|
|
|
|
color: var(--text-primary);
|
|
|
|
|
padding: 0.5rem 0.75rem;
|
|
|
|
|
border-radius: 10px;
|
|
|
|
|
transition: all 0.2s;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.btn-theme-toggle:hover {
|
|
|
|
|
background: var(--bg-tertiary);
|
|
|
|
|
transform: scale(1.05);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* Hero Section */
|
2026-01-17 13:46:20 +02:00
|
|
|
.hero-section {
|
2026-01-24 12:16:10 +02:00
|
|
|
padding: 120px 0 80px;
|
|
|
|
|
background: var(--bg-primary);
|
2026-01-17 13:46:20 +02:00
|
|
|
position: relative;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.hero-section::before {
|
|
|
|
|
content: '';
|
|
|
|
|
position: absolute;
|
2026-01-24 12:16:10 +02:00
|
|
|
top: -50%;
|
|
|
|
|
right: -10%;
|
|
|
|
|
width: 600px;
|
|
|
|
|
height: 600px;
|
|
|
|
|
background: radial-gradient(circle, rgba(102, 126, 234, 0.1) 0%, transparent 70%);
|
|
|
|
|
border-radius: 50%;
|
2026-01-17 13:46:20 +02:00
|
|
|
}
|
|
|
|
|
|
2026-01-24 12:16:10 +02:00
|
|
|
.hero-title {
|
|
|
|
|
font-size: 3.75rem;
|
|
|
|
|
font-weight: 900;
|
|
|
|
|
line-height: 1.1;
|
2026-01-17 13:46:20 +02:00
|
|
|
margin-bottom: 1.5rem;
|
2026-01-24 12:16:10 +02:00
|
|
|
letter-spacing: -0.02em;
|
2026-01-17 13:46:20 +02:00
|
|
|
}
|
|
|
|
|
|
2026-01-24 12:16:10 +02:00
|
|
|
.hero-gradient {
|
|
|
|
|
background: linear-gradient(135deg, var(--accent-primary) 0%, var(--accent-secondary) 100%);
|
|
|
|
|
-webkit-background-clip: text;
|
|
|
|
|
-webkit-text-fill-color: transparent;
|
|
|
|
|
background-clip: text;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.hero-subtitle {
|
|
|
|
|
font-size: 1.375rem;
|
|
|
|
|
color: var(--text-secondary);
|
|
|
|
|
margin-bottom: 2.5rem;
|
|
|
|
|
line-height: 1.7;
|
2026-01-17 13:46:20 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.btn-hero {
|
|
|
|
|
padding: 1rem 2.5rem;
|
2026-01-24 12:16:10 +02:00
|
|
|
font-size: 1.125rem;
|
|
|
|
|
font-weight: 700;
|
|
|
|
|
border-radius: 14px;
|
2026-01-17 13:46:20 +02:00
|
|
|
transition: all 0.3s;
|
2026-01-24 12:16:10 +02:00
|
|
|
display: inline-flex;
|
|
|
|
|
align-items: center;
|
|
|
|
|
gap: 0.5rem;
|
|
|
|
|
border: none;
|
2026-01-17 13:46:20 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.btn-hero-primary {
|
2026-01-24 12:16:10 +02:00
|
|
|
background: linear-gradient(135deg, var(--accent-primary) 0%, var(--accent-secondary) 100%);
|
|
|
|
|
color: white;
|
|
|
|
|
box-shadow: 0 8px 25px rgba(102, 126, 234, 0.3);
|
2026-01-17 13:46:20 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.btn-hero-primary:hover {
|
2026-01-24 12:16:10 +02:00
|
|
|
transform: translateY(-3px);
|
|
|
|
|
box-shadow: 0 12px 35px rgba(102, 126, 234, 0.4);
|
|
|
|
|
color: white;
|
2026-01-17 13:46:20 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.btn-hero-secondary {
|
2026-01-24 12:16:10 +02:00
|
|
|
background: var(--bg-secondary);
|
|
|
|
|
color: var(--text-primary);
|
|
|
|
|
border: 2px solid var(--border-color);
|
2026-01-17 13:46:20 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.btn-hero-secondary:hover {
|
2026-01-24 12:16:10 +02:00
|
|
|
background: var(--bg-tertiary);
|
|
|
|
|
border-color: var(--accent-primary);
|
|
|
|
|
color: var(--text-primary);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* Trust Badges */
|
|
|
|
|
.trust-badges {
|
|
|
|
|
display: flex;
|
|
|
|
|
align-items: center;
|
|
|
|
|
gap: 2rem;
|
|
|
|
|
margin-top: 3rem;
|
|
|
|
|
flex-wrap: wrap;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.trust-badge {
|
|
|
|
|
display: flex;
|
|
|
|
|
align-items: center;
|
|
|
|
|
gap: 0.75rem;
|
|
|
|
|
padding: 0.75rem 1.5rem;
|
|
|
|
|
background: var(--bg-secondary);
|
|
|
|
|
border-radius: 12px;
|
|
|
|
|
border: 1px solid var(--border-color);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.trust-badge i {
|
|
|
|
|
font-size: 1.5rem;
|
|
|
|
|
color: var(--accent-primary);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.trust-badge-text {
|
|
|
|
|
display: flex;
|
|
|
|
|
flex-direction: column;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.trust-badge-label {
|
|
|
|
|
font-size: 0.75rem;
|
|
|
|
|
color: var(--text-muted);
|
|
|
|
|
text-transform: uppercase;
|
|
|
|
|
letter-spacing: 0.5px;
|
|
|
|
|
font-weight: 600;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.trust-badge-value {
|
|
|
|
|
font-size: 0.9375rem;
|
|
|
|
|
font-weight: 700;
|
|
|
|
|
color: var(--text-primary);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* Features Section */
|
|
|
|
|
.features-section {
|
|
|
|
|
padding: 100px 0;
|
|
|
|
|
background: var(--bg-secondary);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.section-header {
|
|
|
|
|
text-align: center;
|
|
|
|
|
margin-bottom: 4rem;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.section-title {
|
|
|
|
|
font-size: 2.75rem;
|
|
|
|
|
font-weight: 900;
|
|
|
|
|
margin-bottom: 1rem;
|
|
|
|
|
letter-spacing: -0.02em;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.section-subtitle {
|
|
|
|
|
font-size: 1.25rem;
|
|
|
|
|
color: var(--text-secondary);
|
|
|
|
|
max-width: 700px;
|
|
|
|
|
margin: 0 auto;
|
2026-01-17 13:46:20 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.feature-card {
|
|
|
|
|
padding: 2.5rem;
|
2026-01-24 12:16:10 +02:00
|
|
|
border-radius: 20px;
|
|
|
|
|
background: var(--bg-primary);
|
|
|
|
|
border: 1px solid var(--border-color);
|
2026-01-17 13:46:20 +02:00
|
|
|
height: 100%;
|
|
|
|
|
transition: all 0.3s;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.feature-card:hover {
|
2026-01-24 12:16:10 +02:00
|
|
|
transform: translateY(-8px);
|
|
|
|
|
box-shadow: var(--shadow-lg);
|
|
|
|
|
border-color: var(--accent-primary);
|
2026-01-17 13:46:20 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.feature-icon {
|
2026-01-24 12:16:10 +02:00
|
|
|
width: 70px;
|
|
|
|
|
height: 70px;
|
|
|
|
|
background: linear-gradient(135deg, var(--accent-primary) 0%, var(--accent-secondary) 100%);
|
|
|
|
|
border-radius: 16px;
|
2026-01-17 13:46:20 +02:00
|
|
|
display: flex;
|
|
|
|
|
align-items: center;
|
|
|
|
|
justify-content: center;
|
2026-01-24 12:16:10 +02:00
|
|
|
font-size: 2rem;
|
2026-01-17 13:46:20 +02:00
|
|
|
color: white;
|
|
|
|
|
margin-bottom: 1.5rem;
|
|
|
|
|
}
|
|
|
|
|
|
2026-01-24 12:16:10 +02:00
|
|
|
.feature-title {
|
|
|
|
|
font-size: 1.375rem;
|
|
|
|
|
font-weight: 800;
|
2026-01-17 13:46:20 +02:00
|
|
|
margin-bottom: 1rem;
|
2026-01-24 12:16:10 +02:00
|
|
|
color: var(--text-primary);
|
2026-01-17 13:46:20 +02:00
|
|
|
}
|
|
|
|
|
|
2026-01-24 12:16:10 +02:00
|
|
|
.feature-description {
|
|
|
|
|
color: var(--text-secondary);
|
|
|
|
|
line-height: 1.75;
|
|
|
|
|
margin: 0;
|
2026-01-17 13:46:20 +02:00
|
|
|
}
|
|
|
|
|
|
2026-01-24 12:16:10 +02:00
|
|
|
/* Privacy Section */
|
|
|
|
|
.privacy-section {
|
|
|
|
|
padding: 100px 0;
|
|
|
|
|
background: var(--bg-primary);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.privacy-card {
|
|
|
|
|
background: linear-gradient(135deg, var(--accent-primary) 0%, var(--accent-secondary) 100%);
|
|
|
|
|
border-radius: 24px;
|
|
|
|
|
padding: 4rem;
|
|
|
|
|
color: white;
|
|
|
|
|
position: relative;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.privacy-card::before {
|
|
|
|
|
content: '';
|
|
|
|
|
position: absolute;
|
|
|
|
|
top: -50%;
|
|
|
|
|
right: -20%;
|
|
|
|
|
width: 500px;
|
|
|
|
|
height: 500px;
|
|
|
|
|
background: rgba(255, 255, 255, 0.1);
|
|
|
|
|
border-radius: 50%;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.privacy-feature {
|
|
|
|
|
display: flex;
|
|
|
|
|
align-items: start;
|
|
|
|
|
gap: 1.5rem;
|
|
|
|
|
margin-bottom: 2rem;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.privacy-feature-icon {
|
|
|
|
|
width: 60px;
|
|
|
|
|
height: 60px;
|
|
|
|
|
background: rgba(255, 255, 255, 0.2);
|
|
|
|
|
border-radius: 12px;
|
|
|
|
|
display: flex;
|
|
|
|
|
align-items: center;
|
|
|
|
|
justify-content: center;
|
|
|
|
|
font-size: 1.75rem;
|
|
|
|
|
flex-shrink: 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* Stats Section */
|
2026-01-17 13:46:20 +02:00
|
|
|
.stats-section {
|
2026-01-24 12:16:10 +02:00
|
|
|
padding: 80px 0;
|
|
|
|
|
background: var(--bg-secondary);
|
2026-01-17 13:46:20 +02:00
|
|
|
}
|
|
|
|
|
|
2026-01-24 12:16:10 +02:00
|
|
|
.stat-card {
|
2026-01-17 13:46:20 +02:00
|
|
|
text-align: center;
|
2026-01-24 12:16:10 +02:00
|
|
|
padding: 2rem;
|
2026-01-17 13:46:20 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.stat-number {
|
2026-01-24 12:16:10 +02:00
|
|
|
font-size: 3.5rem;
|
|
|
|
|
font-weight: 900;
|
|
|
|
|
background: linear-gradient(135deg, var(--accent-primary) 0%, var(--accent-secondary) 100%);
|
|
|
|
|
-webkit-background-clip: text;
|
|
|
|
|
-webkit-text-fill-color: transparent;
|
|
|
|
|
background-clip: text;
|
|
|
|
|
line-height: 1;
|
2026-01-17 13:46:20 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.stat-label {
|
2026-01-24 12:16:10 +02:00
|
|
|
color: var(--text-secondary);
|
|
|
|
|
font-size: 1.125rem;
|
|
|
|
|
font-weight: 600;
|
|
|
|
|
margin-top: 0.75rem;
|
2026-01-17 13:46:20 +02:00
|
|
|
}
|
|
|
|
|
|
2026-01-24 12:16:10 +02:00
|
|
|
/* CTA Section */
|
2026-01-17 13:46:20 +02:00
|
|
|
.cta-section {
|
2026-01-24 12:16:10 +02:00
|
|
|
padding: 100px 0;
|
|
|
|
|
background: var(--bg-primary);
|
2026-01-17 13:46:20 +02:00
|
|
|
text-align: center;
|
|
|
|
|
}
|
|
|
|
|
|
2026-01-24 12:16:10 +02:00
|
|
|
/* Footer */
|
|
|
|
|
footer {
|
|
|
|
|
padding: 60px 0 30px;
|
|
|
|
|
background: var(--bg-secondary);
|
|
|
|
|
border-top: 1px solid var(--border-color);
|
2026-01-17 13:46:20 +02:00
|
|
|
}
|
|
|
|
|
|
2026-01-24 12:16:10 +02:00
|
|
|
.footer-title {
|
|
|
|
|
font-size: 1.125rem;
|
|
|
|
|
font-weight: 700;
|
|
|
|
|
margin-bottom: 1.5rem;
|
|
|
|
|
color: var(--text-primary);
|
2026-01-17 13:46:20 +02:00
|
|
|
}
|
|
|
|
|
|
2026-01-24 12:16:10 +02:00
|
|
|
.footer-link {
|
|
|
|
|
color: var(--text-secondary);
|
|
|
|
|
text-decoration: none;
|
|
|
|
|
display: block;
|
|
|
|
|
margin-bottom: 0.75rem;
|
|
|
|
|
transition: color 0.2s;
|
2026-01-17 13:46:20 +02:00
|
|
|
}
|
|
|
|
|
|
2026-01-24 12:16:10 +02:00
|
|
|
.footer-link:hover {
|
|
|
|
|
color: var(--accent-primary);
|
2026-01-17 13:46:20 +02:00
|
|
|
}
|
|
|
|
|
|
2026-01-24 12:16:10 +02:00
|
|
|
/* Responsive */
|
2026-01-17 13:46:20 +02:00
|
|
|
@media (max-width: 768px) {
|
2026-01-24 12:16:10 +02:00
|
|
|
.hero-title {
|
2026-01-17 13:46:20 +02:00
|
|
|
font-size: 2.5rem;
|
|
|
|
|
}
|
|
|
|
|
|
2026-01-24 12:16:10 +02:00
|
|
|
.hero-subtitle {
|
|
|
|
|
font-size: 1.125rem;
|
2026-01-17 13:46:20 +02:00
|
|
|
}
|
|
|
|
|
|
2026-01-24 12:16:10 +02:00
|
|
|
.section-title {
|
|
|
|
|
font-size: 2rem;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.privacy-card {
|
|
|
|
|
padding: 2.5rem 1.5rem;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.trust-badges {
|
|
|
|
|
gap: 1rem;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.trust-badge {
|
|
|
|
|
font-size: 0.875rem;
|
2026-01-17 13:46:20 +02:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
</style>
|
|
|
|
|
</head>
|
|
|
|
|
<body>
|
|
|
|
|
<!-- Navigation -->
|
|
|
|
|
<nav class="navbar navbar-expand-lg navbar-landing">
|
|
|
|
|
<div class="container">
|
|
|
|
|
<a class="navbar-brand" href="/">
|
2026-01-24 12:16:10 +02:00
|
|
|
<i class="bi bi-shield-check"></i>
|
|
|
|
|
<span>{{ config('app.name', 'Site Monitor') }}</span>
|
2026-01-17 13:46:20 +02:00
|
|
|
</a>
|
|
|
|
|
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav">
|
|
|
|
|
<span class="navbar-toggler-icon"></span>
|
|
|
|
|
</button>
|
2026-01-24 12:16:10 +02:00
|
|
|
<div class="collapse navbar-collapse" id="navbarNav">
|
|
|
|
|
<ul class="navbar-nav ms-auto align-items-center">
|
2026-01-17 13:46:20 +02:00
|
|
|
<li class="nav-item">
|
|
|
|
|
<a class="nav-link" href="#features">Features</a>
|
|
|
|
|
</li>
|
|
|
|
|
<li class="nav-item">
|
2026-01-24 12:16:10 +02:00
|
|
|
<a class="nav-link" href="#privacy">Privacy</a>
|
|
|
|
|
</li>
|
|
|
|
|
<li class="nav-item">
|
|
|
|
|
<button class="btn-theme-toggle" @click="darkMode = !darkMode; localStorage.setItem('darkMode', darkMode)">
|
|
|
|
|
<i class="bi" :class="darkMode ? 'bi-sun-fill' : 'bi-moon-fill'"></i>
|
|
|
|
|
</button>
|
2026-01-17 13:46:20 +02:00
|
|
|
</li>
|
|
|
|
|
@guest
|
2026-01-24 12:16:10 +02:00
|
|
|
<li class="nav-item ms-3">
|
|
|
|
|
<a class="btn btn-hero-primary" href="{{ route('register') }}">
|
|
|
|
|
Get Started Free
|
|
|
|
|
</a>
|
2026-01-17 13:46:20 +02:00
|
|
|
</li>
|
|
|
|
|
@else
|
2026-01-24 12:16:10 +02:00
|
|
|
<li class="nav-item ms-3">
|
|
|
|
|
<a class="btn btn-hero-primary" href="{{ route('dashboard') }}">
|
|
|
|
|
Dashboard
|
|
|
|
|
</a>
|
2026-01-17 13:46:20 +02:00
|
|
|
</li>
|
|
|
|
|
@endguest
|
|
|
|
|
</ul>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</nav>
|
|
|
|
|
|
|
|
|
|
<!-- Hero Section -->
|
|
|
|
|
<section class="hero-section">
|
|
|
|
|
<div class="container position-relative">
|
|
|
|
|
<div class="row align-items-center">
|
|
|
|
|
<div class="col-lg-7">
|
2026-01-24 12:16:10 +02:00
|
|
|
<h1 class="hero-title">
|
|
|
|
|
<span class="hero-gradient">Privacy-First</span><br>
|
|
|
|
|
Website Monitoring
|
|
|
|
|
</h1>
|
|
|
|
|
<p class="hero-subtitle">
|
|
|
|
|
European hosted, GDPR compliant monitoring for your websites.
|
|
|
|
|
Track uptime, SSL certificates, broken links, and more—all while respecting your privacy.
|
|
|
|
|
</p>
|
|
|
|
|
<div class="d-flex gap-3 flex-wrap">
|
2026-01-17 13:46:20 +02:00
|
|
|
@guest
|
2026-01-24 12:16:10 +02:00
|
|
|
<a href="{{ route('register') }}" class="btn-hero btn-hero-primary">
|
|
|
|
|
<i class="bi bi-rocket-takeoff"></i> Start Free
|
|
|
|
|
</a>
|
|
|
|
|
<a href="#features" class="btn-hero btn-hero-secondary">
|
|
|
|
|
<i class="bi bi-info-circle"></i> Learn More
|
|
|
|
|
</a>
|
2026-01-17 13:46:20 +02:00
|
|
|
@else
|
2026-01-24 12:16:10 +02:00
|
|
|
<a href="{{ route('dashboard') }}" class="btn-hero btn-hero-primary">
|
|
|
|
|
<i class="bi bi-speedometer2"></i> Go to Dashboard
|
|
|
|
|
</a>
|
2026-01-17 13:46:20 +02:00
|
|
|
@endguest
|
|
|
|
|
</div>
|
2026-01-24 12:16:10 +02:00
|
|
|
|
|
|
|
|
<!-- Trust Badges -->
|
|
|
|
|
<div class="trust-badges">
|
|
|
|
|
<div class="trust-badge">
|
|
|
|
|
<i class="bi bi-shield-check"></i>
|
|
|
|
|
<div class="trust-badge-text">
|
|
|
|
|
<span class="trust-badge-label">Hosted in</span>
|
|
|
|
|
<span class="trust-badge-value">Europe 🇪🇺</span>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="trust-badge">
|
|
|
|
|
<i class="bi bi-lock-fill"></i>
|
|
|
|
|
<div class="trust-badge-text">
|
|
|
|
|
<span class="trust-badge-label">Compliance</span>
|
|
|
|
|
<span class="trust-badge-value">GDPR Ready</span>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="trust-badge">
|
|
|
|
|
<i class="bi bi-eye-slash"></i>
|
|
|
|
|
<div class="trust-badge-text">
|
|
|
|
|
<span class="trust-badge-label">Privacy</span>
|
|
|
|
|
<span class="trust-badge-value">No Tracking</span>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
2026-01-17 13:46:20 +02:00
|
|
|
</div>
|
2026-01-24 12:16:10 +02:00
|
|
|
<div class="col-lg-5 d-none d-lg-flex justify-content-center">
|
|
|
|
|
<i class="bi bi-graph-up-arrow" style="font-size: 18rem; opacity: 0.08; color: var(--accent-primary);"></i>
|
2026-01-17 13:46:20 +02:00
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</section>
|
|
|
|
|
|
|
|
|
|
<!-- Stats Section -->
|
|
|
|
|
<section class="stats-section">
|
|
|
|
|
<div class="container">
|
|
|
|
|
<div class="row">
|
2026-01-24 12:16:10 +02:00
|
|
|
<div class="col-md-3 col-6 mb-4 mb-md-0">
|
|
|
|
|
<div class="stat-card">
|
|
|
|
|
<div class="stat-number">99.9%</div>
|
|
|
|
|
<div class="stat-label">Uptime SLA</div>
|
2026-01-17 13:46:20 +02:00
|
|
|
</div>
|
|
|
|
|
</div>
|
2026-01-24 12:16:10 +02:00
|
|
|
<div class="col-md-3 col-6 mb-4 mb-md-0">
|
|
|
|
|
<div class="stat-card">
|
|
|
|
|
<div class="stat-number">24/7</div>
|
|
|
|
|
<div class="stat-label">Monitoring</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="col-md-3 col-6">
|
|
|
|
|
<div class="stat-card">
|
|
|
|
|
<div class="stat-number">5min</div>
|
2026-01-17 13:46:20 +02:00
|
|
|
<div class="stat-label">Check Intervals</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
2026-01-24 12:16:10 +02:00
|
|
|
<div class="col-md-3 col-6">
|
|
|
|
|
<div class="stat-card">
|
|
|
|
|
<div class="stat-number">8+</div>
|
|
|
|
|
<div class="stat-label">Features</div>
|
2026-01-17 13:46:20 +02:00
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</section>
|
|
|
|
|
|
|
|
|
|
<!-- Features Section -->
|
2026-01-24 12:16:10 +02:00
|
|
|
<section id="features" class="features-section">
|
2026-01-17 13:46:20 +02:00
|
|
|
<div class="container">
|
2026-01-24 12:16:10 +02:00
|
|
|
<div class="section-header">
|
|
|
|
|
<h2 class="section-title">Complete Monitoring Suite</h2>
|
|
|
|
|
<p class="section-subtitle">
|
|
|
|
|
Everything you need to keep your websites healthy, secure, and performing at their best
|
|
|
|
|
</p>
|
2026-01-17 13:46:20 +02:00
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div class="row g-4">
|
2026-01-24 12:16:10 +02:00
|
|
|
<div class="col-lg-3 col-md-6">
|
2026-01-17 13:46:20 +02:00
|
|
|
<div class="feature-card">
|
|
|
|
|
<div class="feature-icon">
|
2026-01-24 12:16:10 +02:00
|
|
|
<i class="bi bi-arrow-up-circle"></i>
|
2026-01-17 13:46:20 +02:00
|
|
|
</div>
|
2026-01-24 12:16:10 +02:00
|
|
|
<h3 class="feature-title">Uptime Monitoring</h3>
|
|
|
|
|
<p class="feature-description">
|
|
|
|
|
Real-time monitoring with instant alerts when your site goes down. Track response times and uptime percentage.
|
|
|
|
|
</p>
|
2026-01-17 13:46:20 +02:00
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
2026-01-24 12:16:10 +02:00
|
|
|
<div class="col-lg-3 col-md-6">
|
2026-01-17 13:46:20 +02:00
|
|
|
<div class="feature-card">
|
|
|
|
|
<div class="feature-icon">
|
|
|
|
|
<i class="bi bi-shield-lock"></i>
|
|
|
|
|
</div>
|
2026-01-24 12:16:10 +02:00
|
|
|
<h3 class="feature-title">SSL Certificates</h3>
|
|
|
|
|
<p class="feature-description">
|
|
|
|
|
Automatic SSL certificate monitoring with expiration alerts 30 days in advance. Never miss a renewal.
|
|
|
|
|
</p>
|
2026-01-17 13:46:20 +02:00
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
2026-01-24 12:16:10 +02:00
|
|
|
<div class="col-lg-3 col-md-6">
|
2026-01-17 13:46:20 +02:00
|
|
|
<div class="feature-card">
|
|
|
|
|
<div class="feature-icon">
|
|
|
|
|
<i class="bi bi-link-45deg"></i>
|
|
|
|
|
</div>
|
2026-01-24 12:16:10 +02:00
|
|
|
<h3 class="feature-title">Broken Links</h3>
|
|
|
|
|
<p class="feature-description">
|
|
|
|
|
Crawl your website to find and report broken links. Keep your SEO strong and users happy.
|
|
|
|
|
</p>
|
2026-01-17 13:46:20 +02:00
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
2026-01-24 12:16:10 +02:00
|
|
|
<div class="col-lg-3 col-md-6">
|
2026-01-17 13:46:20 +02:00
|
|
|
<div class="feature-card">
|
|
|
|
|
<div class="feature-icon">
|
2026-01-24 12:16:10 +02:00
|
|
|
<i class="bi bi-server"></i>
|
2026-01-17 13:46:20 +02:00
|
|
|
</div>
|
2026-01-24 12:16:10 +02:00
|
|
|
<h3 class="feature-title">DNS Monitoring</h3>
|
|
|
|
|
<p class="feature-description">
|
|
|
|
|
Track DNS record changes and get notified of unexpected modifications to your domain configuration.
|
|
|
|
|
</p>
|
2026-01-17 13:46:20 +02:00
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
2026-01-24 12:16:10 +02:00
|
|
|
<div class="col-lg-3 col-md-6">
|
2026-01-17 13:46:20 +02:00
|
|
|
<div class="feature-card">
|
|
|
|
|
<div class="feature-icon">
|
2026-01-24 12:16:10 +02:00
|
|
|
<i class="bi bi-globe"></i>
|
2026-01-17 13:46:20 +02:00
|
|
|
</div>
|
2026-01-24 12:16:10 +02:00
|
|
|
<h3 class="feature-title">Domain Expiry</h3>
|
|
|
|
|
<p class="feature-description">
|
|
|
|
|
Monitor domain registration expiration dates with timely reminders to renew before it's too late.
|
|
|
|
|
</p>
|
2026-01-17 13:46:20 +02:00
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
2026-01-24 12:16:10 +02:00
|
|
|
<div class="col-lg-3 col-md-6">
|
2026-01-17 13:46:20 +02:00
|
|
|
<div class="feature-card">
|
|
|
|
|
<div class="feature-icon">
|
2026-01-24 12:16:10 +02:00
|
|
|
<i class="bi bi-diagram-3"></i>
|
2026-01-17 13:46:20 +02:00
|
|
|
</div>
|
2026-01-24 12:16:10 +02:00
|
|
|
<h3 class="feature-title">Sitemap Validation</h3>
|
|
|
|
|
<p class="feature-description">
|
|
|
|
|
Validate XML sitemaps to ensure search engines can properly index your website content.
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div class="col-lg-3 col-md-6">
|
|
|
|
|
<div class="feature-card">
|
|
|
|
|
<div class="feature-icon">
|
|
|
|
|
<i class="bi bi-heart-pulse"></i>
|
|
|
|
|
</div>
|
|
|
|
|
<h3 class="feature-title">Health Checks</h3>
|
|
|
|
|
<p class="feature-description">
|
|
|
|
|
Monitor custom health endpoints and APIs. Validate JSON responses and set performance thresholds.
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div class="col-lg-3 col-md-6">
|
|
|
|
|
<div class="feature-card">
|
|
|
|
|
<div class="feature-icon">
|
|
|
|
|
<i class="bi bi-hdd-network"></i>
|
|
|
|
|
</div>
|
|
|
|
|
<h3 class="feature-title">TCP Port Monitoring</h3>
|
|
|
|
|
<p class="feature-description">
|
|
|
|
|
Check TCP port availability and connectivity for your servers and applications in real-time.
|
|
|
|
|
</p>
|
2026-01-17 13:46:20 +02:00
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</section>
|
|
|
|
|
|
2026-01-24 12:16:10 +02:00
|
|
|
<!-- Privacy Section -->
|
|
|
|
|
<section id="privacy" class="privacy-section">
|
2026-01-17 13:46:20 +02:00
|
|
|
<div class="container">
|
2026-01-24 12:16:10 +02:00
|
|
|
<div class="privacy-card">
|
|
|
|
|
<div class="row align-items-center position-relative">
|
|
|
|
|
<div class="col-lg-6 mb-4 mb-lg-0">
|
|
|
|
|
<h2 class="display-5 fw-bold mb-4">Your Privacy is Our Priority</h2>
|
|
|
|
|
<p class="lead mb-4">
|
|
|
|
|
We believe in transparency and respecting user privacy. Your data stays in Europe,
|
|
|
|
|
protected by strict GDPR regulations.
|
|
|
|
|
</p>
|
2026-01-17 13:46:20 +02:00
|
|
|
</div>
|
2026-01-24 12:16:10 +02:00
|
|
|
<div class="col-lg-6">
|
|
|
|
|
<div class="privacy-feature">
|
|
|
|
|
<div class="privacy-feature-icon">
|
|
|
|
|
<i class="bi bi-geo-alt"></i>
|
|
|
|
|
</div>
|
|
|
|
|
<div>
|
|
|
|
|
<h4 class="fw-bold mb-2">European Hosting</h4>
|
|
|
|
|
<p class="mb-0 opacity-90">All data is stored on servers located in the European Union, ensuring compliance with EU data protection laws.</p>
|
|
|
|
|
</div>
|
2026-01-17 13:46:20 +02:00
|
|
|
</div>
|
2026-01-24 12:16:10 +02:00
|
|
|
<div class="privacy-feature">
|
|
|
|
|
<div class="privacy-feature-icon">
|
|
|
|
|
<i class="bi bi-shield-check"></i>
|
|
|
|
|
</div>
|
|
|
|
|
<div>
|
|
|
|
|
<h4 class="fw-bold mb-2">GDPR Compliant</h4>
|
|
|
|
|
<p class="mb-0 opacity-90">Fully compliant with GDPR regulations. Your data belongs to you, and we never sell it to third parties.</p>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="privacy-feature mb-0">
|
|
|
|
|
<div class="privacy-feature-icon">
|
|
|
|
|
<i class="bi bi-eye-slash"></i>
|
|
|
|
|
</div>
|
|
|
|
|
<div>
|
|
|
|
|
<h4 class="fw-bold mb-2">No Tracking</h4>
|
|
|
|
|
<p class="mb-0 opacity-90">We don't use tracking cookies or analytics that compromise your privacy. Only essential monitoring data is collected.</p>
|
|
|
|
|
</div>
|
2026-01-17 13:46:20 +02:00
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</section>
|
|
|
|
|
|
|
|
|
|
<!-- CTA Section -->
|
|
|
|
|
<section class="cta-section">
|
|
|
|
|
<div class="container">
|
2026-01-24 12:16:10 +02:00
|
|
|
<div class="row justify-content-center">
|
|
|
|
|
<div class="col-lg-8 text-center">
|
|
|
|
|
<h2 class="display-4 fw-bold mb-4">Ready to Monitor Your Websites?</h2>
|
|
|
|
|
<p class="lead text-secondary mb-5">
|
|
|
|
|
Join the privacy-conscious developers who trust us to keep their sites online.
|
|
|
|
|
Start monitoring in under 2 minutes.
|
|
|
|
|
</p>
|
|
|
|
|
@guest
|
|
|
|
|
<a href="{{ route('register') }}" class="btn-hero btn-hero-primary">
|
|
|
|
|
<i class="bi bi-rocket-takeoff"></i>
|
|
|
|
|
Start Free Today
|
|
|
|
|
</a>
|
|
|
|
|
<p class="mt-4 text-muted">No credit card required • Free forever plan</p>
|
|
|
|
|
@else
|
|
|
|
|
<a href="{{ route('sites.create') }}" class="btn-hero btn-hero-primary">
|
|
|
|
|
<i class="bi bi-plus-circle"></i>
|
|
|
|
|
Add Your First Site
|
|
|
|
|
</a>
|
|
|
|
|
@endguest
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
2026-01-17 13:46:20 +02:00
|
|
|
</div>
|
|
|
|
|
</section>
|
|
|
|
|
|
|
|
|
|
<!-- Footer -->
|
2026-01-24 12:16:10 +02:00
|
|
|
<footer>
|
2026-01-17 13:46:20 +02:00
|
|
|
<div class="container">
|
|
|
|
|
<div class="row">
|
2026-01-24 12:16:10 +02:00
|
|
|
<div class="col-lg-4 mb-4 mb-lg-0">
|
|
|
|
|
<div class="navbar-brand mb-3">
|
|
|
|
|
<i class="bi bi-shield-check"></i>
|
|
|
|
|
<span>{{ config('app.name') }}</span>
|
|
|
|
|
</div>
|
|
|
|
|
<p style="color: var(--text-secondary);">
|
|
|
|
|
Privacy-first website monitoring built in Europe.
|
|
|
|
|
Keep your sites healthy while respecting user privacy.
|
|
|
|
|
</p>
|
|
|
|
|
<div class="mt-3">
|
|
|
|
|
<span class="badge" style="background: var(--accent-success); padding: 0.5rem 1rem;">
|
|
|
|
|
🇪🇺 Made in Europe
|
|
|
|
|
</span>
|
|
|
|
|
</div>
|
2026-01-17 13:46:20 +02:00
|
|
|
</div>
|
2026-01-24 12:16:10 +02:00
|
|
|
<div class="col-lg-2 col-md-4 mb-4 mb-lg-0">
|
|
|
|
|
<h6 class="footer-title">Product</h6>
|
|
|
|
|
<a href="#features" class="footer-link">Features</a>
|
|
|
|
|
<a href="#privacy" class="footer-link">Privacy</a>
|
|
|
|
|
@guest
|
|
|
|
|
<a href="{{ route('register') }}" class="footer-link">Sign Up</a>
|
|
|
|
|
@else
|
|
|
|
|
<a href="{{ route('dashboard') }}" class="footer-link">Dashboard</a>
|
|
|
|
|
@endguest
|
2026-01-17 13:46:20 +02:00
|
|
|
</div>
|
2026-01-24 12:16:10 +02:00
|
|
|
<div class="col-lg-2 col-md-4 mb-4 mb-lg-0">
|
|
|
|
|
<h6 class="footer-title">Monitoring</h6>
|
|
|
|
|
<a href="#features" class="footer-link">Uptime</a>
|
|
|
|
|
<a href="#features" class="footer-link">SSL</a>
|
|
|
|
|
<a href="#features" class="footer-link">DNS</a>
|
|
|
|
|
<a href="#features" class="footer-link">Broken Links</a>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="col-lg-2 col-md-4 mb-4 mb-lg-0">
|
|
|
|
|
<h6 class="footer-title">Legal</h6>
|
|
|
|
|
<a href="#privacy" class="footer-link">Privacy Policy</a>
|
|
|
|
|
<a href="#privacy" class="footer-link">GDPR</a>
|
|
|
|
|
<a href="#" class="footer-link">Terms of Service</a>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="col-lg-2 col-md-4">
|
|
|
|
|
<h6 class="footer-title">Built With</h6>
|
|
|
|
|
<p style="color: var(--text-secondary); font-size: 0.9rem;">
|
|
|
|
|
Laravel<br>
|
|
|
|
|
MySQL<br>
|
|
|
|
|
Bootstrap<br>
|
|
|
|
|
Chart.js
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<hr style="border-color: var(--border-color); margin: 3rem 0 1.5rem;">
|
|
|
|
|
<div class="row">
|
|
|
|
|
<div class="col-md-12 text-center">
|
|
|
|
|
<p style="color: var(--text-muted); font-size: 0.875rem; margin: 0;">
|
|
|
|
|
© {{ date('Y') }} {{ config('app.name') }}. All rights reserved. Hosted in the EU with ❤️
|
|
|
|
|
</p>
|
2026-01-17 13:46:20 +02:00
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</footer>
|
|
|
|
|
|
2026-01-24 12:16:10 +02:00
|
|
|
<script defer src="https://cdn.jsdelivr.net/npm/alpinejs@3.x.x/dist/cdn.min.js"></script>
|
2026-01-17 13:46:20 +02:00
|
|
|
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
|
|
|
|
|
|
|
|
|
|
<script>
|
2026-01-24 12:16:10 +02:00
|
|
|
// Smooth scrolling
|
2026-01-17 13:46:20 +02:00
|
|
|
document.querySelectorAll('a[href^="#"]').forEach(anchor => {
|
|
|
|
|
anchor.addEventListener('click', function (e) {
|
|
|
|
|
e.preventDefault();
|
|
|
|
|
const target = document.querySelector(this.getAttribute('href'));
|
|
|
|
|
if (target) {
|
2026-01-24 12:16:10 +02:00
|
|
|
target.scrollIntoView({ behavior: 'smooth', block: 'start' });
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
// Sync dark mode with Alpine.js
|
|
|
|
|
window.addEventListener('alpine:init', () => {
|
|
|
|
|
Alpine.effect(() => {
|
|
|
|
|
const darkMode = Alpine.store('darkMode');
|
|
|
|
|
if (darkMode) {
|
|
|
|
|
document.documentElement.classList.add('dark');
|
|
|
|
|
} else {
|
|
|
|
|
document.documentElement.classList.remove('dark');
|
2026-01-17 13:46:20 +02:00
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
</script>
|
|
|
|
|
</body>
|
|
|
|
|
</html>
|