blob: 2d517d943d80ab1ba15aabac57fb30847e2db4a8 [file] [log] [blame]
@import url('https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300;0,400;0,600;0,700;1,400&display=swap');
body {
margin: 0;
font-family: 'Open Sans', 'Arial', sans-serif;
}
[hidden] {
display: none;
}
.header {
display: flex;
justify-content: flex-start;
align-items: center;
position: fixed;
top: 0;
width: calc(100% - 16px);
padding: 8px 8px;
background-color: #f3f3f3;
box-shadow: black 0 -1px 4px;
z-index: 100;
}
.header .header-logo {
display: flex;
flex: 1;
}
.header .header-logo img {
height: 42px;
}
.header button {
margin-left: 8px;
}
.app-content {
max-width: min(calc(100% - 32px), 800px);
margin: 74px auto 16px auto;
}
.hero-message {
background: orange;
color: black;
border-radius: 4px;
padding: 16px;
margin-bottom: 16px;
}
.message {
text-align: center;
}
.message-icon {
display: inline-block;
width: 64px;
fill: #0277BD;
}
.message.message--error .message-icon {
fill: #D50000;
}
.message-title {
margin: 4px 0;
}
.message-text {
margin: 8px 0;
}
.booklet-header {
text-align: center;
margin-bottom: 18px;
}
.booklet-header .booklet-header-title {
margin: 0;
font-size: 30px;
}
.booklet-header .booklet-header-subtitle {
margin: 0;
font-size: 18px;
}
.song {
position: relative;
border: solid 1px gray;
border-radius: 3px;
padding: 12px;
margin-bottom: 18px;
box-shadow: #bdbdbd 0 1px 3px;
}
.song .song-time {
position: absolute;
top: 12px;
right: 12px;
}
.song .song-title {
margin-top: 0;
margin-bottom: 4px;
font-size: 20px;
}
.song .song-author {
font-style: italic;
margin-bottom: 8px;
}
.song .performers .performers-item {
margin-bottom: 2px;
}
.song .performers .instrument {
font-weight: 600;
text-decoration: underline;
}
.update-available {
position: fixed;
bottom: 0;
left: 0;
right: 0;
padding: 16px;
background: black;
color: white;
}
button.primary-btn {
font-family: inherit;
font-size: 100%;
line-height: 1.15;
margin: 0;
text-transform: none;
-webkit-appearance: button;
border: 0;
border-radius: 4px;
padding: 8px;
color: white;
background-color: #0277BD;
cursor: pointer;
}
button.primary-btn:hover {
background-color: #1591DC;
}
button.primary-btn:active {
background-color: #22A3F1;
}
/* Section adapted from
* https://chromium.googlesource.com/infra/infra/+/master/appengine/monorail/static_src/elements/projects/mr-projects-page/mr-projects-page.js
* Copyright 2019 The Chromium Authors. All rights reserved.
* License: https://chromium.googlesource.com/infra/infra/+/master/LICENSE
**/
.concerts-list {
display: flex;
align-items: stretch;
flex-wrap: wrap;
width: 100%;
padding: 0.5em 0;
margin-bottom: 3em;
}
.concert {
text-align: left;
width: 200px;
margin-left: 16px;
margin-right: 16px;
margin-bottom: 32px;
display: flex;
flex-direction: column;
align-items: flex-start;
justify-content: flex-start;
border-radius: 4px;
border: 1px solid #aaa;
padding: 16px;
font-weight: normal;
line-height: 16px;
transition: all 0.1s ease-in-out;
}
.concert:hover {
text-decoration: none;
cursor: pointer;
box-shadow: 0 2px 6px hsla(0,0%,0%,0.12),
0 1px 3px hsla(0,0%,0%,0.24);
}
.concert-title {
font-size: 16px;
line-height: 24px;
margin: 0;
margin-bottom: 16px;
padding-top: 0.1em;
padding-bottom: 16px;
letter-spacing: 0.1px;
font-weight: 600;
width: 100%;
border-bottom: 1px solid #aaa;
}
.concert-subtitle {
margin: 0 0 32px;
flex-grow: 1;
line-height: initial;
}
.linkify {
display: inline;
padding: 0px;
margin: 0px;
border: 0px;
background: 0px center;
cursor: pointer;
color: #0277BD;
}
.concert-btn {
text-transform: uppercase;
margin: 0px;
font-weight: 600;
flex-grow: 0;
}
/* End of section */
/* DARK THEME */
@media screen {
.dark-theme {
background-color: #111;
color: white;
}
.dark-theme .header {
color: white;
background-color: #0c0c0c;
box-shadow: white 0 -1px 4px;
}
.dark-theme .header-logo {
filter: invert(1);
}
.dark-theme .song {
box-shadow: none;
}
.dark-theme .update-available {
background: white;
color: black;
}
.dark-theme .concert:hover {
box-shadow: 0 2px 6px hsla(0,0%,100%,0.12),
0 1px 3px hsla(0,0%,100%,0.24);
}
.dark-theme .linkify {
color: #4cb9fb;
}
}
@media print {
.header {
position: absolute;
box-shadow: none;
border-bottom: solid 1px gray;
}
.song {
break-inside: avoid-page;
box-shadow: none;
margin-bottom: 12px;
padding: 6px 12px;
}
.song .song-title {
margin-bottom: 3px;
}
.song .song-author {
margin-bottom: 6px;
}
.song .performers .performers-item {
margin-bottom: 1.5px;
}
#previous-concerts-btn {
display: none;
}
}