This commit is contained in:
2026-02-05 11:53:21 +01:00
parent afcbd07d56
commit 1ff8454432
37 changed files with 5462 additions and 3491 deletions

View File

@@ -1,307 +0,0 @@
/* Cookie Consent System - Matches Profice Design System */
/* Cookie Banner */
.cookie-banner {
position: fixed;
bottom: 0;
left: 0;
right: 0;
background: var(--primary-light);
border-top: 1px solid var(--primary-mid);
padding: 20px 40px;
z-index: 10000;
box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.1);
transform: translateY(100%);
transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.cookie-banner.show {
transform: translateY(0);
}
.cookie-banner-content {
max-width: 1200px;
margin: 0 auto;
display: flex;
align-items: center;
justify-content: space-between;
gap: 30px;
}
.cookie-text {
flex: 1;
color: var(--primary-dark);
font-size: 14px;
line-height: 1.5;
}
.cookie-text h3 {
margin: 0 0 8px 0;
font-size: 16px;
font-weight: 600;
color: var(--primary-dark);
}
.cookie-text p {
margin: 0;
opacity: 0.8;
}
.cookie-text a {
color: var(--accent-teal);
text-decoration: none;
font-weight: 500;
}
.cookie-text a:hover {
text-decoration: underline;
}
.cookie-buttons {
display: flex;
gap: 12px;
align-items: center;
}
.cookie-btn {
padding: 10px 20px;
border: none;
border-radius: 8px;
font-size: 14px;
font-weight: 500;
cursor: pointer;
transition: all 0.3s ease;
text-decoration: none;
display: inline-block;
}
.cookie-btn-primary {
background: var(--primary-dark);
color: var(--primary-light);
}
.cookie-btn-primary:hover {
background: var(--primary-mid);
transform: translateY(-1px);
}
.cookie-btn-secondary {
background: transparent;
color: var(--primary-dark);
border: 2px solid var(--primary-mid);
}
.cookie-btn-secondary:hover {
background: var(--primary-mid);
color: var(--primary-light);
}
.cookie-btn-settings {
background: transparent;
color: var(--accent-teal);
border: none;
text-decoration: underline;
font-size: 14px;
padding: 5px 0;
}
.cookie-btn-settings:hover {
color: var(--primary-dark);
}
/* Cookie Settings Modal */
.cookie-modal {
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: rgba(0, 0, 0, 0.5);
z-index: 10001;
display: flex;
align-items: center;
justify-content: center;
opacity: 0;
visibility: hidden;
transition: all 0.3s ease;
}
.cookie-modal.show {
opacity: 1;
visibility: visible;
}
.cookie-modal-content {
background: var(--primary-light);
border-radius: 12px;
padding: 30px;
max-width: 600px;
width: 90%;
max-height: 80vh;
overflow-y: auto;
transform: scale(0.9);
transition: transform 0.3s ease;
}
.cookie-modal.show .cookie-modal-content {
transform: scale(1);
}
.cookie-modal-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 20px;
padding-bottom: 15px;
border-bottom: 1px solid var(--primary-mid);
}
.cookie-modal-title {
font-size: 20px;
font-weight: 600;
color: var(--primary-dark);
margin: 0;
}
.cookie-modal-close {
background: none;
border: none;
font-size: 24px;
color: var(--primary-mid);
cursor: pointer;
padding: 0;
width: 30px;
height: 30px;
display: flex;
align-items: center;
justify-content: center;
border-radius: 50%;
transition: all 0.3s ease;
}
.cookie-modal-close:hover {
background: var(--primary-mid);
color: var(--primary-light);
}
.cookie-option {
margin-bottom: 20px;
padding: 15px;
border: 1px solid var(--primary-mid);
border-radius: 8px;
background: rgba(255, 255, 255, 0.5);
}
.cookie-option-header {
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 8px;
}
.cookie-option-title {
font-weight: 600;
color: var(--primary-dark);
margin: 0;
}
.cookie-option-description {
color: var(--primary-mid);
font-size: 14px;
line-height: 1.4;
margin: 0;
}
.cookie-toggle {
position: relative;
width: 50px;
height: 26px;
background: var(--primary-mid);
border-radius: 13px;
cursor: pointer;
transition: background 0.3s ease;
}
.cookie-toggle.active {
background: var(--accent-teal);
}
.cookie-toggle-slider {
position: absolute;
top: 3px;
left: 3px;
width: 20px;
height: 20px;
background: white;
border-radius: 50%;
transition: transform 0.3s ease;
}
.cookie-toggle.active .cookie-toggle-slider {
transform: translateX(24px);
}
.cookie-toggle.disabled {
opacity: 0.5;
cursor: not-allowed;
}
.cookie-modal-footer {
display: flex;
justify-content: flex-end;
gap: 12px;
margin-top: 25px;
padding-top: 20px;
border-top: 1px solid var(--primary-mid);
}
/* Responsive Design */
@media (max-width: 768px) {
.cookie-banner {
padding: 15px 20px;
}
.cookie-banner-content {
flex-direction: column;
gap: 20px;
text-align: center;
}
.cookie-buttons {
flex-direction: column;
width: 100%;
gap: 10px;
}
.cookie-btn {
width: 100%;
text-align: center;
}
.cookie-modal-content {
padding: 20px;
margin: 20px;
}
.cookie-modal-footer {
flex-direction: column;
}
.cookie-btn {
width: 100%;
}
}
@media (max-width: 480px) {
.cookie-text h3 {
font-size: 14px;
}
.cookie-text p {
font-size: 13px;
}
.cookie-modal-content {
padding: 15px;
}
}

View File

@@ -32,9 +32,9 @@ body:not(.system-cursor) label {
width: 100%;
height: 100%;
pointer-events: none;
z-index: 9999;
z-index: 999999;
mix-blend-mode: normal;
display: none; /* Hidden by default */
display: none;
}
/* Show custom cursor only when not system cursor */

View File

@@ -20,7 +20,7 @@ body {
min-height: 100vh;
}
/* Top Banner */
/* Top Banner - Ultra Smooth Performance */
.top-banner {
background-color: var(--primary-light);
color: var(--primary-dark);
@@ -29,50 +29,99 @@ body {
display: flex;
align-items: center;
justify-content: space-between;
position: sticky;
position: fixed;
top: 0;
left: 0;
right: 0;
z-index: 1001;
border-bottom: 1px solid #4f47471a;
transition: height 0.25s cubic-bezier(0.4, 0, 0.2, 1),
padding 0.25s cubic-bezier(0.4, 0, 0.2, 1);
will-change: height, padding;
border-bottom: 3px solid var(--accent-orange);
overflow: hidden;
/* Ultra-smooth transitions with hardware acceleration */
transition: height 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94),
padding 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94),
background-color 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
/* Performance optimizations */
will-change: height, padding, transform;
transform: translateZ(0);
backface-visibility: hidden;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
contain: layout style paint;
/* Prevent sub-pixel rendering issues */
box-shadow: 0 0 0 rgba(0,0,0,0);
}
/* Scrolled state with smooth transitions */
.top-banner.scrolled {
height: 70px;
padding: 5px 30px;
background-color: rgba(235, 235, 222, 0.95);
backdrop-filter: blur(10px);
-webkit-backdrop-filter: blur(10px);
box-shadow: 0 2px 20px rgba(79, 71, 71, 0.1);
}
/* Fast scroll state for velocity-based transitions */
.top-banner.fast-scroll {
transition-duration: 0.2s;
}
/* Light blink effect for top banner */
.top-banner::before {
content: '';
position: absolute;
top: 0;
left: -100%;
width: 100%;
height: 2px;
background: var(--accent-orange);
animation: lightBlink 3s ease-in-out infinite;
z-index: 1;
pointer-events: none;
}
@keyframes lightBlink {
0% {
left: -100%;
opacity: 0;
}
10% {
opacity: 1;
}
90% {
opacity: 1;
}
100% {
left: 100%;
opacity: 0;
}
}
.top-banner-left {
display: flex;
align-items: center;
flex: 1;
position: relative;
z-index: 2;
}
.top-banner-center {
display: flex;
justify-content: center;
flex: 2;
position: relative;
z-index: 2;
}
.top-banner-right {
display: flex;
justify-content: flex-end;
flex: 1;
}
.top-banner.scrolled {
padding: 2px 30px;
height: 60px;
}
.top-banner.scrolled .menu-toggle,
.top-banner.scrolled #cursorToggle {
width: 35px;
height: 35px;
}
.top-banner.scrolled .opening-hours {
font-size: 12px;
padding: 8px 15px;
position: relative;
z-index: 2;
}
.banner-left {
@@ -85,9 +134,62 @@ body {
margin-right: 15px;
}
.search-container {
.logo-link {
text-decoration: none;
display: flex;
align-items: center;
gap: 0;
margin-left: 0;
margin-right: 15px;
}
.logo {
height: 50px;
width: auto;
transition: height 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
will-change: height;
}
.top-banner.scrolled .logo {
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);
will-change: width, height;
}
.top-banner.scrolled .menu-toggle,
.top-banner.scrolled #cursorToggle {
width: 35px;
height: 35px;
}
.opening-hours {
font-size: 14px;
color: var(--primary-mid);
background: rgba(79, 71, 71, 0.08);
padding: 10px 20px;
border-radius: 25px;
transition: font-size 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94),
padding 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
will-change: font-size, padding;
}
.top-banner.scrolled .opening-hours {
font-size: 12px;
padding: 8px 15px;
background: rgba(255, 255, 255, 0.1);
border: 1px solid rgba(255, 255, 255, 0.2);
border-radius: 25px;
@@ -656,7 +758,7 @@ body {
.top-banner.dark-theme {
background-color: var(--primary-dark);
color: var(--primary-light);
border-bottom: 1px solid rgba(235, 235, 222, 0.1);
border-bottom: 3px solid var(--accent-orange);
}
.top-banner.dark-theme .company-name {
@@ -692,6 +794,21 @@ body {
transition: padding-top 0.2s ease-out;
}
/* Green Highlight Box */
.green-highlight-box {
display: inline-block;
background: rgba(34, 197, 94, 0.5); /* 50% transparent green */
padding: 8px 16px 8px 16px;
border-radius: 8px;
color: var(--primary-dark);
font-weight: 500;
backdrop-filter: blur(2px);
border: 1px solid rgba(34, 197, 94, 0.3);
box-shadow: 0 2px 8px rgba(34, 197, 94, 0.2);
margin-right: 80px; /* Move even further to the left */
position: relative;
}
/* Hero Section */
.hero-section {
display: flex;
@@ -1039,4 +1156,339 @@ body {
.opening-hours {
display: none;
}
}
/* Footer Banner Styles */
.footer-banner {
background: #2a2a2a !important;
color: var(--primary-light) !important;
padding: 60px 0 30px;
margin: 80px 0 0 0;
border-top: 3px solid var(--accent-orange);
width: 100%;
position: relative;
overflow: hidden;
}
.footer-banner::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 1px;
background: linear-gradient(90deg, transparent, var(--accent-orange), transparent);
animation: shimmer 3s infinite;
}
@keyframes shimmer {
0% { transform: translateX(-100%); }
100% { transform: translateX(100%); }
}
.footer-container {
max-width: 1200px;
margin: 0 auto;
padding: 0 40px;
position: relative;
z-index: 1;
}
.footer-content {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 40px;
width: 100%;
margin-bottom: 40px;
align-items: start;
}
.footer-section {
display: flex;
flex-direction: column;
gap: 20px;
}
.footer-logo {
margin-bottom: 15px;
}
.footer-logo-img {
height: 40px;
width: auto;
filter: brightness(0) invert(1);
opacity: 0.9;
}
.footer-description p {
line-height: 1.6;
opacity: 0.8;
font-size: 14px;
margin: 0;
}
.footer-title {
color: var(--accent-orange);
font-size: 16px;
margin: 0 0 15px 0;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 1px;
}
.footer-nav {
display: flex;
flex-direction: column;
gap: 12px;
}
.footer-link {
color: var(--primary-light);
text-decoration: none;
font-size: 14px;
opacity: 0.7;
transition: all 0.3s ease;
position: relative;
padding-left: 0;
}
.footer-link:hover {
opacity: 1;
color: var(--accent-orange);
transform: translateX(5px);
}
.footer-link::before {
content: '▸';
position: absolute;
left: -15px;
opacity: 0;
transition: opacity 0.3s ease;
color: var(--accent-orange);
}
.footer-link:hover::before {
opacity: 1;
}
.footer-contact {
display: flex;
flex-direction: column;
gap: 12px;
margin-bottom: 20px;
}
.contact-item {
display: flex;
align-items: center;
gap: 12px;
font-size: 14px;
opacity: 0.8;
}
.contact-icon {
font-size: 16px;
width: 20px;
text-align: center;
}
.social-media {
margin-top: -10px;
}
.social-icons {
display: flex;
gap: 15px;
}
.social-link {
display: flex;
align-items: center;
justify-content: center;
color: var(--primary-light);
text-decoration: none;
width: 40px;
height: 40px;
border-radius: 8px;
transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
background: rgba(255, 255, 255, 0.05);
border: 1px solid rgba(255, 255, 255, 0.1);
backdrop-filter: blur(10px);
}
.social-link:hover {
background: var(--accent-orange);
transform: translateY(-3px) scale(1.1);
box-shadow: 0 8px 25px rgba(245, 124, 0, 0.3);
}
.social-link:hover svg {
filter: brightness(0) invert(1);
}
.social-link.instagram:hover {
background: linear-gradient(45deg, #E4405F, #C13584, #833AB4);
border-color: transparent;
}
.social-link.linkedin:hover {
background: #0077B5;
border-color: transparent;
}
.social-link img {
width: 40px;
height: 40px;
border-radius: 8px;
transition: transform 0.3s ease;
}
.social-link svg {
width: 16px;
height: 16px;
transition: transform 0.3s ease;
}
.social-link.facebook:hover svg {
filter: brightness(0) invert(1);
}
.social-link.instagram:hover svg {
filter: brightness(0) invert(1);
}
.footer-bottom {
border-top: 1px solid rgba(255, 255, 255, 0.1);
padding-top: 25px;
margin-top: 20px;
}
.footer-bottom-content {
display: flex;
justify-content: space-between;
align-items: center;
}
.footer-bottom p {
opacity: 0.6;
font-size: 13px;
margin: 0;
}
.footer-bottom-links {
display: flex;
align-items: center;
gap: 15px;
}
.footer-bottom-links .footer-link {
font-size: 13px;
opacity: 0.6;
}
.footer-bottom-links .footer-link:hover {
opacity: 1;
}
.separator {
opacity: 0.4;
font-size: 12px;
}
/* Footer Responsive Design */
@media (max-width: 1024px) {
.footer-content {
grid-template-columns: repeat(2, 1fr);
gap: 30px;
}
}
@media (max-width: 768px) {
.footer-content {
grid-template-columns: 1fr;
gap: 30px;
}
.footer-container {
padding: 0 20px;
}
.footer-banner {
padding: 40px 0 25px;
}
.footer-bottom-content {
flex-direction: column;
gap: 15px;
text-align: center;
}
.social-icons {
justify-content: center;
}
}
@media (max-width: 480px) {
.footer-banner {
padding: 30px 0 20px;
margin-top: 60px;
}
.footer-content {
gap: 25px;
}
.footer-title {
font-size: 15px;
}
.footer-logo-img {
height: 35px;
}
.social-link {
width: 35px;
height: 35px;
}
.social-link svg {
width: 14px;
height: 14px;
}
}
/* Chat Send Button Styles */
.chat-send {
background: var(--accent-teal);
color: white;
border: none;
border-radius: 50%;
width: 70px;
height: 70px;
display: flex;
align-items: center;
justify-content: center;
cursor: pointer;
transition: all 0.3s ease;
flex-shrink: 0;
padding: 0;
margin-left: 10px;
box-shadow: 0 2px 8px rgba(38, 166, 154, 0.3);
}
.chat-send:hover {
background: #1e8e82;
transform: scale(1.05);
box-shadow: 0 4px 12px rgba(38, 166, 154, 0.4);
}
.chat-send:active {
transform: scale(0.95);
}
.chat-send img {
width: 64px;
height: 64px;
filter: brightness(0) invert(1);
object-fit: contain;
}

View File

@@ -1,151 +0,0 @@
/* Details Page Styles */
.service-header {
text-align: center;
margin-bottom: 40px;
padding-bottom: 30px;
border-bottom: 2px solid var(--accent-teal);
}
.service-icon-large {
font-size: 64px;
margin-bottom: 20px;
display: block;
}
.service-title-large {
font-size: 36px;
color: var(--primary-dark);
margin-bottom: 15px;
font-weight: 600;
}
.service-description-large {
font-size: 18px;
color: var(--primary-mid);
line-height: 1.6;
max-width: 600px;
margin: 0 auto;
}
.service-content {
margin-top: 40px;
}
.service-section {
margin-bottom: 40px;
padding: 30px;
background: var(--primary-light);
border-radius: 16px;
box-shadow: 0 4px 20px rgba(79, 71, 71, 0.1);
}
.section-title {
font-size: 24px;
color: var(--primary-dark);
margin-bottom: 20px;
font-weight: 600;
}
.section-text {
font-size: 16px;
line-height: 1.6;
color: var(--primary-mid);
margin-bottom: 20px;
}
.feature-list,
.benefit-list {
list-style: none;
padding: 0;
margin: 0;
}
.feature-list li,
.benefit-list li {
padding: 12px 0;
border-bottom: 1px solid rgba(119, 119, 100, 0.1);
color: var(--primary-dark);
font-size: 16px;
position: relative;
padding-left: 30px;
}
.feature-list li:before,
.benefit-list li:before {
content: "✓";
position: absolute;
left: 0;
color: var(--accent-teal);
font-weight: bold;
font-size: 18px;
}
.feature-list li:last-child,
.benefit-list li:last-child {
border-bottom: none;
}
.cta-buttons {
display: flex;
gap: 20px;
justify-content: center;
margin-top: 30px;
flex-wrap: wrap;
}
.back-button-container {
text-align: center;
margin-top: 40px;
padding-top: 30px;
border-top: 1px solid rgba(119, 119, 100, 0.2);
}
.error-message {
text-align: center;
padding: 40px;
}
.error-message h2 {
color: var(--primary-dark);
margin-bottom: 15px;
}
.error-message p {
color: var(--primary-mid);
margin-bottom: 25px;
}
/* Responsive Design */
@media (max-width: 768px) {
.service-icon-large {
font-size: 48px;
}
.service-title-large {
font-size: 28px;
}
.service-description-large {
font-size: 16px;
}
.service-section {
padding: 20px;
margin-bottom: 25px;
}
.section-title {
font-size: 20px;
}
.cta-buttons {
flex-direction: column;
align-items: center;
}
.cta-btn {
width: 100%;
max-width: 300px;
}
}

View File

@@ -1,408 +0,0 @@
/* Lead Details Page Styles */
.lead-details-container {
max-width: 900px;
margin: 0 auto;
padding: 120px 20px 20px 20px;
}
.lead-header {
text-align: center;
margin-bottom: 50px;
padding-bottom: 30px;
border-bottom: 3px solid var(--accent-teal);
}
.lead-icon {
font-size: 72px;
margin-bottom: 20px;
display: block;
}
.lead-title {
font-size: 42px;
color: var(--primary-dark);
margin-bottom: 15px;
font-weight: 600;
}
.lead-subtitle {
font-size: 20px;
color: var(--primary-mid);
line-height: 1.6;
max-width: 600px;
margin: 0 auto;
}
.lead-details-card {
background: white;
border-radius: 20px;
box-shadow: 0 8px 30px rgba(79, 71, 71, 0.1);
overflow: hidden;
}
.detail-section {
padding: 40px;
border-bottom: 1px solid rgba(119, 119, 100, 0.1);
}
.detail-section:last-child {
border-bottom: none;
}
.section-title {
font-size: 24px;
color: var(--primary-dark);
margin-bottom: 20px;
font-weight: 600;
}
/* Status Styles */
.status-container {
display: flex;
align-items: center;
gap: 20px;
flex-wrap: wrap;
}
.status-badge {
padding: 8px 16px;
border-radius: 20px;
font-size: 14px;
font-weight: 500;
display: inline-block;
}
.status-new {
background: #e3f2fd;
color: #1976d2;
}
.status-in-progress {
background: #fff3e0;
color: #f57c00;
}
.status-completed {
background: #e8f5e8;
color: #2e7d32;
}
.status-cancelled {
background: #ffebee;
color: #c62828;
}
.status-info {
color: var(--primary-mid);
font-size: 14px;
}
/* Info Grid */
.info-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
gap: 25px;
}
.info-item {
background: var(--primary-light);
padding: 20px;
border-radius: 12px;
border-left: 4px solid var(--accent-teal);
}
.info-label {
font-size: 14px;
color: var(--primary-mid);
margin-bottom: 8px;
font-weight: 500;
}
.info-value {
font-size: 18px;
color: var(--primary-dark);
font-weight: 500;
}
/* Service Info */
.service-info {
display: flex;
align-items: center;
gap: 20px;
background: var(--primary-light);
padding: 30px;
border-radius: 16px;
}
.service-icon {
font-size: 48px;
flex-shrink: 0;
}
.service-details {
flex: 1;
}
.service-title {
font-size: 24px;
color: var(--accent-teal);
margin-bottom: 10px;
}
.service-description {
color: var(--primary-mid);
line-height: 1.5;
}
/* Description Box */
.description-box {
background: var(--primary-light);
padding: 30px;
border-radius: 16px;
border-left: 4px solid var(--accent-teal);
}
.description-text {
color: var(--primary-dark);
line-height: 1.6;
font-size: 16px;
white-space: pre-wrap;
}
/* Timeline */
.timeline {
position: relative;
padding-left: 30px;
}
.timeline::before {
content: '';
position: absolute;
left: 15px;
top: 0;
bottom: 0;
width: 2px;
background: rgba(119, 119, 100, 0.2);
}
.timeline-item {
position: relative;
margin-bottom: 30px;
padding-left: 30px;
}
.timeline-item:last-child {
margin-bottom: 0;
}
.timeline-dot {
position: absolute;
left: -22px;
top: 5px;
width: 12px;
height: 12px;
border-radius: 50%;
background: rgba(119, 119, 100, 0.3);
border: 2px solid white;
}
.timeline-item.active .timeline-dot {
background: var(--accent-teal);
box-shadow: 0 0 0 4px rgba(38, 166, 154, 0.2);
}
.timeline-content h4 {
color: var(--primary-dark);
margin-bottom: 5px;
font-size: 18px;
}
.timeline-content p {
color: var(--primary-mid);
font-size: 14px;
}
/* Action Buttons */
.action-buttons {
display: flex;
gap: 15px;
flex-wrap: wrap;
}
.action-btn {
padding: 12px 24px;
border: none;
border-radius: 8px;
font-size: 14px;
font-weight: 500;
cursor: pointer;
transition: all 0.3s ease;
display: inline-flex;
align-items: center;
gap: 8px;
}
.action-btn.primary {
background: var(--accent-teal);
color: white;
}
.action-btn.primary:hover {
background: #1e8e82;
transform: translateY(-2px);
}
.action-btn.secondary {
background: var(--primary-light);
color: var(--primary-dark);
border: 1px solid rgba(119, 119, 100, 0.2);
}
.action-btn.secondary:hover {
background: var(--primary-mid);
color: white;
transform: translateY(-2px);
}
/* Navigation Buttons */
.navigation-buttons {
display: flex;
gap: 20px;
justify-content: center;
margin-top: 40px;
flex-wrap: wrap;
}
.cta-btn {
padding: 16px 32px;
border-radius: 30px;
font-size: 18px;
font-weight: 600;
text-decoration: none;
transition: all 0.3s ease;
display: inline-block;
}
.cta-btn.primary {
background: var(--accent-teal);
color: white;
border: 2px solid var(--accent-teal);
}
.cta-btn.primary:hover {
background: white;
color: var(--accent-teal);
transform: translateY(-2px);
box-shadow: 0 8px 25px rgba(38, 166, 154, 0.3);
}
.cta-btn.secondary {
background: transparent;
color: var(--primary-dark);
border: 2px solid var(--primary-dark);
}
.cta-btn.secondary:hover {
background: var(--primary-dark);
color: white;
transform: translateY(-2px);
}
/* Error Message */
.error-message {
text-align: center;
padding: 60px 20px;
background: white;
border-radius: 20px;
box-shadow: 0 8px 30px rgba(79, 71, 71, 0.1);
}
.error-message h2 {
color: var(--primary-dark);
margin-bottom: 15px;
}
.error-message p {
color: var(--primary-mid);
margin-bottom: 25px;
}
/* Responsive Design */
@media (max-width: 768px) {
.lead-details-container {
padding: 100px 15px 20px 15px;
}
.lead-icon {
font-size: 56px;
}
.lead-title {
font-size: 32px;
}
.lead-subtitle {
font-size: 18px;
}
.detail-section {
padding: 30px 20px;
}
.section-title {
font-size: 20px;
}
.info-grid {
grid-template-columns: 1fr;
gap: 20px;
}
.service-info {
flex-direction: column;
text-align: center;
}
.service-icon {
font-size: 64px;
}
.status-container {
flex-direction: column;
align-items: flex-start;
gap: 10px;
}
.action-buttons,
.navigation-buttons {
flex-direction: column;
align-items: center;
}
.action-btn,
.cta-btn {
width: 100%;
max-width: 300px;
}
}
/* Print Styles */
@media print {
.top-banner,
.slide-menu,
.overlay,
.navigation-buttons,
.action-buttons {
display: none !important;
}
.lead-details-container {
padding: 20px;
}
.lead-details-card {
box-shadow: none;
border: 1px solid #ddd;
}
}

1
Profice WebSite/style/leads.min.css vendored Normal file
View File

@@ -0,0 +1 @@
.leads-content{max-width:900px}.dashboard-container{background:white;padding:40px;border-radius:24px;box-shadow:0 15px 50px rgba(79,71,71,0.1);margin-bottom:30px}.dashboard-title{color:var(--primary-dark);font-size:28px;margin-bottom:8px;font-weight:600}.dashboard-subtitle{color:var(--primary-mid);font-size:15px;margin-bottom:30px}.leads-table-wrapper{overflow-x:auto;border-radius:16px;border:1px solid rgba(119,119,100,0.15)}.leads-table{width:100%;border-collapse:collapse;min-width:500px}.leads-table thead{background:var(--primary-light)}.leads-table th{padding:16px 20px;text-align:left;font-weight:600;color:var(--primary-dark);font-size:14px;text-transform:uppercase;letter-spacing:0.5px}.leads-table td{padding:18px 20px;border-top:1px solid rgba(119,119,100,0.1);color:var(--primary-dark);font-size:15px}.leads-table tbody tr{transition:background 0.2s ease}.leads-table tbody tr:hover{background:rgba(235,235,222,0.5)}.status-badge{display:inline-block;padding:6px 14px;border-radius:20px;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:0.3px}.status-badge.completed{background:rgba(102,187,106,0.15);color:var(--accent-green)}.status-badge.in-progress{background:rgba(245,124,0,0.15);color:var(--accent-orange)}.status-badge.open{background:rgba(119,119,100,0.15);color:var(--primary-mid)}.action-btn{padding:8px 16px;background:transparent;border:2px solid var(--accent-teal);color:var(--accent-teal);border-radius:20px;font-size:13px;font-weight:600;cursor:pointer;transition:all 0.3s ease;text-decoration:none;display:inline-block}.action-btn:hover{background:var(--accent-teal);color:white}.offers-section{margin-top:30px}.offers-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px}.offer-card{background:var(--primary-light);border-radius:20px;padding:30px;text-align:center;transition:all 0.3s ease;cursor:pointer}.offer-card:hover{transform:translateY(-5px);box-shadow:0 15px 40px rgba(79,71,71,0.15);background:white}.offer-icon{font-size:40px;margin-bottom:16px}.offer-title{color:var(--primary-dark);font-size:20px;font-weight:600;margin-bottom:12px}.offer-description{color:var(--primary-mid);font-size:14px;line-height:1.6;margin-bottom:20px}.offer-btn{display:inline-block;padding:10px 24px;background:var(--accent-teal);color:white;text-decoration:none;border-radius:25px;font-size:14px;font-weight:600;transition:all 0.3s ease}.offer-btn:hover{background:#1e8e82;box-shadow:0 5px 20px rgba(38,166,154,0.3)}.slide-menu a.active{background:var(--primary-light);border-left-color:var(--accent-teal);color:var(--accent-teal)}.empty-state{text-align:center;padding:40px;color:var(--primary-mid)}.empty-state p{font-size:16px}@media (max-width:600px){.dashboard-container{padding:25px}.dashboard-title{font-size:22px}.leads-table th,.leads-table td{padding:12px 14px;font-size:13px}.offer-card{padding:20px}.offers-grid{grid-template-columns:1fr}}

View File

@@ -1,547 +0,0 @@
/* Login Page Styles */
.login-content {
display: flex;
align-items: center;
justify-content: center;
min-height: 100vh;
padding: 120px 20px 20px 20px;
background: linear-gradient(135deg, var(--primary-light) 0%, white 100%);
}
.login-container {
width: 100%;
max-width: 450px;
background: white;
border-radius: 24px;
box-shadow: 0 20px 60px rgba(79, 71, 71, 0.15);
padding: 50px 40px;
position: relative;
overflow: hidden;
}
.login-container::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 4px;
background: linear-gradient(90deg, var(--accent-teal), var(--accent-green));
}
.login-header {
text-align: center;
margin-bottom: 40px;
}
.login-icon {
font-size: 64px;
margin-bottom: 20px;
display: block;
}
.login-title {
font-size: 32px;
color: var(--primary-dark);
margin-bottom: 10px;
font-weight: 600;
}
.login-subtitle {
color: var(--primary-mid);
font-size: 16px;
line-height: 1.5;
}
.login-form {
margin-bottom: 30px;
}
.login-form .form-group {
position: relative;
margin-bottom: 25px;
}
.login-form .form-group label {
display: block;
margin-bottom: 8px;
color: var(--primary-dark);
font-weight: 500;
font-size: 14px;
}
.login-form .form-group input {
width: 100%;
padding: 14px 45px 14px 18px;
border: 2px solid rgba(119, 119, 100, 0.2);
border-radius: 12px;
font-size: 16px;
transition: all 0.3s ease;
background: var(--primary-light);
color: var(--primary-dark);
outline: none;
}
.login-form .form-group input:focus {
border-color: var(--accent-teal);
background: white;
box-shadow: 0 0 0 4px rgba(38, 166, 154, 0.15);
}
.input-icon {
position: absolute;
right: 18px;
top: 50%;
transform: translateY(-50%);
font-size: 20px;
color: var(--primary-mid);
pointer-events: none;
}
.password-toggle {
position: absolute;
right: 15px;
top: 50%;
transform: translateY(-50%);
background: none;
border: none;
color: var(--primary-mid);
cursor: pointer;
padding: 4px;
border-radius: 4px;
transition: all 0.3s ease;
}
.password-toggle:hover {
background: rgba(119, 119, 100, 0.1);
color: var(--primary-dark);
}
.form-options {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 30px;
font-size: 14px;
}
.checkbox-label {
display: flex;
align-items: center;
cursor: pointer;
color: var(--primary-dark);
}
.checkbox-label input[type="checkbox"] {
display: none;
}
.checkbox-custom {
width: 18px;
height: 18px;
border: 2px solid rgba(119, 119, 100, 0.3);
border-radius: 4px;
margin-right: 8px;
position: relative;
transition: all 0.3s ease;
}
.checkbox-label input[type="checkbox"]:checked + .checkbox-custom {
background: var(--accent-teal);
border-color: var(--accent-teal);
}
.checkbox-label input[type="checkbox"]:checked + .checkbox-custom::after {
content: '✓';
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
color: white;
font-size: 12px;
font-weight: bold;
}
.forgot-password {
color: var(--accent-teal);
text-decoration: none;
font-weight: 500;
transition: color 0.3s ease;
}
.forgot-password:hover {
color: var(--primary-dark);
}
.login-btn-submit {
width: 100%;
padding: 16px;
background: var(--accent-teal);
color: white;
border: none;
border-radius: 12px;
font-size: 16px;
font-weight: 600;
cursor: pointer;
transition: all 0.3s ease;
display: flex;
align-items: center;
justify-content: center;
gap: 8px;
}
.login-btn-submit:hover:not(:disabled) {
background: #1e8e82;
transform: translateY(-2px);
box-shadow: 0 8px 25px rgba(38, 166, 154, 0.3);
}
.login-btn-submit:disabled {
opacity: 0.7;
cursor: not-allowed;
}
.btn-loading svg {
animation: spin 1s linear infinite;
}
@keyframes spin {
from { transform: rotate(0deg); }
to { transform: rotate(360deg); }
}
.login-divider {
text-align: center;
margin: 30px 0;
position: relative;
}
.login-divider::before {
content: '';
position: absolute;
top: 50%;
left: 0;
right: 0;
height: 1px;
background: rgba(119, 119, 100, 0.2);
}
.login-divider span {
background: white;
padding: 0 20px;
color: var(--primary-mid);
font-size: 14px;
position: relative;
}
.social-login {
margin-bottom: 30px;
}
.social-btn {
width: 100%;
padding: 14px;
border: 2px solid rgba(119, 119, 100, 0.2);
border-radius: 12px;
background: white;
color: var(--primary-dark);
font-size: 16px;
font-weight: 500;
cursor: pointer;
transition: all 0.3s ease;
display: flex;
align-items: center;
justify-content: center;
gap: 12px;
}
.social-btn:hover {
border-color: var(--primary-mid);
transform: translateY(-2px);
box-shadow: 0 4px 15px rgba(79, 71, 71, 0.1);
}
.google-btn:hover {
border-color: #4285f4;
background: #f8f9fa;
}
.login-footer {
text-align: center;
font-size: 14px;
color: var(--primary-mid);
}
.login-footer a {
color: var(--accent-teal);
text-decoration: none;
font-weight: 500;
transition: color 0.3s ease;
}
.login-footer a:hover {
color: var(--primary-dark);
}
/* Messages */
.success-message,
.error-message {
position: absolute;
top: 0;
left: 0;
right: 0;
padding: 20px;
text-align: center;
transform: translateY(-100%);
transition: transform 0.3s ease;
z-index: 10;
}
.success-message.show,
.error-message.show {
transform: translateY(0);
}
.success-message {
background: linear-gradient(135deg, #e8f5e8, #d4edda);
color: #2e7d32;
}
.error-message {
background: linear-gradient(135deg, #ffebee, #f8d7da);
color: #c62828;
}
.success-icon,
.error-icon {
font-size: 48px;
margin-bottom: 10px;
display: block;
}
.success-message h3,
.error-message h3 {
margin-bottom: 5px;
font-size: 18px;
}
.success-message p,
.error-message p {
margin: 0;
font-size: 14px;
}
/* Login Button Styles */
.login-btn {
background: transparent;
border: 2px solid var(--primary-dark);
color: var(--primary-dark);
padding: 8px 16px;
border-radius: 8px;
font-size: 14px;
font-weight: 500;
cursor: pointer;
transition: all 0.3s ease;
display: inline-flex;
align-items: center;
gap: 8px;
text-decoration: none;
}
.login-btn:hover {
background: var(--primary-dark);
color: white;
transform: translateY(-2px);
}
.register-btn {
background: transparent;
border: 2px solid var(--primary-dark);
color: var(--primary-dark);
padding: 8px 16px;
border-radius: 8px;
font-size: 14px;
font-weight: 500;
cursor: pointer;
transition: all 0.3s ease;
display: inline-flex;
align-items: center;
gap: 8px;
}
.register-btn:hover {
background: var(--primary-dark);
color: white;
transform: translateY(-2px);
}
/* Register Button (White version) */
.login-btn.register {
background: transparent;
border: 2px solid white;
color: white;
padding: 8px 16px;
border-radius: 8px;
font-size: 14px;
font-weight: 500;
cursor: pointer;
transition: all 0.3s ease;
display: inline-flex;
align-items: center;
gap: 8px;
text-decoration: none;
}
.login-btn.register:hover {
background: white;
color: var(--primary-dark);
transform: translateY(-2px);
}
/* Ensure login button is white on register page */
body .login-btn {
background: transparent !important;
border: 2px solid white !important;
color: white !important;
}
body .login-btn:hover {
background: white !important;
color: var(--primary-dark) !important;
}
/* Form Row for Two Columns */
.form-row {
display: flex;
gap: 15px;
margin-bottom: 24px;
}
.form-row .form-group {
flex: 1;
margin-bottom: 0;
}
/* Password Strength Indicator */
.password-strength {
margin-top: 8px;
display: flex;
align-items: center;
gap: 10px;
}
.strength-bar {
flex: 1;
height: 4px;
background: #e0e0e0;
border-radius: 2px;
overflow: hidden;
}
.strength-bar::before {
content: '';
display: block;
height: 100%;
width: 0%;
transition: width 0.3s ease, background-color 0.3s ease;
background: #f44336;
}
.strength-text {
font-size: 12px;
color: var(--primary-mid);
}
/* Password Strength Levels */
.strength-weak .strength-bar::before {
width: 33%;
background: #f44336;
}
.strength-medium .strength-bar::before {
width: 66%;
background: #ff9800;
}
.strength-strong .strength-bar::before {
width: 100%;
background: #4caf50;
}
.strength-weak .strength-text {
color: #f44336;
}
.strength-medium .strength-text {
color: #ff9800;
}
.strength-strong .strength-text {
color: #4caf50;
}
/* Terms Links */
.terms-link {
color: var(--accent-teal);
text-decoration: none;
font-weight: 500;
}
.terms-link:hover {
text-decoration: underline;
}
/* Responsive Design */
@media (max-width: 768px) {
.login-content {
padding: 100px 15px 20px 15px;
}
.login-container {
padding: 40px 30px;
margin: 0 10px;
}
.login-icon {
font-size: 56px;
}
.login-title {
font-size: 28px;
}
.login-subtitle {
font-size: 14px;
}
.form-options {
flex-direction: column;
align-items: flex-start;
gap: 15px;
}
.social-btn {
font-size: 14px;
}
}
@media (max-width: 480px) {
.login-container {
padding: 30px 20px;
}
.login-title {
font-size: 24px;
}
.login-form .form-group input {
font-size: 16px;
padding: 12px 40px 12px 15px;
}
.input-icon,
.password-toggle {
right: 15px;
}
}

View File

@@ -1,339 +0,0 @@
/* Service Page Styles */
.service-container {
max-width: 900px;
margin: 0 auto;
padding: 120px 20px 20px 20px;
}
.service-header {
text-align: center;
margin-bottom: 60px;
padding-bottom: 40px;
border-bottom: 3px solid var(--accent-teal);
}
.service-icon {
font-size: 72px;
margin-bottom: 20px;
display: block;
}
.service-title {
font-size: 42px;
color: var(--primary-dark);
margin-bottom: 15px;
font-weight: 600;
}
.service-subtitle {
font-size: 20px;
color: var(--primary-mid);
line-height: 1.6;
max-width: 600px;
margin: 0 auto;
}
.service-section {
margin-bottom: 50px;
padding: 40px;
background: white;
border-radius: 20px;
box-shadow: 0 8px 30px rgba(79, 71, 71, 0.1);
}
.section-title {
font-size: 28px;
color: var(--primary-dark);
margin-bottom: 20px;
font-weight: 600;
}
.section-text {
font-size: 18px;
line-height: 1.6;
color: var(--primary-mid);
margin-bottom: 30px;
}
/* Features Grid */
.features-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
gap: 30px;
margin-top: 30px;
}
.feature-item {
background: var(--primary-light);
padding: 30px;
border-radius: 16px;
text-align: center;
transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.feature-item:hover {
transform: translateY(-5px);
box-shadow: 0 15px 40px rgba(79, 71, 71, 0.15);
}
.feature-icon {
font-size: 48px;
margin-bottom: 15px;
display: block;
}
.feature-item h3 {
color: var(--accent-teal);
margin-bottom: 10px;
font-size: 20px;
}
.feature-item p {
color: var(--primary-mid);
line-height: 1.5;
}
/* Process Timeline */
.process-timeline {
max-width: 800px;
margin: 40px auto 0;
position: relative;
}
.process-item {
display: flex;
align-items: flex-start;
margin-bottom: 40px;
position: relative;
}
.process-number {
width: 50px;
height: 50px;
background: var(--accent-teal);
color: white;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-size: 24px;
font-weight: bold;
flex-shrink: 0;
margin-right: 20px;
}
.process-content {
flex: 1;
}
.process-content h3 {
color: var(--primary-dark);
margin-bottom: 8px;
font-size: 20px;
}
.process-content p {
color: var(--primary-mid);
line-height: 1.5;
}
/* Tech Grid */
.tech-grid {
display: flex;
flex-wrap: wrap;
gap: 15px;
justify-content: center;
margin: 30px 0;
}
.tech-item {
background: var(--primary-dark);
color: white;
padding: 12px 20px;
border-radius: 25px;
font-size: 14px;
font-weight: 500;
transition: transform 0.2s ease;
}
.tech-item:hover {
transform: translateY(-2px);
background: var(--accent-teal);
}
/* Benefits Grid */
.benefits-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
gap: 25px;
margin-top: 30px;
}
.benefit-item {
background: linear-gradient(135deg, var(--accent-teal), var(--accent-green));
color: white;
padding: 30px;
border-radius: 16px;
text-align: center;
transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.benefit-item:hover {
transform: translateY(-5px);
box-shadow: 0 15px 40px rgba(38, 166, 154, 0.3);
}
.benefit-icon {
font-size: 48px;
margin-bottom: 15px;
display: block;
}
.benefit-item h3 {
margin-bottom: 10px;
font-size: 20px;
}
.benefit-item p {
line-height: 1.5;
}
/* Use Cases Grid */
.use-cases-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
gap: 25px;
margin-top: 30px;
}
.use-case-item {
background: var(--primary-light);
padding: 25px;
border-radius: 12px;
border-left: 4px solid var(--accent-teal);
transition: transform 0.3s ease;
}
.use-case-item:hover {
transform: translateY(-3px);
box-shadow: 0 8px 25px rgba(79, 71, 71, 0.1);
}
.use-case-item h3 {
color: var(--accent-teal);
margin-bottom: 10px;
font-size: 18px;
}
.use-case-item p {
color: var(--primary-mid);
line-height: 1.5;
}
/* CTA Buttons */
.cta-buttons {
display: flex;
gap: 20px;
justify-content: center;
margin-top: 40px;
flex-wrap: wrap;
}
.cta-btn {
padding: 16px 32px;
border-radius: 30px;
font-size: 18px;
font-weight: 600;
text-decoration: none;
transition: all 0.3s ease;
display: inline-block;
}
.cta-btn.primary {
background: var(--accent-teal);
color: white;
border: 2px solid var(--accent-teal);
}
.cta-btn.primary:hover {
background: white;
color: var(--accent-teal);
transform: translateY(-2px);
box-shadow: 0 8px 25px rgba(38, 166, 154, 0.3);
}
.cta-btn.secondary {
background: transparent;
color: var(--primary-dark);
border: 2px solid var(--primary-dark);
}
.cta-btn.secondary:hover {
background: var(--primary-dark);
color: white;
transform: translateY(-2px);
}
/* Responsive Design */
@media (max-width: 768px) {
.service-container {
padding: 100px 15px 20px 15px;
}
.service-icon {
font-size: 56px;
}
.service-title {
font-size: 32px;
}
.service-subtitle {
font-size: 18px;
}
.service-section {
padding: 30px 20px;
margin-bottom: 30px;
}
.section-title {
font-size: 24px;
}
.section-text {
font-size: 16px;
}
.features-grid,
.benefits-grid,
.use-cases-grid {
grid-template-columns: 1fr;
gap: 20px;
}
.process-item {
flex-direction: column;
text-align: center;
margin-bottom: 30px;
}
.process-number {
margin: 0 auto 15px;
}
.process-content {
text-align: center;
}
.cta-buttons {
flex-direction: column;
align-items: center;
}
.cta-btn {
width: 100%;
max-width: 300px;
}
}

View File

@@ -0,0 +1,30 @@
/* Fixed list styling for system cards */
.what-it-does ul,
.result ul {
list-style: none;
padding: 0;
}
.what-it-does li,
.result li {
font-size: 0.9rem;
line-height: 1.5;
margin-bottom: 8px;
padding-left: 20px;
position: relative;
}
.what-it-does li::before {
content: '→';
position: absolute;
left: 0;
color: var(--primary-mid);
}
.result li::before {
content: '✓';
position: absolute;
left: 0;
color: var(--accent-green);
font-weight: bold;
}

File diff suppressed because it is too large Load Diff