/* vim:set tabstop=8 softtabstop=8 shiftwidth=8 noexpandtab: */

/**
 *
 * LICENSE: GNU Affero General Public License, version 3 (AGPL-3.0-or-later)
 * Copyright Ampache.org, 2001-2024
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Affero General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Affero General Public License for more details.
 *
 * You should have received a copy of the GNU Affero General Public License
 * along with this program.  If not, see <https://www.gnu.org/licenses/>.
 *
 */

/* --------------------------
   General style rules
   -------------------------- */

:root {
    color-scheme: light;
    accent-color: #1990db;
}

body {
    color: #000;
    background-color: #fff;
    height: 90%;
}

.error {
    color: #c33;
}

a {
    color: #1990db;
}

a:hover {
    color: #52aae4;
}

hr {
    border-top-color: #eee;
}

input[type=password],
input[type=text],
input[type=checkbox],
input[type=radio],
input[type=url],
input[type=year],
select,
textarea {
    background-color: #f5f5f5;
    background-image: linear-gradient(to top, #eee, #fff);
    border-color: #d8d8d8;
}

input[type=button],
input[type=submit],
.editdialogstyle.ui-dialog .ui-dialog-buttonset button {
    background-image: linear-gradient(to top, #1990db, #1473af);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.2);
    color: #fff;
}

input[type=button]:hover,
input[type=button]:focus,
input[type=submit]:hover,
input[type=submit]:focus,
.editdialogstyle.ui-dialog .ui-dialog-buttonset button:hover {
    background-color: #1473af;
}

input[type=button]:focus:active,
input[type=submit]:focus:active {
    box-shadow: inset 0 0 3px #000, 0 1px 0 rgba(255, 255, 255, 0.1);
}

.edit_dialog_content input[type=text],
.edit_dialog_content select {
    color: #000;
}

.edit_dialog_content input:focus,
.edit_dialog_content select:focus {
    color: #555;
    background: #fff;
    background: rgba(255, 255, 255, 0.9);
    border: 2px solid #1990db;
}

.playlistdialogstyle.ui-dialog .ui-dialog-content,
.sharedialogstyle.ui-dialog .ui-dialog-content,
.playlistdialogstyle.ui-widget-content a,
.editdialogstyle.ui-dialog.ui-widget-content a,
.broadcastsdialogstyle.ui-dialog .ui-dialog-content,
.broadcastsdialogstyle.ui-widget-content a,
.sharedialogstyle.ui-widget-content a {
    background-color: #f8f8f8;
    color: #000;
}

.editdialogstyle.ui-dialog.ui-widget-content a,
.editdialogstyle.ui-dialog.ui-widget-content a:hover {
    background-color: unset;
}

.editdialogstyle.ui-dialog .ui-dialog-titlebar,
.editdialogstyle.ui-dialog.ui-widget-content a:hover,
.playlistdialogstyle.ui-widget-content a:hover,
.broadcastsdialogstyle.ui-widget-content a:hover,
.sharedialogstyle.ui-widget-content a:hover {
    color: #1990db;
}

.ui-icon-close {
    background-color: #f0f0f0;
}

/* ------------------------
   Main
   ------------------------ */
#ajax-loading {
    color: #1990db;
    background-image: url('../images/ajax-loader-light.gif');
}

/* ------------------------
   Header
   ------------------------ */
#header {
    background-color: #eee;
    border-bottom: 2px solid #d8d8d8;
    box-shadow: 0 18px 18px rgba(30, 30, 30, 0.7);
}

#sb_Subsearch input[type=text]:focus {
    border-color: #1990db;
}

/* ------------------------
   Login
   ------------------------ */
#loginPage {
    background-color: #eee;
}

#loginPage #maincontainer,
#registerPage #maincontainer {
    border: 2px solid rgba(0, 0, 0, 0.15);
    box-shadow: 0 0 5px rgba(255, 255, 255, 0.05);
}

#loginPage #loginbox {
    color: #000;
}

#loginPage #loginbox div,
#registerPage #registerbox div {
    text-shadow: 0 1px 0 #eee;
    color: #000;
}

#loginPage #loginbox #usernamefield input:focus,
#loginPage #loginbox #emailfield input:focus,
#loginPage #loginbox #passwordfield input:focus {
    border-color: #6aaffa;
    box-shadow: 0 0 10px #9ecaed;
}

#loginPage #loginbox #remembermefield {
    color: #000;
}

.formValidation input {
    color: #fff;
}

#loginPage span.error {
    background: #f99;
    border-color: #c33;
    color: #900;
}

#loginPage #footer {
    color: #000;
}

#loginPage #footer a {
    color: #000;
}

#loginPage #footer #donate {
    color: #1990db;
}

/* ------------------------
   Sidebar
   ------------------------ */
#sidebar {
    color: #000;
}

#sidebar-header {
    background-color: #f8f8f8;
    border-color: #d8d8d8;
    box-shadow: 0 0 5px rgba(255, 255, 255, 0.05);
    color: #000;
}

#sidebar-header:hover {
    color: #1990db;
}

#sidebar_home,
#sidebar_localplay,
#sidebar_preferences,
#sidebar_admin,
#sidebar_logout {
    color: #000;
}

#sidebar_home:hover,
#sidebar_localplay:hover,
#sidebar_preferences:hover,
#sidebar_admin:hover,
#sidebar_logout:hover {
    color: #52aae4;
}

#sidebar-content,
#sidebar-content-light,
#sidebar-light {
    border-color: #d8d8d8;
    box-shadow: 0 0 5px rgba(255, 255, 255, 0.05);
    background-color: #fcfcfc;
}

#sidebar-light-default {
    border-color: #d8d8d8;
    background: #f8f8f8;
}

/* Tabs content */
#sidebar-page {
    background-color: #f8f8f8;
    border-color: #d8d8d8;
    box-shadow: 0 0 5px rgba(255, 255, 255, 0.05);
}

#sidebar-tabs .active > a {
    color: #1990db;
}

#sidebar-tabs .sb2 li h4 {
    color: #111;
    background-color: #e3e3e3;
    border-bottom-color: #0f0f0f;
    box-shadow: 0 1px 0 #2a2a2a, inset 0 1px 1px #000;
}

#sidebar-tabs .sb2 li ul li a {
    color: #000;
}

#sidebar-tabs .sb2 li ul li a:hover {
    color: #52aae4;
}

#sidebar-tabs .sb2 #browse_filters #multi_alpha_filter {
    border-color: #bbb;
}

.image-topmenu-album,
.image-topmenu-artist,
.image-topmenu-favorite,
.image-topmenu-logout,
.image-topmenu-playlist,
.image-topmenu-radio,
.image-topmenu-smartlist,
.image-topmenu-tagcloud,
.image-topmenu-upload {
  fill: #1990db;
}

.image-topmenu-album:hover,
.image-topmenu-artist:hover,
.image-topmenu-favorite:hover,
.image-topmenu-logout:hover,
.image-topmenu-playlist:hover,
.image-topmenu-radio:hover,
.image-topmenu-smartlist:hover,
.image-topmenu-tagcloud:hover,
.image-topmenu-upload:hover {
  fill: #52aae4;
}

/* Localplay */
.active_instance {
    border-color: #000;
}

/* ------------------------
   Rightbar
   ------------------------ */
#rightbar {
    background-color: #f8f8f8;
    border-color: #d8d8d8;
    box-shadow: 0 0 5px rgba(255, 255, 255, 0.05);
    color: #000;
}

#rightbar #rb_action {
    color: #1990db;
}

#rightbar #rb_current_playlist li {
    color: #000;
}

#rightbar #rb_current_playlist li a {
    color: #000;
}

#rightbar #rb_current_playlist li a:hover,
#rightbar #rb_current_playlist li a:focus {
    color: #000;
    background-color: #bfe1f6;
    background-image: linear-gradient(to top, #bfe1f6, #82caf8);
}

#rightbar .submenu {
    background-color: #eee;
    border-color: silver;
}

#rightbar .submenu a {
    border-bottom-color: #eee;
    color: #111;
}

#rightbar .submenu a:hover {
    color: #1990db;
}

/* ------------------------
   Content
   ------------------------ */
#content {
    background-color: #f8f8f8;
    border-color: #d8d8d8;
    box-shadow: 0 0 5px rgba(255, 255, 255, 0.05);
    color: #000;
}

.list-header,
.list-header a {
    color: #000;
}

.list-header a:hover,
.list-header a:focus {
    color: #52aae4;
}

span.page-nb {
    color: #1990db;
}

span.page-text,
table.tabledata {
    color: #000;
}

table.tabledata a {
    color: #000;
}

#catalog_type_fields table.tabledata a {
    color: #1990db;
}

table.tabledata a:hover,
table.tabledata a:focus {
    color: #52aae4;
}

table.tabledata thead .th-top,
table.tabledata tfoot .th-bottom {
    background-color: #e3e3e3;
    box-shadow: 0 1px 0 #2a2a2a, inset 0 1px 1px #000;
}

table.tabledata thead .th-top {
    border-bottom-color: #0f0f0f;
}

table.tabledata tfoot .th-bottom {
    border-top-color: #0f0f0f;
}

table.tabledata .followbtn a {
    color: #fff;
}

table.tabledata th a {
    color: #000;
}

table.tabledata tr:hover,
table.tabledata tr:focus {
    background-color: #bfe1f6;
    background-image: linear-gradient(to top, #bfe1f6, #82caf8);
}

table.tabledata .th-top:hover,
table.tabledata .th-bottom:hover,
table.tabledata .th-top:focus,
table.tabledata .th-bottom:focus {
    color: #777;
    background-color: #e9e9e9;
}

table.striped-rows tbody tr:nth-child(odd),
ul.striped-rows > li:nth-child(odd) {
    background-color: rgba(255, 255, 255, 0.1);
}

table.tabledata tbody .cel_cover img {
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.75);
}

table.tabledata tbody .cel_cover img:hover {
    border-color: #1990db;
}

input:invalid {
    border: 4px solid red;
}

/* ------------------------
     Content (info-box)
   ------------------------ */
.random_selection .random_album .art_album img {
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.75);
}

.random_selection .random_video .art_album img {
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.75);
}

.random_selection .random_album .art_album img:hover {
    border-color: #1990db;
}

#content .missing {
    background-image: url('../images/missing.png');
}

/* ------------------------
    Content (now playing)
   ------------------------ */
#now_playing .cel_albumart img {
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.75);
}

#now_playing .cel_lyrics a:hover {
    color: #09c;
}

/* ------------------------
    Content (Tag cloud)
   ------------------------ */
span.fatalerror {
    color: #c60;
}

.box-content #tag_filter .tag_button {
    color: #fff;
}

.box-content #tag_filter .tag_button span:hover {
    background-color: #c85a00;
    background-image: linear-gradient(to top, #1473af, #027ecc);
}

/* ------------------------------
    Content (information-actions)
   ------------------------------ */
.item_properties {
    color: #999;
}

.item_art .item_art_play .item_art_play_icon,
.item_art .item_art_play_150 .item_art_play_icon {
    background-image: url('../images/videoplay.png');
}

.item_art .item_art_actions {
    background-color: rgba(0, 0, 0, 0.6);
}

.item_art img {
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.75);
}

.item_art:hover {
    color: #1990db;
}

#information_actions ul li {
    color: #999;
}

#information_actions a:hover,
#information_actions li:hover {
    color: #000;
}

/* ------------------------
    Styles for ratings / user flags
   ------------------------ */
.star-rating .global-rating {
    color: #777;
}

/* ------------------------
   Content (Track view)
   ------------------------ */
dl.media_details dt {
    color: #c60;
}

/* ------------------------
   Footer
   ------------------------ */
#footer a:hover {
    color: #09c;
}

#ampache_link {
    color: #000;
}

/* ------------------------
   Web Player
   ------------------------ */
div.jp-audio,
div.jp-audio-stream,
div.jp-video {
    color: #000;
}

div.jp-video div.jp-interface {
    border-top: 1px solid #f8f8f8;
}

div.jp-title,
div.jp-playlist {
    color: black;
    background-color: #d4d4d4;
    border-top: 1px solid #f8f8f8;
}

.jp-no-solution {
    background: #121112 url("../../../lib/modules/jquery-jplayer-midnight-black/jplayer.midnight.black.interface.png") repeat-x;
    border-top: 1px solid #f8f8f8;
}

#webplayer {
    background-color: #f8f8f8 !important;
}

div.playing_title a,
div.playing_artist a,
div.playing_lyrics a {
    color: #000;
}

div.jp-interface {
    background-color: #f8f8f8;
}

div.jp-playlist li {
    border-bottom: 1px solid #bfbfbf;
}

.jp-type-playlist .jp-playlist a {
    color: #000;
}

.jp-type-playlist .jp-playlist a:hover,
.jp-type-playlist .jp-playlist a:active,
.jp-type-playlist .jp-playlist a:focus {
    color: #1990db;
}

.jp-type-playlist .jp-playlist a.jp-playlist-current {
    color: #1990db;
}

/* ------------------------
   Wunderbaum tree
   ------------------------ */
.wunderbaum {
    --wb-node-text-color: #000;
    --wb-background-color: #fff;
    --wb-alternate-row-color: #eee;
    --wb-alternate-row-color-hover: var(--wb-hover-color);
    --wb-focus-border-color: var(--wb-active-color);
    --wb-drop-source-color: var(--wb-hover-color);
    --wb-drop-target-color: var(--wb-active-color);
    --wb-hover-color: hsl(203, 80%, 90%);
    --wb-active-color: hsl(203, 80%, 80%);
    --wb-active-hover-color: var(--wb-active-color);
    --wb-active-color-grayscale: var(--wb-active-color);
    --wb-active-hover-color-grayscale: var(--wb-active-color);
}

/* ------------------------
   Other
   ------------------------ */
.jscroll-next {
    border-color: #ccc;
    background-color: #eee;
    color: #000;
}

.followbtn {
    background-color: #167fc2;
}

.missing_album {
    color: #bbb !important;
}

.user_online {
    background: #0f0;
}

.user_offline {
    background: #7f0000;
}

.user_disabled {
    background: #ccc;
}

.followbtn a,
.list-header-navmenu-border {
    border-color: #fff;
    color: #fff;
}

span.item-count,
span.item-duration,
span.query-count {
    color: #000;
}

a.option-list:hover {
    border-color: #fff;
}

.editdialogstyle.ui-dialog {
    background-image: url('../../../images/background.light.png') !important;
}

#tabs li a {
    color: #1990db;
}

#tabs li a:hover {
    color: #52aae4;
}

#tabs li.tab_active a {
    color: #000;
}

/* Hide left sidebar */
#sidebar, .sidebar {
    display: none !important;
    width: 0 !important;
}

/* Expand main content to full width */
#maincontent {
    margin-left: 0 !important;
    width: 100% !important;
}

/* Make sure the viewport is set */
@media only screen and (max-width: 768px) {
    body {
        font-size: 16px;
    }

    #sidebar {
        display: none;
    }

    #maincontent {
        margin-left: 0;
        width: 100%;
    }

    nav, .navbar, .menu, .header {
        flex-direction: column;
        align-items: stretch;
    }

    .menu a, .navbar a {
        display: flex;
        padding: 12px;
        border-bottom: 1px solid #ccc;
    }

    .footer {
        text-align: center;
        font-size: 0.9em;
    }

    table {
        width: 100% !important;
        display: block;
        overflow-x: auto;
        word-wrap: break-word;
    }
}

html, body {
    max-width: 100vw;
    overflow-x: hidden;
}

#khr-banner {
  flex: 1;
  text-align: center;
  font-family: sans-serif;
}

#khr-banner a {
  color: #007BFF;
  text-decoration: none;
  margin: 0 10px;
}

#khr-banner a:hover {
  text-decoration: underline;
}

