diff --git a/Dekra WebSite/images/LKW1.png b/Dekra WebSite/images/LKW1.png new file mode 100644 index 0000000..2bdce0f Binary files /dev/null and b/Dekra WebSite/images/LKW1.png differ diff --git a/Dekra WebSite/truck-country-dekra-ci_1.html b/Dekra WebSite/truck-country-dekra-ci_1.html new file mode 100644 index 0000000..b1fc61a --- /dev/null +++ b/Dekra WebSite/truck-country-dekra-ci_1.html @@ -0,0 +1,1497 @@ + + + + + +Truck & Country Festival 2026 – DEKRA Lausitzring + + + + + + + + + + +
+
+ + Trucks und Offroad-Fahrzeuge auf dem DEKRA Lausitzring +
+
+ +
+
DEKRA Lausitzring · Klettwitz
+

+ Truck &
+ Country
Festival
+

+
8. – 9. August 2026
+
+ 🏆 EM Truck Trial + 🎵 Live Country Music + 🚛 Show & Shine Contest + 🏕️ Camping vor Ort +
+ +
+ +
+ Scroll +
+
+
+ + +
+
+
Countdown zum Festival
+
+
+
+
000
+
Tage
+
+
:
+
+
00
+
Stunden
+
+
:
+
+
00
+
Minuten
+
+
:
+
+
00
+
Sekunden
+
+
+ Frühbucherticket → +
+ + +
+
+
+ +

Das Festival

+

+ Trucks, Offroad-Action, Country-Atmosphäre und unvergessliche Erlebnisse – + ein Wochenende für die ganze Familie auf dem DEKRA Lausitzring. +

+
+
+
+
+ 🏆 +

Truck Trial EM

+

Internationale Teams steuern tonnenschwere LKW durch technisch anspruchsvolle Parcours mit Steilhängen, Gräben und Hindernissen.

+
+
+ 🎵 +

Country Village

+

Live-Musik, Line-Dance, Western-Spiele und Marktstände – echte Country-Atmosphäre mit Bands den ganzen Tag.

+
+
+ 🚛 +

Show & Shine

+

Der Truck-Contest für die schönsten Showtrucks – Publikumsvoting, attraktive Preise und jede Menge Chrom.

+
+
+ 🦅 +

Falknerei-Show

+

Beeindruckende Greifvogel-Flugshows mit Kommentar – Naturerlebnis mitten auf dem Festivalgelände.

+
+
+ 🪓 +

Kettensägenkunst

+

Live-Schnitzvorführungen – Kunstwerke entstehen direkt vor den Augen der Besucher.

+
+
+ 🛒 +

Aussteller & Händler

+

Trucks, Technik, Outdoor und Lifestyle – ein großer Marktbereich rund um die Leidenschaft für LKW und Country.

+
+
+ 🏕️ +

Truck & Country Camp

+

Übernachte direkt auf dem Gelände – Camping für Besucher und eigene LKW-Stellflächen inklusive.

+
+
+ 👨‍👩‍👧‍👦 +

Familienprogramm

+

Erlebnisbereiche für Besucher jeden Alters – von Kindern bis Truck-Fans, hier ist für alle etwas dabei.

+
+
+
+ + +
+
Ablauf
+

Programm 2026

+
+
+
Tag 1
+
Samstag, 8. August
+
+
09:00
+
+

Einlass & Truck Parade

+

Einfahrt der gemeldeten Trucks, Aufstellung zum Show & Shine

+
+
+
+
10:30
+
+

Truck Trial EM – Runde 1

+

Qualifikationsläufe mit internationalem Starterfeld

+
+
+
+
13:00
+
+

Country Village eröffnet

+

Live-Musik, Line-Dance, Marktstände, Falknerei-Show

+
+
+
+
15:00
+
+

Kettensägenkunst Live

+

Vorführung auf der Hauptbühne

+
+
+
+
17:30
+
+

Show & Shine Voting

+

Publikumsvoting für die schönsten Showtrucks

+
+
+
+
20:00
+
+

Country Night

+

Liveband auf der Hauptbühne, Tanz & Lagerfeueratmosphäre

+
+
+
+
+
Tag 2
+
Sonntag, 9. August
+
+
09:00
+
+

Einlass & Frühstück im Camp

+

Camping-Bereich erwacht, Food-Village öffnet

+
+
+
+
10:00
+
+

Truck Trial EM – Finaltag

+

Entscheidungsläufe – Spannung bis zum letzten Meter

+
+
+
+
12:00
+
+

Falknerei & Naturshow

+

Greifvogel-Flugshow mit Kommentar

+
+
+
+
14:00
+
+

Show & Shine Siegerehrung

+

Preisverleihung der Truck-Kategorien

+
+
+
+
15:30
+
+

EM Siegerehrung

+

Podium, Pokalvergabe, Ehrungsrunde der Trucks

+
+
+
+
17:00
+
+

Abschluss & Ausfahrt

+

Große Truck-Parade als würdiger Abschluss des Wochenendes

+
+
+
+
+
+ + +
+
+ + Truck Trial Aktion auf dem DEKRA Lausitzring +
+
+
+ + + +

Erlebe es
selbst

+

Tonnenschwere LKW, Country-Flair und ein Wochenende, das unvergessen bleibt – bist du dabei?

+ Ticket sichern – 8. & 9. August 2026 +
+
+ + +
+
Eintritt
+

Tickets & Preise

+

Ticketinformationen werden in Kürze veröffentlicht. Jetzt vormerken und als Erster informiert werden.

+
+
+
Einzeltag
+

Tagesticket

+
ab € 19
+
pro Person, Vorverkauf
+
    +
  • Eintritt 1 Tag (Sa. oder So.)
  • +
  • Truck Trial EM
  • +
  • Country Village & Bühne
  • +
  • Alle Showbereiche
  • +
+ Zum Ticketshop +
+ +
+
Camper
+

Camping + Ticket

+
ab € 55
+
Wochenende inkl. Stellplatz
+
    +
  • Wochenendticket inklusive
  • +
  • Campingstellplatz Fr.–So.
  • +
  • Anreise bereits Freitag
  • +
  • LKW-Stellflächen verfügbar
  • +
  • Sanitäranlagen vor Ort
  • +
+ Zum Ticketshop +
+
+
+ + +
+
+ +

Anfahrt & Location

+
+
+ 📍 +
+

DEKRA Lausitzring

+

Lausitzring 1 · 01994 Klettwitz
Brandenburg, Deutschland

+
+
+
+ 🚗 +
+

Mit dem PKW

+

A13 · Ausfahrt Ruhland. Beschilderung ab Autobahnabfahrt. Großes Parkgelände direkt am Ring.

+
+
+
+ 🚛 +
+

Truck-Zufahrt

+

Eigene LKW-Zufahrt für Ausfahrer und Showtrucks. Anmeldung im Voraus erforderlich.

+
+
+
+ 🚌 +
+

ÖPNV & Shuttle

+

Shuttlebus ab Bahnhof Ruhland geplant. Weitere Infos folgen zeitnah.

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

Frühzeitig informiert sein

+

Lineup, Tickets & News als Erster erhalten – jetzt eintragen.

+
+
+
+
+ + +
+

Ich stimme der Verarbeitung meiner Daten gemäß Datenschutzerklärung zu. Abmeldung jederzeit möglich.

+
+
+
+ + + + + + + + + + + + + diff --git a/Dekra WebSite/videos/Warm_summer_country_202602231631_09uyk.mp4 b/Dekra WebSite/videos/Warm_summer_country_202602231631_09uyk.mp4 new file mode 100644 index 0000000..5ca2780 Binary files /dev/null and b/Dekra WebSite/videos/Warm_summer_country_202602231631_09uyk.mp4 differ diff --git a/Profice WebSite/fonts/montserrat-bold.ttf b/Profice WebSite/fonts/montserrat-bold.ttf new file mode 100644 index 0000000..7aac846 Binary files /dev/null and b/Profice WebSite/fonts/montserrat-bold.ttf differ diff --git a/Profice WebSite/fonts/montserrat-regular.ttf b/Profice WebSite/fonts/montserrat-regular.ttf new file mode 100644 index 0000000..e06c427 Binary files /dev/null and b/Profice WebSite/fonts/montserrat-regular.ttf differ diff --git a/Profice WebSite/images/icons/CRM.png b/Profice WebSite/images/icons/CRM.png new file mode 100644 index 0000000..97d03c5 Binary files /dev/null and b/Profice WebSite/images/icons/CRM.png differ diff --git a/Profice WebSite/images/icons/KI.png b/Profice WebSite/images/icons/KI.png new file mode 100644 index 0000000..366fed4 Binary files /dev/null and b/Profice WebSite/images/icons/KI.png differ diff --git a/Profice WebSite/images/icons/chat.png b/Profice WebSite/images/icons/chat.png new file mode 100644 index 0000000..5622bd6 Binary files /dev/null and b/Profice WebSite/images/icons/chat.png differ diff --git a/Profice WebSite/images/icons/email.png b/Profice WebSite/images/icons/email.png new file mode 100644 index 0000000..7db28d0 Binary files /dev/null and b/Profice WebSite/images/icons/email.png differ diff --git a/Profice WebSite/images/icons/email_black.png b/Profice WebSite/images/icons/email_black.png new file mode 100644 index 0000000..e22a726 Binary files /dev/null and b/Profice WebSite/images/icons/email_black.png differ diff --git a/Profice WebSite/images/icons/email_white.png b/Profice WebSite/images/icons/email_white.png new file mode 100644 index 0000000..4f97632 Binary files /dev/null and b/Profice WebSite/images/icons/email_white.png differ diff --git a/Profice WebSite/images/icons/phone_icon.png b/Profice WebSite/images/icons/phone_icon.png new file mode 100644 index 0000000..ddc33e1 Binary files /dev/null and b/Profice WebSite/images/icons/phone_icon.png differ diff --git a/Profice WebSite/images/icons/phone_white.png b/Profice WebSite/images/icons/phone_white.png new file mode 100644 index 0000000..a477bb3 Binary files /dev/null and b/Profice WebSite/images/icons/phone_white.png differ diff --git a/Profice WebSite/images/icons/spider.png b/Profice WebSite/images/icons/spider.png new file mode 100644 index 0000000..e569ba2 Binary files /dev/null and b/Profice WebSite/images/icons/spider.png differ diff --git a/Profice WebSite/images/icons/team.png b/Profice WebSite/images/icons/team.png new file mode 100644 index 0000000..83bc027 Binary files /dev/null and b/Profice WebSite/images/icons/team.png differ diff --git a/Profice WebSite/images/icons/ticket.png b/Profice WebSite/images/icons/ticket.png new file mode 100644 index 0000000..f1555b4 Binary files /dev/null and b/Profice WebSite/images/icons/ticket.png differ diff --git a/Profice WebSite/index.html b/Profice WebSite/index.html index 5ae13c3..28a36ca 100644 --- a/Profice WebSite/index.html +++ b/Profice WebSite/index.html @@ -29,16 +29,14 @@ - - - - + + @@ -74,7 +72,7 @@
@@ -113,7 +111,7 @@
-
🤖
+ KI
KI ASSISTENT
@@ -121,35 +119,35 @@
-
📞
+ Phone
Telefon
-
💬
+ Chat
Website Chat
-
📊
+ CRM
CRM
-
🎫
+ Ticket
Ticketsystem
-
👥
+ Team
Team
@@ -169,7 +167,7 @@
- 📞 + Phone

KI-Telefonassistent

Rufen Sie jetzt an und erleben Sie, wie unsere KI Ihr Anliegen aufnimmt und verarbeitet.

@@ -192,7 +190,7 @@
- 💬 + Chat

KI-Chat

Stellen Sie eine Frage – die KI antwortet sofort und qualifiziert Ihr Anliegen.

@@ -492,11 +490,11 @@ @@ -534,7 +532,6 @@ - diff --git a/Profice WebSite/scripts/console-image.js b/Profice WebSite/scripts/console-image.js deleted file mode 100644 index 6f2e05e..0000000 --- a/Profice WebSite/scripts/console-image.js +++ /dev/null @@ -1,3 +0,0 @@ -(function() { - // Empty script -})(); diff --git a/Profice WebSite/scripts/cursor.js b/Profice WebSite/scripts/cursor.js index 503a321..928cc48 100644 --- a/Profice WebSite/scripts/cursor.js +++ b/Profice WebSite/scripts/cursor.js @@ -38,7 +38,7 @@ document.addEventListener("DOMContentLoaded", function () { // Check if we're on a page in the sites/ folder const currentPath = window.location.pathname; const isInSitesFolder = currentPath.includes('/sites/'); - const imagePath = isInSitesFolder ? '../images/additional/spidy.png' : 'images/additional/spidy.png'; + const imagePath = isInSitesFolder ? '../images/icons/spider.png' : 'images/icons/spider.png'; newIcon.src = imagePath; icon.parentNode.replaceChild(newIcon, icon); @@ -46,7 +46,7 @@ document.addEventListener("DOMContentLoaded", function () { // Update existing img const currentPath = window.location.pathname; const isInSitesFolder = currentPath.includes('/sites/'); - const imagePath = isInSitesFolder ? '../images/additional/spidy.png' : 'images/additional/spidy.png'; + const imagePath = isInSitesFolder ? '../images/icons/spider.png' : 'images/icons/spider.png'; icon.src = imagePath; } } diff --git a/Profice WebSite/scripts/tech-onepager.js b/Profice WebSite/scripts/tech-onepager.js index 5879f5c..7b70e10 100644 --- a/Profice WebSite/scripts/tech-onepager.js +++ b/Profice WebSite/scripts/tech-onepager.js @@ -650,5 +650,5 @@ document.addEventListener('DOMContentLoaded', function() { window.addEventListener('scroll', requestTick, { passive: true }); // ===== INITIALIZATION COMPLETE ===== - console.log('Tech-Onepager initialized successfully'); + //console.log('Tech-Onepager initialized successfully'); }); diff --git a/Profice WebSite/scripts/tech-onepager.min.js b/Profice WebSite/scripts/tech-onepager.min.js deleted file mode 100644 index 8c6caa5..0000000 --- a/Profice WebSite/scripts/tech-onepager.min.js +++ /dev/null @@ -1 +0,0 @@ -document.addEventListener('DOMContentLoaded', function(){// ===== SYSTEM GRAPHIC ANIMATIONS ===== const systemGraphic = document.getElementById('systemGraphic');const connections = document.getElementById('connections');const dataPoints = document.getElementById('dataPoints');if (systemGraphic && connections && dataPoints){initializeSystemGraphic();}function initializeSystemGraphic(){const nodes = systemGraphic.querySelectorAll('.node');const centralNode = systemGraphic.querySelector('.central-node');// Draw connection lines drawConnections();// Create animated data points createDataPoints();// Add node interactions nodes.forEach(node =>{node.addEventListener('mouseenter', function(){activateConnection(this);});node.addEventListener('mouseleave', function(){deactivateConnections();});// Special handling for central node if (node.classList.contains('central-node')){node.addEventListener('click', function(){triggerCentralNode(this);});}});// Scroll-based activation setupScrollActivation();}function drawConnections(){const centralNode = systemGraphic.querySelector('.central-node');const otherNodes = systemGraphic.querySelectorAll('.node:not(.central-node)');const centralRect = centralNode.getBoundingClientRect();const graphicRect = systemGraphic.getBoundingClientRect();const centerX = centralRect.left - graphicRect.left + centralRect.width / 2;const centerY = centralRect.top - graphicRect.top + centralRect.height / 2;connections.innerHTML = '';otherNodes.forEach(node =>{const nodeRect = node.getBoundingClientRect();const nodeX = nodeRect.left - graphicRect.left + nodeRect.width / 2;const nodeY = nodeRect.top - graphicRect.top + nodeRect.height / 2;const line = document.createElementNS('http://www.w3.org/2000/svg', 'line');line.setAttribute('x1', centerX);line.setAttribute('y1', centerY);line.setAttribute('x2', nodeX);line.setAttribute('y2', nodeY);line.setAttribute('class', 'connection-line');line.setAttribute('data-target', node.dataset.node);connections.appendChild(line);});}function createDataPoints(){setInterval(() =>{if (Math.random() > 0.7){const dataPoint = document.createElement('div');dataPoint.className = 'data-point';const startNode = systemGraphic.querySelectorAll('.node:not(.central-node)')[ Math.floor(Math.random() * 5) ];const centralNode = systemGraphic.querySelector('.central-node');const startRect = startNode.getBoundingClientRect();const centralRect = centralNode.getBoundingClientRect();const graphicRect = systemGraphic.getBoundingClientRect();const startX = startRect.left - graphicRect.left + startRect.width / 2;const startY = startRect.top - graphicRect.top + startRect.height / 2;const endX = centralRect.left - graphicRect.left + centralRect.width / 2;const endY = centralRect.top - graphicRect.top + centralRect.height / 2;dataPoint.style.left = startX + 'px';dataPoint.style.top = startY + 'px';dataPoints.appendChild(dataPoint);// Animate along path animateDataPoint(dataPoint, startX, startY, endX, endY);// Remove after animation setTimeout(() =>{dataPoint.remove();}, 3000);}}, 800);}function animateDataPoint(point, startX, startY, endX, endY){const duration = 3000;const startTime = Date.now();function animate(){const elapsed = Date.now() - startTime;const progress = Math.min(elapsed / duration, 1);const easeProgress = 1 - Math.pow(1 - progress, 3);// Ease out cubic const currentX = startX + (endX - startX) * easeProgress;const currentY = startY + (endY - startY) * easeProgress;point.style.left = currentX + 'px';point.style.top = currentY + 'px';if (progress < 1){requestAnimationFrame(animate);}}requestAnimationFrame(animate);}function triggerCentralNode(node){// Add triggered class for growth animation node.classList.add('triggered');// Activate all connections const lines = connections.querySelectorAll('.connection-line');lines.forEach((line, index) =>{setTimeout(() =>{line.classList.add('active');}, index * 100);});// Remove triggered class after animation setTimeout(() =>{node.classList.remove('triggered');// Deactivate connections setTimeout(() =>{lines.forEach(line => line.classList.remove('active'));}, 500);}, 2000);}function activateConnection(node){const targetNode = node.dataset.node;const line = connections.querySelector(`[data-target="${targetNode}"]`);if (line){line.classList.add('active');}}function deactivateConnections(){const lines = connections.querySelectorAll('.connection-line');lines.forEach(line => line.classList.remove('active'));}function setupScrollActivation(){const observer = new IntersectionObserver((entries) =>{entries.forEach(entry =>{if (entry.isIntersecting){const lines = connections.querySelectorAll('.connection-line');lines.forEach((line, index) =>{setTimeout(() =>{line.classList.add('active');setTimeout(() =>{line.classList.remove('active');}, 2000);}, index * 200);});}});},{threshold: 0.5});observer.observe(systemGraphic);}// ===== PROCESS LINE ANIMATION ===== const processLine = document.getElementById('processLine');const processSteps = document.querySelectorAll('.process-step');const processConnectors = document.querySelectorAll('.process-connector');const stepDetails = document.querySelectorAll('.step-detail');if (processLine){setupProcessAnimation();}function setupProcessAnimation(){const observer = new IntersectionObserver((entries) =>{entries.forEach(entry =>{if (entry.isIntersecting){animateProcessLine();observer.unobserve(entry.target);}});},{threshold: 0.3});observer.observe(processLine);}function animateProcessLine(){// Animate connectors sequentially processConnectors.forEach((connector, index) =>{setTimeout(() =>{connector.classList.add('active');}, 500 + (index * 500));});// Activate steps sequentially processSteps.forEach((step, index) =>{setTimeout(() =>{step.classList.add('active');activateStepDetail(index + 1);}, 200 + (index * 500));});}function activateStepDetail(stepNumber){const detail = document.querySelector(`[data-step-detail="${stepNumber}"]`);if (detail){setTimeout(() =>{detail.classList.add('active');}, 300);}}// Step click interactions processSteps.forEach((step, index) =>{step.addEventListener('click', () =>{// Reset all steps processSteps.forEach(s => s.classList.remove('active'));processConnectors.forEach(c => c.classList.remove('active'));stepDetails.forEach(d => d.classList.remove('active'));// Activate up to clicked step for (let i = 0;i <= index;i++){processSteps[i].classList.add('active');activateStepDetail(i + 1);if (i < processConnectors.length){processConnectors[i].classList.add('active');}}});});// ===== INTERACTION CARD ANIMATIONS ===== const phoneInteraction = document.getElementById('phoneInteraction');const chatInteraction = document.getElementById('chatInteraction');if (phoneInteraction){setupPhoneInteraction();}if (chatInteraction){setupChatInteraction();}function setupPhoneInteraction(){const microphone = phoneInteraction.querySelector('.microphone');const pulseRing = phoneInteraction.querySelector('.pulse-ring');if (microphone && pulseRing){microphone.addEventListener('mouseenter', () =>{pulseRing.style.animation = 'pulse 0.8s infinite';});microphone.addEventListener('mouseleave', () =>{pulseRing.style.animation = 'pulse 2s infinite';});microphone.addEventListener('click', () =>{// Simulate phone call initiation microphone.style.transform = 'scale(0.95)';setTimeout(() =>{microphone.style.transform = 'scale(1.1)';setTimeout(() =>{microphone.style.transform = 'scale(1)';}, 200);}, 100);// Show feedback showInteractionFeedback('KI Telefon wird verbunden...');});}}function setupChatInteraction(){const chatWindow = chatInteraction.querySelector('.chat-window');const typingIndicator = chatInteraction.querySelector('.typing-indicator');if (chatWindow && typingIndicator){chatInteraction.addEventListener('mouseenter', () =>{// Start typing animation const spans = typingIndicator.querySelectorAll('span');spans.forEach((span, index) =>{span.style.animation = 'typing 1.4s infinite ease-in-out';span.style.animationDelay = `${-0.32 + (index * 0.16)}s`;});});const chatBtn = chatInteraction.querySelector('.interaction-btn.secondary');if (chatBtn){chatBtn.addEventListener('click', () =>{showInteractionFeedback('KI Chat wird gestartet...');});}}}function showInteractionFeedback(message){// Create temporary feedback element const feedback = document.createElement('div');feedback.style.cssText = ` position: fixed;top: 100px;left: 50%;transform: translateX(-50%);background: var(--accent-teal);color: white;padding: 16px 24px;border-radius: 8px;font-weight: 600;z-index: 10000;box-shadow: 0 8px 30px rgba(38, 166, 154, 0.4);animation: slideDown 0.3s ease;`;feedback.textContent = message;document.body.appendChild(feedback);setTimeout(() =>{feedback.style.animation = 'slideUp 0.3s ease';setTimeout(() =>{feedback.remove();}, 300);}, 2000);}// ===== HERO BUTTON INTERACTIONS ===== const kiPhoneBtn = document.getElementById('kiPhoneBtn');const chatBtn = document.getElementById('chatBtn');if (kiPhoneBtn){kiPhoneBtn.addEventListener('click', () =>{showInteractionFeedback('KI Telefon wird verbunden...');// Scroll to interaction section document.getElementById('interaction')?.scrollIntoView({behavior: 'smooth', block: 'center'});});}if (chatBtn){chatBtn.addEventListener('click', () =>{showInteractionFeedback('KI Chat wird gestartet...');// Scroll to interaction section document.getElementById('interaction')?.scrollIntoView({behavior: 'smooth', block: 'center'});});}// ===== SYSTEM CARD HOVER EFFECTS ===== const systemCards = document.querySelectorAll('.system-card');systemCards.forEach(card =>{card.addEventListener('mouseenter', function(){// Add subtle glow effect this.style.boxShadow = '0 20px 40px rgba(38, 166, 154, 0.15)';});card.addEventListener('mouseleave', function(){this.style.boxShadow = '0 12px 30px rgba(79, 71, 71, 0.1)';});});// ===== DATA CARD ANIMATIONS ===== const dataCards = document.querySelectorAll('.data-card');const dataCardObserver = new IntersectionObserver((entries) =>{entries.forEach((entry, index) =>{if (entry.isIntersecting){setTimeout(() =>{entry.target.style.animation = 'fadeInUp 0.6s ease forwards';}, index * 100);dataCardObserver.unobserve(entry.target);}});},{threshold: 0.1});dataCards.forEach(card =>{dataCardObserver.observe(card);});// ===== SMOOTH SCROLL FOR INTERNAL LINKS ===== document.querySelectorAll('a[href^="#"]').forEach(anchor =>{anchor.addEventListener('click', function (e){e.preventDefault();const target = document.querySelector(this.getAttribute('href'));if (target){target.scrollIntoView({behavior: 'smooth', block: 'start'});}});});// ===== UTILITY ANIMATIONS ===== // Add CSS animations dynamically const style = document.createElement('style');style.textContent = ` @keyframes slideDown{from{opacity: 0;transform: translate(-50%, -20px);}to{opacity: 1;transform: translate(-50%, 0);}}@keyframes slideUp{from{opacity: 1;transform: translate(-50%, 0);}to{opacity: 0;transform: translate(-50%, -20px);}}@keyframes fadeInUp{from{opacity: 0;transform: translateY(30px);}to{opacity: 1;transform: translateY(0);}}`;document.head.appendChild(style);// ===== PERFORMANCE OPTIMIZATION ===== // Throttle scroll events let ticking = false;function requestTick(){if (!ticking){requestAnimationFrame(updateScrollEffects);ticking = true;setTimeout(() =>{ticking = false;}, 16);}}function updateScrollEffects(){// Add scroll-based effects here if needed // Parallax, fade-ins, etc.}window.addEventListener('scroll', requestTick,{passive: true});// ===== INITIALIZATION COMPLETE ===== console.log('Tech-Onepager initialized successfully');}); \ No newline at end of file diff --git a/Profice WebSite/style/design.css b/Profice WebSite/style/design.css index e8a9029..2e3b8d1 100644 --- a/Profice WebSite/style/design.css +++ b/Profice WebSite/style/design.css @@ -59,7 +59,7 @@ margin: 0; padding: 0; box-sizing: border-box; - font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; + font-family: 'Montserrat', 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; } body { @@ -403,8 +403,8 @@ body { } .cursor-icon { - width: 60px; - height: 60px; + width: 56px; + height: 56px; object-fit: contain; transition: opacity 0.3s ease; opacity: 1 !important; @@ -990,7 +990,6 @@ body { .pricing-card ul { list-style: none; - text-align: left; } .pricing-card li { @@ -1101,8 +1100,8 @@ body { } .cursor-icon { - width: 28px; - height: 28px; + width: 26px; + height: 26px; } } diff --git a/Profice WebSite/style/fonts.css b/Profice WebSite/style/fonts.css new file mode 100644 index 0000000..d65579e --- /dev/null +++ b/Profice WebSite/style/fonts.css @@ -0,0 +1,17 @@ +/* Local Montserrat Font Declaration */ + +@font-face { + font-family: 'Montserrat'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url('../fonts/montserrat-regular.ttf') format('truetype'); +} + +@font-face { + font-family: 'Montserrat'; + font-style: normal; + font-weight: 700; + font-display: swap; + src: url('../fonts/montserrat-bold.ttf') format('truetype'); +} diff --git a/Profice WebSite/style/tech-onepager.css b/Profice WebSite/style/tech-onepager.css index 86209b2..a34db9f 100644 --- a/Profice WebSite/style/tech-onepager.css +++ b/Profice WebSite/style/tech-onepager.css @@ -43,7 +43,7 @@ line-height: 1.2; color: var(--primary-dark); margin-bottom: 24px; - font-family: 'Segoe UI', system-ui, sans-serif; + font-family: 'Montserrat', 'Segoe UI', system-ui, sans-serif; } .hero-subline { @@ -157,15 +157,18 @@ position: absolute; background: rgba(255, 255, 255, 0.95); border: 2px solid var(--primary-mid); - border-radius: 12px; - padding: 16px; - min-width: 120px; + border-radius: 8px; + padding: 4px; + min-width: 40px; + width: 40px; + height: 120px; text-align: center; backdrop-filter: blur(15px); transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94); cursor: pointer; z-index: 3; box-shadow: 0 4px 20px rgba(79, 71, 71, 0.1); + overflow: visible; } .node:hover {