/* TODO: remove #bodyPlaceholder */
html,body{padding:0;margin:0;overflow:hidden;border:none;height:100%;}
/* scrollbar style */
body::-webkit-scrollbar {
	width: 12px;
	height: 12px;
}
body::-webkit-scrollbar-track {
	-webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3);
	-webkit-border-radius: 10px;
	border-radius: 10px;
}
body::-webkit-scrollbar-thumb {
	-webkit-border-radius: 10px;
	border-radius: 10px;
	background: rgba(205,227,255,0.8);
	-webkit-box-shadow: inset 0 0 6px rgba(98,176,255,0.5);
	border: solid 1px #62b0ff;
}
body::-webkit-scrollbar-thumb:window-inactive {
	background: rgba(205,227,255,0.4);
}
input[type=text]::-ms-clear, input:not([type])::-ms-clear {display: none;}

/* rect,circle,polyline,line,polygon,path {shape-rendering:crispEdges;} */
svg, text {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  -o-user-select: none;
  user-select: none;          
}
text, tspan {-webkit-text-size-adjust:none;}

svg {overflow:hidden;} /* for IE 9/10 */

.highlight[stroke="none"], .highlight [stroke="none"],.selected[stroke="none"], .selected [stroke="none"] {stroke-width:1; vector-effect:non-scaling-stroke;}
.hidetext g text {display:none;}
text {cursor:default;}
.hidetext text, text.hidetext {display:none;}

/* ie9 looks like cannot support these defines in css */
#gControlDots rect { shape-rendering:auto;}
#gControlDots circle { shape-rendering:auto; vector-effect: non-scaling-stroke;}
#gControlDots circle.light { fill: #aea; }
#gControlRects rect, #gControlLines line { shape-rendering:auto; fill:none; stroke:#0000CC; vector-effect:non-scaling-stroke;}
#gControlRects rect:not([stroke-dasharray]), #gControlLines line:not([stroke-dasharray]) {stroke-dasharray:3,3;}
#selectBox1 { shape-rendering:crispEdges;stroke-dasharray:3,3; fill:none;}

.cursor-cross-red { cursor: url(../images/cursor/cross-red.gif) 48 48, crosshair; }
.bw-chrome.cursor-cross-red { cursor: none, crosshair; }
.cursor-none { cursor: none; }
/* .bw-firefox.cursor-none { cursor: url(../images/cursor/none.gif) 0 0, default; } */
.cursor-grab {
cursor:url(../images/cursor/grab.cur), pointer;
cursor:-moz-grab;
cursor:-webkit-grab;
cursor:grab;
}
.cursor-grabbing {
cursor:url(../images/cursor/grabbing.cur), pointer;
cursor:-moz-grabbing;
cursor:-webkit-grabbing;
cursor:grabbing;
}
.cursor-row-resize {cursor:row-resize;}
.cursor-col-resize {cursor:col-resize;}
.cursor-zoom-in {
cursor:-moz-zoom-in;
cursor:-webkit-zoom-in;
cursor:zoom-in;
}
.cursor-zoom-out {
cursor:-moz-zoom-out;
cursor:-webkit-zoom-out;
cursor:zoom-out;
}

.events-all { pointer-events:all; }
#grid1, #gridOH, #gridOV { shape-rendering:crispEdges;}
#gCurParts circle.pindot {fill:#C0C0C0;fill-opacity:0.6; stroke:none;}
#g1 circle.pindot {fill:none;stroke:none;pointer-events: fill;}
#g1 .selected circle.pindot {fill:#C0C0C0;fill-opacity: 0.6;stroke: none;}

/* TODO: if the stroke width in human eyes is greater than 2px, crispEdges looks bad. */
#g1 rect, #g1 circle, #g1 ellipse, #g1 polyline, #g1 line, #g1 polygon, #g1 path {shape-rendering:crispEdges;}
#g1 path[d*="C"], #g1 path[d*="A"] {shape-rendering:initial;}
/* rect with linejoin has bug (cannot respond mouse events) in some versions of chrome and opera. Chrome 50 is ok. */
line,path,polygon,polyline{stroke-linejoin:round; stroke-linecap:round;}
#gCurParts * {shape-rendering:crispEdges;}
svg rect.hitbox {fill:none; stroke:none; pointer-events:all;}
/* #g1 > g:hover > rect.hitbox {stroke:#0000CC;stroke-width:1;stroke-dasharray:3,3;shape-rendering:crispEdges;} */

.textInputBox {
	position: absolute;
	resize: both;
	overflow: auto;
	-webkit-box-shadow: 0 0 10px 5px #666666;
	-moz-box-shadow: 0 0 10px 5px #666666;
	-o-box-shadow: 0 0 10px 5px #666666;
	box-shadow: 0 0 10px 5px #666666;
}
#bodyPlaceholder {width:100px;height:100px;margin:0;}

.fixed-center {
	position:fixed;left:50%;top:-1000px;
	-o-transform: translate(-50%,0);
	-ms-transform: translate(-50%,0);
	-moz-transform: translate(-50%,0);
	-webkit-transform: translate(-50%,0);
	transform: translate(-50%,0);
}
.one-time-tip {
	top:10px; padding:10px; font-family:Arial; color:#fff; background-color:rgba(0,0,0,.5);
}
.one-time-tip .content {
	max-width:700px; white-space:nowrap;
}
.one-time-tip em {
	color:yellow;
}
.one-time-tip .content + .content {
	margin-top:6px;
}
.one-time-tip .btns {
	text-align:right;
}
#g1 > g[id^=frame_lib_] > *:not(g):not([c_partid="part_annotation"]):not([c_etype=frame_hitarea]):not([c_etype=frame_outbox]):not([c_etype=frame_innerbox]):not([c_etype=frame_tick]) {pointer-events:none;}
#g1 > g[id^=frame_lib_] g[c_partid="part_annotation"]:not([c_etype^=frame_]) {pointer-events:none;}
#g1 > g[id^=frame_lib_] g[c_partid="part_annotation"][c_etype=frame_product] {pointer-events:none;}
#g1 > g[id^=frame_lib_] rect[c_etype=frame_hitarea] {pointer-events:all;}


/*copyed form edior*/
g[c_partid="part_image"].selected > image, image.selected, image.selected, image:hover:not(.verify-icon) {filter:url(#feGaussianBlur);}
.highlight, g.highlight * {stroke:red;}
.selected, .selected * {stroke:red;}
text.highlight, .highlight text, tspan.highlight, .highlight tspan {stroke:none;fill:red;}
text.selected, svg.selected text, g.selected text, tspan.selected, svg.selected tspan, g.selected tspan {stroke:none;fill:red;}
text.selected, .selected text, tspan.selected, .selected tspan {stroke:none;fill:red;}
.wire-hover {stroke:red;}
/*copyed form edior*/

/*为了让手指更好选中*/
#g1 > *:not([c_partid="part_arrowhead"]):not([c_partid="part_no_connect_flag"]):not(polyline[c_etype="wire"]){
	pointer-events: fill;
}
#g1 > g:not([c_partid="part_import_frame_lib"]) > rect[fill],
#g1 > ellipse[fill],
#g1 > polyline[fill]:not([c_etype="wire"]),
#g1 > path[fill]{
	pointer-events: fill;
}

#g1 > g[c_partid="part_import_frame_lib"] > rect[c_etype="frame_hitarea"]{
	pointer-events: fill;
}

#g1 > rect[fill], #g1 > polygon[fill],
#g1 > g[c_partid^="part_netLabel"] > path
{
	pointer-events: fill;
}

/*待连接点*/
#g1 circle.pindot.connect{
	fill: red !important;
	r: 5;
}

.my_hidden{
	animation: my_hidden .3s ease;
	animation-fill-mode:forwards;
	display: none;
	pointer-events: none;
	touch-action: none;
}
.my_show{
	animation: my_show .3s ease;
}

@keyframes my_hidden{
	0% {opacity: 1;}
	50% {opacity: 0.5}
	100% {opacity: 0;}
}

@keyframes my_show{
	0% {opacity: 0;pointer-events: none;touch-action: none;}
	50% {opacity: 0.5;pointer-events: none;touch-action: none;}
	100% {opacity: 1}
}

.right_hidden{
	animation: right_hidden .3s ease;
	pointer-events: none;
	touch-action: none;
}
.right_show{
	animation: right_show .3s ease;
	animation-fill-mode:forwards;
}

@keyframes right_hidden{
	0% {right: 0px;}
	100% {right: -35%;}
}

@keyframes right_show{
	0% {right: -35%;}
	100% {right: 0px;}
}

#g1 circle.pindot.selecting{
	fill: #C0C0C0;
	fill-opacity: 0.6;
	stroke: none;
	r: 5;
}

#g1 polyline[c_etype="wire"].wire1{
	stroke-width: 5;
}
#g1 polyline[c_etype="wire"].wire2{
	stroke-width: 6;
}
#g1 polyline[c_etype="wire"].wire3{
	stroke-width: 7;
}
#g1 polyline[c_etype="wire"].wire4{
	stroke-width: 8;
}
#g1 polyline[c_etype="wire"].wire5{
	stroke-width: 9;
}
#g1 polyline[c_etype="wire"].wire6{
	stroke-width: 10;
}
#g1 polyline[c_etype="wire"].wire7{
	stroke-width: 11;
}
#g1 polyline[c_etype="wire"].wire8{
	stroke-width: 12;
}