890 lines
16 KiB
CSS
890 lines
16 KiB
CSS
* {
|
|
margin: 0;
|
|
padding: 0;
|
|
box-sizing: border-box;
|
|
}
|
|
|
|
/* Verbesserte CSS-Counter für automatische Nummerierung */
|
|
body {
|
|
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
|
|
background: white;
|
|
color: #333;
|
|
line-height: 1.6;
|
|
margin: 0;
|
|
padding: 0;
|
|
counter-reset: page-counter chapter-counter section-counter subsection-counter;
|
|
}
|
|
|
|
/* Print page layout rules */
|
|
@page {
|
|
size: A4;
|
|
margin: 25mm 20mm 30mm 20mm; /* Top, Right, Bottom, Left margins */
|
|
}
|
|
|
|
.page {
|
|
width: 210mm;
|
|
min-height: 297mm;
|
|
margin: 0 auto;
|
|
background: white;
|
|
position: relative;
|
|
box-shadow: 0 0 10px rgba(0,0,0,0.1);
|
|
margin-bottom: 20px;
|
|
overflow: visible;
|
|
}
|
|
|
|
/* First page: No footer, force page break */
|
|
.page:first-child {
|
|
page-break-after: always;
|
|
}
|
|
|
|
/* Content page: Let content flow naturally across printed pages */
|
|
.page:not(:first-child) {
|
|
page-break-after: auto;
|
|
}
|
|
|
|
/* Page 1: No header, no footer - completely clean */
|
|
.page:first-child::before {
|
|
display: none;
|
|
}
|
|
|
|
.page:first-child .page-footer {
|
|
display: none;
|
|
}
|
|
|
|
/* Ensure footer is visible on all content pages (pages 2+) */
|
|
.page:not(:first-child) .page-footer {
|
|
display: block;
|
|
}
|
|
|
|
/* Logo section for first page */
|
|
.logo-section {
|
|
text-align: right;
|
|
padding: 20px 0;
|
|
margin-bottom: 20px;
|
|
}
|
|
|
|
.logo {
|
|
max-width: 200px;
|
|
height: auto;
|
|
}
|
|
|
|
/* Contact information styling */
|
|
.contact-info {
|
|
margin-top: 60px;
|
|
}
|
|
|
|
.contact-bars {
|
|
display: flex;
|
|
margin-bottom: 20px;
|
|
}
|
|
|
|
.grey-bar {
|
|
width: 80px;
|
|
height: 4px;
|
|
background-color: #808080;
|
|
}
|
|
|
|
.golden-bar {
|
|
flex: 1;
|
|
height: 4px;
|
|
background-color: #D4AF37;
|
|
}
|
|
|
|
.contact-grid {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
font-size: 14px;
|
|
color: #808080;
|
|
line-height: 1.6;
|
|
}
|
|
|
|
.contact-left p,
|
|
.contact-right p {
|
|
margin: 0;
|
|
font-family: Arial, sans-serif;
|
|
}
|
|
|
|
/* CSS footers for flowing text - appear on every printed page */
|
|
@page {
|
|
@bottom-center {
|
|
content: "KI-Lead Management System Energie360° | Seite " counter(page);
|
|
border-top: 2px solid #D4AF37;
|
|
padding: 10px 0;
|
|
font-size: 9px;
|
|
color: #333;
|
|
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
|
|
font-weight: 400;
|
|
line-height: 1.4;
|
|
}
|
|
}
|
|
|
|
/* First page: No footer */
|
|
@page :first {
|
|
@bottom-center {
|
|
content: "";
|
|
}
|
|
}
|
|
|
|
/* Remove all fixed positioning and green styling */
|
|
.page-header {
|
|
display: none;
|
|
}
|
|
|
|
/* Adjust main content to account for fixed header and footer */
|
|
.page .main-content {
|
|
margin-top: 20px;
|
|
margin-bottom: 20px;
|
|
}
|
|
|
|
/* All old footer styles removed - now using CSS @page rules */
|
|
|
|
/* Page numbering and content now handled by CSS @page rules */
|
|
|
|
.main-content {
|
|
padding: 40px 40px 60px 40px;
|
|
position: relative;
|
|
overflow: visible;
|
|
}
|
|
|
|
.title-area {
|
|
text-align: center;
|
|
margin-bottom: 60px;
|
|
}
|
|
|
|
.main-title {
|
|
font-size: 32px;
|
|
font-weight: bold;
|
|
color: #172B46;
|
|
margin-bottom: 20px;
|
|
}
|
|
|
|
.subtitle {
|
|
font-size: 24px;
|
|
color: #172B46;
|
|
margin-bottom: 30px;
|
|
}
|
|
|
|
.separator {
|
|
width: 33%;
|
|
height: 2px;
|
|
background: #B39D14;
|
|
margin: 0 auto 40px auto;
|
|
}
|
|
|
|
.document-details {
|
|
text-align: left;
|
|
margin-bottom: 60px;
|
|
}
|
|
|
|
.document-details p {
|
|
margin-bottom: 10px;
|
|
font-size: 16px;
|
|
color: #333;
|
|
}
|
|
|
|
/* Inhaltsverzeichnis Styling */
|
|
.toc-title {
|
|
font-size: 28px;
|
|
font-weight: bold;
|
|
color: #172B46;
|
|
margin-bottom: 40px;
|
|
text-align: center;
|
|
}
|
|
|
|
.toc-entry {
|
|
margin-bottom: 8px;
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: baseline;
|
|
padding: 4px 0;
|
|
transition: background-color 0.2s ease;
|
|
border-radius: 4px;
|
|
width: 100%;
|
|
}
|
|
|
|
.toc-entry:hover {
|
|
background-color: #f8f9fa;
|
|
padding-left: 10px;
|
|
padding-right: 10px;
|
|
}
|
|
|
|
.toc-entry .toc-text {
|
|
flex: 1;
|
|
color: #333;
|
|
text-decoration: none;
|
|
min-width: 0; /* Allow text to shrink if needed */
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
white-space: nowrap;
|
|
margin-right: 10px; /* Space between text and page number */
|
|
}
|
|
|
|
.toc-entry .dots {
|
|
flex: 0 0 20px;
|
|
margin: 0 10px;
|
|
/* Fixed width for spacing, giving more room for text */
|
|
}
|
|
|
|
/* Alternative: Remove dotted line entirely */
|
|
.toc-entry.no-dots .dots {
|
|
display: none;
|
|
}
|
|
|
|
.toc-entry .toc-page {
|
|
font-weight: bold;
|
|
color: #B39D14;
|
|
min-width: 30px;
|
|
text-align: right;
|
|
flex-shrink: 0; /* Prevent page number from shrinking */
|
|
}
|
|
|
|
.toc-level-1 {
|
|
font-weight: bold;
|
|
font-size: 18px;
|
|
color: #172B46;
|
|
border-left: 3px solid #B39D14;
|
|
padding-left: 15px;
|
|
}
|
|
|
|
.toc-level-2 {
|
|
margin-left: 20px;
|
|
font-size: 16px;
|
|
color: #333;
|
|
border-left: 2px solid #dee2e6;
|
|
padding-left: 15px;
|
|
}
|
|
|
|
.toc-level-3 {
|
|
margin-left: 40px;
|
|
font-size: 14px;
|
|
color: #666;
|
|
border-left: 1px solid #f1f3f4;
|
|
padding-left: 15px;
|
|
}
|
|
|
|
/* Content Page Styling with automatic numbering */
|
|
.content-heading {
|
|
font-weight: bold;
|
|
color: #172B46;
|
|
margin-bottom: 20px;
|
|
}
|
|
|
|
/* Kapitel-Überschriften Styling */
|
|
.heading-level-1 {
|
|
font-size: 20px;
|
|
margin-top: 40px;
|
|
margin-bottom: 25px;
|
|
page-break-after: avoid;
|
|
}
|
|
|
|
/* Abschnitts-Überschriften Styling */
|
|
.heading-level-2 {
|
|
font-size: 18px;
|
|
margin-top: 30px;
|
|
margin-bottom: 20px;
|
|
page-break-after: avoid;
|
|
}
|
|
|
|
/* Unterabschnitts-Überschriften Styling */
|
|
.heading-level-3 {
|
|
font-size: 16px;
|
|
margin-top: 25px;
|
|
margin-bottom: 15px;
|
|
page-break-after: avoid;
|
|
}
|
|
|
|
.content-text {
|
|
margin-bottom: 20px;
|
|
font-size: 14px;
|
|
line-height: 1.6;
|
|
text-align: justify;
|
|
}
|
|
|
|
.content-list {
|
|
margin: 20px 0 20px 20px;
|
|
}
|
|
|
|
.content-list li {
|
|
margin-bottom: 10px;
|
|
font-size: 14px;
|
|
line-height: 1.5;
|
|
text-align: justify;
|
|
}
|
|
|
|
/* Entferne doppelte Listenzeichen - verwende nur HTML-Listen */
|
|
.bullet-list {
|
|
list-style-type: none;
|
|
}
|
|
|
|
.bullet-list li {
|
|
list-style: none;
|
|
position: relative;
|
|
padding-left: 1.5em;
|
|
margin-bottom: 8px;
|
|
text-align: left !important;
|
|
}
|
|
|
|
.bullet-list li::before {
|
|
content: "•";
|
|
color: #B39D14;
|
|
font-weight: bold;
|
|
position: absolute;
|
|
left: 0;
|
|
top: 0;
|
|
width: 1em;
|
|
}
|
|
|
|
/* Remove conflicting bullet styles from terms-list */
|
|
.terms-list {
|
|
list-style-type: none;
|
|
}
|
|
|
|
.terms-list li:before {
|
|
content: none; /* Remove the bullet */
|
|
}
|
|
|
|
.numbered-list {
|
|
list-style-type: none;
|
|
counter-reset: list-counter;
|
|
}
|
|
|
|
.numbered-list li {
|
|
counter-increment: list-counter;
|
|
position: relative;
|
|
padding-left: 2em;
|
|
margin-bottom: 8px;
|
|
text-align: left;
|
|
}
|
|
|
|
.numbered-list li::before {
|
|
content: counter(list-counter) ".";
|
|
color: #B39D14;
|
|
font-weight: bold;
|
|
position: absolute;
|
|
left: 0;
|
|
top: 0;
|
|
width: 1.5em;
|
|
}
|
|
|
|
/* Phase Cards Styling */
|
|
.phase-section {
|
|
margin-bottom: 50px;
|
|
page-break-inside: avoid;
|
|
}
|
|
|
|
.phase-card {
|
|
background: #f8f9fa;
|
|
border: 1px solid #dee2e6;
|
|
border-radius: 8px;
|
|
padding: 25px;
|
|
margin-bottom: 25px;
|
|
page-break-inside: avoid;
|
|
}
|
|
|
|
.phase-header {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
margin-bottom: 25px;
|
|
}
|
|
|
|
.phase-name {
|
|
font-size: 18px;
|
|
font-weight: bold;
|
|
color: #172B46;
|
|
flex: 1;
|
|
margin-right: 20px;
|
|
}
|
|
|
|
.phase-cost {
|
|
background: white;
|
|
padding: 15px;
|
|
border-radius: 6px;
|
|
border: 1px solid #dee2e6;
|
|
text-align: center;
|
|
min-width: 150px;
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
.cost-amount {
|
|
font-size: 20px;
|
|
font-weight: bold;
|
|
color: #B39D14;
|
|
margin-bottom: 5px;
|
|
}
|
|
|
|
.cost-label {
|
|
font-size: 12px;
|
|
color: #666;
|
|
}
|
|
|
|
.phase-details {
|
|
background: #e8f5f2;
|
|
padding: 25px;
|
|
border-radius: 6px;
|
|
border-left: 3px solid #B39D14;
|
|
}
|
|
|
|
.phase-details h5 {
|
|
color: #172B46;
|
|
margin-bottom: 20px;
|
|
font-size: 16px;
|
|
}
|
|
|
|
.phase-details li {
|
|
margin-bottom: 10px;
|
|
color: #333;
|
|
line-height: 1.6;
|
|
font-size: 14px;
|
|
text-align: justify;
|
|
}
|
|
|
|
/* Total Overview Styling */
|
|
.total-section {
|
|
margin-top: 50px;
|
|
margin-bottom: 50px;
|
|
}
|
|
|
|
.total-grid {
|
|
display: grid;
|
|
grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
|
|
gap: 25px;
|
|
margin: 25px 0;
|
|
}
|
|
|
|
.total-card {
|
|
background: #f8f9fa;
|
|
padding: 25px;
|
|
border-radius: 8px;
|
|
border-left: 4px solid #B39D14;
|
|
page-break-inside: avoid;
|
|
}
|
|
|
|
.total-card h4 {
|
|
color: #172B46;
|
|
margin-bottom: 25px;
|
|
font-size: 18px;
|
|
}
|
|
|
|
.cost-summary {
|
|
background: white;
|
|
padding: 25px;
|
|
border-radius: 6px;
|
|
border: 1px solid #dee2e6;
|
|
}
|
|
|
|
.cost-row {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
padding: 15px 0;
|
|
border-bottom: 1px solid #f1f3f4;
|
|
}
|
|
|
|
.cost-row:last-child {
|
|
border-bottom: none;
|
|
}
|
|
|
|
.cost-row.total-row {
|
|
border-top: 2px solid #B39D14;
|
|
border-bottom: none;
|
|
font-weight: bold;
|
|
font-size: 18px;
|
|
color: #172B46;
|
|
padding-top: 25px;
|
|
}
|
|
|
|
/* Info Boxes Styling */
|
|
.info-box {
|
|
background: #e8f5f2;
|
|
padding: 25px;
|
|
border-radius: 6px;
|
|
border-left: 3px solid #B39D14;
|
|
margin: 30px 0;
|
|
page-break-inside: avoid;
|
|
}
|
|
|
|
.info-box h4 {
|
|
color: #172B46;
|
|
margin-bottom: 20px;
|
|
}
|
|
|
|
.info-box ul {
|
|
margin: 0;
|
|
padding-left: 20px;
|
|
}
|
|
|
|
.info-box li {
|
|
margin-bottom: 10px;
|
|
color: #333;
|
|
line-height: 1.6;
|
|
font-size: 14px;
|
|
text-align: justify;
|
|
}
|
|
|
|
/* Contact Information Styling */
|
|
.contact-section {
|
|
margin: 40px 0;
|
|
}
|
|
|
|
.contact-grid {
|
|
display: grid;
|
|
grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
|
|
gap: 25px;
|
|
margin: 25px 0;
|
|
}
|
|
|
|
.contact-card {
|
|
background: #f8f9fa;
|
|
padding: 25px;
|
|
border-radius: 8px;
|
|
border-left: 4px solid #B39D14;
|
|
page-break-inside: avoid;
|
|
}
|
|
|
|
.contact-card h4 {
|
|
color: #172B46;
|
|
margin-bottom: 20px;
|
|
font-size: 16px;
|
|
}
|
|
|
|
.contact-details {
|
|
background: white;
|
|
padding: 20px;
|
|
border-radius: 6px;
|
|
border: 1px solid #dee2e6;
|
|
}
|
|
|
|
.contact-row {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
padding: 10px 0;
|
|
border-bottom: 1px solid #f1f3f4;
|
|
}
|
|
|
|
.contact-row:last-child {
|
|
border-bottom: none;
|
|
}
|
|
|
|
/* Terms and Conditions Styling */
|
|
.terms-section {
|
|
margin: 40px 0;
|
|
}
|
|
|
|
.terms-card {
|
|
background: #f8f9fa;
|
|
padding: 25px;
|
|
border-radius: 8px;
|
|
border-left: 4px solid #B39D14;
|
|
margin-bottom: 25px;
|
|
page-break-inside: avoid;
|
|
}
|
|
|
|
.terms-card h4 {
|
|
color: #172B46;
|
|
margin-bottom: 20px;
|
|
font-size: 16px;
|
|
}
|
|
|
|
.terms-list {
|
|
background: white;
|
|
padding: 20px;
|
|
border-radius: 6px;
|
|
border: 1px solid #dee2e6;
|
|
}
|
|
|
|
.terms-list li {
|
|
margin-bottom: 12px;
|
|
padding-left: 25px;
|
|
position: relative;
|
|
line-height: 1.6;
|
|
text-align: justify;
|
|
}
|
|
|
|
/* Removed duplicate rule - bullets now handled by bullet-list class */
|
|
|
|
/* Signature Section Styling */
|
|
.signature-section {
|
|
margin: 50px 0;
|
|
page-break-inside: avoid;
|
|
}
|
|
|
|
.signature-grid {
|
|
display: grid;
|
|
grid-template-columns: 1fr 1fr;
|
|
gap: 50px;
|
|
margin: 30px 0;
|
|
}
|
|
|
|
.signature-card {
|
|
background: #f8f9fa;
|
|
padding: 30px;
|
|
border-radius: 8px;
|
|
border-left: 4px solid #B39D14;
|
|
min-height: 220px;
|
|
display: flex;
|
|
flex-direction: column;
|
|
justify-content: space-between;
|
|
}
|
|
|
|
.signature-card h4 {
|
|
color: #172B46;
|
|
margin-bottom: 25px;
|
|
font-size: 18px;
|
|
text-align: center;
|
|
}
|
|
|
|
.signature-area {
|
|
background: white;
|
|
border: 1px solid #dee2e6;
|
|
border-radius: 6px;
|
|
padding: 25px;
|
|
margin: 20px 0;
|
|
min-height: 80px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
color: #999;
|
|
font-style: italic;
|
|
}
|
|
|
|
.signature-details {
|
|
background: white;
|
|
padding: 20px;
|
|
border-radius: 6px;
|
|
border: 1px solid #dee2e6;
|
|
margin-top: 20px;
|
|
}
|
|
|
|
.signature-row {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
padding: 10px 0;
|
|
border-bottom: 1px solid #f1f3f4;
|
|
}
|
|
|
|
.signature-row:last-child {
|
|
border-bottom: none;
|
|
}
|
|
|
|
/* Timeline Styling */
|
|
.timeline {
|
|
position: relative;
|
|
padding: 30px 0;
|
|
}
|
|
|
|
.timeline-item {
|
|
display: flex;
|
|
margin-bottom: 40px;
|
|
position: relative;
|
|
page-break-inside: avoid;
|
|
}
|
|
|
|
.timeline-marker {
|
|
width: 40px;
|
|
height: 40px;
|
|
background: #B39D14;
|
|
color: white;
|
|
border-radius: 50%;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
font-weight: bold;
|
|
flex-shrink: 0;
|
|
margin-right: 25px;
|
|
}
|
|
|
|
.timeline-content {
|
|
flex: 1;
|
|
background: #f8f9fa;
|
|
padding: 25px;
|
|
border-radius: 8px;
|
|
}
|
|
|
|
.timeline-content h4 {
|
|
color: #172B46;
|
|
margin-bottom: 20px;
|
|
font-size: 18px;
|
|
}
|
|
|
|
/* AI-Human Split Styling */
|
|
.ai-human-split {
|
|
display: grid;
|
|
grid-template-columns: 1fr 1fr;
|
|
gap: 25px;
|
|
margin-bottom: 25px;
|
|
}
|
|
|
|
.ai-section, .human-section {
|
|
background: #f8f9fa;
|
|
padding: 20px;
|
|
border-radius: 6px;
|
|
border-left: 3px solid;
|
|
}
|
|
|
|
.ai-section {
|
|
border-left-color: #B39D14;
|
|
}
|
|
|
|
.human-section {
|
|
border-left-color: #172B46;
|
|
}
|
|
|
|
.ai-section h5, .human-section h5 {
|
|
color: #172B46;
|
|
margin-bottom: 15px;
|
|
font-size: 14px;
|
|
}
|
|
|
|
.ai-section ul, .human-section ul {
|
|
margin: 0;
|
|
padding-left: 20px;
|
|
}
|
|
|
|
.ai-section li, .human-section li {
|
|
font-size: 13px;
|
|
margin-bottom: 8px;
|
|
color: #495057;
|
|
line-height: 1.5;
|
|
text-align: justify;
|
|
}
|
|
|
|
/* Grid Layout for Cards */
|
|
.grid {
|
|
display: grid;
|
|
grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
|
|
gap: 25px;
|
|
margin: 25px 0;
|
|
}
|
|
|
|
.card {
|
|
background: #f8f9fa;
|
|
padding: 25px;
|
|
border-radius: 8px;
|
|
border-left: 4px solid #B39D14;
|
|
page-break-inside: avoid;
|
|
}
|
|
|
|
.card h4 {
|
|
color: #172B46;
|
|
margin-bottom: 20px;
|
|
font-size: 16px;
|
|
}
|
|
|
|
.card p, .card ul {
|
|
color: #495057;
|
|
line-height: 1.6;
|
|
font-size: 14px;
|
|
}
|
|
|
|
.card ul {
|
|
margin-left: 20px;
|
|
margin-top: 15px;
|
|
}
|
|
|
|
.card li {
|
|
margin-bottom: 10px;
|
|
text-align: justify;
|
|
}
|
|
|
|
/* Professional Print Styles */
|
|
@media print {
|
|
.page {
|
|
page-break-after: always;
|
|
margin: 0;
|
|
padding: 20px;
|
|
}
|
|
|
|
body {
|
|
background: white;
|
|
}
|
|
|
|
.signature-section {
|
|
page-break-inside: avoid;
|
|
}
|
|
|
|
.phase-card {
|
|
page-break-inside: avoid;
|
|
}
|
|
|
|
.total-card {
|
|
page-break-inside: avoid;
|
|
}
|
|
|
|
.info-box {
|
|
page-break-inside: avoid;
|
|
}
|
|
|
|
.contact-card {
|
|
page-break-inside: avoid;
|
|
}
|
|
|
|
.terms-card {
|
|
page-break-inside: avoid;
|
|
}
|
|
|
|
.timeline-item {
|
|
page-break-inside: avoid;
|
|
}
|
|
|
|
.card {
|
|
page-break-inside: avoid;
|
|
}
|
|
|
|
/* Ensure proper page breaks */
|
|
.page:last-child {
|
|
page-break-after: avoid;
|
|
}
|
|
|
|
/* Better text rendering for print */
|
|
* {
|
|
-webkit-print-color-adjust: exact;
|
|
print-color-adjust: exact;
|
|
}
|
|
|
|
.logo-section {
|
|
margin-top: 0;
|
|
}
|
|
|
|
/* Ensure footer appears on every printed page */
|
|
.page-footer {
|
|
position: fixed;
|
|
bottom: 20px;
|
|
left: 20px;
|
|
right: 20px;
|
|
background: white;
|
|
border-top: 2px solid #D4AF37;
|
|
padding: 10px 0;
|
|
z-index: 1000;
|
|
}
|
|
|
|
/* First page should not show footer */
|
|
.page:first-child .page-footer {
|
|
display: none;
|
|
}
|
|
}
|
|
|
|
/* Responsive Design */
|
|
@media (max-width: 768px) {
|
|
.ai-human-split {
|
|
grid-template-columns: 1fr;
|
|
gap: 15px;
|
|
}
|
|
|
|
.grid {
|
|
grid-template-columns: 1fr;
|
|
gap: 15px;
|
|
}
|
|
|
|
.timeline-item {
|
|
flex-direction: column;
|
|
}
|
|
|
|
.timeline-marker {
|
|
margin-right: 0;
|
|
margin-bottom: 15px;
|
|
align-self: flex-start;
|
|
}
|
|
}
|