OpenSlides/openslides/core/static/css/app.css
Emanuel Schuetze dda16af532 Added controls for projector elements
countdowns, messages, scale/scroll/edit current slide
Use global serverOffset.
Fixed #1645 (wrong time of projector clock).
Show countdown description on projector slide.
2015-10-08 19:21:25 +02:00

556 lines
12 KiB
CSS

/*
* OpenSlides default template styles of the web interface
*/
body {
background-color: #FBFBFB;
}
/* TODO: Move only used custom style for angular templates in new css file */
.angular-ui-tree-handle {
background: none repeat scroll 0 0 #f8faff;
border: 1px solid #dae2ea;
color: #7c9eb2;
padding: 10px;
}
.angular-ui-tree-handle:hover {
background: none repeat scroll 0 0 #f4f6f7;
border-color: #dce2e8;
color: #438eb9;
}
.angular-ui-tree-placeholder {
background: none repeat scroll 0 0 #f0f9ff;
border: 2px dashed #bed2db;
box-sizing: border-box;
}
.countdown.panel, .message.panel {
margin-bottom: 7px;
}
.countdown .panel-heading {
padding: 3px 15px;
}
.countdown .panel-body {
padding: 5px 15px;
}
.message .panel-body {
padding: 10px 15px;
}
.countdown_timer {
font-size: 2.2em;
font-weight: bold;
}
.countdown .editicon, .message .editicon {
padding-right: 10px;
}
.vcenter {
vertical-align: middle;
}
.notNull {
color: red;
font-weight: bold;
}
/* TODO: used by ng-fab-forms */
.validation-success {
opacity: 1;
display: block;
position: absolute;
right: -7.2px;
bottom: -7.2px;
font-size: 28.8px;
width: 36px;
height: 36px;
line-height: 36px;
text-align: center;
border-radius: 36px;
color: #62b14c;
transition: all ease-out 0.32s; }
.validation-success:after {
display: block;
content: '\e013';
font-family: 'Glyphicons Halflings'; }
.validation-success.ng-hide {
transition-delay: 0s;
transition: all ease-out 0.12s;
opacity: 0;
transform: rotate(360deg); }
.ng-hide-remove li {
opacity: 0; }
.validation {
color: #fff;
margin: 0;
position: relative;
font-size: 14px;
overflow: visible;
background: #c00640; }
.validation ul {
display: block;
overflow: hidden; }
.validation li {
display: block;
line-height: 1;
background: #c00640;
position: absolute;
right: -4px;
top: -10px;
text-align: center;
font-weight: bold;
padding: 2px 10px;
color: #fff;
transform: rotate(0deg);
transition: all ease-in 0.2s;
opacity: 1;
transition-delay: 0s; }
.validation li.ng-enter {
opacity: 0;
top: 0; }
.validation li.ng-leave {
transition: all ease-in 0s;
opacity: 0; }
*:focus + .validation li {
background-color: #63bff8 !important; }
input.ng-touched.ng-invalid:not(.ng-valid), textarea.ng-touched.ng-invalid:not(.ng-valid), select.ng-touched.ng-invalid:not(.ng-valid) {
border-color: #c00640; }
input:focus, input:focus.ng-touched.ng-invalid:not(.ng-valid), textarea:focus, textarea:focus.ng-touched.ng-invalid:not(.ng-valid), select:focus, select:focus.ng-touched.ng-invalid:not(.ng-valid) {
border-color: #63bff8; }
input.ng-valid-required.ng-valid:not(.ng-invalid), textarea.ng-valid-required.ng-valid:not(.ng-invalid), select.ng-valid-required.ng-valid:not(.ng-invalid) {
border-color: #62b14c; }
form[class*="ng-invalid"] button.btn[type=submit] {
background: #63bff8;
transition: none; }
form button.btn[type=submit] {
transition: all ease-in 0.5s;
background: #62b14c; }
/* Header */
#header {
background-color: #333333;
background-image: -moz-linear-gradient(top, #444444, #222222);
background-image: -ms-linear-gradient(top, #444444, #222222);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#444444), to(#222222));
background-image: -webkit-linear-gradient(top, #444444, #222222);
background-image: -o-linear-gradient(top, #444444, #222222);
background-image: linear-gradient(top, #444444, #222222);
box-shadow: 0 0 7px rgba(0,0,0,0.6);
border-radius: 0;
height: 35px;
margin-bottom: 20px;
padding: 7px 20px 0;
position: relative;
}
.navbar-brand {
padding: 2px;
height: 40px;
}
.navbar-text {
margin-top: 9px;
}
#logo {
height: 30px;
padding-left: 3px;
}
#header .title {
font-size: 16px;
color: #999999;
position: absolute;
margin: 8px 0 0 50px;
}
#searchform {
margin-top: 0px;
}
footer {
margin-bottom: 20px;
}
/* Headings and Links */
h1 {
border-bottom: 1px solid #EEEEEE;
margin: 0px 0 30px;
padding-bottom: 9px;
}
#submenu {
float: right;
font-size: 85%;
position: absolute;
top: 0;
right: 15px;
}
a:hover {
text-decoration: none;
}
/* Login page */
#login-page.container {
width: 320px;
margin-top: 20px;
}
#login-page h2 {
margin-left: 30px;
margin-bottom: 20px;
}
#login-page h2 img {
width: 250px;
}
#login-page .well {
background-color: white;
border: 1px solid rgba(0, 0, 0, 0.2);
border-radius: 6px 6px 6px 6px;
box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);
margin-top: 20px;
padding-bottom: 20px;
line-height: 45px;
}
/* List tables */
th.sortable:hover, tr.pointer:hover, .pointer {
cursor: pointer;
}
/* iframe for live view */
#iframe {
width: 1024px;
height: 768px;
-moz-transform-origin: 0 0;
-webkit-transform-origin: 0 0;
-o-transform-origin: 0 0;
transform-origin: 0 0 0;
-moz-transform: scale(0.25);
-webkit-transform: scale(0.25);
-o-transform: scale(0.25);
transform: scale(0.25);
/* IE8+ - must be on one line, unfortunately */
-ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.25, M12=0, M21=0, M22=0.25, SizingMethod='auto expand')";
}
#iframewrapper {
width: 256px;
height: 192px;
position: relative;
overflow: hidden;
border: 1px solid #D5D5D5;
margin-bottom: 10px;
}
#iframeoverlay {
width: 256px;
height: 192px;
position: absolute;
top: 0px;
left: 0px;
display: block;
z-index: 1;
}
/* Log */
#log {
padding-left: 14px;
}
/** Utils **/
div.import .label {
color: #333 !important;
font-size: 100%;
font-weight: normal;
}
div.import > div > input[type="text"] {
width: 30px;
}
.white-space-pre-line {
white-space: pre-line;
}
tr.offline td, li.offline {
background-color: #EAEAEA !important;
}
tr.activeline td, li.activeline, .projected {
background-color: #bed4de;
}
.nopadding {
padding: 0;
}
.alert form {
margin-bottom: 0;
}
tr.total td {
border-top: 1px solid #333333;
}
.nobr {
white-space: nowrap;
}
.right {
float: right;
}
.indentation {
margin-left: 12px;
}
.firstColumn {
width: 55px;
}
.deleteColumn {
text-align: center;
background-color: #ff9999 !important;
}
.switch.checked {
background-color: #ff9999 !important;
border-color: #ff9999;
}
.minimum, .mini_width {
width: 1px;
}
/* show optional column */
.optional {
display: auto;
}
.user_details fieldset {
margin-bottom: 10px;
}
.user_details legend {
margin-bottom: 5px;
}
.user_details label {
font-weight: bold;
margin: 10px 0 0 0;
display: block;
}
.user_details label:after {
content: ":";
}
/** Colors **/
.grey {
color: grey;
}
/** Forms **/
/* Fix the top position by using fa-icons
* in bootstrap's form elements with form-control-feedback */
.has-feedback i.form-control-feedback {
top: 35px;
}
legend + .control-group {
margin-top: 0px !important;
}
#id_permissions {
height: 310px;
width: auto;
}
#id_users {
height: 110px;
width: auto;
}
#dataTable_filter input {
width: auto;
}
#dataTable {
clear: none;
}
#dataTable_wrapper .row-fluid:after {
clear: none;
}
.searchresults li {
margin-bottom: 15px;
}
.searchresults li .app {
color: #999999;
}
.highlighted {
font-weight: bold;
}
/* ckeditor plugin insertpre: textarea style */
table.cke_dialog_contents textarea {
font-family: monospace !important;
}
/** Left sidebar navigation **/
.leftmenu ul {
margin: 0;
padding: 0;
list-style: none;
}
.leftmenu ul ul {
display: none;
margin-left: 35px;
margin-top: -1px;
box-shadow: 0 1px 2px rgba(0,0,0,0.1);
}
.leftmenu ul li {
display: block;
width: 100%;
line-height: 22px;
}
.leftmenu ul li a {
border-style: none solid solid;
border-width: 0 1px 1px;
border-color: #dddddd;
color: #666666;
display: block;
font-weight: bold;
background-color: #ffffff;
padding: 0;
}
.leftmenu ul li:first-child a {
border-top: 1px solid #DDDDDD;
}
.leftmenu ul li a span.ico {
display: inline-block;
background: #f9f9f9;
padding: 8px 10px 6px;
margin: 0 5px 0 0;
border-right: 1px solid #dddddd;
width: 35px;
}
.leftmenu ul li a, .leftmenu ul li a span.ico {
-webkit-transition: background 0.2s ease-in-out;
-moz-transition: background 0.2s ease-in-out;
-ms-transition: background 0.2s ease-in-out;
-o-transition: background 0.2s ease-in-out;
transition: background 0.2s ease-in-out;
}
.leftmenu ul li a:hover {
background-color: #f5f5f5;
color: #000000;
}
.leftmenu ul li a:hover span.ico {
background-color: #efefef;
}
.leftmenu ul li.active a {
background-color: #333333;
color: #ffffff;
}
.leftmenu ul li.active a span.ico {
background-color: #333333;
border-right: 1px solid #444444;
}
.leftmenu ul li.hider a {
margin-top: 5px;
height: 20px;
}
.leftmenu.lefticon > ul {
width: 37px !important;
}
.leftmenu.lefticon ul ul {
position: absolute;
z-index: 20;
margin-top: -34px;
}
.leftmenu.lefticon > ul > li > a > span.text {
/*display: none;*/
}
.leftmenu.lefticon ul > li > a {
min-width: 150px !important;
}
.leftmenu.lefticon span.text {
padding-right: 15px;
}
/** Icons **/
/* TODO: Move some of them to the respective apps. */
.status_link .icon-on, .icon-checked-new {
background-image: url("../img/glyphicons_152_check.png");
background-position: 0;
}
.icon-checked-new_white {
background-image: url("../img/glyphicons_152_check_white.png");
background-position: 0;
}
.status_link .icon-off, .icon-unchecked-new {
background-image: url("../img/glyphicons_153_unchecked.png");
background-position: 0;
}
.icon-summary {
background-image: url("../img/glyphicons_154_more_windows.png");
background-position: 0;
}
.icon-summary.icon-white {
background-image: url("../img/glyphicons_154_more_windows_white.png");
background-position: 0;
}
.icon-login {
background-image: url("../img/glyphicons_044_keys.png");
background-position: 0;
}
.icon-group {
background-image: url("../img/glyphicons_043_group.png");
background-position: 0;
}
.icon-import {
background-image: url("../img/glyphicons_358_file_import.png");
background-position: 0;
}
.icon-delete {
background-image: url("../img/glyphicons_256_delete.png");
background-position: 0;
}
.icon-add-user {
background-image: url("../img/glyphicons_006_user_add.png");
background-position: 0;
}
.icon-clock {
background-image: url("../img/glyphicons_054_clock.png");
background-position: 0;
}
.icon-speaker {
background-image: url("../img/glyphicons_300_microphone.png");
background-position: 0;
}
/** Responsive **/
@media (max-width: 767px) {
body {
padding: 0;
}
.row-fluid .leftmenu {
float: left;
width: auto;
}
#content {
margin: 0 5px 0 45px;
width: auto;
}
/* hide optional column */
.optional, #searchform #id_q {
display: none;
}
#searchform button {
border-radius: 4px;
}
}
@media (max-width: 480px) {
body {
padding: 0;
}
.row-fluid .leftmenu {
float: left;
width: auto;
}
#header {
padding: 7px 5px 0;
}
#content {
margin: 0 5px 0 45px;
width: auto;
}
/* hide optional column */
.optional, .optional-small{
display: none;
}
#menu-overview .manage, .agenda_list .manage {
width: 50px !important;
}
}