/* ========================================================================== 1. CSS Variablen (Custom Properties) ========================================================================== */ :root { /* Farben */ --color-primary: #222222; --color-secondary: #eb3526; --color-tertiary: #f7c66d; --color-background: #7a381e; --color-text: #333333; --color-text-light: #666666; --color-text-white: #ffffff; /* Typografie */ --font-family-base: "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; --font-size-base: 16px; --font-size-title: 54px; --line-height-base: 1.5; /* Abstände (Spacing) */ --spacing-sm: 0.5rem; --spacing-md: 1rem; --spacing-lg: 2rem; /* Radien */ --border-radius: 4px; } /* ========================================================================== 2. Basis Reset & Normierung ========================================================================== */ *, *::before, *::after { box-sizing: border-box; /* Verhindert, dass Padding/Border die Breite verändern */ margin: 0; padding: 0; } html { font-size: var(--font-size-base); scroll-behavior: smooth; } body { font-family: var(--font-family-base); color: var(--color-text); background-color: var(--color-background); line-height: var(--line-height-base); -webkit-font-smoothing: antialiased; } footer { width: 100%; margin-top: var(--spacing-lg); text-align: center; } footer a { text-decoration: none; color: var(--color-tertiary); } /* Responsives Verhalten für Medien */ img, picture, video, canvas, svg { display: block; max-width: 100%; height: auto; } /* ========================================================================== 3. Grundlegende Typografie ========================================================================== */ h1 { margin-bottom: var(--spacing-sm); line-height: 1.2; color: var(--color-primary); text-align: center; font-size: var(--font-size-title); } h2, h3, h4, h5, h6 { margin-bottom: var(--spacing-md); line-height: 1.2; color: var(--color-primary); text-align: left; } p { margin-bottom: var(--spacing-md); } a { color: var(--color-primary); text-decoration: none; transition: color 0.3s ease; } a:hover { text-decoration: underline; } label { display: block; margin-bottom: var(--spacing-sm); font-weight: bold; color: var(--color-primary); } nav { display: block; } .span-dark { color: var(--color-primary); } .span-red { color: var(--color-secondary); } .slogan { color: var(--color-text-light); font-style: italic; font-size: small; text-align: center; margin-top: 0; margin-bottom: var(--spacing-lg); } .disclaimer { color: var(--color-text); background: var(--color-tertiary); font-style: italic; font-size: small; text-align: center; margin-top: 0; margin-bottom: var(--spacing-lg); } .value-display { color: var(--color-secondary); font-weight: bold; } .result { margin-top: var(--spacing-lg); padding: var(--spacing-md); background-color: var(--color-tertiary); border-radius: var(--border-radius); color: var(--color-primary); font-size: 1.25rem; text-align: center; } .werbung-title { width: 90%; margin-left: 5%; margin-right: 5%; margin-top: var(--spacing-lg); padding: var(--spacing-md); border-radius: var(--border-radius); color: var(--color-text); font-size: 1rem; text-align: center; } .werbung-buttons { display: flex; justify-content: center; gap: var(--spacing-md); margin-top: var(--spacing-md); } /* ========================================================================== 4. Layout Buttons, Forms & Slider ========================================================================== */ .button-calc { display: block; margin: 0 auto; padding: 0.6em 2em; border: 1px solid transparent; box-sizing: border-box; outline: none; color: var(--color-text); background: var(--color-tertiary); font-size: large; cursor: pointer; position: relative; z-index: 0; border-radius: var(--border-radius); -webkit-user-select: none; user-select: none; touch-action: manipulation; } .button-calc:before { content: ""; background: linear-gradient( 45deg, var(--color-background), var(--color-secondary), var(--color-tertiary), var(--color-text-white) ); position: absolute; top: -2px; left: -2px; background-size: 400%; z-index: -1; -webkit-filter: blur(5px); filter: blur(5px); width: calc(100% + 4px); height: calc(100% + 4px); animation: glowing-button-calc 20s linear infinite; transition: opacity 0.5s ease-in-out; border-radius: var(--border-radius); } @keyframes glowing-button-calc { 0% { background-position: 0 0; } 50% { background-position: 400% 0; } 100% { background-position: 0 0; } } .button-calc:after { z-index: -1; content: ""; position: absolute; width: 100%; height: 100%; background: var(--color-tertiary); left: 0; top: 0; border-radius: var(--border-radius); } .button-calc:hover { background: var(--color-tertiary); color: var(--color-secondary); border: 1px solid var(--color-secondary); } .button-mett { display: block; margin: 0 auto; padding: 0.6em 2em; border: 1px solid transparent; box-sizing: border-box; outline: none; color: #fffae8; background: #cd7569; cursor: pointer; position: relative; z-index: 0; border-radius: var(--border-radius); } .button-mett:hover { color: #cd7569; background-color: #fffae8; border: 1px solid #fffae8; } .button-nudeln { display: block; margin: 0 auto; padding: 0.6em 2em; border: 1px solid transparent; box-sizing: border-box; outline: none; color: #fdbf5b; background: #182132; cursor: pointer; position: relative; z-index: 0; border-radius: var(--border-radius); } .button-nudeln:hover { color: #182132; background-color: #fdbf5b; border: 1px solid #182132; } .button-burger { display: block; margin: 0 auto; padding: 0.6em 2em; border: 1px solid transparent; box-sizing: border-box; outline: none; color: orange; background: #221600; cursor: pointer; position: relative; z-index: 0; border-radius: var(--border-radius); } .button-burger:hover { color: #221600; background-color: orange; border: 1px solid #221600; } .form-group { margin-bottom: var(--spacing-lg); } input[type="range"] { margin: 0 5%; width: 90%; accent-color: var(--color-secondary); } /* ========================================================================== 5. Layout Listen ========================================================================== */ ul, ol { margin: 1em 0; padding: 0 0 0 40px; } dd { margin: 0 0 0 40px; } nav ul, nav ol { list-style: none; list-style-image: none; margin: 0; padding: 0; } /* ========================================================================== 6. Layout Container ========================================================================== */ .container { width: 100%; height: 776px; padding-top: 100px; padding-right: 15px; padding-left: 15px; margin-top: var(--spacing-md); margin-right: auto; margin-left: auto; background-image: url('data:image/svg+xml,'); background-repeat: no-repeat; background-position: center top; } .container-impressum { width: 100%; padding: var(--spacing-lg); margin: var(--spacing-md) 0; background-color: var(--color-tertiary); } /* Grid-Beispiel (Flexbox) */ .row { display: flex; flex-wrap: wrap; margin-right: -15px; margin-left: -15px; } .col { flex: 1 0 100%; /* Nimmt auf Mobilgeräten die volle Breite ein */ padding-right: 15px; padding-left: 15px; } /* ========================================================================== 7. Kontaktdaten verschleiern (Bidi-Text) - Optional, kann entfernt werden ========================================================================== */ span.rev { unicode-bidi:bidi-override; direction:rtl } span.rev.email:before { content:"ed.renhcer" } span.rev.email:after { content:"@retsambew :liaM-E" } span.rev.phone:before { content:"962 9119 " } span.rev.phone:after { content:" 94+ :nofeleT" } span.rev.fax:before { content:"402 9119 " } span.rev.fax:after { content:" 94+ :xaF" } /* ========================================================================== 8. Media Queries (Mobile First) ========================================================================== */ /* --- Kleine Geräte (Smartphones im Querformat, ab 576px) --- */ @media (min-width: 576px) { .container { max-width: 809px; } } /* --- Mittlere Geräte (Tablets, ab 768px) --- */ @media (min-width: 768px) { .container { max-width: 809px; } /* Beispiel: Spalten stehen nebeneinander ab Tablet-Größe */ .col { flex: 1 0 50%; /* Zwei Spalten nebeneinander */ } } /* --- Große Geräte (Desktops, ab 992px) --- */ @media (min-width: 992px) { .container { max-width: 809px; } .col { flex: 1; /* Alle Spalten verteilen sich gleichmäßig */ } } @media (min-height: 920px) { footer { position: fixed; bottom: 0px; } } /* --- Sehr große Geräte (Große Desktops, ab 1200px) --- */ @media (min-width: 1200px) { .container { max-width: 809px; } } /* --- Extra große Geräte (Ultrawide, ab 1400px) --- */ @media (min-width: 1400px) { .container { max-width: 809px; } }