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

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

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

.drawflow .drawflow-node {
    display: flex;
    align-items: center;
    position: absolute;
    width: 180px;
    min-height: 40px;
    color: #2c599d;
    z-index: 2;
}

.drawflow .drawflow-node.selected {
    background: red
}

.drawflow .drawflow-node:hover {
    cursor: move
}

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

.drawflow .drawflow-node .drawflow_content_node {
    width: 100%;
    display: block
}

.drawflow .drawflow-node .input,
.drawflow .drawflow-node .output {
    position: relative;
    width: 20px;
    height: 20px;
    background: #fff;
    border-radius: 50%;
    cursor: crosshair;
    z-index: 1;
    margin-bottom: 5px
}

.drawflow .drawflow-node .input {
    left: 10px;
    top: 2px;
    background: radial-gradient(circle, rgba(255, 255, 255, 1) 0%, #cacaca 100%);
}

.drawflow .drawflow-node .output {
    right: -10px;
    top: 2px;
    background: radial-gradient(circle, rgba(255, 255, 255, 1) 0%, #cacaca 100%);
}

.drawflow svg {
    z-index: 0;
    position: absolute;
    overflow: visible !important
}

.drawflow .connection {
    position: absolute;
    pointer-events: none
}

.drawflow .connection .main-path {
    fill: none;
    stroke-width: 4px;
    stroke: #ccdcea;
    pointer-events: all;
    stroke-dasharray: 1000;
    stroke-dashoffset: 1000;
    animation: dash 5s linear forwards;
}

@keyframes dash {
    to {
        stroke-dashoffset: 0
    }
}

.drawflow .connection .main-path:hover {
    stroke: #4EA9FF;
    cursor: pointer
}

.drawflow .connection .main-path.selected {
    stroke: #F98124
}

.drawflow .connection .point {
    cursor: move;
    stroke: #000;
    stroke-width: 2;
    fill: #fff;
    pointer-events: all
}

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

.drawflow .main-path {
    fill: none;
    stroke-width: 5px;
    stroke: #4682b4
}

.drawflow-delete {
    position: absolute;
    display: block;
    width: 30px;
    height: 30px;
    background: #000;
    color: #fff;
    z-index: 4;
    border: 2px solid #fff;
    line-height: 30px;
    font-weight: 700;
    text-align: center;
    border-radius: 50%;
    font-family: monospace;
    cursor: pointer;
    left: -15px
}

.drawflow>.drawflow-delete {
    margin-left: -15px;
    margin-top: -17px;
}

.parent-node .drawflow-delete {
    left: -15px;
    top: -15px
}

.drawflow-add {
    position: absolute;
    display: block;
    width: 45px;
    height: 45px;
    z-index: 4;
    border: 0 solid #fff;
    line-height: 31px;
    font-weight: 700;
    text-align: center;
    border-radius: 50%;
    font-family: monospace;
    cursor: pointer;
}

.drawflow>.drawflow-add {
    right: -55px;
    top: 0px
}

.parent-node .drawflow-add {
    right: -56px;
    top: 1px;
}

.diamond {
    z-index: 100;
    background-color: #4ea9ff;
    position: absolute;
    height: 60px;
    width: 60px;
    transform: rotate(45deg);
    cursor: pointer;
    line-height: 46px;
    left: 50%;
    top: 66%;
    border-radius: 10px;
    transition: all 0.3s linear;
    -webkit-transition: all 0.3s linear;
    -moz-transition: all 0.3s linear;
    -o-transition: all 0.3s linear;
    -ms-transition: all 0.3s linear;
}

.diamond:hover {
    background-color: #3395f0;
}

.diamond .las {
    top: 0;
    color: #ffffff;
    left: 0;
    width: 100%;
    font-size: 35px;
    transform: rotate(317deg);
    padding: 12px;
}

.diamond-2 {
    z-index: 100;
    position: absolute;
    height: 60px;
    width: 60px;
    transform: rotate(45deg);
    cursor: pointer;
    line-height: 46px;
    left: 57%;
    top: 66%;
    border-radius: 10px;
    background: linear-gradient(359deg, rgba(244, 247, 250, 1) 0%, rgba(255, 255, 255, 1) 51%, rgba(244, 247, 250, 1) 100%);
    box-shadow: 0 2px 10px 2px #d5dde5c9;
    transition: all 0.3s linear;
    -webkit-transition: all 0.3s linear;
    -moz-transition: all 0.3s linear;
    -o-transition: all 0.3s linear;
    -ms-transition: all 0.3s linear;
    transition: all 0.3s linear;
    -webkit-transition: all 0.3s linear;
    -moz-transition: all 0.3s linear;
    -o-transition: all 0.3s linear;
    -ms-transition: all 0.3s linear;
}

.diamond-2:hover {
    background-color: #3395f0;
}

.diamond-2 .las {
    top: 0;
    color: #3395f0;
    left: 0;
    width: 100%;
    font-size: 35px;
    transform: rotate(317deg);
    padding: 12px;
}

.input-style {
    width: 150px;
    padding: 9px;
    margin: 5px 10px 20px 16px;
    border: solid 1px #d8d8d8;
    border-radius: 4px;
}

.input-style:focus-visible {
    outline: -webkit-focus-ring-color auto 0;
}

.select-style {
    width: 247px;
    padding: 9px;
    margin: 15px;
    border: solid 1px #d8d8d8;
    border-radius: 4px;
}

.offcanvas.show {
    margin: 24px;
    border-radius: 6px;
    bottom: auto;
    margin-top: 100px;
}

.offcanvas-end {
    margin: 24px;
    border-radius: 6px;
    bottom: auto;
    margin-top: 100px;
}

.offcanvas {
    bottom: auto !important;
}