Persoenliche Mediazentrale
undisclosed
2023-01-02 792b21b74e40320c85e9a193c8fa8218851010e6
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
792b21 182 .gehe-zu-formular{
U 183   font-size: smaller;
184 }
185
186 .gehe-zu-eingabe {
187   width: 2rem;
188 }
189
b379f5 190 .entity-formular {
U 191   display: flex;
192   flex-flow: column;
d12f6e 193   font-size: smaller;
b379f5 194 }
U 195
3e5a56 196 .geraet-schalt-eintrag {
U 197   display: flex;
198   flex-flow: row;
4a3508 199   /* justify-content: center; */
U 200   align-items: center;
3e5a56 201   font-size: smaller;
4a3508 202   padding: 0 0 0.2rem 0;
3e5a56 203 }
U 204
205 .schalt-geraet-name {
29be41 206   /* background-color: red; */
4a3508 207   padding: 0 0 0 0.2rem;
29be41 208 }
U 209
210 .schalt-geraet-false {
211   color: red;
212 }
213
214 .schalt-geraet-true {
215   color: green;
216   font-weight: bold;
217 }
218
219 .schalt-btn {
220   display: inline-block;
5c6214 221   
U 222   /*
223   width: 2rem;
224   font-size: medium;
225   display: inline-block;
226   height: 2rem;
227   */
228   
229   /* height: 38px; */
29be41 230   /* padding: 0 30px; */
U 231   text-align: center;
5c6214 232   font-size: 1.3rem;
29be41 233   font-weight: 600;
U 234   line-height: 38px;
235   letter-spacing: .1rem;
236   text-transform: uppercase;
237   text-decoration: none;
238   white-space: nowrap;
239   /* background-color: transparent;*/
240   border-radius: 4px;
5c6214 241   border: 0px solid #bbb;
29be41 242   cursor: pointer;
U 243   box-sizing: border-box;
4a3508 244   margin: 0 0.2rem 0 0;
29be41 245 }
U 246
5c6214 247 .toggle-icon {
U 248   pointer-events: none;
3e5a56 249 }
U 250
da33e6 251 .noselect {
U 252   -webkit-touch-callout: none; /* iOS Safari */
253     -webkit-user-select: none; /* Safari */
254      -khtml-user-select: none; /* Konqueror HTML */
255        -moz-user-select: none; /* Old versions of Firefox */
256         -ms-user-select: none; /* Internet Explorer/Edge */
257             user-select: none; /* Non-prefixed version, currently
258                                   supported by Chrome, Edge, Opera and Firefox */
259 }
260
faab2d 261 .entity-liste-kopf {
U 262   display: flex;
263   flex-flow: row;
264   justify-content: space-between;
265   vertical-align: middle;
266 }
267
268 .entity-liste-kopf .button {
269   /* margin-left: 1rem; */
270   /* margin-top: -0.2rem; */
271 }
272
b379f5 273 .entity-element {
U 274   margin: 0.4rem;
faab2d 275 }
d12f6e 276
9c7bda 277 .entity-form-element {
U 278   margin: 0.4rem;
d12f6e 279 }
faab2d 280
U 281 .entity-element:hover {
7c22a2 282   background-color: #ececec;
b379f5 283 }
U 284
a43e1a 285 .entity-liste {
U 286   list-style-type: none;
50e53e 287   padding: 0;
U 288   margin: 0;
a43e1a 289 }
U 290
291 .entity-eintrag {
50e53e 292   margin-top: 0.3rem;
a43e1a 293   margin-left: 0;
U 294   margin-right: 0;
295   margin-bottom: 0;
faab2d 296   cursor: pointer;
U 297 }
298
299 .entity-eintrag:hover {
da33e6 300   /* background-color: #ececec; */
c1c2b0 301   color: red;
U 302   /* font-weight: bolder; */
a43e1a 303 }
U 304
7c22a2 305 .entity-typ-folder:before {
U 306   font-family: "pikto";
307   content: '\f114';
308   padding-right: 0.3rem;
309 }
310
311 .entity-typ-audio:before {
312   font-family: "pikto";
313   content: '\e817'; /* icon-music */
314   padding-right: 0.3rem;
315 }
316
317 .entity-typ-video:before {
318   font-family: "pikto";
319   content: '\e816'; /* icon-video */
320   padding-right: 0.3rem;
321 }
322
323 .entity-typ-file:before {
324   font-family: "pikto";
325   content: '\e805';  /* icon-doc */
326   padding-right: 0.3rem;
327 }
328
90d368 329 .entity-typ-katalog:before {
U 330   font-family: "pikto";
331   content: '\f1c0';  /* icon-database */
332   padding-right: 0.3rem;
333 }
334
5b7356 335 .form-button-footer {
U 336   display: flex;
337   flex-flow: row;
7c22a2 338 }
U 339
340 .selected {
341   background-color: #ececec;
5b7356 342 }
U 343
78d707 344 .added-to-playlist {
U 345   background-color: #cce1fa;
346 }
347
5b7356 348 .dlg-btn {
U 349   margin-left: 0.4rem;
350 }
351
bebd47 352 .ctrl {
U 353   display: flex;
354   flex-flow: column;
355 }
356
357 .ctrl-btns {
358   display: flex;
359   flex-flow: row;
360   justify-content: center;
361 }
362
363 .ctrl-item {
364   margin-left: 0.2rem;
365   margin-top: 0.2rem;
366 }
367
8d7d35 368 .ctrl-btn, .ctrl-btn:focus {
50e53e 369   width: 2rem;
b90d67 370   font-size: medium;
U 371   display: inline-block;
372   height: 2rem;
373   /* padding: 0 30px; */
7c22a2 374   color: black;
b90d67 375   text-align: center;
U 376   font-weight: 600;
377   line-height: 2rem;
378   letter-spacing: .1rem;
379   text-transform: none;
380   text-decoration: none;
381   white-space: nowrap;
8d7d35 382   /* background-color: transparent; */
b90d67 383   border-radius: 4px;
8d7d35 384   border: 0;
b90d67 385   cursor: pointer;
U 386   box-sizing: border-box; 
8d7d35 387 }
U 388
389 .ctrl-btn:hover {
390   color: white;
391   background-color: #707070; /* #e1e1e1;*/  /* #707070; */
bebd47 392 }
U 393
394 .ctrl-select {
395   width: 4rem;
396 }
397
398 .ctrl-orte {
399   display: flex;
400   flex-flow: row;
401   justify-content: center;
402 }
403
f6ea0c 404 .ctrl-menue {
U 405   display: flex;
406   flex-flow: row;
407   justify-content: center;  
408 }
409
bebd47 410 .top-btn-area {
8d7d35 411   display: flex;
U 412   flex-flow: row;
bebd47 413   /*margin-left: auto;*/
0866ae 414   margin: -0.2em 0.2em 0 2em;
bebd47 415 }
U 416
8d7d35 417 .top-btn, .top-btn:focus {
bebd47 418   margin: 0;
0866ae 419   padding: 0 0.1rem 0 0.1rem;
bebd47 420   height: 1.3em;
U 421   line-height: 1em;
422   text-align: center;
423   font-size: large;
8d7d35 424   color: white;
U 425   border-radius: 4px;
426   border: 0;
427   /* background-color: white; */
0866ae 428   width: 1.4rem;
bebd47 429 }
U 430
8d7d35 431 .top-btn:hover {
U 432   color: black;
433   background-color: #e1e1e1; /* #707070; */
434 }
faab2d 435
b379f5 436 @media (min-width: 800px) {
faab2d 437   .zentraler-inhalt {
b379f5 438     margin: 0 10% 0 10%;
U 439   }
a07e7e 440   
U 441   .ctrl {
442     display: flex;
443     flex-flow: row;
444     justify-content: center;
445   }
446
447   .dialog-unten {
448     /* position: relative; */
449     /* height: 0.1em; */
450     /* transition: all 0.3s ease-in; */
451     height: 2.2em;
452   }
453   
454   .ctrl-btns {
455     /* margin: 0 0 0 1rem; */
456   }
457   
458   .ctrl-orte {
459     margin: 0 0 0 1.8rem;    
460   }
461   
462   .ctrl-menue {
463     margin: 0 0 0 1.8rem;    
464   }
465   
b379f5 466 }
U 467
d12f6e 468 /* Fonts */
U 469
470 @font-face {
471   font-family: 'Roboto';
472   src: url('font/Roboto-Regular.ttf') format('truetype');
473 }
474
b90d67 475 /* Font für Piktogramme mit Fontello aus FontAwesome erzeugt */
U 476
477 @font-face {
478   font-family: 'pikto';
392dc9 479   src: url('font/pikto.ttf?73409988') format('truetype');
b90d67 480   font-weight: normal;
U 481   font-style: normal;
482 }
483 /* Chrome hack: SVG is rendered more smooth in Windozze. 100% magic, uncomment if you need it. */
484 /* Note, that will break hinting! In other OS-es font will be not as sharp as it could be */
485 /*
486 @media screen and (-webkit-min-device-pixel-ratio:0) {
487   @font-face {
488     font-family: 'pikto';
392dc9 489     src: url('../font/pikto.svg?73409988#pikto') format('svg');
b90d67 490   }
U 491 }
492 */
392dc9 493 [class^="icon-"]:before, [class*=" icon-"]:before {
b90d67 494   font-family: "pikto";
U 495   font-style: normal;
496   font-weight: normal;
497   speak: never;
392dc9 498
b90d67 499   display: inline-block;
U 500   text-decoration: inherit;
501   width: 1em;
502   margin-right: .2em;
503   text-align: center;
504   /* opacity: .8; */
392dc9 505
b90d67 506   /* For safety - reset parent styles, that can break glyph codes*/
U 507   font-variant: normal;
508   text-transform: none;
392dc9 509
b90d67 510   /* fix buttons height, for twitter bootstrap */
U 511   line-height: 1em;
392dc9 512
b90d67 513   /* Animation center compensation - margins should be symmetric */
U 514   /* remove if not needed */
392dc9 515   margin-left: .2em;
U 516
b90d67 517   /* you can be more comfortable with increased icons size */
U 518   /* font-size: 120%; */
392dc9 519
b90d67 520   /* Font smoothing. That was taken from TWBS */
U 521   -webkit-font-smoothing: antialiased;
522   -moz-osx-font-smoothing: grayscale;
392dc9 523
b90d67 524   /* Uncomment for 3D effect */
U 525   /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */
526 }
392dc9 527
b90d67 528 .icon-cancel:before { content: '\e800'; } /* '' */
U 529 .icon-th-large:before { content: '\e801'; } /* '' */
530 .icon-th-list:before { content: '\e802'; } /* '' */
531 .icon-folder:before { content: '\e803'; } /* '' */
532 .icon-folder-open:before { content: '\e804'; } /* '' */
533 .icon-doc:before { content: '\e805'; } /* '' */
534 .icon-pencil:before { content: '\e806'; } /* '' */
535 .icon-trash-empty:before { content: '\e807'; } /* '' */
536 .icon-down-dir:before { content: '\e808'; } /* '' */
537 .icon-up-dir:before { content: '\e809'; } /* '' */
538 .icon-left-dir:before { content: '\e80a'; } /* '' */
539 .icon-right-dir:before { content: '\e80b'; } /* '' */
540 .icon-down-open:before { content: '\e80c'; } /* '' */
541 .icon-left-open:before { content: '\e80d'; } /* '' */
542 .icon-right-open:before { content: '\e80e'; } /* '' */
543 .icon-up-open:before { content: '\e80f'; } /* '' */
544 .icon-floppy:before { content: '\e810'; } /* '' */
545 .icon-eye:before { content: '\e811'; } /* '' */
546 .icon-logout:before { content: '\e812'; } /* '' */
547 .icon-play:before { content: '\e813'; } /* '' */
548 .icon-stop:before { content: '\e814'; } /* '' */
549 .icon-pause:before { content: '\e815'; } /* '' */
550 .icon-video:before { content: '\e816'; } /* '' */
551 .icon-music:before { content: '\e817'; } /* '' */
552 .icon-forward:before { content: '\e818'; } /* '' */
553 .icon-list:before { content: '\e819'; } /* '' */
f6ea0c 554 .icon-cog:before { content: '\e81a'; } /* '' */
U 555 .icon-cog-alt:before { content: '\e81b'; } /* '' */
556 .icon-wrench:before { content: '\e81c'; } /* '' */
557 .icon-flash:before { content: '\e81d'; } /* '' */
392dc9 558 .icon-volume-down:before { content: '\e81e'; } /* '' */
U 559 .icon-volume-up:before { content: '\e81f'; } /* '' */
f6ea0c 560 .icon-rss:before { content: '\f09e'; } /* '' */
b90d67 561 .icon-docs:before { content: '\f0c5'; } /* '' */
U 562 .icon-menu:before { content: '\f0c9'; } /* '' */
563 .icon-doc-text:before { content: '\f0f6'; } /* '' */
564 .icon-angle-left:before { content: '\f104'; } /* '' */
565 .icon-angle-right:before { content: '\f105'; } /* '' */
566 .icon-angle-up:before { content: '\f106'; } /* '' */
567 .icon-angle-down:before { content: '\f107'; } /* '' */
568 .icon-tablet:before { content: '\f10a'; } /* '' */
569 .icon-folder-empty:before { content: '\f114'; } /* '' */
570 .icon-folder-open-empty:before { content: '\f115'; } /* '' */
571 .icon-ellipsis:before { content: '\f141'; } /* '' */
572 .icon-ellipsis-vert:before { content: '\f142'; } /* '' */
573 .icon-doc-inv:before { content: '\f15b'; } /* '' */
574 .icon-doc-text-inv:before { content: '\f15c'; } /* '' */
575 .icon-database:before { content: '\f1c0'; } /* '' */
576 .icon-sliders:before { content: '\f1de'; } /* '' */
577 .icon-trash:before { content: '\f1f8'; } /* '' */
f6ea0c 578 .icon-toggle-off:before { content: '\f204'; } /* '' */
U 579 .icon-toggle-on:before { content: '\f205'; } /* '' */
580 .icon-podcast:before { content: '\f2ce'; } /* '' */
b90d67 581
392dc9 582
U 583
584
bebd47 585 /* Dropdown Menu */
U 586
587 /* Style The Dropdown Button */
588 .dropbtn {
589   background-color: white;
590   width: 3em;
591   padding: 0;
592   font-size: medium;
593   cursor: pointer;
594 }
595
596 /* The container <div> - needed to position the dropdown content */
597 .dropdown {
598   position: relative;
599   display: inline-block;
600 }
601
602 /* Dropdown Content (Hidden by Default) */
603 .dropdown-content {
604   display: none;
605   position: absolute;
606   background-color: #f9f9f9;
607   width: 12em;
608   box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
609   z-index: 1;
610   right: 0;
611   font-size: medium;
612 }
613
614 /* Links inside the dropdown */
615 .dropdown-content a {
616   color: black;
617   padding: 0.5em 0.8em;
618   text-decoration: none;
619   display: block;
620   cursor: pointer;
621 }
622
623 /* Change color of dropdown links on hover */
624 .dropdown-content a:hover {background-color: #f1f1f1}
625
626 /* Show the dropdown menu on hover */
627 .dropdown:hover .dropdown-content {
628   display: block;
629 }
630
631 /* Change the background color of the dropdown button when the dropdown content is shown */
632 .dropdown:hover .dropbtn {
633   background-color: #33C3F0; /* #3e8e41; */
634   color: white;
635   border: none;
636 }
b379f5 637
U 638 /* von Skeleton */
639
640 /* Buttons
641 –––––––––––––––––––––––––––––––––––––––––––––––––– */
642 .button,
643 button,
644 input[type="submit"],
645 input[type="reset"],
646 input[type="button"] {
647   display: inline-block;
648   height: 38px;
bebd47 649   /* padding: 0 30px; */
b379f5 650   color: #555;
U 651   text-align: center;
652   font-size: 11px;
653   font-weight: 600;
654   line-height: 38px;
655   letter-spacing: .1rem;
656   text-transform: uppercase;
657   text-decoration: none;
658   white-space: nowrap;
659   background-color: transparent;
660   border-radius: 4px;
661   border: 1px solid #bbb;
662   cursor: pointer;
663   box-sizing: border-box; }
664 .button:hover,
665 button:hover,
666 input[type="submit"]:hover,
667 input[type="reset"]:hover,
668 input[type="button"]:hover,
669 .button:focus,
670 button:focus,
671 input[type="submit"]:focus,
672 input[type="reset"]:focus,
673 input[type="button"]:focus {
674   color: #333;
675   border-color: #888;
676   outline: 0; }
677 .button.button-primary,
678 button.button-primary,
679 input[type="submit"].button-primary,
680 input[type="reset"].button-primary,
681 input[type="button"].button-primary {
682   color: #FFF;
683   background-color: #33C3F0;
684   border-color: #33C3F0; }
685 .button.button-primary:hover,
686 button.button-primary:hover,
687 input[type="submit"].button-primary:hover,
688 input[type="reset"].button-primary:hover,
689 input[type="button"].button-primary:hover,
690 .button.button-primary:focus,
691 button.button-primary:focus,
692 input[type="submit"].button-primary:focus,
693 input[type="reset"].button-primary:focus,
694 input[type="button"].button-primary:focus {
695   color: #FFF;
696   background-color: #1EAEDB;
697   border-color: #1EAEDB; }
698
699
700 /* Forms
701 –––––––––––––––––––––––––––––––––––––––––––––––––– */
702 input[type="email"],
703 input[type="number"],
704 input[type="search"],
705 input[type="text"],
706 input[type="tel"],
707 input[type="url"],
708 input[type="password"],
709 textarea,
710 select {
711   height: 38px;
bebd47 712   padding: 3px 2px; /* The 6px vertically centers text on FF, ignored by Webkit */
b379f5 713   background-color: #fff;
U 714   border: 1px solid #D1D1D1;
715   border-radius: 4px;
716   box-shadow: none;
717   box-sizing: border-box; }
718 /* Removes awkward default styles on some inputs for iOS */
719 input[type="email"],
720 input[type="number"],
721 input[type="search"],
722 input[type="text"],
723 input[type="tel"],
724 input[type="url"],
725 input[type="password"],
726 textarea {
727   -webkit-appearance: none;
728      -moz-appearance: none;
729           appearance: none; }
730 textarea {
731   min-height: 65px;
732   padding-top: 6px;
733   padding-bottom: 6px; }
734 input[type="email"]:focus,
735 input[type="number"]:focus,
736 input[type="search"]:focus,
737 input[type="text"]:focus,
738 input[type="tel"]:focus,
739 input[type="url"]:focus,
740 input[type="password"]:focus,
741 textarea:focus,
742 select:focus {
743   border: 1px solid #33C3F0;
744   outline: 0; }
745 label,
746 legend {
747   display: block;
748   margin-bottom: .5rem;
749   font-weight: 600; }
750 fieldset {
751   padding: 0;
752   border-width: 0; }
753 input[type="checkbox"],
754 input[type="radio"] {
755   display: inline; }
756 label > .label-body {
757   display: inline-block;
758   margin-left: .5rem;
759   font-weight: normal; }