.parent-drawflow {
  display: flex;
  overflow: hidden;
  touch-action: none;
  outline:none;
}

.drawflow {
  width: 100%;
  height: 100%;
  user-select: none;
  position: relative;
}

.drawflow .parent-node {
  position: relative;
}

.drawflow .drawflow-node {
  display: flex;
  align-items: center;
  position: absolute;
  background: white;
  width: auto;
  color: black;
  z-index: 2;
}
/*
.drawflow .drawflow-node.selected {
  background: red;
}
*/
.drawflow .drawflow-node:hover {
  cursor: move;
}

.drawflow .drawflow-node .inputs, .drawflow .drawflow-node .outputs {
  width: 0px;
}

.drawflow .drawflow-node .drawflow_content_node {
  min-width:200px !important;
  max-width:550px !important;
  display: block;
  background: white;
  border-radius: 20px;
}

.drawflow .drawflow-node .input, .drawflow .drawflow-node .output {
  position: relative;
  width: 22px !important;
  height: 20px !important;
  background: white;
  border-radius: 50%;
  border: 2px solid black;
  cursor: crosshair;
  z-index: 10;
  margin-bottom: 5px;
}


.drawflow .drawflow-node .input {
  left: -27px;
  top: 2px;
  background: yellow;
}
.drawflow .drawflow-node .output {
  right: -3px;
  top: 2px;
}



.drawflow svg {
  z-index: 0;
  /*height:5px;
  /* Fix for blocking KR */
  /*width: 5px;
  height: 5px;
  */
  position: absolute;
  overflow: visible !important;
}
.drawflow .connection {
  position: absolute;
  pointer-events: none;
}
.drawflow .connection .main-path {
  fill: none;
  stroke-width: 5px;
  stroke: steelblue;
  pointer-events: all;
}
.drawflow .connection .main-path:hover {
  stroke: #1266ab;
  cursor: pointer;
}

.drawflow .connection .main-path-over {
  stroke: rgb(225, 0, 255);
  fill: transparent;
  stroke-width: 20px;
}

.drawflow .connection .main-path.selected {
  stroke: #ff0000;
  -webkit-animation: pulsate 1s ease-out;
  -webkit-animation-iteration-count: infinite;
  -moz-animation: pulsate 1s ease-out;
  -moz-animation-iteration-count: infinite;
  -ms-animation: pulsate 1s ease-out;
  -ms-animation-iteration-count: infinite;
  animation: pulsate 1s ease-out;
  animation-iteration-count: infinite;
}


@-webkit-keyframes pulsate {
  0%    { opacity:0.4; stroke-width: 10; }
  50%   { opacity:1.0; stroke-width: 15; }
  100%  { opacity:0.4; stroke-width: 10; }
}

@-moz-keyframes pulsate {
  0%    { opacity:0.4; stroke-width: 10; }
  50%   { opacity:1.0; stroke-width: 15; }
  100%  { opacity:0.4; stroke-width: 10; }
}

@-ms-keyframes pulsate {
  0%    { opacity:0.4; stroke-width: 10; }
  50%   { opacity:1.0; stroke-width: 15; }
  100%  { opacity:0.4; stroke-width: 10; }
}

@keyframes pulsate {
  0%    { opacity:0.4; stroke-width: 10; }
  50%   { opacity:1.0; stroke-width: 15; }
  100%  { opacity:0.4; stroke-width: 10; }
}

.drawflow .connection .point {
  cursor: move;
  stroke: black;
  stroke-width: 2;
  fill: white;
}

.drawflow .connection .point.selected, .drawflow .connection .point:hover {
  fill: #1266ab;
}

.drawflow .main-path {
  fill: none;
  stroke-width: 5px;
  stroke: steelblue;
}
.drawflow .selectbox {
  z-index: 3;
  position: absolute;
  transform: translate(9999px, 9999px);

}
.drawflow .selectbox rect {
  fill: blue;
  opacity: 0.5;
  stroke: yellow;
  stroke-width: 5;
  stroke-opacity: 0.5;
  transform: translate(-9999px, -9999px);
}

.drawflow-delete {
  position: absolute;
  display: block;
  width: 30px;
  height: 30px;
  background: black;
  color: white;
  z-index: 4;
  text-align: center;
  border-radius: 50%;
  line-height: 25px;
  cursor: pointer;
}
.drawflow > .drawflow-delete {
  margin-left: -15px;
  margin-top: 15px;
}

.parent-node .drawflow-delete {
  right: -15px;
  top: -25px;
  transition: transform 0.25s; /* Animation */
}

.parent-node .drawflow-delete:hover {
  background:red;
  color:white;
}