diff --git a/CLAUDE.md b/CLAUDE.md index e47d402..ee5276a 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -36,17 +36,21 @@ TECHNOLOGY: STRUCTURE: root_files: - - index.html: Hauptseite - - impressum.html: Impressum DE - - impressum-en.html: Impressum EN - - datenschutz.html: Datenschutz DE - - datenschutz-en.html: Datenschutz EN + - index.html: Hauptseite (DE) + - impressum.html: Impressum (DE) + - datenschutz.html: Datenschutz (DE) - accountforger-video.html: Produkt-Demo - robots.txt: SEO-Konfiguration - - cookie-consent.js: GDPR Cookie-System + - sitemap-launch.xml: Sitemap mit hreflang-Alternativen + - cookie-consent.js: GDPR Cookie-System (liest selbststaendig) - cookie-consent.css: Cookie-Banner Styles directories: + en: + - index.html: Hauptseite (EN) + - legal-notice.html: Impressum (EN, Hinweis "German version prevails") + - privacy.html: Datenschutz (EN, Hinweis "German version prevails") + assets: fonts: [Inter, Bebas Neue] images: @@ -60,12 +64,14 @@ STRUCTURE: - animations-enhanced.css: Animationen - mobile.css: Mobile Responsive - fonts.css: Typografie + - style.css: Light-Mode Styles (index, legal pages, /en/) + - lang-switcher.css: Sprachumschalter-Komponente (DE/EN) js: - main.js: Einstiegspunkt - - translations.js: Mehrsprachigkeit - components.js: UI-Komponenten - animations.js: Animationssystem + - app.js: Hero-Videos, 3D-Karussell, Leaflet-Karte, Live-Daten, Kontaktformular docs: Rechtliche PDFs @@ -87,8 +93,8 @@ PAGES: homepage: sections: [Hero mit Video, Ueber uns, Loesungen, Kontakt] legal: - - Impressum (DE/EN) - - Datenschutz (DE/EN) + - /impressum.html bzw. /en/legal-notice.html + - /datenschutz.html bzw. /en/privacy.html product: - AccountForger Video-Demo lagen: @@ -111,7 +117,12 @@ PAGES: icons: monitor.svg + languages.svg (Lucide) hinzugefuegt DEVELOPMENT: - translations: js/translations.js + i18n: + ansatz: statische Duplikate (DE unter /, EN unter /en/) + sprachumschalter: css/lang-switcher.css + pendant_urls: in jeder Seite hardcoded (funktioniert ohne JS) + cookie_banner: cookie-consent.js liest selbststaendig + open: contact-form.py ist noch DE-only (Validierungs- und Mailtexte) large_files: "assets/videos/ (~300MB)" design: mobile-first responsive @@ -137,8 +148,12 @@ CHANGE_LOG: - "Neues Logo: Logo+Schrift_Rechts.svg" - "Email: info@aegis-sight.de" - "Footer: Dynamisches Jahr, AGB entfernt" + 2026-05-06: + - "i18n: Sprachumschalter DE/EN, neue Seiten unter /en/" + - "Aufraeumen: js/translations.js, impressum-en.html, datenschutz-en.html entfernt" + - "data-translate Attribute aus Lagen-Seiten entfernt" -Last-Updated: 2026-04-06 +Last-Updated: 2026-05-06 RULES: neue_html_seiten: diff --git a/css/lang-switcher.css b/css/lang-switcher.css new file mode 100644 index 0000000..cda075a --- /dev/null +++ b/css/lang-switcher.css @@ -0,0 +1,73 @@ +/* Language switcher (DE/EN) + Used on every page in the site header and inside the mobile menu. + Active language is non-clickable, inactive language is a link to the + counterpart URL. Pendant URL is hardcoded per page so the switch works + without JavaScript. */ + +.lang-switcher { + display: inline-flex; + align-items: center; + gap: 0.4em; + font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; + font-size: 0.9rem; + font-weight: 600; + letter-spacing: 0.04em; + user-select: none; + line-height: 1; +} + +.lang-switcher .lang-active { + color: #C8A851; + cursor: default; +} + +.lang-switcher .lang-link { + color: #5A6478; + text-decoration: none; + transition: color 0.2s ease; + padding: 0.15em 0; +} + +.lang-switcher .lang-link:hover, +.lang-switcher .lang-link:focus-visible { + color: #C8A851; + outline: none; +} + +.lang-switcher .lang-sep { + color: #5A6478; + opacity: 0.4; +} + +/* Dark variant for the lagebild pages (dark navbar) */ +.lagebild-page .lang-switcher .lang-link, +.lang-switcher.lang-switcher-dark .lang-link { + color: rgba(255, 255, 255, 0.7); +} + +.lagebild-page .lang-switcher .lang-link:hover, +.lagebild-page .lang-switcher .lang-link:focus-visible, +.lang-switcher.lang-switcher-dark .lang-link:hover, +.lang-switcher.lang-switcher-dark .lang-link:focus-visible { + color: #C8A851; +} + +.lagebild-page .lang-switcher .lang-sep, +.lang-switcher.lang-switcher-dark .lang-sep { + color: rgba(255, 255, 255, 0.5); +} + +/* Inside mobile menus: full-width row with separator on top */ +.mobile-menu .lang-switcher, +.nav-menu-mobile .lang-switcher { + margin-top: 1rem; + padding-top: 1rem; + border-top: 1px solid rgba(0, 0, 0, 0.08); + font-size: 1rem; + justify-content: center; + width: 100%; +} + +.lagebild-page .nav-menu-mobile .lang-switcher { + border-top-color: rgba(255, 255, 255, 0.12); +} diff --git a/css/style.css b/css/style.css index 1ca9ae9..59ad1a9 100644 --- a/css/style.css +++ b/css/style.css @@ -46,6 +46,8 @@ a { color:inherit; text-decoration:none; } .nav-menu a { font-size:0.9rem; font-weight:500; color:var(--navy); transition:color 0.2s; } .nav-menu a:hover { color:var(--gold); } +.nav-extras { display:flex; align-items:center; gap:18px; } + .mobile-menu-toggle { display:none; background:none; border:none; cursor:pointer; width:32px; height:24px; position:relative; flex-direction:column; justify-content:space-between; } .mobile-menu-toggle span { display:block; width:100%; height:2px; background:var(--navy); border-radius:2px; transition:transform 0.3s,opacity 0.3s; } .mobile-menu-toggle.active span:nth-child(1) { transform:rotate(45deg) translate(7px,7px); } diff --git a/datenschutz-en.html b/datenschutz-en.html deleted file mode 100644 index 68162ae..0000000 --- a/datenschutz-en.html +++ /dev/null @@ -1,320 +0,0 @@ - - - - - - Privacy Policy - AegisSight - - - - - - - - - - - - - - - - - - -
-
-

Privacy Policy

-
- -
-
-

1. Data Protection at a Glance

- -

General Information

-

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.

- -

Data Collection on Our Website

-

Who is responsible for data collection on this website?
- 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.

- -

How do we collect your data?
- 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.

- -

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.

- -

What do we use your data for?
- Part of the data is collected to ensure error-free provision of the website. Other data may be used to analyze your user behavior.

- -

What rights do you have regarding your data?
- 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.

-
- -
-

2. General Information and Mandatory Information

- -

Data Protection

-

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.

- -

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.

- -

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.

- -

Note on the Responsible Party

-

The responsible party for data processing on this website is:

- -
-

- AegisSight UG (limited liability)
- Hendrik Gebhardt
- Monami Homma
- Gladbacher Strasse 3-5
- 40764 Langenfeld
- Germany

- Email: info@aegis-sight.de -

-
- -

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.).

- -

Revocation of Your Consent to Data Processing

-

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.

- -

Right to Lodge a Complaint with the Competent Supervisory Authority

-

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: https://www.bfdi.bund.de.

-
- -
-

3. Data Collection on Our Website

- -

Server Log Files

-

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:

- -
    -
  • Browser type and browser version
  • -
  • Operating system used
  • -
  • Referrer URL
  • -
  • Host name of the accessing computer
  • -
  • Time of the server request
  • -
  • IP address
  • -
- -

This data is not merged with other data sources.

- -

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.

- -

SSL or TLS Encryption

-

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.

- -

If SSL or TLS encryption is activated, the data you transmit to us cannot be read by third parties.

-
- -
-

4. Our Web Analytics

-

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.

- -

The following data is collected:

-
    -
  • Pages visited
  • -
  • Time of access
  • -
  • Anonymized IP address
  • -
  • Browser information
  • -
- -

This data is not personal and cannot be used to identify individual users.

-
- -
-

5. Your Rights

-

You have the following rights regarding your personal data:

- -
    -
  • Right to information: You can request information about your stored data.
  • -
  • Right to correction: You can request the correction of incorrect data.
  • -
  • Right to deletion: You can request the deletion of your data.
  • -
  • Right to restriction of processing: You can request the restriction of data processing.
  • -
  • Right to data portability: You can request to receive your data in a structured format.
  • -
  • Right to object: You can object to the processing of your data.
  • -
- -

To exercise these rights, please contact us at info@aegis-sight.de.

-
- -
-

6. Changes to This Privacy Policy

-

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.

-
- -
-

7. Automated Access and AI Agents

- -

Prohibition of Automated Access

-

Automated querying, scraping, or crawling of this website by bots, spiders, scrapers, AI agents (including LLM-based systems), "buy-for-me" agents, or similar automated tools is prohibited without our express written permission.

- -

This includes in particular:

-
    -
  • Automated data collection and extraction
  • -
  • Training of AI models using content from this website
  • -
  • Automated end-to-end processes without human review
  • -
  • Systematic reading of content by automated systems
  • -
- -

Violations of this policy may be subject to civil and criminal prosecution. The instructions contained in our robots.txt file are binding and form part of these terms of use.

- -

Exceptions

-

Excluded from this prohibition are search engine crawlers that comply with our robots.txt guidelines, as well as services to which we have expressly granted permission.

-
-
-
- - - - - - - - - - - \ No newline at end of file diff --git a/datenschutz.html b/datenschutz.html index fd3b3de..3393f20 100644 --- a/datenschutz.html +++ b/datenschutz.html @@ -9,6 +9,10 @@ + + + + @@ -17,6 +21,7 @@ + + + + + + + + +
+ +
+ +
+ + + + + + + + diff --git a/en/privacy.html b/en/privacy.html new file mode 100644 index 0000000..b950f47 --- /dev/null +++ b/en/privacy.html @@ -0,0 +1,302 @@ + + + + + + Privacy policy – AegisSight + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ + + + + + + + diff --git a/impressum-en.html b/impressum-en.html deleted file mode 100644 index 429bb89..0000000 --- a/impressum-en.html +++ /dev/null @@ -1,205 +0,0 @@ - - - - - - Legal Notice - AegisSight - - - - - - - - - - - - - - - - - - -
-
-

Legal Notice

-
- -
-
-

Company Information

-

- AegisSight UG (limited liability)
- Gladbacher Strasse 3-5
- 40764 Langenfeld
- Germany -

-
- -
-

Represented by

-

Hendrik Gebhardt
- Monami Homma

-
- -
-

Contact

-

- Email: info@aegis-sight.de
- Website: aegis-sight.de -

-
- -
-

Commercial Register

-

- Entry in the Commercial Register
- Registry Court: District Court Düsseldorf
- Registration number: HRB 110105 -

-
- -
-

VAT

-

VAT identification number according to §27 a of the German VAT Act:
- DE457846602

-
- -
-

Consumer Dispute Resolution/Universal Arbitration Board

-

We are not willing or obliged to participate in dispute resolution proceedings before a consumer arbitration board.

-
- -
-

Liability for Content

-

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.

-

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.

-
- -
-

Liability for Links

-

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.

-

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.

-
- -
-

Copyright

-

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.

-

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.

-
-
-
- - - - - - - - - - - \ No newline at end of file diff --git a/impressum.html b/impressum.html index be0e657..9a94deb 100644 --- a/impressum.html +++ b/impressum.html @@ -9,6 +9,10 @@ + + + + @@ -17,6 +21,7 @@ +