#flow {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

#accordion-group-test-flow > div > .panel-body {
    margin: 0px;
    padding: 0px;
}

.flow-maximized {
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    z-index: 12;
    background-color: #ffffff;
}

#flowContainerWrapper {
    width: 30000px;
    height: 30000px;
    overflow: hidden;
}

#flowContainerScroll {
    width: 100%;
    height: 819px;
    overflow: scroll;
}

.flow-maximized #flowContainerScroll {
    height: 100%;
}

.hidden {
    display: none;
}

#flowContainer {
    position: relative;
    width: 30000px;
    height: 30000px;
    background-color: #FBFBFB;
}

.cursor-move {
    cursor: move;
}

.cursor-resize {
    cursor: nwse-resize;
}

#selection-rectangle {
    border: 1px dotted #000;
    position: absolute;
}

#flow-menu-wrapper {
    width: 100%;
    position: relative;
    right: 0px;
    z-index: 11;
}

#flow-menu {
    position: absolute;
    top: 10px;
    right: 30px;
}

#flow-menu * {
    margin: 10px;
}

.node {
    border: 1px solid black;
    position: absolute;
    z-index: 7;
    background-color: rgba(255, 255, 255, 0.8);
}

.node-content {
    width: 100%;
    display: table;
}

.node-content-left {
    display: table-cell;
    padding-right: 4px;
}

.node-content-right {
    display: table-cell;
    padding-left: 4px;
}

.node-active {
    z-index: 8;
}

.node-selected {
    border: 1px solid blue;
    background-color: #DFEFF5;
}

.node-selected-candidate {
    border: 1px solid orange;
    background-color: #DFEFF5;
}

.node-header-icons {
    float: right;
    position: relative;
    top: 0;
    right: 0;
    height: 16px;
}

.node-header {
    word-wrap: break-word;
    padding-left: 5px;
    padding-right: 5px;
    font-weight: bold;
    border-bottom: solid grey 1px;
}

.node-header a {
    cursor: pointer;
}

.node-footer {
    width: 100%;
    padding: 3px;
}

.nodeStart {
}

.nodeEnd {
}

.portLabel {
    padding-left: 3px;
    padding-right: 3px;
    margin-top: 12px;
    font-size: small;
    white-space: nowrap;
    height: 18px;
}

.portLabel span {
    overflow: hidden;
    display: inline-grid;
}

.portLabel i {
    width: 17px;
}

.portLabelIn {
    font-weight: bold;
}

.portInputIcon {
    color: #337ab7;
}

.portLabelInput {
}

.portBranchIcon {
    color: #cca335;
}

.portLabelBranch {
    font-weight: bold;
    text-align: right;
}

.portLabelReturn {
    text-align: right;
}

.portReturnIcon {
    color: #a52937;
}

.port-non-default-value {
    font-style: italic;
}

.port-overlay {
    pointer-events: none;
}

.return-function-default {
    color: #1bd334;
}

.pointer-icon {
    color: #ffffff;
    font-size: 1.2em;
}

.ctx-menu {
    z-index: 10;
    position: fixed;
}

.ctx-menu-ul {
    max-height: 400px;
    overflow-y: auto;
}

.ctx-element {
    padding-left: 10px;
    padding-right: 10px;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    white-space: nowrap;
}

.ctx-action {
}

.ctx-action-active {
    cursor: pointer;
}

.ctx-action-inactive {
    color: #d7d8d7;
}

.ctx-action-active:hover {
    background-color: #FBFBFB;
}

._jsPlumb_connector {
    z-index: 4;
}

._jsPlumb_endpoint {
    z-index: 5;
}

._jsPlumb_overlay {
    z-index: 10;
}

._jsPlumb_hover._jsPlumb_connector {
    z-index: 9;
}

._jsPlumb_hover._jsPlumb_connector path {
    stroke: black;
    stroke-width: 4;
}