/****************************************************************************
 ** @license
 ** This demo file is part of yFiles for HTML 2.6.
 ** Copyright (c) 2000-2024 by yWorks GmbH, Vor dem Kreuzberg 28,
 ** 72070 Tuebingen, Germany. All rights reserved.
 **
 ** yFiles demo files exhibit yFiles for HTML functionalities. Any redistribution
 ** of demo files in source code or binary form, with or without
 ** modification, is not permitted.
 **
 ** Owners of a valid software license for a yFiles for HTML version that this
 ** demo is shipped with are allowed to use the demo source code as basis
 ** for their own yFiles for HTML powered applications. Use of such programs is
 ** governed by the rights and conditions as set out in the yFiles for HTML
 ** license agreement.
 **
 ** THIS SOFTWARE IS PROVIDED ''AS IS'' AND ANY EXPRESS OR IMPLIED
 ** WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
 ** MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN
 ** NO EVENT SHALL yWorks BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
 ** TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
 ** PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
 ** LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
 ** NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 ** SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 **
 ***************************************************************************/
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

.failed {
  cursor: pointer;
  animation: fadeIn 2000ms;
}

.enabled {
  opacity: 1;
  -webkit-transition: opacity 0.5s ease-in-out;
  -moz-transition: opacity 0.5s ease-in-out;
  -ms-transition: opacity 0.5s ease-in-out;
  -o-transition: opacity 0.5s ease-in-out;
  transition: opacity 0.5s ease-in-out;
}

.disabled {
  opacity: 0.5;
  -webkit-transition: opacity 0.5s ease-in-out;
  -moz-transition: opacity 0.5s ease-in-out;
  -ms-transition: opacity 0.5s ease-in-out;
  -o-transition: opacity 0.5s ease-in-out;
  transition: opacity 0.5s ease-in-out;
}

.invisible {
  opacity: 0 !important;
  pointer-events: none;
}

.edgePath {
  -webkit-transition: stroke 0.5s ease-in-out;
  -moz-transition: stroke 0.5s ease-in-out;
  -ms-transition: stroke 0.5s ease-in-out;
  -o-transition: stroke 0.5s ease-in-out;
  transition: stroke 0.5s ease-in-out;
}

.popupContent {
  position: absolute;
  display: block;
  opacity: 0;
  border: 2px solid #c9c9c9;
  overflow: visible;
  background: rgba(255, 255, 255, 0.85);
  z-index: 5;
}

.popupContentClone {
  position: absolute;
  display: block;
  opacity: 1;
  border: 2px solid #c9c9c9;
  overflow: visible;
  background: rgba(255, 255, 255, 0.85);
  z-index: 1;
  -webkit-transition: opacity 0.3s ease-in-out;
  -moz-transition: opacity 0.3s ease-in-out;
  -ms-transition: opacity 0.3s ease-in-out;
  -o-transition: opacity 0.3s ease-in-out;
  transition: opacity 0.3s ease-in-out;
}

.popupContent:focus {
  outline: 0;
}

.popupContentFade {
  -webkit-transition: opacity 0.3s ease-out;
  -moz-transition: opacity 0.3s ease-out;
  -ms-transition: opacity 0.3s ease-out;
  -o-transition: opacity 0.3s ease-out;
  transition: opacity 0.3s ease-out;
}

.popupContentInfo {
  position: relative;
  padding-top: 4px;
  width: 100%;
  height: 100%;
  display: block;
  text-align: center;
}

.popupChart {
  width: 100%;
  height: 100%;
  padding-top: 0.3em;
  padding-left: 1em;
  padding-right: 1em;
}

.nodePointer {
  box-sizing: border-box;
  display: block;
  font-size: 15px;
  width: 100%;
  padding-right: 3px;
  line-height: 1;
  color: #c9c9c9;
  position: absolute;
  text-align: center;
}

#closeButton {
  position: absolute;
  right: 0;
  top: 0;
  cursor: pointer;
  padding: 5px;
  z-index: 1;
  color: #a9a9a9;
  -webkit-transition: color 0.1s ease-in-out;
  -moz-transition: color 0.1s ease-in-out;
  -ms-transition: color 0.1s ease-in-out;
  -o-transition: color 0.1s ease-in-out;
  transition: color 0.1s ease-in-out;
}

.popupContent #closeButton:hover {
  color: black;
}

.popupContentClone #closeButton {
  color: black;
}

#powerButton {
  position: absolute;
  left: 0;
  top: 0;
  cursor: pointer;
  padding: 5px;
  z-index: 1;
}

.power-button-path {
  fill: none;
  stroke: #009c00;
  opacity: 0.5;
  stroke-width: 4;
  stroke-linecap: round;
  -webkit-transition: stroke 0.1s ease-in-out;
  -moz-transition: stroke 0.1s ease-in-out;
  -ms-transition: stroke 0.1s ease-in-out;
  -o-transition: stroke 0.1s ease-in-out;
  transition: stroke 0.1s ease-in-out;
}

svg:hover .power-button-path {
  opacity: 1;
}

.power-button-path.switched-off {
  stroke: #ff0000 !important;
}

.chart {
  width: 250px !important;
  height: 85px !important;
}

.no-chart {
  width: 250px !important;
  height: 0 !important;
}

.d3-tip {
  line-height: 1;
  font-weight: bold;
  padding: 12px;
  background: rgba(0, 0, 0, 0.8);
  color: #fff;
  border-radius: 2px;
  z-index: 10;
}

/* Creates a small triangle extender for the tooltip */
.d3-tip:after {
  box-sizing: border-box;
  display: inline;
  font-size: 10px;
  width: 100%;
  line-height: 1;
  color: rgba(0, 0, 0, 0.8);
  content: '\25BC';
  position: absolute;
  text-align: center;
}

/* Style northward tooltips differently */
.d3-tip.n:after {
  margin: -1px 0 0 0;
  top: 100%;
  left: 0;
}

.axis text {
  font: 10px sans-serif;
}

.axis path,
.axis line {
  fill: none;
  stroke: #000;
  shape-rendering: crispEdges;
}
