/*
 * Copyright 2016 Open Networking Laboratory
 *
 * 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 -- Dialog Service -- CSS file
 */

.dialog h2 {
    padding: 0 4px;
    margin: 0;
    word-wrap: break-word;
    display: inline-block;
    width: 210px;
    vertical-align: middle;
}
.light .dialog h2 {
    color: black;
}
.dark .dialog h2 {
    color: #ddd;
}

.dialog .dialog-button {
    display: inline-block;
    cursor: pointer;
    height: 20px;
    padding: 2px 6px;
    margin: 4px;
    float: right;
    /* color works for both light and dark themes */
    background-color: #c55;
    color: white;
}

