1 /* Copyright 2014 - 2016 Paul Hänsch
3 This file is part of Serve0
5 Serve0 is free software: you can redistribute it and/or modify
6 it under the terms of the GNU Affero General Public License as published by
7 the Free Software Foundation, either version 3 of the License, or
8 (at your option) any later version.
10 Serve0 is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU Affero General Public License for more details.
15 You should have received a copy of the GNU Affero General Public License
16 along with Serve0 If not, see <http://www.gnu.org/licenses/>.
20 -moz-box-sizing: border-box;
21 box-sizing: border-box;
22 -moz-transition: all .25s linear;
23 transition: all .25s linear;
29 background-color: #000;
33 legend, label, .label { font-weight: bold; }
35 input.tabhandle { display: none; }
36 .tabcontent { display: none; }
37 input.tabhandle:checked + label.tabhandle + .tabcontent { display: inline-block; }
38 input.tabhandle:checked + .tabcontent { display: inline-block; }
48 background-color: rgba(208,208,255,.625 );
50 border: #000 1px solid;
54 background-color: #DBB;
59 display: inline-block;
63 background-color: #333;
68 text-decoration: none;
71 .pagination_nav a.previous,
72 .pagination_nav a.current,
73 .pagination_nav a.next { display: inline-block; }
74 .pagination_nav a.current { color: #F66; font-weight: bold; }
76 .pagination_nav:hover {
80 padding: .5em 3ex .5em 0;
83 #search .pagination_nav:hover {
86 border-bottom: 1px solid #FFF;
88 #foot .pagination_nav:hover {
90 padding-bottom: 2.5em;
91 border-top: 1px solid #FFF;
93 .pagination_nav:hover a { display: inline; }
98 .panel#search select { margin-right: .5em; }
100 display: block; content: '';
104 .panel#search, .panel#foot,
105 .panel.top, .panel.bottom {
110 background-color: #333;
115 .panel#search, .panel.top {
116 position: relative; top: 0;
117 border-style: none none solid none;
119 .panel.top.switchable { position: absolute; }
120 .panel#foot, .panel.bottom {
123 border-style: solid none none none;
129 margin: 0; padding: 0;
132 .panel.switchable:target {
140 body.playctl .panel#search,
141 body.playctl .panel.top {
143 border-top: 1px solid #FFF;
146 .panel#search > a, .panel#foot > a,
147 .panel.top > a, .panel.bottom > a{
148 display: inline-block;
150 text-decoration: none;
151 margin: .25em .5em 0 0;
154 .panel.switchable.top a:first-of-type {
157 border-bottom: 1px solid #FFF;
159 .panel.switchable.bottom a:last-of-type {
162 border-top: 1px solid #FFF;
166 /* == Panel Elements == */
168 .panel.switchable > fieldset,
169 .panel.switchable > input[type=submit] {
171 display: inline-block;
177 .panel.switchable > fieldset.additional,
178 .panel.switchable > fieldset.description {
182 /* == Advanced Filters == */
184 /* == Filter Boxes == */
186 border: solid 1px #FFF;
187 border-radius: .25em;
190 #advfilter .filter .tabcontainer {
195 #advfilter .filter .tabcontainer input + .category.tabhandle {
199 #advfilter .filter .tabcontainer input:checked + .category.tabhandle {
203 #advfilter .filter .tabcontainer .category.tabcontent {
209 border: 2px #FFF solid;
210 border-radius: 0 .25em .25em 0;
213 #advfilter > label.tabhandle {
219 /* == Dynamic Appearance of Boxes == */
220 .panel#advfilter > .tabhandle + label { display: none; }
221 .panel#advfilter > .tabhandle:checked + label + .tabcontent + .tabhandle + label { display: inline-block; }
222 .panel#advfilter > .tabhandle:checked + label + .tabcontent + .tabhandle:checked + label { display: none; }
223 .panel#advfilter > .tabhandle + label + .tabcontent {
224 display: inline-block;
231 .panel#advfilter > .tabhandle:checked + label + .tabcontent {
235 border: solid 1px #FFF;
238 #advfilter .filter.final {
244 /* == Recent filters == */
246 p.quicklinks { padding-bottom: 3em; }
247 p.quicklinks :first-child {width: 100%;}
248 p.quicklinks input { display: block; }
251 word-wrap: break-word;
253 margin-bottom: .75em;
256 p.quicklinks input:checked,
257 p.quicklinks input:checked + a { display: none;}
259 /* == Thumblist == */
263 padding: .5em 0 3em 0;
269 display: inline-block;
274 margin-bottom: .75em;
276 word-wrap: break-word;
278 @media (min-width: 460px){#thumblist .thumb{width: 48%;}}
279 @media (min-width: 620px){#thumblist .thumb{width: 32%;}}
280 @media (min-width: 1004px){#thumblist .thumb{width: 250px; margin: 2px;}}
282 #thumblist .thumb img {
284 margin: 0; padding: 0;
286 #thumblist .thumb h2 {
293 border-bottom: 1px solid #333;
294 background: rgba(0,0,0,.5);
296 #thumblist .thumb .property {
297 position: absolute; left: .25em;
300 #thumblist .thumb .property:nth-of-type(2) { left: 5em;}
301 #thumblist .thumb button {
304 margin: 0; padding: 0;
307 background-color: transparent;
317 display: inline-block;
322 margin-bottom: .75em;
324 word-wrap: break-word;
326 @media (min-width: 460px){#thumblist .file{width: 48%;}}
327 @media (min-width: 620px){#thumblist .file{width: 32%;}}
328 @media (min-width: 1004px){#thumblist .file{width: 250px; margin: 2px;}}
330 #thumblist .file.directory { background-color: #BBD; }
331 #thumblist .file.plain { background-color: #111; color: #777; }
332 #thumblist .file.video { background-color: #DBB; }
334 .panel#tagger .newtag { width: 50%;}
335 .panel#tagger .newtag.additional,
336 .panel#tagger .newtag.description { width: 100%;}
337 .panel#tagger .newtag select,
338 .panel#tagger .newtag .label{
342 .panel#tagger input[type=submit],
343 .panel#tagger button {
344 min-width: 10em; height: 3em;
346 @media (min-width: 460px){
347 .panel#tagger .newtag { width: 10em;}
348 .panel#tagger .newtag.additional,
349 .panel#tagger .newtag.description { width: 20em; max-width: 40%; }
352 .panel#preferences > fieldset {
354 border-radius: .25em;
356 .panel#preferences > input { display: block; }
358 /* == Client side player == */
361 #playctl h1 { font-size: 1.25em;}
362 #videoview h1, #videoview > a,
363 #playctl h1, #playctl > a {
364 display: inline-block;
366 padding: 0; margin: .5em 0;
374 /* == Server side player == */
376 form.playctl fieldset {
383 form.playctl fieldset.playback { height: 12em; }
384 form.playctl fieldset.playback button {
388 background-color: #EEE;
389 border: 1px solid #333;
391 form.playctl fieldset.playback button[value="-60"] {top: 6em; left: 0; width: 20%;}
392 form.playctl fieldset.playback button[value="-10"] {top: 6em; left: 20%; width: 30%;}
393 form.playctl fieldset.playback button[value="stop"] {top: 0; left: 0; width: 40%;}
394 form.playctl fieldset.playback button[value="pause"] {top: 0; right: 0; width: 60%;}
395 form.playctl fieldset.playback button[value="+10"] {top: 6em; right: 20%; width: 30%;}
396 form.playctl fieldset.playback button[value="+60"] {top: 6em; right: 0; width: 20%;}
398 form.playctl fieldset.volume { height: 3em; }
399 form#advctl.playctl fieldset.volume { height: 4em; }
400 form.playctl fieldset.volume button[name="amp"] {position: absolute; width: 50%; height: 4em; top: 0;}
401 form.playctl fieldset.volume button[value="off"] {left:0;}
402 form.playctl fieldset.volume button[value="on"] {right:0;}
403 form.playctl fieldset.volume button[name="vol"] {position: relative; display: inline-block; width: 4%;}
404 form.playctl fieldset.volume button[name="vol"].selected { background-color: #FA6;}
405 form.playctl fieldset.volume button[name="vol"][value="100"],
406 form.playctl fieldset.volume button[name="vol"][value="0"] { width: 4%;}
407 form.playctl fieldset.pasink button { width: 100%; height: 3em;}
413 width: 100%; left:0; right: 0;
415 background-color: black;
416 border-top: 1px solid white;
421 span.progress > span {
425 background-color: #333;