blob: bcf05269c309513286db65b4f5be03ceaab94969 [file] [log] [blame]
avm999631ca663e2020-12-17 19:34:22 +01001@import url('https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300;0,400;0,600;0,700;1,400&display=swap');
2
3body {
4 margin: 0;
5 font-family: 'Open Sans', 'Arial', sans-serif;
6}
7
8[hidden] {
9 display: none;
10}
11
12.header {
13 display: flex;
14 justify-content: flex-start;
avm9996304c97542020-12-20 19:11:16 +010015 align-items: center;
avm999631ca663e2020-12-17 19:34:22 +010016 position: fixed;
17 top: 0;
18 width: calc(100% - 16px);
19 padding: 8px 8px;
20 background-color: #f3f3f3;
21 box-shadow: black 0 -1px 4px;
avm99963b2a3fa92020-12-21 16:07:29 +010022 z-index: 100;
avm999631ca663e2020-12-17 19:34:22 +010023}
24
25.header .header-logo {
avm9996304c97542020-12-20 19:11:16 +010026 display: flex;
27 flex: 1;
28}
29
30.header .header-logo img {
avm999631ca663e2020-12-17 19:34:22 +010031 height: 42px;
32}
33
avm9996304c97542020-12-20 19:11:16 +010034.header button {
35 margin-left: 8px;
36}
37
avm999631ca663e2020-12-17 19:34:22 +010038.app-content {
39 max-width: min(calc(100% - 32px), 800px);
40 margin: 74px auto 16px auto;
41}
42
avm99963b2a3fa92020-12-21 16:07:29 +010043.hero-message {
44 background: orange;
45 color: black;
46 border-radius: 4px;
47 padding: 16px;
48 margin-bottom: 16px;
49}
50
avm999631ca663e2020-12-17 19:34:22 +010051.message {
52 text-align: center;
53}
54
55.message-icon {
56 display: inline-block;
57 width: 64px;
58 fill: #0277BD;
59}
60
61.message.message--error .message-icon {
62 fill: #D50000;
63}
64
65.message-title {
66 margin: 4px 0;
67}
68
69.message-text {
70 margin: 8px 0;
71}
72
73.booklet-header {
74 text-align: center;
75 margin-bottom: 18px;
76}
77
Adrià Vilanova Martínezc5f06262022-03-26 18:56:47 +010078.booklet-header--invisible {
79 display: none;
80}
81
avm999631ca663e2020-12-17 19:34:22 +010082.booklet-header .booklet-header-title {
83 margin: 0;
84 font-size: 30px;
85}
86
87.booklet-header .booklet-header-subtitle {
88 margin: 0;
89 font-size: 18px;
90}
91
92.song {
avm99963b2a3fa92020-12-21 16:07:29 +010093 position: relative;
avm999631ca663e2020-12-17 19:34:22 +010094 border: solid 1px gray;
95 border-radius: 3px;
96 padding: 12px;
97 margin-bottom: 18px;
98 box-shadow: #bdbdbd 0 1px 3px;
99}
100
avm99963b2a3fa92020-12-21 16:07:29 +0100101.song .song-time {
102 position: absolute;
103 top: 12px;
104 right: 12px;
105}
106
avm999631ca663e2020-12-17 19:34:22 +0100107.song .song-title {
108 margin-top: 0;
109 margin-bottom: 4px;
110 font-size: 20px;
111}
112
113.song .song-author {
114 font-style: italic;
115 margin-bottom: 8px;
116}
117
118.song .performers .performers-item {
119 margin-bottom: 2px;
120}
121
122.song .performers .instrument {
123 font-weight: 600;
124 text-decoration: underline;
125}
126
avm9996320fdf2a2020-12-20 13:08:16 +0100127.update-available {
128 position: fixed;
129 bottom: 0;
130 left: 0;
131 right: 0;
132 padding: 16px;
133 background: black;
134 color: white;
135}
136
avm9996304c97542020-12-20 19:11:16 +0100137button.primary-btn {
138 font-family: inherit;
139 font-size: 100%;
140 line-height: 1.15;
141 margin: 0;
142 text-transform: none;
143 -webkit-appearance: button;
144 border: 0;
145 border-radius: 4px;
146 padding: 8px;
147 color: white;
148 background-color: #0277BD;
149 cursor: pointer;
150}
151
152button.primary-btn:hover {
153 background-color: #1591DC;
154}
155
156button.primary-btn:active {
157 background-color: #22A3F1;
158}
159
160/* Section adapted from
161 * https://chromium.googlesource.com/infra/infra/+/master/appengine/monorail/static_src/elements/projects/mr-projects-page/mr-projects-page.js
162 * Copyright 2019 The Chromium Authors. All rights reserved.
163 * License: https://chromium.googlesource.com/infra/infra/+/master/LICENSE
164 **/
165.concerts-list {
166 display: flex;
167 align-items: stretch;
168 flex-wrap: wrap;
169 width: 100%;
170 padding: 0.5em 0;
171 margin-bottom: 3em;
172}
173
174.concert {
175 text-align: left;
176 width: 200px;
177 margin-left: 16px;
178 margin-right: 16px;
179 margin-bottom: 32px;
180 display: flex;
181 flex-direction: column;
182 align-items: flex-start;
183 justify-content: flex-start;
184 border-radius: 4px;
185 border: 1px solid #aaa;
186 padding: 16px;
187 font-weight: normal;
188 line-height: 16px;
189 transition: all 0.1s ease-in-out;
190}
191
192.concert:hover {
193 text-decoration: none;
194 cursor: pointer;
195 box-shadow: 0 2px 6px hsla(0,0%,0%,0.12),
196 0 1px 3px hsla(0,0%,0%,0.24);
197}
198
199.concert-title {
200 font-size: 16px;
201 line-height: 24px;
202 margin: 0;
203 margin-bottom: 16px;
204 padding-top: 0.1em;
205 padding-bottom: 16px;
206 letter-spacing: 0.1px;
207 font-weight: 600;
208 width: 100%;
209 border-bottom: 1px solid #aaa;
210}
211
212.concert-subtitle {
213 margin: 0 0 32px;
214 flex-grow: 1;
avm999636e345952021-03-01 23:11:39 +0100215 line-height: initial;
avm9996304c97542020-12-20 19:11:16 +0100216}
217
218.linkify {
219 display: inline;
220 padding: 0px;
221 margin: 0px;
222 border: 0px;
223 background: 0px center;
224 cursor: pointer;
225 color: #0277BD;
226}
227
228.concert-btn {
229 text-transform: uppercase;
230 margin: 0px;
231 font-weight: 600;
232 flex-grow: 0;
233}
234/* End of section */
235
avm999631ca663e2020-12-17 19:34:22 +0100236/* DARK THEME */
237@media screen {
238 .dark-theme {
239 background-color: #111;
240 color: white;
241 }
242
243 .dark-theme .header {
244 color: white;
245 background-color: #0c0c0c;
246 box-shadow: white 0 -1px 4px;
247 }
248
249 .dark-theme .header-logo {
250 filter: invert(1);
251 }
252
253 .dark-theme .song {
254 box-shadow: none;
255 }
avm9996320fdf2a2020-12-20 13:08:16 +0100256
257 .dark-theme .update-available {
258 background: white;
259 color: black;
260 }
avm9996304c97542020-12-20 19:11:16 +0100261
262 .dark-theme .concert:hover {
263 box-shadow: 0 2px 6px hsla(0,0%,100%,0.12),
264 0 1px 3px hsla(0,0%,100%,0.24);
265 }
266
267 .dark-theme .linkify {
268 color: #4cb9fb;
269 }
avm999631ca663e2020-12-17 19:34:22 +0100270}
271
272@media print {
273 .header {
274 position: absolute;
275 box-shadow: none;
276 border-bottom: solid 1px gray;
277 }
278
Adrià Vilanova Martínezc5f06262022-03-26 18:56:47 +0100279 .booklet-header--invisible {
280 display: block;
281 }
282
283 .booklet-custom-header {
284 display: none;
285 }
286
avm999631ca663e2020-12-17 19:34:22 +0100287 .song {
288 break-inside: avoid-page;
289 box-shadow: none;
avm99963572d9bb2020-12-20 20:01:54 +0100290 margin-bottom: 12px;
291 padding: 6px 12px;
292 }
293
294 .song .song-title {
295 margin-bottom: 3px;
296 }
297
298 .song .song-author {
299 margin-bottom: 6px;
300 }
301
302 .song .performers .performers-item {
303 margin-bottom: 1.5px;
304 }
305
306 #previous-concerts-btn {
307 display: none;
avm999631ca663e2020-12-17 19:34:22 +0100308 }
309}