/** ###########################################################################
 * NOTE: UNUSED
 * jsplumb defaults
 * @see https://docs.jsplumbtoolkit.com/community/lib/styling-via-css
 * ############################################################################*/
/* 
.jtk-connector {
  z-index: -10;
}

svg.jtk-connector path {
  /* stroke: red; * /
  stroke-width: 1;
}

.jtk-drag-select {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}


.timeline-jsplumb-container {
  position: relative;
}

.timeline-ref-node>.timeline-node {
  position: unset;
} */

/** ###########################################################################
 * root and other big things
 * ############################################################################*/

#root {
  height: 100vh;
}

.root-cont {
  height: 100%;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  flex: 1;
}

.timeline-view {
  flex-grow: 1;
}

/* .timeline-view {
  /* height: calc(100vh - 30px); 
} */

.graph-cont {
  height: 100%;
}

#timeline-graph {
  height: 100%;
}

/* The actual graphviz graph */
#timeline-graph > svg {
  min-width: 100%;
  min-height: 100%;
}


/** ###########################################################################
 * components
 * ############################################################################*/

.timeline-group {
  pointer-events: none;
  position: absolute;
  border: 1px solid white;
  z-index: 1;
}

.timeline-ref-node {
  position: absolute;
  display: flex;
  flex-direction: row;
  justify-content: center;
  z-index: 10;
}

.timeline-node {
  position: absolute;
  border: 1px solid white;
  padding: 2px;
  white-space: nowrap;
  user-select: none;
  cursor: pointer;
  z-index: 20;
}
/* 
.node>* polygon:hover,ellipse:hover {
  fill: red !important;
} */

.node:hover .node-debug-overlay {
  display: initial;
}

.node-debug-overlay {
  /* display: none; */
  display: initial;
  position: fixed;
  right: 0;
  bottom: 0;
  max-width: 35vw;
  max-height: 50vh;
  overflow: auto;
  padding: 4px;
  margin: 1px;
  border: 1px solid white;
  background-color: black;
}

.overlay {
  position: absolute;
  /* background-color: rgba(0,0,0,0.2); */
  background-color: transparent;
  z-index: 1000;
}

/** ###########################################################################
 * fix shape backgrounds
 * ############################################################################*/

/* hackfix: this `path` is used during animations (only?) */
.graph > path {
  fill: #222 !important;
}

.timeline-view g polygon,
ellipse {
  /* fill: transparent; */ /* NOTE: if we set fill to transparent, the element does not receive mouse events anymore */
  /* hackfix: we cannot seem to find the correct color from the vscode scheme... */
  /* fill: #222;  */
  /* fill: rgba(0,0,0, 0.1); */
}

/** ###########################################################################
 * highlight
 * ############################################################################*/

/* .edge.highlight {
} */

.fadeout-5 {
  opacity: 0;
  animation: fadeout 5s;
}

@keyframes fadeout {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}

.node:hover polygon,
.node:hover ellipse {
  fill: darkred;
  cursor: pointer;
}

.cluster > text:hover {
  fill: yellow;
  cursor: pointer;
}
