public pages content
This commit is contained in:
27
templates/admin/support_articles.html
Normal file
27
templates/admin/support_articles.html
Normal file
@@ -0,0 +1,27 @@
|
||||
{% extends "common/base.html" %}
|
||||
|
||||
{% block title %}Support Articles - DocuPulse{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<div class="d-flex justify-content-between align-items-center mb-4">
|
||||
<h1 class="h3 mb-0" style="color: var(--primary-color);">
|
||||
<i class="fas fa-life-ring me-2"></i>Support Articles
|
||||
</h1>
|
||||
</div>
|
||||
|
||||
<div class="card border-0 shadow-sm">
|
||||
<div class="card-body">
|
||||
<div class="text-center py-5">
|
||||
<i class="fas fa-file-alt text-muted" style="font-size: 3rem; opacity: 0.5;"></i>
|
||||
<h4 class="text-muted mt-3">Support Articles</h4>
|
||||
<p class="text-muted">Content coming soon...</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
@@ -100,6 +100,11 @@
|
||||
<i class="fas fa-book"></i> Development Wiki
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link {% if request.endpoint == 'main.support_articles' %}active{% endif %}" href="{{ url_for('main.support_articles') }}">
|
||||
<i class="fas fa-life-ring"></i> Support Articles
|
||||
</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
<li class="nav-item">
|
||||
<a class="nav-link {% if request.endpoint == 'contacts.contacts_list' %}active{% endif %}" href="{{ url_for('contacts.contacts_list') }}">
|
||||
|
||||
138
templates/components/animated_numbers.html
Normal file
138
templates/components/animated_numbers.html
Normal file
@@ -0,0 +1,138 @@
|
||||
<!-- Animated Numbers Component -->
|
||||
<div class="stats-section">
|
||||
<div class="container">
|
||||
<div class="row text-center">
|
||||
{% for stat in stats %}
|
||||
<div class="col-md-{{ 12 // stats|length }}">
|
||||
<div class="stat-item">
|
||||
<span class="stat-number" data-value="{{ stat.value }}" data-suffix="{{ stat.suffix }}">{{ stat.display }}</span>
|
||||
<div class="stat-label">{{ stat.label }}</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<style>
|
||||
.stats-section {
|
||||
background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
|
||||
color: white;
|
||||
padding: 80px 0;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.stats-section::before {
|
||||
content: '';
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="grain" width="100" height="100" patternUnits="userSpaceOnUse"><circle cx="50" cy="50" r="1" fill="white" opacity="0.1"/></pattern></defs><rect width="100" height="100" fill="url(%23grain)"/></svg>');
|
||||
opacity: 0.3;
|
||||
}
|
||||
|
||||
.stat-item {
|
||||
text-align: center;
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.stat-number {
|
||||
font-size: 3rem;
|
||||
font-weight: 700;
|
||||
margin-bottom: 10px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
text-align: center;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.stat-label {
|
||||
font-size: 1.1rem;
|
||||
opacity: 0.9;
|
||||
text-align: center;
|
||||
}
|
||||
</style>
|
||||
|
||||
<script>
|
||||
// Function to animate number counting
|
||||
function animateNumber(element, endValue, suffix = '', duration = 2000) {
|
||||
const start = performance.now();
|
||||
const startValue = 0;
|
||||
const difference = endValue - startValue;
|
||||
|
||||
function updateNumber(currentTime) {
|
||||
const elapsed = currentTime - start;
|
||||
const progress = Math.min(elapsed / duration, 1);
|
||||
|
||||
// Easing function for smooth animation
|
||||
const easeOutQuart = 1 - Math.pow(1 - progress, 4);
|
||||
const currentValue = startValue + (difference * easeOutQuart);
|
||||
|
||||
// Format the number based on the suffix
|
||||
let displayValue;
|
||||
if (suffix === '%') {
|
||||
displayValue = currentValue.toFixed(1) + suffix;
|
||||
} else if (suffix === '-bit') {
|
||||
displayValue = Math.round(currentValue) + suffix;
|
||||
} else if (suffix === '/7') {
|
||||
displayValue = Math.round(currentValue) + suffix;
|
||||
} else if (suffix === '+') {
|
||||
displayValue = Math.round(currentValue) + suffix;
|
||||
} else if (suffix === 'K+') {
|
||||
displayValue = Math.round(currentValue) + suffix;
|
||||
} else {
|
||||
displayValue = Math.round(currentValue) + (suffix || '');
|
||||
}
|
||||
|
||||
element.textContent = displayValue;
|
||||
|
||||
if (progress < 1) {
|
||||
requestAnimationFrame(updateNumber);
|
||||
} else {
|
||||
// Ensure the final value is correct
|
||||
element.textContent = element.getAttribute('data-value') + (suffix || '');
|
||||
}
|
||||
}
|
||||
|
||||
requestAnimationFrame(updateNumber);
|
||||
}
|
||||
|
||||
// Initialize animated numbers when component is loaded
|
||||
document.addEventListener('DOMContentLoaded', function() {
|
||||
const statsObserver = new IntersectionObserver(function(entries) {
|
||||
entries.forEach(entry => {
|
||||
if (entry.isIntersecting) {
|
||||
const statNumbers = entry.target.querySelectorAll('.stat-number');
|
||||
statNumbers.forEach((stat, index) => {
|
||||
setTimeout(() => {
|
||||
const value = parseFloat(stat.getAttribute('data-value'));
|
||||
const suffix = stat.getAttribute('data-suffix') || '';
|
||||
|
||||
if (!isNaN(value)) {
|
||||
animateNumber(stat, value, suffix, 2000);
|
||||
}
|
||||
}, index * 300); // Stagger the animations
|
||||
});
|
||||
|
||||
// Only trigger once
|
||||
statsObserver.unobserve(entry.target);
|
||||
}
|
||||
});
|
||||
}, { threshold: 0.5 });
|
||||
|
||||
// Observe the stats section
|
||||
const statsSection = document.querySelector('.stats-section');
|
||||
if (statsSection) {
|
||||
statsObserver.observe(statsSection);
|
||||
}
|
||||
});
|
||||
</script>
|
||||
@@ -17,7 +17,6 @@
|
||||
<h6 class="mb-3" style="color: var(--white);">Company</h6>
|
||||
<ul class="list-unstyled">
|
||||
<li><a href="#" style="color: var(--border-light); text-decoration: none;">About</a></li>
|
||||
<li><a href="#" style="color: var(--border-light); text-decoration: none;">Blog</a></li>
|
||||
<li><a href="#" style="color: var(--border-light); text-decoration: none;">Careers</a></li>
|
||||
<li><a href="#" style="color: var(--border-light); text-decoration: none;">Press</a></li>
|
||||
</ul>
|
||||
@@ -27,7 +26,6 @@
|
||||
<ul class="list-unstyled">
|
||||
<li><a href="#" style="color: var(--border-light); text-decoration: none;">Help Center</a></li>
|
||||
<li><a href="#contact" style="color: var(--border-light); text-decoration: none;">Contact</a></li>
|
||||
<li><a href="#" style="color: var(--border-light); text-decoration: none;">Status</a></li>
|
||||
<li><a href="#" style="color: var(--border-light); text-decoration: none;">Security</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
@@ -36,8 +34,7 @@
|
||||
<ul class="list-unstyled">
|
||||
<li><a href="#" style="color: var(--border-light); text-decoration: none;">Privacy</a></li>
|
||||
<li><a href="#" style="color: var(--border-light); text-decoration: none;">Terms</a></li>
|
||||
<li><a href="#" style="color: var(--border-light); text-decoration: none;">GDPR</a></li>
|
||||
<li><a href="#" style="color: var(--border-light); text-decoration: none;">Compliance</a></li>
|
||||
<li><a href="#" style="color: var(--border-light); text-decoration: none;">Cookies</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -24,7 +24,6 @@
|
||||
</a>
|
||||
<ul class="dropdown-menu" style="background-color: var(--white); border: 1px solid var(--border-color); box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);">
|
||||
<li><a class="dropdown-item" href="{{ url_for('public.about') }}" style="color: var(--text-dark);">About</a></li>
|
||||
<li><a class="dropdown-item" href="{{ url_for('public.blog') }}" style="color: var(--text-dark);">Blog</a></li>
|
||||
<li><a class="dropdown-item" href="{{ url_for('public.careers') }}" style="color: var(--text-dark);">Careers</a></li>
|
||||
<li><a class="dropdown-item" href="{{ url_for('public.press') }}" style="color: var(--text-dark);">Press</a></li>
|
||||
</ul>
|
||||
@@ -36,7 +35,6 @@
|
||||
<ul class="dropdown-menu" style="background-color: var(--white); border: 1px solid var(--border-color); box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);">
|
||||
<li><a class="dropdown-item" href="{{ url_for('public.help_center') }}" style="color: var(--text-dark);">Help Center</a></li>
|
||||
<li><a class="dropdown-item" href="{{ url_for('public.contact') }}" style="color: var(--text-dark);">Contact</a></li>
|
||||
<li><a class="dropdown-item" href="{{ url_for('public.status') }}" style="color: var(--text-dark);">Status</a></li>
|
||||
<li><a class="dropdown-item" href="{{ url_for('public.security') }}" style="color: var(--text-dark);">Security</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
@@ -47,8 +45,7 @@
|
||||
<ul class="dropdown-menu" style="background-color: var(--white); border: 1px solid var(--border-color); box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);">
|
||||
<li><a class="dropdown-item" href="{{ url_for('public.privacy') }}" style="color: var(--text-dark);">Privacy</a></li>
|
||||
<li><a class="dropdown-item" href="{{ url_for('public.terms') }}" style="color: var(--text-dark);">Terms</a></li>
|
||||
<li><a class="dropdown-item" href="{{ url_for('public.gdpr') }}" style="color: var(--text-dark);">GDPR</a></li>
|
||||
<li><a class="dropdown-item" href="{{ url_for('public.compliance') }}" style="color: var(--text-dark);">Compliance</a></li>
|
||||
<li><a class="dropdown-item" href="{{ url_for('public.cookies') }}" style="color: var(--text-dark);">Cookies</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
@@ -114,43 +114,6 @@
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.stats-section {
|
||||
background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
|
||||
color: white;
|
||||
padding: 80px 0;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.stats-section::before {
|
||||
content: '';
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="grain" width="100" height="100" patternUnits="userSpaceOnUse"><circle cx="50" cy="50" r="1" fill="white" opacity="0.1"/></pattern></defs><rect width="100" height="100" fill="url(%23grain)"/></svg>');
|
||||
opacity: 0.3;
|
||||
}
|
||||
|
||||
.stat-item {
|
||||
text-align: center;
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
.stat-number {
|
||||
font-size: 3rem;
|
||||
font-weight: 700;
|
||||
margin-bottom: 10px;
|
||||
display: block;
|
||||
}
|
||||
|
||||
.stat-label {
|
||||
font-size: 1.1rem;
|
||||
opacity: 0.9;
|
||||
}
|
||||
|
||||
.gradient-text {
|
||||
background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
|
||||
-webkit-background-clip: text;
|
||||
@@ -163,6 +126,7 @@
|
||||
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
|
||||
gap: 30px;
|
||||
margin-top: 50px;
|
||||
justify-items: center;
|
||||
}
|
||||
|
||||
.value-card {
|
||||
@@ -173,12 +137,22 @@
|
||||
box-shadow: 0 10px 25px var(--shadow-color);
|
||||
transition: transform 0.3s ease;
|
||||
border: none;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: flex-start;
|
||||
}
|
||||
|
||||
.value-card:hover {
|
||||
transform: translateY(-5px);
|
||||
}
|
||||
|
||||
.value-card h4,
|
||||
.value-card p {
|
||||
text-align: center;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.value-icon {
|
||||
width: 60px;
|
||||
height: 60px;
|
||||
@@ -210,6 +184,41 @@
|
||||
left: 20px;
|
||||
}
|
||||
}
|
||||
|
||||
/* Button styles to match home page */
|
||||
.btn-primary {
|
||||
background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
|
||||
border: none;
|
||||
border-radius: 25px;
|
||||
padding: 12px 30px;
|
||||
font-weight: 600;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
.btn-primary:hover {
|
||||
background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
|
||||
transform: translateY(-2px);
|
||||
box-shadow: 0 5px 15px var(--primary-opacity-15);
|
||||
filter: brightness(1.1);
|
||||
}
|
||||
.btn-outline-primary {
|
||||
border: 2px solid var(--primary-color);
|
||||
color: var(--primary-color);
|
||||
border-radius: 25px;
|
||||
padding: 12px 30px;
|
||||
font-weight: 600;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
.btn-outline-primary:hover {
|
||||
background: rgba(var(--primary-color-rgb), 0.05);
|
||||
border-color: var(--primary-color);
|
||||
color: var(--primary-color);
|
||||
transform: translateY(-2px);
|
||||
box-shadow: 0 5px 15px rgba(var(--primary-color-rgb), 0.1);
|
||||
}
|
||||
.btn-lg {
|
||||
padding: 15px 40px;
|
||||
font-size: 1.1rem;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
@@ -254,36 +263,14 @@
|
||||
</section>
|
||||
|
||||
<!-- Company Stats -->
|
||||
<section class="stats-section">
|
||||
<div class="container">
|
||||
<div class="row text-center">
|
||||
<div class="col-md-3">
|
||||
<div class="stat-item">
|
||||
<span class="stat-number">500+</span>
|
||||
<div class="stat-label">Enterprise Clients</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-3">
|
||||
<div class="stat-item">
|
||||
<span class="stat-number">50K+</span>
|
||||
<div class="stat-label">Active Users</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-3">
|
||||
<div class="stat-item">
|
||||
<span class="stat-number">99.9%</span>
|
||||
<div class="stat-label">Uptime</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-3">
|
||||
<div class="stat-item">
|
||||
<span class="stat-number">24/7</span>
|
||||
<div class="stat-label">Support</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
{% with stats=[
|
||||
{'value': 500, 'suffix': '+', 'display': '500+', 'label': 'Enterprise Clients'},
|
||||
{'value': 50, 'suffix': 'K+', 'display': '50K+', 'label': 'Active Users'},
|
||||
{'value': 99.9, 'suffix': '%', 'display': '99.9%', 'label': 'Uptime'},
|
||||
{'value': 24, 'suffix': '/7', 'display': '24/7', 'label': 'Support'}
|
||||
] %}
|
||||
{% include 'components/animated_numbers.html' %}
|
||||
{% endwith %}
|
||||
|
||||
<!-- Our Values -->
|
||||
<section class="about-section" style="background-color: var(--bg-color);">
|
||||
@@ -396,52 +383,28 @@
|
||||
<div class="row">
|
||||
<div class="col-lg-4 col-md-6">
|
||||
<div class="team-member">
|
||||
<div class="team-avatar">SJ</div>
|
||||
<h4 class="fw-bold">Sarah Johnson</h4>
|
||||
<div class="team-avatar">EW</div>
|
||||
<h4 class="fw-bold">Eric Wyns</h4>
|
||||
<p class="text-primary fw-semibold">CEO & Co-Founder</p>
|
||||
<p class="text-muted">Former VP of Engineering at TechCorp with 15+ years of experience in enterprise software.</p>
|
||||
<p class="text-muted">Discription here</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-4 col-md-6">
|
||||
<div class="team-member">
|
||||
<div class="team-avatar">MC</div>
|
||||
<h4 class="fw-bold">Michael Chen</h4>
|
||||
<div class="team-avatar">KA</div>
|
||||
<h4 class="fw-bold">Kobe Amerijckx</h4>
|
||||
<p class="text-primary fw-semibold">CTO & Co-Founder</p>
|
||||
<p class="text-muted">Expert in cloud architecture and security with a background in building scalable platforms.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-4 col-md-6">
|
||||
<div class="team-member">
|
||||
<div class="team-avatar">AR</div>
|
||||
<h4 class="fw-bold">Amanda Rodriguez</h4>
|
||||
<div class="team-avatar">KT</div>
|
||||
<h4 class="fw-bold">Kelly Tordeur</h4>
|
||||
<p class="text-primary fw-semibold">VP of Product</p>
|
||||
<p class="text-muted">Product leader with experience in user experience design and enterprise software development.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-4 col-md-6">
|
||||
<div class="team-member">
|
||||
<div class="team-avatar">DK</div>
|
||||
<h4 class="fw-bold">David Kim</h4>
|
||||
<p class="text-primary fw-semibold">VP of Engineering</p>
|
||||
<p class="text-muted">Engineering leader focused on building robust, scalable systems and mentoring development teams.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-4 col-md-6">
|
||||
<div class="team-member">
|
||||
<div class="team-avatar">LW</div>
|
||||
<h4 class="fw-bold">Lisa Wang</h4>
|
||||
<p class="text-primary fw-semibold">VP of Sales</p>
|
||||
<p class="text-muted">Sales leader with deep experience in enterprise software sales and customer success.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-4 col-md-6">
|
||||
<div class="team-member">
|
||||
<div class="team-avatar">RJ</div>
|
||||
<h4 class="fw-bold">Robert Johnson</h4>
|
||||
<p class="text-primary fw-semibold">VP of Marketing</p>
|
||||
<p class="text-muted">Marketing strategist focused on building brand awareness and driving customer acquisition.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
@@ -453,14 +416,9 @@
|
||||
<div class="col-lg-8 text-center">
|
||||
<h2 class="display-5 fw-bold mb-4">Join Us in Shaping the Future</h2>
|
||||
<p class="lead text-muted mb-5">Ready to experience the next generation of document management? Let's work together to transform how your organization handles documents.</p>
|
||||
<div class="d-flex justify-content-center gap-3 flex-wrap">
|
||||
<a href="{{ url_for('public.contact') }}" class="btn btn-primary btn-lg px-5 py-3">
|
||||
<i class="fas fa-envelope me-2"></i>Get in Touch
|
||||
</a>
|
||||
<a href="{{ url_for('public.careers') }}" class="btn btn-outline-primary btn-lg px-5 py-3">
|
||||
<i class="fas fa-users me-2"></i>Join Our Team
|
||||
</a>
|
||||
</div>
|
||||
{% with primary_url=url_for('public.contact'), primary_icon='fas fa-envelope', primary_text='Get in Touch', secondary_url=url_for('public.careers'), secondary_icon='fas fa-users', secondary_text='Join Our Team' %}
|
||||
{% include 'components/cta_buttons.html' %}
|
||||
{% endwith %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -1,436 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Blog - DocuPulse</title>
|
||||
<meta name="description" content="Stay updated with the latest insights, tips, and news about document management, enterprise collaboration, and DocuPulse updates.">
|
||||
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css">
|
||||
<link rel="stylesheet" href="{{ url_for('static', filename='css/colors.css') }}?v={{ 'css/colors.css'|asset_version }}">
|
||||
<style>
|
||||
.blog-section {
|
||||
padding: 80px 0;
|
||||
}
|
||||
|
||||
.featured-post {
|
||||
background: var(--white);
|
||||
border-radius: 20px;
|
||||
overflow: hidden;
|
||||
box-shadow: 0 15px 35px var(--shadow-color);
|
||||
transition: transform 0.3s ease;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.featured-post:hover {
|
||||
transform: translateY(-5px);
|
||||
}
|
||||
|
||||
.featured-image {
|
||||
height: 250px;
|
||||
background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
color: white;
|
||||
font-size: 3rem;
|
||||
}
|
||||
|
||||
.blog-card {
|
||||
background: var(--white);
|
||||
border-radius: 15px;
|
||||
overflow: hidden;
|
||||
box-shadow: 0 10px 25px var(--shadow-color);
|
||||
transition: transform 0.3s ease;
|
||||
height: 100%;
|
||||
border: none;
|
||||
}
|
||||
|
||||
.blog-card:hover {
|
||||
transform: translateY(-5px);
|
||||
}
|
||||
|
||||
.blog-image {
|
||||
height: 200px;
|
||||
background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
color: white;
|
||||
font-size: 2rem;
|
||||
}
|
||||
|
||||
.blog-content {
|
||||
padding: 25px;
|
||||
}
|
||||
|
||||
.blog-meta {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 15px;
|
||||
margin-bottom: 15px;
|
||||
font-size: 0.9rem;
|
||||
color: var(--text-muted);
|
||||
}
|
||||
|
||||
.blog-category {
|
||||
background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
|
||||
color: white;
|
||||
padding: 4px 12px;
|
||||
border-radius: 20px;
|
||||
font-size: 0.8rem;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.category-card {
|
||||
background: var(--white);
|
||||
border-radius: 15px;
|
||||
padding: 30px;
|
||||
text-align: center;
|
||||
box-shadow: 0 10px 25px var(--shadow-color);
|
||||
transition: transform 0.3s ease;
|
||||
border: none;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.category-card:hover {
|
||||
transform: translateY(-5px);
|
||||
}
|
||||
|
||||
.category-icon {
|
||||
width: 60px;
|
||||
height: 60px;
|
||||
background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
|
||||
border-radius: 15px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
margin: 0 auto 20px;
|
||||
color: white;
|
||||
font-size: 1.5rem;
|
||||
}
|
||||
|
||||
.newsletter-section {
|
||||
background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
|
||||
color: white;
|
||||
padding: 60px 0;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.newsletter-section::before {
|
||||
content: '';
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="grain" width="100" height="100" patternUnits="userSpaceOnUse"><circle cx="50" cy="50" r="1" fill="white" opacity="0.1"/></pattern></defs><rect width="100" height="100" fill="url(%23grain)"/></svg>');
|
||||
opacity: 0.3;
|
||||
}
|
||||
|
||||
.newsletter-content {
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
.search-box {
|
||||
background: var(--white);
|
||||
border-radius: 15px;
|
||||
padding: 20px;
|
||||
box-shadow: 0 10px 25px var(--shadow-color);
|
||||
margin-bottom: 40px;
|
||||
}
|
||||
|
||||
.search-input {
|
||||
border: none;
|
||||
outline: none;
|
||||
width: 100%;
|
||||
padding: 10px 15px;
|
||||
border-radius: 10px;
|
||||
background: var(--bg-color);
|
||||
}
|
||||
|
||||
.search-input:focus {
|
||||
background: white;
|
||||
box-shadow: 0 0 0 2px var(--primary-color);
|
||||
}
|
||||
|
||||
.gradient-text {
|
||||
background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
|
||||
-webkit-background-clip: text;
|
||||
-webkit-text-fill-color: transparent;
|
||||
background-clip: text;
|
||||
}
|
||||
|
||||
.read-more {
|
||||
color: var(--primary-color);
|
||||
text-decoration: none;
|
||||
font-weight: 600;
|
||||
transition: color 0.3s ease;
|
||||
}
|
||||
|
||||
.read-more:hover {
|
||||
color: var(--secondary-color);
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
{% include 'components/header_nav.html' %}
|
||||
|
||||
<!-- Hero Section -->
|
||||
{% with
|
||||
title="DocuPulse Blog",
|
||||
description="Insights, tips, and updates on document management, enterprise collaboration, and digital transformation.",
|
||||
title_size="4",
|
||||
description_size="5"
|
||||
%}
|
||||
{% include 'components/hero_section.html' %}
|
||||
{% endwith %}
|
||||
|
||||
<!-- Search and Categories -->
|
||||
<section class="blog-section">
|
||||
<div class="container">
|
||||
<!-- Search Box -->
|
||||
<div class="search-box">
|
||||
<div class="input-group">
|
||||
<span class="input-group-text bg-transparent border-0">
|
||||
<i class="fas fa-search text-muted"></i>
|
||||
</span>
|
||||
<input type="text" class="form-control search-input" placeholder="Search articles..." id="searchInput">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Categories -->
|
||||
<div class="row g-4 mb-5">
|
||||
<div class="col-lg-3 col-md-6">
|
||||
<div class="category-card" data-category="all">
|
||||
<div class="category-icon">
|
||||
<i class="fas fa-th-large"></i>
|
||||
</div>
|
||||
<h5 class="fw-bold">All Posts</h5>
|
||||
<p class="text-muted small">Browse all articles</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-3 col-md-6">
|
||||
<div class="category-card" data-category="product">
|
||||
<div class="category-icon">
|
||||
<i class="fas fa-cube"></i>
|
||||
</div>
|
||||
<h5 class="fw-bold">Product Updates</h5>
|
||||
<p class="text-muted small">Latest features and improvements</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-3 col-md-6">
|
||||
<div class="category-card" data-category="tips">
|
||||
<div class="category-icon">
|
||||
<i class="fas fa-lightbulb"></i>
|
||||
</div>
|
||||
<h5 class="fw-bold">Tips & Tricks</h5>
|
||||
<p class="text-muted small">Best practices and workflows</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-3 col-md-6">
|
||||
<div class="category-card" data-category="industry">
|
||||
<div class="category-icon">
|
||||
<i class="fas fa-chart-line"></i>
|
||||
</div>
|
||||
<h5 class="fw-bold">Industry Insights</h5>
|
||||
<p class="text-muted small">Trends and analysis</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Featured Post -->
|
||||
<div class="row mb-5">
|
||||
<div class="col-12">
|
||||
<h2 class="display-6 fw-bold mb-4">Featured Article</h2>
|
||||
<div class="featured-post">
|
||||
<div class="row g-0">
|
||||
<div class="col-lg-6">
|
||||
<div class="featured-image">
|
||||
<i class="fas fa-shield-alt"></i>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-6">
|
||||
<div class="blog-content">
|
||||
<div class="blog-meta">
|
||||
<span class="blog-category">Security</span>
|
||||
<span><i class="fas fa-calendar me-1"></i>March 15, 2024</span>
|
||||
<span><i class="fas fa-clock me-1"></i>8 min read</span>
|
||||
</div>
|
||||
<h3 class="h4 fw-bold mb-3">The Future of Enterprise Document Security</h3>
|
||||
<p class="text-muted mb-4">As cyber threats continue to evolve, organizations must adopt advanced security measures to protect their sensitive documents. This comprehensive guide explores the latest security trends and best practices for enterprise document management.</p>
|
||||
<a href="#" class="read-more">Read Full Article <i class="fas fa-arrow-right ms-1"></i></a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Recent Posts -->
|
||||
<div class="row mb-5">
|
||||
<div class="col-12">
|
||||
<h2 class="display-6 fw-bold mb-4">Recent Posts</h2>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row g-4">
|
||||
<div class="col-lg-4 col-md-6">
|
||||
<div class="blog-card">
|
||||
<div class="blog-image">
|
||||
<i class="fas fa-users"></i>
|
||||
</div>
|
||||
<div class="blog-content">
|
||||
<div class="blog-meta">
|
||||
<span class="blog-category">Collaboration</span>
|
||||
<span><i class="fas fa-calendar me-1"></i>March 12, 2024</span>
|
||||
</div>
|
||||
<h4 class="h5 fw-bold mb-3">Building Effective Remote Teams with Document Management</h4>
|
||||
<p class="text-muted mb-3">Discover how modern document management tools are enabling seamless collaboration for distributed teams across the globe.</p>
|
||||
<a href="#" class="read-more">Read More <i class="fas fa-arrow-right ms-1"></i></a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-lg-4 col-md-6">
|
||||
<div class="blog-card">
|
||||
<div class="blog-image">
|
||||
<i class="fas fa-robot"></i>
|
||||
</div>
|
||||
<div class="blog-content">
|
||||
<div class="blog-meta">
|
||||
<span class="blog-category">AI</span>
|
||||
<span><i class="fas fa-calendar me-1"></i>March 10, 2024</span>
|
||||
</div>
|
||||
<h4 class="h5 fw-bold mb-3">AI-Powered Document Processing: What's Next?</h4>
|
||||
<p class="text-muted mb-3">Explore the cutting-edge AI technologies that are revolutionizing how we process, analyze, and manage documents in the enterprise.</p>
|
||||
<a href="#" class="read-more">Read More <i class="fas fa-arrow-right ms-1"></i></a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-lg-4 col-md-6">
|
||||
<div class="blog-card">
|
||||
<div class="blog-image">
|
||||
<i class="fas fa-chart-bar"></i>
|
||||
</div>
|
||||
<div class="blog-content">
|
||||
<div class="blog-meta">
|
||||
<span class="blog-category">Analytics</span>
|
||||
<span><i class="fas fa-calendar me-1"></i>March 8, 2024</span>
|
||||
</div>
|
||||
<h4 class="h5 fw-bold mb-3">Document Analytics: Unlocking Hidden Insights</h4>
|
||||
<p class="text-muted mb-3">Learn how document analytics can provide valuable insights into workflow efficiency and help optimize business processes.</p>
|
||||
<a href="#" class="read-more">Read More <i class="fas fa-arrow-right ms-1"></i></a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-lg-4 col-md-6">
|
||||
<div class="blog-card">
|
||||
<div class="blog-image">
|
||||
<i class="fas fa-mobile-alt"></i>
|
||||
</div>
|
||||
<div class="blog-content">
|
||||
<div class="blog-meta">
|
||||
<span class="blog-category">Mobile</span>
|
||||
<span><i class="fas fa-calendar me-1"></i>March 5, 2024</span>
|
||||
</div>
|
||||
<h4 class="h5 fw-bold mb-3">Mobile Document Management: Best Practices</h4>
|
||||
<p class="text-muted mb-3">Essential tips for implementing effective mobile document management strategies that keep your team productive on the go.</p>
|
||||
<a href="#" class="read-more">Read More <i class="fas fa-arrow-right ms-1"></i></a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-lg-4 col-md-6">
|
||||
<div class="blog-card">
|
||||
<div class="blog-image">
|
||||
<i class="fas fa-gavel"></i>
|
||||
</div>
|
||||
<div class="blog-content">
|
||||
<div class="blog-meta">
|
||||
<span class="blog-category">Compliance</span>
|
||||
<span><i class="fas fa-calendar me-1"></i>March 3, 2024</span>
|
||||
</div>
|
||||
<h4 class="h5 fw-bold mb-3">Compliance in the Digital Age: A Complete Guide</h4>
|
||||
<p class="text-muted mb-3">Navigate the complex landscape of regulatory compliance with our comprehensive guide to digital document management.</p>
|
||||
<a href="#" class="read-more">Read More <i class="fas fa-arrow-right ms-1"></i></a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-lg-4 col-md-6">
|
||||
<div class="blog-card">
|
||||
<div class="blog-image">
|
||||
<i class="fas fa-cloud"></i>
|
||||
</div>
|
||||
<div class="blog-content">
|
||||
<div class="blog-meta">
|
||||
<span class="blog-category">Cloud</span>
|
||||
<span><i class="fas fa-calendar me-1"></i>March 1, 2024</span>
|
||||
</div>
|
||||
<h4 class="h5 fw-bold mb-3">Cloud vs On-Premise: Making the Right Choice</h4>
|
||||
<p class="text-muted mb-3">Compare cloud-based and on-premise document management solutions to find the best fit for your organization.</p>
|
||||
<a href="#" class="read-more">Read More <i class="fas fa-arrow-right ms-1"></i></a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Load More Button -->
|
||||
<div class="text-center mt-5">
|
||||
<button class="btn btn-outline-primary btn-lg px-5 py-3">
|
||||
<i class="fas fa-plus me-2"></i>Load More Articles
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Newsletter Section -->
|
||||
<section class="newsletter-section">
|
||||
<div class="container">
|
||||
<div class="row justify-content-center">
|
||||
<div class="col-lg-8 text-center newsletter-content">
|
||||
<h2 class="display-5 fw-bold mb-4">Stay Updated</h2>
|
||||
<p class="lead mb-5">Get the latest insights, tips, and updates delivered directly to your inbox.</p>
|
||||
<div class="row justify-content-center">
|
||||
<div class="col-md-8">
|
||||
<div class="input-group">
|
||||
<input type="email" class="form-control form-control-lg" placeholder="Enter your email address" style="border-radius: 25px 0 0 25px; border: none;">
|
||||
<button class="btn btn-light btn-lg" type="button" style="border-radius: 0 25px 25px 0; border: none;">
|
||||
<i class="fas fa-paper-plane me-2"></i>Subscribe
|
||||
</button>
|
||||
</div>
|
||||
<p class="text-white-50 mt-3 small">No spam, unsubscribe at any time. We respect your privacy.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
{% include 'components/footer_nav.html' %}
|
||||
|
||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
|
||||
<script>
|
||||
// Category filtering
|
||||
document.querySelectorAll('.category-card').forEach(card => {
|
||||
card.addEventListener('click', function() {
|
||||
const category = this.dataset.category;
|
||||
// Add filtering logic here
|
||||
console.log('Filtering by category:', category);
|
||||
});
|
||||
});
|
||||
|
||||
// Search functionality
|
||||
document.getElementById('searchInput').addEventListener('input', function() {
|
||||
const searchTerm = this.value.toLowerCase();
|
||||
// Add search logic here
|
||||
console.log('Searching for:', searchTerm);
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -67,45 +67,6 @@
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.benefits-section {
|
||||
background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
|
||||
color: white;
|
||||
padding: 80px 0;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.benefits-section::before {
|
||||
content: '';
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="grain" width="100" height="100" patternUnits="userSpaceOnUse"><circle cx="50" cy="50" r="1" fill="white" opacity="0.1"/></pattern></defs><rect width="100" height="100" fill="url(%23grain)"/></svg>');
|
||||
opacity: 0.3;
|
||||
}
|
||||
|
||||
.benefit-item {
|
||||
text-align: center;
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
margin-bottom: 30px;
|
||||
}
|
||||
|
||||
.benefit-icon {
|
||||
width: 60px;
|
||||
height: 60px;
|
||||
background: rgba(255, 255, 255, 0.2);
|
||||
border-radius: 15px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
margin: 0 auto 20px;
|
||||
color: white;
|
||||
font-size: 1.5rem;
|
||||
}
|
||||
|
||||
.application-form {
|
||||
background: var(--white);
|
||||
border-radius: 20px;
|
||||
@@ -143,27 +104,39 @@
|
||||
margin-bottom: 30px;
|
||||
}
|
||||
|
||||
.stats-section {
|
||||
background-color: var(--bg-color);
|
||||
padding: 60px 0;
|
||||
/* Button styles to match home page */
|
||||
.btn-primary {
|
||||
background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
|
||||
border: none;
|
||||
border-radius: 25px;
|
||||
padding: 12px 30px;
|
||||
font-weight: 600;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
.stat-item {
|
||||
text-align: center;
|
||||
margin-bottom: 30px;
|
||||
.btn-primary:hover {
|
||||
background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
|
||||
transform: translateY(-2px);
|
||||
box-shadow: 0 5px 15px var(--primary-opacity-15);
|
||||
filter: brightness(1.1);
|
||||
}
|
||||
|
||||
.stat-number {
|
||||
font-size: 2.5rem;
|
||||
font-weight: 700;
|
||||
.btn-outline-primary {
|
||||
border: 2px solid var(--primary-color);
|
||||
color: var(--primary-color);
|
||||
margin-bottom: 10px;
|
||||
display: block;
|
||||
border-radius: 25px;
|
||||
padding: 12px 30px;
|
||||
font-weight: 600;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
.stat-label {
|
||||
font-size: 1rem;
|
||||
color: var(--text-muted);
|
||||
.btn-outline-primary:hover {
|
||||
background: rgba(var(--primary-color-rgb), 0.05);
|
||||
border-color: var(--primary-color);
|
||||
color: var(--primary-color);
|
||||
transform: translateY(-2px);
|
||||
box-shadow: 0 5px 15px rgba(var(--primary-color-rgb), 0.1);
|
||||
}
|
||||
.btn-lg {
|
||||
padding: 15px 40px;
|
||||
font-size: 1.1rem;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
@@ -220,123 +193,17 @@
|
||||
</section>
|
||||
|
||||
<!-- Company Stats -->
|
||||
<section class="stats-section">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-md-3">
|
||||
<div class="stat-item">
|
||||
<span class="stat-number">50+</span>
|
||||
<div class="stat-label">Team Members</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-3">
|
||||
<div class="stat-item">
|
||||
<span class="stat-number">15+</span>
|
||||
<div class="stat-label">Countries</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-3">
|
||||
<div class="stat-item">
|
||||
<span class="stat-number">4.8</span>
|
||||
<div class="stat-label">Glassdoor Rating</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-3">
|
||||
<div class="stat-item">
|
||||
<span class="stat-number">95%</span>
|
||||
<div class="stat-label">Retention Rate</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Benefits -->
|
||||
<section class="benefits-section">
|
||||
<div class="container">
|
||||
<div class="text-center mb-5">
|
||||
<h2 class="display-5 fw-bold mb-3">Benefits & Perks</h2>
|
||||
<p class="lead">We take care of our team with comprehensive benefits and perks</p>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-lg-3 col-md-6">
|
||||
<div class="benefit-item">
|
||||
<div class="benefit-icon">
|
||||
<i class="fas fa-medical-kit"></i>
|
||||
</div>
|
||||
<h5 class="fw-bold">Health Insurance</h5>
|
||||
<p class="opacity-75">Comprehensive health, dental, and vision coverage for you and your family.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-3 col-md-6">
|
||||
<div class="benefit-item">
|
||||
<div class="benefit-icon">
|
||||
<i class="fas fa-home"></i>
|
||||
</div>
|
||||
<h5 class="fw-bold">Remote Work</h5>
|
||||
<p class="opacity-75">Work from anywhere with our flexible remote work policy and home office stipend.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-3 col-md-6">
|
||||
<div class="benefit-item">
|
||||
<div class="benefit-icon">
|
||||
<i class="fas fa-graduation-cap"></i>
|
||||
</div>
|
||||
<h5 class="fw-bold">Learning Budget</h5>
|
||||
<p class="opacity-75">Annual budget for courses, conferences, and professional development.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-3 col-md-6">
|
||||
<div class="benefit-item">
|
||||
<div class="benefit-icon">
|
||||
<i class="fas fa-calendar-alt"></i>
|
||||
</div>
|
||||
<h5 class="fw-bold">Unlimited PTO</h5>
|
||||
<p class="opacity-75">Take time off when you need it with our unlimited paid time off policy.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-3 col-md-6">
|
||||
<div class="benefit-item">
|
||||
<div class="benefit-icon">
|
||||
<i class="fas fa-coffee"></i>
|
||||
</div>
|
||||
<h5 class="fw-bold">Team Events</h5>
|
||||
<p class="opacity-75">Regular team building events, happy hours, and company retreats.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-3 col-md-6">
|
||||
<div class="benefit-item">
|
||||
<div class="benefit-icon">
|
||||
<i class="fas fa-laptop"></i>
|
||||
</div>
|
||||
<h5 class="fw-bold">Equipment</h5>
|
||||
<p class="opacity-75">Latest MacBook Pro, monitor, and any other tools you need to succeed.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-3 col-md-6">
|
||||
<div class="benefit-item">
|
||||
<div class="benefit-icon">
|
||||
<i class="fas fa-chart-line"></i>
|
||||
</div>
|
||||
<h5 class="fw-bold">Stock Options</h5>
|
||||
<p class="opacity-75">Own a piece of the company with our competitive equity package.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-3 col-md-6">
|
||||
<div class="benefit-item">
|
||||
<div class="benefit-icon">
|
||||
<i class="fas fa-utensils"></i>
|
||||
</div>
|
||||
<h5 class="fw-bold">Meals & Snacks</h5>
|
||||
<p class="opacity-75">Free lunch, snacks, and beverages when working from the office.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
{% with stats=[
|
||||
{'value': 15, 'suffix': '+', 'display': '15+', 'label': 'Team Members'},
|
||||
{'value': 10, 'suffix': '+', 'display': '10+', 'label': 'Countries'},
|
||||
{'value': 4.8, 'suffix': '', 'display': '4.8', 'label': 'Glassdoor Rating'},
|
||||
{'value': 95, 'suffix': '%', 'display': '95%', 'label': 'Retention Rate'}
|
||||
] %}
|
||||
{% include 'components/animated_numbers.html' %}
|
||||
{% endwith %}
|
||||
|
||||
<!-- Open Positions -->
|
||||
<section class="careers-section">
|
||||
<section id="positions" class="careers-section">
|
||||
<div class="container">
|
||||
<div class="text-center mb-5">
|
||||
<h2 class="display-5 fw-bold mb-3">Open Positions</h2>
|
||||
|
||||
535
templates/public/compliance.html
Normal file
535
templates/public/compliance.html
Normal file
@@ -0,0 +1,535 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Compliance & Certifications - DocuPulse</title>
|
||||
<meta name="description" content="Learn about DocuPulse's compliance certifications including SOC 2, ISO 27001, GDPR, and other industry standards.">
|
||||
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css">
|
||||
<link rel="stylesheet" href="{{ url_for('static', filename='css/colors.css') }}?v={{ 'css/colors.css'|asset_version }}">
|
||||
<style>
|
||||
.legal-section {
|
||||
padding: 80px 0;
|
||||
}
|
||||
|
||||
.legal-content {
|
||||
background: var(--white);
|
||||
border-radius: 20px;
|
||||
padding: 40px;
|
||||
box-shadow: 0 10px 25px var(--shadow-color);
|
||||
margin-bottom: 30px;
|
||||
}
|
||||
|
||||
.legal-header {
|
||||
background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
|
||||
color: white;
|
||||
padding: 80px 0;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.legal-header::before {
|
||||
content: '';
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="grain" width="100" height="100" patternUnits="userSpaceOnUse"><circle cx="50" cy="50" r="1" fill="white" opacity="0.1"/></pattern></defs><rect width="100" height="100" fill="url(%23grain)"/></svg>');
|
||||
opacity: 0.3;
|
||||
}
|
||||
|
||||
.legal-header .container {
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
.section-title {
|
||||
color: var(--primary-color);
|
||||
border-bottom: 3px solid var(--primary-color);
|
||||
padding-bottom: 10px;
|
||||
margin-bottom: 25px;
|
||||
}
|
||||
|
||||
.info-box {
|
||||
background: rgba(var(--primary-color-rgb), 0.05);
|
||||
border-left: 4px solid var(--primary-color);
|
||||
padding: 20px;
|
||||
border-radius: 8px;
|
||||
margin: 20px 0;
|
||||
}
|
||||
|
||||
.info-box h5 {
|
||||
color: var(--primary-color);
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.certification-grid {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
|
||||
gap: 25px;
|
||||
margin: 30px 0;
|
||||
}
|
||||
|
||||
.certification-card {
|
||||
background: var(--white);
|
||||
border: 2px solid var(--border-color);
|
||||
border-radius: 20px;
|
||||
padding: 30px;
|
||||
transition: all 0.3s ease;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.certification-card:hover {
|
||||
border-color: var(--primary-color);
|
||||
transform: translateY(-5px);
|
||||
box-shadow: 0 15px 35px var(--shadow-color);
|
||||
}
|
||||
|
||||
.certification-card h4 {
|
||||
color: var(--primary-color);
|
||||
margin-bottom: 15px;
|
||||
}
|
||||
|
||||
.certification-icon {
|
||||
width: 60px;
|
||||
height: 60px;
|
||||
background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
|
||||
border-radius: 15px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
color: white;
|
||||
font-size: 2rem;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.status-badge {
|
||||
display: inline-block;
|
||||
padding: 8px 16px;
|
||||
border-radius: 20px;
|
||||
font-size: 0.9rem;
|
||||
font-weight: 600;
|
||||
margin: 10px 0;
|
||||
}
|
||||
|
||||
.status-certified {
|
||||
background: rgba(40, 167, 69, 0.1);
|
||||
color: #28a745;
|
||||
border: 1px solid #28a745;
|
||||
}
|
||||
|
||||
.status-pending {
|
||||
background: rgba(255, 193, 7, 0.1);
|
||||
color: #ffc107;
|
||||
border: 1px solid #ffc107;
|
||||
}
|
||||
|
||||
.status-in-progress {
|
||||
background: rgba(0, 123, 255, 0.1);
|
||||
color: #007bff;
|
||||
border: 1px solid #007bff;
|
||||
}
|
||||
|
||||
.compliance-table {
|
||||
background: var(--white);
|
||||
border-radius: 10px;
|
||||
overflow: hidden;
|
||||
box-shadow: 0 5px 15px var(--shadow-color);
|
||||
margin: 20px 0;
|
||||
}
|
||||
|
||||
.compliance-table th {
|
||||
background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
|
||||
color: white;
|
||||
border: none;
|
||||
padding: 15px;
|
||||
}
|
||||
|
||||
.compliance-table td {
|
||||
padding: 15px;
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
}
|
||||
|
||||
.compliance-table tr:last-child td {
|
||||
border-bottom: none;
|
||||
}
|
||||
|
||||
.contact-info {
|
||||
background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
|
||||
color: white;
|
||||
padding: 40px;
|
||||
border-radius: 20px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.contact-info h3 {
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.contact-info a {
|
||||
color: white;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.contact-info a:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.last-updated {
|
||||
background: var(--light-bg);
|
||||
padding: 15px;
|
||||
border-radius: 10px;
|
||||
text-align: center;
|
||||
margin-top: 30px;
|
||||
}
|
||||
|
||||
.feature-list {
|
||||
list-style: none;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.feature-list li {
|
||||
padding: 8px 0;
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
position: relative;
|
||||
padding-left: 25px;
|
||||
}
|
||||
|
||||
.feature-list li:before {
|
||||
content: '✓';
|
||||
position: absolute;
|
||||
left: 0;
|
||||
color: var(--primary-color);
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.feature-list li:last-child {
|
||||
border-bottom: none;
|
||||
}
|
||||
|
||||
@media (max-width: 768px) {
|
||||
.legal-content {
|
||||
padding: 25px;
|
||||
}
|
||||
|
||||
.certification-grid {
|
||||
grid-template-columns: 1fr;
|
||||
}
|
||||
|
||||
.compliance-table {
|
||||
font-size: 0.9rem;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
{% include 'components/header_nav.html' %}
|
||||
|
||||
<!-- Header Section -->
|
||||
<section class="legal-header">
|
||||
<div class="container">
|
||||
<div class="text-center">
|
||||
<h1 class="display-4 fw-bold mb-3">Compliance & Certifications</h1>
|
||||
<p class="lead opacity-75">Meeting the highest standards of security and compliance</p>
|
||||
<p class="opacity-75">Last updated: December 2024</p>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Compliance Content -->
|
||||
<section class="legal-section">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-lg-8 mx-auto">
|
||||
<div class="legal-content">
|
||||
<h2 class="section-title">1. Our Compliance Commitment</h2>
|
||||
<p>At DocuPulse, we understand that compliance is not just about meeting regulatory requirements—it's about building trust with our customers and ensuring the highest standards of security and data protection. We maintain rigorous compliance programs and regularly undergo third-party audits to validate our security practices.</p>
|
||||
|
||||
<div class="info-box">
|
||||
<h5><i class="fas fa-certificate me-2"></i>Certification Status</h5>
|
||||
<p class="mb-0">All our certifications are current and regularly audited. We provide compliance reports and documentation to enterprise customers upon request.</p>
|
||||
</div>
|
||||
|
||||
<h2 class="section-title">2. Security Certifications</h2>
|
||||
|
||||
<div class="certification-grid">
|
||||
<div class="certification-card">
|
||||
<div class="certification-icon">
|
||||
<i class="fas fa-shield-alt"></i>
|
||||
</div>
|
||||
<h4>SOC 2 Type II</h4>
|
||||
<span class="status-badge status-certified">Certified</span>
|
||||
<p>Service Organization Control 2 Type II certification demonstrates our commitment to security, availability, processing integrity, confidentiality, and privacy.</p>
|
||||
<ul class="feature-list">
|
||||
<li>Annual third-party audits</li>
|
||||
<li>Security controls validation</li>
|
||||
<li>Availability monitoring</li>
|
||||
<li>Data protection measures</li>
|
||||
</ul>
|
||||
<p><strong>Last Audit:</strong> December 2024</p>
|
||||
<p><strong>Next Audit:</strong> December 2025</p>
|
||||
</div>
|
||||
|
||||
<div class="certification-card">
|
||||
<div class="certification-icon">
|
||||
<i class="fas fa-lock"></i>
|
||||
</div>
|
||||
<h4>ISO 27001</h4>
|
||||
<span class="status-badge status-certified">Certified</span>
|
||||
<p>International standard for information security management systems, ensuring systematic approach to managing sensitive company information.</p>
|
||||
<ul class="feature-list">
|
||||
<li>Information security framework</li>
|
||||
<li>Risk management processes</li>
|
||||
<li>Security controls implementation</li>
|
||||
<li>Continuous improvement</li>
|
||||
</ul>
|
||||
<p><strong>Certification Date:</strong> March 2024</p>
|
||||
<p><strong>Valid Until:</strong> March 2027</p>
|
||||
</div>
|
||||
|
||||
<div class="certification-card">
|
||||
<div class="certification-icon">
|
||||
<i class="fas fa-cloud"></i>
|
||||
</div>
|
||||
<h4>Cloud Security Alliance</h4>
|
||||
<span class="status-badge status-certified">Certified</span>
|
||||
<p>CSA STAR certification demonstrates our compliance with cloud security best practices and industry standards.</p>
|
||||
<ul class="feature-list">
|
||||
<li>Cloud security controls</li>
|
||||
<li>Data protection standards</li>
|
||||
<li>Transparency reporting</li>
|
||||
<li>Security assessment</li>
|
||||
</ul>
|
||||
<p><strong>Certification Date:</strong> June 2024</p>
|
||||
<p><strong>Valid Until:</strong> June 2025</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h2 class="section-title">3. Privacy & Data Protection</h2>
|
||||
|
||||
<div class="certification-grid">
|
||||
<div class="certification-card">
|
||||
<div class="certification-icon">
|
||||
<i class="fas fa-user-shield"></i>
|
||||
</div>
|
||||
<h4>GDPR Compliance</h4>
|
||||
<span class="status-badge status-certified">Compliant</span>
|
||||
<p>Full compliance with the General Data Protection Regulation, ensuring the protection of EU residents' personal data.</p>
|
||||
<ul class="feature-list">
|
||||
<li>Data subject rights</li>
|
||||
<li>Privacy by design</li>
|
||||
<li>Data protection impact assessments</li>
|
||||
<li>Breach notification procedures</li>
|
||||
</ul>
|
||||
<p><strong>Compliance Date:</strong> May 2018</p>
|
||||
<p><strong>Status:</strong> Continuously monitored</p>
|
||||
</div>
|
||||
|
||||
<div class="certification-card">
|
||||
<div class="certification-icon">
|
||||
<i class="fas fa-california"></i>
|
||||
</div>
|
||||
<h4>CCPA/CPRA</h4>
|
||||
<span class="status-badge status-certified">Compliant</span>
|
||||
<p>California Consumer Privacy Act and California Privacy Rights Act compliance for California residents.</p>
|
||||
<ul class="feature-list">
|
||||
<li>Consumer rights management</li>
|
||||
<li>Data disclosure requirements</li>
|
||||
<li>Opt-out mechanisms</li>
|
||||
<li>Privacy notices</li>
|
||||
</ul>
|
||||
<p><strong>Compliance Date:</strong> January 2020</p>
|
||||
<p><strong>Status:</strong> Continuously monitored</p>
|
||||
</div>
|
||||
|
||||
<div class="certification-card">
|
||||
<div class="certification-icon">
|
||||
<i class="fas fa-globe"></i>
|
||||
</div>
|
||||
<h4>International Standards</h4>
|
||||
<span class="status-badge status-certified">Compliant</span>
|
||||
<p>Compliance with various international privacy and data protection regulations.</p>
|
||||
<ul class="feature-list">
|
||||
<li>LGPD (Brazil)</li>
|
||||
<li>PIPEDA (Canada)</li>
|
||||
<li>POPIA (South Africa)</li>
|
||||
<li>APEC Privacy Framework</li>
|
||||
</ul>
|
||||
<p><strong>Status:</strong> Continuously monitored</p>
|
||||
<p><strong>Updates:</strong> As regulations evolve</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h2 class="section-title">4. Industry-Specific Compliance</h2>
|
||||
|
||||
<div class="compliance-table">
|
||||
<table class="table table-hover mb-0">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Standard</th>
|
||||
<th>Description</th>
|
||||
<th>Status</th>
|
||||
<th>Last Review</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>HIPAA</td>
|
||||
<td>Health Insurance Portability and Accountability Act</td>
|
||||
<td><span class="status-badge status-certified">Compliant</span></td>
|
||||
<td>November 2024</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>SOX</td>
|
||||
<td>Sarbanes-Oxley Act for financial reporting</td>
|
||||
<td><span class="status-badge status-certified">Compliant</span></td>
|
||||
<td>October 2024</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>PCI DSS</td>
|
||||
<td>Payment Card Industry Data Security Standard</td>
|
||||
<td><span class="status-badge status-certified">Compliant</span></td>
|
||||
<td>September 2024</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>FedRAMP</td>
|
||||
<td>Federal Risk and Authorization Management Program</td>
|
||||
<td><span class="status-badge status-in-progress">In Progress</span></td>
|
||||
<td>Q1 2025</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>NIST</td>
|
||||
<td>National Institute of Standards and Technology</td>
|
||||
<td><span class="status-badge status-certified">Compliant</span></td>
|
||||
<td>August 2024</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<h2 class="section-title">5. Security Controls & Measures</h2>
|
||||
<p>Our comprehensive security program includes the following controls and measures:</p>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<h4>Technical Controls</h4>
|
||||
<ul>
|
||||
<li>Multi-factor authentication (MFA)</li>
|
||||
<li>End-to-end encryption (AES-256)</li>
|
||||
<li>Network security and firewalls</li>
|
||||
<li>Intrusion detection and prevention</li>
|
||||
<li>Vulnerability management</li>
|
||||
<li>Security monitoring and alerting</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<h4>Organizational Controls</h4>
|
||||
<ul>
|
||||
<li>Security policies and procedures</li>
|
||||
<li>Employee security training</li>
|
||||
<li>Background checks and screening</li>
|
||||
<li>Incident response procedures</li>
|
||||
<li>Business continuity planning</li>
|
||||
<li>Regular security assessments</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h2 class="section-title">6. Audit & Assessment Schedule</h2>
|
||||
<p>We maintain a regular schedule of internal and external audits to ensure ongoing compliance:</p>
|
||||
|
||||
<div class="compliance-table">
|
||||
<table class="table table-hover mb-0">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Audit Type</th>
|
||||
<th>Frequency</th>
|
||||
<th>Next Due</th>
|
||||
<th>Status</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>SOC 2 Type II</td>
|
||||
<td>Annual</td>
|
||||
<td>December 2025</td>
|
||||
<td><span class="status-badge status-certified">Scheduled</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>ISO 27001</td>
|
||||
<td>Annual Surveillance</td>
|
||||
<td>March 2025</td>
|
||||
<td><span class="status-badge status-certified">Scheduled</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Penetration Testing</td>
|
||||
<td>Quarterly</td>
|
||||
<td>March 2025</td>
|
||||
<td><span class="status-badge status-certified">Scheduled</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Vulnerability Assessment</td>
|
||||
<td>Monthly</td>
|
||||
<td>January 2025</td>
|
||||
<td><span class="status-badge status-certified">Ongoing</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Security Training</td>
|
||||
<td>Quarterly</td>
|
||||
<td>March 2025</td>
|
||||
<td><span class="status-badge status-certified">Scheduled</span></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<h2 class="section-title">7. Compliance Documentation</h2>
|
||||
<p>We provide comprehensive compliance documentation to our enterprise customers:</p>
|
||||
<ul>
|
||||
<li><strong>SOC 2 Type II Reports:</strong> Available to enterprise customers under NDA</li>
|
||||
<li><strong>ISO 27001 Certificates:</strong> Available upon request</li>
|
||||
<li><strong>Security Questionnaires:</strong> Standardized responses for common frameworks</li>
|
||||
<li><strong>Compliance Whitepapers:</strong> Detailed documentation of our controls</li>
|
||||
<li><strong>Audit Reports:</strong> Third-party assessment results</li>
|
||||
</ul>
|
||||
|
||||
<div class="info-box">
|
||||
<h5><i class="fas fa-file-contract me-2"></i>Documentation Requests</h5>
|
||||
<p class="mb-0">Enterprise customers can request compliance documentation by contacting our compliance team at compliance@docupulse.com. We typically respond within 2-3 business days.</p>
|
||||
</div>
|
||||
|
||||
<h2 class="section-title">8. Continuous Improvement</h2>
|
||||
<p>Our compliance program is continuously evolving to meet new requirements and best practices:</p>
|
||||
<ul>
|
||||
<li>Regular review and updates of security policies</li>
|
||||
<li>Monitoring of emerging threats and vulnerabilities</li>
|
||||
<li>Adoption of new security technologies and practices</li>
|
||||
<li>Participation in industry working groups and forums</li>
|
||||
<li>Regular training and awareness programs for staff</li>
|
||||
</ul>
|
||||
|
||||
<div class="contact-info">
|
||||
<h3><i class="fas fa-certificate me-2"></i>Compliance Team</h3>
|
||||
<p>For compliance-related questions or documentation requests, contact our compliance team:</p>
|
||||
<p><strong>Email:</strong> <a href="mailto:compliance@docupulse.com">compliance@docupulse.com</a></p>
|
||||
<p><strong>Address:</strong> DocuPulse Inc., 123 Business Ave, Suite 100, City, State 12345</p>
|
||||
<p><strong>Phone:</strong> <a href="tel:+1-555-123-4567">+1 (555) 123-4567</a></p>
|
||||
</div>
|
||||
|
||||
<div class="last-updated">
|
||||
<p class="mb-0"><strong>Last Updated:</strong> December 2024</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
{% include 'components/footer_nav.html' %}
|
||||
|
||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -46,16 +46,40 @@
|
||||
border-color: var(--primary-color);
|
||||
box-shadow: 0 0 0 0.2rem var(--primary-opacity-15);
|
||||
}
|
||||
|
||||
/* Button styles to match other pages */
|
||||
.btn-primary {
|
||||
background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
|
||||
border: none;
|
||||
border-radius: 10px;
|
||||
border-radius: 25px;
|
||||
padding: 12px 30px;
|
||||
font-weight: 600;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
.btn-primary:hover {
|
||||
background: linear-gradient(135deg, var(--primary-light) 0%, var(--secondary-light) 100%);
|
||||
background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
|
||||
transform: translateY(-2px);
|
||||
box-shadow: 0 5px 15px var(--primary-opacity-15);
|
||||
filter: brightness(1.1);
|
||||
}
|
||||
.btn-outline-primary {
|
||||
border: 2px solid var(--primary-color);
|
||||
color: var(--primary-color);
|
||||
border-radius: 25px;
|
||||
padding: 12px 30px;
|
||||
font-weight: 600;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
.btn-outline-primary:hover {
|
||||
background: rgba(var(--primary-color-rgb), 0.05);
|
||||
border-color: var(--primary-color);
|
||||
color: var(--primary-color);
|
||||
transform: translateY(-2px);
|
||||
box-shadow: 0 5px 15px rgba(var(--primary-color-rgb), 0.1);
|
||||
}
|
||||
.btn-lg {
|
||||
padding: 15px 40px;
|
||||
font-size: 1.1rem;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
0
templates/public/cookies.html
Normal file
0
templates/public/cookies.html
Normal file
@@ -565,36 +565,14 @@
|
||||
</section>
|
||||
|
||||
<!-- Stats Section -->
|
||||
<section class="stats-section">
|
||||
<div class="container">
|
||||
<div class="row text-center">
|
||||
<div class="col-md-3">
|
||||
<div class="stat-item">
|
||||
<span class="stat-number">99.9%</span>
|
||||
<div class="stat-label">Uptime</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-3">
|
||||
<div class="stat-item">
|
||||
<span class="stat-number">256-bit</span>
|
||||
<div class="stat-label">Encryption</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-3">
|
||||
<div class="stat-item">
|
||||
<span class="stat-number">24/7</span>
|
||||
<div class="stat-label">Support</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-3">
|
||||
<div class="stat-item">
|
||||
<span class="stat-number">1000+</span>
|
||||
<div class="stat-label">Organizations</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
{% with stats=[
|
||||
{'value': 99.9, 'suffix': '%', 'display': '99.9%', 'label': 'Uptime'},
|
||||
{'value': 256, 'suffix': '-bit', 'display': '256-bit', 'label': 'Encryption'},
|
||||
{'value': 24, 'suffix': '/7', 'display': '24/7', 'label': 'Support'},
|
||||
{'value': 1000, 'suffix': '+', 'display': '1000+', 'label': 'Organizations'}
|
||||
] %}
|
||||
{% include 'components/animated_numbers.html' %}
|
||||
{% endwith %}
|
||||
|
||||
<!-- CTA Section -->
|
||||
<section class="py-5">
|
||||
@@ -644,97 +622,12 @@
|
||||
});
|
||||
}, observerOptions);
|
||||
|
||||
// Function to animate number counting
|
||||
function animateNumber(element, endValue, duration = 2000) {
|
||||
const start = performance.now();
|
||||
const startValue = 0;
|
||||
const difference = endValue - startValue;
|
||||
|
||||
function updateNumber(currentTime) {
|
||||
const elapsed = currentTime - start;
|
||||
const progress = Math.min(elapsed / duration, 1);
|
||||
|
||||
// Easing function for smooth animation
|
||||
const easeOutQuart = 1 - Math.pow(1 - progress, 4);
|
||||
const currentValue = startValue + (difference * easeOutQuart);
|
||||
|
||||
// Format the number based on the end value
|
||||
let displayValue;
|
||||
if (endValue === 99.9) {
|
||||
displayValue = currentValue.toFixed(1) + '%';
|
||||
} else if (endValue === 256) {
|
||||
displayValue = Math.round(currentValue) + '-bit';
|
||||
} else if (endValue === 24) {
|
||||
displayValue = Math.round(currentValue) + '/7';
|
||||
} else {
|
||||
displayValue = Math.round(currentValue) + '+';
|
||||
}
|
||||
|
||||
element.textContent = displayValue;
|
||||
|
||||
if (progress < 1) {
|
||||
requestAnimationFrame(updateNumber);
|
||||
} else {
|
||||
// Ensure the final value is correct
|
||||
if (endValue === 99.9) {
|
||||
element.textContent = '99.9%';
|
||||
} else if (endValue === 256) {
|
||||
element.textContent = '256-bit';
|
||||
} else if (endValue === 24) {
|
||||
element.textContent = '24/7';
|
||||
} else {
|
||||
element.textContent = '1000+';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
requestAnimationFrame(updateNumber);
|
||||
}
|
||||
|
||||
// Observe elements for fade-in animation
|
||||
document.addEventListener('DOMContentLoaded', function() {
|
||||
const fadeElements = document.querySelectorAll('.fade-in-up');
|
||||
fadeElements.forEach(el => {
|
||||
observer.observe(el);
|
||||
});
|
||||
|
||||
// Stats animation observer
|
||||
const statsObserver = new IntersectionObserver(function(entries) {
|
||||
entries.forEach(entry => {
|
||||
if (entry.isIntersecting) {
|
||||
const statNumbers = entry.target.querySelectorAll('.stat-number');
|
||||
statNumbers.forEach((stat, index) => {
|
||||
setTimeout(() => {
|
||||
const text = stat.textContent;
|
||||
let endValue;
|
||||
|
||||
if (text.includes('99.9%')) {
|
||||
endValue = 99.9;
|
||||
} else if (text.includes('256-bit')) {
|
||||
endValue = 256;
|
||||
} else if (text.includes('24/7')) {
|
||||
endValue = 24;
|
||||
} else if (text.includes('1000+')) {
|
||||
endValue = 1000;
|
||||
}
|
||||
|
||||
if (endValue) {
|
||||
animateNumber(stat, endValue, 2000);
|
||||
}
|
||||
}, index * 300); // Stagger the animations
|
||||
});
|
||||
|
||||
// Only trigger once
|
||||
statsObserver.unobserve(entry.target);
|
||||
}
|
||||
});
|
||||
}, { threshold: 0.5 });
|
||||
|
||||
// Observe the stats section
|
||||
const statsSection = document.querySelector('.stats-section');
|
||||
if (statsSection) {
|
||||
statsObserver.observe(statsSection);
|
||||
}
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
|
||||
464
templates/public/gdpr.html
Normal file
464
templates/public/gdpr.html
Normal file
@@ -0,0 +1,464 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>GDPR Compliance - DocuPulse</title>
|
||||
<meta name="description" content="Learn about DocuPulse's GDPR compliance measures and how we protect your data rights under European data protection regulations.">
|
||||
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css">
|
||||
<link rel="stylesheet" href="{{ url_for('static', filename='css/colors.css') }}?v={{ 'css/colors.css'|asset_version }}">
|
||||
<style>
|
||||
.legal-section {
|
||||
padding: 80px 0;
|
||||
}
|
||||
|
||||
.legal-content {
|
||||
background: var(--white);
|
||||
border-radius: 20px;
|
||||
padding: 40px;
|
||||
box-shadow: 0 10px 25px var(--shadow-color);
|
||||
margin-bottom: 30px;
|
||||
}
|
||||
|
||||
.legal-header {
|
||||
background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
|
||||
color: white;
|
||||
padding: 80px 0;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.legal-header::before {
|
||||
content: '';
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="grain" width="100" height="100" patternUnits="userSpaceOnUse"><circle cx="50" cy="50" r="1" fill="white" opacity="0.1"/></pattern></defs><rect width="100" height="100" fill="url(%23grain)"/></svg>');
|
||||
opacity: 0.3;
|
||||
}
|
||||
|
||||
.legal-header .container {
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
.section-title {
|
||||
color: var(--primary-color);
|
||||
border-bottom: 3px solid var(--primary-color);
|
||||
padding-bottom: 10px;
|
||||
margin-bottom: 25px;
|
||||
}
|
||||
|
||||
.info-box {
|
||||
background: rgba(var(--primary-color-rgb), 0.05);
|
||||
border-left: 4px solid var(--primary-color);
|
||||
padding: 20px;
|
||||
border-radius: 8px;
|
||||
margin: 20px 0;
|
||||
}
|
||||
|
||||
.info-box h5 {
|
||||
color: var(--primary-color);
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.rights-grid {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
|
||||
gap: 20px;
|
||||
margin: 30px 0;
|
||||
}
|
||||
|
||||
.right-card {
|
||||
background: var(--white);
|
||||
border: 2px solid var(--border-color);
|
||||
border-radius: 15px;
|
||||
padding: 25px;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
.right-card:hover {
|
||||
border-color: var(--primary-color);
|
||||
transform: translateY(-5px);
|
||||
box-shadow: 0 10px 25px var(--shadow-color);
|
||||
}
|
||||
|
||||
.right-card h4 {
|
||||
color: var(--primary-color);
|
||||
margin-bottom: 15px;
|
||||
}
|
||||
|
||||
.right-icon {
|
||||
width: 50px;
|
||||
height: 50px;
|
||||
background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
|
||||
border-radius: 12px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
color: white;
|
||||
font-size: 1.5rem;
|
||||
margin-bottom: 15px;
|
||||
}
|
||||
|
||||
.compliance-table {
|
||||
background: var(--white);
|
||||
border-radius: 10px;
|
||||
overflow: hidden;
|
||||
box-shadow: 0 5px 15px var(--shadow-color);
|
||||
margin: 20px 0;
|
||||
}
|
||||
|
||||
.compliance-table th {
|
||||
background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
|
||||
color: white;
|
||||
border: none;
|
||||
padding: 15px;
|
||||
}
|
||||
|
||||
.compliance-table td {
|
||||
padding: 15px;
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
}
|
||||
|
||||
.compliance-table tr:last-child td {
|
||||
border-bottom: none;
|
||||
}
|
||||
|
||||
.contact-info {
|
||||
background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
|
||||
color: white;
|
||||
padding: 40px;
|
||||
border-radius: 20px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.contact-info h3 {
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.contact-info a {
|
||||
color: white;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.contact-info a:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.last-updated {
|
||||
background: var(--light-bg);
|
||||
padding: 15px;
|
||||
border-radius: 10px;
|
||||
text-align: center;
|
||||
margin-top: 30px;
|
||||
}
|
||||
|
||||
.status-badge {
|
||||
display: inline-block;
|
||||
padding: 8px 16px;
|
||||
border-radius: 20px;
|
||||
font-size: 0.9rem;
|
||||
font-weight: 600;
|
||||
margin: 5px;
|
||||
}
|
||||
|
||||
.status-compliant {
|
||||
background: rgba(40, 167, 69, 0.1);
|
||||
color: #28a745;
|
||||
border: 1px solid #28a745;
|
||||
}
|
||||
|
||||
.status-pending {
|
||||
background: rgba(255, 193, 7, 0.1);
|
||||
color: #ffc107;
|
||||
border: 1px solid #ffc107;
|
||||
}
|
||||
|
||||
@media (max-width: 768px) {
|
||||
.legal-content {
|
||||
padding: 25px;
|
||||
}
|
||||
|
||||
.rights-grid {
|
||||
grid-template-columns: 1fr;
|
||||
}
|
||||
|
||||
.compliance-table {
|
||||
font-size: 0.9rem;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
{% include 'components/header_nav.html' %}
|
||||
|
||||
<!-- Header Section -->
|
||||
<section class="legal-header">
|
||||
<div class="container">
|
||||
<div class="text-center">
|
||||
<h1 class="display-4 fw-bold mb-3">GDPR Compliance</h1>
|
||||
<p class="lead opacity-75">Your data rights under European law</p>
|
||||
<p class="opacity-75">Last updated: December 2024</p>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- GDPR Content -->
|
||||
<section class="legal-section">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-lg-8 mx-auto">
|
||||
<div class="legal-content">
|
||||
<h2 class="section-title">1. GDPR Overview</h2>
|
||||
<p>The General Data Protection Regulation (GDPR) is a comprehensive data protection law that applies to organizations processing personal data of individuals in the European Union (EU) and European Economic Area (EEA). DocuPulse is committed to full compliance with GDPR requirements.</p>
|
||||
|
||||
<div class="info-box">
|
||||
<h5><i class="fas fa-shield-alt me-2"></i>Our Commitment</h5>
|
||||
<p class="mb-0">We are fully committed to protecting your privacy and ensuring compliance with GDPR. Our data processing activities are designed with privacy by design and default principles.</p>
|
||||
</div>
|
||||
|
||||
<h2 class="section-title">2. Legal Basis for Processing</h2>
|
||||
<p>Under GDPR, we process your personal data based on the following legal grounds:</p>
|
||||
|
||||
<div class="compliance-table">
|
||||
<table class="table table-hover mb-0">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Processing Purpose</th>
|
||||
<th>Legal Basis</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>Service Provision</td>
|
||||
<td>Contract Performance</td>
|
||||
<td>Processing necessary to provide our services</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Account Management</td>
|
||||
<td>Contract Performance</td>
|
||||
<td>Managing your account and billing</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Customer Support</td>
|
||||
<td>Legitimate Interest</td>
|
||||
<td>Providing support and improving service</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Security & Fraud Prevention</td>
|
||||
<td>Legitimate Interest</td>
|
||||
<td>Protecting our systems and users</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Marketing Communications</td>
|
||||
<td>Consent</td>
|
||||
<td>Only with your explicit consent</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Legal Compliance</td>
|
||||
<td>Legal Obligation</td>
|
||||
<td>Complying with applicable laws</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<h2 class="section-title">3. Your Data Subject Rights</h2>
|
||||
<p>Under GDPR, you have the following rights regarding your personal data:</p>
|
||||
|
||||
<div class="rights-grid">
|
||||
<div class="right-card">
|
||||
<div class="right-icon">
|
||||
<i class="fas fa-eye"></i>
|
||||
</div>
|
||||
<h4>Right of Access</h4>
|
||||
<p>You have the right to request access to your personal data and information about how we process it.</p>
|
||||
</div>
|
||||
|
||||
<div class="right-card">
|
||||
<div class="right-icon">
|
||||
<i class="fas fa-edit"></i>
|
||||
</div>
|
||||
<h4>Right to Rectification</h4>
|
||||
<p>You can request correction of inaccurate or incomplete personal data we hold about you.</p>
|
||||
</div>
|
||||
|
||||
<div class="right-card">
|
||||
<div class="right-icon">
|
||||
<i class="fas fa-trash"></i>
|
||||
</div>
|
||||
<h4>Right to Erasure</h4>
|
||||
<p>You can request deletion of your personal data in certain circumstances (the "right to be forgotten").</p>
|
||||
</div>
|
||||
|
||||
<div class="right-card">
|
||||
<div class="right-icon">
|
||||
<i class="fas fa-pause"></i>
|
||||
</div>
|
||||
<h4>Right to Restriction</h4>
|
||||
<p>You can request that we limit how we process your personal data in certain situations.</p>
|
||||
</div>
|
||||
|
||||
<div class="right-card">
|
||||
<div class="right-icon">
|
||||
<i class="fas fa-download"></i>
|
||||
</div>
|
||||
<h4>Right to Portability</h4>
|
||||
<p>You can request a copy of your personal data in a structured, machine-readable format.</p>
|
||||
</div>
|
||||
|
||||
<div class="right-card">
|
||||
<div class="right-icon">
|
||||
<i class="fas fa-ban"></i>
|
||||
</div>
|
||||
<h4>Right to Object</h4>
|
||||
<p>You can object to processing of your personal data based on legitimate interests.</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h2 class="section-title">4. How to Exercise Your Rights</h2>
|
||||
<p>To exercise any of your GDPR rights, you can:</p>
|
||||
<ul>
|
||||
<li><strong>Use our self-service tools:</strong> Access and manage your data through your account settings</li>
|
||||
<li><strong>Contact our Data Protection Officer:</strong> Email us at dpo@docupulse.com</li>
|
||||
<li><strong>Submit a formal request:</strong> Use our data request form</li>
|
||||
<li><strong>Contact us directly:</strong> Reach out to our support team</li>
|
||||
</ul>
|
||||
|
||||
<div class="info-box">
|
||||
<h5><i class="fas fa-clock me-2"></i>Response Time</h5>
|
||||
<p class="mb-0">We will respond to your requests within 30 days. In complex cases, we may extend this period by up to 60 days, but we will notify you of any delay.</p>
|
||||
</div>
|
||||
|
||||
<h2 class="section-title">5. Data Processing Details</h2>
|
||||
<h4>5.1 Categories of Personal Data</h4>
|
||||
<p>We process the following categories of personal data:</p>
|
||||
<ul>
|
||||
<li><strong>Identity Data:</strong> Name, email address, contact information</li>
|
||||
<li><strong>Account Data:</strong> Username, password, profile information</li>
|
||||
<li><strong>Usage Data:</strong> How you interact with our services</li>
|
||||
<li><strong>Technical Data:</strong> IP address, browser type, device information</li>
|
||||
<li><strong>Content Data:</strong> Documents and files you upload</li>
|
||||
<li><strong>Communication Data:</strong> Messages and support requests</li>
|
||||
</ul>
|
||||
|
||||
<h4>5.2 Data Retention Periods</h4>
|
||||
<p>We retain your personal data for the following periods:</p>
|
||||
<ul>
|
||||
<li><strong>Account Data:</strong> Until account deletion or 2 years of inactivity</li>
|
||||
<li><strong>Usage Data:</strong> 24 months for analytics purposes</li>
|
||||
<li><strong>Support Communications:</strong> 3 years from last contact</li>
|
||||
<li><strong>Billing Data:</strong> 7 years for tax and accounting purposes</li>
|
||||
<li><strong>Security Logs:</strong> 12 months for security monitoring</li>
|
||||
</ul>
|
||||
|
||||
<h2 class="section-title">6. International Data Transfers</h2>
|
||||
<p>Your personal data may be transferred to and processed in countries outside the EU/EEA. We ensure appropriate safeguards are in place:</p>
|
||||
<ul>
|
||||
<li><strong>Standard Contractual Clauses:</strong> We use EU-approved SCCs for transfers</li>
|
||||
<li><strong>Adequacy Decisions:</strong> We transfer to countries with adequate protection</li>
|
||||
<li><strong>Certification Schemes:</strong> We rely on approved certification mechanisms</li>
|
||||
<li><strong>Binding Corporate Rules:</strong> Where applicable, we use BCRs for intra-group transfers</li>
|
||||
</ul>
|
||||
|
||||
<h2 class="section-title">7. Data Protection Measures</h2>
|
||||
<p>We implement comprehensive technical and organizational measures to protect your data:</p>
|
||||
|
||||
<div class="compliance-table">
|
||||
<table class="table table-hover mb-0">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Measure</th>
|
||||
<th>Implementation</th>
|
||||
<th>Status</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>Encryption</td>
|
||||
<td>AES-256 encryption at rest and in transit</td>
|
||||
<td><span class="status-badge status-compliant">Compliant</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Access Controls</td>
|
||||
<td>Role-based access and multi-factor authentication</td>
|
||||
<td><span class="status-badge status-compliant">Compliant</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Data Minimization</td>
|
||||
<td>Only collect data necessary for service provision</td>
|
||||
<td><span class="status-badge status-compliant">Compliant</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Privacy by Design</td>
|
||||
<td>Privacy considerations built into all systems</td>
|
||||
<td><span class="status-badge status-compliant">Compliant</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Regular Audits</td>
|
||||
<td>Annual privacy and security assessments</td>
|
||||
<td><span class="status-badge status-compliant">Compliant</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Staff Training</td>
|
||||
<td>Regular GDPR and privacy training</td>
|
||||
<td><span class="status-badge status-compliant">Compliant</span></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<h2 class="section-title">8. Data Breach Procedures</h2>
|
||||
<p>In the unlikely event of a data breach, we have established procedures to:</p>
|
||||
<ul>
|
||||
<li>Detect and assess the breach within 72 hours</li>
|
||||
<li>Notify the relevant supervisory authority</li>
|
||||
<li>Inform affected individuals when required</li>
|
||||
<li>Document all breach incidents and remedial actions</li>
|
||||
<li>Implement measures to prevent future breaches</li>
|
||||
</ul>
|
||||
|
||||
<h2 class="section-title">9. Third-Party Processors</h2>
|
||||
<p>We work with carefully selected third-party processors who help us provide our services. All processors:</p>
|
||||
<ul>
|
||||
<li>Are bound by data processing agreements</li>
|
||||
<li>Implement appropriate security measures</li>
|
||||
<li>Process data only as instructed by us</li>
|
||||
<li>Are regularly audited for compliance</li>
|
||||
</ul>
|
||||
|
||||
<h2 class="section-title">10. Supervisory Authority</h2>
|
||||
<p>You have the right to lodge a complaint with your local data protection supervisory authority if you believe we have not addressed your concerns adequately.</p>
|
||||
|
||||
<div class="info-box">
|
||||
<h5><i class="fas fa-info-circle me-2"></i>EU Representative</h5>
|
||||
<p class="mb-0">For EU residents, you can contact our EU representative at: DocuPulse EU Representative, [Address], [Email]</p>
|
||||
</div>
|
||||
|
||||
<div class="contact-info">
|
||||
<h3><i class="fas fa-user-shield me-2"></i>Data Protection Officer</h3>
|
||||
<p>For any GDPR-related questions or to exercise your rights, contact our Data Protection Officer:</p>
|
||||
<p><strong>Email:</strong> <a href="mailto:dpo@docupulse.com">dpo@docupulse.com</a></p>
|
||||
<p><strong>Address:</strong> DocuPulse Inc., 123 Business Ave, Suite 100, City, State 12345</p>
|
||||
<p><strong>Phone:</strong> <a href="tel:+1-555-123-4567">+1 (555) 123-4567</a></p>
|
||||
</div>
|
||||
|
||||
<div class="last-updated">
|
||||
<p class="mb-0"><strong>Last Updated:</strong> December 2024</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
{% include 'components/footer_nav.html' %}
|
||||
|
||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
437
templates/public/help.html
Normal file
437
templates/public/help.html
Normal file
@@ -0,0 +1,437 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Help Center - DocuPulse</title>
|
||||
<meta name="description" content="Get help with DocuPulse. Find answers to common questions, tutorials, and support resources.">
|
||||
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css">
|
||||
<link rel="stylesheet" href="{{ url_for('static', filename='css/colors.css') }}?v={{ 'css/colors.css'|asset_version }}">
|
||||
<style>
|
||||
.help-section {
|
||||
padding: 80px 0;
|
||||
}
|
||||
|
||||
.search-section {
|
||||
background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
|
||||
color: white;
|
||||
padding: 80px 0;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.search-section::before {
|
||||
content: '';
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="grain" width="100" height="100" patternUnits="userSpaceOnUse"><circle cx="50" cy="50" r="1" fill="white" opacity="0.1"/></pattern></defs><rect width="100" height="100" fill="url(%23grain)"/></svg>');
|
||||
opacity: 0.3;
|
||||
}
|
||||
|
||||
.search-box {
|
||||
background: rgba(255, 255, 255, 0.1);
|
||||
border: 2px solid rgba(255, 255, 255, 0.3);
|
||||
border-radius: 50px;
|
||||
padding: 15px 25px;
|
||||
color: white;
|
||||
font-size: 1.1rem;
|
||||
width: 100%;
|
||||
max-width: 600px;
|
||||
margin: 0 auto;
|
||||
backdrop-filter: blur(10px);
|
||||
}
|
||||
|
||||
.search-box::placeholder {
|
||||
color: rgba(255, 255, 255, 0.8);
|
||||
}
|
||||
|
||||
.search-box:focus {
|
||||
outline: none;
|
||||
border-color: rgba(255, 255, 255, 0.8);
|
||||
box-shadow: 0 0 0 0.2rem rgba(255, 255, 255, 0.25);
|
||||
}
|
||||
|
||||
.category-card {
|
||||
background: var(--white);
|
||||
border-radius: 20px;
|
||||
padding: 40px 30px;
|
||||
box-shadow: 0 10px 25px var(--shadow-color);
|
||||
height: 100%;
|
||||
border: none;
|
||||
transition: transform 0.3s ease;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.category-card:hover {
|
||||
transform: translateY(-5px);
|
||||
}
|
||||
|
||||
.category-icon {
|
||||
width: 80px;
|
||||
height: 80px;
|
||||
background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
|
||||
border-radius: 20px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
margin: 0 auto 25px;
|
||||
color: white;
|
||||
font-size: 2rem;
|
||||
}
|
||||
|
||||
.faq-item {
|
||||
background: var(--white);
|
||||
border-radius: 15px;
|
||||
margin-bottom: 15px;
|
||||
box-shadow: 0 5px 15px var(--shadow-color);
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.faq-question {
|
||||
background: var(--white);
|
||||
border: none;
|
||||
padding: 20px 25px;
|
||||
width: 100%;
|
||||
text-align: left;
|
||||
font-weight: 600;
|
||||
color: var(--text-dark);
|
||||
transition: all 0.3s ease;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.faq-question:hover {
|
||||
background: var(--bg-color);
|
||||
}
|
||||
|
||||
.faq-question[aria-expanded="true"] {
|
||||
background: var(--primary-bg-light);
|
||||
color: var(--primary-color);
|
||||
}
|
||||
|
||||
.faq-answer {
|
||||
padding: 0 25px 20px;
|
||||
color: var(--text-muted);
|
||||
line-height: 1.6;
|
||||
}
|
||||
|
||||
.contact-card {
|
||||
background: var(--white);
|
||||
border-radius: 20px;
|
||||
padding: 40px;
|
||||
box-shadow: 0 15px 35px var(--shadow-color);
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.contact-icon {
|
||||
width: 60px;
|
||||
height: 60px;
|
||||
background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
|
||||
border-radius: 50%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
margin: 0 auto 20px;
|
||||
color: white;
|
||||
font-size: 1.5rem;
|
||||
}
|
||||
|
||||
/* Button styles to match other pages */
|
||||
.btn-primary {
|
||||
background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
|
||||
border: none;
|
||||
border-radius: 25px;
|
||||
padding: 12px 30px;
|
||||
font-weight: 600;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
.btn-primary:hover {
|
||||
background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
|
||||
transform: translateY(-2px);
|
||||
box-shadow: 0 5px 15px var(--primary-opacity-15);
|
||||
filter: brightness(1.1);
|
||||
}
|
||||
.btn-outline-primary {
|
||||
border: 2px solid var(--primary-color);
|
||||
color: var(--primary-color);
|
||||
border-radius: 25px;
|
||||
padding: 12px 30px;
|
||||
font-weight: 600;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
.btn-outline-primary:hover {
|
||||
background: rgba(var(--primary-color-rgb), 0.05);
|
||||
border-color: var(--primary-color);
|
||||
color: var(--primary-color);
|
||||
transform: translateY(-2px);
|
||||
box-shadow: 0 5px 15px rgba(var(--primary-color-rgb), 0.1);
|
||||
}
|
||||
.btn-lg {
|
||||
padding: 15px 40px;
|
||||
font-size: 1.1rem;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
{% include 'components/header_nav.html' %}
|
||||
|
||||
<!-- Hero Section -->
|
||||
{% with
|
||||
title="Help Center",
|
||||
description="Find answers to your questions and get the support you need",
|
||||
title_size="4",
|
||||
description_size="5"
|
||||
%}
|
||||
{% include 'components/hero_section.html' %}
|
||||
{% endwith %}
|
||||
|
||||
<!-- Help Categories -->
|
||||
<section class="help-section">
|
||||
<div class="container">
|
||||
<div class="text-center mb-5">
|
||||
<h2 class="display-5 fw-bold mb-3">Browse by Category</h2>
|
||||
<p class="lead text-muted">Find help organized by topic</p>
|
||||
</div>
|
||||
<div class="row g-4">
|
||||
<div class="col-lg-4 col-md-6">
|
||||
<div class="category-card">
|
||||
<div class="category-icon">
|
||||
<i class="fas fa-rocket"></i>
|
||||
</div>
|
||||
<h4 class="fw-bold mb-3">Getting Started</h4>
|
||||
<p class="text-muted mb-4">Learn the basics of DocuPulse and set up your workspace</p>
|
||||
<a href="#getting-started" class="btn btn-outline-primary">View Articles</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-4 col-md-6">
|
||||
<div class="category-card">
|
||||
<div class="category-icon">
|
||||
<i class="fas fa-users"></i>
|
||||
</div>
|
||||
<h4 class="fw-bold mb-3">User Management</h4>
|
||||
<p class="text-muted mb-4">Manage users, permissions, and team collaboration</p>
|
||||
<a href="#user-management" class="btn btn-outline-primary">View Articles</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-4 col-md-6">
|
||||
<div class="category-card">
|
||||
<div class="category-icon">
|
||||
<i class="fas fa-folder"></i>
|
||||
</div>
|
||||
<h4 class="fw-bold mb-3">File Management</h4>
|
||||
<p class="text-muted mb-4">Upload, organize, and manage your documents</p>
|
||||
<a href="#file-management" class="btn btn-outline-primary">View Articles</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-4 col-md-6">
|
||||
<div class="category-card">
|
||||
<div class="category-icon">
|
||||
<i class="fas fa-comments"></i>
|
||||
</div>
|
||||
<h4 class="fw-bold mb-3">Communication</h4>
|
||||
<p class="text-muted mb-4">Use messaging and collaboration features</p>
|
||||
<a href="#communication" class="btn btn-outline-primary">View Articles</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-4 col-md-6">
|
||||
<div class="category-card">
|
||||
<div class="category-icon">
|
||||
<i class="fas fa-shield-alt"></i>
|
||||
</div>
|
||||
<h4 class="fw-bold mb-3">Security & Privacy</h4>
|
||||
<p class="text-muted mb-4">Learn about security features and data protection</p>
|
||||
<a href="#security" class="btn btn-outline-primary">View Articles</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-4 col-md-6">
|
||||
<div class="category-card">
|
||||
<div class="category-icon">
|
||||
<i class="fas fa-cog"></i>
|
||||
</div>
|
||||
<h4 class="fw-bold mb-3">Administration</h4>
|
||||
<p class="text-muted mb-4">Configure settings and manage your organization</p>
|
||||
<a href="#administration" class="btn btn-outline-primary">View Articles</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- FAQ Section -->
|
||||
<section class="help-section" style="background-color: var(--bg-color);">
|
||||
<div class="container">
|
||||
<div class="text-center mb-5">
|
||||
<h2 class="display-5 fw-bold mb-3">Frequently Asked Questions</h2>
|
||||
<p class="lead text-muted">Quick answers to common questions</p>
|
||||
</div>
|
||||
<div class="row justify-content-center">
|
||||
<div class="col-lg-8">
|
||||
<div class="accordion" id="faqAccordion">
|
||||
<div class="faq-item">
|
||||
<button class="faq-question" type="button" data-bs-toggle="collapse" data-bs-target="#faq1" aria-expanded="true" aria-controls="faq1">
|
||||
What is DocuPulse and what does it do?
|
||||
</button>
|
||||
<div id="faq1" class="collapse show" data-bs-parent="#faqAccordion">
|
||||
<div class="faq-answer">
|
||||
DocuPulse is an enterprise document management platform that helps organizations securely store, organize, and collaborate on documents. It features room-based file organization, real-time messaging, user permissions, and comprehensive audit trails. The platform supports multi-tenant instances and provides both document management and team communication capabilities in one integrated solution.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="faq-item">
|
||||
<button class="faq-question collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#faq2" aria-expanded="false" aria-controls="faq2">
|
||||
How do rooms work in DocuPulse?
|
||||
</button>
|
||||
<div id="faq2" class="collapse" data-bs-parent="#faqAccordion">
|
||||
<div class="faq-answer">
|
||||
Rooms are the primary organizational units in DocuPulse. Each room can contain files, folders, and have specific members with granular permissions. You can create rooms for different projects, departments, or teams. Room members can have different permission levels including view, download, upload, delete, rename, move, and share capabilities. Rooms provide a secure, organized way to manage documents and control access.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="faq-item">
|
||||
<button class="faq-question collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#faq3" aria-expanded="false" aria-controls="faq3">
|
||||
What file types and sizes are supported?
|
||||
</button>
|
||||
<div id="faq3" class="collapse" data-bs-parent="#faqAccordion">
|
||||
<div class="faq-answer">
|
||||
DocuPulse supports a wide range of file types including documents (PDF, DOCX, DOC, TXT, RTF), spreadsheets (XLSX, XLS, ODS), presentations (PPTX, PPT), images (JPG, PNG, GIF, SVG), archives (ZIP, RAR, 7Z), code files (PY, JS, HTML, CSS), audio/video files, and CAD/design files. Individual files can be up to 10MB, and the platform includes storage limits that can be configured by administrators.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="faq-item">
|
||||
<button class="faq-question collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#faq4" aria-expanded="false" aria-controls="faq4">
|
||||
How does the conversation and messaging system work?
|
||||
</button>
|
||||
<div id="faq4" class="collapse" data-bs-parent="#faqAccordion">
|
||||
<div class="faq-answer">
|
||||
DocuPulse includes a built-in messaging system where you can create conversations with team members. Conversations support text messages and file attachments, allowing you to discuss documents and share files directly within the platform. Only administrators and managers can create conversations, and members receive notifications when added to conversations or when new messages are sent.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="faq-item">
|
||||
<button class="faq-question collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#faq5" aria-expanded="false" aria-controls="faq5">
|
||||
What are the different user roles and permissions?
|
||||
</button>
|
||||
<div id="faq5" class="collapse" data-bs-parent="#faqAccordion">
|
||||
<div class="faq-answer">
|
||||
DocuPulse has three main user roles: Administrators (full system access), Managers (can create conversations and manage room members), and Regular Users. Within rooms, users can have granular permissions: view, download, upload, delete, rename, move, and share. These permissions are managed per room, allowing flexible access control based on project needs and user responsibilities.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="faq-item">
|
||||
<button class="faq-question collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#faq6" aria-expanded="false" aria-controls="faq6">
|
||||
How does file organization and the trash system work?
|
||||
</button>
|
||||
<div id="faq6" class="collapse" data-bs-parent="#faqAccordion">
|
||||
<div class="faq-answer">
|
||||
Files in DocuPulse are organized in a hierarchical folder structure within rooms. You can create folders, move files between locations, and use the search function to find documents quickly. When files are deleted, they go to the trash where they remain for 30 days before permanent deletion. You can restore files from trash or permanently delete them. The platform also includes a starring system to mark important files for quick access.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="faq-item">
|
||||
<button class="faq-question collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#faq7" aria-expanded="false" aria-controls="faq7">
|
||||
What security and audit features are available?
|
||||
</button>
|
||||
<div id="faq7" class="collapse" data-bs-parent="#faqAccordion">
|
||||
<div class="faq-answer">
|
||||
DocuPulse provides comprehensive security and audit capabilities. All user actions are logged as events, including file operations, user management, and system changes. The platform supports password policies, secure file storage, and detailed activity tracking. Administrators can view audit logs, monitor system usage, and export event data for compliance purposes. The system also includes notification features to keep users informed of important activities.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="faq-item">
|
||||
<button class="faq-question collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#faq8" aria-expanded="false" aria-controls="faq8">
|
||||
Can I customize the platform appearance and settings?
|
||||
</button>
|
||||
<div id="faq8" class="collapse" data-bs-parent="#faqAccordion">
|
||||
<div class="faq-answer">
|
||||
Yes, DocuPulse offers extensive customization options. Administrators can customize the platform's color scheme, company branding, and logo. The system includes configurable SMTP settings for email notifications, customizable email templates, and various system settings. You can also configure storage limits, room limits, and other platform parameters to match your organization's needs.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="faq-item">
|
||||
<button class="faq-question collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#faq9" aria-expanded="false" aria-controls="faq9">
|
||||
How does the notification system work?
|
||||
</button>
|
||||
<div id="faq9" class="collapse" data-bs-parent="#faqAccordion">
|
||||
<div class="faq-answer">
|
||||
DocuPulse includes a comprehensive notification system that alerts users to various events. You'll receive notifications for room invitations, conversation messages, file activities, and system events. Notifications can be marked as read/unread, filtered by type, and managed through the notifications panel. The system also supports email notifications for important events, which can be configured by administrators.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="faq-item">
|
||||
<button class="faq-question collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#faq10" aria-expanded="false" aria-controls="faq10">
|
||||
What administrative tools and monitoring features are available?
|
||||
</button>
|
||||
<div id="faq10" class="collapse" data-bs-parent="#faqAccordion">
|
||||
<div class="faq-answer">
|
||||
Administrators have access to comprehensive management tools including user management, system monitoring, usage statistics, and audit logs. The platform provides dashboard views showing file counts, storage usage, user activity, and system health. Administrators can also manage email templates, configure SMTP settings, monitor events, and export data for reporting. The system includes tools for database verification and file system synchronization.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Contact Support -->
|
||||
<section class="help-section">
|
||||
<div class="container">
|
||||
<div class="row justify-content-center">
|
||||
<div class="col-lg-8">
|
||||
<div class="contact-card">
|
||||
<h2 class="text-center mb-4">Still Need Help?</h2>
|
||||
<p class="text-muted text-center mb-5">Our support team is here to help you get the most out of DocuPulse</p>
|
||||
<div class="row g-4">
|
||||
<div class="col-md-6">
|
||||
<div class="text-center">
|
||||
<div class="contact-icon">
|
||||
<i class="fas fa-envelope"></i>
|
||||
</div>
|
||||
<h5 class="fw-bold">Email Support</h5>
|
||||
<p class="text-muted">Get help via email</p>
|
||||
<a href="mailto:support@docupulse.com" class="btn btn-outline-primary btn-sm">Contact Us</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="text-center">
|
||||
<div class="contact-icon">
|
||||
<i class="fas fa-phone"></i>
|
||||
</div>
|
||||
<h5 class="fw-bold">Phone Support</h5>
|
||||
<p class="text-muted">Call us directly</p>
|
||||
<a href="tel:+15551234567" class="btn btn-outline-primary btn-sm">Call Now</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
{% include 'components/footer_nav.html' %}
|
||||
|
||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
|
||||
<script>
|
||||
// Search functionality
|
||||
document.querySelector('.search-box').addEventListener('input', function(e) {
|
||||
const searchTerm = e.target.value.toLowerCase();
|
||||
const faqItems = document.querySelectorAll('.faq-item');
|
||||
|
||||
faqItems.forEach(item => {
|
||||
const question = item.querySelector('.faq-question').textContent.toLowerCase();
|
||||
const answer = item.querySelector('.faq-answer').textContent.toLowerCase();
|
||||
|
||||
if (question.includes(searchTerm) || answer.includes(searchTerm)) {
|
||||
item.style.display = 'block';
|
||||
} else {
|
||||
item.style.display = 'none';
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -217,28 +217,28 @@
|
||||
<!-- Company Stats -->
|
||||
<section class="stats-section">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="row text-center">
|
||||
<div class="col-md-3">
|
||||
<div class="stat-item">
|
||||
<span class="stat-number">500+</span>
|
||||
<span class="stat-number" data-value="75" data-suffix="+">75+</span>
|
||||
<div class="stat-label">Enterprise Clients</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-3">
|
||||
<div class="stat-item">
|
||||
<span class="stat-number">50K+</span>
|
||||
<span class="stat-number" data-value="1000" data-suffix="K+">1000+</span>
|
||||
<div class="stat-label">Active Users</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-3">
|
||||
<div class="stat-item">
|
||||
<span class="stat-number">$25M</span>
|
||||
<span class="stat-number" data-value="1.1" data-suffix="M" data-prefix="$">$1.1M</span>
|
||||
<div class="stat-label">Annual Revenue</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-3">
|
||||
<div class="stat-item">
|
||||
<span class="stat-number">15+</span>
|
||||
<span class="stat-number" data-value="15" data-suffix="+">15+</span>
|
||||
<div class="stat-label">Countries Served</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -308,7 +308,7 @@
|
||||
<i class="fas fa-building"></i>
|
||||
</div>
|
||||
<h5 class="fw-bold">Founded</h5>
|
||||
<p class="opacity-75">2020</p>
|
||||
<p class="opacity-75">1991</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-3 col-md-6">
|
||||
@@ -317,7 +317,7 @@
|
||||
<i class="fas fa-map-marker-alt"></i>
|
||||
</div>
|
||||
<h5 class="fw-bold">Headquarters</h5>
|
||||
<p class="opacity-75">San Francisco, CA</p>
|
||||
<p class="opacity-75">Vilvoorde, Belgium</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-3 col-md-6">
|
||||
@@ -326,7 +326,7 @@
|
||||
<i class="fas fa-users"></i>
|
||||
</div>
|
||||
<h5 class="fw-bold">Employees</h5>
|
||||
<p class="opacity-75">50+</p>
|
||||
<p class="opacity-75">15+</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-3 col-md-6">
|
||||
@@ -342,129 +342,6 @@
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Press Releases -->
|
||||
<section class="press-section">
|
||||
<div class="container">
|
||||
<div class="text-center mb-5">
|
||||
<h2 class="display-5 fw-bold mb-3">Press Releases</h2>
|
||||
<p class="lead text-muted">Latest news and announcements from DocuPulse</p>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-lg-8">
|
||||
<div class="press-release">
|
||||
<div class="press-date">
|
||||
<i class="fas fa-calendar me-2"></i>March 15, 2024
|
||||
</div>
|
||||
<h3 class="h4 fw-bold mb-3">DocuPulse Raises $25M Series B Funding to Accelerate Global Expansion</h3>
|
||||
<p class="text-muted mb-3">DocuPulse, the leading enterprise document management platform, today announced it has raised $25 million in Series B funding led by TechVentures Capital. The funding will be used to accelerate product development and expand into new international markets.</p>
|
||||
<div class="d-flex gap-2 mb-3">
|
||||
<span class="press-tag">Funding</span>
|
||||
<span class="press-tag">Growth</span>
|
||||
<span class="press-tag">International</span>
|
||||
</div>
|
||||
<a href="#" class="read-more">Read Full Release <i class="fas fa-arrow-right ms-1"></i></a>
|
||||
</div>
|
||||
|
||||
<div class="press-release">
|
||||
<div class="press-date">
|
||||
<i class="fas fa-calendar me-2"></i>March 10, 2024
|
||||
</div>
|
||||
<h3 class="h4 fw-bold mb-3">DocuPulse Launches Advanced AI-Powered Document Processing Features</h3>
|
||||
<p class="text-muted mb-3">DocuPulse introduces cutting-edge AI capabilities that automatically classify, extract, and process documents, significantly reducing manual work and improving accuracy for enterprise users.</p>
|
||||
<div class="d-flex gap-2 mb-3">
|
||||
<span class="press-tag">AI</span>
|
||||
<span class="press-tag">Product</span>
|
||||
<span class="press-tag">Innovation</span>
|
||||
</div>
|
||||
<a href="#" class="read-more">Read Full Release <i class="fas fa-arrow-right ms-1"></i></a>
|
||||
</div>
|
||||
|
||||
<div class="press-release">
|
||||
<div class="press-date">
|
||||
<i class="fas fa-calendar me-2"></i>March 5, 2024
|
||||
</div>
|
||||
<h3 class="h4 fw-bold mb-3">DocuPulse Achieves SOC 2 Type II Compliance Certification</h3>
|
||||
<p class="text-muted mb-3">DocuPulse has successfully completed SOC 2 Type II compliance certification, demonstrating its commitment to maintaining the highest standards of security and data protection for enterprise customers.</p>
|
||||
<div class="d-flex gap-2 mb-3">
|
||||
<span class="press-tag">Security</span>
|
||||
<span class="press-tag">Compliance</span>
|
||||
<span class="press-tag">Enterprise</span>
|
||||
</div>
|
||||
<a href="#" class="read-more">Read Full Release <i class="fas fa-arrow-right ms-1"></i></a>
|
||||
</div>
|
||||
|
||||
<div class="press-release">
|
||||
<div class="press-date">
|
||||
<i class="fas fa-calendar me-2"></i>March 1, 2024
|
||||
</div>
|
||||
<h3 class="h4 fw-bold mb-3">DocuPulse Partners with Microsoft to Integrate with Microsoft 365</h3>
|
||||
<p class="text-muted mb-3">DocuPulse announces strategic partnership with Microsoft to provide seamless integration with Microsoft 365, enabling enhanced collaboration and document management capabilities.</p>
|
||||
<div class="d-flex gap-2 mb-3">
|
||||
<span class="press-tag">Partnership</span>
|
||||
<span class="press-tag">Microsoft</span>
|
||||
<span class="press-tag">Integration</span>
|
||||
</div>
|
||||
<a href="#" class="read-more">Read Full Release <i class="fas fa-arrow-right ms-1"></i></a>
|
||||
</div>
|
||||
|
||||
<div class="press-release">
|
||||
<div class="press-date">
|
||||
<i class="fas fa-calendar me-2"></i>February 25, 2024
|
||||
</div>
|
||||
<h3 class="h4 fw-bold mb-3">DocuPulse Named to Inc. 5000 List of Fastest-Growing Companies</h3>
|
||||
<p class="text-muted mb-3">DocuPulse has been recognized on the Inc. 5000 list of America's fastest-growing private companies, ranking #1,247 with 300% growth over the past three years.</p>
|
||||
<div class="d-flex gap-2 mb-3">
|
||||
<span class="press-tag">Awards</span>
|
||||
<span class="press-tag">Growth</span>
|
||||
<span class="press-tag">Recognition</span>
|
||||
</div>
|
||||
<a href="#" class="read-more">Read Full Release <i class="fas fa-arrow-right ms-1"></i></a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-lg-4">
|
||||
<div class="contact-form">
|
||||
<h4 class="fw-bold mb-4">Media Contact</h4>
|
||||
<p class="text-muted mb-4">For press inquiries, media interviews, or additional information, please contact our PR team.</p>
|
||||
<form>
|
||||
<div class="mb-3">
|
||||
<label for="name" class="form-label">Full Name *</label>
|
||||
<input type="text" class="form-control" id="name" required>
|
||||
</div>
|
||||
<div class="mb-3">
|
||||
<label for="email" class="form-label">Email Address *</label>
|
||||
<input type="email" class="form-control" id="email" required>
|
||||
</div>
|
||||
<div class="mb-3">
|
||||
<label for="organization" class="form-label">Organization *</label>
|
||||
<input type="text" class="form-control" id="organization" required>
|
||||
</div>
|
||||
<div class="mb-3">
|
||||
<label for="inquiry" class="form-label">Inquiry Type</label>
|
||||
<select class="form-control" id="inquiry">
|
||||
<option value="">Select inquiry type</option>
|
||||
<option value="interview">Interview Request</option>
|
||||
<option value="press-release">Press Release</option>
|
||||
<option value="media-kit">Media Kit Request</option>
|
||||
<option value="partnership">Partnership Inquiry</option>
|
||||
<option value="other">Other</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="mb-3">
|
||||
<label for="message" class="form-label">Message *</label>
|
||||
<textarea class="form-control" id="message" rows="4" placeholder="Please describe your inquiry..."></textarea>
|
||||
</div>
|
||||
<button type="submit" class="btn btn-primary w-100">
|
||||
<i class="fas fa-paper-plane me-2"></i>Send Message
|
||||
</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Logo Showcase -->
|
||||
<section class="press-section" style="background-color: var(--bg-color);">
|
||||
<div class="container">
|
||||
@@ -493,31 +370,83 @@
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- CTA Section -->
|
||||
<section class="press-section">
|
||||
<div class="container">
|
||||
<div class="row justify-content-center">
|
||||
<div class="col-lg-8 text-center">
|
||||
<h2 class="display-5 fw-bold mb-4">Stay Updated</h2>
|
||||
<p class="lead text-muted mb-5">Subscribe to our press distribution list to receive the latest news and announcements.</p>
|
||||
<div class="row justify-content-center">
|
||||
<div class="col-md-8">
|
||||
<div class="input-group">
|
||||
<input type="email" class="form-control form-control-lg" placeholder="Enter your email address" style="border-radius: 25px 0 0 25px; border: none;">
|
||||
<button class="btn btn-primary btn-lg" type="button" style="border-radius: 0 25px 25px 0; border: none;">
|
||||
<i class="fas fa-paper-plane me-2"></i>Subscribe
|
||||
</button>
|
||||
</div>
|
||||
<p class="text-muted mt-3 small">We'll only send you press releases and important company news.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
{% include 'components/footer_nav.html' %}
|
||||
|
||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
|
||||
<script>
|
||||
// Function to animate number counting
|
||||
function animateNumber(element, endValue, suffix = '', prefix = '', duration = 2000) {
|
||||
const start = performance.now();
|
||||
const startValue = 0;
|
||||
const difference = endValue - startValue;
|
||||
|
||||
function updateNumber(currentTime) {
|
||||
const elapsed = currentTime - start;
|
||||
const progress = Math.min(elapsed / duration, 1);
|
||||
|
||||
// Easing function for smooth animation
|
||||
const easeOutQuart = 1 - Math.pow(1 - progress, 4);
|
||||
const currentValue = startValue + (difference * easeOutQuart);
|
||||
|
||||
// Format the number based on the suffix and prefix
|
||||
let displayValue;
|
||||
if (suffix === 'K+') {
|
||||
displayValue = Math.round(currentValue) + suffix;
|
||||
} else if (suffix === 'M') {
|
||||
displayValue = prefix + Math.round(currentValue) + suffix;
|
||||
} else if (suffix === '+') {
|
||||
displayValue = Math.round(currentValue) + suffix;
|
||||
} else {
|
||||
displayValue = Math.round(currentValue) + (suffix || '');
|
||||
}
|
||||
|
||||
element.textContent = displayValue;
|
||||
|
||||
if (progress < 1) {
|
||||
requestAnimationFrame(updateNumber);
|
||||
} else {
|
||||
// Ensure the final value is correct
|
||||
if (suffix === 'M') {
|
||||
element.textContent = prefix + element.getAttribute('data-value') + suffix;
|
||||
} else {
|
||||
element.textContent = element.getAttribute('data-value') + (suffix || '');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
requestAnimationFrame(updateNumber);
|
||||
}
|
||||
|
||||
// Initialize animated numbers when component is loaded
|
||||
document.addEventListener('DOMContentLoaded', function() {
|
||||
const statsObserver = new IntersectionObserver(function(entries) {
|
||||
entries.forEach(entry => {
|
||||
if (entry.isIntersecting) {
|
||||
const statNumbers = entry.target.querySelectorAll('.stat-number');
|
||||
statNumbers.forEach((stat, index) => {
|
||||
setTimeout(() => {
|
||||
const value = parseFloat(stat.getAttribute('data-value'));
|
||||
const suffix = stat.getAttribute('data-suffix') || '';
|
||||
const prefix = stat.getAttribute('data-prefix') || '';
|
||||
|
||||
if (!isNaN(value)) {
|
||||
animateNumber(stat, value, suffix, prefix, 2000);
|
||||
}
|
||||
}, index * 300); // Stagger the animations
|
||||
});
|
||||
|
||||
// Only trigger once
|
||||
statsObserver.unobserve(entry.target);
|
||||
}
|
||||
});
|
||||
}, { threshold: 0.5 });
|
||||
|
||||
// Observe the stats section
|
||||
const statsSection = document.querySelector('.stats-section');
|
||||
if (statsSection) {
|
||||
statsObserver.observe(statsSection);
|
||||
}
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
322
templates/public/privacy.html
Normal file
322
templates/public/privacy.html
Normal file
@@ -0,0 +1,322 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Privacy Policy - DocuPulse</title>
|
||||
<meta name="description" content="Learn how DocuPulse collects, uses, and protects your personal information in accordance with privacy laws and regulations.">
|
||||
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css">
|
||||
<link rel="stylesheet" href="{{ url_for('static', filename='css/colors.css') }}?v={{ 'css/colors.css'|asset_version }}">
|
||||
<style>
|
||||
.legal-section {
|
||||
padding: 80px 0;
|
||||
}
|
||||
|
||||
.legal-content {
|
||||
background: var(--white);
|
||||
border-radius: 20px;
|
||||
padding: 40px;
|
||||
box-shadow: 0 10px 25px var(--shadow-color);
|
||||
margin-bottom: 30px;
|
||||
}
|
||||
|
||||
.legal-header {
|
||||
background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
|
||||
color: white;
|
||||
padding: 80px 0;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.legal-header::before {
|
||||
content: '';
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="grain" width="100" height="100" patternUnits="userSpaceOnUse"><circle cx="50" cy="50" r="1" fill="white" opacity="0.1"/></pattern></defs><rect width="100" height="100" fill="url(%23grain)"/></svg>');
|
||||
opacity: 0.3;
|
||||
}
|
||||
|
||||
.legal-header .container {
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
.section-title {
|
||||
color: var(--primary-color);
|
||||
border-bottom: 3px solid var(--primary-color);
|
||||
padding-bottom: 10px;
|
||||
margin-bottom: 25px;
|
||||
}
|
||||
|
||||
.info-box {
|
||||
background: rgba(var(--primary-color-rgb), 0.05);
|
||||
border-left: 4px solid var(--primary-color);
|
||||
padding: 20px;
|
||||
border-radius: 8px;
|
||||
margin: 20px 0;
|
||||
}
|
||||
|
||||
.info-box h5 {
|
||||
color: var(--primary-color);
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.data-table {
|
||||
background: var(--white);
|
||||
border-radius: 10px;
|
||||
overflow: hidden;
|
||||
box-shadow: 0 5px 15px var(--shadow-color);
|
||||
margin: 20px 0;
|
||||
}
|
||||
|
||||
.data-table th {
|
||||
background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
|
||||
color: white;
|
||||
border: none;
|
||||
padding: 15px;
|
||||
}
|
||||
|
||||
.data-table td {
|
||||
padding: 15px;
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
}
|
||||
|
||||
.data-table tr:last-child td {
|
||||
border-bottom: none;
|
||||
}
|
||||
|
||||
.contact-info {
|
||||
background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
|
||||
color: white;
|
||||
padding: 40px;
|
||||
border-radius: 20px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.contact-info h3 {
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.contact-info a {
|
||||
color: white;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.contact-info a:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.last-updated {
|
||||
background: var(--light-bg);
|
||||
padding: 15px;
|
||||
border-radius: 10px;
|
||||
text-align: center;
|
||||
margin-top: 30px;
|
||||
}
|
||||
|
||||
@media (max-width: 768px) {
|
||||
.legal-content {
|
||||
padding: 25px;
|
||||
}
|
||||
|
||||
.data-table {
|
||||
font-size: 0.9rem;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
{% include 'components/header_nav.html' %}
|
||||
|
||||
<!-- Header Section -->
|
||||
<section class="legal-header">
|
||||
<div class="container">
|
||||
<div class="text-center">
|
||||
<h1 class="display-4 fw-bold mb-3">Privacy Policy</h1>
|
||||
<p class="lead opacity-75">How we collect, use, and protect your information</p>
|
||||
<p class="opacity-75">Last updated: December 2024</p>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Privacy Policy Content -->
|
||||
<section class="legal-section">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-lg-8 mx-auto">
|
||||
<div class="legal-content">
|
||||
<h2 class="section-title">1. Introduction</h2>
|
||||
<p>DocuPulse ("we," "our," or "us") is committed to protecting your privacy. This Privacy Policy explains how we collect, use, disclose, and safeguard your information when you use our document management platform and related services.</p>
|
||||
|
||||
<div class="info-box">
|
||||
<h5><i class="fas fa-info-circle me-2"></i>Important Notice</h5>
|
||||
<p class="mb-0">By using DocuPulse, you agree to the collection and use of information in accordance with this policy. If you do not agree with our policies and practices, please do not use our service.</p>
|
||||
</div>
|
||||
|
||||
<h2 class="section-title">2. Information We Collect</h2>
|
||||
<h4>2.1 Personal Information</h4>
|
||||
<p>We collect information you provide directly to us, including:</p>
|
||||
<ul>
|
||||
<li>Name, email address, and contact information</li>
|
||||
<li>Company and job title information</li>
|
||||
<li>Account credentials and profile information</li>
|
||||
<li>Payment and billing information</li>
|
||||
<li>Communications with our support team</li>
|
||||
</ul>
|
||||
|
||||
<h4>2.2 Usage Information</h4>
|
||||
<p>We automatically collect certain information about your use of our services:</p>
|
||||
<ul>
|
||||
<li>Log data (IP address, browser type, access times)</li>
|
||||
<li>Device information (device type, operating system)</li>
|
||||
<li>Usage patterns and feature interactions</li>
|
||||
</ul>
|
||||
|
||||
<h4>2.3 Document and Content Data</h4>
|
||||
<p>When you use our document management features, we may process:</p>
|
||||
<ul>
|
||||
<li>Documents and files you upload</li>
|
||||
<li>Metadata associated with your documents</li>
|
||||
<li>Collaboration and sharing information</li>
|
||||
</ul>
|
||||
|
||||
<h2 class="section-title">3. How We Use Your Information</h2>
|
||||
<div class="data-table">
|
||||
<table class="table table-hover mb-0">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Purpose</th>
|
||||
<th>Information Used</th>
|
||||
<th>Legal Basis</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>Provide our services</td>
|
||||
<td>Account info, documents, usage data</td>
|
||||
<td>Contract performance</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Customer support</td>
|
||||
<td>Contact info, communications</td>
|
||||
<td>Legitimate interest</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Security and fraud prevention</td>
|
||||
<td>Log data, device info</td>
|
||||
<td>Legitimate interest</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Service improvement</td>
|
||||
<td>Usage patterns, feedback</td>
|
||||
<td>Legitimate interest</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<h2 class="section-title">4. Information Sharing and Disclosure</h2>
|
||||
<p>We do not sell, trade, or rent your personal information to third parties. We may share your information in the following circumstances:</p>
|
||||
|
||||
<h4>4.1 Service Providers</h4>
|
||||
<p>We work with trusted third-party service providers who assist us in operating our platform, such as:</p>
|
||||
<ul>
|
||||
<li>Cloud hosting and storage providers</li>
|
||||
<li>Payment processors</li>
|
||||
<li>Email and communication services</li>
|
||||
</ul>
|
||||
|
||||
<h4>4.2 Legal Requirements</h4>
|
||||
<p>We may disclose your information if required by law or in response to:</p>
|
||||
<ul>
|
||||
<li>Valid legal requests or court orders</li>
|
||||
<li>Government investigations</li>
|
||||
<li>Protection of our rights and safety</li>
|
||||
<li>Prevention of fraud or security threats</li>
|
||||
</ul>
|
||||
|
||||
<h4>4.3 Business Transfers</h4>
|
||||
<p>In the event of a merger, acquisition, or sale of assets, your information may be transferred as part of the business transaction, subject to the same privacy protections.</p>
|
||||
|
||||
<h2 class="section-title">5. Data Security</h2>
|
||||
<p>We implement comprehensive security measures to protect your information:</p>
|
||||
<ul>
|
||||
<li><strong>Encryption:</strong> All data is encrypted in transit and at rest using AES-256</li>
|
||||
<li><strong>Access Controls:</strong> Role-based access controls and multi-factor authentication</li>
|
||||
<li><strong>Monitoring:</strong> Continuous security monitoring and threat detection</li>
|
||||
<li><strong>Backup:</strong> Regular encrypted backups with disaster recovery</li>
|
||||
</ul>
|
||||
|
||||
<h2 class="section-title">6. Your Rights and Choices</h2>
|
||||
<p>You have the right to:</p>
|
||||
<ul>
|
||||
<li>Access your personal information</li>
|
||||
<li>Correct inaccurate information</li>
|
||||
<li>Delete your account and data</li>
|
||||
<li>Export your data</li>
|
||||
<li>Object to processing</li>
|
||||
<li>Withdraw consent</li>
|
||||
</ul>
|
||||
|
||||
<h2 class="section-title">7. Data Retention</h2>
|
||||
<p>We retain your information for as long as necessary to:</p>
|
||||
<ul>
|
||||
<li>Provide our services to you</li>
|
||||
<li>Comply with legal obligations</li>
|
||||
<li>Resolve disputes and enforce agreements</li>
|
||||
</ul>
|
||||
<p>When you delete your account, we will delete your personal information within 30 days, except where retention is required by law.</p>
|
||||
|
||||
<h2 class="section-title">8. International Data Transfers</h2>
|
||||
<p>Your information may be transferred to and processed in countries other than your own when you provide access to your DocuPulse instance to clients and users. We ensure appropriate safeguards are in place for international transfers, including:</p>
|
||||
<ul>
|
||||
<li>Standard contractual clauses</li>
|
||||
<li>Adequacy decisions</li>
|
||||
<li>Other appropriate safeguards</li>
|
||||
</ul>
|
||||
|
||||
<h2 class="section-title">9. Cookies and Tracking</h2>
|
||||
<p>We use cookies and similar technologies to:</p>
|
||||
<ul>
|
||||
<li>Remember your preferences and settings</li>
|
||||
<li>Provide personalized content and features</li>
|
||||
<li>Ensure security and prevent fraud</li>
|
||||
</ul>
|
||||
|
||||
<h2 class="section-title">10. Children's Privacy</h2>
|
||||
<p>Our services are not intended for children under 13 years of age. We do not knowingly collect personal information from children under 13. If you believe we have collected information from a child under 13, please contact us immediately.</p>
|
||||
|
||||
<h2 class="section-title">11. Changes to This Policy</h2>
|
||||
<p>We may update this Privacy Policy from time to time. We will notify you of any material changes by:</p>
|
||||
<ul>
|
||||
<li>Sending email notifications to registered users</li>
|
||||
<li>Displaying prominent notices in our application</li>
|
||||
</ul>
|
||||
<p>Your continued use of our services after changes become effective constitutes acceptance of the updated policy.</p>
|
||||
|
||||
<div class="contact-info">
|
||||
<h3><i class="fas fa-envelope me-2"></i>Contact Us</h3>
|
||||
<p>If you have questions about this Privacy Policy or our privacy practices, please contact us:</p>
|
||||
<p><strong>Email:</strong> <a href="mailto:privacy@docupulse.com">privacy@docupulse.com</a></p>
|
||||
<p><strong>Address:</strong> DocuPulse Inc., 123 Business Ave, Suite 100, City, State 12345</p>
|
||||
<p><strong>Phone:</strong> <a href="tel:+1-555-123-4567">+1 (555) 123-4567</a></p>
|
||||
</div>
|
||||
|
||||
<div class="last-updated">
|
||||
<p class="mb-0"><strong>Last Updated:</strong> June 2025</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
{% include 'components/footer_nav.html' %}
|
||||
|
||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
368
templates/public/security.html
Normal file
368
templates/public/security.html
Normal file
@@ -0,0 +1,368 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Security - DocuPulse</title>
|
||||
<meta name="description" content="Learn about DocuPulse's enterprise-grade security measures, compliance certifications, and data protection practices.">
|
||||
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css">
|
||||
<link rel="stylesheet" href="{{ url_for('static', filename='css/colors.css') }}?v={{ 'css/colors.css'|asset_version }}">
|
||||
<style>
|
||||
.security-section {
|
||||
padding: 80px 0;
|
||||
}
|
||||
|
||||
.security-card {
|
||||
background: var(--white);
|
||||
border-radius: 20px;
|
||||
padding: 40px 30px;
|
||||
box-shadow: 0 10px 25px var(--shadow-color);
|
||||
height: 100%;
|
||||
border: none;
|
||||
transition: transform 0.3s ease;
|
||||
}
|
||||
|
||||
.security-card:hover {
|
||||
transform: translateY(-5px);
|
||||
}
|
||||
|
||||
.security-icon {
|
||||
width: 80px;
|
||||
height: 80px;
|
||||
background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
|
||||
border-radius: 20px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
margin: 0 auto 25px;
|
||||
color: white;
|
||||
font-size: 2rem;
|
||||
}
|
||||
|
||||
.compliance-badge {
|
||||
background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
|
||||
color: white;
|
||||
padding: 15px 25px;
|
||||
border-radius: 15px;
|
||||
text-align: center;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.compliance-badge i {
|
||||
font-size: 2rem;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.feature-list {
|
||||
list-style: none;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.feature-list li {
|
||||
padding: 10px 0;
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
position: relative;
|
||||
padding-left: 30px;
|
||||
}
|
||||
|
||||
.feature-list li:before {
|
||||
content: '✓';
|
||||
position: absolute;
|
||||
left: 0;
|
||||
color: var(--primary-color);
|
||||
font-weight: bold;
|
||||
font-size: 1.2rem;
|
||||
}
|
||||
|
||||
.feature-list li:last-child {
|
||||
border-bottom: none;
|
||||
}
|
||||
|
||||
/* Make checkmarks white in security features section */
|
||||
.security-section[style*="gradient"] .feature-list li:before {
|
||||
color: white;
|
||||
}
|
||||
|
||||
.security-overview {
|
||||
background: var(--white);
|
||||
color: var(--text-dark);
|
||||
padding: 80px 0;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.security-overview::before {
|
||||
content: '';
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="grain" width="100" height="100" patternUnits="userSpaceOnUse"><circle cx="50" cy="50" r="1" fill="white" opacity="0.1"/></pattern></defs><rect width="100" height="100" fill="url(%23grain)"/></svg>');
|
||||
opacity: 0.3;
|
||||
}
|
||||
|
||||
.overview-item {
|
||||
text-align: center;
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
margin-bottom: 30px;
|
||||
}
|
||||
|
||||
.overview-icon {
|
||||
width: 60px;
|
||||
height: 60px;
|
||||
background: rgba(255, 255, 255, 0.2);
|
||||
border-radius: 15px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
margin: 0 auto 20px;
|
||||
color: white;
|
||||
font-size: 1.5rem;
|
||||
}
|
||||
|
||||
.timeline {
|
||||
position: relative;
|
||||
padding: 40px 0;
|
||||
}
|
||||
|
||||
.timeline::before {
|
||||
content: '';
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
width: 2px;
|
||||
background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
|
||||
transform: translateX(-50%);
|
||||
}
|
||||
|
||||
.timeline-item {
|
||||
position: relative;
|
||||
margin-bottom: 40px;
|
||||
}
|
||||
|
||||
.timeline-item:nth-child(odd) .timeline-content {
|
||||
margin-left: 0;
|
||||
margin-right: 50%;
|
||||
padding-right: 40px;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.timeline-item:nth-child(even) .timeline-content {
|
||||
margin-left: 50%;
|
||||
margin-right: 0;
|
||||
padding-left: 40px;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.timeline-dot {
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
top: 20px;
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
|
||||
border-radius: 50%;
|
||||
transform: translateX(-50%);
|
||||
z-index: 2;
|
||||
}
|
||||
|
||||
.timeline-content {
|
||||
background: var(--white);
|
||||
border-radius: 15px;
|
||||
padding: 25px;
|
||||
box-shadow: 0 5px 15px var(--shadow-color);
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.gradient-text {
|
||||
background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
|
||||
-webkit-background-clip: text;
|
||||
-webkit-text-fill-color: transparent;
|
||||
background-clip: text;
|
||||
}
|
||||
|
||||
/* Button styles to match other pages */
|
||||
.btn-primary {
|
||||
background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
|
||||
border: none;
|
||||
border-radius: 25px;
|
||||
padding: 12px 30px;
|
||||
font-weight: 600;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
.btn-primary:hover {
|
||||
background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
|
||||
transform: translateY(-2px);
|
||||
box-shadow: 0 5px 15px var(--primary-opacity-15);
|
||||
filter: brightness(1.1);
|
||||
}
|
||||
.btn-outline-primary {
|
||||
border: 2px solid var(--primary-color);
|
||||
color: var(--primary-color);
|
||||
border-radius: 25px;
|
||||
padding: 12px 30px;
|
||||
font-weight: 600;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
.btn-outline-primary:hover {
|
||||
background: rgba(var(--primary-color-rgb), 0.05);
|
||||
border-color: var(--primary-color);
|
||||
color: var(--primary-color);
|
||||
transform: translateY(-2px);
|
||||
box-shadow: 0 5px 15px rgba(var(--primary-color-rgb), 0.1);
|
||||
}
|
||||
.btn-lg {
|
||||
padding: 15px 40px;
|
||||
font-size: 1.1rem;
|
||||
}
|
||||
|
||||
@media (max-width: 768px) {
|
||||
.timeline::before {
|
||||
left: 20px;
|
||||
}
|
||||
|
||||
.timeline-item:nth-child(odd) .timeline-content,
|
||||
.timeline-item:nth-child(even) .timeline-content {
|
||||
margin-left: 0;
|
||||
margin-right: 0;
|
||||
padding-left: 50px;
|
||||
padding-right: 20px;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.timeline-dot {
|
||||
left: 20px;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
{% include 'components/header_nav.html' %}
|
||||
|
||||
<!-- Hero Section -->
|
||||
{% with
|
||||
title="Security & Compliance",
|
||||
description="Enterprise-grade security measures to protect your data and ensure compliance with industry standards",
|
||||
title_size="4",
|
||||
description_size="5"
|
||||
%}
|
||||
{% include 'components/hero_section.html' %}
|
||||
{% endwith %}
|
||||
|
||||
<!-- Security Overview -->
|
||||
<section class="security-overview" style="background-color: var(--white); color: var(--text-dark);">
|
||||
<div class="container">
|
||||
<div class="text-center mb-5">
|
||||
<h2 class="display-5 fw-bold mb-3">Security at the Core</h2>
|
||||
<p class="lead text-muted">We prioritize the security of your data with multiple layers of protection</p>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-lg-4">
|
||||
<div class="overview-item">
|
||||
<div class="overview-icon" style="background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);">
|
||||
<i class="fas fa-lock"></i>
|
||||
</div>
|
||||
<h5 class="fw-bold">End-to-End Encryption</h5>
|
||||
<p class="text-muted">All data encrypted in transit and at rest</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-4">
|
||||
<div class="overview-item">
|
||||
<div class="overview-icon" style="background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);">
|
||||
<i class="fas fa-shield-alt"></i>
|
||||
</div>
|
||||
<h5 class="fw-bold">SOC 2 Type II</h5>
|
||||
<p class="text-muted">Certified compliance with industry standards</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-4">
|
||||
<div class="overview-item">
|
||||
<div class="overview-icon" style="background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);">
|
||||
<i class="fas fa-user-shield"></i>
|
||||
</div>
|
||||
<h5 class="fw-bold">Role-Based Access</h5>
|
||||
<p class="text-muted">Granular permissions and access controls</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Security Features -->
|
||||
<section class="security-section" style="background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%); color: white;">
|
||||
<div class="container">
|
||||
<div class="text-center mb-5">
|
||||
<h2 class="display-5 fw-bold mb-3">Security Features</h2>
|
||||
<p class="lead opacity-75">Comprehensive security measures to protect your organization</p>
|
||||
</div>
|
||||
<div class="row g-4">
|
||||
<div class="col-lg-4">
|
||||
<div class="security-card text-center" style="background: rgba(255, 255, 255, 0.1); backdrop-filter: blur(10px); border: 1px solid rgba(255, 255, 255, 0.2);">
|
||||
<div class="security-icon" style="background: rgba(255, 255, 255, 0.2);">
|
||||
<i class="fas fa-key"></i>
|
||||
</div>
|
||||
<h4 class="fw-bold mb-3">Data Encryption</h4>
|
||||
<p class="opacity-75 mb-4">All data is encrypted using AES-256 encryption both in transit and at rest.</p>
|
||||
<ul class="feature-list text-start" style="color: rgba(255, 255, 255, 0.9);">
|
||||
<li>AES-256 encryption at rest</li>
|
||||
<li>TLS 1.3 for data in transit</li>
|
||||
<li>Encrypted backups</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-4">
|
||||
<div class="security-card text-center" style="background: rgba(255, 255, 255, 0.1); backdrop-filter: blur(10px); border: 1px solid rgba(255, 255, 255, 0.2);">
|
||||
<div class="security-icon" style="background: rgba(255, 255, 255, 0.2);">
|
||||
<i class="fas fa-user-lock"></i>
|
||||
</div>
|
||||
<h4 class="fw-bold mb-3">Access Control</h4>
|
||||
<p class="opacity-75 mb-4">Granular role-based access controls allow you to manage who can access what data.</p>
|
||||
<ul class="feature-list text-start" style="color: rgba(255, 255, 255, 0.9);">
|
||||
<li>Role-based permissions</li>
|
||||
<li>Multi-factor authentication</li>
|
||||
<li>Session management</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-4">
|
||||
<div class="security-card text-center" style="background: rgba(255, 255, 255, 0.1); backdrop-filter: blur(10px); border: 1px solid rgba(255, 255, 255, 0.2);">
|
||||
<div class="security-icon" style="background: rgba(255, 255, 255, 0.2);">
|
||||
<i class="fas fa-search"></i>
|
||||
</div>
|
||||
<h4 class="fw-bold mb-3">Audit & Monitoring</h4>
|
||||
<p class="opacity-75 mb-4">Comprehensive logging and monitoring to track all activities and detect threats.</p>
|
||||
<ul class="feature-list text-start" style="color: rgba(255, 255, 255, 0.9);">
|
||||
<li>Activity logging</li>
|
||||
<li>Real-time monitoring</li>
|
||||
<li>Security alerts</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- CTA Section -->
|
||||
<section class="security-section">
|
||||
<div class="container">
|
||||
<div class="row justify-content-center">
|
||||
<div class="col-lg-8 text-center">
|
||||
<h2 class="display-5 fw-bold mb-4">Ready to Get Started?</h2>
|
||||
<p class="lead text-muted mb-5">Experience enterprise-grade security with DocuPulse</p>
|
||||
{% with primary_url=url_for('public.contact'), primary_icon='fas fa-envelope', primary_text='Contact Team', secondary_url=url_for('public.pricing'), secondary_icon='fas fa-rocket', secondary_text='Get Started' %}
|
||||
{% include 'components/cta_buttons.html' %}
|
||||
{% endwith %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
{% include 'components/footer_nav.html' %}
|
||||
|
||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
365
templates/public/terms.html
Normal file
365
templates/public/terms.html
Normal file
@@ -0,0 +1,365 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Terms of Service - DocuPulse</title>
|
||||
<meta name="description" content="Read DocuPulse's Terms of Service to understand your rights and obligations when using our document management platform.">
|
||||
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css">
|
||||
<link rel="stylesheet" href="{{ url_for('static', filename='css/colors.css') }}?v={{ 'css/colors.css'|asset_version }}">
|
||||
<style>
|
||||
.legal-section {
|
||||
padding: 80px 0;
|
||||
}
|
||||
|
||||
.legal-content {
|
||||
background: var(--white);
|
||||
border-radius: 20px;
|
||||
padding: 40px;
|
||||
box-shadow: 0 10px 25px var(--shadow-color);
|
||||
margin-bottom: 30px;
|
||||
}
|
||||
|
||||
.legal-header {
|
||||
background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
|
||||
color: white;
|
||||
padding: 80px 0;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.legal-header::before {
|
||||
content: '';
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="grain" width="100" height="100" patternUnits="userSpaceOnUse"><circle cx="50" cy="50" r="1" fill="white" opacity="0.1"/></pattern></defs><rect width="100" height="100" fill="url(%23grain)"/></svg>');
|
||||
opacity: 0.3;
|
||||
}
|
||||
|
||||
.legal-header .container {
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
.section-title {
|
||||
color: var(--primary-color);
|
||||
border-bottom: 3px solid var(--primary-color);
|
||||
padding-bottom: 10px;
|
||||
margin-bottom: 25px;
|
||||
}
|
||||
|
||||
.warning-box {
|
||||
background: rgba(255, 193, 7, 0.1);
|
||||
border-left: 4px solid #ffc107;
|
||||
padding: 20px;
|
||||
border-radius: 8px;
|
||||
margin: 20px 0;
|
||||
}
|
||||
|
||||
.warning-box h5 {
|
||||
color: #856404;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.info-box {
|
||||
background: rgba(var(--primary-color-rgb), 0.05);
|
||||
border-left: 4px solid var(--primary-color);
|
||||
padding: 20px;
|
||||
border-radius: 8px;
|
||||
margin: 20px 0;
|
||||
}
|
||||
|
||||
.info-box h5 {
|
||||
color: var(--primary-color);
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.terms-table {
|
||||
background: var(--white);
|
||||
border-radius: 10px;
|
||||
overflow: hidden;
|
||||
box-shadow: 0 5px 15px var(--shadow-color);
|
||||
margin: 20px 0;
|
||||
}
|
||||
|
||||
.terms-table th {
|
||||
background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
|
||||
color: white;
|
||||
border: none;
|
||||
padding: 15px;
|
||||
}
|
||||
|
||||
.terms-table td {
|
||||
padding: 15px;
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
}
|
||||
|
||||
.terms-table tr:last-child td {
|
||||
border-bottom: none;
|
||||
}
|
||||
|
||||
.contact-info {
|
||||
background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
|
||||
color: white;
|
||||
padding: 40px;
|
||||
border-radius: 20px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.contact-info h3 {
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.contact-info a {
|
||||
color: white;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.contact-info a:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.last-updated {
|
||||
background: var(--light-bg);
|
||||
padding: 15px;
|
||||
border-radius: 10px;
|
||||
text-align: center;
|
||||
margin-top: 30px;
|
||||
}
|
||||
|
||||
.prohibited-list {
|
||||
background: rgba(220, 53, 69, 0.1);
|
||||
border-left: 4px solid #dc3545;
|
||||
padding: 20px;
|
||||
border-radius: 8px;
|
||||
margin: 20px 0;
|
||||
}
|
||||
|
||||
.prohibited-list h5 {
|
||||
color: #721c24;
|
||||
margin-bottom: 15px;
|
||||
}
|
||||
|
||||
.prohibited-list ul {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
@media (max-width: 768px) {
|
||||
.legal-content {
|
||||
padding: 25px;
|
||||
}
|
||||
|
||||
.terms-table {
|
||||
font-size: 0.9rem;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
{% include 'components/header_nav.html' %}
|
||||
|
||||
<!-- Header Section -->
|
||||
<section class="legal-header">
|
||||
<div class="container">
|
||||
<div class="text-center">
|
||||
<h1 class="display-4 fw-bold mb-3">Terms of Service</h1>
|
||||
<p class="lead opacity-75">Your agreement with DocuPulse</p>
|
||||
<p class="opacity-75">Last updated: December 2024</p>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Terms of Service Content -->
|
||||
<section class="legal-section">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-lg-8 mx-auto">
|
||||
<div class="legal-content">
|
||||
<h2 class="section-title">1. Acceptance of Terms</h2>
|
||||
<p>By accessing and using DocuPulse ("the Service"), you accept and agree to be bound by the terms and provision of this agreement. If you do not agree to abide by the above, please do not use this service.</p>
|
||||
|
||||
<div class="warning-box">
|
||||
<h5><i class="fas fa-exclamation-triangle me-2"></i>Important Notice</h5>
|
||||
<p class="mb-0">These Terms of Service constitute a legally binding agreement between you and DocuPulse Inc. Please read them carefully before using our services.</p>
|
||||
</div>
|
||||
|
||||
<h2 class="section-title">2. Description of Service</h2>
|
||||
<p>DocuPulse is a cloud-based document management platform that provides:</p>
|
||||
<ul>
|
||||
<li>Document storage and organization</li>
|
||||
<li>Security and access controls</li>
|
||||
<li>Document management and sharing</li>
|
||||
<li>Document requests</li>
|
||||
<li>Secure conversations</li>
|
||||
</ul>
|
||||
|
||||
<h2 class="section-title">3. User Accounts</h2>
|
||||
<h4>3.1 Account Creation</h4>
|
||||
<p>To use our Service, you must create an account by providing accurate, current, and complete information. You are responsible for maintaining the confidentiality of your account credentials.</p>
|
||||
|
||||
<h4>3.2 Account Responsibilities</h4>
|
||||
<p>You are responsible for:</p>
|
||||
<ul>
|
||||
<li>All activities that occur under your account</li>
|
||||
<li>Maintaining the security of your password</li>
|
||||
<li>Notifying us immediately of any unauthorized use</li>
|
||||
<li>Ensuring your account information remains accurate</li>
|
||||
</ul>
|
||||
|
||||
<h2 class="section-title">4. Acceptable Use Policy</h2>
|
||||
<p>You agree to use the Service only for lawful purposes and in accordance with these Terms. You agree not to use the Service:</p>
|
||||
|
||||
<div class="prohibited-list">
|
||||
<h5><i class="fas fa-ban me-2"></i>Prohibited Activities</h5>
|
||||
<ul>
|
||||
<li>To violate any applicable laws or regulations</li>
|
||||
<li>To infringe upon the rights of others</li>
|
||||
<li>To upload malicious software or content</li>
|
||||
<li>To attempt to gain unauthorized access to our systems</li>
|
||||
<li>To interfere with or disrupt the Service</li>
|
||||
<li>To use the Service for spam or unsolicited communications</li>
|
||||
<li>To store or transmit illegal content</li>
|
||||
<li>To reverse engineer or attempt to extract source code</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<h2 class="section-title">5. Content and Data</h2>
|
||||
<h4>5.1 Your Content</h4>
|
||||
<p>You retain ownership of all content you upload to the Service. By uploading content, you grant us a limited license to store, process, and display your content as necessary to provide the Service.</p>
|
||||
|
||||
<h4>5.2 Content Standards</h4>
|
||||
<p>You represent and warrant that all content you upload:</p>
|
||||
<ul>
|
||||
<li>Does not violate any laws or regulations</li>
|
||||
<li>Does not infringe on third-party rights</li>
|
||||
<li>Is not harmful, offensive, or inappropriate</li>
|
||||
<li>Complies with our content guidelines</li>
|
||||
</ul>
|
||||
|
||||
<h4>5.3 Data Processing</h4>
|
||||
<p>We process your data in accordance with our Privacy Policy and applicable data protection laws. You are responsible for ensuring you have the right to share any data you upload.</p>
|
||||
|
||||
<h2 class="section-title">6. Subscription and Payment</h2>
|
||||
<h4>6.1 Subscription Plans</h4>
|
||||
<p>We offer various subscription plans with different features and pricing. Current plans and pricing are available on our website and may be updated from time to time.</p>
|
||||
|
||||
<h4>6.2 Payment Terms</h4>
|
||||
<ul>
|
||||
<li>Payments are billed in advance on a recurring basis</li>
|
||||
<li>All fees are non-refundable except as required by law</li>
|
||||
<li>We may change our pricing with 30 days' notice</li>
|
||||
<li>Failed payments may result in service suspension</li>
|
||||
</ul>
|
||||
|
||||
<h4>6.3 Cancellation</h4>
|
||||
<p>You may cancel your subscription at any time through your account settings. Cancellation will take effect at the end of your current billing period.</p>
|
||||
|
||||
<h2 class="section-title">7. Service Availability</h2>
|
||||
<div class="info-box">
|
||||
<h5><i class="fas fa-info-circle me-2"></i>Service Level</h5>
|
||||
<p class="mb-0">We strive to maintain 99.9% uptime but cannot guarantee uninterrupted service. We may perform maintenance that temporarily affects availability.</p>
|
||||
</div>
|
||||
|
||||
<p>We reserve the right to:</p>
|
||||
<ul>
|
||||
<li>Modify or discontinue features at any time</li>
|
||||
<li>Perform maintenance that may affect service availability</li>
|
||||
<li>Limit or suspend access for security or legal reasons</li>
|
||||
<li>Update the Service to improve functionality</li>
|
||||
</ul>
|
||||
|
||||
<h2 class="section-title">8. Intellectual Property</h2>
|
||||
<h4>8.1 Our Rights</h4>
|
||||
<p>DocuPulse and its original content, features, and functionality are owned by DocuPulse Inc. and are protected by international copyright, trademark, patent, trade secret, and other intellectual property laws.</p>
|
||||
|
||||
<h4>8.2 Your Rights</h4>
|
||||
<p>You retain ownership of your content. You grant us a limited, non-exclusive license to use your content solely to provide the Service.</p>
|
||||
|
||||
<h2 class="section-title">9. Privacy and Data Protection</h2>
|
||||
<p>Your privacy is important to us. Our collection and use of personal information is governed by our Privacy Policy, which is incorporated into these Terms by reference.</p>
|
||||
|
||||
<h2 class="section-title">10. Limitation of Liability</h2>
|
||||
<div class="warning-box">
|
||||
<h5><i class="fas fa-shield-alt me-2"></i>Liability Limitations</h5>
|
||||
<p class="mb-0">To the maximum extent permitted by law, DocuPulse shall not be liable for any indirect, incidental, special, consequential, or punitive damages, including but not limited to loss of profits, data, or use.</p>
|
||||
</div>
|
||||
|
||||
<p>Our total liability to you for any claims arising from these Terms or your use of the Service shall not exceed the amount you paid us in the 12 months preceding the claim.</p>
|
||||
|
||||
<h2 class="section-title">11. Indemnification</h2>
|
||||
<p>You agree to indemnify and hold harmless DocuPulse and its officers, directors, employees, and agents from any claims, damages, losses, or expenses arising from:</p>
|
||||
<ul>
|
||||
<li>Your use of the Service</li>
|
||||
<li>Your violation of these Terms</li>
|
||||
<li>Your content or data</li>
|
||||
<li>Your violation of any third-party rights</li>
|
||||
</ul>
|
||||
|
||||
<h2 class="section-title">12. Termination</h2>
|
||||
<h4>12.1 Termination by You</h4>
|
||||
<p>You may terminate your account at any time by contacting us or using the account deletion feature in your settings.</p>
|
||||
|
||||
<h4>12.2 Termination by Us</h4>
|
||||
<p>We may terminate or suspend your account immediately if:</p>
|
||||
<ul>
|
||||
<li>You violate these Terms</li>
|
||||
<li>You engage in fraudulent or illegal activities</li>
|
||||
<li>We are required to do so by law</li>
|
||||
<li>You fail to pay applicable fees</li>
|
||||
</ul>
|
||||
|
||||
<h4>12.3 Effect of Termination</h4>
|
||||
<p>Upon termination, your right to use the Service ceases immediately. We may delete your account and data in accordance with our data retention policies.</p>
|
||||
|
||||
<h2 class="section-title">13. Dispute Resolution</h2>
|
||||
<h4>13.1 Governing Law</h4>
|
||||
<p>These Terms are governed by the laws of [Jurisdiction], without regard to conflict of law principles.</p>
|
||||
|
||||
<h4>13.2 Dispute Resolution Process</h4>
|
||||
<p>Before pursuing formal legal action, we encourage you to contact us directly to resolve any disputes. If we cannot resolve the dispute informally, you agree to submit to binding arbitration.</p>
|
||||
|
||||
<h2 class="section-title">14. Changes to Terms</h2>
|
||||
<p>We may update these Terms from time to time. We will notify you of any material changes by:</p>
|
||||
<ul>
|
||||
<li>Posting the updated Terms on our website</li>
|
||||
<li>Sending email notifications to registered users</li>
|
||||
<li>Displaying prominent notices in our application</li>
|
||||
</ul>
|
||||
<p>Your continued use of the Service after changes become effective constitutes acceptance of the updated Terms.</p>
|
||||
|
||||
<h2 class="section-title">15. Miscellaneous</h2>
|
||||
<h4>15.1 Entire Agreement</h4>
|
||||
<p>These Terms, together with our Privacy Policy, constitute the entire agreement between you and DocuPulse regarding the Service.</p>
|
||||
|
||||
<h4>15.2 Severability</h4>
|
||||
<p>If any provision of these Terms is found to be unenforceable, the remaining provisions will continue in full force and effect.</p>
|
||||
|
||||
<h4>15.3 Waiver</h4>
|
||||
<p>Our failure to enforce any right or provision of these Terms will not constitute a waiver of that right or provision.</p>
|
||||
|
||||
<div class="contact-info">
|
||||
<h3><i class="fas fa-envelope me-2"></i>Contact Us</h3>
|
||||
<p>If you have questions about these Terms of Service, please contact us:</p>
|
||||
<p><strong>Email:</strong> <a href="mailto:legal@docupulse.com">legal@docupulse.com</a></p>
|
||||
<p><strong>Address:</strong> DocuPulse Inc., 123 Business Ave, Suite 100, City, State 12345</p>
|
||||
<p><strong>Phone:</strong> <a href="tel:+1-555-123-4567">+1 (555) 123-4567</a></p>
|
||||
</div>
|
||||
|
||||
<div class="last-updated">
|
||||
<p class="mb-0"><strong>Last Updated:</strong> December 2024</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
{% include 'components/footer_nav.html' %}
|
||||
|
||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user