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; | |
} | |
} |