Spaces:
Runtime error
Runtime error
| :root { | |
| /* Farben */ | |
| --primary-color: #007bff; /* Hauptfarbe (Blau) */ | |
| --secondary-color: #6c757d; /* Sekundärfarbe (Grau) */ | |
| --success-color: #28a745; /* Erfolgsfarbe (Grün) */ | |
| --error-color: #dc3545; /* Fehlerfarbe (Rot) */ | |
| --info-color: #17a2b8; /* Info-Farbe (Hellblau) */ | |
| --light-gray: #f8f9fa; /* Helles Grau für Hintergründe */ | |
| --medium-gray: #ced4da; /* Mittleres Grau für Rahmen */ | |
| --dark-gray: #333; /* Dunkles Grau für Text */ | |
| --body-bg-color: #f4f4f4; | |
| --text-color: #333; | |
| --blink-text-color: #2eb82e; | |
| /* Typografie */ | |
| --base-font-size: 1rem; | |
| --font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; | |
| /* Abstände */ | |
| --base-padding: 10px; | |
| --base-margin: 10px; | |
| /* Rahmen */ | |
| --border-radius: 5px; | |
| /* Schatten */ | |
| --box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); | |
| /* Transparenz */ | |
| --base-opacity: 0.8; | |
| } | |
| /* Grundlegende Styles */ | |
| body { | |
| font-family: var(--font-family); | |
| background-image: url('bg.webp'); | |
| background-size: cover; | |
| background-repeat: no-repeat; | |
| background-position: center; | |
| background-attachment: fixed; | |
| /* background-color: var(--body-bg-color); */ | |
| color: var(--text-color); | |
| margin: 0; | |
| padding: 0; | |
| font-size: var(--base-font-size); | |
| } | |
| .container { | |
| max-width: 1200px; | |
| margin: auto; | |
| padding: 20px; | |
| } | |
| /* Header- und Navigationsbereich */ | |
| .banner img { | |
| border-radius: var(--border-radius); | |
| box-shadow: var(--box-shadow); | |
| } | |
| .nav-buttons a { | |
| background-color: var(--primary-color); | |
| color: white; | |
| border: none; | |
| padding: var(--base-padding) calc(var(--base-padding) * 2); | |
| text-decoration: none; | |
| font-weight: bold; | |
| border-radius: var(--border-radius); | |
| transition: background-color 0.3s ease; | |
| } | |
| .nav-buttons a:hover { | |
| background-color: color-mix(in srgb, var(--primary-color) 40%, black); | |
| } | |
| /* Formulare */ | |
| .custom-bg { | |
| background-color: var(--light-gray); | |
| border-radius: var(--border-radius); | |
| box-shadow: var(--box-shadow); | |
| padding: var(--base-padding); | |
| } | |
| .form-label { | |
| font-weight: 600; | |
| } | |
| .form-control { | |
| border-radius: var(--border-radius); | |
| border: 1px solid var(--medium-gray); | |
| padding: var(--base-padding); | |
| } | |
| .form-control:focus { | |
| border-color: var(--primary-color); | |
| box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); | |
| } | |
| .btn-primary { | |
| background-color: var(--primary-color); | |
| border-color: var(--primary-color); | |
| } | |
| .btn-primary:hover { | |
| background-color: color-mix(in srgb, var(--primary-color) 40%, black); | |
| border-color: color-mix(in srgb, var(--primary-color) 40%, black); | |
| } | |
| .btn-secondary { | |
| background-color: var(--secondary-color); | |
| border-color: var(--secondary-color); | |
| } | |
| .btn-secondary:hover { | |
| background-color: color-mix(in srgb, var(--secondary-color) 40%, black); | |
| border-color: color-mix(in srgb, var(--secondary-color) 40%, black); | |
| } | |
| /* Akkordeon */ | |
| .accordion-button { | |
| font-weight: bold; | |
| } | |
| .accordion-button:not(.collapsed) { | |
| color: var(--primary-color); | |
| } | |
| /* Fortschrittsnachricht */ | |
| #progressMessage { | |
| background-color: rgb(40 167 69 / 10%); /* Leicht transparentes Grün */ | |
| border: 1px solid rgb(40 167 69 / 80%); /* Passender Rahmen */ | |
| color: var(--blink-text-color); | |
| padding: 1rem; | |
| border-radius: var(--border-radius); | |
| font-weight: bold; | |
| text-align: center; | |
| animation: blink 1.5s infinite; | |
| margin-top: 1rem; | |
| } | |
| /* Blinken-Animation */ | |
| @keyframes blink { | |
| 0% { opacity: 1; } | |
| 50% { opacity: 0; } | |
| 100% { opacity: 1; } | |
| } | |
| /* Fortschrittsbalken */ | |
| #progressContainer { | |
| height: 30px; | |
| background-color: var(--light-gray); /* Hintergrund des Containers */ | |
| border-radius: var(--border-radius); /* Abgerundete Ecken */ | |
| overflow: hidden; /* Versteckt den Fortschrittsbalken, der über den Container hinausragt */ | |
| } | |
| #progressBar { | |
| background-color: var(--success-color); | |
| height: 100%; /* Füllt die Höhe des Containers */ | |
| line-height: 30px; /* Vertikal zentriert den Text */ | |
| color: white; | |
| text-align: center; /* Horizontal zentriert den Text */ | |
| transition: width 0.4s ease-in-out; /* Sanfter Übergang für die Breite */ | |
| } | |
| /* Bilder und Galerie */ | |
| #output img { | |
| margin-bottom: var(--base-margin); | |
| border-radius: var(--border-radius); | |
| box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); | |
| } | |
| .image-thumbnail { | |
| border-radius: var(--border-radius); | |
| box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2); | |
| transition: transform 0.3s ease; | |
| cursor: pointer; | |
| } | |
| .image-thumbnail:hover { | |
| transform: scale(1.05); | |
| } | |
| .thumbnail-img { | |
| transition: transform 0.3s ease; | |
| cursor: pointer; | |
| } | |
| .thumbnail-img:hover { | |
| transform: scale(1.05); | |
| } | |
| /* Karten */ | |
| .card { | |
| border: none; | |
| border-radius: var(--border-radius); | |
| box-shadow: var(--box-shadow); | |
| } | |
| /* Modal */ | |
| .modal-content { | |
| border-radius: var(--border-radius); | |
| } | |
| .modal-header { | |
| background-color: var(--light-gray); | |
| } | |
| /* Toolbars */ | |
| .toolbar { | |
| background-color: white; | |
| padding: var(--base-padding); | |
| border: 1px solid var(--medium-gray); | |
| border-radius: var(--border-radius); | |
| margin-bottom: calc(var(--base-margin) * 2); | |
| display: flex; | |
| align-items: center; | |
| gap: var(--base-margin); | |
| } | |
| /* Auswahl-Checkboxes */ | |
| .select-item { | |
| cursor: pointer; | |
| } | |
| /* "Nach oben"-Button */ | |
| #scrollTopBtn { | |
| display: none; | |
| position: fixed; | |
| bottom: 20px; | |
| right: 20px; | |
| z-index: 99; | |
| border: none; | |
| background: transparent; | |
| cursor: pointer; | |
| transition: all 0.3s ease; | |
| opacity: var(--base-opacity); | |
| } | |
| #scrollTopBtn:hover { | |
| transform: translateY(-5px); | |
| box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.2); | |
| } | |
| /* "Nach oben"-Pfeil */ | |
| #scrollTopBtn img { | |
| width: 50px; | |
| height: 50px; | |
| border-radius: 50%; | |
| } | |
| /* Benachrichtigungs-Container */ | |
| .notification { | |
| position: fixed; | |
| top: 20px; | |
| left: 50%; | |
| transform: translateX(-50%); | |
| padding: var(--base-padding) calc(var(--base-padding) * 2); | |
| border: 1px solid var(--medium-gray); | |
| z-index: 1000; | |
| border-radius: var(--border-radius); | |
| color: white; | |
| font-weight: bold; | |
| opacity: var(--base-opacity); | |
| } | |
| .notification.success { | |
| background-color: var(--success-color); | |
| } | |
| .notification.error { | |
| background-color: var(--error-color); | |
| } | |
| .notification.info { | |
| background-color: var(--info-color); | |
| } | |
| /* Slideshow */ | |
| .carousel-item img { | |
| max-height: 85vh; | |
| object-fit: contain; | |
| } | |
| .btn-primary, .btn-secondary { | |
| padding: 8px 16px; | |
| font-size: 0.9rem; | |
| border-radius: var(--border-radius); | |
| } | |
| /* Zusätzliche Anpassungen für Slideshow */ | |
| .slideshow-modal .modal-content { | |
| background-color: #333; | |
| color: #fff; | |
| } | |
| .slideshow-modal .modal-header { | |
| border-bottom: 1px solid #666; | |
| } | |
| .slideshow-modal .modal-footer { | |
| border-top: 1px solid #666; | |
| } | |
| .slideshow-modal .btn-close { | |
| background-color: #fff; | |
| } | |
| .btn-sm { | |
| padding: 5px 10px; | |
| font-size: 0.8rem; | |
| } | |
| .btn-group .btn { | |
| margin-right: 5px; | |
| } | |
| #albumStats { | |
| max-width: 100%; | |
| width: 100%; | |
| height: auto; | |
| } | |
| #categoryStats { | |
| max-width: 100%; | |
| width: 100%; | |
| } | |
| #playSlideshow, #pauseSlideshow { | |
| background-color: transparent; | |
| border: none; | |
| padding: 0; | |
| } | |
| #playSlideshow i, #pauseSlideshow i { | |
| font-size: 1.5rem; | |
| color: var(--primary-color); | |
| } | |
| #playSlideshow:hover i, #pauseSlideshow:hover i { | |
| color: color-mix(in srgb, var(--primary-color) 40%, black); | |
| } | |
| /* Hover-Effekte für Download-Buttons */ | |
| .download-thumb:hover, | |
| .btn:hover { | |
| opacity: 1; | |
| transform: translateY(-2px); | |
| box-shadow: 0 2px 5px rgba(0,0,0,0.2); | |
| } | |
| .download-thumb { | |
| transition: all 0.3s ease; | |
| opacity: var(--base-opacity); | |
| } | |
| .btn { | |
| transition: all 0.3s ease; | |
| } | |
| .modal-body { | |
| text-align: center; | |
| } | |
| .error-placeholder { | |
| color: var(--error-color); | |
| font-weight: bold; | |
| margin-top: var(--base-margin); | |
| } | |
| .blink-text { | |
| animation: blinker 1s linear infinite; | |
| } | |
| @keyframes blinker { | |
| 50% { | |
| opacity: 0; | |
| } | |
| } |