/**
 * Licensed to The OpenNMS Group, Inc (TOG) under one or more
 * contributor license agreements.  See the LICENSE.md file
 * distributed with this work for additional information
 * regarding copyright ownership.
 *
 * TOG licenses this file to You under the GNU Affero General
 * Public License Version 3 (the "License") or (at your option)
 * any later version.  You may not use this file except in
 * compliance with the License.  You may obtain a copy of the
 * License at:
 *
 *      https://www.gnu.org/licenses/agpl-3.0.txt
 *
 * 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.
 */
@CHARSET "UTF-8";

/*
The webpack sass-loader will not "pass through" this @import as a regular CSS import
so I have included a hack in the webpack configuration to un-comment the
"string-replace-webpack-plugin" line after compilation.

The finished CSS file will include this line, directly:

@import "/opennms/VAADIN/themes/reindeer/legacy-styles.css";
*/

/*! string-replace-webpack-plugin: @import "/opennms/VAADIN/themes/reindeer/legacy-styles.css"; */

@import "bootstrap.scss";

/* Reset these to their default value - the Vaadin elements do not display properly otherwise */
* {
  -webkit-box-sizing: content-box;
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  -webkit-margin-before: 0em;
  -webkit-margin-after: 0em;
}

@import "opennms-theme.scss";
@import "ionicons.scss";
@import "font-awesome.scss";

body.v-generated-body {
    overflow: auto;
}

/*  --------------------------------------------------
    :: Header and other Custom Vaadin styles
    -------------------------------------------------- */
.navbar-brand {
  padding: 0px;
}

#onmsheader {
  /* enforce visibility of dropdown elements, as they are otherwise hidden and not fully shown */
  overflow: visible;
  font-family: $font-family-sans-serif;
  font-size: $font-size-base;
  line-height: $line-height-base;
}

#onmsheader .dropdown-menu {
  /* Change z-index so it is not hidden by some vaadin components */
  z-index: 99999;
}

#onmsheader .dropdown-item {
  box-sizing: border-box;
}

#onmsheader button.navbar-toggler {
  font-size: $navbar-toggler-font-size;
}

// The background sprite from reindeer theme looks weird in modern
// browsers so we dont use it
.v-menubar {
  background-image: none;
}

.v-absolutelayout-wrapper {
  overflow: visible !important;
}

// HACK to make the buttons size correctly.
// This is needed when embeeding the bootstrap header, which includes bs4
.v-caption {
  box-sizing: content-box;
}

// HACK to make the buttons size correctly.
// This is needed when embedding the bootstrap header, which includes bs4
.v-button-wrap {
  box-sizing: content-box;
}

/*  --------------------------------------------------
    :: Vue Menu UI
    -------------------------------------------------- */
/**
* Move topology UI over past the Vue top and side menus.
* Note this only moves it past the collapsed side menu.
*/
.v-app.topo_default.topologyui {
  margin-top: 0.5em;
  margin-left: 4em;
}

/* Safari 10+/20+ specific, needs extra top margin */
body[class*="v-sa1"] .v-app.topo_default.topologyui,
body[class*="v-sa2"] .v-app.topo_default.topologyui {
  padding-top: 4em !important;
}

/*  --------------------------------------------------
    :: Bsm Admin UI
    -------------------------------------------------- */

/* cell style for greyed entries */
.v-table-cell-content-grey {
  opacity: 0.25;
}

/*  --------------------------------------------------
    :: Alarm/Node Table Rows (Vaadin Widgets)
    -------------------------------------------------- */

/**
 * Table row CSS. Coordinate these class names with the values inside:
 *
 * org.opennms.features.topology.app.internal.support.AlarmTableCellStyleGenerator
 */

/* The padding: 20px is handled by adding &nbsp;s with a ColumnGenerator */
.v-table-cell-content-bright { /* padding-left: 20px; */ background-position: top left; background-repeat: repeat-y; }

.v-table-row-alarm-minor,
.v-table-row-alarm-minor-noack {
  border-top: 2px solid #FF9900 !important;
}
.v-table-row-alarm-minor-noack {
  font-weight: bold;
}
.v-table-row-alarm-minor.v-table-row,
.v-table-row-alarm-minor-noack.v-table-row {
  background-color: #FFEBCD;
}
.v-table-row-alarm-minor.v-table-row-odd,
.v-table-row-alarm-minor-noack.v-table-row-odd {
  background-color: #F8E4C6;
}
.v-table-row-alarm-minor .v-table-cell-content-bright,
.v-table-row-alarm-minor-noack .v-table-cell-content-bright
{
  background-image: url(/opennms/images/bgMinor.png);
}

.v-table-row-alarm-critical,
.v-table-row-alarm-critical-noack {
  border-top: 2px solid #CC0000 !important;
}
.v-table-row-alarm-critical-noack {
  font-weight: bold;
}
.v-table-row-alarm-critical.v-table-row,
.v-table-row-alarm-critical-noack.v-table-row {
  background-color: #F5CDCD;
}
.v-table-row-alarm-critical.v-table-row-odd,
.v-table-row-alarm-critical-noack.v-table-row-odd {
  background-color: #EEC6C6;
}
.v-table-row-alarm-critical .v-table-cell-content-bright,
.v-table-row-alarm-critical-noack .v-table-cell-content-bright
{
  background-image: url(/opennms/images/bgCritical.png);
}

.v-table-row-alarm-major,
.v-table-row-alarm-major-noack {
  border-top: 2px solid #FF3300 !important;
}
.v-table-row-alarm-major-noack {
  font-weight: bold;
}
.v-table-row-alarm-major.v-table-row,
.v-table-row-alarm-major-noack.v-table-row {
  background-color: #FFD7CD;
}
.v-table-row-alarm-major.v-table-row-odd,
.v-table-row-alarm-major-noack.v-table-row-odd {
  background-color: #F8D0C6;
}
.v-table-row-alarm-major .v-table-cell-content-bright,
.v-table-row-alarm-major-noack .v-table-cell-content-bright
{
  background-image: url(/opennms/images/bgMajor.png);
}

.v-table-row-alarm-warning,
.v-table-row-alarm-warning-noack {
  border-top: 2px solid #FFCC00 !important;
}
.v-table-row-alarm-warning-noack {
  font-weight: bold;
}
.v-table-row-alarm-warning.v-table-row,
.v-table-row-alarm-warning-noack.v-table-row {
  background-color: #FFF5CD;
}
.v-table-row-alarm-warning.v-table-row-odd,
.v-table-row-alarm-warning-noack.v-table-row-odd {
  background-color: #F8EEC6;
}
.v-table-row-alarm-warning .v-table-cell-content-bright,
.v-table-row-alarm-warning-noack .v-table-cell-content-bright
{
  background-image: url(/opennms/images/bgWarning.png);
}

.v-table-row-alarm-indeterminate,
.v-table-row-alarm-indeterminate-noack {
  border-top: 2px solid #999000 !important;
}
.v-table-row-alarm-indeterminate-noack {
  font-weight: bold;
}
.v-table-row-alarm-indeterminate.v-table-row,
.v-table-row-alarm-indeterminate-noack.v-table-row {
  background-color: #EBEBCD;
}
.v-table-row-alarm-indeterminate.v-table-row-odd,
.v-table-row-alarm-indeterminate-noack.v-table-row-odd {
  background-color: #E4E4C6;
}
.v-table-row-alarm-indeterminate .v-table-cell-content-bright,
.v-table-row-alarm-indeterminate-noack .v-table-cell-content-bright
{
  background-image: url(/opennms/images/bgIndeterminate.png);
}

.v-table-row-alarm-normal,
.v-table-row-alarm-normal-noack {
  border-top: 2px solid #336600 !important;
}
.v-table-row-alarm-normal-noack {
  font-weight: bold;
}
.v-table-row-alarm-normal.v-table-row,
.v-table-row-alarm-normal-noack.v-table-row {
  background-color: #D7E1CD;
}
.v-table-row-alarm-normal.v-table-row-odd,
.v-table-row-alarm-normal-noack.v-table-row-odd {
  background-color: #D0DAC6;
}
.v-table-row-alarm-normal .v-table-cell-content-bright,
.v-table-row-alarm-normal-noack .v-table-cell-content-bright
{
  background-image: url(/opennms/images/bgNormal.png);
}

.v-table-row-alarm-cleared,
.v-table-row-alarm-cleared-noack {
  border-top: 2px solid #999 !important;
}
.v-table-row-alarm-cleared-noack {
  font-weight: bold;
}
.v-table-row-alarm-cleared.v-table-row,
.v-table-row-alarm-cleared-noack.v-table-row {
  background-color: #EEEEEE;
}
.v-table-row-alarm-cleared.v-table-row-odd,
.v-table-row-alarm-cleared-noack.v-table-row-odd {
  background-color: #E7E7E7;
}
.v-table-row-alarm-cleared .v-table-cell-content-bright,
.v-table-row-alarm-cleared-noack .v-table-cell-content-bright
{
  background-image: url(/opennms/images/bgCleared.png);
}

.v-loading-indicator, .v-loading-indicator-delay, .v-loading-indicator-wait {
  width: 100%;
  height: 100%;
  margin: 0;
  background-position: 50%;
  background-repeat: no-repeat;
  background-attachment: fixed;
  /*
  background-color: transparent;
  opacity: .25;
  -ms-filter: alpha(opacity=25);
  filter: alpha(opacity=25);
  */
}

/*  --------------------------------------------------
    :: Surveillance View styles
    -------------------------------------------------- */

td.v-table-cell-content.v-table-cell-content-marked {
  background: gray;
  opacity: 0.5 !important;
}

.surveillance-view .v-table-cell-content {
  padding: 0px 0px 0px 0px;
  background-color: #ffffff;
}

/*
.v-table-cell-content-marked {
  background: $color_opennms_lighter;
  color: #fff;
  padding: 0px 0px 0px 0px;
}
*/

.v-caption-surveillance-view {
  background-color: $card-cap-bg;
  border-color: $table-border-color !important;
  border-bottom: $table-border-width solid transparent;
  padding: 6px;
  //color: white !important;
  font-size: 12px !important;
  font-weight: bold;

  border-top-left-radius: 0;
  border-top-right-radius: 0;
  background-repeat: repeat-x;
  background-position: center center;
}

.surveillance-view-fake-caption {
  overflow: hidden;
  white-space: nowrap;
  margin-left: 6px;
  padding-right: 0px;
  margin-left: 4px;
  text-transform: none;
}

.surveillance-view .v-table-caption-container {
  overflow: visible;
  white-space: nowrap;
  padding-right: 0px;
  margin-left: 4px;
  text-transform: none;
}

.surveillance-view .v-table-cell-wrapper {
  line-height: normal;
  padding: 0px 0px 0px 0px;
  word-break: break-all;
  white-space: normal;
}

.surveillance-view .white {
  color: black;
  background-color: #ffffff;
  border-top: 1px solid #999999;
  line-height: normal;
  padding-left: 4px;
  width: 100%;
  padding-top: 6px;
  padding-bottom: 6px;
}

.surveillance-view .critical {
  color: black;
  background-color: #f5cdcd;
  border-top: 1px solid #999999;
  background-image: url(/opennms/images/bgCritical.png);
  background-repeat: repeat-y;
  background-position: left top;
  line-height: normal;
  padding-left: 18px;
  padding-top: 6px;
  padding-bottom: 6px;
}

.surveillance-view .major {
  color: black;
  background-color: #ffd7cd;
  border-top: 1px solid #999999;
  background-image: url(/opennms/images/bgMajor.png);
  background-repeat: repeat-y;
  background-position: left top;
  line-height: normal;
  padding-left: 18px;
  padding-top: 6px;
  padding-bottom: 6px;
}

.surveillance-view .minor {
  color: black;
  background-color: blanchedalmond;
  border-top: 1px solid #999999;
  background-image: url(/opennms/images/bgMinor.png);
  background-repeat: repeat-y;
  background-position: left top;
  line-height: normal;
  padding-left: 18px;
  padding-top: 6px;
  padding-bottom: 6px;
}

.surveillance-view .warning {
  color: black;
  background-color: #fff5cd;
  border-top: 1px solid #999999;
  background-image: url(/opennms/images/bgWarning.png);
  background-repeat: repeat-y;
  background-position: left top;
  line-height: normal;
  padding-left: 18px;
  padding-top: 6px;
  padding-bottom: 6px;
}

.surveillance-view .indeterminate {
  color: black;
  background-color: #ebebcd;
  border-top: 1px solid #999999;
  background-image: url(/opennms/images/bgIndeterminate.png);
  background-repeat: repeat-y;
  background-position: left top;
  line-height: normal;
  padding-left: 18px;
  padding-top: 6px;
  padding-bottom: 6px;
}

.surveillance-view .normal {
  color: black;
  background-color: #d7e1cd;
  border-top: 1px solid #999999;
  background-image: url(/opennms/images/bgNormal.png);
  background-repeat: repeat-y;
  background-position: left top;
  line-height: normal;
  padding-left: 18px;
  padding-top: 6px;
  padding-bottom: 6px;
}

.surveillance-view .cleared {
  color: black;
  background-color: #eeeeee;
  border-top: 1px solid #999999;
  background-image: url(/opennms/images/bgCleared.png);
  background-repeat: repeat-y;
  background-position: left top;
  line-height: normal;
  padding-left: 18px;
  padding-top: 6px;
  padding-bottom: 6px;
}

.surveillance-view .v-table-cell-content-white {
  color: black;
  background-color: #ffffff;
  border-top: 1px solid #999999;
  padding-left: 4px;
}

.surveillance-view .v-table-cell-content-critical {
  color: black;
  background-color: #f5cdcd;
  border-top: 1px solid #999999;
  line-height: 30px;
  padding-left: 4px;
  //height:30px;
  padding-top: 6px;
  padding-bottom: 6px;
}

.surveillance-view .v-table-cell-content-major {
  color: black;
  background-color: #ffd7cd;
  border-top: 1px solid #999999;
  line-height: 30px;
  padding-left: 4px;
  //height:30px;
  padding-top: 6px;
  padding-bottom: 6px;
}

.surveillance-view .v-table-cell-content-minor {
  color: black;
  background-color: blanchedalmond;
  border-top: 1px solid #999999;
  line-height: 30px;
  padding-left: 4px;
  //height:30px;
  padding-top: 6px;
  padding-bottom: 6px;
}

.surveillance-view .v-table-cell-content-warning {
  color: black;
  background-color: #fff5cd;
  border-top: 1px solid #999999;
  line-height: 30px;
  padding-left: 4px;
  //height:30px;
  padding-top: 6px;
  padding-bottom: 6px;
}

.surveillance-view .v-table-cell-content-indeterminate {
  color: black;
  background-color: #ebebcd;
  border-top: 1px solid #999999;
  line-height: 30px;
  padding-left: 4px;
  //height:30px;
  padding-top: 6px;
  padding-bottom: 6px;
}

.surveillance-view .v-table-cell-content-normal {
  color: black;
  background-color: #d7e1cd;
  border-top: 1px solid #999999;
  line-height: 30px;
  padding-left: 4px;
  //height:30px;
  padding-top: 6px;
  padding-bottom: 6px;
}

.surveillance-view .v-table-cell-content-cleared {
  color: black;
  background-color: #eeeeee;
  border-top: 1px solid #999999;
  line-height: 30px;
  padding-left: 4px;
  //height:30px;
  padding-top: 6px;
  padding-bottom: 6px;
}

.surveillance-view .v-table-cell-content-critical-image {
  color: black;
  background-color: #f5cdcd;
  border-top: 1px solid #999999;
  background-image: url(/opennms/images/bgCritical.png);
  background-repeat: repeat-y;
  background-position: left top;
  line-height: 30px;
  //height:30px;
  padding-top: 6px;
  padding-bottom: 6px;
  padding-right: 4px;
}

.surveillance-view .v-table-cell-content-major-image {
  color: black;
  background-color: #ffd7cd;
  border-top: 1px solid #999999;
  background-image: url(/opennms/images/bgMajor.png);
  background-repeat: repeat-y;
  background-position: left top;
  line-height: 30px;
  //height:30px;
  padding-top: 6px;
  padding-bottom: 6px;
  padding-right: 4px;
}

.surveillance-view .v-table-cell-content-minor-image {
  color: black;
  background-color: blanchedalmond;
  border-top: 1px solid #999999;
  background-image: url(/opennms/images/bgMinor.png);
  background-repeat: repeat-y;
  background-position: left top;
  line-height: 30px;
  //height:30px;
  padding-top: 6px;
  padding-bottom: 6px;
  padding-right: 4px;
}

.surveillance-view .v-table-cell-content-warning-image {
  color: black;
  background-color: #fff5cd;
  border-top: 1px solid #999999;
  background-image: url(/opennms/images/bgWarning.png);
  background-repeat: repeat-y;
  background-position: left top;
  line-height: 30px;
  height:30px;
  padding-top: 6px;
  padding-bottom: 6px;
  padding-right: 4px;
}

.surveillance-view .v-table-cell-content-indeterminate-image {
  color: black;
  background-color: #ebebcd;
  border-top: 1px solid #999999;
  background-image: url(/opennms/images/bgIndeterminate.png);
  background-repeat: repeat-y;
  background-position: left top;
  line-height: 30px;
  //height:30px;
  padding-top: 6px;
  padding-bottom: 6px;
  padding-right: 4px;
}

.surveillance-view .v-table-cell-content-normal-image {
  color: black;
  background-color: #d7e1cd;
  border-top: 1px solid #999999;
  background-image: url(/opennms/images/bgNormal.png);
  background-repeat: repeat-y;
  background-position: left top;
  line-height: 30px;
  //height:30px;
  padding-top: 6px;
  padding-bottom: 6px;
  padding-right: 4px;
}

.surveillance-view .v-table-cell-content-cleared-image {
  color: black;
  background-color: #eeeeee;
  border-top: 1px solid #999999;
  background-image: url(/opennms/images/bgCleared.png);
  background-repeat: repeat-y;
  background-position: left top;
  line-height: 30px;
  //height:30px;
  padding-top: 6px;
  padding-bottom: 6px;
  padding-right: 4px;
}

.surveillance-view .placeholder {
  width: 22px;
  float:left;
}

.surveillance-view .content {
  float: left;
  word-break: break-all;
  white-space: normal;
}

.surveillance-view .v-table-cell-content-rtc-normal {
  color: black;
  background-color: #d7e1cd;
  border-top: 1px solid #999999;
  background-image: url(/opennms/images/bgNormal.png);
  background-repeat: repeat-y;
  background-position: left top;
  line-height: 30px;
  //height:30px;
  padding-top: 6px;
}

.surveillance-view .v-table-cell-content-rtc-critical {
  color: black;
  background-color: #f5cdcd;
  border-top: 1px solid #999999;
  background-image: url(/opennms/images/bgCritical.png);
  background-repeat: repeat-y;
  background-position: left top;
  line-height: 30px;
  //height:30px;
  padding-top: 6px;
}

.surveillance-view .v-button-caption {
  padding-left: 2px;
  padding-right: 4px;
  cursor: pointer;
  //color: $color_opennms_darker;
}

.v-select-select{
  box-sizing: border-box;
}

.surveillance-view .link {
  color: $link-color;
  text-decoration: $link-decoration;
  cursor: pointer;
  opacity: 1.0;
}

.v-link a:link span {
  color: $link-color;
  text-decoration: $link-decoration;
}
//.v-link a:visited span {
//  color: $color_opennms;
//}
.v-link a:hover span {
  color: $link-hover-color;
  text-decoration: $link-hover-decoration
}
//.v-link a:active span {
//  color: $color_opennms;
//}

.v-ui {
  background: #eeeeee;
}
