maloja/maloja/web/static/css/maloja.css

1021 lines
16 KiB
CSS

@import url("/grisons.css");
body {
padding:15px;
padding-bottom:35px;
/**
padding-top:45px;
padding-bottom:25px;
**/
/*
font-size:1.65vh;
*/
}
input[type="date"] {
background-color:inherit;
color:inherit;
outline: none;
border:0px;
font-family: inherit;
font-size: inherit;
}
/**
Header (unused)
**/
/**
div.header {
position:fixed;
height:45px;
width:100%;
background-color:rgba(255,215,0,1);
top:0px;
left:0px;
padding:10px;
opacity:1;
color:black;
z-index:5;
}
div.header h1 {
margin:5px;
}
**/
/**
settings icon
**/
svg {
fill: var(--text-color);
}
div#icon_bar {
position:fixed;
right:30px;
top:30px;
}
div#icon_bar div.clickable_icon {
display: inline-block;
height:26px;
width:26px;
}
div.clickable_icon svg {
cursor: pointer;
}
div.clickable_icon:hover svg {
fill: var(--text-color-focus);
}
div.clickable_icon.danger:hover svg {
fill: red;
}
/**
Footer
**/
div.footer {
position:fixed;
height:20px;
/**width:100%;**/
background-color: var(--base-color-dark);
bottom:0px;
left:0px;
right:0px;
padding:10px;
opacity:1;
}
div.footer div:nth-child(1) {
display:inline-block;
width:40%;
text-align:left;
}
div.footer div:nth-child(2) {
display:inline-block;
width:19%;
text-align:center;
color:gold;
font-size:110%;
}
div.footer div:nth-child(3) {
display:inline-block;
width:40%;
text-align:right;
}
div.footer span a {
/*padding-left:20px;*/
background-repeat:no-repeat;
background-size:contain;
background-position:left;
/*background-image:url("https://github.com/favicon.ico");*/
}
div.footer input {
background-color:inherit;
border:0px;
border-bottom:1px solid beige;
color:beige;
font-size:90%;
width:70%;
padding-left:5px;
padding-right:5px;
padding-top:2px;
padding-bottom:2px;
font-family:"Ubuntu";
}
div.footer input:focus {
outline:none;
/**background-color:rgba(245,245,220,0.05);**/
}
div.searchresults {
position:fixed;
bottom:50px;
right:20px;
width:500px;
background-color:rgba(10,10,10,0.99);
padding:15px;
}
div.searchresults>span {
font-size:20px;
font-weight:bold;
}
div.searchresults table {
width:100%;
border-spacing:0px 4px;
}
div.searchresults tr {
background-color:rgba(5,5,5,1);
margin-top:5px;
margin-bottom:5px;
height:50px;
cursor:pointer;
}
div.searchresults tr:hover {
background-color:rgba(35,35,35,1);
}
div.searchresults tr td.image {
height:50px;
width:50px;
background-size:cover;
background-position:center;
}
div.searchresults tr td:nth-child(2) {
padding-left:10px;
}
div.searchresults table.searchresults_extrainfo td span:nth-child(1) {
font-size:12px;
color:grey;
}
/**
Notifications
**/
div#notification_area {
position: fixed;
width:420px;
bottom:40px;
right:20px;
}
div#notification_area div.notification {
background-color:white;
width:400px;
height:50px;
margin-bottom:7px;
padding:9px;
opacity:0.4;
}
div#notification_area div.notification:hover {
opacity:0.95;
}
@media (max-width: 1000px) {
div.footer {
position:fixed;
/*height:30px;*/
/**width:100%;**/
background-color: var(--base-color-dark);
bottom:0px;
left:0px;
right:0px;
padding:3px;
opacity:1;
}
div.footer div:nth-child(1) {
display:none;
}
div.footer div:nth-child(2) {
display:inline-block;
width:20%;
text-align:center;
color:gold;
}
div.footer div:nth-child(3) {
display:inline-block;
width:70%;
text-align:right;
}
div.footer input {
width:90%;
}
}
p.desc a {
padding-left:20px;
background-repeat:no-repeat;
background-size:contain;
background-position:left;
background-image:url("https://www.last.fm/static/images/lastfm_avatar_twitter.66cd2c48ce03.png");
}
table.top_info + .stat_module_topartists table,
table.top_info + .stat_module_toptracks table {
margin:15px 0;
}
/*
**
**
** SPECIAL TEXT BITS
**
**
*/
.paginate {
text-align: center;
padding:30px;
}
.stats {
color: var(--text-color-tertiary);
}
.rank {
text-align:right;
color: var(--text-color-tertiary);
}
.extra {
color: var(--text-color-tertiary);
font-size:80%;
}
.blocked {
opacity:0.2;
cursor:not-allowed;
}
input#apikey {
font-family:'Ubuntu';
outline:none;
border: 0px solid;
padding:2px;
}
input.simpleinput {
font-family:'Ubuntu';
color: var(--text-color);
outline:none;
border-top: 0px solid;
border-left: 0px solid;
border-right: 0px solid;
padding:2px;
background-color:inherit;
border-bottom: 1px solid var(--text-color);
}
a {
cursor:pointer;
}
span.stat_selector_pulse,span.stat_selector_topartists,span.stat_selector_toptracks {
cursor:pointer;
}
h2.headerwithextra {
display:inline-block;
padding-right:5px;
margin-bottom:10px;
margin-top:15px;
}
h2.headerwithextra+span.afterheader {
color: var(--text-color-tertiary);
}
/* SHINY*/
.shimmer {
margin: 0 auto;
padding: 0 140px 0 0;
display: inline;
margin-bottom: 0;
color: rgba(255,255,255,0.1);
background: -webkit-gradient(linear, left top, right top, from(#222), to(#222), color-stop(0.5, #fff));
background: -moz-gradient(linear, left top, right top, from(#222), to(#222), color-stop(0.5, #fff));
background: gradient(linear, left top, right top, from(#222), to(#222), color-stop(0.5, #fff));
-webkit-background-size: 125px 100%;
-moz-background-size: 125px 100%;
background-size: 125px 100%;
-webkit-background-clip: text;
-moz-background-clip: text;
background-clip: text;
animation-name: shimmer;
animation-duration: 2s;
animation-iteration-count: infinite;
background-repeat: no-repeat;
background-position: 0 0;
background-color: #222;
}
@keyframes shimmer {
0% {
background-position: top left;
}
100% {
background-position: top right;
}
}
.medal {
top:5px;
font-size:80%;
padding:3px;
margin:2px;
border-radius:2px;
}
.shiny {
overflow: hidden;
position:relative;
display: inline-block;
}
.shiny:after {
content: "";
position: absolute;
top: -110%;
left: -210%;
width: 200%;
height: 200%;
opacity: 0;
transform: rotate(30deg);
background: rgba(255, 255, 255, 0.13);
background: linear-gradient(
to right,
rgba(255, 255, 255, 0.13) 0%,
rgba(255, 255, 255, 0.13) 77%,
rgba(255, 255, 255, 0.5) 92%,
rgba(255, 255, 255, 0.0) 100%
);
}
.shiny:hover:after {
opacity: 1;
top: -30%;
left: -30%;
transition-property: left, top, opacity;
transition-duration: 0.7s, 0.7s, 0.15s;
transition-timing-function: ease;
}
.shiny:active:after {
opacity: 0;
}
a.gold {
background-color:gold;
color:black;
}
a.silver {
background-color:silver;
color:black;
}
a.bronze {
background-color:#cd7f32;
color:black;
}
img.certrecord {
height:30px;
vertical-align: text-bottom;
}
img.certrecord_small {
height:20px;
vertical-align: text-bottom;
}
img.star {
height:20px;
vertical-align: text-bottom;
}
button {
padding:3px;
padding-right:6px;
padding-left:6px;
border: 0px;
font-family: inherit;
font-size: inherit;
background-color: var(--button-color-bg);
color: var(--button-color-fg);
cursor:pointer;
}
button.warning {
background-color:red;
color:white;
}
button:hover {
background-color: var(--button-color-bg-focus);
color: var(--button-color-fg-focus);
}
button.warning:hover {
background-color:darkred;
color:white;
}
button.locked {
background-color:grey;
color:black;
cursor:not-allowed;
}
button.smallbutton {
padding:1px;
padding-right:2px;
padding-left:2px;
font-size: 80%;
}
/*
**
**
** LISTS
**
**
*/
table.twopart {
width:100%;
}
table.twopart>tbody>tr>td {
width:50%;
}
table.list {
border-collapse:collapse;
}
table.list tr {
background-color: var(--current-bg-color);
border-color: var(--current-bg-color);
height: 1.45em;
transition: opacity 2s;
}
table.list tr td {
padding-top:2px;
padding-bottom: 2px;
white-space: nowrap;
overflow:hidden;
text-overflow:ellipsis;
padding-right:15px;
/*line-height: 140%;*/
}
table.list tr:nth-child(even) {
--current-bg-color: rgba(255,255,255,0.05);
/* make rows distinguishable with respect to any bg color */
}
table.list tr:nth-child(4n) td {
border-bottom: 1px solid rgba(120,120,120,0.4);
padding-bottom: 1px;
}
table.list tr:nth-child(4n+1) td {
border-top: 1px solid rgba(120,120,120,0.4);
padding-top: 1px;
}
table.list tr:hover {
--current-bg-color: rgba(255,255,255,0.2);
}
table.list td.time {
width:11%;
color: var(--text-color-tertiary);
}
table.list tr td.rank {
padding-right: 4px;
}
table.list tr td.rankup {
color:green;
padding-right: 8px;
font-size: 80%;
}
table.list tr td.rankdown {
color:red;
padding-right: 8px;
font-size: 80%;
}
table.list tr td.ranksame {
color:grey;
padding-right: 8px;
font-size: 80%;
}
table.list tr td.icon {
padding:0px;
padding-right:5px;
width:20px;
}
table.list td.icon div {
width:20px;
height:20px;
background-size:cover;
background-position:center;
}
table.list td.artists,td.artist,td.title,td.track {
min-width:100px;
}
table.list td.track span.artist_in_trackcolumn {
color: var(--text-color-secondary);
}
table.list td.searchProvider {
width: 20px;
padding-right: 5px;
}
table.list td.searchProvider svg {
height:17px;
}
table.list td.searchProvider:hover {
color: gold;
}
table.list td.scrobble_action_area {
text-align: right;
width:2em;
overflow:visible;
}
table.list tr td.scrobble_action_area span.scrobble_action_type {
display:inline-block;
float:right;
}
table.list td.scrobble_action_area span.scrobble_action_type.active {
}
/* rows that can be deleted in some form
'active' class on the delete area cell to toggle confirm prompt
'removed' class on the whole row to delete
*/
table.list tr td.scrobble_action_area span.scrobble_action_type span.confirmactions {
display: none;
}
table.list tr td.scrobble_action_area span.scrobble_action_type span.initializeactions {
display: initial;
}
/* when other action is active, hide all */
table.list tr td.scrobble_action_area.active span.scrobble_action_type span.initializeactions {
display: none;
}
table.list tr td.scrobble_action_area.active span.scrobble_action_type span.initializeactions {
display: none;
}
/* except this one itself is active */
table.list tr td.scrobble_action_area.active span.scrobble_action_type.active span.confirmactions {
display: initial;
}
table.list tr td.scrobble_action_area.active span.scrobble_action_type.active span.initializeactions {
display: none;
}
table.list tr.removed td.scrobble_action_area span.scrobble_action_type {
display: none;
}
table.list tr.removed td.scrobble_action_area span.scrobble_action_type {
display: none;
}
table.list tr.removed {
text-decoration: line-through;
opacity:0.4;
}
table.list tr.changed {
/*background-color: rgba(222,209,180,0.7) !important;*/
opacity:0;
transition: opacity 0.2s;
}
/*
table td.artists div {
overflow:hidden;
z-index:1;
position:relative;
}
table tr td.artists div span {
//text-overflow:ellipsis;
z-index:-2;
position:relative;
white-space:nowrap;
}
table tr:hover td.artists div span {
animation: bounce 3s linear infinite alternate;
}
@keyframes bounce {
0% {
}
100% {
//transform: translateX(-60px);
//margin-left:-60px;
margin-left:-100%;
}
}
**/
table.list td.amount {
width:50px;
text-align:right;
}
table.list td.bar {
width:400px;
/* background-color: var(--base-color); */
/* Remove 5er separators for bars */
/*border-color:rgba(0,0,0,0)!important;*/
}
table.list td.bar div {
background-color: var(--text-color);
height:20px; /* can only do this absolute apparently */
position:relative;
display:inline-block;
margin-bottom:-3px;
}
table.list tr:hover td.bar div {
background-color: var(--text-color-focus);
cursor:pointer;
}
table.list td.chart {
width:400px;
/* background-color: var(--base-color); */
/* Remove 5er separators for bars */
/*border-color:rgba(0,0,0,0)!important;*/
}
table.list td.chart div {
/*background-color:beige;
height:4px;
*/
height:20px;
background-color: var(--base-color-accent-dark);
border-radius: 0px 30px 30px 0px;
background-image:url("/media/chartpos_normal.png");
background-position: right;
background-repeat:no-repeat;
background-size: auto 100%;
position:relative;
}
table.list tr:hover td.chart div {
cursor:pointer;
}
table.list tr td.chart div.gold {
/*background-color:gold;*/
background-image:url("/media/chartpos_gold.png");
}
table.list tr td.chart div.silver {
/*background-color:silver;*/
background-image:url("/media/chartpos_silver.png");
}
table.list tr td.chart div.bronze {
/*background-color:#cd7f32;*/
background-image:url("/media/chartpos_bronze.png");
}
table.misc {
margin-left:20px;
}
table.misc td {
padding-right:20px;
color:#bbbbaa;
}
table.misc th {
text-align: left;
}
table.misc td.interaction {
width:65px;
}
/*
**
**
** IMAGE TILES
**
**
*/
table.tiles_top td {
padding:0px;
border:0px;
}
table.tiles_top:hover td td {
opacity:0.5;
filter: grayscale(80%);
}
table.tiles_top:hover td td:hover {
opacity:1;
filter: grayscale(0%);
}
table.tiles_top, table.tiles_sub {
border-collapse: collapse;
}
table.tiles_top>tbody>tr>td {
height:300px;
width:300px;
}
table.tiles_sub {
height:100%;
width:100%;
}
table.tiles_sub div {
height:100%;
width:100%;
}
table.tiles_top td div {
background-size:cover;
background-position:top center;
vertical-align:bottom;
}
table.tiles_top td span {
background-color:rgba(0,0,0,0.7);
display: inline-block;
margin-top:2%;
padding: 3px;
max-width: 67%;
vertical-align: text-top;
}
table.tiles_top td a:hover {
text-decoration: none;
}
table.tiles_1x1 td {
height:100%;
width:100%;
font-size:100%
}
table.tiles_2x2 td {
height:50%;
width:50%;
font-size:80%
}
table.tiles_3x3 td {
height:33.333%;
width:33.333%;
font-size:60%
}
table.tiles_4x4 td {
font-size:50%
}
table.tiles_5x5 td {
font-size:40%
}
/* Safari fix */
table.tiles_sub.tiles_3x3 td div {
min-height: 100px;
min-width: 100px;
}
table.tiles_sub.tiles_2x2 td div {
min-height: 150px;
min-width: 150px;
}
table.tiles_sub.tiles_1x1 td div {
min-height: 300px;
min-width: 300px;
}
table.tiles_sub a span {
overflow-wrap: anywhere;
}
div#showcase_container {
display: flex;
margin-top: -15px;
padding-bottom: 20px;
align-items: flex-start;
flex-wrap: wrap;
}
div#showcase_container table.album {
width: 180px;
}
div#showcase_container table.album tr td {
padding-left: 15px;
padding-right: 15px;
}
div#showcase_container table.album tr:nth-child(1) td {
height:8px;
opacity: 0.3;
text-align: center;
}
div#showcase_container table.album tr:nth-child(2) td {
height:150px;
padding-top:2px;
padding-bottom:2px;
}
div#showcase_container table.album tr:nth-child(3) td {
height:15px;
}
div#showcase_container div {
height: 150px;
width: 150px;
background-size: cover;
background-position: top;
box-shadow: 0px 0px 10px 10px rgba(0,0,0,0.5);
}
div#showcase_container table:hover div {
box-shadow: 0px 0px 10px 10px var(--ctrl-element-color-main);
}
div#showcase_container span.album_artists {
font-size: 80%;
}
div#showcase_container span.album_title {
font-weight: bold;
}
.summary_rank {
background-size:cover;
background-position:center;
display: inline-block;
}
.summary_rank_1 {
width:300px;
height:300px;
border: 6px solid gold;
}
.summary_rank_2 {
width:250px;
height:250px;
border: 4px solid silver;
}
.summary_rank_3 {
width:240px;
height:240px;
border: 3px solid #cd7f32;
}
/*
**
**
** Pulse / performance thingies
**
**
*/
span.stat_module_pulse, span.stat_module_topartists, span.stat_module_toptracks {
display: inline-block;
vertical-align: top;
}
/*
**
**
** SIDE LIST ON START PAGE
**
**
*/
@media (min-width: 1600px) {
div.sidelist {
position:absolute;
right:0px;
top:0px;
width:40%;
height:100%;
--current-bg-color: var(--base-color-light); /* drag this information through inheritances */
background-color: var(--current-bg-color);
padding-left:30px;
padding-right:30px;
}
}
div.sidelist table {
width:100%;
table-layout:fixed;
}
div.sidelist table.list td.time {
width:17%;
}