2025-04-21 14:08:23 +02:00

262 lines
4.8 KiB
CSS
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/* Ensure html and body take full height */
html, body {
background-color: var(--light-background);
color: var(--main-text-color);
height: 100%;
margin: 0;
}
/* Global Styles */
body {
font-family: 'Helvetica Neue', Arial, sans-serif;
padding-top: 70px; /* Adjust to your header height */
}
/* Header styles */
.site-header {
background-color: var(--dark-background);
color: var(--header-text-color);
position: fixed;
top: 0;
width: 94%;
z-index: 1000;
display: flex;
align-items: center;
padding: 10px 20px;
}
.site-header img.logo {
height: 50px;
margin-right: 15px;
}
.site-header h1 {
font-size: 1.5em;
margin: 0;
}
.container {
padding: 20px;
}
.wrapper {
display: grid;
grid-template-rows: auto 1fr auto;
min-height: 100%;
padding-bottom: 200px;
}
.container {
width: 90%;
max-width: 900px;
margin: 0 auto;
}
.container a {
font-size: 18px;
}
/* Breadcrumb Styles */
.breadcrumb {
margin-bottom: 15px;
font-size: 22px;
}
.breadcrumb a {
text-decoration: none;
color: var(--main-text-color);
margin-right: 5px;
}
.breadcrumb span {
color: #ccc;
margin-right: 5px;
}
.separator::before {
content: "\A"; /* Inserts a line break */
white-space: pre; /* Ensures the newline is honored */
}
/* List Styles */
ul {
list-style-type: none;
padding: 0;
}
li {
margin: 10px 0;
padding: 10px;
background-color: #fff;
border-radius: 5px;
box-shadow: 0 1px 3px rgba(0,0,0,0.1);
}
/* mouse symbol for links */
div.directory-item, li.directory-item, li.file-item, li.link-item,
div.directory-item a, li.directory-item a, li.file-item a, li.link-item a {
cursor: pointer;
}
/* Directory Items (in a list) */
.directory-item, .link-item {
padding: 15px;
}
/* Grid Layout for Directories */
.directories-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
gap: 10px;
}
.directories-grid .directory-item {
background-color: #fff;
padding: 15px;
border-radius: 5px;
text-align: center;
box-shadow: 0 1px 3px rgba(0,0,0,0.1);
}
/* File Item Styles (for both music and image files) */
.file-item {
display: grid;
grid-template-columns: 1fr auto;
align-items: center;
margin: 10px 0;
padding: 15px;
background-color: #fff;
border-radius: 5px;
box-shadow: 0 1px 3px rgba(0,0,0,0.1);
}
/* Link Styles */
.directory-link,
.link-link,
a.play-file {
color: var(--player-text-color);
text-decoration: none;
word-break: break-all;
}
a.show-transcript {
text-decoration: none;
color: var(--main-text-color);
font-size: 20px;
margin-left: 10px;
}
a.show-transcript:hover {
color: rgb(113, 146, 167);
}
.currently-playing {
background-color: var(--selected-background);
}
/* Footer Player Styles */
footer {
position: fixed;
bottom: 0;
left: 0;
right: 0;
background-color: var(--dark-background);
color: #fff;
padding: 7px;
text-align: center;
z-index: 1000; /* Make sure it sits on top */
display: flex;
align-items: center;
justify-content: center;
}
/* Modal Styles */
#transcriptModal {
display: none;
position: fixed;
z-index: 2000;
left: 0;
top: 0;
width: 100%;
height: 100%;
overflow: auto;
background-color: rgba(0, 0, 0, 0.7);
}
#transcriptModal .modal-content {
background-color: #fff;
margin: 5% auto;
padding: 20px;
border-radius: 5px;
width: 90%;
max-width: 800px;
position: relative;
max-height: 80vh;
overflow-y: auto;
}
#transcriptModal .close {
position: absolute;
right: 15px;
top: 10px;
font-size: 28px;
font-weight: bold;
cursor: pointer;
}
/* Basic Markdown Styles */
#transcriptContent h1,
#transcriptContent h2,
#transcriptContent h3 {
border-bottom: 1px solid #eee;
padding-bottom: 5px;
}
#transcriptContent p {
line-height: 1.6;
}
#transcriptContent pre {
background-color: #f6f8fa;
padding: 10px;
overflow-x: auto;
}
/* Center the reload control */
#directory-controls {
text-align: center;
margin-top: 20px;
}
/* Style the button (remove border, background, etc.) */
#reload-button {
background: none;
border: none;
cursor: pointer;
padding: 0;
}
/* Add a rotation animation */
@keyframes rotate-icon {
0% { transform: rotate(0deg); }
100% { transform: rotate(180deg); }
}
#reload-button svg {
animation: none;
}
#reload-button svg.rotate {
animation: rotate-icon 0.5s linear;
transition: opacity 1s ease;
opacity: 0;
cursor: auto;
}
.images-grid {
display: grid;
/* make each column exactly 150px wide */
grid-template-columns: repeat(auto-fill, 150px);
/* force every row exactly 150px tall */
grid-auto-rows: 150px;
gap: 14px;
}
.image-item {
/* ensure the thumbnail cant overflow its cell */
overflow: hidden;
}
.thumbnail {
/* fill the full cell */
width: 100%;
height: 100%;
/* crop/scale to cover without stretching */
object-fit: cover;
border-radius: 4px;
}