body {
  background: url(images/gruen_001.jpg);
  font-family: sans-serif;
}

.container {
    width: 90%;
    margin: auto;
}

.container-narrow {
    max-width: 600px;
    margin: 0 auto;
    padding: 20px;
}

.container-medium {
    max-width: 800px;
    margin: 0 auto;
    padding: 20px;
}

.container-wide {
    max-width: 1000px;
    margin: 0 auto;
    padding: 20px;
}

.section {
    margin-bottom: 30px;
    padding: 20px;
    background: url(/static/images/blau.jpg);
    border-radius: 5px;
}

h1.navy {
    font-size: 2em;
    color: Navy;
    margin-bottom: 20px;
    text-align: center;
}

h2.sub-heading {
    font-size: 1.5em;
    color: #333;
    margin-bottom: 15px;
}

h2.mt-30 {
    margin-top: 30px;
}

.button-link {
    display: inline-block;
    padding: 10px 20px;
    background: url(/static/images/gruen_001.jpg);
    color: white;
    text-decoration: none;
    border-radius: 5px;
    margin-right: 10px;
    margin-bottom: 10px;
}

.button-link-small {
    padding: 8px 15px;
    font-size: 0.9em;
}

.button-link:hover {
    opacity: 0.9;
}

.navigation {
    margin-top: 30px;
    text-align: center;
}

/* Search and Alphabet Navigation */
.search-box {
    margin-bottom: 20px;
    width: 100%;
}

.search-box input {
    width: 70%;
    font-size: 1.5em;
    padding: 10px;
    border-radius: 5px;
    border: 1px solid #ccc;
}

.search-box button {
    width: 25%;
    margin-left: 5px;
}

.alphabet-nav {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 20px;
    justify-content: center;
}

.alphabet-nav a {
    margin: 5px;
    font-size: 1.2em;
    padding: 5px 10px;
    background: url(/static/images/blau.jpg);
    border-radius: 5px;
    text-decoration: none;
}

.alphabet-nav a.active {
    background: url(/static/images/gruen_001.jpg);
    color: white;
}

/* Grids and Cards */
.artists-grid, .albums-grid {
    display: grid;
    gap: 20px;
    margin-bottom: 30px;
}

.artists-grid {
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
}

.albums-grid {
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
}

.card {
    background: url(/static/images/blau.jpg);
    border-radius: 5px;
    padding: 15px;
    text-align: center;
    transition: transform 0.2s;
}

.card:hover {
    transform: scale(1.05);
}

.card-name {
    font-weight: bold;
    margin-bottom: 10px;
    font-size: 1.2em;
}

.card-artist {
    margin-bottom: 10px;
    color: #666;
}

.card-image {
    width: 150px;
    height: 150px;
    object-fit: cover;
    border-radius: 5px;
    margin-bottom: 10px;
}

.card-actions {
    display: flex;
    justify-content: center;
    gap: 10px;
}

/* Details Views */
.details-view {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    margin-bottom: 30px;
    background: url(/static/images/blau.jpg);
    padding: 20px;
    border-radius: 5px;
}

.details-image-container {
    flex: 0 0 300px;
}

.details-image {
    width: 100%;
    border-radius: 5px;
}

.details-image-centered {
    display: block;
    margin: 0 auto 20px auto;
    max-width: 100%;
    border-radius: 5px;
}

.image-options {
    display: flex;
    gap: 10px;
    margin-top: 20px;
}

.image-option {
    flex: 1;
    padding: 15px;
    background: url(/static/images/blau.jpg);
    border-radius: 5px;
    text-align: center;
}

.image-option h3 {
    margin-top: 0;
    margin-bottom: 15px;
}

.details-info {
    flex: 1;
    min-width: 300px;
}

.info-row {
    margin-bottom: 15px;
}

.info-label {
    font-weight: bold;
    margin-bottom: 5px;
}

.info-value {
    font-size: 1.1em;
}

.no-image {
    width: 100%;
    height: 150px;
    background-color: #eee;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 5px;
    margin-bottom: 10px;
}

.no-image-large {
    height: 300px;
    font-size: 1.2em;
    color: #666;
}

.details-actions {
    margin-top: 20px;
    display: flex;
    gap: 10px;
}

/* Lists */
.list-container {
    margin-top: 20px;
}

.list-item {
    background: url(/static/images/blau.jpg);
    padding: 15px;
    margin-bottom: 10px;
    border-radius: 5px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.list-item-title {
    font-weight: bold;
}

.list-item-info {
    display: flex;
    align-items: center;
}

.list-item-meta {
    margin-left: 10px;
    color: #666;
    font-size: 0.9em;
}

.list-item-path {
    margin-left: 10px;
    color: #666;
    font-size: 0.8em;
    font-style: italic;
}

/* Forms */
.form-container {
    background: url(/static/images/blau.jpg);
    padding: 20px;
    border-radius: 5px;
}

.form-group {
    margin-bottom: 20px;
}

.form-label {
    display: block;
    font-weight: bold;
    margin-bottom: 5px;
}

.form-input {
    width: 100%;
    padding: 10px;
    font-size: 1em;
    border-radius: 5px;
    border: 1px solid #ccc;
    box-sizing: border-box;
}

.form-submit {
    background: url(/static/images/gruen_001.jpg);
    color: white;
    border: none;
    padding: 10px 20px;
    font-size: 1em;
    border-radius: 5px;
    cursor: pointer;
}

.form-submit:hover {
    opacity: 0.9;
}

.controls-link {
    margin-bottom: 15px;
}

.date-range-form {
    margin: 20px auto;
    padding: 15px;
    background-color: #f5f5f5;
    border-radius: 5px;
    width: 80%;
    max-width: 800px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
}

.date-field {
    margin: 0 10px;
    display: flex;
    flex-direction: column;
}

.date-field label {
    margin-bottom: 5px;
    font-weight: bold;
    font-size: 1em; /* Override default label size if needed */
}

.date-field input {
    padding: 8px;
    border: 1px solid #ccc;
    border-radius: 4px;
}

.update-button {
    margin: 0 10px;
    padding: 8px 16px;
    background-color: #4CAF50;
    color: white;
    border: none;
    border-radius: 4px;
    cursor: pointer;
}

.update-button:hover {
    background-color: #45a049;
}

.date-range-info {
    width: 100%;
    text-align: center;
    margin-top: 10px;
    font-style: italic;
}

.navigation {
    margin: 20px auto;
    text-align: center;
}

.chart-container {
    position: relative;
    height: 80vh;
    width: 80vw;
    margin: 20px auto;
}

.chart-container-small {
    position: relative;
    height: 60vh;
    width: 80vw;
    margin: auto;
}

.tg {
    border: none;
    border-collapse: collapse;
    border-spacing: 0;
}

.tg td {
    border-style: solid;
    border-width: 0px;
    font-family: sans-serif;
    font-size: 1em;
    overflow: hidden;
    padding: 10px 5px;
    word-break: normal;
}

.tg th {
    border-style: solid;
    border-width: 0px;
    font-family: sans-serif;
    font-size: 1em;
    font-weight: normal;
    overflow: hidden;
    padding: 10px 5px;
    word-break: normal;
}

.tg .tg-r0vp {
    font-size: 2.5em;
    font-weight: bold;
    text-align: left;
    vertical-align: top;
}

.tg col.w40 {
    width: 40%;
}

.tg col.w20 {
    width: 20%;
}

.error {
    color: red;
}

.full-width-padded {
    width: 100%;
    padding: 2px;
}

.highlight-tomato {
    font-weight: bold;
    background-color: tomato;
}

.font-small {
    font-size: small;
}

.jpc-link {
    font-size: 1.25em;
    text-decoration: none;
}

select {
  width:90%; font-size: 1.875em;background: url(images/gruen_001.jpg)
}





input[type=submit] {
  font-size: 1.25em;background: url(images/blau.jpg);
}

button {
  font-size: 1.25em;background: url(images/blau.jpg);
  display: inline-block;
  padding: 10px 20px;
  color: white;
  text-decoration: none;
  border-radius: 4px;
  border: none;
  cursor: pointer;
}

.box {
 border-width:thick;
 border-style: ridge;
 border-color:black;
}

button:hover {
    background-color: #0056b3;
}

label {
  font-size: 1.875em;
}







a.button {
  display: inline-block;
  padding: 10px 20px;
 
  color: white;
  text-decoration: none;
  border-radius: 4px;
  font-size: 2.5em;
}

a.button:hover {
    background-color: #0056b3;
}

a {
    text-decoration: none; 
    font-weight: bold;
    font-family: sans-serif;
    font-size: 3em;
    color:Navy;
}

a:link {
    font-family: sans-serif;
    text-decoration: none;
}

a:visited {
   font-family: sans-serif;
   color:black ;
}

a:hover {
    font-family: sans-serif;
    text-decoration: Underline;
}

a:active {
  font-family: sans-serif;
  text-decoration: Underline;
}

a.play {
    text-decoration: none;
    font-weight: bold;
    font-family: sans-serif;
    font-size: 2.5em;
    color:Green;
}

a.go {
    text-decoration: none;
    font-weight: bold;
    font-family: sans-serif;
    font-size: 2.5em;
    color:Navy;
}
a.wattage {
    text-decoration: none;
    font-weight: normal;
    font-family: sans-serif;
    font-size: 2em;
    color:Navy;
}

a.channel {
    text-decoration: none;
    font-weight: bold;
    font-family: sans-serif;
    font-size: 2.5em;
    color:gray;

}
a.stop {
    text-decoration: none;
    font-weight: bold;
    font-family: sans-serif;
    font-size: 3.125em;
    color:Red;
}

a.play:link {
    font-family: sans-serif;
    text-decoration: none;
}

a.play:visited {
   font-family: sans-serif;
   color:Green ;
}

a.play:hover {
    font-family: sans-serif;
    text-decoration: none;
}

a.play:active {
  font-family: sans-serif;
  text-decoration: Underline;
}



img {
    opacity: 1.0;

}

img:hover {
    opacity: 0.6;

} 




td.table-column > div.item {
  overflow:hidden;
  font-family: sans-serif;
  font-size: 2em;
  font-weight: bold;
}



.split {
  display: flex;
}

/* Create two equal columns that sits next to each other */
.left {
  flex: 70%;
  padding: 10px;
}
.right {
  flex: 30%;
  padding: 10px;
}

.bsplit {
  display: flex;
}

/* Create two equal columns that sits next to each other */
.bleft {
  flex: 50%;
  padding: 10px;
  border: 1px solid black;
}
.bright {
  flex: 50%;
  padding: 10px;
  border: 1px solid black;
}



progress[value] {
  width: 80%;
  height: 5px;
  color: red;
  background-color: green;
}

progress::-webkit-progress-bar {
/* style rules */
background-color: green;
}
progress::-webkit-progress-value {
/* style rules */
background-color: red;
}
progress::-moz-progress-bar {
/* style rules */
background-color: red;
}

#small td.table-column > div.item {
  overflow:hidden;
  font-family: sans-serif;
  font-size: 1em;
  font-weight: normal;
}
#small a:link {
    font-family: sans-serif;
    font-size: 1em;
    text-decoration: none;
}

#small a:visited {
   font-family: sans-serif;
    font-size: 1em;
   color:black ;
}

#small a:hover {
    font-family: sans-serif;
    font-size: 1em;
    text-decoration: Underline;
}

[data-tooltip]:hover::after {
  font-family: sans-serif;
  font-size: xx-small;
  color:black ;
  display: block;
  position: absolute;
  content: attr(data-tooltip);
  border: 1px solid black;
  background: #eee;
  padding: .25em;
}

/* Selection pages (artists, albums, titles) */
.artist-container, .album-container, .title-container {
    margin: 20px 0;
}

.artist-list, .album-list, .title-list {
    max-height: 500px;
    overflow-y: auto;
    margin-bottom: 20px;
}

.submit-btn {
    text-align: center;
}

/* Headings for selection pages */
h1 {
    font-size: 2em;
    color: Navy;
    margin-bottom: 20px;
    text-align: center;
}

/* Select and options styling for selection lists */
select {
    width: 100%;
    font-size: 1.5em;
    background: url(images/gruen_001.jpg);
    border-radius: 5px;
    border: 1px solid #ccc;
}

option {
    padding: 5px;
    font-size: 0.9em;
}

option:hover {
    background-color: #f0f0f0;
}

option:checked {
    background-color: #e0e0e0;
    font-weight: bold;
}
