commit 5f17605884c0e26bc4b6de5cf5a53feaf4d96658 Author: luptmoor Date: Fri Feb 27 10:59:57 2026 +0100 basic version by Felix diff --git a/assets/.DS_Store b/assets/.DS_Store new file mode 100644 index 0000000..5008ddf Binary files /dev/null and b/assets/.DS_Store differ diff --git a/assets/IMG_0657 1.png b/assets/IMG_0657 1.png new file mode 100644 index 0000000..be9bf04 Binary files /dev/null and b/assets/IMG_0657 1.png differ diff --git a/assets/IMG_0658 1.png b/assets/IMG_0658 1.png new file mode 100644 index 0000000..b6be0b1 Binary files /dev/null and b/assets/IMG_0658 1.png differ diff --git a/assets/IMG_0659 1.png b/assets/IMG_0659 1.png new file mode 100644 index 0000000..0524233 Binary files /dev/null and b/assets/IMG_0659 1.png differ diff --git a/assets/IMG_20251126_141048_0063_1764164547824_photo 2.png b/assets/IMG_20251126_141048_0063_1764164547824_photo 2.png new file mode 100644 index 0000000..30ed49d Binary files /dev/null and b/assets/IMG_20251126_141048_0063_1764164547824_photo 2.png differ diff --git a/assets/IMG_20251126_142824_0068_1764164492271_photo 1.png b/assets/IMG_20251126_142824_0068_1764164492271_photo 1.png new file mode 100644 index 0000000..da5a170 Binary files /dev/null and b/assets/IMG_20251126_142824_0068_1764164492271_photo 1.png differ diff --git a/assets/IMG_20251126_142840_0069_1764164486825_photo 1.png b/assets/IMG_20251126_142840_0069_1764164486825_photo 1.png new file mode 100644 index 0000000..879c43f Binary files /dev/null and b/assets/IMG_20251126_142840_0069_1764164486825_photo 1.png differ diff --git a/assets/IMG_20251126_142852_0070_1764164484197_photo 1.png b/assets/IMG_20251126_142852_0070_1764164484197_photo 1.png new file mode 100644 index 0000000..f7805ac Binary files /dev/null and b/assets/IMG_20251126_142852_0070_1764164484197_photo 1.png differ diff --git a/assets/IMG_20251126_142858_0071_1764164481460_photo 1.png b/assets/IMG_20251126_142858_0071_1764164481460_photo 1.png new file mode 100644 index 0000000..d6bcaf8 Binary files /dev/null and b/assets/IMG_20251126_142858_0071_1764164481460_photo 1.png differ diff --git a/assets/IMG_20251126_142910_0072_1764164478906_photo 1.png b/assets/IMG_20251126_142910_0072_1764164478906_photo 1.png new file mode 100644 index 0000000..505f608 Binary files /dev/null and b/assets/IMG_20251126_142910_0072_1764164478906_photo 1.png differ diff --git a/assets/IMG_20251126_142928 1.png b/assets/IMG_20251126_142928 1.png new file mode 100644 index 0000000..cf4e6e8 Binary files /dev/null and b/assets/IMG_20251126_142928 1.png differ diff --git a/assets/IMG_20251126_142928_0073_1764164476667_photo 1.png b/assets/IMG_20251126_142928_0073_1764164476667_photo 1.png new file mode 100644 index 0000000..de1ae35 Binary files /dev/null and b/assets/IMG_20251126_142928_0073_1764164476667_photo 1.png differ diff --git a/assets/IMG_20251126_142934 1.png b/assets/IMG_20251126_142934 1.png new file mode 100644 index 0000000..bbfdc42 Binary files /dev/null and b/assets/IMG_20251126_142934 1.png differ diff --git a/assets/IMG_News1.png b/assets/IMG_News1.png new file mode 100644 index 0000000..2d93756 Binary files /dev/null and b/assets/IMG_News1.png differ diff --git a/assets/company.jpg b/assets/company.jpg new file mode 100644 index 0000000..6129651 Binary files /dev/null and b/assets/company.jpg differ diff --git a/assets/endex_Logo_endex-Logo_Dual-DE.svg b/assets/endex_Logo_endex-Logo_Dual-DE.svg new file mode 100644 index 0000000..48af27c --- /dev/null +++ b/assets/endex_Logo_endex-Logo_Dual-DE.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/endex_Logo_endex-Logo_Dual-EN.svg b/assets/endex_Logo_endex-Logo_Dual-EN.svg new file mode 100644 index 0000000..f6e2932 --- /dev/null +++ b/assets/endex_Logo_endex-Logo_Dual-EN.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/hero-bg.png b/assets/hero-bg.png new file mode 100644 index 0000000..7bdf277 Binary files /dev/null and b/assets/hero-bg.png differ diff --git a/assets/icon-linkedin.svg b/assets/icon-linkedin.svg new file mode 100644 index 0000000..65c726c --- /dev/null +++ b/assets/icon-linkedin.svg @@ -0,0 +1,3 @@ + + + diff --git a/assets/icon-mail.svg b/assets/icon-mail.svg new file mode 100644 index 0000000..45c5af8 --- /dev/null +++ b/assets/icon-mail.svg @@ -0,0 +1,3 @@ + + + diff --git a/assets/icon-phone.svg b/assets/icon-phone.svg new file mode 100644 index 0000000..d101695 --- /dev/null +++ b/assets/icon-phone.svg @@ -0,0 +1,3 @@ + + + diff --git a/assets/logo-1.svg b/assets/logo-1.svg new file mode 100644 index 0000000..6471d09 --- /dev/null +++ b/assets/logo-1.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/assets/logo-2.svg b/assets/logo-2.svg new file mode 100644 index 0000000..24db577 --- /dev/null +++ b/assets/logo-2.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/assets/logo-3.svg b/assets/logo-3.svg new file mode 100644 index 0000000..84fb0b1 --- /dev/null +++ b/assets/logo-3.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/assets/logo-4.svg b/assets/logo-4.svg new file mode 100644 index 0000000..eed52eb --- /dev/null +++ b/assets/logo-4.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/assets/service1.png b/assets/service1.png new file mode 100644 index 0000000..49a6172 Binary files /dev/null and b/assets/service1.png differ diff --git a/assets/service2.png b/assets/service2.png new file mode 100644 index 0000000..dcb5753 Binary files /dev/null and b/assets/service2.png differ diff --git a/assets/service3.png b/assets/service3.png new file mode 100644 index 0000000..8eee2e0 Binary files /dev/null and b/assets/service3.png differ diff --git a/css/.DS_Store b/css/.DS_Store new file mode 100644 index 0000000..5008ddf Binary files /dev/null and b/css/.DS_Store differ diff --git a/css/style.css b/css/style.css new file mode 100644 index 0000000..c626bbf --- /dev/null +++ b/css/style.css @@ -0,0 +1,1616 @@ +/* ===================== +GLOBAL SECTION STYLING +===================== */ + + +section:not(.company):not(.hero), +footer { + width: 100%; + max-width: 1440px; + margin: 0 auto; + padding: 8vw; + box-sizing: border-box; +} + +/* ===================== +HERO +===================== */ +.hero { + width: 100%; + height: min(80vh, 610px); + background-size: cover; + background-position: center; + display: flex; + justify-content: center; + align-items: center; + text-align: center; + overflow: hidden; +} + + +.hero-title { + font-size: clamp(36px, 6vw, 96px); +} + +.hero-subline { + font-size: clamp(14px, 1.5vw, 18px); + line-height: 1.8; +} + + +.hero-button, +.news-button, +.contact-button { + font-size: clamp(14px, 1vw, 18px); + padding: clamp(8px, 1vw, 16px) clamp(16px, 2vw, 32px); +} + +/* ===================== +SERVICES GRID +===================== */ +.services-grid { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(clamp(280px, 30%, 320px), 1fr)); + justify-content: center; + gap: 48px; +} + + +/* ===================== +COMPANY SECTION +===================== */ +.company-content { + display: grid; + grid-template-columns: 1fr; + gap: 0vw; + padding: 0 4vw; +} + + +.company-text { + display: grid; + grid-template-columns: 1fr; + gap: 2vw; +} + +.company img { + width: 100%; + height: auto; + object-fit: cover; +} + +/* ===================== +FOOTER +===================== */ +.footer-grid { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); + gap: clamp(16px, 2vw, 40px); + padding: clamp(20px, 4vw, 80px); +} + +/* ===================== +MEDIA QUERIES +===================== */ +@media (max-width: 1024px) { + .hero { + height: 60vh; + } + .news-slide { + grid-template-columns: 1fr; + height: auto; + } +} + +@media (max-width: 768px) { + .hero { + height: 50vh; + padding: 5vw; + } + .hero-title { + font-size: clamp(28px, 6vw, 48px); + } + .hero-subline { + font-size: clamp(12px, 3vw, 16px); + } +} + +@media (max-width: 480px) { + header .nav { + padding: 0 4vw; + } + .hero-button, + .news-button { + font-size: 14px; + padding: 8px 16px; + } +} + +/* ===================== +GENERAL +===================== */ + +* { + margin: 0; + padding: 0; + box-sizing: border-box; + font-family: 'League Spartan', sans-serif; +} + +html { + scroll-behavior: smooth; +} + +body { + color: #151515; + overflow-x: hidden +} + + + +/* ===================== +HEADER / NAV - DESKTOP +===================== */ + +header { + position: sticky; + top: 0; + background: white; + border-bottom: 1px solid #eee; + z-index: 999; + height: 109px; +} + +.nav { + max-width: 1440px; + margin: 0 auto; + display: flex; + justify-content: space-between; + align-items: center; + height: 100%; + padding: 0 40px; +} + +.logo { + display: flex; + align-items: center; + cursor: pointer; +} + +.logo img { + height: 45px; + width: auto; + display: block; +} + +.nav-links { + display: flex; + gap: 32px; + font-size: 16px; + font-weight: 500; + align-items: center; +} + +.nav-links a { + text-decoration: none; + color: #151515; + transition: font-weight 0.2s ease; +} + +.nav-links a.active { + font-weight: 800; + color: #151515; +} + +.lang-switch span { + cursor: pointer; + font-size: 16px; + font-weight: 500; + transition: font-weight 0.2s ease; +} + +.lang-switch span.active { + font-weight: 700; +} + +.burger { + display: none; +} + +/* ===================== +MOBILE +===================== */ +@media (max-width: 1024px) { + + .nav-links { + display: none; + } + + .mobile-menu { + display: flex; + align-items: center; + gap: 12px; + margin-left: auto; + } + + .burger { + display: flex; + flex-direction: column; + justify-content: space-between; + width: 24px; + height: 18px; + cursor: pointer; + } + + .burger span { + display: block; + height: 3px; + width: 100%; + background: #151515; + border-radius: 2px; + transition: all 0.3s ease; + } + + .lang-switch { + display: flex; + align-items: center; + gap: 9px; + cursor: pointer; + } + + .nav.open .nav-links { + display: flex; + flex-direction: column; + position: absolute; + top: 100%; + left: 0; + right: 0; + background: white; + padding: 20px; + gap: 16px; + border-bottom: 1px solid #eee; + z-index: 998; + } +} + +/* ===================== +SECTIONS +===================== */ + +section:not(.company):not(.hero) { + max-width: 1440px; + margin: 0 auto; + padding: 120px 180px; + box-sizing: border-box; +} + +/* ===================== +HERO +===================== */ + +.hero { + position: relative; + width: 100%; + max-width: 100%; + height: 610px; + background-image: url("../assets/hero-bg.png"); + background-size: cover; + background-position: center; + background-repeat: no-repeat; + display: flex; + justify-content: center; + align-items: center; + text-align: center; + overflow: hidden; +} + +/* ================= HERO BOXES ================= */ + +.hero::before, +.hero::after { + content: ''; + position: absolute; + top: 50%; + transform-origin: top left; + pointer-events: none; +} + +/* Right green box (same as before) */ +.hero::before { + width: 662px; + height: 954px; + background: #7FD332; + transform: rotate(-14deg) translateY(-50%); + right: -400px; + z-index: 1; + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100%25' height='100%25'%3E%3Cline x1='0%25' y1='75%25' x2='100%25' y2='55%25' stroke='white' stroke-width='1'/%3E%3Cline x1='0%25' y1='60%25' x2='100%25' y2='85%25' stroke='white' stroke-width='1'/%3E%3C/svg%3E"); + background-repeat: no-repeat; + background-size: cover; +} + +.hero::after { + width: 492px; + height: 955px; + background: #fff; + transform: rotate(-10.86deg) translateY(-50%); + left: -250px; + z-index: 1; + + + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100%25' height='100%25'%3E%3Cline x1='0%25' y1='75%25' x2='100%25' y2='55%25' stroke='black' stroke-width='1'/%3E%3Cline x1='0%25' y1='60%25' x2='100%25' y2='85%25' stroke='black' stroke-width='1'/%3E%3C/svg%3E"); + background-repeat: no-repeat; + background-size: cover; +} + +@media (max-width: 1024px) { + .hero::before { + right: -500px; + } + .hero::after { + left: -350px; + } +} + +.hero-overlay { + max-width: 800px; + padding: 20px; +} + +.hero-title { + font-family: "League Spartan", sans-serif; + font-weight: 600; + font-size: 96px; + color: #ffffff; + margin-bottom: 24px; +} + +.hero-subline { + font-family: "League Spartan", sans-serif; + font-size: 18px; + color: #ffffff; + line-height: 1.3; + margin-bottom: 40px; +} + +.hero-button { + position: relative; + font-family: "League Spartan", sans-serif; + background: #7FD332; + color: #151515; + border: 1px solid #151515; + padding: 14px 32px; + text-decoration: none; + display: inline-block; + transition: all 0.3s ease; + overflow: hidden; + letter-spacing: 0; +} + +/* Arrow */ +.hero-button::after { + content: "→"; + position: absolute; + right: 16px; + top: 50%; + transform: translateY(-50%) translateX(10px); + opacity: 0; + transition: all 0.3s ease; + font-weight: bold; +} + +.hero-button:hover { + background: #F0F9E9; + color: #151515; + padding-right: 40px; +} + +.hero-button:hover::after { + transform: translateY(-50%) translateX(0); + opacity: 1; +} + +@media (max-width: 1024px) { + + .hero { + height: 520px; + } + + .hero-title { + font-size: 72px; + } + +} + +@media (max-width: 768px) { + + .hero { + height: 80vh; + padding: 40px 20px; + } + + .hero-title { + font-size: 48px; + } + + .hero-subline { + font-size: 14px; + } + +} + +/* ===================== +NEWS +===================== */ + +.news-section-title { + font-size: 48px; + margin-top: 160px; + margin-bottom: 40px; +} + + + +/* ===================== +NEWS BUTTON +===================== */ + +.news-button { + position: relative; + font-family: "League Spartan", sans-serif; + background: #7FD332; + color: #151515; + border: 1px solid #151515; + padding-top: 14px; + padding-bottom: 14px; + padding-left: 16px; + padding-right: 2px; + text-decoration: none; + display: inline-flex; + align-items: center; + gap: 8px; + transition: all 0.3s ease; + overflow: hidden; + letter-spacing: 0; + width: auto; + white-space: nowrap; +} + +/* Arrow */ +.news-button::after { + content: "→"; + display: inline-block; + font-weight: bold; + transform: translateX(4px); + opacity: 0; + transition: all 0.3s ease; +} + +.news-button:hover { + background: #F0F9E9; + color: #151515; + padding-right: 28px; +} + +.news-button:hover::after { + transform: translateX(0); + opacity: 1; +} + + + +.news { + width: 100%; + padding: 80px 0; +} + +.news-container { + max-width: 1080px; + margin: auto; +} + +.news-slider { + overflow: hidden; + position: relative; +} + +.news-track { + display: flex; + transition: transform 0.6s ease; + background-color:#F0F9E9; +} + +.news-slide { + display: grid; + grid-template-columns: 1fr 1fr; + gap: 32px; + height: 540px; + min-width: 100%; + box-sizing: border-box; + background-color:#F0F9E9; + border-right: 1px solid #7FD332; +} + +.news-media { + position: relative; + width: 100%; + height: 100%; + clip-path: polygon( + 0 0, + 100% 0, + 75% 100%, + 0 100% + ); + overflow: hidden; +} + +.news-media::after { + content: ''; + position: absolute; + bottom: 0; + left: 0; + width: 100%; + height: 100%; + pointer-events: none; + + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100%25' height='100%25'%3E%3Cline x1='0%25' y1='100%25' x2='100%25' y2='75%25' stroke='white' stroke-width='1.5'/%3E%3Cline x1='50%25' y1='100%25' x2='100%25' y2='50%25' stroke='%237FD332' stroke-width='1.5'/%3E%3C/svg%3E"); + background-size: cover; + background-repeat: no-repeat; +} + +.news-media img { + width: 100%; + height: 100%; + object-fit: cover; + border-radius: 0; +} + +.news-content { + display: flex; + flex-direction: column; + justify-content: center; + align-items: flex-start; + padding: 0 24px; + height: 100%; +} + +.news-title { + font-family: "League Spartan", sans-serif; + font-weight: 700; + font-size: 32px; + color: #7FD332; + margin-bottom: 16px; +} + +.news-subline { + font-family: "League Spartan", sans-serif; + font-weight: 600; + font-size: 24px; + color: #151515; + margin-bottom: 20px; +} + +.news-text { + font-family: "League Spartan", sans-serif; + font-weight: 400; + font-size: 16px; + color: #151515; + line-height: 1.6; + margin-bottom: 16px; +} + +.news-dots { + display: flex; + justify-content: center; + gap: 16px; + margin-top: 30px; +} + +.news-dot { + width: 18px; + height: 18px; + border: 1px solid #151515; + cursor: pointer; +} + +.news-dot.active { + background: #7FD332; +} + +.news-dot:hover { + background: #F0F9E9; +} + + + +/* ===================== +SERVICES +===================== */ + +#services { + margin-top: 80px; + margin-bottom: 160px; +} + +.services-header { + text-align: left; + margin-bottom: 80px; +} + +.services-header h2 { + font-size: 48px; + margin-bottom: 24px; +} + +.services-header h3 { + font-size: 24px; + margin-bottom: 24px; +} + +/* SERVICES GRID */ +.services-grid { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); + gap: 48px; +} + +/* SERVICE BOX */ +.service-box { + min-height: 468px; + background: #F8FBF5; + padding: 16px; + transition: all 0.3s ease; + position: relative; + flex-shrink: 0; + align-self: flex-start; + box-sizing: border-box; + display: flex; + flex-direction: column; + border-left: 1px solid transparent; + border-right: 1px solid transparent; +} + +/* IMAGE */ +.service-box img { + width: 100%; + height: 224px; + object-fit: cover; + transition: all 0.3s ease; +} + +/* TITLE */ +.service-title { + font-size: 32px; + margin-top: 16px; + transition: color 0.3s; + color: #000000; +} + +/* ARROW */ +.service-arrow { + position: absolute; + bottom: 16px; + right: 16px; + cursor: pointer; + transition: color 0.3s, opacity 0.3s, transform 0.2s, font-weight 0.2s; + color: #000000; + font-weight: 400; +} + + +/* TEXT */ +.service-text { + max-height: 0; + overflow: hidden; + transition: max-height 0.5s ease, margin-top 0.5s ease; + font-size: 18px; + line-height: 150%; + margin-top: 0; + color: #7FD332; +} + +/* HOVER / OPEN */ +.service-box:hover, +.service-box.open { + background: #F0F9E9; + border-left: 1px solid #7FD332; + border-right: 1px solid #7FD332; +} + +.service-box:hover .service-arrow { + color: #7FD332; + font-weight: 1000; + transform: scale(1.6); +} + +.service-box.closing .service-arrow { + color: #7FD332; + font-weight: 600; + transform: scale(1.6); +} + +.service-box:hover .service-title, +.service-box:hover .service-arrow { + color: #7FD332; +} + +.service-box.open .service-title, +.service-box.open .service-arrow { + color: #7FD332; + opacity: 1; +} + +.service-box.open .service-arrow { + opacity: 0; +} + +.service-box.closing .service-title, +.service-box.closing .service-arrow { + color: #7FD332; +} + +.service-box.open .service-text { + max-height: 500px; + margin-top: 24px; +} + + +/* ===================== +COMPANY +===================== */ + +.company { + background: #F0F9E9; + width: 100%; + padding: 160px 96px; +} + +.company-content { + max-width: 1440px; + margin: 0 auto; + padding: 0 180px; + box-sizing: border-box; +} + +.company-content h2 { + font-size: 48px; + margin-bottom: 24px; +} + +.company-content h3 { + font-size: 24px; + margin-bottom: 20px; +} + +.company-text { + font-size: 18px; + text-align: justify; + line-height: 1.7; + hyphens: auto; + display: grid; + grid-template-columns: 1fr 1fr; + gap: 104px; + margin-top: 40px; +} + +.company img { + margin-top: 0px; + width: 100%; + height: 270px; + object-fit: cover; +} + +@media (max-width: 1440px) { + .company-content { + padding: 0 40px; + } +} + +/* ===================== +DIVIDER 1 +===================== */ + +#divider-1 { + width: 100%; + height: 102px; + background-color: #7FD332; + + clip-path: polygon( + 0 0, + 100% 0, + 100% 51%, + 0 100% + ); +} + + +/* ===================== +CLIENTS +===================== */ + +#clients { + max-width: 1440px; + margin: 0 auto; + padding: 0 180px; + box-sizing: border-box; +} + +#clients h2 { + margin-top: 180px; + font-size: 48px; + margin-bottom: 56px; + text-align: left; +} + +.logo-scroll { + width: 100%; + margin-left: calc(50% - 50vw); +} + +.logo-track { + display: flex; + justify-content: space-between; + align-items: center; + + width: 100%; + padding: 0 180px; + box-sizing: border-box; +} + +/* LOGOS */ +.logo-track img { + width: 22%; + max-height: 70px; + object-fit: contain; + + filter: grayscale(100%); + opacity: 0.7; + + transition: + transform 0.35s ease, + filter 0.35s ease, + opacity 0.35s ease; +} + +/* HOVER EFFECT */ +.logo-track img:hover { + transform: scale(1.15); + filter: brightness(0) saturate(100%) + invert(68%) sepia(70%) + saturate(450%) + hue-rotate(55deg) + brightness(95%) contrast(90%); + opacity: 1; +} + +.logo-track:hover img { + opacity: 0.3; +} + +.logo-track img:hover { + opacity: 1; +} + + +/* ===================== +CONTACT +===================== */ + +#contact h2 { + margin-top: 180px; + font-size: 48px; + margin-bottom: 24px; +} + +#contact h3 { + font-size: 36px; + margin-bottom: 16px; +} + +#contact p { + font-size: 18px; + margin-bottom: 56px; + line-height: 1.7; +} + +.content-box { + background-color: #F0F9E9; + max-width: 367px; + min-height: 190px; + padding: 36px; + border-left: 1px solid #7FD332; + border-right: 1px solid #7FD332; +} + +.contact-options { + display: flex; + align-items: center; + gap: 16px; +} + +.content-box > *:not(h3) { + margin-top: 16px; +} + +.contact-link { + font-family: "League Spartan", sans-serif; + font-size: 18px; + color: #151515; + text-decoration-line: underline; + transition: color 0.3s ease; +} + +.contact-link:hover { + color: #7FD332; +} + +.contact-button { + margin-top: 56px; + position: relative; + font-family: "League Spartan", sans-serif; + background: #7FD332; + color: #151515; + border: 1px solid #151515; + padding: 14px 32px; + text-decoration: none; + display: inline-block; + transition: all 0.3s ease; + overflow: hidden; + letter-spacing: 0; +} + +/* Arrow */ +.contact-button::after { + content: "→"; + position: absolute; + right: 16px; + top: 50%; + transform: translateY(-50%) translateX(10px); + opacity: 0; + transition: all 0.3s ease; + font-weight: bold; +} + +.contact-button:hover { + background: #F0F9E9; + color: #151515; + padding-right: 40px; +} + +.contact-button:hover::after { + transform: translateY(-50%) translateX(0); + opacity: 1; +} + + + +/* ===================== +CAREER +===================== */ + +#career h2 { + font-size: 48px; + margin-bottom: 24px; +} + +#career h3 { + font-size: 24px; + margin-bottom: 24px; +} + +#career p { + font-size: 18px; + margin-bottom: 56px; + line-height: 1.7; +} + +/* ===================== +DIVIDER 2 +===================== */ + +#divider-2 { + width: 100%; + height: 192px; + background-color: #7FD332; + + clip-path: polygon( + 0 50%, + 100% 0, + 100% 100%, + 0 100% + ); +} + +/* ===================== +FOOTER +===================== */ +footer { + padding: 80px 180px; +} + +.footer-grid { + display: grid; + grid-template-columns: repeat(5, 1fr); /* desktop layout */ + gap: 40px; + align-items: start; +} + +/* Footer logo */ +#footer-logo { + width: 364px; + max-width: 100%; +} + +/* Footer links */ +.footer-grid h4 { + font-size: 24px; + margin-bottom: 16px; +} + +.footer-grid a { + font-size: 16px; + line-height: 150%; + color: #7FD332; +} + +/* Copyright */ +.copyright { + margin-top: 96px; + border-top: 1px solid #7FD332; + text-align: center; + padding-top: 56px; + color: #7FD332; +} + +/* ===================== +RESPONSIVE FOOTER - LEFT ALIGNED +===================== */ +@media (max-width: 1024px) { + .footer-grid { + display: grid; + grid-template-columns: 1fr; /* stack items vertically */ + gap: 32px; + text-align: left; /* keep everything left-aligned */ + } + + #footer-logo { + order: -1; /* logo appears first */ + margin: 0 0 16px 0; /* spacing below logo */ + width: 280px; /* adjust size */ + } + + .footer-grid div { + display: block; /* stack link sections */ + } + + .footer-grid a { + display: block; + margin-bottom: 8px; /* spacing between links */ + } +} + +@media (max-width: 768px) { + footer { + padding: 60px 20px; + } + + #footer-logo { + width: 200px; + margin-bottom: 12px; + } +} + +@media (max-width: 1024px) and (min-width: 768px) { + .footer-grid a { + margin-bottom: -2px; /* reduce spacing between links */ + line-height: 1; /* tighter line spacing */ + } +} + +@media (max-width: 768px) { + .footer-grid { + grid-template-columns: 1fr; /* stacked layout */ + gap: 16px; /* spacing between sections */ + } + + .footer-grid a { + margin-bottom: 4px; /* small space between links */ + line-height: 1.3; /* tighter line height */ + } + + .footer-grid h4 { + margin-bottom: 8px; /* slightly closer heading to links */ + } +} + + +/* ===================== +LEGALS +===================== */ + +#legals-logo { + width: 300px; + margin-top: 58px; + margin-left: 180px; + display: block; + padding: 0; + box-sizing: content-box; +} + +#impressum, #datenschutz { + margin-left: 0px; +} + +#impressum h1, #datenschutz h1 { + padding-bottom: 0px; +} + +#impressum h2, #datenschutz h2 { +padding-top: 36px; + padding-bottom: 24px; +} + +#impressum p, #datenschutz p, #impressum ul, #datenschutz ul { + line-height: 1.7; + font-size: 18px; +} + +#impressum a, #datenschutz a { + color:#7FD332; +} + +/* ====================================== +RESPONSIVE FOUNDATION +(does NOT change desktop) +====================================== */ + +/* ---------- TABLET ---------- */ +@media (max-width: 1200px) { + + section:not(.hero), + footer { + padding-left: 80px; + padding-right: 80px; + } + +} + +/* ---------- SMALL TABLET ---------- */ +@media (max-width: 1024px) { + + section:not(.hero), + footer { + padding-left: 48px; + padding-right: 48px; + } + +} + +/* ---------- MOBILE ---------- */ +@media (max-width: 768px) { + + section:not(.hero), + footer { + padding-left: 20px; + padding-right: 20px; + padding-top: 80px; + padding-bottom: 80px; + } + +} + +@media (max-width: 768px) { + + .hero { + height: 100vh; + } + + .hero-overlay { + transform: scale(1.05); + } + +} + +@media (max-width: 768px) { + + .news-slide { + grid-template-columns: 1fr; + height: auto; + } + + .news-media { + height: 260px; + clip-path: none; + } + + .news-content { + padding: 24px 0; + } + +} + +/* Keep desktop layout until 32px total padding (16px each side) */ +@media (max-width: calc(300px * 3 + 48px * 2 + 32px)) { + .services-grid { + grid-template-columns: 1fr; /* only switch to single column at tiny screens */ + gap: 24px; + padding-left: 16px; + padding-right: 16px; + } +} + +@media (max-width: 1024px) { + + .company-text { + grid-template-columns: 1fr; + gap: 32px; + } + +} + +@media (max-width: 768px) { + + .company { + padding: 120px 20px; + } + + .company img { + height: 220px; + } + +} + +@media (max-width: 768px) { + + .logo-track { + padding: 0 20px; + gap: 40px; + overflow-x: auto; + } + + .logo-track img { + width: 160px; + flex-shrink: 0; + } + +} + +@media (max-width: 768px) { + + .content-box { + width: 100%; + } + + .contact-options { + flex-direction: row; + gap: 12px; + } + +} + +@media (max-width: 768px) { + + .footer-grid { + grid-template-columns: 1fr; + gap: 40px; + text-align: left; + } + + #footer-logo { + width: 200px; + } + +} + +@media (max-width: 768px) { + + header { + height: 80px; + } + + .nav { + padding: 0 20px; + } + + .logo img { + height: 36px; + } + +} + +/* ===================== +FOOTER RESPONSIVE +===================== */ + +/* Tablet / kleine Desktop-Viewports */ +@media (max-width: 1200px) { + footer { + padding-left: 80px; + padding-right: 80px; + } + + .footer-grid { + grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); + gap: 32px; + } +} + +/* Tablet / kleiner */ +@media (max-width: 1024px) { + footer { + padding-left: 48px; + padding-right: 48px; + } + + .footer-grid { + grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); + gap: 24px; + } +} + +/* Mobile */ +@media (max-width: 768px) { + footer { + padding: 80px 20px; + } + + .footer-grid { + grid-template-columns: 1fr; + gap: 32px; + text-align: left; + } + + #footer-logo { + width: 200px; /* Logo kleiner auf Mobile */ + } +} + +/* ===================== +FOOTER LOGO SPACING +===================== */ + +#footer-logo { + margin-bottom: 40px; /* Mindestabstand zu den Footer-Links */ +} + +/* Auf kleineren Viewports ggf. Abstand vergrößern */ +@media (max-width: 1024px) { + #footer-logo { + margin-bottom: 48px; + } +} + +@media (max-width: 768px) { + #footer-logo { + margin-bottom: 56px; + } +} + + +/* ===================== +RESPONSIVE: 881px & BELOW +===================== */ +@media (max-width: 881px) { + + /* ===== SECTIONS PADDING ===== */ + section, + footer { + padding-left: 20px; + padding-right: 20px; + box-sizing: border-box; + } + + /* ===== HERO ===== */ + .hero { + height: 80vh; + padding: 5vw; + } + + .hero-title { + font-size: clamp(28px, 6vw, 48px); + } + + .hero-subline { + font-size: clamp(12px, 3vw, 16px); + } + + /* ===== SERVICES GRID ===== */ + .services-grid { + grid-template-columns: 1fr; /* single column */ + gap: 32px; + } + + .service-box { + min-height: auto; + } + + /* ===== NEWS SLIDES ===== */ + .news-slide { + grid-template-columns: 1fr; /* single column */ + height: auto; + } + + .news-media { + clip-path: none; + height: 260px; + } + + .news-content { + padding: 16px 0; + } + + /* ===== COMPANY ===== */ + .company { + padding: 80px 20px; + } + + .company-text { + grid-template-columns: 1fr; /* stack text */ + gap: 32px; + } + + .company img { + height: 220px; + } + + /* ===== CLIENTS ===== */ + .logo-track { + padding: 0 20px; + gap: 40px; + overflow-x: auto; + } + + .logo-track img { + width: 160px; + flex-shrink: 0; + } + + /* ===== CONTACT ===== */ + .content-box { + width: 100%; + } + + .contact-options { + flex-direction: column; + gap: 12px; + } + + /* ===== FOOTER ===== */ + footer { + padding: 60px 20px; + } + + .footer-grid { + grid-template-columns: 1fr; + gap: 32px; + text-align: left; + } + + #footer-logo { + width: 200px; + margin-bottom: 56px; + } +} + +/* ===================== +TINY MOBILE FIX: 320px & below +===================== */ +@media (max-width: 320px) { + + /* Sections & footer */ + section:not(.hero), + footer { + padding-left: 16px !important; + padding-right: 16px !important; + } + + /* Hero */ + .hero { + height: 70vh !important; + padding: 4vw !important; + } + + .hero-title { + font-size: clamp(24px, 6vw, 36px) !important; + } + + .hero-subline { + font-size: clamp(10px, 3vw, 14px) !important; + line-height: 1.5 !important; + } + + .hero-overlay { + max-width: 90% !important; + padding: 8px !important; + } + + /* Services grid */ + .services-grid { + grid-template-columns: 1fr !important; + gap: 24px !important; + padding-left: 8px !important; + padding-right: 8px !important; + } + + .service-box { + min-height: auto !important; + } + + /* News slides */ + .news-slide { + grid-template-columns: 1fr !important; + height: auto !important; + } + + .news-media { + clip-path: none !important; + height: 200px !important; + } + + .news-content { + padding: 12px 0 !important; + } + + /* Company section */ + .company { + padding: 60px 16px !important; + } + + .company-text { + grid-template-columns: 1fr !important; + gap: 24px !important; + } + + .company img { + height: auto !important; + } + + /* Clients / logo track */ + .logo-track { + padding: 0 8px !important; + gap: 16px !important; + overflow-x: auto !important; + } + + .logo-track img { + width: 120px !important; + flex-shrink: 0 !important; + } + + /* Contact */ + .content-box { + width: 100% !important; + } + + .contact-options { + flex-direction: column !important; + gap: 8px !important; + } + + /* Footer */ + footer { + padding: 40px 16px !important; + } + + .footer-grid { + grid-template-columns: 1fr !important; + gap: 24px !important; + } + + #footer-logo { + width: 160px !important; + margin-bottom: 40px !important; + } + + /* Header/nav */ + header { + height: 70px !important; + } + + .nav { + padding: 0 16px !important; + } + + .logo img { + height: 30px !important; + } +} \ No newline at end of file diff --git a/data/content.json b/data/content.json new file mode 100644 index 0000000..8445968 --- /dev/null +++ b/data/content.json @@ -0,0 +1,15 @@ +{ + "news": [ + { + "title": { + "de": "Neue Röstung", + "en": "New Roast" + }, + "text": { + "de": "Unsere neue Kaffeemischung ist da.", + "en": "Our new coffee blend has arrived." + }, + "image": "/assets/IMG_News1.png" + } + ] +} \ No newline at end of file diff --git a/index.html b/index.html new file mode 100644 index 0000000..fab513d --- /dev/null +++ b/index.html @@ -0,0 +1,294 @@ + + + + + +endex + + + + + + + + +
+ +
+ + +
+
+

endex

+

+ endex makes geodata useful in the real world.
+ We work across the full geospatial value chain, from capturing data
+ to delivering clear insights that support better decisions. +

+ + + Erfahre mehr zu uns + +
+
+ + + +
+
+

Aktuelle News

+
+
+ +
+
+ Artikel 1 +
+
+

Artikel 1 Lorem ipsum

+

H3 – Subline Lorem ipsum

+

P – Beschreibung Lorem ipsum dolor sit amet, consetetur sadipscing
+ sed diam nonumy eirmod tempor invidunt ut labore et dolore magna
+ sed diam voluptua. At vero eos et accusam et justo duo dolores et
+ kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit
+ Beschreibung Lorem ipsum dolor sit amet, consetetur sadipscing
+ nonumy eirmod tempor invidunt ut labore et dolore magna.

+
+
+
+
+ Artikel 2 +
+
+

Artikel 1 Lorem ipsum

+

H3 – Subline Lorem ipsum

+

P – Beschreibung Lorem ipsum dolor sit amet, consetetur sadipscing
+ sed diam nonumy eirmod tempor invidunt ut labore et dolore magna
+ sed diam voluptua. At vero eos et accusam et justo duo dolores et
+ kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit
+ Beschreibung Lorem ipsum dolor sit amet, consetetur sadipscing
+ kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit
+ nonumy eirmod tempor invidunt ut labore et dolore magna.

+ + Mehr dazu hier! + +
+
+
+
+ Artikel 3 +
+
+

Artikel 1 Lorem ipsum

+

H3 – Subline Lorem ipsum

+

P – Beschreibung Lorem ipsum dolor sit amet, consetetur sadipscing
+ sed diam nonumy eirmod tempor invidunt ut labore et dolore magna
+ sed diam voluptua. At vero eos et accusam et justo duo dolores et
+ nonumy eirmod tempor invidunt ut labore et dolore magna.

+
+
+
+ +
+
+
+
+ + + + + +
+
+

Unsere Services

+

Topline (kurze Beschreibung, Slogan, etc.)

+
+
+ +
+ +

Inspektion von Bauwerken & Technischen Anlagen

+
+

+ • Detektion von Funktionsstörungen und Wärmebrücken (z.B Solarparks, Gebäudedämmung)
+ • Flächen- und Volumenberechnung (z.B. Solarpotential, Haufwerksgröße von Abfall-, Roh- und Baustoffen)
+ • Detektion von Leckagen (z.B. Wasserleitungen, Deichanlagen)
+ • Visualisierung für vereinfachte Inspektion und Wartung (z.B. Straßen und Brücken, Windparks, Hochspannungsleitungen) +

+
+ +
+ +

Kartierung von Land- & Wasserflächen

+
+

+ • Umweltplanung (z.B. Artenschutz, Biotoptypen, Archäo- und Neobiota)
+ • Dokumentation von Vitalität für Land- und Forstwirtschaft (z.B. Bewässerung, Pflanzenschutz, Nährstoffbedarf, Totholz)
+ • Dokumentation von langfristigen Veränderungen (z.B. Desertifikation, Subsidenz, Wiedervernässung)
+ • Dokumentation von kurzfristigen Veränderungen (z.B. Gewässerqualität, Katastrophenmanagement, Schadenanalyse) +

+
+ +
+ +

Verarbeitung & Auswertung von Geodaten

+
+

+ • Aufbereitung von digitalen Höhenmodellen (z.B. DGM1, DOM1, nDOM1)
+ • Aufbereitung von digitalen Orthophotos (z.B. DOP10, DOP20)
+ • Vegetationsdetektierung für Baumkataster (z.B. Baumart, Baumgröße)
+ • Landnutzungsklassifizierung (z.B. Versiegelungsanalyse) +

+
+
+
+ + + + + +
+
+ +

Das Unternehmen

+

Topline (kurze Beschreibung, Slogan, etc.)

+ +
+

+ Ausführliche Beschreibung Lorem ipsum dolor sit amet, consetetur nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, at vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd takimata sanctus est Lorem ipsum dolor sit amet. Ausführliche sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor dolore magna aliquyam erat, sed diam. +

+ Ausführliche Beschreibung Lorem ipsum dolor sit amet, consetetur nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, at vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd takimata sanctus est Lorem ipsum dolor sit amet. Ausführliche sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor dolore magna aliquyam erat. +

+
+ +
+
+ + + +
+
+ + + +
+

Unsere Kundschaft

+
+
+ + + + +
+
+
+ + +
+

Bereit mit uns zu Arbeiten?

+

+ Wir freuen uns über deine Projektanfragen lorem ipsum dolor sit amet,
+ consetetur sadipscing elitr. +

+
+

Kontakt

+ + +
+ + LinkedIn +
+
+ + Schicke uns eine Mail + +
+ + +
+

Jobs und Karriere

+

Wir suchen… /Topline (kurze Beschreibung, Slogan, etc.)

+

• Stellenbeschreibung
+ • etc.
+ • etc.
+ • etc.
+
+ Ansprechpartner, etc. Lorem ipsum dolor sit amet, consetetur sadipscing elitr,
+ sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat,
+ sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum.
+ Stet clita kasd gubergren, no sea takimata sanctus est

+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/js/.DS_Store b/js/.DS_Store new file mode 100644 index 0000000..5008ddf Binary files /dev/null and b/js/.DS_Store differ diff --git a/js/script.js b/js/script.js new file mode 100644 index 0000000..a380b84 --- /dev/null +++ b/js/script.js @@ -0,0 +1,263 @@ +/* ===================================================== +GLOBAL STATE +===================================================== */ + +let index = 0; +let track; +let dots = []; + + +/* ===================================================== +DOM CONTENT LOADED +===================================================== */ + +document.addEventListener("DOMContentLoaded", () => { + initServices(); + initNavigation(); + initNewsSlider(); +}); + + +/* ===================================================== +SERVICES EXPAND / COLLAPSE +===================================================== */ + +function initServices() { + + const boxes = document.querySelectorAll(".service-box"); + + boxes.forEach(box => { + + const arrow = box.querySelector(".service-arrow"); + const text = box.querySelector(".service-text"); + + let closeTimeout; + + arrow.addEventListener("click", () => { + + boxes.forEach(b => { + if (b !== box) b.classList.remove("open"); + if (b.closeTimeout) clearTimeout(b.closeTimeout); + }); + + box.classList.toggle("open"); + }); + + /* AUTO CLOSE */ + box.addEventListener("mouseleave", () => { + if (box.classList.contains("open")) { + box.classList.add("closing"); + + closeTimeout = setTimeout(() => { + box.classList.remove("open"); + }, 600); + + box.closeTimeout = closeTimeout; + } + }); + + /* CANCEL CLOSE */ + box.addEventListener("mouseenter", () => { + if (closeTimeout) clearTimeout(closeTimeout); + box.classList.remove("closing"); + }); + + /* CLEANUP CLASS */ + text.addEventListener("transitionend", e => { + if ( + e.propertyName === "max-height" && + box.classList.contains("closing") + ) { + box.classList.remove("closing"); + } + }); + }); +} + + +/* ===================================================== +SCROLL TO TOP +===================================================== */ + +function scrollToTop() { + window.scrollTo({ + top: 0, + behavior: "smooth" + }); +} + + +/* ===================================================== +MOBILE BURGER MENU +===================================================== */ + +function toggleBurger() { + document.querySelector(".nav").classList.toggle("open"); +} + + +/* ===================================================== +ACTIVE NAVIGATION SCROLL +===================================================== */ + +function initNavigation() { + + const sections = document.querySelectorAll("section"); + const navLinks = document.querySelectorAll(".nav-links a"); + + window.addEventListener("scroll", () => { + + let current = ""; + + sections.forEach(section => { + const top = section.offsetTop - 120; + + if (window.scrollY >= top) { + current = section.getAttribute("id"); + } + }); + + navLinks.forEach(link => { + link.classList.remove("active"); + + if (link.getAttribute("href") === "#" + current) { + link.classList.add("active"); + } + }); + }); +} + + +/* ===================================================== +NEWS SLIDER +===================================================== */ + +function initNewsSlider() { + + track = document.querySelector(".news-track"); + const slider = document.querySelector(".news-slider"); + const dotsContainer = document.querySelector(".news-dots"); + const slides = document.querySelectorAll(".news-slide"); + + if (!track || !dotsContainer || slides.length === 0) return; + + let autoSlide; + const INTERVAL = 8000; // 8 sec + + /* ------------------------- + CREATE DOTS + ------------------------- */ + + dotsContainer.innerHTML = ""; + dots = []; + + slides.forEach((slide, i) => { + const dot = document.createElement("div"); + dot.classList.add("news-dot"); + if (i === 0) dot.classList.add("active"); + + dot.addEventListener("click", () => { + index = i; + updateSlider(); + restartAutoSlide(); + }); + + dotsContainer.appendChild(dot); + dots.push(dot); + }); + + /* ------------------------- + UPDATE SLIDER + ------------------------- */ + + function updateSlider() { + track.style.transform = `translateX(-${index * 100}%)`; + + dots.forEach((dot, i) => + dot.classList.toggle("active", i === index) + ); + } + + /* ------------------------- + AUTO LOOP + ------------------------- */ + + function startAutoSlide() { + autoSlide = setInterval(() => { + index++; + + if (index >= slides.length) { + index = 0; // LOOP BACK + } + + updateSlider(); + }, INTERVAL); + } + + function stopAutoSlide() { + clearInterval(autoSlide); + } + + function restartAutoSlide() { + stopAutoSlide(); + startAutoSlide(); + } + +/* ------------------------- +PAUSE ON HOVER +------------------------- */ + +const newsSection = document.querySelector("#news"); + +newsSection.addEventListener("mouseenter", () => { + stopAutoSlide(); +}); + +newsSection.addEventListener("mouseleave", () => { + startAutoSlide(); +}); + + /* ------------------------- + TOUCH SUPPORT + ------------------------- */ + + let startX = 0; + let isDragging = false; + + track.addEventListener("touchstart", e => { + startX = e.touches[0].clientX; + isDragging = true; + stopAutoSlide(); + }); + + track.addEventListener("touchmove", e => { + if (!isDragging) return; + + const delta = e.touches[0].clientX - startX; + + track.style.transition = "none"; + track.style.transform = + `translateX(calc(-${index * 100}% + ${delta}px))`; + }); + + track.addEventListener("touchend", e => { + + isDragging = false; + track.style.transition = "transform 0.6s ease"; + + const delta = e.changedTouches[0].clientX - startX; + + if (delta > 50 && index > 0) index--; + else if (delta < -50 && index < slides.length - 1) index++; + + updateSlider(); + restartAutoSlide(); + }); + + /* ------------------------- + INIT + ------------------------- */ + + updateSlider(); + startAutoSlide(); +} \ No newline at end of file diff --git a/legal/.DS_Store b/legal/.DS_Store new file mode 100644 index 0000000..5008ddf Binary files /dev/null and b/legal/.DS_Store differ diff --git a/legal/legals.html b/legal/legals.html new file mode 100644 index 0000000..e116977 --- /dev/null +++ b/legal/legals.html @@ -0,0 +1,118 @@ + + + + + + endex Datenschutz + + + + + + + +
+

Impressum

+

Dienstanbieter

+

endex Geodaten
+ Musterstr. 123
+ 12345, Musterstadt
+ Deutschland

+ +

Kontaktmöglichkeiten

+

E-Mail-Adresse: info@endex.com
+ Telefon: 0129132123124

+ +

Angaben zum Unternehmen

+

Infos nötig!!!!

+ +

Social Media und andere Onlinepräsenzen

+

Dieses Impressum gilt auch für die folgenden Social-Media-Präsenzen und Onlineprofile:
+ https://www.linkedin.com/company/endex-geo/posts/?feedView=all

+
+ + +
+

Datenschutzerklärung

+ +

§ 1 Allgemeine Informationen

+

In dieser Datenschutzerklärung finden Sie detaillierte Informationen darüber, was mit Ihren persönlichen Daten geschieht,
+ wenn Sie unsere Website https://endex-geodaten.de/ besuchen. Alle Daten, die eine persönliche Identifizierung Ihrerseits
+ ermöglichen, sind personenbezogene Daten. Bei der Verarbeitung Ihrer Daten halten wir uns strikt an die gesetzlichen
+ Vorgaben, insbesondere die Datenschutzgrundverordnung („DSGVO“). Uns ist es sehr wichtig, dass Ihr Besuch auf unserer
+ Website vollkommen sicher ist.

+ +

§ 2 Verantwortliche Stelle

+

Die Verantwortung für die Erhebung und Verarbeitung personenbezogener Daten auf dieser Website liegt datenschutzrechtlich bei:

+ + +

§ 3 Soziale Medien

+

A. LinkedIn Plugin

+

Auf unserer Website sind Funktionen des sozialen Netzwerks LinkedIn integriert.
+ Anbieter ist die LinkedIn Corporation, 2029 Stierlin Court, Mountain View, CA 94043, USA („LinkedIn“).

+ + +

§ 4 Kontaktaufnahme

+

Wenn Sie mit uns Kontakt aufnehmen (z. B. per E-Mail), werden die dabei übermittelten Daten gespeichert, um Ihre Anfrage zu bearbeiten

+ + +

§ 5 Verwendung und Weitergabe von Daten

+ + +

§ 6 Verschlüsselung (SSL/TLS)

+

Unsere Website verwendet eine SSL- bzw. TLS-Verschlüsselung, erkennbar an „https://“ und dem Schloss-Symbol in der Adresszeile.
+ Dies stellt sicher, dass übermittelte Daten nicht von unbefugten Dritten mitgelesen werden können.

+ +

§ 7 Speicherdauer

+

Personenbezogene Daten werden nur so lange gespeichert, wie es zur Erreichung des jeweiligen Zwecks notwendig ist. Aufgrund handels-
+ und steuerrechtlicher Pflichten kann die Speicherung jedoch bis zu 10 Jahre betragen.

+ + +

§ 8 Ihre Datenschutzrechte

+

Als betroffene Person haben Sie folgende Rechte:

+ + + +

§ 9 Gültigkeit und Änderung

+

Diese Datenschutzerklärung tritt am 26.02.2026 in Kraft. Wir behalten uns vor, diese Erklärung bei Bedarf zu ändern, um sie neuen rechtlichen Anforderungen oder
+ technischen Änderungen anzupassen. Die jeweils aktuell auf der Website abrufbare Version ist bindend.

+
+ + \ No newline at end of file