Persoenliche Mediazentrale
ulrich
2021-05-06 f70acbb491c6421623cca57292a75f1820efad4d
commit | author | age
960359 1 /*
U 2   Tango - Personal Media Center
3   Copyright (C) 2021  Ulrich Hilger
4
5   This program is free software: you can redistribute it and/or modify
6   it under the terms of the GNU Affero General Public License as
7   published by the Free Software Foundation, either version 3 of the
8   License, or (at your option) any later version.
9
10   This program 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.
14
15   You should have received a copy of the GNU Affero General Public License
16   along with this program.  If not, see <https://www.gnu.org/licenses/>.
17 */
cfa858 18 html, body {
U 19   margin: 0;
20   padding: 0;
21   height: 100%; /* Anmerkung 2 */
22   font-size: larger;
d12f6e 23   font-family: 'Roboto';
cfa858 24 }
U 25 body {
26   min-height: 0; /* Anmerkung 1 */
27   display: flex;
28   flex-flow: column;
29 }
30 .inhalt {
31   display: flex;
32   flex-flow: row;
33   height: 100%; /* Anmerkung 2 */
34   min-height: 0; /* Anmerkung 1 */
35   background-color: #ededed;
36   overflow: hidden;
37 }
38 .nord {
39   background-color: black;
40   display: flex;
41   flex-flow: row;
d12f6e 42   height: 1.3em;
cfa858 43   align-items: center;
bebd47 44   justify-content: space-between;
d12f6e 45 }
U 46 #nav-menu {
47   margin-left: 0.4rem;
cfa858 48 }
U 49 .sued {
50   height: 1.5em;
51   overflow: hidden;
52   transition: all 0.3s ease-in;
53   background-color: lightgray;
54 }
55 .west {
56   flex-grow: 0;
57   flex-shrink: 0;
58   flex-basis: 4em;
faab2d 59   background-color: #ececec; /* white; */
cfa858 60   transition: all 0.3s ease-in;
U 61   overflow: hidden;
62   white-space: nowrap;
63 }
64 .ost {
65   flex-grow: 0;
66   flex-shrink: 0;
67   flex-basis: 6em;
68   transition: all 0.3s ease-in;
69   background-color: antiquewhite;
70   overflow: hidden;
71 }
72 .zentrum-behaelter {
73   display: flex;
74   flex-flow: column;
75   /* background-color: #eaeaea; */
76   width: 100%;
77 }
78
79 .zentrum {
80   width: 100%;
81   height: 100%;
82   overflow-x: hidden;
83   overflow-y: auto;
84   -webkit-overflow-scrolling: touch;
faab2d 85   background-color: white;
cfa858 86 }
U 87
88 .zentraler-inhalt {
89   padding: 0.5em;
90 }
91
92 /*
93   Anmerkungen:
94   1.) min.height: 0 fuer body und inhalt ist gegen einen Bug, vgl.
95       http://stackoverflow.com/questions/33859811/understanding-flexbox-and-overflowauto
96   2.) height 100% fuer html, body und inhalt sorgt dafuer, dass sich alles
97       immer ueber das gesamte Browserfenster ausdehnt.
98 */
99
100 .app-titel {
101   margin-left: 0.6em;
102   color: white;
0866ae 103   font-size: 1.2rem;
cfa858 104 }
U 105
106 .pointer-cursor {
107   cursor: pointer;
108 }
109
50e53e 110 .top-band {
U 111   display: flex;
112   flex-flow: row;
d12f6e 113   padding: 0.2rem 0 0.2rem 0.2rem;
0866ae 114   font-size: smaller;  
50e53e 115 }
U 116
78d707 117 .breadcrumb-behaelter {
U 118   display: flex;
119   flex-flow: row;
120   font-size: smaller;
121 }
122
123 .breadcrumb-link {
124   padding-right: 0.3rem;
125   text-decoration: none;
126   color: #0a67d1;
127 }
128
129 .breadcrumb-link:hover {
130   text-decoration: underline;
131 }
132
50e53e 133 .bereich-name {
U 134   padding-left: 0.4rem;
d12f6e 135   font-size: smaller;  
50e53e 136 }
U 137
cfa858 138 .dialog {
U 139   position: relative;
140   /* height: 0.1em; */
141   transition: all 0.3s ease-in;
0866ae 142   font-size: smaller;
cfa858 143 }
U 144
8239d1 145 .dialog-unten {
bebd47 146   /* position: relative; */
8239d1 147   /* height: 0.1em; */
bebd47 148   /* transition: all 0.3s ease-in; */
938b6b 149   height: 8.2em;
8239d1 150 }
U 151
cfa858 152 .dlg-behaelter {
U 153   line-height: 1.6;
154   padding: 0.4em;
155 }
156
157 .dlg-info {
faab2d 158   background-color: #dcf2fb; /* blau */
cfa858 159   padding: 0.4em;
U 160 }
161
162 /*
163   Close Button
164
165   <div>
166     <span class="close-btn">&#10006;</span>
167   </div>
168 */
169
170 .close-btn {
171   position: absolute;
172   top: 0px;
173   right: 0.4em;
174   margin: 0;
175   padding: 0;
176   font-size: 1.3em;
177   color: #b8b8b8;
178 }
b379f5 179
U 180 /* ab hier Mediazentrale */
181
182 .entity-formular {
183   display: flex;
184   flex-flow: column;
d12f6e 185   font-size: smaller;
b379f5 186 }
U 187
3e5a56 188 .geraet-schalt-eintrag {
U 189   display: flex;
190   flex-flow: row;
4a3508 191   /* justify-content: center; */
U 192   align-items: center;
3e5a56 193   font-size: smaller;
4a3508 194   padding: 0 0 0.2rem 0;
3e5a56 195 }
U 196
197 .schalt-geraet-name {
29be41 198   /* background-color: red; */
4a3508 199   padding: 0 0 0 0.2rem;
29be41 200 }
U 201
202 .schalt-geraet-false {
203   color: red;
204 }
205
206 .schalt-geraet-true {
207   color: green;
208   font-weight: bold;
209 }
210
211 .schalt-btn {
212   display: inline-block;
5c6214 213   
U 214   /*
215   width: 2rem;
216   font-size: medium;
217   display: inline-block;
218   height: 2rem;
219   */
220   
221   /* height: 38px; */
29be41 222   /* padding: 0 30px; */
U 223   text-align: center;
5c6214 224   font-size: 1.3rem;
29be41 225   font-weight: 600;
U 226   line-height: 38px;
227   letter-spacing: .1rem;
228   text-transform: uppercase;
229   text-decoration: none;
230   white-space: nowrap;
231   /* background-color: transparent;*/
232   border-radius: 4px;
5c6214 233   border: 0px solid #bbb;
29be41 234   cursor: pointer;
U 235   box-sizing: border-box;
4a3508 236   margin: 0 0.2rem 0 0;
29be41 237 }
U 238
5c6214 239 .toggle-icon {
U 240   pointer-events: none;
3e5a56 241 }
U 242
da33e6 243 .noselect {
U 244   -webkit-touch-callout: none; /* iOS Safari */
245     -webkit-user-select: none; /* Safari */
246      -khtml-user-select: none; /* Konqueror HTML */
247        -moz-user-select: none; /* Old versions of Firefox */
248         -ms-user-select: none; /* Internet Explorer/Edge */
249             user-select: none; /* Non-prefixed version, currently
250                                   supported by Chrome, Edge, Opera and Firefox */
251 }
252
faab2d 253 .entity-liste-kopf {
U 254   display: flex;
255   flex-flow: row;
256   justify-content: space-between;
257   vertical-align: middle;
258 }
259
260 .entity-liste-kopf .button {
261   /* margin-left: 1rem; */
262   /* margin-top: -0.2rem; */
263 }
264
b379f5 265 .entity-element {
U 266   margin: 0.4rem;
faab2d 267 }
d12f6e 268
9c7bda 269 .entity-form-element {
U 270   margin: 0.4rem;
d12f6e 271 }
faab2d 272
U 273 .entity-element:hover {
7c22a2 274   background-color: #ececec;
b379f5 275 }
U 276
a43e1a 277 .entity-liste {
U 278   list-style-type: none;
50e53e 279   padding: 0;
U 280   margin: 0;
a43e1a 281 }
U 282
283 .entity-eintrag {
50e53e 284   margin-top: 0.3rem;
a43e1a 285   margin-left: 0;
U 286   margin-right: 0;
287   margin-bottom: 0;
faab2d 288   cursor: pointer;
U 289 }
290
291 .entity-eintrag:hover {
da33e6 292   /* background-color: #ececec; */
c1c2b0 293   color: red;
U 294   /* font-weight: bolder; */
a43e1a 295 }
U 296
7c22a2 297 .entity-typ-folder:before {
U 298   font-family: "pikto";
299   content: '\f114';
300   padding-right: 0.3rem;
301 }
302
303 .entity-typ-audio:before {
304   font-family: "pikto";
305   content: '\e817'; /* icon-music */
306   padding-right: 0.3rem;
307 }
308
309 .entity-typ-video:before {
310   font-family: "pikto";
311   content: '\e816'; /* icon-video */
312   padding-right: 0.3rem;
313 }
314
315 .entity-typ-file:before {
316   font-family: "pikto";
317   content: '\e805';  /* icon-doc */
318   padding-right: 0.3rem;
319 }
320
90d368 321 .entity-typ-katalog:before {
U 322   font-family: "pikto";
323   content: '\f1c0';  /* icon-database */
324   padding-right: 0.3rem;
325 }
326
5b7356 327 .form-button-footer {
U 328   display: flex;
329   flex-flow: row;
7c22a2 330 }
U 331
332 .selected {
333   background-color: #ececec;
5b7356 334 }
U 335
78d707 336 .added-to-playlist {
U 337   background-color: #cce1fa;
338 }
339
5b7356 340 .dlg-btn {
U 341   margin-left: 0.4rem;
342 }
343
bebd47 344 .ctrl {
U 345   display: flex;
346   flex-flow: column;
347 }
348
349 .ctrl-btns {
350   display: flex;
351   flex-flow: row;
352   justify-content: center;
353 }
354
355 .ctrl-item {
356   margin-left: 0.2rem;
357   margin-top: 0.2rem;
358 }
359
8d7d35 360 .ctrl-btn, .ctrl-btn:focus {
50e53e 361   width: 2rem;
b90d67 362   font-size: medium;
U 363   display: inline-block;
364   height: 2rem;
365   /* padding: 0 30px; */
7c22a2 366   color: black;
b90d67 367   text-align: center;
U 368   font-weight: 600;
369   line-height: 2rem;
370   letter-spacing: .1rem;
371   text-transform: none;
372   text-decoration: none;
373   white-space: nowrap;
8d7d35 374   /* background-color: transparent; */
b90d67 375   border-radius: 4px;
8d7d35 376   border: 0;
b90d67 377   cursor: pointer;
U 378   box-sizing: border-box; 
8d7d35 379 }
U 380
381 .ctrl-btn:hover {
382   color: white;
383   background-color: #707070; /* #e1e1e1;*/  /* #707070; */
bebd47 384 }
U 385
386 .ctrl-select {
387   width: 4rem;
388 }
389
390 .ctrl-orte {
391   display: flex;
392   flex-flow: row;
393   justify-content: center;
394 }
395
f6ea0c 396 .ctrl-menue {
U 397   display: flex;
398   flex-flow: row;
399   justify-content: center;  
400 }
401
bebd47 402 .top-btn-area {
8d7d35 403   display: flex;
U 404   flex-flow: row;
bebd47 405   /*margin-left: auto;*/
0866ae 406   margin: -0.2em 0.2em 0 2em;
bebd47 407 }
U 408
8d7d35 409 .top-btn, .top-btn:focus {
bebd47 410   margin: 0;
0866ae 411   padding: 0 0.1rem 0 0.1rem;
bebd47 412   height: 1.3em;
U 413   line-height: 1em;
414   text-align: center;
415   font-size: large;
8d7d35 416   color: white;
U 417   border-radius: 4px;
418   border: 0;
419   /* background-color: white; */
0866ae 420   width: 1.4rem;
bebd47 421 }
U 422
8d7d35 423 .top-btn:hover {
U 424   color: black;
425   background-color: #e1e1e1; /* #707070; */
426 }
faab2d 427
b379f5 428 @media (min-width: 800px) {
faab2d 429   .zentraler-inhalt {
b379f5 430     margin: 0 10% 0 10%;
U 431   }
a07e7e 432   
U 433   .ctrl {
434     display: flex;
435     flex-flow: row;
436     justify-content: center;
437   }
438
439   .dialog-unten {
440     /* position: relative; */
441     /* height: 0.1em; */
442     /* transition: all 0.3s ease-in; */
443     height: 2.2em;
444   }
445   
446   .ctrl-btns {
447     /* margin: 0 0 0 1rem; */
448   }
449   
450   .ctrl-orte {
451     margin: 0 0 0 1.8rem;    
452   }
453   
454   .ctrl-menue {
455     margin: 0 0 0 1.8rem;    
456   }
457   
b379f5 458 }
U 459
d12f6e 460 /* Fonts */
U 461
462 @font-face {
463   font-family: 'Roboto';
464   src: url('font/Roboto-Regular.ttf') format('truetype');
465 }
466
b90d67 467 /* Font für Piktogramme mit Fontello aus FontAwesome erzeugt */
U 468
469 @font-face {
470   font-family: 'pikto';
f6ea0c 471   src: url('font/pikto.ttf?68902687') format('truetype');
b90d67 472   font-weight: normal;
U 473   font-style: normal;
474 }
475 /* Chrome hack: SVG is rendered more smooth in Windozze. 100% magic, uncomment if you need it. */
476 /* Note, that will break hinting! In other OS-es font will be not as sharp as it could be */
477 /*
478 @media screen and (-webkit-min-device-pixel-ratio:0) {
479   @font-face {
480     font-family: 'pikto';
481     src: url('../font/pikto.svg?49751252#pikto') format('svg');
482   }
483 }
484 */
485  
486  [class^="icon-"]:before, [class*=" icon-"]:before {
487   font-family: "pikto";
488   font-style: normal;
489   font-weight: normal;
490   speak: never;
491  
492   display: inline-block;
493   text-decoration: inherit;
494   width: 1em;
495   margin-right: .2em;
496   text-align: center;
497   /* opacity: .8; */
498  
499   /* For safety - reset parent styles, that can break glyph codes*/
500   font-variant: normal;
501   text-transform: none;
502  
503   /* fix buttons height, for twitter bootstrap */
504   line-height: 1em;
505  
506   /* Animation center compensation - margins should be symmetric */
507   /* remove if not needed */
7d3118 508   /* margin-left: .2em; */
b90d67 509  
U 510   /* you can be more comfortable with increased icons size */
511   /* font-size: 120%; */
512  
513   /* Font smoothing. That was taken from TWBS */
514   -webkit-font-smoothing: antialiased;
515   -moz-osx-font-smoothing: grayscale;
516  
517   /* Uncomment for 3D effect */
518   /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */
519 }
520  
521 .icon-cancel:before { content: '\e800'; } /* '' */
522 .icon-th-large:before { content: '\e801'; } /* '' */
523 .icon-th-list:before { content: '\e802'; } /* '' */
524 .icon-folder:before { content: '\e803'; } /* '' */
525 .icon-folder-open:before { content: '\e804'; } /* '' */
526 .icon-doc:before { content: '\e805'; } /* '' */
527 .icon-pencil:before { content: '\e806'; } /* '' */
528 .icon-trash-empty:before { content: '\e807'; } /* '' */
529 .icon-down-dir:before { content: '\e808'; } /* '' */
530 .icon-up-dir:before { content: '\e809'; } /* '' */
531 .icon-left-dir:before { content: '\e80a'; } /* '' */
532 .icon-right-dir:before { content: '\e80b'; } /* '' */
533 .icon-down-open:before { content: '\e80c'; } /* '' */
534 .icon-left-open:before { content: '\e80d'; } /* '' */
535 .icon-right-open:before { content: '\e80e'; } /* '' */
536 .icon-up-open:before { content: '\e80f'; } /* '' */
537 .icon-floppy:before { content: '\e810'; } /* '' */
538 .icon-eye:before { content: '\e811'; } /* '' */
539 .icon-logout:before { content: '\e812'; } /* '' */
540 .icon-play:before { content: '\e813'; } /* '' */
541 .icon-stop:before { content: '\e814'; } /* '' */
542 .icon-pause:before { content: '\e815'; } /* '' */
543 .icon-video:before { content: '\e816'; } /* '' */
544 .icon-music:before { content: '\e817'; } /* '' */
545 .icon-forward:before { content: '\e818'; } /* '' */
546 .icon-list:before { content: '\e819'; } /* '' */
f6ea0c 547 .icon-cog:before { content: '\e81a'; } /* '' */
U 548 .icon-cog-alt:before { content: '\e81b'; } /* '' */
549 .icon-wrench:before { content: '\e81c'; } /* '' */
550 .icon-flash:before { content: '\e81d'; } /* '' */
551 .icon-rss:before { content: '\f09e'; } /* '' */
b90d67 552 .icon-docs:before { content: '\f0c5'; } /* '' */
U 553 .icon-menu:before { content: '\f0c9'; } /* '' */
554 .icon-doc-text:before { content: '\f0f6'; } /* '' */
555 .icon-angle-left:before { content: '\f104'; } /* '' */
556 .icon-angle-right:before { content: '\f105'; } /* '' */
557 .icon-angle-up:before { content: '\f106'; } /* '' */
558 .icon-angle-down:before { content: '\f107'; } /* '' */
559 .icon-tablet:before { content: '\f10a'; } /* '' */
560 .icon-folder-empty:before { content: '\f114'; } /* '' */
561 .icon-folder-open-empty:before { content: '\f115'; } /* '' */
562 .icon-ellipsis:before { content: '\f141'; } /* '' */
563 .icon-ellipsis-vert:before { content: '\f142'; } /* '' */
564 .icon-doc-inv:before { content: '\f15b'; } /* '' */
565 .icon-doc-text-inv:before { content: '\f15c'; } /* '' */
566 .icon-database:before { content: '\f1c0'; } /* '' */
567 .icon-sliders:before { content: '\f1de'; } /* '' */
568 .icon-trash:before { content: '\f1f8'; } /* '' */
f6ea0c 569 .icon-toggle-off:before { content: '\f204'; } /* '' */
U 570 .icon-toggle-on:before { content: '\f205'; } /* '' */
571 .icon-podcast:before { content: '\f2ce'; } /* '' */
b90d67 572
bebd47 573 /* Dropdown Menu */
U 574
575 /* Style The Dropdown Button */
576 .dropbtn {
577   background-color: white;
578   width: 3em;
579   padding: 0;
580   font-size: medium;
581   cursor: pointer;
582 }
583
584 /* The container <div> - needed to position the dropdown content */
585 .dropdown {
586   position: relative;
587   display: inline-block;
588 }
589
590 /* Dropdown Content (Hidden by Default) */
591 .dropdown-content {
592   display: none;
593   position: absolute;
594   background-color: #f9f9f9;
595   width: 12em;
596   box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
597   z-index: 1;
598   right: 0;
599   font-size: medium;
600 }
601
602 /* Links inside the dropdown */
603 .dropdown-content a {
604   color: black;
605   padding: 0.5em 0.8em;
606   text-decoration: none;
607   display: block;
608   cursor: pointer;
609 }
610
611 /* Change color of dropdown links on hover */
612 .dropdown-content a:hover {background-color: #f1f1f1}
613
614 /* Show the dropdown menu on hover */
615 .dropdown:hover .dropdown-content {
616   display: block;
617 }
618
619 /* Change the background color of the dropdown button when the dropdown content is shown */
620 .dropdown:hover .dropbtn {
621   background-color: #33C3F0; /* #3e8e41; */
622   color: white;
623   border: none;
624 }
b379f5 625
U 626 /* von Skeleton */
627
628 /* Buttons
629 –––––––––––––––––––––––––––––––––––––––––––––––––– */
630 .button,
631 button,
632 input[type="submit"],
633 input[type="reset"],
634 input[type="button"] {
635   display: inline-block;
636   height: 38px;
bebd47 637   /* padding: 0 30px; */
b379f5 638   color: #555;
U 639   text-align: center;
640   font-size: 11px;
641   font-weight: 600;
642   line-height: 38px;
643   letter-spacing: .1rem;
644   text-transform: uppercase;
645   text-decoration: none;
646   white-space: nowrap;
647   background-color: transparent;
648   border-radius: 4px;
649   border: 1px solid #bbb;
650   cursor: pointer;
651   box-sizing: border-box; }
652 .button:hover,
653 button:hover,
654 input[type="submit"]:hover,
655 input[type="reset"]:hover,
656 input[type="button"]:hover,
657 .button:focus,
658 button:focus,
659 input[type="submit"]:focus,
660 input[type="reset"]:focus,
661 input[type="button"]:focus {
662   color: #333;
663   border-color: #888;
664   outline: 0; }
665 .button.button-primary,
666 button.button-primary,
667 input[type="submit"].button-primary,
668 input[type="reset"].button-primary,
669 input[type="button"].button-primary {
670   color: #FFF;
671   background-color: #33C3F0;
672   border-color: #33C3F0; }
673 .button.button-primary:hover,
674 button.button-primary:hover,
675 input[type="submit"].button-primary:hover,
676 input[type="reset"].button-primary:hover,
677 input[type="button"].button-primary:hover,
678 .button.button-primary:focus,
679 button.button-primary:focus,
680 input[type="submit"].button-primary:focus,
681 input[type="reset"].button-primary:focus,
682 input[type="button"].button-primary:focus {
683   color: #FFF;
684   background-color: #1EAEDB;
685   border-color: #1EAEDB; }
686
687
688 /* Forms
689 –––––––––––––––––––––––––––––––––––––––––––––––––– */
690 input[type="email"],
691 input[type="number"],
692 input[type="search"],
693 input[type="text"],
694 input[type="tel"],
695 input[type="url"],
696 input[type="password"],
697 textarea,
698 select {
699   height: 38px;
bebd47 700   padding: 3px 2px; /* The 6px vertically centers text on FF, ignored by Webkit */
b379f5 701   background-color: #fff;
U 702   border: 1px solid #D1D1D1;
703   border-radius: 4px;
704   box-shadow: none;
705   box-sizing: border-box; }
706 /* Removes awkward default styles on some inputs for iOS */
707 input[type="email"],
708 input[type="number"],
709 input[type="search"],
710 input[type="text"],
711 input[type="tel"],
712 input[type="url"],
713 input[type="password"],
714 textarea {
715   -webkit-appearance: none;
716      -moz-appearance: none;
717           appearance: none; }
718 textarea {
719   min-height: 65px;
720   padding-top: 6px;
721   padding-bottom: 6px; }
722 input[type="email"]:focus,
723 input[type="number"]:focus,
724 input[type="search"]:focus,
725 input[type="text"]:focus,
726 input[type="tel"]:focus,
727 input[type="url"]:focus,
728 input[type="password"]:focus,
729 textarea:focus,
730 select:focus {
731   border: 1px solid #33C3F0;
732   outline: 0; }
733 label,
734 legend {
735   display: block;
736   margin-bottom: .5rem;
737   font-weight: 600; }
738 fieldset {
739   padding: 0;
740   border-width: 0; }
741 input[type="checkbox"],
742 input[type="radio"] {
743   display: inline; }
744 label > .label-body {
745   display: inline-block;
746   margin-left: .5rem;
747   font-weight: normal; }