/**
* 2015-12-03 下载于 17素材： http://www.17sucai.com/pins/3175.html 的演示代码。
* 
* 更新记录：
* 2016-04-19--sam--1. 重写大部分样式，格式化样式列表，去大部分除针对png图片的依赖。
*/

body{
    color: #333;
}

.GooFlow{
    width: 100%;
    overflow: hidden;
    background:#fff;
    font: 12px Arial, Helvetica, sans-serif;
    -moz-user-select:none;
    -webkit-user-select:none;
    -ms-user-select:none;
    -o-user-select:none;
}

.GooFlow_flowChart,.GooFlow_tool{
    overflow: hidden;
    float: left;
}
.GooFlow_flowChart i,.GooFlow_tool i{
    width: 50px;
    height: 60px;
    display: block;
    margin-left:20px;
    float: left;
    cursor: pointer;
}
/*头部*/
.GooFlow_top_box{
    overflow: hidden;
    padding: 10px 0;
}

.GooFlow_head label{
    font-weight: bold;
    width: 200px;
    text-align: center;
    float: left;
    color: #fff;
    overflow: hidden;
    font-size:18px;
}
.GooFlow_head span {
    float: left;
    height: 22px;
    width: 0px;
    overflow: hidden;
    border-left: #9AC6FF 1px solid;
    border-right: whiteFFF 1px solid;
    margin: 0px 1px;
}
/*工具栏*/
.GooFlow_tool i{
    margin-bottom: 2px;
}
.GooFlow_tool_btndown{
    overflow: hidden;
    background: #49A2DF;
    border-radius: 3px;
}

/*工作区-端点*/
.GooFlow_cont_box{
    border-top: 1px solid #e1e1e1;
    overflow: hidden;
    height: 600px;
}

.GooFlow_left,.GooFlow_right{
    width:202px;
    float:left;
    height:100%;
    overflow:hidden;
}
.GooFlow_right{
    float: right;
}
.GooFlow_app{
    font-size: 14px;
    border-left: 1px solid #e1e1e1;
    border-right: 1px solid #e1e1e1;
}
.GooFlow_app_head{
    overflow: hidden;
    background: #f0f0f0;
    padding: 10px;
}
.GooFlow_app_tit{
    font-size: 18px;
    font-size: 14px;
    height: 40px;
    line-height: 40px;
}
.GooFlow_app_search{
    border: 1px solid #e1e1e1;
    background: #fff;
    height: 30px;
    line-height: 30px;
    position: relative;
}
.GooFlow_app_search_input{
    border: none;
    background: none;
    width: 150px;
    height: 30px;
    line-height: 30px;
    text-indent: 10px;
    outline:none;
}
.GooFlow_search_btn{
    position: absolute;
    background:url(../img/sprite.tool.png);
    background-position: 0px -288px;
    width: 30px;
    height: 30px;
    border: none;
    /*cursor: pointer;*/
    outline:none;
    display: inline-block;
}
.GooFlow_app_cont{
    width: 250px;
    height: 500px;
    overflow: auto;
}

.GooFlow_app_list{
    width: 202px;
    background: #fff;
    list-style: none;
}

.GooFlow_left .GooFlow_app_list_item{
    border-top: 1px solid #e1e1e1;
}

.GooFlow_app_list_item:last-child{
    border-bottom: 1px solid #e1e1e1;
}

.GooFlow_app_list_tit{
    padding: 10px;
    background: #fff;
    position: relative;
    overflow: hidden;
    cursor: pointer;
}
.search_result{
    list-style: none;
    padding: 10px 0 0 5px;
    display: none;
    overflow: hidden;
}
.GooFlow_app_list_tit:after{
    content:'';
    background-image: url(../img/sprite.tool.png);
    background-position: 0px -21px;
    width: 11px;
    height: 11px;
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
}
.GooFlow_app_list_item.selected .GooFlow_app_list_tit{
    background: #F5F8FA;
}
.GooFlow_app_list_item.selected .GooFlow_app_list_box{
    display: block;
}

.GooFlow_app_list_item.selected .GooFlow_app_list_tit:after{
    background-image: url(../img/sprite.tool.png);
    background-position: 0px 0px;
}

.GooFlow_left .GooFlow_app_list_box,.GooFlow_right .GooFlow_app_list_box{
    padding: 10px 0 10px 5px;
    overflow: hidden;
    float: left;
}
.GooFlow_left .GooFlow_app_list_box{
    border-bottom: 1px solid #e1e1e1;
}
.GooFlow_left .GooFlow_app_list_box{
    display: none;
    width: 100%;
}

.GooFlow_app_item{
    width: 60px;
    height: 80px;
    overflow: hidden;
    float: left;
    margin:0 5px 5px 0;
    cursor: move
}
.GooFlow_app_item:hover{
    background-image: url(../img/sprite.work-are.png);
    background-position: 0px -410px;
}
.GooFlow_app_item.active{
    background-image: url(../img/sprite.work-are.png);
    background-position: 0px -410px;
}

.GooFlow_left .app_icon,.GooFlow_right .app_icon{
    background-image: url(../img/sprite.tool.png);
    background-position: 0px -180px;
    width: 26px;
    height: 26px;
    margin: 8px auto 0;
}

.GooFlow_right .app_icon{
    background-image: url(../img/sprite.tool.png);
    background-position: 0px -252px;
}

.app_name{
    padding: 10px 0;
    font-size: 12px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    text-align: center;
}
/*工作区-控制器*/

/*工作区-画布*/
.GooFlow_work {
    margin: 0 202px;
    position: relative;
    width: inherit;
    height: inherit;
    overflow: auto;
}
.GooFlow_work .GooFlow_work_inner {
    width: 1920px;
    height: 700px;
    position: relative;
    overflow: hidden;
}
.GooFlow_work .GooFlow_work_group {
    position: absolute;
    overflow: hidden;
    top: 0px;
    left: 0px
}

/*组织划分框*/
.GooFlow_area {
    position: absolute;
    overflow: hidden;
}
.GooFlow_area.lock {
    cursor: default;
}
.GooFlow_area .bg {
    cursor: move;
    filter: Alpha(Opacity=30);
    -moz-opacity: 0.3;
    opacity: 0.3;
}
.GooFlow_area label {
    cursor: text;
    top: 1px;
    left: 1px;
    position: absolute;
    display: block;
    font-size: 12px;
    text-indent: 18px;
    height: 18px;
    line-height: 18px
}
.GooFlow_area i{
    font-size: 1em;
    display: block;
    height: 11px;
    width: 11px;
    top: 1px;
    left: 1px;
    padding: 2px;
    position: absolute;
    cursor: pointer;
    border-top: white 1px solid;
    border-left: white 1px solid;
    border-bottom: gray 1px solid;
    border-right: gray 1px solid;
}
.GooFlow_area i:before{
    content: "\f192";
}
.GooFlow_work .area_red .bg {
    border: 1px solid red;
    background-color: #FF7865
}
.GooFlow_work .area_red{
    color: red;
}
.GooFlow_work .area_yellow .bg {
    border: 1px solid #CD925A;
    background-color: #FFD564
}
.GooFlow_work .area_yellow{
    color: #AA7600;
}
.GooFlow_work .area_blue .bg {
    border: 1px solid #347BB1;
    background-color: #549CDE
}
.GooFlow_work .area_blue{
    color: #347BB1;
}
.GooFlow_work .area_green .bg {
    border: 1px solid green;
    background-color: #84CA04
}
.GooFlow_work .area_green{
    color: green;
}


/*svg、vml样式*/
v\:group,v\:rect,v\:imagedata,v\:oval,v\:line,v\:polyline,v\:stroke,v\:textbox {
    display:inline-block;
    background:transparent
}
.GooFlow_work svg{display:block;position:absolute}
.GooFlow_work v\:group{position:relative;display:block}
.GooFlow_work v\:group v\:line{overflow:visible}
.GooFlow_work v\:group v\:polyline{overflow:visible}
.GooFlow_work v\:group div {
    cursor: text;
    position: absolute;
    overflow: visible;
    display: inline;
    float: left;
    white-space: nowrap
}
.GooFlow_work .draw {
    color: #ff3300
}

/*方形元素(可拉伸的边缘)*/
.GooFlow div .rs_right {
    overflow: hidden;
    position: absolute;
    right: -1px;
    top: -1px;
    height: 100%;
    width: 6px;
    cursor: w-resize
}
.GooFlow div .rs_bottom {
    overflow: hidden;
    position: absolute;
    left: -1px;
    bottom: -1px;
    width: 100%;
    height: 6px;
    cursor: n-resize
}
#node-ghost{
    position: absolute;
    opacity: 0.5;
}
.GooFlow div .rs_rb {
    position: absolute;
    right: -1px;
    bottom: -1px;
    width: 9px;
    height: 9px;
    overflow: hidden;
    cursor: nw-resize;
    background: url(../img/gooflow_tip.png) no-repeat 0px -8px;
}
.GooFlow div .rs_close {
    z-index: 9;
    cursor: pointer;
    position: absolute;
    right: 0px;
    top: 50%;
    transform: translate(50%,-50%);
    background-image: url(../img/sprite.tool.png);
    background-position: 0px -42px;
    width: 20px;
    height: 20px;
}

/*遮罩层*/
.GooFlow .rs_ghost {
    position: absolute;
    display: none;
    filter: Alpha(Opacity=60);
    -moz-opacity: 0.6;
    opacity: 0.6;
    z-index: 10
}

.GooFlow textarea {
    position: absolute;
    border: #5068AE 1px solid;
    display: none;
    font-size: 14px;
    overflow-y: visible;
    width: 200px;
    padding: 10px;
    z-index: 10001;
    /*top: 50%;*/
    /*left: 50%;*/
    /*transform: translate(-50%,-50%);*/
}

/*线条工具栏*/
.GooFlow .GooFlow_line_oper {
    width: 80px;
    height: 15px;
    background-color: #D8E8FC;
    border: #7DA2CE 1px solid;
    position: absolute;
    filter: Alpha(Opacity=50);
    -moz-opacity: 0.5;
    opacity: 0.5;
    z-index: 10000;
}
.GooFlow .GooFlow_line_move {
    filter: Alpha(Opacity=50);
    -moz-opacity: 0.5;
    opacity: 0.5;
    overflow: hidden;
    position: absolute;
    z-index: 9999
}
.GooFlow .GooFlow_line_oper b {
    display: inline-block;
    width: 15px;
    height: 15px;
    margin-left: 2px;
    cursor: pointer
}
.GooFlow .GooFlow_line_oper .b_l1 {
    background: url(../img/GooFlow_line_oper.png) no-repeat 1px 1px
}
.GooFlow .GooFlow_line_oper .b_l2 {
    background: url(../img/GooFlow_line_oper.png) no-repeat 1px -14px
}
.GooFlow .GooFlow_line_oper .b_l3 {
    background: url(../img/GooFlow_line_oper.png) no-repeat 1px -29px
}
.GooFlow .GooFlow_line_oper .b_x {
    background: url(../img/GooFlow_line_oper.png) no-repeat 1px -44px;
    margin-left: 10px
}
.GooFlow .GooFlow_line_oper b[class^="b_"]:hover{
    background-color: #7DA2CE;
}

/**
* 图标头部工具栏
*/

/*保存*/
.GooFlow_top_box .ico_save{
    background-image: url(../img/sprite.head-tool.png);
    background-position: 0px -70px;
}
.GooFlow_top_box .ico_save:hover{
    background-position: 0px -630px;
}

/*撤销*/
.GooFlow_top_box .ico_undo {
    background-image: url(../img/sprite.head-tool.png);
    background-position: 0px -140px;
}
.GooFlow_top_box .ico_undo:hover{
    background-position: 0px -210px;
}

/*重做*/
.GooFlow_top_box .ico_redo{
    background-image: url(../img/sprite.head-tool.png);
    background-position: 0px -280px;
}
.GooFlow_top_box .ico_redo:hover{
    background-position: 0px -350px;
}

/*指针*/
.GooFlow_top_box .ico_cursor{
    background-image: url(../img/sprite.head-tool.png);
    background-position: 0px -1120px;
}
.GooFlow_top_box .ico_cursor:hover,.GooFlow_top_box .ico_cursor.active{
    background-position: 0px -1190px;
}


/*连线*/
.GooFlow_top_box .ico_direct{
    background-image: url(../img/sprite.head-tool.png);
    background-position: 0px -700px;
}

.GooFlow_top_box .ico_direct:hover,.GooFlow_tool_btndown .ico_direct{
    background-position: 0px -770px;
}

/*判断*/
.GooFlow_top_box .ico_state{
    background-image: url(../img/sprite.head-tool.png);
    background-position: 0px -840px;
}

.GooFlow_top_box .ico_state:hover,.GooFlow_tool_btndown .ico_state{
    background-position: 0px -910px;
}

/*循环*/
.GooFlow_top_box .ico_complex{
    background-image: url(../img/sprite.head-tool.png);
    background-position: 0px -980px;
}

.GooFlow_top_box .ico_complex:hover,.GooFlow_tool_btndown .ico_complex{
    background-position: 0px -1050px;
}

/*聚合*/
.GooFlow_top_box .ico_join{
    background-image: url(../img/sprite.head-tool.png);
    background-position: 0px 0px;
}
.GooFlow_top_box .ico_join:hover,.GooFlow_tool_btndown .ico_join{
    background-position: 0px -560px;
}

/*分流*/
.GooFlow_top_box .ico_fork{
    background-image: url(../img/sprite.head-tool.png);
    background-position: 0px -420px;
}
.GooFlow_top_box .ico_fork:hover,.GooFlow_tool_btndown .ico_fork{
    background-position: 0px -490px;
}

/**
* 工作区图标
*/
.GooFlow .GooFlow_item{
    position: absolute;
    background-image: url(../img/sprite.work-are.png);
    background-position: 0px 0px;
    width: 140px;
    height: 50px;
    cursor: move;
    
}
.GooFlow .GooFlow_item .line-begin{
    overflow: hidden;
    position: absolute;
    top: -15px;
    left: -30px;
}
.GooFlow .GooFlow_item.item-mark{
    border: 1px dashed #00b7ee;
}
.GooFlow .GooFlow_item .line-begin-icon{
    background: url("../img/arrow.png");
    background-size: 100%;
    width: 21px;
    height: 12px;
    position: absolute;
    opacity: 0.5;
    cursor: crosshair;
}
.GooFlow .GooFlow_item .line-begin-icon:hover{
    opacity: 1;
}
.GooFlow .GooFlow_item .line-begin-icon.top{
    left: 50%;
    transform: translateX(-50%);
    top: 0px;
}
.GooFlow .GooFlow_item .line-begin-icon.bottom{
    left: 50%;
    transform: translateX(-50%) rotate(180deg);
    bottom: 0px;
}
.GooFlow .GooFlow_item .line-begin-icon.left{
    top: 50%;
    transform: translateY(-50%) rotate(-90deg);
    left: 0px;
}
.GooFlow .GooFlow_item .line-begin-icon.right{
    top: 50%;
    transform: translateY(-50%) rotate(90deg);
    right: 0px;
}


.GooFlow .node-task{
    position: absolute;
    background-image: url(../img/sprite.work-are.png);
    background-position: 0px 0px;
    width: 140px;
    height: 50px;
}
.GooFlow .GooFlow_item_cont{
    position: absolute;
    left: 0;
    width: 100%;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: move;
}
.GooFlow .node-task .GooFlow_item_cont,.GooFlow .node-plug .GooFlow_item_cont{
    justify-content:flex-start;
    padding-left:10px;
}
.GooFlow_item .GooFlow_item_cont i{
    width: 26px;
    height: 26px;
    display: inline-block;
}
.GooFlow_item_txt{
    display: inline-block;
    margin-left: 10px;
}

/*端点*/
.GooFlow_item .ico_task{
    background-image: url(../img/sprite.tool.png);
    background-position: 0px -180px;
}

/*转换器*/
.GooFlow_item .ico_plug{
    background-image: url(../img/sprite.tool.png);
    background-position: 0px -252px;
}
.GooFlow .node-plug{
    background-image: url(../img/sprite.work-are.png);
    background-position: 0px -120px;
    width: 140px;
    height: 50px;
}

/*判断*/
.GooFlow_item .ico_state{
    background-image: url(../img/sprite.tool.png);
    background-position: 0px -72px;
}
.GooFlow .node-state{
    background-image: url(../img/sprite.work-are.png);
    background-position: 0px -250px;
    width: 120px;
    height: 70px;
}

/*循环*/
.GooFlow_item .ico_complex{
    background-image: url(../img/sprite.tool.png);
    background-position: 0px -216px;
}
.GooFlow .node-complex{
    background-image: url(../img/sprite.work-are.png);
    background-position: 0px -330px;
    width: 70px;
    height: 70px;
}

/*聚合*/
.GooFlow_item .ico_join{
    background-image: url(../img/sprite.tool.png);
    background-position: 0px -108px;
}
.GooFlow .node-join{
    background-image: url(../img/sprite.work-are.png);
    background-position: 0px -180px;
    width: 90px;
    height: 60px;
}

/*分流*/
.GooFlow_item .ico_fork{
    background-image: url(../img/sprite.tool.png);
    background-position: 0px -144px;
}
.GooFlow .node-fork{
    background-image: url(../img/sprite.work-are.png);
    background-position: 0px -60px;
    width: 120px;
    height: 50px;
}
.node-error{
    border:2px dashed #f00;
}
.line-error{
    stroke:#f00
}
.file-box{
    position: absolute;
    top: 20px;
    padding-left: 30px;
    left: 50px;
    z-index: 9999;
}
.file-box.error{
    border:2px dashed #f00;
}

.file-box input{
    margin: 20px;
    border: none;
    background: none;
    padding: 5px;
    border-bottom: 1px solid #333;
    
}
.special-error{
    border:2px dashed #f00;
}