Update imprint data and remove trust indicators

- Fix impressum.html with correct HRB 110105 and Amtsgericht Düsseldorf
- Add English versions of legal pages (impressum-en.html, datenschutz-en.html)
- Correct company representatives to Hendrik Gebhardt & Monami Homma
- Remove incorrect Marlon Paulse references and Wiesenstraße address
- Remove trust-indicators section from website (HTML, CSS, JS)
- Add mobile.css and related mobile navigation files

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
Dieser Commit ist enthalten in:
Claude Code
2025-09-05 21:07:24 +00:00
Ursprung 74ade5eab6
Commit 21a0ba0757
13 geänderte Dateien mit 1397 neuen und 92 gelöschten Zeilen

Datei anzeigen

@ -387,38 +387,6 @@ h6 { font-size: 1.1rem; }
color: var(--primary-blue);
}
.trust-indicators {
position: absolute;
bottom: 50px;
left: 50%;
transform: translateX(-50%);
display: flex;
gap: 4rem;
z-index: 3;
background: rgba(0, 0, 0, 0.3);
backdrop-filter: blur(10px);
-webkit-backdrop-filter: blur(10px);
padding: 1.5rem 3rem;
border-radius: 100px;
border: 1px solid rgba(255, 255, 255, 0.1);
}
.indicator {
text-align: center;
color: var(--white);
}
.indicator-value {
font-size: 2.5rem;
font-weight: 700;
display: block;
}
.indicator-label {
font-size: 0.9rem;
opacity: 0.9;
}
/* About Section */
.about-section {
padding: 80px 0;
@ -1217,11 +1185,6 @@ h6 { font-size: 1.1rem; }
font-size: 2rem;
}
.trust-indicators {
flex-direction: column;
gap: 1rem;
}
.about-tabs {
flex-wrap: wrap;
}
@ -1493,4 +1456,25 @@ h6 { font-size: 1.1rem; }
.mb-1 { margin-bottom: 0.5rem; }
.mb-2 { margin-bottom: 1rem; }
.mb-3 { margin-bottom: 1.5rem; }
.mb-4 { margin-bottom: 2rem; }
.mb-4 { margin-bottom: 2rem; }
/* Hide mobile menu button on desktop */
.mobile-menu-toggle {
display: none;
}
/* Ensure mobile menu is hidden by default */
.nav-menu-mobile,
.mobile-menu-overlay {
display: none;
}
/* Show only on mobile screens */
@media screen and (max-width: 768px) {
.mobile-menu-toggle {
display: block;
}
.nav-menu-mobile {
display: block;
}
}

508
css/mobile.css Normale Datei
Datei anzeigen

@ -0,0 +1,508 @@
/* Mobile Responsive Styles - IntelSight */
/* Mobile-First Approach with Progressive Enhancement */
/* Base Mobile Styles (320px and up) */
@media screen and (max-width: 480px) {
/* Typography Scaling */
html {
font-size: 14px;
}
body {
overflow-x: hidden;
}
/* Hero Section Mobile */
.hero {
min-height: 100vh;
padding: 1rem;
}
.hero-title .main-title {
font-size: 2rem;
line-height: 1.2;
word-break: break-word;
}
.hero-text {
font-size: 1rem;
padding: 0 1rem;
}
/* Keep videos on mobile but optimize */
.hero-video-container {
display: block;
}
.hero-video {
object-fit: cover;
}
/* Navigation Mobile */
.navbar {
padding: 0.5rem 1rem;
}
.nav-container {
justify-content: space-between;
}
.logo-img {
max-width: 120px;
}
/* Hide desktop menu */
.nav-menu {
display: none;
}
/* Mobile Menu Styles */
.mobile-menu-toggle {
display: block;
background: none;
border: none;
cursor: pointer;
padding: 0.5rem;
z-index: 1001;
}
.hamburger {
display: flex;
flex-direction: column;
gap: 4px;
}
.hamburger span {
display: block;
width: 25px;
height: 3px;
background: #0a0f1c;
transition: all 0.3s ease;
}
/* Hamburger Animation */
.mobile-menu-toggle.active .hamburger span:nth-child(1) {
transform: rotate(45deg) translate(5px, 5px);
}
.mobile-menu-toggle.active .hamburger span:nth-child(2) {
opacity: 0;
}
.mobile-menu-toggle.active .hamburger span:nth-child(3) {
transform: rotate(-45deg) translate(7px, -6px);
}
/* Mobile Navigation Menu */
.nav-menu-mobile {
position: fixed;
top: 0;
right: -100%;
width: 80%;
max-width: 300px;
height: 100vh;
background: rgba(26, 31, 58, 0.98);
backdrop-filter: blur(10px);
transition: right 0.3s ease;
z-index: 1000;
padding: 4rem 2rem 2rem;
overflow-y: auto;
}
/* Close button inside mobile menu */
.mobile-menu-close {
position: absolute;
top: 1rem;
right: 1rem;
background: none;
border: none;
cursor: pointer;
padding: 0.5rem;
display: flex;
align-items: center;
justify-content: center;
width: 40px;
height: 40px;
border-radius: 50%;
transition: background 0.3s ease;
}
.mobile-menu-close:hover {
background: rgba(0, 212, 255, 0.1);
}
.mobile-menu-close svg {
width: 24px;
height: 24px;
stroke: #0a0f1c;
stroke-width: 2;
}
.nav-menu-mobile.active {
right: 0;
}
.nav-menu-mobile ul {
list-style: none;
padding: 0;
margin: 0;
}
.nav-menu-mobile li {
margin-bottom: 1.5rem;
}
.nav-menu-mobile a {
color: #fff;
text-decoration: none;
font-size: 1.2rem;
display: block;
padding: 0.5rem 0;
transition: color 0.3s ease;
}
.nav-menu-mobile a:hover {
color: #00D4FF;
}
/* Mobile Overlay */
.mobile-menu-overlay {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.5);
opacity: 0;
visibility: hidden;
transition: all 0.3s ease;
z-index: 999;
}
.mobile-menu-overlay.active {
opacity: 1;
visibility: visible;
}
/* Sections Mobile */
.section-title {
font-size: 1.75rem;
}
.section-subtitle {
font-size: 1rem;
}
/* Cards and Grids Mobile */
.tool-grid {
grid-template-columns: 1fr;
gap: 1rem;
padding: 1rem;
}
.tool-card {
padding: 1.5rem;
}
/* Buttons Mobile - Touch Friendly */
button,
.btn,
.cta-button,
.lang-toggle {
min-height: 44px;
min-width: 44px;
padding: 0.75rem 1.5rem;
}
/* About Tabs Mobile */
.about-tabs {
flex-direction: column;
gap: 0.5rem;
}
.about-tab {
width: 100%;
padding: 0.75rem;
font-size: 0.9rem;
}
/* Products Section Mobile */
.products-grid {
grid-template-columns: 1fr;
padding: 1rem;
gap: 1.5rem;
}
.product-card {
padding: 1.5rem;
}
/* Product header mobile - override grid to stack icon above text */
.product-header {
display: flex !important;
flex-direction: column !important;
grid-template-columns: none !important;
padding: 1.5rem !important;
text-align: center;
align-items: center;
gap: 1rem;
}
.product-icon-wrapper {
margin-bottom: 0.5rem;
}
.product-title-wrapper {
display: flex;
flex-direction: column;
gap: 0.25rem;
align-items: center;
width: 100%;
text-align: center !important;
}
.product-title {
font-size: 1.1rem;
line-height: 1.2;
margin: 0;
text-align: center !important;
width: 100%;
}
.product-tagline {
font-size: 0.75rem;
margin: 0;
line-height: 1.2;
text-align: center !important;
width: 100%;
white-space: normal;
}
/* Specific fix for AccountForger tagline */
.product-card:nth-child(2) .product-tagline {
display: block;
margin: 0 auto;
white-space: nowrap; /* Verhindert Umbruch innerhalb der Zeilen */
}
/* Force line break only after "mit" */
.product-card:nth-child(2) .product-tagline::before {
content: "Zugang nur mit\A Berechtigung";
white-space: pre-line;
}
/* Hide original text */
.product-card:nth-child(2) .product-tagline {
font-size: 0;
}
.product-card:nth-child(2) .product-tagline::before {
font-size: 0.75rem;
}
/* Footer Mobile */
.footer-content {
flex-direction: column;
text-align: center;
gap: 2rem;
}
.footer-links {
flex-direction: column;
gap: 1rem;
}
/* About Section - Company Cards Mobile Fix */
.company-cards-wrapper {
width: 100% !important;
flex-direction: column;
gap: 1.5rem;
}
.company-card {
width: 100%;
padding: 1.5rem !important;
}
.company-card h4 {
font-size: 1.1rem;
}
.company-card p {
font-size: 0.9rem;
line-height: 1.6;
}
/* About panel layout mobile */
.about-panel {
padding: 1rem;
}
.panel-text {
max-width: 100%;
display: flex;
flex-direction: column;
}
/* Location section mobile - move to bottom */
.location-section {
width: 100% !important;
margin-left: 0 !important;
margin-top: 2rem;
order: 2; /* Move to bottom */
height: auto !important;
padding: 1.5rem;
background: rgba(10, 15, 28, 0.05);
border-radius: 20px;
}
.company-cards-wrapper {
order: 1; /* Keep at top */
}
.mini-germany-map {
max-width: 150px;
margin-bottom: 1rem;
}
.mini-germany-map img {
width: 100%;
height: auto;
}
.location-badge {
font-size: 0.9rem;
padding: 0.5rem 1rem;
}
}
/* Tablet Styles (481px - 768px) */
@media screen and (min-width: 481px) and (max-width: 768px) {
/* Typography */
html {
font-size: 15px;
}
.hero-title .main-title {
font-size: 2.5rem;
}
/* Videos already visible from mobile */
/* Tool Grid - 2 columns */
.tool-grid {
grid-template-columns: repeat(2, 1fr);
}
/* About Tabs - Horizontal with wrap */
.about-tabs {
flex-direction: row;
flex-wrap: wrap;
}
.about-tab {
flex: 1 1 calc(50% - 0.5rem);
}
}
/* Small Desktop (769px - 1024px) */
@media screen and (min-width: 769px) and (max-width: 1024px) {
/* Container widths */
.container {
max-width: 960px;
padding: 0 2rem;
}
/* Navigation adjustments */
.nav-menu {
gap: 1.5rem;
}
.nav-menu a {
font-size: 0.9rem;
}
/* Grid adjustments */
.tool-grid {
grid-template-columns: repeat(3, 1fr);
}
.products-grid {
grid-template-columns: repeat(2, 1fr);
}
}
/* Touch Device Optimizations */
@media (hover: none) and (pointer: coarse) {
/* Remove hover effects on touch devices */
.tool-card:hover,
.product-card:hover {
transform: none;
}
/* Larger touch targets */
a, button {
min-height: 44px;
display: inline-flex;
align-items: center;
}
}
/* Landscape Mobile Optimization */
@media screen and (max-width: 768px) and (orientation: landscape) {
.hero {
min-height: auto;
padding: 2rem 1rem;
}
.hero-title .main-title {
font-size: 1.75rem;
}
}
/* High Resolution Mobile Displays */
@media screen and (max-width: 480px) and (-webkit-min-device-pixel-ratio: 2) {
/* Sharper borders and shadows */
.tool-card,
.product-card {
border: 0.5px solid rgba(255, 255, 255, 0.1);
}
}
/* Performance Optimizations for Mobile */
@media screen and (max-width: 768px) {
/* Disable complex animations on mobile */
.animate-in,
.stagger-1,
.stagger-2,
.stagger-3 {
animation: none !important;
opacity: 1 !important;
transform: none !important;
}
/* Reduce particle effects */
#particleCanvas {
display: none;
}
/* Optimize images */
img {
image-rendering: -webkit-optimize-contrast;
}
}
/* Print Styles */
@media print {
.navbar,
.hero-video-container,
.scroll-indicator,
.mobile-menu-toggle {
display: none !important;
}
body {
background: white;
color: black;
}
}

290
datenschutz-en.html Normale Datei
Datei anzeigen

@ -0,0 +1,290 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Privacy Policy - IntelSight</title>
<link rel="stylesheet" href="css/main.css">
<link rel="stylesheet" href="css/fonts.css">
<style>
body {
background: #0a0f1c;
min-height: 100vh;
}
.datenschutz-container {
max-width: 800px;
margin: 0 auto;
padding: 120px 20px 40px;
}
.datenschutz-header {
margin-bottom: 40px;
text-align: center;
}
.datenschutz-header h1 {
font-family: 'Bebas Neue', sans-serif;
font-size: 3rem;
font-weight: 400;
color: #ffffff;
margin-bottom: 10px;
text-transform: uppercase;
letter-spacing: 3px;
}
.datenschutz-content {
background: rgba(255, 255, 255, 0.95);
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
border-radius: 20px;
padding: 40px;
backdrop-filter: blur(10px);
}
.datenschutz-section {
margin-bottom: 35px;
}
.datenschutz-section h2 {
font-family: 'Bebas Neue', sans-serif;
font-size: 1.8rem;
color: #0f72b5;
margin-bottom: 20px;
font-weight: 400;
letter-spacing: 1px;
text-transform: uppercase;
}
.datenschutz-section h3 {
font-family: 'Inter', sans-serif;
font-size: 1.2rem;
color: #333;
margin-top: 20px;
margin-bottom: 15px;
font-weight: 600;
}
.datenschutz-section p {
font-family: 'Inter', sans-serif;
color: #333333;
line-height: 1.7;
margin-bottom: 15px;
}
.datenschutz-section ul {
margin-left: 20px;
margin-bottom: 15px;
}
.datenschutz-section li {
font-family: 'Inter', sans-serif;
color: #333333;
line-height: 1.7;
margin-bottom: 8px;
}
.datenschutz-section strong {
color: #1a1a1a;
font-weight: 600;
}
.important-notice {
background: rgba(15, 114, 181, 0.08);
border-left: 4px solid #0f72b5;
padding: 15px 20px;
margin: 20px 0;
border-radius: 4px;
}
.important-notice p {
font-family: 'Inter', sans-serif;
}
.source-note {
margin-top: 40px;
padding-top: 20px;
border-top: 1px solid rgba(15, 114, 181, 0.1);
font-size: 0.9rem;
color: #666;
font-family: 'Inter', sans-serif;
}
.source-note a {
color: #0f72b5;
text-decoration: none;
}
.source-note a:hover {
text-decoration: underline;
}
</style>
</head>
<body>
<!-- Navigation -->
<nav class="navbar" role="navigation" aria-label="Main navigation">
<div class="nav-container">
<div class="logo">
<a href="index.html">
<img src="assets/images/logos/intelsight-name-light.svg" alt="IntelSight" class="logo-img">
</a>
</div>
<ul class="nav-menu">
<li><a href="index.html#home">Home</a></li>
<li><a href="index.html#about">About Us</a></li>
<li><a href="index.html#products">Products & Solutions</a></li>
<li><a href="mailto:info@intelsight.de">Contact</a></li>
</ul>
<div class="nav-extras">
<button class="lang-toggle" data-lang="en" aria-label="Switch language">DE | EN</button>
</div>
</div>
</nav>
<div class="datenschutz-container">
<div class="datenschutz-header">
<h1>Privacy Policy</h1>
</div>
<div class="datenschutz-content">
<div class="datenschutz-section">
<h2>1. Data Protection at a Glance</h2>
<h3>General Information</h3>
<p>The following information provides a simple overview of what happens to your personal data when you visit our website. Personal data is any data that can personally identify you. Detailed information on the subject of data protection can be found in our privacy policy listed below this text.</p>
<h3>Data Collection on Our Website</h3>
<p><strong>Who is responsible for data collection on this website?</strong><br>
Data processing on this website is carried out by the website operator. You can find their contact details in the legal notice of this website.</p>
<p><strong>How do we collect your data?</strong><br>
Your data is collected, on the one hand, by you providing it to us. This could be data that you enter in a contact form, for example.</p>
<p>Other data is collected automatically by our IT systems when you visit the website. This is primarily technical data (e.g., internet browser, operating system, or time of page access). This data is collected automatically as soon as you enter our website.</p>
<p><strong>What do we use your data for?</strong><br>
Part of the data is collected to ensure error-free provision of the website. Other data may be used to analyze your user behavior.</p>
<p><strong>What rights do you have regarding your data?</strong><br>
You have the right to receive information about the origin, recipient, and purpose of your stored personal data free of charge at any time. You also have the right to request the correction, blocking, or deletion of this data. You can contact us at any time at the address given in the legal notice if you have further questions about data protection. Furthermore, you have the right to lodge a complaint with the competent supervisory authority.</p>
</div>
<div class="datenschutz-section">
<h2>2. General Information and Mandatory Information</h2>
<h3>Data Protection</h3>
<p>The operators of these pages take the protection of your personal data very seriously. We treat your personal data confidentially and in accordance with the statutory data protection regulations and this privacy policy.</p>
<p>When you use this website, various personal data is collected. Personal data is data that can personally identify you. This privacy policy explains what data we collect and what we use it for. It also explains how and for what purpose this happens.</p>
<p>We would like to point out that data transmission over the Internet (e.g., when communicating by email) can have security gaps. Complete protection of data against access by third parties is not possible.</p>
<h3>Note on the Responsible Party</h3>
<p>The responsible party for data processing on this website is:</p>
<div class="contact-info">
<p>
IntelSight UG (limited liability)<br>
Hendrik Gebhardt<br>
Monami Homma<br>
Gladbacher Strasse 3-5<br>
40764 Langenfeld<br>
Germany<br><br>
Email: info@intelsight.de
</p>
</div>
<p>The responsible party is the natural or legal person who alone or jointly with others decides on the purposes and means of processing personal data (e.g., names, email addresses, etc.).</p>
<h3>Revocation of Your Consent to Data Processing</h3>
<p>Many data processing operations are only possible with your express consent. You can revoke consent you have already given at any time. An informal notification by email to us is sufficient. The legality of the data processing carried out until the revocation remains unaffected by the revocation.</p>
<h3>Right to Lodge a Complaint with the Competent Supervisory Authority</h3>
<p>In the event of violations of data protection law, the person affected has the right to lodge a complaint with the competent supervisory authority. The competent supervisory authority for data protection issues is the state data protection officer of the federal state in which our company is headquartered. A list of data protection officers and their contact details can be found at the following link: <a href="https://www.bfdi.bund.de/DE/Infothek/Anschriften_Links/anschriften_links-node.html" target="_blank" rel="noopener">https://www.bfdi.bund.de</a>.</p>
</div>
<div class="datenschutz-section">
<h2>3. Data Collection on Our Website</h2>
<h3>Server Log Files</h3>
<p>The provider of the pages automatically collects and stores information in so-called server log files, which your browser automatically transmits to us. These are:</p>
<ul>
<li>Browser type and browser version</li>
<li>Operating system used</li>
<li>Referrer URL</li>
<li>Host name of the accessing computer</li>
<li>Time of the server request</li>
<li>IP address</li>
</ul>
<p>This data is not merged with other data sources.</p>
<p>The basis for data processing is Art. 6 para. 1 lit. f GDPR, which permits the processing of data to fulfill a contract or pre-contractual measures.</p>
<h3>SSL or TLS Encryption</h3>
<p>This site uses SSL or TLS encryption for security reasons and to protect the transmission of confidential content, such as orders or inquiries that you send to us as the site operator. You can recognize an encrypted connection by the fact that the address line of the browser changes from "http://" to "https://" and by the lock symbol in your browser line.</p>
<p>If SSL or TLS encryption is activated, the data you transmit to us cannot be read by third parties.</p>
</div>
<div class="datenschutz-section">
<h2>4. Our Web Analytics</h2>
<p>We use our own analytics system that stores data exclusively on our servers in Germany. No data is passed on to third parties. The analytics serves to improve our website and to analyze user behavior.</p>
<p>The following data is collected:</p>
<ul>
<li>Pages visited</li>
<li>Time of access</li>
<li>Anonymized IP address</li>
<li>Browser information</li>
</ul>
<p>This data is not personal and cannot be used to identify individual users.</p>
</div>
<div class="datenschutz-section">
<h2>5. Your Rights</h2>
<p>You have the following rights regarding your personal data:</p>
<ul>
<li><strong>Right to information:</strong> You can request information about your stored data.</li>
<li><strong>Right to correction:</strong> You can request the correction of incorrect data.</li>
<li><strong>Right to deletion:</strong> You can request the deletion of your data.</li>
<li><strong>Right to restriction of processing:</strong> You can request the restriction of data processing.</li>
<li><strong>Right to data portability:</strong> You can request to receive your data in a structured format.</li>
<li><strong>Right to object:</strong> You can object to the processing of your data.</li>
</ul>
<p>To exercise these rights, please contact us at info@intelsight.de.</p>
</div>
<div class="datenschutz-section">
<h2>6. Changes to This Privacy Policy</h2>
<p>We reserve the right to adapt this privacy policy so that it always complies with current legal requirements or to implement changes to our services in the privacy policy, e.g., when introducing new services. The new privacy policy will then apply to your next visit.</p>
</div>
</div>
</div>
<!-- Footer -->
<footer class="footer">
<div class="footer-content">
<div class="footer-section">
<h4>IntelSight</h4>
<p>Sicherheit Made in Germany</p>
</div>
<div class="footer-section">
<h4>Legal</h4>
<ul>
<li><a href="impressum-en.html">Legal Notice</a></li>
<li><a href="datenschutz-en.html">Privacy Policy</a></li>
</ul>
</div>
<div class="footer-section">
<h4>Contact</h4>
<p><a href="mailto:info@intelsight.de">info@intelsight.de</a></p>
</div>
</div>
<div class="footer-bottom">
<p>&copy; 2025 IntelSight UG. All rights reserved.</p>
</div>
</footer>
<!-- JavaScript for legal pages -->
<script src="js/legal-pages.js"></script>
<!-- IntelSight Analytics -->
<script async src="/insights/t.js"></script>
</body>
</html>

Datei anzeigen

@ -289,7 +289,6 @@
<ul>
<li><a href="impressum.html">Impressum</a></li>
<li><a href="datenschutz.html">Datenschutz</a></li>
<li><a href="#">AGB</a></li>
</ul>
</div>
<div class="footer-section">
@ -300,5 +299,11 @@
<p class="copyright">© 2025 IntelSight UG (haftungsbeschränkt). Alle Rechte vorbehalten.</p>
</div>
</footer>
<!-- JavaScript for legal pages -->
<script src="js/legal-pages.js"></script>
<!-- IntelSight Analytics -->
<script async src="/insights/t.js"></script>
</body>
</html>

195
impressum-en.html Normale Datei
Datei anzeigen

@ -0,0 +1,195 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Legal Notice - IntelSight</title>
<link rel="stylesheet" href="css/main.css">
<link rel="stylesheet" href="css/fonts.css">
<style>
body {
background: #0a0f1c;
min-height: 100vh;
}
.impressum-container {
max-width: 800px;
margin: 0 auto;
padding: 120px 20px 40px;
}
.impressum-header {
margin-bottom: 40px;
text-align: center;
}
.impressum-header h1 {
font-family: 'Bebas Neue', sans-serif;
font-size: 3rem;
font-weight: 400;
color: #ffffff;
margin-bottom: 10px;
text-transform: uppercase;
letter-spacing: 3px;
}
.impressum-content {
background: rgba(255, 255, 255, 0.95);
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
border-radius: 20px;
padding: 40px;
backdrop-filter: blur(10px);
}
.impressum-section {
margin-bottom: 30px;
border-bottom: 1px solid rgba(15, 114, 181, 0.1);
padding-bottom: 20px;
}
.impressum-section:last-child {
border-bottom: none;
}
.impressum-section h2 {
font-family: 'Bebas Neue', sans-serif;
font-size: 1.5rem;
color: #0f72b5;
margin-bottom: 15px;
font-weight: 400;
letter-spacing: 1px;
text-transform: uppercase;
}
.impressum-section p {
font-family: 'Inter', sans-serif;
color: #333333;
line-height: 1.6;
margin-bottom: 10px;
}
.impressum-section strong {
color: #1a1a1a;
font-weight: 600;
}
</style>
</head>
<body>
<!-- Navigation -->
<nav class="navbar" role="navigation" aria-label="Main navigation">
<div class="nav-container">
<div class="logo">
<a href="index.html">
<img src="assets/images/logos/intelsight-name-light.svg" alt="IntelSight" class="logo-img">
</a>
</div>
<ul class="nav-menu">
<li><a href="index.html#home">Home</a></li>
<li><a href="index.html#about">About Us</a></li>
<li><a href="index.html#products">Products & Solutions</a></li>
<li><a href="mailto:info@intelsight.de">Contact</a></li>
</ul>
<div class="nav-extras">
<button class="lang-toggle" data-lang="en" aria-label="Switch language">DE | EN</button>
</div>
</div>
</nav>
<div class="impressum-container">
<div class="impressum-header">
<h1>Legal Notice</h1>
</div>
<div class="impressum-content">
<div class="impressum-section">
<h2>Company Information</h2>
<p>
IntelSight UG (limited liability)<br>
Gladbacher Strasse 3-5<br>
40764 Langenfeld<br>
Germany
</p>
</div>
<div class="impressum-section">
<h2>Represented by</h2>
<p>Hendrik Gebhardt<br>
Monami Homma</p>
</div>
<div class="impressum-section">
<h2>Contact</h2>
<p>
Email: info@intelsight.de<br>
Website: intelsight.de
</p>
</div>
<div class="impressum-section">
<h2>Commercial Register</h2>
<p>
Entry in the Commercial Register<br>
Registry Court: District Court Düsseldorf<br>
Registration number: HRB 110105
</p>
</div>
<div class="impressum-section">
<h2>VAT</h2>
<p>VAT identification number according to §27 a of the German VAT Act:<br>
DE [Number]</p>
</div>
<div class="impressum-section">
<h2>Consumer Dispute Resolution/<wbr>Universal Arbitration Board</h2>
<p>We are not willing or obliged to participate in dispute resolution proceedings before a consumer arbitration board.</p>
</div>
<div class="impressum-section">
<h2>Liability for Content</h2>
<p>As a service provider, we are responsible for our own content on these pages according to § 7 para.1 TMG under general law. However, according to §§ 8 to 10 TMG, we are not obligated as a service provider to monitor transmitted or stored third-party information or to investigate circumstances that indicate illegal activity.</p>
<p>Obligations to remove or block the use of information under general law remain unaffected. However, liability in this regard is only possible from the time of knowledge of a specific infringement. Upon becoming aware of such legal violations, we will remove this content immediately.</p>
</div>
<div class="impressum-section">
<h2>Liability for Links</h2>
<p>Our offer contains links to external third-party websites over whose content we have no influence. Therefore, we cannot assume any liability for this third-party content. The respective provider or operator of the pages is always responsible for the content of the linked pages. The linked pages were checked for possible legal violations at the time of linking. Illegal content was not recognizable at the time of linking.</p>
<p>However, permanent content control of the linked pages is not reasonable without concrete evidence of a violation of law. Upon becoming aware of legal violations, we will remove such links immediately.</p>
</div>
<div class="impressum-section">
<h2>Copyright</h2>
<p>The content and works created by the site operators on these pages are subject to German copyright law. The reproduction, editing, distribution and any kind of exploitation outside the limits of copyright require the written consent of the respective author or creator. Downloads and copies of this site are only permitted for private, non-commercial use.</p>
<p>Insofar as the content on this site was not created by the operator, the copyrights of third parties are respected. In particular, third-party content is marked as such. Should you nevertheless become aware of a copyright infringement, please inform us accordingly. Upon becoming aware of legal violations, we will remove such content immediately.</p>
</div>
</div>
</div>
<!-- Footer -->
<footer class="footer">
<div class="footer-content">
<div class="footer-section">
<h4>IntelSight</h4>
<p>Sicherheit Made in Germany</p>
</div>
<div class="footer-section">
<h4>Legal</h4>
<ul>
<li><a href="impressum-en.html">Legal Notice</a></li>
<li><a href="datenschutz-en.html">Privacy Policy</a></li>
</ul>
</div>
<div class="footer-section">
<h4>Contact</h4>
<p><a href="mailto:info@intelsight.de">info@intelsight.de</a></p>
</div>
</div>
<div class="footer-bottom">
<p>&copy; 2025 IntelSight UG. All rights reserved.</p>
</div>
</footer>
<!-- JavaScript for legal pages -->
<script src="js/legal-pages.js"></script>
<!-- IntelSight Analytics -->
<script async src="/insights/t.js"></script>
</body>
</html>

Datei anzeigen

@ -112,8 +112,8 @@
<div class="impressum-section">
<h2>Registereintrag</h2>
<p>Handelsregister: [Nummer des Registereintrags]<br>
Registergericht: [Name des Registergerichts]</p>
<p>Handelsregister: HRB 110105<br>
Registergericht: Amtsgericht Düsseldorf</p>
</div>
<div class="impressum-section">
@ -123,7 +123,7 @@
</div>
<div class="impressum-section">
<h2>Verbraucherstreitbeilegung/Universalschlichtungsstelle</h2>
<h2>Verbraucherstreitbeilegung/<wbr>Universalschlichtungsstelle</h2>
<p>Wir sind nicht bereit oder verpflichtet, an Streitbeilegungsverfahren vor einer Verbraucherschlichtungsstelle teilzunehmen.</p>
</div>
@ -168,7 +168,6 @@
<ul>
<li><a href="impressum.html">Impressum</a></li>
<li><a href="datenschutz.html">Datenschutz</a></li>
<li><a href="#">AGB</a></li>
</ul>
</div>
<div class="footer-section">
@ -179,5 +178,11 @@
<p class="copyright">© 2025 IntelSight UG (haftungsbeschränkt). Alle Rechte vorbehalten.</p>
</div>
</footer>
<!-- JavaScript for legal pages -->
<script src="js/legal-pages.js"></script>
<!-- IntelSight Analytics -->
<script async src="/insights/t.js"></script>
</body>
</html>

Datei anzeigen

@ -10,6 +10,7 @@
<link rel="stylesheet" href="css/about-modern.css">
<link rel="stylesheet" href="css/products-modern.css">
<link rel="stylesheet" href="css/fonts.css">
<link rel="stylesheet" href="css/mobile.css">
</head>
<body>
<!-- Skip Navigation -->
@ -29,9 +30,35 @@
</ul>
<div class="nav-extras">
<button class="lang-toggle" data-lang="de" aria-label="Sprache wechseln" data-translate="langSwitch">DE | EN</button>
<!-- Mobile Menu Toggle -->
<button class="mobile-menu-toggle" aria-label="Menü öffnen" aria-expanded="false">
<span class="hamburger">
<span></span>
<span></span>
<span></span>
</span>
</button>
</div>
</div>
</nav>
<!-- Mobile Navigation Menu -->
<div class="nav-menu-mobile" aria-hidden="true">
<button class="mobile-menu-close" aria-label="Menü schließen">
<svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M18 6L6 18M6 6l12 12" stroke="currentColor"/>
</svg>
</button>
<ul>
<li><a href="#home" data-translate="navHome">Startseite</a></li>
<li><a href="#about" data-translate="navAbout">Über uns</a></li>
<li><a href="#products" data-translate="navProducts">Produkte & Lösungen</a></li>
<li><a href="mailto:info@intelsight.de" data-translate="navContact">Kontakt</a></li>
</ul>
</div>
<!-- Mobile Menu Overlay -->
<div class="mobile-menu-overlay"></div>
<!-- Hero Section -->
<section class="hero" id="home">
@ -63,21 +90,6 @@
<p class="hero-text animate-in stagger-2" data-translate="heroSubtitle">Spezialist für hochsichere, maßgeschneiderte IT-Lösungen für Behörden</p>
</div>
<div class="trust-indicators">
<div class="indicator">
<span class="indicator-value" data-target="99.9">0</span>%
<span class="indicator-label" data-translate="indicatorAvailability">Verfügbarkeit</span>
</div>
<div class="indicator">
<span class="indicator-value" data-target="500">0</span>+
<span class="indicator-label" data-translate="indicatorTrust">Behörden vertrauen uns</span>
</div>
<div class="indicator">
<span class="indicator-value" data-target="24">0</span>/7
<span class="indicator-label" data-translate="indicatorSupport">Support</span>
</div>
</div>
<!-- Scroll Indicator -->
<div class="scroll-indicator">
<span class="scroll-text" data-translate="scrollToExplore">Scroll to Explore</span>
@ -112,7 +124,7 @@
<span class="company-card-icon">
<img src="assets/images/icons/shield.svg" alt="Security" width="24" height="24">
</span>
Spezialist für Behördensoftware
<span data-translate="companyCardTitle1">Spezialist für Behördensoftware</span>
</h4>
<p data-translate="whoWeArePara1">IntelSight UG ist Ihr <strong>Spezialist für hochsichere, maßgeschneiderte IT-Lösungen</strong> aus Nordrhein-Westfalen. Wir entwickeln innovative Software speziell für staatliche Sicherheits- und Ermittlungsbehörden.</p>
</div>
@ -121,7 +133,7 @@
<span class="company-card-icon">
<img src="assets/images/icons/plus-circle.svg" alt="Future" width="24" height="24">
</span>
Unser Ansatz
<span data-translate="companyCardTitle2">Unser Ansatz</span>
</h4>
<p data-translate="whoWeArePara2">Unser Ansatz vereint modernste Technologie mit einem tiefen Verständnis für die besonderen Anforderungen von Behörden. Dabei steht die Balance zwischen Sicherheit, Effizienz und rechtskonformer Umsetzung im Mittelpunkt unserer Arbeit.</p>
</div>
@ -396,7 +408,6 @@
<ul>
<li><a href="impressum.html" data-translate="footerImprint">Impressum</a></li>
<li><a href="datenschutz.html" data-translate="footerPrivacy">Datenschutz</a></li>
<li><a href="#" data-translate="footerTerms">AGB</a></li>
</ul>
</div>
<div class="footer-section">
@ -418,5 +429,8 @@
<script src="js/hero-videos.js"></script>
<script src="js/components.js"></script>
<script src="js/main.js"></script>
<script src="js/mobile-nav.js"></script>
<!-- IntelSight Analytics -->
<script async src="/insights/t.js"></script>
</body>
</html>

Datei anzeigen

@ -389,19 +389,34 @@ const LoginModal = {
* Handle form submission
* @param {Event} e - Submit event
*/
handleSubmit(e) {
async handleSubmit(e) {
e.preventDefault();
const password = document.getElementById('auth-password').value;
// Check password (temporarily hardcoded as requested)
if (password === '123456') {
sessionStorage.setItem(CONFIG.AUTH.SESSION_KEY, 'true');
this.close();
window.location.href = CONFIG.AUTH.REDIRECT_PAGE;
} else {
try {
// Validate token via Insights API
const response = await fetch('/insights/api/validate-token.php', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({ token: password })
});
const result = await response.json();
if (result.valid) {
sessionStorage.setItem(CONFIG.AUTH.SESSION_KEY, 'true');
this.close();
window.location.href = CONFIG.AUTH.REDIRECT_PAGE;
} else {
alert(getTranslation('wrongCode'));
document.getElementById('auth-password').value = '';
document.getElementById('auth-password').focus();
}
} catch (error) {
console.error('Token validation error:', error);
alert(getTranslation('wrongCode'));
document.getElementById('auth-password').value = '';
document.getElementById('auth-password').focus();
}
},

Datei anzeigen

@ -38,13 +38,6 @@ const CONFIG = {
STORAGE_KEY: 'intelsight_language'
},
// Trust Indicators Target Values
TRUST_INDICATORS: {
AVAILABILITY: 99.9,
AUTHORITIES_COUNT: 500,
SUPPORT_HOURS: 24
},
// Intersection Observer Settings
OBSERVER: {
THRESHOLD: 0.3,

42
js/legal-pages.js Normale Datei
Datei anzeigen

@ -0,0 +1,42 @@
/**
* Minimal JavaScript for legal pages (Impressum & Datenschutz)
* Only includes necessary functionality for language switching
*/
// Simple language toggle for legal pages
document.addEventListener('DOMContentLoaded', function() {
// Get the language toggle button
const langToggle = document.querySelector('.lang-toggle');
if (langToggle) {
langToggle.addEventListener('click', function(e) {
e.preventDefault();
// Get current language from button
const currentLang = this.getAttribute('data-lang') || 'de';
const newLang = currentLang === 'de' ? 'en' : 'de';
// Store language preference
if (typeof(Storage) !== 'undefined') {
localStorage.setItem('intelsight-language', newLang);
}
// Get current page name
const currentPage = window.location.pathname.split('/').pop();
// Determine redirect URL
let redirectUrl = '';
if (currentPage === 'impressum.html' || currentPage === 'impressum-en.html') {
redirectUrl = newLang === 'en' ? 'impressum-en.html' : 'impressum.html';
} else if (currentPage === 'datenschutz.html' || currentPage === 'datenschutz-en.html') {
redirectUrl = newLang === 'en' ? 'datenschutz-en.html' : 'datenschutz.html';
}
// Redirect to the appropriate version
if (redirectUrl) {
window.location.href = redirectUrl;
}
});
}
});

196
js/mobile-nav.js Normale Datei
Datei anzeigen

@ -0,0 +1,196 @@
/**
* Mobile Navigation Handler
* Clean, accessible mobile navigation implementation
*/
class MobileNavigation {
constructor() {
this.menuToggle = document.querySelector('.mobile-menu-toggle');
this.mobileMenu = document.querySelector('.nav-menu-mobile');
this.overlay = document.querySelector('.mobile-menu-overlay');
this.menuLinks = document.querySelectorAll('.nav-menu-mobile a');
this.closeButton = document.querySelector('.mobile-menu-close');
this.isOpen = false;
this.init();
}
init() {
if (!this.menuToggle || !this.mobileMenu) return;
// Toggle button click
this.menuToggle.addEventListener('click', () => this.toggleMenu());
// Close button click
if (this.closeButton) {
this.closeButton.addEventListener('click', () => this.closeMenu());
}
// Overlay click closes menu
this.overlay.addEventListener('click', () => this.closeMenu());
// Menu links click closes menu
this.menuLinks.forEach(link => {
link.addEventListener('click', () => this.closeMenu());
});
// ESC key closes menu
document.addEventListener('keydown', (e) => {
if (e.key === 'Escape' && this.isOpen) {
this.closeMenu();
}
});
// Prevent body scroll when menu is open
this.handleBodyScroll();
}
toggleMenu() {
this.isOpen ? this.closeMenu() : this.openMenu();
}
openMenu() {
this.isOpen = true;
this.menuToggle.classList.add('active');
this.mobileMenu.classList.add('active');
this.overlay.classList.add('active');
// Update ARIA attributes
this.menuToggle.setAttribute('aria-expanded', 'true');
this.mobileMenu.setAttribute('aria-hidden', 'false');
// Prevent body scroll
document.body.style.overflow = 'hidden';
// Focus management
setTimeout(() => {
const firstLink = this.mobileMenu.querySelector('a');
if (firstLink) firstLink.focus();
}, 300);
}
closeMenu() {
this.isOpen = false;
this.menuToggle.classList.remove('active');
this.mobileMenu.classList.remove('active');
this.overlay.classList.remove('active');
// Update ARIA attributes
this.menuToggle.setAttribute('aria-expanded', 'false');
this.mobileMenu.setAttribute('aria-hidden', 'true');
// Restore body scroll
document.body.style.overflow = '';
// Return focus to toggle button
this.menuToggle.focus();
}
handleBodyScroll() {
// Save scroll position when menu opens
let scrollPosition = 0;
const observer = new MutationObserver(() => {
if (this.isOpen) {
scrollPosition = window.pageYOffset;
document.body.style.position = 'fixed';
document.body.style.top = `-${scrollPosition}px`;
document.body.style.width = '100%';
} else {
document.body.style.position = '';
document.body.style.top = '';
document.body.style.width = '';
window.scrollTo(0, scrollPosition);
}
});
observer.observe(this.mobileMenu, {
attributes: true,
attributeFilter: ['class']
});
}
}
// Smooth scroll for anchor links
class SmoothScroll {
constructor() {
this.init();
}
init() {
document.querySelectorAll('a[href^="#"]').forEach(anchor => {
anchor.addEventListener('click', (e) => {
const href = anchor.getAttribute('href');
if (href === '#') return;
e.preventDefault();
const target = document.querySelector(href);
if (target) {
const offset = 80; // Account for fixed navbar
const targetPosition = target.offsetTop - offset;
window.scrollTo({
top: targetPosition,
behavior: 'smooth'
});
}
});
});
}
}
// Responsive image loading
class ResponsiveImages {
constructor() {
this.init();
}
init() {
// Check if user prefers reduced motion
const prefersReducedMotion = window.matchMedia('(prefers-reduced-motion: reduce)').matches;
if (prefersReducedMotion) {
// Disable animations
document.documentElement.style.setProperty('--animation-duration', '0.01s');
}
// Lazy load images on mobile
if ('IntersectionObserver' in window && window.innerWidth <= 768) {
const images = document.querySelectorAll('img[data-src]');
const imageObserver = new IntersectionObserver((entries) => {
entries.forEach(entry => {
if (entry.isIntersecting) {
const img = entry.target;
img.src = img.dataset.src;
img.removeAttribute('data-src');
imageObserver.unobserve(img);
}
});
});
images.forEach(img => imageObserver.observe(img));
}
}
}
// Initialize on DOM load
document.addEventListener('DOMContentLoaded', () => {
new MobileNavigation();
new SmoothScroll();
new ResponsiveImages();
// Hide mobile menu button styles until JS loads
document.documentElement.classList.add('js-loaded');
});
// Handle orientation change
window.addEventListener('orientationchange', () => {
// Close mobile menu on orientation change
const mobileNav = document.querySelector('.nav-menu-mobile');
if (mobileNav && mobileNav.classList.contains('active')) {
const event = new Event('click');
document.querySelector('.mobile-menu-overlay').dispatchEvent(event);
}
});

Datei anzeigen

@ -6,14 +6,29 @@
(function() {
'use strict';
// Check if user is on a mobile device
const isMobile = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) ||
('ontouchstart' in window) ||
(navigator.maxTouchPoints > 0);
// Exit early if on mobile device - no protection
if (isMobile) {
console.log('Mobile device detected - protection disabled');
return;
}
// Disable right-click context menu
document.addEventListener('contextmenu', function(e) {
e.preventDefault();
return false;
});
// Disable text selection
// Disable text selection - except for auth password field
document.addEventListener('selectstart', function(e) {
// Allow text selection in the authentication password field
if (e.target && e.target.id === 'auth-password') {
return true;
}
e.preventDefault();
return false;
});
@ -24,23 +39,31 @@
return false;
});
// Disable copy
// Disable copy - except for auth password field
document.addEventListener('copy', function(e) {
// Allow copy in the authentication password field
if (e.target && e.target.id === 'auth-password') {
return true;
}
e.preventDefault();
return false;
});
// Disable cut
// Disable cut - except for auth password field
document.addEventListener('cut', function(e) {
// Allow cut in the authentication password field
if (e.target && e.target.id === 'auth-password') {
return true;
}
e.preventDefault();
return false;
});
// Disable paste
document.addEventListener('paste', function(e) {
e.preventDefault();
return false;
});
// Allow paste everywhere - removed restriction
// document.addEventListener('paste', function(e) {
// e.preventDefault();
// return false;
// });
// Disable print
window.addEventListener('beforeprint', function(e) {
@ -116,11 +139,11 @@
e.preventDefault();
return false;
}
// Ctrl+V (Paste)
if (e.ctrlKey && e.keyCode === 86) {
e.preventDefault();
return false;
}
// Ctrl+V (Paste) - Allow paste
// if (e.ctrlKey && e.keyCode === 86) {
// e.preventDefault();
// return false;
// }
});
// Disable image dragging

Datei anzeigen

@ -41,6 +41,8 @@ const translations = {
// Who We Are
whoWeAreTitle: 'Unternehmen',
companyCardTitle1: 'Spezialist für Behördensoftware',
companyCardTitle2: 'Unser Ansatz',
whoWeArePara1: 'IntelSight UG ist Ihr <strong>Spezialist für hochsichere, maßgeschneiderte IT-Lösungen</strong> aus Nordrhein-Westfalen. Wir entwickeln innovative Software speziell für staatliche Sicherheits- und Ermittlungsbehörden.',
whoWeArePara2: 'Unser Ansatz vereint modernste Technologie mit einem tiefen Verständnis für die besonderen Anforderungen von Behörden. Dabei steht die Balance zwischen Sicherheit, Effizienz und rechtskonformer Umsetzung im Mittelpunkt unserer Arbeit.',
locationBadge: 'Nordrhein-Westfalen, Deutschland',
@ -154,7 +156,7 @@ const translations = {
en: {
// Page meta
pageTitle: 'IntelSight - Security Made in Germany',
pageTitle: 'IntelSight - Sicherheit Made in Germany',
// Navigation
skipNav: 'Skip to main content',
@ -165,7 +167,7 @@ const translations = {
langSwitch: 'EN | DE',
// Hero Section
heroTitle: 'SECURITY MADE IN GERMANY',
heroTitle: 'SICHERHEIT MADE IN GERMANY',
heroSubtitle: 'Specialist for highly secure, customized IT solutions for government agencies',
// Trust Indicators
@ -188,6 +190,8 @@ const translations = {
// Who We Are
whoWeAreTitle: 'Company',
companyCardTitle1: 'Government Software Specialist',
companyCardTitle2: 'Our Approach',
whoWeArePara1: 'IntelSight UG is your <strong>specialist for highly secure, customized IT solutions</strong> from North Rhine-Westphalia. We develop innovative software specifically for government security and law enforcement agencies.',
whoWeArePara2: 'Our approach combines cutting-edge technology with a deep understanding of the special requirements of government agencies. The balance between security, efficiency and legally compliant implementation is at the center of our work.',
locationBadge: 'North Rhine-Westphalia, Germany',
@ -373,6 +377,9 @@ function applyTranslations(language) {
// Update expand button text if it exists
updateExpandButtonText(language);
// Update footer legal links based on language
updateFooterLinks(language);
}
/**
@ -407,4 +414,32 @@ function getTranslation(key) {
*/
function getCurrentLanguage() {
return currentLanguage;
}
/**
* Update footer legal links based on language
* @param {string} language - Current language code
*/
function updateFooterLinks(language) {
// Get footer links
const impressumLink = document.querySelector('a[href="impressum.html"], a[href="impressum-en.html"]');
const datenschutzLink = document.querySelector('a[href="datenschutz.html"], a[href="datenschutz-en.html"]');
if (language === 'en') {
// Switch to English versions
if (impressumLink) {
impressumLink.href = 'impressum-en.html';
}
if (datenschutzLink) {
datenschutzLink.href = 'datenschutz-en.html';
}
} else {
// Switch to German versions
if (impressumLink) {
impressumLink.href = 'impressum.html';
}
if (datenschutzLink) {
datenschutzLink.href = 'datenschutz.html';
}
}
}