/*
Tango - Personal Media Center
Copyright (C) 2021 Ulrich Hilger
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see .
*/
html, body {
margin: 0;
padding: 0;
height: 100%; /* Anmerkung 2 */
font-size: larger;
font-family: 'Roboto';
}
body {
min-height: 0; /* Anmerkung 1 */
display: flex;
flex-flow: column;
}
.inhalt {
display: flex;
flex-flow: row;
height: 100%; /* Anmerkung 2 */
min-height: 0; /* Anmerkung 1 */
background-color: #ededed;
overflow: hidden;
}
.nord {
background-color: black;
display: flex;
flex-flow: row;
height: 1.3em;
align-items: center;
justify-content: space-between;
}
#nav-menu {
margin-left: 0.4rem;
}
.sued {
height: 1.5em;
overflow: hidden;
transition: all 0.3s ease-in;
background-color: lightgray;
}
.west {
flex-grow: 0;
flex-shrink: 0;
flex-basis: 4em;
background-color: #ececec; /* white; */
transition: all 0.3s ease-in;
overflow: hidden;
white-space: nowrap;
}
.ost {
flex-grow: 0;
flex-shrink: 0;
flex-basis: 6em;
transition: all 0.3s ease-in;
background-color: antiquewhite;
overflow: hidden;
}
.zentrum-behaelter {
display: flex;
flex-flow: column;
/* background-color: #eaeaea; */
width: 100%;
}
.zentrum {
width: 100%;
height: 100%;
overflow-x: hidden;
overflow-y: auto;
-webkit-overflow-scrolling: touch;
background-color: white;
}
.zentraler-inhalt {
padding: 0.5em;
}
/*
Anmerkungen:
1.) min.height: 0 fuer body und inhalt ist gegen einen Bug, vgl.
http://stackoverflow.com/questions/33859811/understanding-flexbox-and-overflowauto
2.) height 100% fuer html, body und inhalt sorgt dafuer, dass sich alles
immer ueber das gesamte Browserfenster ausdehnt.
*/
.app-titel {
margin-left: 0.6em;
color: white;
font-size: 1.2rem;
}
.pointer-cursor {
cursor: pointer;
}
.top-band {
display: flex;
flex-flow: row;
padding: 0.2rem 0 0.2rem 0.2rem;
font-size: smaller;
}
.breadcrumb-behaelter {
display: flex;
flex-flow: row;
font-size: smaller;
}
.breadcrumb-link {
padding-right: 0.3rem;
text-decoration: none;
color: #0a67d1;
}
.breadcrumb-link:hover {
text-decoration: underline;
}
.bereich-name {
padding-left: 0.4rem;
font-size: smaller;
}
.dialog {
position: relative;
/* height: 0.1em; */
transition: all 0.3s ease-in;
font-size: smaller;
}
.dialog-unten {
/* position: relative; */
/* height: 0.1em; */
/* transition: all 0.3s ease-in; */
height: 8.2em;
}
.dlg-behaelter {
line-height: 1.6;
padding: 0.4em;
}
.dlg-info {
background-color: #dcf2fb; /* blau */
padding: 0.4em;
}
/*
Close Button
✖
*/
.close-btn {
position: absolute;
top: 0px;
right: 0.4em;
margin: 0;
padding: 0;
font-size: 1.3em;
color: #b8b8b8;
}
/* ab hier Mediazentrale */
.entity-formular {
display: flex;
flex-flow: column;
font-size: smaller;
}
.geraet-schalt-eintrag {
display: flex;
flex-flow: row;
/* justify-content: center; */
align-items: center;
font-size: smaller;
padding: 0 0 0.2rem 0;
}
.schalt-geraet-name {
/* background-color: red; */
padding: 0 0 0 0.2rem;
}
.schalt-geraet-false {
color: red;
}
.schalt-geraet-true {
color: green;
font-weight: bold;
}
.schalt-btn {
display: inline-block;
/*
width: 2rem;
font-size: medium;
display: inline-block;
height: 2rem;
*/
/* height: 38px; */
/* padding: 0 30px; */
text-align: center;
font-size: 1.3rem;
font-weight: 600;
line-height: 38px;
letter-spacing: .1rem;
text-transform: uppercase;
text-decoration: none;
white-space: nowrap;
/* background-color: transparent;*/
border-radius: 4px;
border: 0px solid #bbb;
cursor: pointer;
box-sizing: border-box;
margin: 0 0.2rem 0 0;
}
.toggle-icon {
pointer-events: none;
}
.noselect {
-webkit-touch-callout: none; /* iOS Safari */
-webkit-user-select: none; /* Safari */
-khtml-user-select: none; /* Konqueror HTML */
-moz-user-select: none; /* Old versions of Firefox */
-ms-user-select: none; /* Internet Explorer/Edge */
user-select: none; /* Non-prefixed version, currently
supported by Chrome, Edge, Opera and Firefox */
}
.entity-liste-kopf {
display: flex;
flex-flow: row;
justify-content: space-between;
vertical-align: middle;
}
.entity-liste-kopf .button {
/* margin-left: 1rem; */
/* margin-top: -0.2rem; */
}
.entity-element {
margin: 0.4rem;
}
.entity-form-element {
margin: 0.4rem;
}
.entity-element:hover {
background-color: #ececec;
}
.entity-liste {
list-style-type: none;
padding: 0;
margin: 0;
}
.entity-eintrag {
margin-top: 0.3rem;
margin-left: 0;
margin-right: 0;
margin-bottom: 0;
cursor: pointer;
}
.entity-eintrag:hover {
/* background-color: #ececec; */
color: red;
/* font-weight: bolder; */
}
.entity-typ-folder:before {
font-family: "pikto";
content: '\f114';
padding-right: 0.3rem;
}
.entity-typ-audio:before {
font-family: "pikto";
content: '\e817'; /* icon-music */
padding-right: 0.3rem;
}
.entity-typ-video:before {
font-family: "pikto";
content: '\e816'; /* icon-video */
padding-right: 0.3rem;
}
.entity-typ-file:before {
font-family: "pikto";
content: '\e805'; /* icon-doc */
padding-right: 0.3rem;
}
.entity-typ-katalog:before {
font-family: "pikto";
content: '\f1c0'; /* icon-database */
padding-right: 0.3rem;
}
.form-button-footer {
display: flex;
flex-flow: row;
}
.selected {
background-color: #ececec;
}
.added-to-playlist {
background-color: #cce1fa;
}
.dlg-btn {
margin-left: 0.4rem;
}
.ctrl {
display: flex;
flex-flow: column;
}
.ctrl-btns {
display: flex;
flex-flow: row;
justify-content: center;
}
.ctrl-item {
margin-left: 0.2rem;
margin-top: 0.2rem;
}
.ctrl-btn, .ctrl-btn:focus {
width: 2rem;
font-size: medium;
display: inline-block;
height: 2rem;
/* padding: 0 30px; */
color: black;
text-align: center;
font-weight: 600;
line-height: 2rem;
letter-spacing: .1rem;
text-transform: none;
text-decoration: none;
white-space: nowrap;
/* background-color: transparent; */
border-radius: 4px;
border: 0;
cursor: pointer;
box-sizing: border-box;
}
.ctrl-btn:hover {
color: white;
background-color: #707070; /* #e1e1e1;*/ /* #707070; */
}
.ctrl-select {
width: 4rem;
}
.ctrl-orte {
display: flex;
flex-flow: row;
justify-content: center;
}
.ctrl-menue {
display: flex;
flex-flow: row;
justify-content: center;
}
.top-btn-area {
display: flex;
flex-flow: row;
/*margin-left: auto;*/
margin: -0.2em 0.2em 0 2em;
}
.top-btn, .top-btn:focus {
margin: 0;
padding: 0 0.1rem 0 0.1rem;
height: 1.3em;
line-height: 1em;
text-align: center;
font-size: large;
color: white;
border-radius: 4px;
border: 0;
/* background-color: white; */
width: 1.4rem;
}
.top-btn:hover {
color: black;
background-color: #e1e1e1; /* #707070; */
}
@media (min-width: 800px) {
.zentraler-inhalt {
margin: 0 10% 0 10%;
}
.ctrl {
display: flex;
flex-flow: row;
justify-content: center;
}
.dialog-unten {
/* position: relative; */
/* height: 0.1em; */
/* transition: all 0.3s ease-in; */
height: 2.2em;
}
.ctrl-btns {
/* margin: 0 0 0 1rem; */
}
.ctrl-orte {
margin: 0 0 0 1.8rem;
}
.ctrl-menue {
margin: 0 0 0 1.8rem;
}
}
/* Fonts */
@font-face {
font-family: 'Roboto';
src: url('font/Roboto-Regular.ttf') format('truetype');
}
/* Font für Piktogramme mit Fontello aus FontAwesome erzeugt */
@font-face {
font-family: 'pikto';
src: url('font/pikto.ttf?68902687') format('truetype');
font-weight: normal;
font-style: normal;
}
/* Chrome hack: SVG is rendered more smooth in Windozze. 100% magic, uncomment if you need it. */
/* Note, that will break hinting! In other OS-es font will be not as sharp as it could be */
/*
@media screen and (-webkit-min-device-pixel-ratio:0) {
@font-face {
font-family: 'pikto';
src: url('../font/pikto.svg?49751252#pikto') format('svg');
}
}
*/
[class^="icon-"]:before, [class*=" icon-"]:before {
font-family: "pikto";
font-style: normal;
font-weight: normal;
speak: never;
display: inline-block;
text-decoration: inherit;
width: 1em;
margin-right: .2em;
text-align: center;
/* opacity: .8; */
/* For safety - reset parent styles, that can break glyph codes*/
font-variant: normal;
text-transform: none;
/* fix buttons height, for twitter bootstrap */
line-height: 1em;
/* Animation center compensation - margins should be symmetric */
/* remove if not needed */
/* margin-left: .2em; */
/* you can be more comfortable with increased icons size */
/* font-size: 120%; */
/* Font smoothing. That was taken from TWBS */
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
/* Uncomment for 3D effect */
/* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */
}
.icon-cancel:before { content: '\e800'; } /* '' */
.icon-th-large:before { content: '\e801'; } /* '' */
.icon-th-list:before { content: '\e802'; } /* '' */
.icon-folder:before { content: '\e803'; } /* '' */
.icon-folder-open:before { content: '\e804'; } /* '' */
.icon-doc:before { content: '\e805'; } /* '' */
.icon-pencil:before { content: '\e806'; } /* '' */
.icon-trash-empty:before { content: '\e807'; } /* '' */
.icon-down-dir:before { content: '\e808'; } /* '' */
.icon-up-dir:before { content: '\e809'; } /* '' */
.icon-left-dir:before { content: '\e80a'; } /* '' */
.icon-right-dir:before { content: '\e80b'; } /* '' */
.icon-down-open:before { content: '\e80c'; } /* '' */
.icon-left-open:before { content: '\e80d'; } /* '' */
.icon-right-open:before { content: '\e80e'; } /* '' */
.icon-up-open:before { content: '\e80f'; } /* '' */
.icon-floppy:before { content: '\e810'; } /* '' */
.icon-eye:before { content: '\e811'; } /* '' */
.icon-logout:before { content: '\e812'; } /* '' */
.icon-play:before { content: '\e813'; } /* '' */
.icon-stop:before { content: '\e814'; } /* '' */
.icon-pause:before { content: '\e815'; } /* '' */
.icon-video:before { content: '\e816'; } /* '' */
.icon-music:before { content: '\e817'; } /* '' */
.icon-forward:before { content: '\e818'; } /* '' */
.icon-list:before { content: '\e819'; } /* '' */
.icon-cog:before { content: '\e81a'; } /* '' */
.icon-cog-alt:before { content: '\e81b'; } /* '' */
.icon-wrench:before { content: '\e81c'; } /* '' */
.icon-flash:before { content: '\e81d'; } /* '' */
.icon-rss:before { content: '\f09e'; } /* '' */
.icon-docs:before { content: '\f0c5'; } /* '' */
.icon-menu:before { content: '\f0c9'; } /* '' */
.icon-doc-text:before { content: '\f0f6'; } /* '' */
.icon-angle-left:before { content: '\f104'; } /* '' */
.icon-angle-right:before { content: '\f105'; } /* '' */
.icon-angle-up:before { content: '\f106'; } /* '' */
.icon-angle-down:before { content: '\f107'; } /* '' */
.icon-tablet:before { content: '\f10a'; } /* '' */
.icon-folder-empty:before { content: '\f114'; } /* '' */
.icon-folder-open-empty:before { content: '\f115'; } /* '' */
.icon-ellipsis:before { content: '\f141'; } /* '' */
.icon-ellipsis-vert:before { content: '\f142'; } /* '' */
.icon-doc-inv:before { content: '\f15b'; } /* '' */
.icon-doc-text-inv:before { content: '\f15c'; } /* '' */
.icon-database:before { content: '\f1c0'; } /* '' */
.icon-sliders:before { content: '\f1de'; } /* '' */
.icon-trash:before { content: '\f1f8'; } /* '' */
.icon-toggle-off:before { content: '\f204'; } /* '' */
.icon-toggle-on:before { content: '\f205'; } /* '' */
.icon-podcast:before { content: '\f2ce'; } /* '' */
/* Dropdown Menu */
/* Style The Dropdown Button */
.dropbtn {
background-color: white;
width: 3em;
padding: 0;
font-size: medium;
cursor: pointer;
}
/* The container - needed to position the dropdown content */
.dropdown {
position: relative;
display: inline-block;
}
/* Dropdown Content (Hidden by Default) */
.dropdown-content {
display: none;
position: absolute;
background-color: #f9f9f9;
width: 12em;
box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
z-index: 1;
right: 0;
font-size: medium;
}
/* Links inside the dropdown */
.dropdown-content a {
color: black;
padding: 0.5em 0.8em;
text-decoration: none;
display: block;
cursor: pointer;
}
/* Change color of dropdown links on hover */
.dropdown-content a:hover {background-color: #f1f1f1}
/* Show the dropdown menu on hover */
.dropdown:hover .dropdown-content {
display: block;
}
/* Change the background color of the dropdown button when the dropdown content is shown */
.dropdown:hover .dropbtn {
background-color: #33C3F0; /* #3e8e41; */
color: white;
border: none;
}
/* von Skeleton */
/* Buttons
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.button,
button,
input[type="submit"],
input[type="reset"],
input[type="button"] {
display: inline-block;
height: 38px;
/* padding: 0 30px; */
color: #555;
text-align: center;
font-size: 11px;
font-weight: 600;
line-height: 38px;
letter-spacing: .1rem;
text-transform: uppercase;
text-decoration: none;
white-space: nowrap;
background-color: transparent;
border-radius: 4px;
border: 1px solid #bbb;
cursor: pointer;
box-sizing: border-box; }
.button:hover,
button:hover,
input[type="submit"]:hover,
input[type="reset"]:hover,
input[type="button"]:hover,
.button:focus,
button:focus,
input[type="submit"]:focus,
input[type="reset"]:focus,
input[type="button"]:focus {
color: #333;
border-color: #888;
outline: 0; }
.button.button-primary,
button.button-primary,
input[type="submit"].button-primary,
input[type="reset"].button-primary,
input[type="button"].button-primary {
color: #FFF;
background-color: #33C3F0;
border-color: #33C3F0; }
.button.button-primary:hover,
button.button-primary:hover,
input[type="submit"].button-primary:hover,
input[type="reset"].button-primary:hover,
input[type="button"].button-primary:hover,
.button.button-primary:focus,
button.button-primary:focus,
input[type="submit"].button-primary:focus,
input[type="reset"].button-primary:focus,
input[type="button"].button-primary:focus {
color: #FFF;
background-color: #1EAEDB;
border-color: #1EAEDB; }
/* Forms
–––––––––––––––––––––––––––––––––––––––––––––––––– */
input[type="email"],
input[type="number"],
input[type="search"],
input[type="text"],
input[type="tel"],
input[type="url"],
input[type="password"],
textarea,
select {
height: 38px;
padding: 3px 2px; /* The 6px vertically centers text on FF, ignored by Webkit */
background-color: #fff;
border: 1px solid #D1D1D1;
border-radius: 4px;
box-shadow: none;
box-sizing: border-box; }
/* Removes awkward default styles on some inputs for iOS */
input[type="email"],
input[type="number"],
input[type="search"],
input[type="text"],
input[type="tel"],
input[type="url"],
input[type="password"],
textarea {
-webkit-appearance: none;
-moz-appearance: none;
appearance: none; }
textarea {
min-height: 65px;
padding-top: 6px;
padding-bottom: 6px; }
input[type="email"]:focus,
input[type="number"]:focus,
input[type="search"]:focus,
input[type="text"]:focus,
input[type="tel"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
textarea:focus,
select:focus {
border: 1px solid #33C3F0;
outline: 0; }
label,
legend {
display: block;
margin-bottom: .5rem;
font-weight: 600; }
fieldset {
padding: 0;
border-width: 0; }
input[type="checkbox"],
input[type="radio"] {
display: inline; }
label > .label-body {
display: inline-block;
margin-left: .5rem;
font-weight: normal; }