.ks-bpmn-scene.ks-bpmn-scene-path-dragging .ks-bpmn-group-in-out-dots,
.ks-bpmn-group.ks-bpmn-group-selected>.ks-bpmn-group-resize-points,
.ks-bpmn-group.ks-bpmn-group-selected>.ks-bpmn-group-in-out-dots,
.ks-bpmn-group.ks-bpmn-group-selected>.ks-bpmn-group-path-dragger,
.ks-bpmn-group:hover>.ks-bpmn-group-resize-points,
.ks-bpmn-group:hover>.ks-bpmn-group-in-out-dots,
.ks-bpmn-group:hover>.ks-bpmn-group-path-dragger,
.visible-dots .ks-bpmn-group-in-out-dots {
    visibility: visible;
    pointer-events: all;
}

.ks-bpmn-group-resize-points,
.ks-bpmn-group-in-out-dots,
.ks-bpmn-group-path-dragger,
.ks-bpmn-avoid-box {
    visibility: hidden;
    pointer-events: none;
}

.ks-bpmn-group.ks-bpmn-group-selected>.ks-bpmn-avoid-box,
.ks-bpmn-group.ks-bpmn-group-over>.ks-bpmn-avoid-box {
    visibility: visible;
    shape-rendering: crispEdges;
    stroke-dasharray: 3, 3;
    stroke-width: 1px;
}

.ks-bpmn-element-pool {
    stroke: #95cde4;
    fill: transparent;
}

.ks-bpmn-image-pool {
    stroke: #95cde4;
    fill: transparent;
}

.ks-bpmn-image-pool.fill {
    fill: #95cde4;
}

.ks-bpmn-element-task {
    stroke: #339ad4;
    fill: #fff;
}

.ks-bpmn-image-task {
    stroke: #339ad4;
    fill: #fff;
}

.ks-bpmn-image-task.fill {
    fill: #339ad4;
}

.ks-bpmn-element-start {
    stroke: #4f9242;
    fill: #dfefd4;
}

.ks-bpmn-image-start {
    stroke: #4f9242;
    fill: #dfefd4;
}

.ks-bpmn-image-start.fill {
    fill: #4f9242;
}

.ks-bpmn-element-end {
    stroke: #da381f;
    fill: #f5d4cb;
}

.ks-bpmn-image-end {
    stroke: #da381f;
    fill: #f5d4cb;
}

.ks-bpmn-image-end.fill {
    fill: #da381f;
}

.ks-bpmn-element-intermediate {
    stroke: #a98363;
    fill: #ffecc2;
}

.ks-bpmn-image-intermediate {
    stroke: #a98363;
    fill: #ffecc2;
}

.ks-bpmn-image-intermediate.fill {
    fill: #a98363;
}

.ks-bpmn-element-condition {
    stroke: #814ad8;
    fill: #ece6fc;
}

.ks-bpmn-image-condition {
    stroke: #814ad8;
    fill: #ece6fc;
}

.ks-bpmn-image-condition.fill {
    fill: #814ad8;
}

.ks-bpmn-element-lasso {
    stroke: #339ad4;
    fill: rgba(51, 154, 212, .3);
}

.ks-bpmn-image-lasso {
    stroke: #339ad4;
    fill: rgba(51, 154, 212, .3);
}

.ks-bpmn-image-lasso.fill {
    fill: #339ad4;
}

body.x-drag-body .ks-bpmn-view {
    cursor: default !important;
}

.ks-bpmn-view .x-d3-hscroll {
    margin-left: 12px;
    margin-right: 12px;
    width: calc(100% - 24px);
}

.ks-bpmn-view .x-d3-vscroll {
    margin-top: 12px;
    margin-bottom: 12px;
    height: calc(100% - 24px);
}

.ks-dashed-stroke {
    stroke-dasharray: 3px;
}

.ks-bpmn-help-grid-line {
    stroke: #a8a8a8;
    fill: none;
    stroke-width: 0.5;
    pointer-events: none;
}

.ks-bpmn-scene.ks-bpmn-scene-element-dragging .ks-bpmn-group.dragging:not(.ks-bpmn-clone) {
    opacity: 0.3;
}

.ks-bpmn-scene.ks-bpmn-lasso-drag {
    cursor: default !important;
}

.ks-bpmn-scene.ks-bpmn-scene-panned {
    cursor: grab;
}

.ks-bpmn-scene.ks-bpmn-scene-panned .ks-bpmn-group {
    cursor: grab !important;
}

.ks-bpmn-image {
    stroke-width: 1.5px;
    pointer-events: none;
}

.ks-bpmn-image * {
    pointer-events: none;
}

.ks-bpmn-image path {
    fill: inherit;
    stroke: transparent;
}

.ks-bpmn-image line,
.ks-bpmn-image rect,
.ks-bpmn-image circle,
.ks-bpmn-image polygon,
.ks-bpmn-image polyline {
    fill: transparent;
    stroke: inherit;
}

.ks-bpmn-image.fill line,
.ks-bpmn-image.fill rect,
.ks-bpmn-image.fill circle,
.ks-bpmn-image.fill polygon {
    fill: inherit;
}

.ks-bpmn-image.fill path {
    fill: transparent;
}

.ks-bpmn-element {
    stroke-width: 2px;
}

.ks-bpmn-element-intermediate {
    stroke-width: 1px;
}

.ks-bpmn-element-pool {
    pointer-events: none;
    cursor: default;
}

.ks-bpmn-element-lasso {
    stroke-width: 1px;
    shape-rendering: optimizespeed;
}

.ks-bpmn-group.ks-bpmn-group-selected>.ks-bpmn-avoid-box {
    stroke: #f88;
}

.ks-bpmn-group.ks-bpmn-group-selected.ks-bpmn-group-line .ks-bpmn-resize-point {
    fill: #f88;
}

.ks-bpmn-group.ks-bpmn-group-line {
    transition:visibility 0.15s linear, opacity 0.15s linear;
}

.ks-bpmn-group.ks-bpmn-group-selected.ks-bpmn-group-resized {
    opacity: 0.5;
    cursor: default;
}

.ks-bpmn-group.ks-bpmn-group-selected>.ks-bpmn-label-title {
    stroke: #000;
}

.ks-bpmn-group.ks-bpmn-group-over>.ks-bpmn-avoid-box {
    stroke: #88f;
}

.ks-bpmn {
    transition: 0.3s;
    transition-property: stroke, fill;
}

.ks-bpmn-group-resize-points,
.ks-bpmn-group-in-out-dots,
.ks-bpmn-group-path-dragger {
    transition-property: transform;
    transition-duration: 0.1s;
}

.ks-bpmn-avoid-box {
    fill: transparent;
    stroke: transparent;
}

.ks-bpmn-resize-point {
    fill: rgba(230, 230, 250, 0.9);
    stroke: #000;
    stroke-width: 1px;
}

.ks-bpmn-resize-point:hover {
    fill: white;
}

.ks-bpmn-resize-point-nwse {
    cursor: nwse-resize;
}

.ks-bpmn-resize-point-nesw {
    cursor: nesw-resize;
}

.ks-bpmn-in-out-dot {
    stroke: #000;
    fill: #e6e6fa;
    cursor: pointer;
    stroke-width: 1px;
}

.ks-bpmn-in-out-dot.has-line-dot {
    fill: #f88;
}

.ks-bpmn-in-out-dot:hover {
    fill: #88f;
}

.ks-bpmn-line {
    z-index: 50;
    stroke: black;
    stroke-width: 1px;
    cursor: pointer;
    fill: none;
}

.ks-bpmn-line-transparent-line {
    stroke: transparent;
    fill: none;
    cursor: pointer;
}

.ks-bpmn-line.dragging {
    stroke: black;
    opacity: 0.5;
    stroke-width: 2px;
    fill: none;
}

.ks-bpmn-line~.ks-bpmn-group-resize-points .ks-bpmn-resize-point {
    cursor: pointer;
}

.ks-bpmn-ghost-line {
    stroke-width: 1px;
    stroke: #000;
    fill: none;
    opacity: 0.6;
    pointer-events: none;
}

.ks-bpmn-text-el {
    pointer-events: none;
}

.ks-bpmn-text-el.edit {
    pointer-events: all;
}

.ks-bpmn-text-el.edit .ks-bpmn-html-text {
    display: none;
}

.ks-bpmn-html {
    margin: 2px;
    box-sizing: border-box;
    height: calc(100% - 4px);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.ks-bpmn-html-text {
    text-align: center;
    max-width: 100%;
    max-height: 100%;
    white-space: pre-wrap;
    word-break: break-word;
    padding-left: 1.185rem;
    padding-right: 0.5rem;
}

.ks-bpmn-text-editor {
    height: 100%;
    width: 100%;
    resize: none;
    border: none;
    overflow: hidden;
    user-select: all;
}

.ks-bpmn-resize-overlay {
    stroke: #f5a142;
    stroke-width: 1px;
    stroke-dasharray: 5, 5;
    shape-rendering: crispEdges;
    fill: transparent;
}

.ks-bpmn-pool-title-text {
    font-size: 1rem;
}

.ks-bpmn-pool-title-bg-rect {
    stroke: #95cde4;
    stroke-width: 2px;
    fill: #e6f3f9;
}

.ks-bpmn-path-dragger-point {
    fill: #f88;
    stroke: #000;
    stroke-width: 1px;
}

.ks-bpmn-label-title {
    fill: transparent;
    stroke: transparent;
    stroke-width: 1px;
    shape-rendering: crispEdges;
}

.ks-bpmn-group-title-label .ks-bpmn-html {
    justify-content: flex-start;
    align-items: flex-start;
}

.ks-bpmn-group-title-label .ks-bpmn-html-text,
.ks-bpmn-group-title-label .ks-bpmn-text-editor {
    font-size: 0.7rem;
    text-align: left;
    padding: 0;
}

.ks-bpmn-group-title-label:not(.ks-bpmn-group-selected):hover .ks-bpmn-label-title {
    stroke: #88f;
    stroke-dasharray: 5, 5;
}

.ks-bpmn-icon {
    pointer-events: none;
}

.ks-bpmn-add-circle {
    pointer-events: none;
}

.ks-bpmn-path-resizer {
    pointer-events: none;
}

.ks-bpmn-path-resize-section {
    stroke: transparent;
}

.ks-bpmn-path-resize-section.nw-resize {
    cursor: ns-resize;
}

.ks-bpmn-path-resize-section.ew-resize {
    cursor: ew-resize;
}

.help-dot {
    pointer-events: none;
}

.ks-bpmn-element-list-item .x-treelist-row {
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
}

.ks-bpmn-element-list-item .x-treelist-item-text {
    white-space: pre-wrap;
}

.ks-bpmn-element-list-item-proxy {
    width: 160px;
    padding: 0.5rem;
    min-height: 20px;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #fff;
    border: 1px solid black;
    font-size: 0.8125rem;
}

.x-treelist-expander-first .ks-bpmn-element-list-item__expander {
    width: 16px;
    height: 16px;
    left: 10px;
    top: 0;bottom: 0;
    margin: auto;
    transition: 0.15s;
}

.ks-bpmn-element-list-item__expander:after {
    display: none;
}

.ks-bpmn-element-list-item.x-treelist-item-expanded .ks-bpmn-element-list-item__expander {
    transform: rotate(180deg);
}