/*
 * Copyright 2016-present Open Networking Foundation
 *
 * Licensed 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.
 */

/*
 ONOS GUI -- OpenstackTelemetry -- CSS file
 */


/* --- Topo Telemetry Panel --- */
#topo-p-telemetry {
    padding: 16px;
    top: 190px;
    left: 20px;
}

.topo-p td input.number-input {
    width: 50px;
}

.topo-p div.footer tbody {
    float: right;
}

.topo-p div.footer tbody input.button-input {
    background-color: #5b99d2;
    border: 0;
    border-radius: 3px;
    color: #fff;
    height: 25px;
    width: 60px;
    padding: 1px 0 0 0;
}

#telemetry-dialog {
    padding: 16px;
    top: 190px;
    left: 20px;
}


/* --- Chart View --- */
#ov-openstacktelemetry {
    padding: 20px;
    position: relative;
}
.light #ov-openstacktelemetry {
    color: navy;
}
.dark #ov-openstacktelemetry {
    color: #88f;
}

#ov-openstacktelemetry .button-panel {
    margin: 10px;
    width: 200px;
}

.light #ov-openstacktelemetry .button-panel {
    background-color: #ccf;
}
.dark #ov-openstacktelemetry .button-panel {
    background-color: #444;
}

#ov-openstacktelemetry #chart-loader {
    position: absolute;
    width: 200px;
    height: 50px;
    margin-left: -100px;
    margin-top: -25px;
    z-index: 900;
    top: 50%;
    text-align: center;
    left: 50%;
    font-size: 25px;
    font-weight: bold;
    color: #ccc;
}