h
This commit is contained in:
BIN
Profice WebSite/images/icons/mail.PNG
Normal file
BIN
Profice WebSite/images/icons/mail.PNG
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 3.6 MiB |
BIN
Profice WebSite/images/icons/phone.PNG
Normal file
BIN
Profice WebSite/images/icons/phone.PNG
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 8.2 KiB |
@@ -56,12 +56,6 @@
|
|||||||
<header class="top-banner dark-theme">
|
<header class="top-banner dark-theme">
|
||||||
<div class="top-banner-left">
|
<div class="top-banner-left">
|
||||||
<div class="banner-left">
|
<div class="banner-left">
|
||||||
<button class="menu-toggle" id="menuToggle" >
|
|
||||||
<span></span>
|
|
||||||
<span></span>
|
|
||||||
<span></span>
|
|
||||||
</button>
|
|
||||||
|
|
||||||
<a href="index.html" class="logo-link">
|
<a href="index.html" class="logo-link">
|
||||||
<img src="images/logo/logo-01-complete.png" alt="Profice Logo" class="logo" >
|
<img src="images/logo/logo-01-complete.png" alt="Profice Logo" class="logo" >
|
||||||
</a>
|
</a>
|
||||||
@@ -363,9 +357,9 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="pricing-benefits">
|
<div class="pricing-benefits">
|
||||||
<span class="pricing-benefit"><span class="benefit-check"></span>✓</span> Keine Mindestlaufzeit über 3 Monate</span>
|
<span class="pricing-benefit">✓ Keine Mindestlaufzeit über 3 Monate</span>
|
||||||
<span class="pricing-benefit"><span class="benefit-check">✓</span> Danach monatlich kündbar</span>
|
<span class="pricing-benefit">✓ Danach monatlich kündbar</span>
|
||||||
<span class="pricing-benefit"><span class="benefit-check">✓</span> Keine versteckten Kosten</span>
|
<span class="pricing-benefit">✓ Keine versteckten Kosten</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -374,6 +368,7 @@
|
|||||||
<!-- 3 Schritte Section -->
|
<!-- 3 Schritte Section -->
|
||||||
<section class="process-section" id="process">
|
<section class="process-section" id="process">
|
||||||
<div class="container">
|
<div class="container">
|
||||||
|
<span class="section-label">PROZESS</span>
|
||||||
<h2 class="section-headline">In 3 Schritten zum digitalen Mitarbeiter.</h2>
|
<h2 class="section-headline">In 3 Schritten zum digitalen Mitarbeiter.</h2>
|
||||||
|
|
||||||
<div class="process-line" id="processLine">
|
<div class="process-line" id="processLine">
|
||||||
@@ -413,6 +408,7 @@
|
|||||||
<!-- Ergebnisse Section -->
|
<!-- Ergebnisse Section -->
|
||||||
<section class="results-section" id="results">
|
<section class="results-section" id="results">
|
||||||
<div class="container">
|
<div class="container">
|
||||||
|
<span class="section-label">ERGEBNISSE</span>
|
||||||
<h2 class="section-headline">Messbare Ergebnisse</h2>
|
<h2 class="section-headline">Messbare Ergebnisse</h2>
|
||||||
|
|
||||||
<div class="results-grid">
|
<div class="results-grid">
|
||||||
|
|||||||
@@ -187,39 +187,102 @@ function checkRateLimit($ip) {
|
|||||||
|
|
||||||
function sendToWebhook($data, $webhookUrl = null) {
|
function sendToWebhook($data, $webhookUrl = null) {
|
||||||
$url = $webhookUrl ?? WEBHOOK_URL;
|
$url = $webhookUrl ?? WEBHOOK_URL;
|
||||||
|
$jsonData = json_encode($data);
|
||||||
|
|
||||||
$ch = curl_init();
|
// Log the attempt
|
||||||
curl_setopt_array($ch, [
|
error_log("Webhook attempt - URL: " . $url . " - Data length: " . strlen($jsonData));
|
||||||
CURLOPT_URL => $url,
|
|
||||||
CURLOPT_RETURNTRANSFER => true,
|
|
||||||
CURLOPT_POST => true,
|
|
||||||
CURLOPT_POSTFIELDS => json_encode($data),
|
|
||||||
CURLOPT_HTTPHEADER => [
|
|
||||||
'Content-Type: application/json',
|
|
||||||
'User-Agent: Profice-Web-API/2.0'
|
|
||||||
],
|
|
||||||
CURLOPT_TIMEOUT => 30,
|
|
||||||
CURLOPT_SSL_VERIFYPEER => false, // Disable SSL verification for n8n connection
|
|
||||||
CURLOPT_SSL_VERIFYHOST => false, // Disable host verification
|
|
||||||
CURLOPT_FOLLOWLOCATION => true
|
|
||||||
]);
|
|
||||||
|
|
||||||
$response = curl_exec($ch);
|
// Try cURL first if available
|
||||||
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
|
if (function_exists('curl_init')) {
|
||||||
$error = curl_error($ch);
|
$ch = curl_init();
|
||||||
$errno = curl_errno($ch);
|
curl_setopt_array($ch, [
|
||||||
curl_close($ch);
|
CURLOPT_URL => $url,
|
||||||
|
CURLOPT_RETURNTRANSFER => true,
|
||||||
|
CURLOPT_POST => true,
|
||||||
|
CURLOPT_POSTFIELDS => $jsonData,
|
||||||
|
CURLOPT_HTTPHEADER => [
|
||||||
|
'Content-Type: application/json',
|
||||||
|
'Accept: application/json',
|
||||||
|
'User-Agent: Profice-Web-API/2.0'
|
||||||
|
],
|
||||||
|
CURLOPT_TIMEOUT => 30,
|
||||||
|
CURLOPT_CONNECTTIMEOUT => 10,
|
||||||
|
CURLOPT_SSL_VERIFYPEER => false,
|
||||||
|
CURLOPT_SSL_VERIFYHOST => 0,
|
||||||
|
CURLOPT_FOLLOWLOCATION => true,
|
||||||
|
CURLOPT_MAXREDIRS => 3
|
||||||
|
]);
|
||||||
|
|
||||||
if ($error) {
|
$response = curl_exec($ch);
|
||||||
error_log("Webhook Error [$errno]: " . $error . " - URL: " . $url);
|
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
|
||||||
return ['success' => false, 'error' => $error, 'errno' => $errno, 'response' => $response];
|
$error = curl_error($ch);
|
||||||
|
$errno = curl_errno($ch);
|
||||||
|
curl_close($ch);
|
||||||
|
|
||||||
|
error_log("Webhook cURL response - HTTP: $httpCode, Error: $error, Response: " . substr($response, 0, 500));
|
||||||
|
|
||||||
|
if (!$error && $httpCode > 0) {
|
||||||
|
return [
|
||||||
|
'success' => $httpCode >= 200 && $httpCode < 300,
|
||||||
|
'http_code' => $httpCode,
|
||||||
|
'response' => $response,
|
||||||
|
'error' => $error,
|
||||||
|
'method' => 'curl'
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
error_log("Webhook cURL failed [$errno]: $error - trying file_get_contents fallback");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Fallback to file_get_contents if cURL fails or unavailable
|
||||||
|
$context = stream_context_create([
|
||||||
|
'http' => [
|
||||||
|
'method' => 'POST',
|
||||||
|
'header' => "Content-Type: application/json\r\nAccept: application/json\r\nUser-Agent: Profice-Web-API/2.0\r\n",
|
||||||
|
'content' => $jsonData,
|
||||||
|
'timeout' => 30,
|
||||||
|
'ignore_errors' => true
|
||||||
|
],
|
||||||
|
'ssl' => [
|
||||||
|
'verify_peer' => false,
|
||||||
|
'verify_peer_name' => false,
|
||||||
|
'allow_self_signed' => true
|
||||||
|
]
|
||||||
|
]);
|
||||||
|
|
||||||
|
$response = @file_get_contents($url, false, $context);
|
||||||
|
|
||||||
|
// Get HTTP response code from headers
|
||||||
|
$httpCode = 0;
|
||||||
|
if (isset($http_response_header) && is_array($http_response_header)) {
|
||||||
|
foreach ($http_response_header as $header) {
|
||||||
|
if (preg_match('/^HTTP\/\d+\.?\d*\s+(\d+)/', $header, $matches)) {
|
||||||
|
$httpCode = (int)$matches[1];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
error_log("Webhook file_get_contents response - HTTP: $httpCode, Response: " . substr($response ?: '', 0, 500));
|
||||||
|
|
||||||
|
if ($response !== false) {
|
||||||
|
return [
|
||||||
|
'success' => $httpCode >= 200 && $httpCode < 300,
|
||||||
|
'http_code' => $httpCode,
|
||||||
|
'response' => $response,
|
||||||
|
'error' => null,
|
||||||
|
'method' => 'file_get_contents'
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
$lastError = error_get_last();
|
||||||
|
error_log("Webhook all methods failed - Last error: " . json_encode($lastError));
|
||||||
|
|
||||||
return [
|
return [
|
||||||
'success' => $httpCode >= 200 && $httpCode < 300,
|
'success' => false,
|
||||||
'http_code' => $httpCode,
|
'error' => $lastError['message'] ?? 'All HTTP methods failed',
|
||||||
'response' => $response,
|
'errno' => 0,
|
||||||
'error' => $error
|
'response' => null,
|
||||||
|
'method' => 'none'
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -145,10 +145,16 @@ class KIChat {
|
|||||||
this.isTyping = true;
|
this.isTyping = true;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const response = await fetch('/scripts/add/send.php', {
|
// Use relative path that works from any page location
|
||||||
|
const basePath = window.location.pathname.includes('/') ?
|
||||||
|
window.location.pathname.substring(0, window.location.pathname.lastIndexOf('/') + 1) : '/';
|
||||||
|
const apiUrl = new URL('/scripts/add/send.php', window.location.origin).href;
|
||||||
|
|
||||||
|
const response = await fetch(apiUrl, {
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
headers: {
|
headers: {
|
||||||
'Content-Type': 'application/json',
|
'Content-Type': 'application/json',
|
||||||
|
'Accept': 'application/json'
|
||||||
},
|
},
|
||||||
body: JSON.stringify({
|
body: JSON.stringify({
|
||||||
type: 'chat',
|
type: 'chat',
|
||||||
|
|||||||
@@ -1,22 +1,9 @@
|
|||||||
// leads.js
|
// leads.js
|
||||||
|
|
||||||
// ==========================================
|
// ==========================================
|
||||||
// 1. MENU TOGGLE
|
// 1. MENU TOGGLE (REMOVED)
|
||||||
// ==========================================
|
// ==========================================
|
||||||
const menuToggle = document.getElementById('menuToggle');
|
// Menu toggle functionality has been removed
|
||||||
const slideMenu = document.getElementById('slideMenu');
|
|
||||||
const overlay = document.getElementById('overlay');
|
|
||||||
|
|
||||||
if (menuToggle && slideMenu && overlay) {
|
|
||||||
function toggleMenu() {
|
|
||||||
menuToggle.classList.toggle('active');
|
|
||||||
slideMenu.classList.toggle('active');
|
|
||||||
overlay.classList.toggle('active');
|
|
||||||
}
|
|
||||||
|
|
||||||
menuToggle.addEventListener('click', toggleMenu);
|
|
||||||
overlay.addEventListener('click', toggleMenu);
|
|
||||||
}
|
|
||||||
|
|
||||||
// ==========================================
|
// ==========================================
|
||||||
// 2. LEADS TABLE LOGIC
|
// 2. LEADS TABLE LOGIC
|
||||||
|
|||||||
@@ -199,22 +199,10 @@ document.addEventListener("DOMContentLoaded", function() {
|
|||||||
initPhoneCallFunctionality();
|
initPhoneCallFunctionality();
|
||||||
|
|
||||||
// ==========================================
|
// ==========================================
|
||||||
// 2. MENU TOGGLE
|
// 2. MENU TOGGLE (REMOVED)
|
||||||
// ==========================================
|
// ==========================================
|
||||||
|
|
||||||
const menuToggle = document.getElementById('menuToggle');
|
// Menu toggle functionality has been removed
|
||||||
const slideMenu = document.getElementById('slideMenu');
|
|
||||||
const overlay = document.getElementById('overlay');
|
|
||||||
|
|
||||||
if (menuToggle && slideMenu && overlay) {
|
|
||||||
const toggleMenu = () => {
|
|
||||||
menuToggle.classList.toggle('active');
|
|
||||||
slideMenu.classList.toggle('active');
|
|
||||||
overlay.classList.toggle('active');
|
|
||||||
};
|
|
||||||
menuToggle.addEventListener('click', toggleMenu);
|
|
||||||
overlay.addEventListener('click', toggleMenu);
|
|
||||||
}
|
|
||||||
|
|
||||||
// ==========================================
|
// ==========================================
|
||||||
// 3. LOGIN BUTTON (REMOVED)
|
// 3. LOGIN BUTTON (REMOVED)
|
||||||
|
|||||||
@@ -8,7 +8,6 @@ body.system-cursor button,
|
|||||||
body.system-cursor input,
|
body.system-cursor input,
|
||||||
body.system-cursor textarea,
|
body.system-cursor textarea,
|
||||||
body.system-cursor select,
|
body.system-cursor select,
|
||||||
body.system-cursor .menu-toggle,
|
|
||||||
body.system-cursor label,
|
body.system-cursor label,
|
||||||
body.system-cursor [role="button"],
|
body.system-cursor [role="button"],
|
||||||
body.system-cursor [onclick],
|
body.system-cursor [onclick],
|
||||||
@@ -24,7 +23,6 @@ body:not(.system-cursor) button,
|
|||||||
body:not(.system-cursor) input,
|
body:not(.system-cursor) input,
|
||||||
body:not(.system-cursor) textarea,
|
body:not(.system-cursor) textarea,
|
||||||
body:not(.system-cursor) select,
|
body:not(.system-cursor) select,
|
||||||
body:not(.system-cursor) .menu-toggle,
|
|
||||||
body:not(.system-cursor) label,
|
body:not(.system-cursor) label,
|
||||||
body:not(.system-cursor) [role="button"],
|
body:not(.system-cursor) [role="button"],
|
||||||
body:not(.system-cursor) [onclick],
|
body:not(.system-cursor) [onclick],
|
||||||
@@ -38,7 +36,6 @@ body:not(.system-cursor) button,
|
|||||||
body:not(.system-cursor) .btn,
|
body:not(.system-cursor) .btn,
|
||||||
body:not(.system-cursor) .offer-card,
|
body:not(.system-cursor) .offer-card,
|
||||||
body:not(.system-cursor) .service-card,
|
body:not(.system-cursor) .service-card,
|
||||||
body:not(.system-cursor) .menu-toggle,
|
|
||||||
body:not(.system-cursor) #cursorToggle {
|
body:not(.system-cursor) #cursorToggle {
|
||||||
cursor: none !important;
|
cursor: none !important;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,10 +3,10 @@
|
|||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
gap: 10px;
|
gap: 8px;
|
||||||
height: 100px;
|
height: 80px;
|
||||||
margin-top: 80px;
|
margin-top: 80px;
|
||||||
margin-bottom: 30px;
|
margin-bottom: 20px;
|
||||||
opacity: 1;
|
opacity: 1;
|
||||||
transition: opacity 0.3s ease;
|
transition: opacity 0.3s ease;
|
||||||
}
|
}
|
||||||
@@ -16,21 +16,21 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.sound-bar {
|
.sound-bar {
|
||||||
width: 10px;
|
width: 8px;
|
||||||
background: linear-gradient(to top, var(--accent-orange), var(--accent-teal));
|
background: linear-gradient(to top, var(--accent-orange), var(--accent-teal));
|
||||||
border-radius: 5px;
|
border-radius: 4px;
|
||||||
animation: soundWave 1.2s ease-in-out infinite;
|
animation: soundWave 1.2s ease-in-out infinite;
|
||||||
transform-origin: bottom;
|
transform-origin: bottom;
|
||||||
}
|
}
|
||||||
|
|
||||||
.sound-bar:nth-child(1) { animation-delay: 0s; height: 25px; }
|
.sound-bar:nth-child(1) { animation-delay: 0s; height: 20px; }
|
||||||
.sound-bar:nth-child(2) { animation-delay: 0.1s; height: 40px; }
|
.sound-bar:nth-child(2) { animation-delay: 0.1s; height: 32px; }
|
||||||
.sound-bar:nth-child(3) { animation-delay: 0.2s; height: 32px; }
|
.sound-bar:nth-child(3) { animation-delay: 0.2s; height: 26px; }
|
||||||
.sound-bar:nth-child(4) { animation-delay: 0.3s; height: 50px; }
|
.sound-bar:nth-child(4) { animation-delay: 0.3s; height: 40px; }
|
||||||
.sound-bar:nth-child(5) { animation-delay: 0.4s; height: 40px; }
|
.sound-bar:nth-child(5) { animation-delay: 0.4s; height: 32px; }
|
||||||
.sound-bar:nth-child(6) { animation-delay: 0.5s; height: 28px; }
|
.sound-bar:nth-child(6) { animation-delay: 0.5s; height: 24px; }
|
||||||
.sound-bar:nth-child(7) { animation-delay: 0.6s; height: 45px; }
|
.sound-bar:nth-child(7) { animation-delay: 0.6s; height: 36px; }
|
||||||
.sound-bar:nth-child(8) { animation-delay: 0.7s; height: 35px; }
|
.sound-bar:nth-child(8) { animation-delay: 0.7s; height: 28px; }
|
||||||
|
|
||||||
@keyframes soundWave {
|
@keyframes soundWave {
|
||||||
0%, 100% {
|
0%, 100% {
|
||||||
@@ -181,27 +181,6 @@ body {
|
|||||||
height: 40px;
|
height: 40px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.menu-toggle {
|
|
||||||
background: transparent;
|
|
||||||
border: 2px solid var(--primary-dark);
|
|
||||||
color: var(--primary-dark);
|
|
||||||
width: 45px;
|
|
||||||
height: 45px;
|
|
||||||
border-radius: 12px;
|
|
||||||
cursor: pointer;
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
justify-content: center;
|
|
||||||
align-items: center;
|
|
||||||
transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
|
|
||||||
}
|
|
||||||
|
|
||||||
.top-banner.scrolled .menu-toggle,
|
|
||||||
.top-banner.scrolled #cursorToggle {
|
|
||||||
width: 35px;
|
|
||||||
height: 35px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.opening-hours {
|
.opening-hours {
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
color: var(--primary-mid);
|
color: var(--primary-mid);
|
||||||
@@ -408,22 +387,6 @@ body {
|
|||||||
transition: font-size 0.25s cubic-bezier(0.4, 0, 0.2, 1), padding 0.25s cubic-bezier(0.4, 0, 0.2, 1);
|
transition: font-size 0.25s cubic-bezier(0.4, 0, 0.2, 1), padding 0.25s cubic-bezier(0.4, 0, 0.2, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
.menu-toggle {
|
|
||||||
background: transparent;
|
|
||||||
border: 2px solid var(--primary-dark);
|
|
||||||
color: var(--primary-dark);
|
|
||||||
width: 45px;
|
|
||||||
height: 45px;
|
|
||||||
border-radius: 12px;
|
|
||||||
cursor: pointer;
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
align-items: center;
|
|
||||||
justify-content: center;
|
|
||||||
gap: 5px;
|
|
||||||
transition: background 0.3s ease, color 0.3s ease, width 0.25s cubic-bezier(0.4, 0, 0.2, 1), height 0.25s cubic-bezier(0.4, 0, 0.2, 1);
|
|
||||||
}
|
|
||||||
|
|
||||||
#cursorToggle {
|
#cursorToggle {
|
||||||
background: transparent;
|
background: transparent;
|
||||||
border: 2px solid var(--primary-dark);
|
border: 2px solid var(--primary-dark);
|
||||||
@@ -447,7 +410,6 @@ body {
|
|||||||
opacity: 1 !important;
|
opacity: 1 !important;
|
||||||
filter: none !important;
|
filter: none !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
#cursorToggle:hover {
|
#cursorToggle:hover {
|
||||||
background: var(--primary-dark);
|
background: var(--primary-dark);
|
||||||
}
|
}
|
||||||
@@ -457,90 +419,6 @@ body {
|
|||||||
opacity: 1 !important;
|
opacity: 1 !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.menu-toggle:hover {
|
|
||||||
background: var(--primary-dark);
|
|
||||||
}
|
|
||||||
|
|
||||||
.menu-toggle:hover span {
|
|
||||||
background: var(--primary-light);
|
|
||||||
}
|
|
||||||
|
|
||||||
.menu-toggle span {
|
|
||||||
display: block;
|
|
||||||
width: 20px;
|
|
||||||
height: 2px;
|
|
||||||
background: var(--primary-dark);
|
|
||||||
border-radius: 2px;
|
|
||||||
transition: all 0.3s ease;
|
|
||||||
}
|
|
||||||
|
|
||||||
.menu-toggle.active {
|
|
||||||
background: var(--primary-dark);
|
|
||||||
}
|
|
||||||
|
|
||||||
.menu-toggle.active span {
|
|
||||||
background: var(--primary-light);
|
|
||||||
}
|
|
||||||
|
|
||||||
.menu-toggle.active span:nth-child(1) {
|
|
||||||
transform: rotate(45deg) translate(5px, 5px);
|
|
||||||
}
|
|
||||||
|
|
||||||
.menu-toggle.active span:nth-child(2) {
|
|
||||||
opacity: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.menu-toggle.active span:nth-child(3) {
|
|
||||||
transform: rotate(-45deg) translate(5px, -5px);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Slide Menu */
|
|
||||||
.slide-menu {
|
|
||||||
position: fixed;
|
|
||||||
top: 110px;
|
|
||||||
left: -280px;
|
|
||||||
width: 280px;
|
|
||||||
background: white;
|
|
||||||
box-shadow: 4px 0 25px rgba(79, 71, 71, 0.15);
|
|
||||||
border-radius: 0 20px 20px 0;
|
|
||||||
padding: 30px 0;
|
|
||||||
transition: left 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94), top 0.3s ease;
|
|
||||||
z-index: 1000;
|
|
||||||
}
|
|
||||||
|
|
||||||
.top-banner.scrolled ~ .slide-menu,
|
|
||||||
.top-banner.scrolled + .overlay + .slide-menu {
|
|
||||||
top: 80px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.slide-menu.active {
|
|
||||||
left: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.slide-menu a {
|
|
||||||
display: block;
|
|
||||||
padding: 18px 30px;
|
|
||||||
color: var(--primary-dark);
|
|
||||||
text-decoration: none;
|
|
||||||
font-size: 17px;
|
|
||||||
font-weight: 500;
|
|
||||||
transition: all 0.3s ease;
|
|
||||||
border-left: 4px solid transparent;
|
|
||||||
}
|
|
||||||
|
|
||||||
.slide-menu a:hover {
|
|
||||||
background: var(--primary-light);
|
|
||||||
border-left-color: var(--accent-teal);
|
|
||||||
padding-left: 40px;
|
|
||||||
color: var(--accent-teal);
|
|
||||||
}
|
|
||||||
|
|
||||||
.slide-menu a.active {
|
|
||||||
background: var(--primary-light);
|
|
||||||
border-left-color: var(--accent-teal);
|
|
||||||
color: var(--accent-teal);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Main Content */
|
/* Main Content */
|
||||||
.main-content {
|
.main-content {
|
||||||
max-width: 700px;
|
max-width: 700px;
|
||||||
@@ -801,22 +679,6 @@ body {
|
|||||||
color: var(--primary-light);
|
color: var(--primary-light);
|
||||||
}
|
}
|
||||||
|
|
||||||
.top-banner.dark-theme .menu-toggle {
|
|
||||||
border-color: var(--primary-light);
|
|
||||||
}
|
|
||||||
|
|
||||||
.top-banner.dark-theme .menu-toggle span {
|
|
||||||
background: var(--primary-light);
|
|
||||||
}
|
|
||||||
|
|
||||||
.top-banner.dark-theme .menu-toggle:hover {
|
|
||||||
background: var(--primary-light);
|
|
||||||
}
|
|
||||||
|
|
||||||
.top-banner.dark-theme .menu-toggle:hover span {
|
|
||||||
background: var(--primary-dark);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* 2. Home Page Layout */
|
/* 2. Home Page Layout */
|
||||||
.home-content {
|
.home-content {
|
||||||
max-width: 1200px;
|
max-width: 1200px;
|
||||||
@@ -1200,21 +1062,6 @@ body {
|
|||||||
height: 32px;
|
height: 32px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.menu-toggle {
|
|
||||||
width: 38px;
|
|
||||||
height: 38px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.top-banner.scrolled .menu-toggle {
|
|
||||||
width: 32px;
|
|
||||||
height: 32px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#cursorToggle {
|
|
||||||
width: 38px;
|
|
||||||
height: 38px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.top-banner.scrolled #cursorToggle {
|
.top-banner.scrolled #cursorToggle {
|
||||||
width: 32px;
|
width: 32px;
|
||||||
height: 32px;
|
height: 32px;
|
||||||
@@ -1248,7 +1095,6 @@ body {
|
|||||||
height: 28px;
|
height: 28px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.menu-toggle,
|
|
||||||
#cursorToggle {
|
#cursorToggle {
|
||||||
width: 34px;
|
width: 34px;
|
||||||
height: 34px;
|
height: 34px;
|
||||||
@@ -1956,8 +1802,7 @@ body {
|
|||||||
display: block;
|
display: block;
|
||||||
color: var(--accent-teal);
|
color: var(--accent-teal);
|
||||||
font-size: 0.85rem;
|
font-size: 0.85rem;
|
||||||
font-weight: 600;
|
font-weight: 500;
|
||||||
letter-spacing: 1px;
|
|
||||||
margin-bottom: 15px;
|
margin-bottom: 15px;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1965,6 +1810,14 @@ body {
|
|||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.process-section .section-label {
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.results-section .section-label {
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
.problems-headline {
|
.problems-headline {
|
||||||
font-size: 2.5rem;
|
font-size: 2.5rem;
|
||||||
color: var(--primary-dark);
|
color: var(--primary-dark);
|
||||||
|
|||||||
Reference in New Issue
Block a user