/*
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 *
 *  http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
*/
/* landing page */
.logo {
    float: left;
}

.menubar-top {
    display: inline-block;
    vertical-align: bottom;
    float: right;
    text-align: right;
    padding-top: 30px;
    padding-right: 60px;
}

#main-content {
    position: relative;
}

#application-content {
    margin-top: 40px;
    margin-bottom: 40px;
}
.add-app .modal-body {
    padding: 0;
}
.add-app .modal-header{
    border-bottom: 0;
}
.add-app .modal-footer {
    min-height: 20px;
}

.add-app .tab-content-scroller {
    overflow: auto !important;
}
#application-content div#details {
    margin-left: 8px !important;
}
#application-content .deploy,
#application-content .preview {
    padding: 15px;
}
#application-content .tab-content {
    /* easier to scroll in the main window; but if we wanted to prevent it, we could with this */
    /* max-height: 720px; */
    overflow: auto;
}

#modal-container .tab-content {
    max-height: 300px;
    overflow: auto;
}

#application-content .template-lozenge {
    cursor: hand; cursor: pointer;
}
#application-content div.template-lozenge.frame {
    display: inline-block;
    border: 3px solid #EEE;
    border-radius: 4px;
    width: 212px;
    overflow: auto;
    margin: 4px;
    padding: 3px;
    clear: right;
    float: left;   
}
#application-content div.template-lozenge div.icon {
    margin: 2px 8px 2px 2px;
}
#application-content div.template-lozenge div.icon img {
    max-width: 50px;
    max-height: 50px;
    margin-top: 15px;
}
#application-content .template-lozenge.frame:hover {
    border: 3px solid #CCC;
}
#application-content .template-lozenge.frame.selected {
    border: 3px solid #793;
}
#application-content .template-lozenge .icon {
    float: left;
}
#application-content .template-lozenge .blurb {
    overflow-y: auto;
    height: 80px;
}
#application-content .template-lozenge .title {
    font-weight: 700;
    font-size: 90%;
}
#application-content .template-lozenge .description {
    font-size: 85%;
}
#preview_step {
    margin-left: 18px;
}
#application-content .sensor-value,
#application-content .config-value {
    font-weight: 700;
    max-width: 500px;
    max-height: 40px;
    white-space: nowrap;
    overflow-x: hidden;
    overflow-y: auto;
}
div#create-step-template-entries {
    width: 472px;
    margin-left: auto;
    margin-right: auto;
    padding-top: 12px;
    padding-bottom: 36px;
}
div#catalog-applications-throbber {
    margin-top: 100px;
    text-align: center;
}
div#catalog-applications-empty {
    margin-top: 100px;
    text-align: center;
}
/* menu bar */
.navbar .nav>li {
    display: block;
    float: left;
    list-style: none;
    margin: 15px 5px 0px 5px;
}

.navbar .nav>li>a:hover {
    background-color: #A8B8B0;
    foreground-color: #261;
    color: #261;
    text-decoration: none;
    text-shadow: 0 0px 0;
}

.navbar .nav>li>a {
    background-color: #261;
    color: #F0F4E8;
    padding: 5px 7px 0px 7px;
    -webkit-border-radius: 5px 5px 0 0;
    -moz-border-radius: 5px 5px 0 0;
    border-radius: 5px 5px 0 0;
    line-height: 19px;
    text-decoration: none;
    text-shadow: 0 0px 0;
}
.navbar .nav > li > a.active {
    background-color: #492;
}

ul.dropdown-menu {
    text-align: left;
}

.navbar .dropdown-menu li > a:hover, .dropdown-menu .active > a, .dropdown-menu .active > a:hover {
    background-color: #58AA33; /* that seems necessary to result in the color we want, viz ~ 77AA3E; */
}

/* tabs eg catalog page */
.nav-tabs>li,.nav-pills>li {
    float: left;
    margin: 0px 1px -1px 1px;
}

.nav-tabs {
    border-bottom: 1px solid #DDD;
    padding-left: 8px;
    padding-right: 8px;
    height: 35px;
}

.nav-tabs>li>a {
    padding-top: 5px;
    padding-bottom: 3px;
    line-height: 18px;
    border: 1px solid transparent;
    -webkit-border-radius: 5px 5px 0 0;
    -moz-border-radius: 5px 5px 0 0;
    border-radius: 5px 5px 0 0;
}

li.text-filter input {
    width: 10em;
    margin-top: 3px;
    /* taken from datatables_filter input */    
    background-image: url("../img/magnifying-glass-right-icon.png");
    background-size:12px 12px;
    background-repeat: no-repeat;
    background-position: 8px 5px;
    font-size: 85%;
    padding: 1px 4px 1px 24px;
    margin-bottom: 2px;
    -webkit-border-radius: 1em;
    -moz-border-radius: 1em;
    border-radius: 1em;
}

/* bootstrap overrides */
a {
    color: #382;
}
a:hover {
    color: #65AA34;
}
code {
    color: #273;
}
/* buttons (override bootstrap) */
.btn-info {
  background-color: #90C858;
  *background-color: #609040;
  background-image: -ms-linear-gradient(top, #90C858, #609040);
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#90C858), to(#609040));
  background-image: -webkit-linear-gradient(top, #90C858, #609040);
  background-image: -o-linear-gradient(top, #90C858, #609040);
  background-image: -moz-linear-gradient(top, #90C858, #609040);
  background-image: linear-gradient(top, #90C858, #609040);
  background-repeat: repeat-x;
  border-color: #609040 #609040 #609040;
  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
  filter: progid:dximagetransform.microsoft.gradient(startColorstr='#90C858', endColorstr='#609040', GradientType=0);
  filter: progid:dximagetransform.microsoft.gradient(enabled=false);
}

.btn-info:hover,
.btn-info:active,
.btn-info.active,
.btn-info.disabled,
.btn-info[disabled] {
  background-color: #609040;
  *background-color: #508030;
}

.btn-info:active,
.btn-info.active {
  background-color: #508030 \9;
}

/* unchanged from bootstrap
.btn-inverse {
  background-color: #414141;
  *background-color: #222222;
  background-image: -ms-linear-gradient(top, #555555, #222222);
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#555555), to(#222222));
  background-image: -webkit-linear-gradient(top, #555555, #222222);
  background-image: -o-linear-gradient(top, #555555, #222222);
  background-image: -moz-linear-gradient(top, #555555, #222222);
  background-image: linear-gradient(top, #555555, #222222);
  background-repeat: repeat-x;
  border-color: #222222 #222222 #000000;
  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
  filter: progid:dximagetransform.microsoft.gradient(startColorstr='#555555', endColorstr='#222222', GradientType=0);
  filter: progid:dximagetransform.microsoft.gradient(enabled=false);
}

.btn-inverse:hover,
.btn-inverse:active,
.btn-inverse.active,
.btn-inverse.disabled,
.btn-inverse[disabled] {
  background-color: #222222;
  *background-color: #151515;
}

.btn-inverse:active,
.btn-inverse.active {
  background-color: #080808 \9;
}
*/

textarea:focus,input[type="text"]:focus,input[type="password"]:focus,
input[type="datetime"]:focus,input[type="datetime-local"]:focus,input[type="date"]:focus,
input[type="month"]:focus,input[type="time"]:focus,input[type="week"]:focus,input[type="number"]:focus,
input[type="email"]:focus,input[type="url"]:focus,input[type="search"]:focus,input[type="tel"]:focus,
input[type="color"]:focus,.uneditable-input:focus {
    border-color: rgba(120, 180, 70, 0.8);
    outline: 0;
    outline: thin dotted 9;
    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px
        rgba(120, 180, 70, 0.6);
    -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px
        rgba(120, 180, 70, 0.6);
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px
        rgba(120, 180, 70, 0.6);
}

/* home page squares */

/* HOME BODY */
#application-content {
    background-color: #e8e8e8 !important;
    padding-top: 30px !important;
}

.home-first-row {
    padding: 0px;
}

.home-summaries-row {
    text-align: center;
    margin: 0px 0px 30px 0px;
}

.roundedSummary {
    float: left;
    border: 1px solid #d4d4d4;
    -webkit-border-radius: 15px;
    -moz-border-radius: 15px;
    border-radius: 15px;
    background-color: #f7f6e8;
    margin: 10px 15px 0px 0px;
    padding: 20px 20px;
    width: 264px;
    height: 160px;
    line-height: 1.2;
    font-size: 140%;
    display: inline-block;
    text-align: left;
    background: #f9f9f9 url(../images/roundedSummary-background.png) top
        repeat-x !important;
}

.roundedSummary:last-child {
    margin-right: 0px;
}

.roundedSummary:before { /* makes the summary vertically centered */
    content: '';
    display: inline-block;
    height: 100%;
    vertical-align: middle;
    margin-right: 0px !important;
    /* 
    margin-right: -0.25em; 
    adjusts for horiz spacing */
}

.roundedSummaryText {
    display: inline-block;
    vertical-align: middle;
}

.addSummary {
    border: 1px solid #a1cb8c !important;
    color: #505050 !important;
    background: url(../images/addApplication-plus.png) no-repeat !important;
    padding: 10px 0px 0px 74px !important;
    width: 298px !important;
    height: 201px !important;
}

.addSummary:hover {
    border: 1px solid #58a82e !important;
    color: #58a82e !important;
    background: url(../images/addApplication-plus-hover.png) no-repeat
        !important;
}

.home-summaries-row {
    padding: 0px 0px 0px 0px !important;
    margin: 0px !important;
}

.big {
    font-size: 180%;
}

.home-second-row {
    background-color: #dddddd !important;
    padding: 24px 0px 30px 0px !important;
    border-top: 1px solid #efefef;
    margin: 30px 0px 0px 0px;
}

.home-widgets-row {
    text-align: center;
}

.map-container {
    -webkit-border-radius: 13px 13px 13px 13px;
    -moz-border-radius: 13px 13px 13px 13px;
    border-radius: 13px 13px 13px 13px;
    background-color: #f7f7f7;
    border: 1px solid #d4d4d4;
    padding: 13px !important;
    width: 440px;
    margin: 10px 0px 0px 13px !important;
    display: inline-block;
    text-align: left;
    vertical-align: top;
    margin: 0px 20px;
}
.circles-map {
    height: 350px;
    border : 2px solid #909490;
    -webkit-border-radius: 2px 2px 2px 2px;
    -moz-border-radius: 2px 2px 2px 2px;
    border-radius: 2px 2px 2px 2px;
}
.circles-map-message:before { /* makes the message vertically centered */
    content: '';
    display: inline-block;
    height: 100%;
    vertical-align: middle;
    margin-right: -0.25em; /* adjusts for horiz spacing */
}
.circles-map-message {
    display: inline-block;
    width: 100%;
    height: 100%;
    color: #888;
    text-align: center;
    vertical-align: middle;
}
#applications-table-body a {
    color: inherit;
}
.apps-summary-container {
    width: 440px;
    display: inline-block;
    text-align: left;
    vertical-align: top;
    display: inline-block;
    margin: 10px -6px 0px 24px;
    text-align: left;
    vertical-align: top;
}
#new-application-resource {
    text-align: right;
}

#reload-brooklyn-properties-resource {
	text-align: right;
}

#clear-ha-node-records-resource {
    text-align: right;
}

/* general pages */
.sidebar_at_right {
    border-right: 4px solid #BBB;
}

.sidebar_at_left {
    border-left: 4px solid #BBB;
    margin-left: -4px !important;
    padding-left: 24px;
}

.nav-tabs {
    margin-bottom: 0px;
}
.tab-content-scroller {
    height: auto;
    overflow: auto;
}
.tab-content {
    padding: 12px 18px 18px 18px;
    border-right: 1px solid #DDD;
    border-left: 1px solid #DDD;
    min-height: 300px;
}

.navbar_top {
    background-color: #D0D8D0;
    padding: 8px 12px 12px 12px;
    -webkit-border-radius: 4px 4px 0 0;
    -moz-border-radius: 4px 4px 0 0;
    border-radius: 4px 4px 0 0;
}
.navbar_main_wrapper {
    background-color: #F0F4F0;
    -webkit-border-radius: 0 0 4px 4px;
    -moz-border-radius: 0 0 4px 4px;
    border-radius: 0 0 4px 4px;
}
.navbar_main {
    overflow-x: auto;
    margin: 0;
    white-space: nowrap;
}

/* traditional tree-style (clickable + icons) tree-list */
#tree-list {
}
ol.tree {
    padding: 0;
}
#tree-list li input + ol {
    background: url(../img/toggle-small-expand.png) 40px 5px no-repeat;
    margin: -1.963em 0 0 -40px; !important;
    padding: 1.563em 0 0 62px; !important;
}
#tree-list li input:checked + ol {
    background: url(../img/toggle-small.png) 40px 5px no-repeat;
}
#tree-list li input + ol > li {
    padding-left: 1px;
/*    margin: 0; */
}
#tree-list span.leaf {
    margin-left: 17px !important;
}
#tree-list li.application {
    margin-top: 6px !important;
}
#tree-list li input + ol {
    height: auto;
}
.navbar_main_wrapper.treelist {
    padding: 12px 6px 4px 6px;
}
.navbar_main.treelist {
    padding: 0px 8px 6px 2px;
}

.label-message {
    background-color: #DDD;
    -webkit-border-radius: 2px 2px 2px 2px;
    -moz-border-radius: 2px 2px 2px 2px;
    border-radius: 2px 2px 2px 2px;
    padding: 4px 0px 4px 0px;
    margin-bottom: 4px;
    font-weight: bold;
} 
.label-important {
    display: inline;
    padding: 4px;
    color: #F0F0F0;
    font-weight: bold;
    -webkit-border-radius: 2px 2px 2px 2px;
    -moz-border-radius: 2px 2px 2px 2px;
    border-radius: 2px 2px 2px 2px;
}
.label-important.full-width {
    display: block;
    text-align: center;
}

/** apps / entity explorer page */
.apps-tree-toolbar {
    text-align: right;
}
.entity_tree_node, .entity_tree_node a {
    color: #182018;
}
.handy {
    cursor: hand; cursor: pointer;
}
.entity_tree_node:hover {
    cursor: hand; cursor: pointer;
}
.entity_tree_node a:hover {
    color: #54932b !important;
    text-decoration: none;
}
.entity_tree_node_wrapper.active .entity_tree_node {
    font-weight: bold;
}
.entity_tree_node_wrapper .indirection-icon {
    opacity: 0.7;
    margin-left: -5px;
}
.tree-box.indirect > .entity_tree_node_wrapper a {
    font-style: italic !important;
    color: #666;
}

#tree label {
/* remove the folder, and align with + - icons */
background: none;
padding-left: 16px;
line-height: 18px;
}
.cssninja ol.tree {
    padding: 0;
    width: auto;
}

/* new lozenge-style tree-list */
.navbar_main_wrapper .treeloz {
    padding: 12px 0px 20px 0px;
}
.navbar_main .treeloz {
    padding: 0px 0px 0px 0px;
}
.lozenge-app-tree-wrapper {
    min-width: 100%;
    min-height: 240px;
    padding-bottom: 60px; /* for popup menu */
    margin-top: -2px;
    position: relative; 
    float: left;
}
.entity_tree_node_wrapper {
    position: relative;
}
.tree-box {
    border: 1px solid #AAA;
    border-right: 0px;
    margin-top: 3px;
    padding-top: 2px;
    background-color: #EAECEA;
}
.tree-box.outer {
    margin-left: 12px;
    margin-right: 0px;
    margin-bottom: 14px;
    -webkit-border-radius: 4px 0 0 4px !important;
    -moz-border-radius: 4px 0 0 4px !important;
    border-radius: 4px 0 0 4px  !important;
    padding-left: 4px;
    padding-bottom: 4px;
}
.tree-box.inner {
    margin-bottom: 2px;
    border: 1px solid #BBB;
    border-right: 0px;
    -webkit-border-radius: 3px 0 0 3px !important;
    -moz-border-radius: 3px 0 0 3px !important;
    border-radius: 3px 0 0 3px  !important;
    padding-left: 6px;
    padding-bottom: 2px;
    margin-left: 3px;
}
.tree-box.inner.depth-first {
    margin-left: 8px;
}
.tree-box.inner.depth-odd {
    background-color: #D8DAD8;
}
.tree-box.inner.depth-even {
    background-color: #EAECEA;
}
.tree-node {
    position: relative;
    padding-top: 2px;
    padding-bottom: 1px;
    padding-right: 8px;
}
.light-popup {
    display: none;
    position: relative;
    top: 12px;
    float: left;
    z-index: 1;
}
.toggler-icon .light-popup {
    padding-top: 4px;
}
.light-popup-body {
    padding: 3px 0px;
    background-color: #606060;
    color: #CDC;
    font-weight: 300;
    font-size: 85%;
    line-height: 14px;
    border: 1px dotted #CDC;
    -webkit-border-radius: 2px 2px 2px 2px !important;
    -moz-border-radius: 2px 2px 2px 2px !important;
    border-radius: 2px 2px 2px 2px !important;
}
.light-popup-menu-item {
    color: #D0D4D0;
}
.light-popup-menu-item.tr-default {
    color: #E0E4E0;
}
.light-popup-menu-item {
    padding: 1px 8px 1px 6px;
}
.light-popup-menu-item:hover {
    background-color: #58AA33;
    color: #000;
}
.light-popup-menu-item.zeroclipboard-is-hover {
    background-color: #58AA33;
    color: #000;
}

.app-summary .inforow > div { display: inline-block; }
.app-summary .inforow .info-name-value { white-space: nowrap; }
.app-summary .inforow .info-name-value > div { display: inline-block; }
.app-summary .inforow .info-name-value .name { font-weight: 700; width: 120px; padding-right: 12px; }
.app-summary .additional-info-on-problem { color: #D01; }
.app-summary .additional-info-on-problem a { color: #563; }
a.open-tab { cursor: hand; cursor: pointer; }

table.dataTable tbody td.row-expansion {
    background: #D8E4D0;
}
table.dataTable.activity-table tbody td.row-expansion {
    background: #FFFFFF;
}

#activities-table-group div.for-activity-textarea {
    /* correct for textarea width oddity */
    margin-right: 10px;
    margin-top: 6px;
}
#activities-table-group div.for-activity-textarea textarea {
    margin-bottom: 0px;
    border-color: #BBB;
}
#activities-root .toolbar-row i {
    background-image: url("../img/glyphicons-halflings.png");
    width: 18px;
}
#activities-root .toolbar-row i.active {
    background-image: url("../img/glyphicons-halflings-bright-green.png");
}
#activities-root .toolbar-row {
    padding-top: 1px;
}
#activities-root .toolbar-row i:hover,
#activities-root .toolbar-row i.active:hover {
    background-image: url("../img/glyphicons-halflings-dark-green.png");
}
table.dataTable td.row-expansion {
    padding-top: 0px;
}
.opened-row-details {
    display: block;
    font-size: 90%;
    
    border-top: dotted whiteSmoke 1px;
    margin-top: 0px;
    padding-top: 2px;
    
    margin-left: -6px;
    margin-right: -6px;
    padding-left: 6px;
    padding-right: 6px;
    
    margin-bottom: 4px;
    padding-bottom: 6px;
    border-right: dotted gray 1px;
    border-bottom: dotted gray 1px;
    border-left: dotted gray 1px;
    border-bottom-left-radius: 8px;
    border-bottom-right-radius: 8px;
    
    background: #D8E0D4;
}

/* effector modal dialog */
#params td {
    vertical-align: middle;
}
#params input {
    margin-bottom: 0px;
}

table.dataTable tr.odd td.sorting_1 {
background-color: #F9F9F9;
}
table.dataTable tr.even td.sorting_1 {
background-color: #FFFFFF;
}
table.dataTable tr.odd {
background-color: #F9F9F9;
}
table.dataTable tr.even {
background-color: #FFFFFF;
}
table.dataTable tbody tr.selected,
table.dataTable tr.odd.selected td.sorting_1,
table.dataTable tr.even.selected td.sorting_1 {
    background: #B8C8B0;
}
table.nonDatatables tr:hover,
table.nonDatatables tr.odd:hover,
table.nonDatatables tr.even:hover,
table.nonDatatables tr.zeroclipboard-is-hover,
table.nonDatatables tr.even.zeroclipboard-is-hover,
table.nonDatatables tr.odd.zeroclipboard-is-hover,
table.dataTable tr:hover:not(.selected),
table.dataTable tr.odd:hover:not(.selected),
table.dataTable tr.even:hover:not(.selected),
table.dataTable tr.zeroclipboard-is-hover:not(.selected),
table.dataTable tr.odd.zeroclipboard-is-hover:not(.selected),
table.dataTable tr.even.zeroclipboard-is-hover:not(.selected),
table.nonDatatables tr:hover td,
table.nonDatatables tr.odd:hover td,
table.nonDatatables tr.even:hover td,
table.dataTable tr:hover:not(.selected) td:not(.row-expansion),
table.dataTable tr:hover:not(.selected) td.sorting_1:not(.row-expansion),
table.dataTable tr.odd:hover:not(.selected) td:not(.row-expansion),
table.dataTable tr.even:hover:not(.selected) td:not(.row-expansion) {
    background-color: #E0E4E0;
}
table.dataTable tbody tr.selected:hover,
table.dataTable tr.odd.selected td.sorting_1:hover,
table.dataTable tr.even.selected td.sorting_1:hover {
    background: #98B890;
}

table.dataTable.activity-table tbody tr.activity-row,
table.nonDatatables#policies-table tbody tr.policy-row {
    cursor: hand; cursor: pointer;
}

table.dataTable thead th {
text-align: left;
background-color: #E0E4E0;
line-height: 24px;
font-size: 110%;
}
table.dataTable {
margin: 0;
border-width: 2px 0px 2px 0px;
border-style: solid;
border-color: black;
background-color: #fff;
overflow: scroll;
/* background-color: #fff;
 border-top-width: 1px; */
}
.bottom {
    vertical-align: bottom;
}
.smallpadside {
    margin-left: 0.25em;
    margin-right: 0.25em;
}
.table-scroll-wrapper {
    width: 100%;
    overflow: auto;
    background-color: #ececec;
    border-style: solid;
    border-color: #e8e8e8;
    border-width: 1px 1px 1px 1px;
    border-bottom-left-radius: 7px;
    border-bottom-right-radius: 7px;
}
.table-scroll-wrapper .dataTables_filter {
    float: left;
    padding-left: 6px;
}
.table-scroll-wrapper .dataTables_filter label {
    margin-bottom: 5px;
    margin-top: 4px;
}
.dataTables_wrapper .brook-db-top-toolbar {
    font-size: 85%;
    float: right;
    padding-right: 6px;
    padding-top: 7px;
}
.dataTables_wrapper .brook-db-bot-toolbar {
    font-size: 85%;
    float: right;
    padding-right: 6px;
    padding-left: 5px;
    padding-top: 5px;
}

.dataTables_info {
    padding-top: 5px;
    padding-left: 8px;
    padding-bottom: 8px;
    font-size: 85%;
    width: auto;
    align: center;
    clear: none;
}
.dataTables_paginate {
    font-size: 85%;
    float: right;
    margin-top: 6px;
    margin-bottom: 3px;
    padding-top: 1px;
    padding-right: 4px;
    height: 18px;
    line-height: 18px;
}
.paging_full_numbers a.paginate_active {
     background-color: #A8B8B0;
}
.dataTables_length {
    float: left;
    padding-left: 1em;
    padding-top: 5px;
}
.dataTables_length label {
    font-size: 85%;
}
.dataTables_length select {
    height: auto;
    font-size: 85%;
    margin-bottom: 0px;
    width: 45px;
}
.dataTables_paginate.paging_full_numbers a.paginate_button, 
.dataTables_paginate.paging_full_numbers a.paginate_active {
-webkit-border-radius: 0px;
-moz-border-radius: 0px;
border-radius: 0px;
padding: 2px 5px;
margin: 0;
}
.dataTables_filter input {
    background-image: url("../img/magnifying-glass-right-icon.png");
    /* url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJ5JREFUeNpi+P//PwMQMANxERCfAeI/UBrEZwbJQ9WAFR0A4u1AbAnEbFB6O1ScGaawGoi3wHQiYyBYDZKHKbwHxLo4FOqC5GEKf4Ksw6EQ5IyfIDYTkPEUiNUZsAOQ+F9GRkYJEKcFiDficSOIcRjE4QTiY0C8DuRbqAJLKP8/FP9kQArHUiA+jySJjA8w4LAS5KZd0MAHhaccQIABALsMiBZy4YLtAAAAAElFTkSuQmCC); */
    background-size:12px 12px;
    background-repeat: no-repeat;
    background-position: 8px 5px;
    width: 12em;
    font-size: 85%;
    padding: 1px 4px 1px 24px;
    margin-bottom: 1px;
    border-color: #888C88;
    /*
    -webkit-border-radius: 1em;
    -moz-border-radius: 1em;
    border-radius: 1em;
    */
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    border-radius: 10px;
}
/* nonDatatables environments want to look a bit like our datatables environment */
table.nonDatatables {
    border-bottom: 1px solid gray;
}
table.nonDatatables thead {
    border-bottom: 1px solid black;
}
table.nonDatatables thead th {
    background: #ffffff;
    padding: 3px 18px 3px 5px;
}
table.table.nonDatatables tbody > tr:first-child > td {
    /* need both bottom of head, and top of body, to support empty table and override non-empty row top border */
    border-top: 1px black solid;
}
table.table.nonDatatables tbody tr.selected,
table.table.nonDatatables tbody tr.selected td {
    background: #AC8;
}
/* we keep the thin gray line between rows for manual tables,
   subtle difference but seems nice */
div.for-empty-table {
    width: 100%;
    float: left;
    background-color: #F9F9F9;
    font-style: italic;
    padding: 8px 0px;
    text-align: center;
    margin-top: -18px;
    border-bottom: 1px solid gray;
}

/* add entity modal */
.editable-entity-group {
    margin-bottom: 2px;
    border: 1px solid #E5E5E5;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px;
}
.editable-entity-heading {
    padding: 2px 6px 2px 6px;
    border-bottom: 1px solid #E5E5E5;
    margin-bottom: -1px;
    overflow: hidden;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px;
    background-color: #F9F9F9;
    line-height: 30px;
}
.editable-entity-heading:hover {
    background-color: #F0F4F0;
}
.editable-entity-body {
    border-top: 1px solid #E5E5E5;
    margin-top: -1px;
    padding: 7px 6px 2px 6px;
    overflow: hidden;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px;
}

#app-locations select {
    min-height: 22px;
}
#app-locations #selector-container {
    margin-bottom: 4px;
}
div.application-name-label {
    margin-bottom: 4px;
}
table.config-table {
    margin-bottom: 6px;
    margin-left: 2px;
}
.app-add-wizard-config-entry input {
    margin: 3px 0 2px 0;    
    height: 12px;
    vertical-align: middle;
}
.app-add-wizard-config-entry input {
    height: 14px;
}
tr.app-add-wizard-config-entry:nth-child(odd) {
    background-color: #f8f8f8;
}
tr.app-add-wizard-config-entry:nth-child(even) {
}
tr.app-add-wizard-config-entry {
    height: 20px;
}
.app-add-wizard-config-entry {
    margin-bottom: 9px;
    margin-top: 2px;
}
.app-add-wizard-config-entry button {
    margin-left: 8px;
}
.app-add-wizard-create-entity-label-newline {
    padding-left: 2px;
    padding-bottom: 3px;    
}
.app-add-wizard-create-entity-label {
    width: 4em;
    float: left;
    padding-top: 3px;
}
.app-add-wizard-create-entity-input {
    width: 300px;
}
#add-app-entity {
    float: right;
}
/* help page */
#help-page p, #help-page ul {
    margin-top: 8px;
}
.help-logo-right {
    padding-left: 1.5em;
    padding-top: 1.5em;
    float: right;
}
.help-logo-right img {
    border: 3px solid #6C6C6C;
    border-radius: 2px;
}
.control-group {
    margin-top: 6px;
    margin-bottom: 9px;
}
.control-group .deploy-label {
    font-weight: 700;
}
.deploy .control-group {
    margin-bottom: 18px;
}
.deploy input#application-name {
    /** margin supplied by control group */
    margin-bottom: 0px;
}

#application-explorer div#summary textarea {
    width: 100%;
    cursor: auto;
    margin-bottom: 2px;
}

/* catalog */
.accordion-head {
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    padding: 4px 10px 4px 8px;
    font-weight: bold;
    background-color: #F4F6F4;
}
.accordion-head.active {
    background-color: #F8FAF8;
}
.accordion-body {
    border-top: 1px dashed lightgray;
    padding: 8px 8px 12px 8px;
    overflow: auto;
    max-height: 400px;
    background-color: white;
    border-bottom-left-radius: 5px;
    border-bottom-right-radius: 5px;
}
.catalog-details .accordion-body {
    padding: 0;
}
.accordion-head:hover {
    background-color: #E0E4E0;
    cursor: hand; cursor: pointer;
}
.catalog-accordion-wrapper {
    margin-bottom: 6px;
    background-color: #F0F0F0;
    border-radius: 5px;
}
.catalog-accordion-wrapper .accordion-nav-row {
    white-space: pre;
    word-wrap: normal;
}
.accordion-item {
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    margin-top: -1px;
    border: 1px solid lightgray;
}
.accordion-nav-row:hover {
    text-decoration: underline;
    cursor: hand; cursor: pointer;
}
.accordion-nav-row.active {
    font-weight: bold;
}
.accordion-nav-child {
    padding-left: 15px;
    color: lightgray;
}
.accordion-nav-child.active {
    color: #505050;
}
.catalog-details {
    padding-left: 16px;
    padding-right: 25px;
    padding-top: 8px;
    padding-bottom: 8px;
}
.catalog-details h3 {
    margin-bottom: 8px;
}
.catalog-details textarea {
    width: 100%;
    cursor: auto;
}
.catalog-details#details-empty {
    padding-top: 60px;
    padding-bottom: 180px;
    text-align: center;
}
.catalog-save-error {
    background-color: #f2dede;
    /* margin matches bootstrap input margin-bottom. */
    margin: 9px 0 0 0;
    padding: 7px;
    border-radius: 3px;
}
.catalog-error-message {
    white-space: pre-wrap;
}

.float-right {
    float: right;
}

/* swagger */

.swagger-ui-container{
    margin-bottom: 3em;
}

.swagger-ui-wrap {
    max-width: 960px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 6em;
}

.icon-btn {
    cursor: pointer;
}

#message-bar {
    min-height: 30px;
    text-align: center;
    padding-top: 10px;
}

.message-success {
    color: #89BF04;
}

.message-fail {
    color: #cc0000;
}

.code-textarea {
    width: 100%;
    height: 8em;
    margin-right: 4px;
    font-family: Consolas, Lucida Console, Monaco, monospace;
    font-size: 8.5pt;
    line-height: 11pt;
    white-space: pre;
    word-wrap: normal;
    overflow-x: scroll;
    overflow-y: scroll;
}

/** groovy script */
#groovy-ui-container .hide {
    display: none !important;
}
#groovy-ui-container .throbber {
    padding-top: 8px;
}
#groovy-ui-container .input textarea {
    height: 16em;
}
#groovy-ui-container .toggler-region {
    margin-top: 0.5em;
    margin-bottom: 1em;
}
#groovy-ui-container .groovy-scripting-text {
    margin-top: 0.5em;
}
#groovy-ui-container div.submit {
   float: right;
}

#groovy-ui-container .input {
    width: 48%;
}
#groovy-ui-container div.submit {
    text-align: right;
}

#groovy-ui-container .output {
    width: 48%;
    float: right;
}
.toggler-header {
    cursor: hand; cursor: pointer;
    margin-bottom: 3px;
}
.toggler-icon {
    float: right;
}
.user-hidden .toggler-icon {
}

/** trick for making textareas with width 100% line up (silly width 100% excludes padding) */
div.for-textarea {
    padding-left: 0.8em;
    padding-right: 0.4em;
}
div.for-textarea > textarea {
    padding-left: 0.3em;
    padding-right: 0.3em;
    margin-left: -0.6em;
}
#groovy-ui-container p {
    margin-top: 4px;
}
#groovy-ui-container a {
    color: inherit;
}
#groovy-ui-container a:hover {
    text-decoration: underline;
    cursor: hand; cursor: pointer;
}

/** input type="file" should be display:none with hand-rolled nicer looking widgets used instead
    (the native ones can't be much modified, and are notoriously ugly; but line-height 0 at least makes them line up) */
input[type="file"] {
    line-height: 0;
    width: 300px;
}

input.error {
    border-color: #b94a48;
}

#policy-config-table {
    table-layout: fixed;
}

#policy-config-table td.policy-config-name {
    overflow: hidden;
    text-overflow: ellipsis;
}

#policy-config-table td.policy-config-value {
    overflow-wrap: break-word;
    word-wrap: break-word;
}

#policy-config,
.has-no-policies {
    margin-bottom: 9px;
}

.padded-div {
    padding: 0.5em 1.2em;
}

/* this is used in activities, for when we slide in a panel e.g. for sub-table */
.slide-panel-group {
    width: 569px;
}
.slide-panel {
    position: relative;
    width: 569px;
    margin-right: -569px;
    float: left;
}
.subpanel-header-row {
    color: black;
    background-color: #B0B8B0;
    padding-top: 12px;
    padding-bottom: 12px;
    margin-bottom: 24px;
    padding-left: 12px;
    vertical-align: top;
    font-weight: 700;
    font-size: 120%;
}

.toggler-header {
    background-color: #D8DCD8;
    padding: 2px 6px 2px 6px;
}
.activity-detail-panel .subpanel-header-row {
    margin-bottom: 12px;
}
.activity-detail-panel .toggler-region {
    margin-bottom: 12px;
}
.activity-detail-panel .toggler-region .activity-details-section {
    margin: 4px 6px 0px 6px;
}
.activity-detail-panel .activity-details-section.activity-description, 
.activity-detail-panel .activity-details-section.activity-status {
    margin-bottom: 12px;
}
.activity-detail-panel .activity-label {
    display: inline-block;
    width: 100px;
}
.activity-detail-panel .toggler-region.tasks-submitted .table-scroll-wrapper,
.activity-detail-panel .toggler-region.tasks-children .table-scroll-wrapper {
    margin-bottom: 18px;
}

.activity-detail-results .result-literal {
    font-style: italic;
}
.activity-detail-results div.result-literal {
    margin-top: 12px;
}
.activity-detail-results div.result-literal br {
    line-height: 24px;
}

.activity-tag-giftlabel {
    background-color: #E0E4E0;
    padding: 2px 4px 2px 4px;
    margin-bottom: 4px;
    margin-right: 5px;
    -webkit-border-radius: 3px 3px 3px 3px !important;
    -moz-border-radius: 3px 3px 3px 3px !important;
    border-radius: 3px 3px 3px 3px !important;
    display: inline-block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    -o-text-overflow: ellipsis;
    max-width: 250px;
}
.activity-tag-giftlabel:hover {
    max-width: 100%;
    white-space: normal;
}

/* hover menu at left, as used in sensors view */
.floatGroup .floatLeft {
	display:none;
	width: 18px;
	margin-left: -18px;
	margin-top: -16px;
	position: absolute;
	overflow: visible;
}
.floatGroup .floatDown {
	display:none;
 	position: absolute;
 	margin-top: -2px;
	overflow: visible;
}
.floatGroup .floatDown .light-popup {
	display: block;
    position: absolute;
    top: auto;
    z-index: 1;
}

.ha-standby-overlay {
    position: absolute;
    top: 8px;
    bottom: 0;
    left: 0;
    right: 0;
}

/* Setting opacity in ha-standby-overlay would also apply it to all of
the element's children, who probably want to control their opacity separately. */
.overlay-with-opacity {
    opacity: 0.9;
    background-color: white;
}

.overlay-content {
    position: absolute;
    top: 100px;
    left: 50%;
    width: 400px;
    /* margin-left = width / 2 */
    margin: 0 0 0 -200px;
    padding: 20px;
    background-color: #ff938c;
    border: 7px solid #2d2d2d;
    border-radius: 10px;
    color: black;
}

.capitalized {
    text-transform: capitalize;
}

.config-key-input-pair {
    /* matches Bootstrap */
    margin-bottom: 9px;
}

textarea.param-value {
    height: 18px;
    overflow: auto;
}

#catalog-details-accordion {
    margin-top: 12px;
}

/* For secret things */
.secret-info span.value {
    display: none;
}
.secret-info.secret-revealed span.value {
    display: inherit;
}
.secret-info.secret-revealed span.secret-indicator {
    display: none;
}

.secret-indicator {
    /* blur */
    color: transparent;
    text-shadow: 0 0 5px rgba(0,0,0,0.5);
}

/* Location wizard */
.location-type-container {
    overflow: hidden;
}
.help-text {
    padding-top: 10px;
    font-style: italic;
}
.location-type {
    width: 160px;
    height: 200px;
    float: left;
    text-align: center;
    border: 3px solid #EEE;
    position: relative;
    margin: 4px;
}
.location-type:hover {
    border-color: #CCC;
}
.location-type.selected {
    border-color: #793;
}
.location-type div {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 150px;
    padding: 5px;
}
.location-type .fa {
    font-size: 60px;
    margin-bottom: 20px;
}
.location-type .location-type-title {
    font-size: 30px;
}
input.location-other {
    margin-top: -10px;
    margin-left: 10px;
}
#catalog-add-form .modal-header .close {
    display: none;
}
#catalog-add-form .modal-body {
    max-height: none;
    overflow: visible;
}
#catalog-add-form .modal-body .tab-content {
    min-height: 0;
    background-color: transparent !important;
    padding: 0;
    overflow: visible;
}
#catalog-add-form .location-type {
    border-color: #ddd;
}

#catalog-add-form .location-type:hover {
    border-color: #CCC;
}
#catalog-add-form .location-type.selected {
    border-color: #793;
}
#catalog-add-form .modal-footer {
    background-color: transparent;
}
.easy-autocomplete {
    display: inline;
}
.easy-autocomplete-container ul {
    margin: 0
}
.easy-autocomplete-container ul .eac-category {
    color: #fff;
    background-color: rgba(120, 180, 70, 0.8);
}
button.remove-entry {
    margin-top: -10px;
}
