/*
 * 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;
}

/* 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 {
    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 {
    background-color: #bed4de !important;
}
.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;
}
.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;
    }
}
