dhtmlxgantt.css 51 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226
  1. .gridHoverStyle,
  2. .gridSelection,
  3. .timelineSelection {
  4. background-color: #fff3a1
  5. }
  6. .gantt_grid_scale .gantt_grid_head_cell {
  7. color: #909399;
  8. font-size: 14px;
  9. /* font-weight: 600; */
  10. border-top: none !important;
  11. border-right: none !important
  12. }
  13. .gantt_grid_data .gantt_cell {
  14. border-right: none;
  15. color: #374755
  16. }
  17. .gantt_task_link .gantt_link_arrow_right {
  18. border-width: 6px;
  19. margin-top: -3px
  20. }
  21. .gantt_task_link .gantt_link_arrow_left {
  22. border-width: 6px;
  23. margin-left: -6px;
  24. margin-top: -3px
  25. }
  26. .gantt_task_link .gantt_link_arrow_down,
  27. .gantt_task_link .gantt_link_arrow_up {
  28. border-width: 6px
  29. }
  30. .gantt_task_line .gantt_task_progress_drag {
  31. bottom: -4px;
  32. height: 10px;
  33. margin-left: -8px;
  34. width: 16px
  35. }
  36. .chartHeaderBg {
  37. background-color: #fff
  38. }
  39. .gantt_task .gantt_task_scale .gantt_scale_cell {
  40. color: #909399;
  41. border-right: 1px solid #ebebeb
  42. }
  43. .gantt_row.gantt_project,
  44. .gantt_row.odd.gantt_project {
  45. background-color: #edffef
  46. }
  47. .gantt_task_row.gantt_project,
  48. .gantt_task_row.odd.gantt_project {
  49. background-color: #f5fff6
  50. }
  51. .gantt_task_line.gantt_project {
  52. background-color: #65c16f;
  53. border: 1px solid #3c9445
  54. }
  55. .gantt_task_line.gantt_project .gantt_task_progress {
  56. background-color: #46ad51
  57. }
  58. .buttonBg {
  59. background: #fff
  60. }
  61. .gantt_cal_light .gantt_btn_set {
  62. margin: 5px 10px
  63. }
  64. .gantt_btn_set.gantt_cancel_btn_set {
  65. background: #fff;
  66. color: #454545;
  67. border: 1px solid #DFE3EA
  68. }
  69. .gantt_btn_set.gantt_save_btn_set {
  70. background: #3db9d3;
  71. text-shadow: 0 -1px 0 #248a9f;
  72. color: #fff
  73. }
  74. .gantt_btn_set.gantt_delete_btn_set {
  75. text-shadow: 0 -1px 0 #6f6f6f;
  76. background: #ec8e00;
  77. text-shadow: 0 -1px 0 #a60;
  78. color: #fff
  79. }
  80. .gantt_cal_light_wide {
  81. padding-left: 0 !important;
  82. padding-right: 0 !important
  83. }
  84. .gantt_cal_light_wide .gantt_cal_larea {
  85. border-left: none !important;
  86. border-right: none !important
  87. }
  88. .gantt_popup_button.gantt_ok_button {
  89. background: #3db9d3;
  90. text-shadow: 0 -1px 0 #248a9f;
  91. color: #fff;
  92. font-weight: 700;
  93. border-width: 0
  94. }
  95. .gantt_popup_button.gantt_cancel_button {
  96. font-weight: 700;
  97. color: #454544
  98. }
  99. .gantt_popup_title {
  100. background-color: #fff
  101. }
  102. .gantt_popup_shadow {
  103. box-shadow: 3px 3px 3px rgba(0, 0, 0, .07)
  104. }
  105. .gantt_qi_big_icon.icon_edit {
  106. color: #454545;
  107. background: #fff
  108. }
  109. .gantt_qi_big_icon.icon_delete {
  110. text-shadow: 0 -1px 0 #a60;
  111. background: #ec8e00;
  112. color: #fff;
  113. border-width: 0
  114. }
  115. .gantt_tooltip {
  116. box-shadow: 3px 3px 3px rgba(0, 0, 0, .07);
  117. border-left: 1px solid rgba(0, 0, 0, .07);
  118. border-top: 1px solid rgba(0, 0, 0, .07);
  119. font-size: 8pt;
  120. color: #454545
  121. }
  122. .gantt_container,
  123. .gantt_tooltip {
  124. background-color: #fff;
  125. font-family: Arial
  126. }
  127. .gantt_container {
  128. font-size: 13px;
  129. border: 1px solid #DFE3EA;
  130. position: relative;
  131. white-space: nowrap;
  132. overflow-x: hidden;
  133. overflow-y: hidden;
  134. border-radius: 10px;
  135. }
  136. .gantt_touch_active {
  137. overscroll-behavior: none
  138. }
  139. .gantt_task_scroll {
  140. overflow-x: scroll
  141. }
  142. .gantt_grid,
  143. .gantt_task {
  144. position: relative;
  145. overflow-x: hidden;
  146. overflow-y: hidden;
  147. display: inline-block;
  148. vertical-align: top
  149. }
  150. .gantt_grid_scale,
  151. .gantt_task_scale {
  152. color: #6b6b6b;
  153. font-size: 12px;
  154. border-bottom: 1px solid #DFE3EA;
  155. box-sizing: border-box
  156. }
  157. .gantt_grid_scale,
  158. .gantt_task_scale,
  159. .gantt_task_vscroll {
  160. background-color: #fff
  161. }
  162. .gantt_scale_line {
  163. box-sizing: border-box;
  164. -moz-box-sizing: border-box;
  165. border-top: 1px solid #DFE3EA
  166. }
  167. .gantt_scale_line:first-child {
  168. border-top: none
  169. }
  170. .gantt_grid_head_cell {
  171. display: inline-block;
  172. vertical-align: top;
  173. border-right: 1px solid #DFE3EA;
  174. text-align: center;
  175. position: relative;
  176. cursor: default;
  177. height: 100%;
  178. box-sizing: border-box;
  179. -moz-box-sizing: border-box;
  180. line-height: 33px;
  181. -moz-user-select: -moz-none;
  182. -webkit-user-select: none;
  183. user-select: none;
  184. overflow: hidden
  185. }
  186. .gantt_scale_line {
  187. clear: both
  188. }
  189. .gantt_grid_data {
  190. width: 100%;
  191. overflow: hidden;
  192. position: relative
  193. }
  194. .gantt_row {
  195. position: relative;
  196. -webkit-user-select: none;
  197. -moz-user-select: none;
  198. -moz-user-select: -moz-none
  199. }
  200. .gantt_add,
  201. .gantt_grid_head_add {
  202. width: 100%;
  203. height: 100%;
  204. background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NTQ3MjMyMENDNkI0MTFFMjk4MTI5QTg3MDhFNDVDQTkiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NTQ3MjMyMERDNkI0MTFFMjk4MTI5QTg3MDhFNDVDQTkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo1NDcyMzIwQUM2QjQxMUUyOTgxMjlBODcwOEU0NUNBOSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo1NDcyMzIwQkM2QjQxMUUyOTgxMjlBODcwOEU0NUNBOSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PshZT8UAAABbSURBVHjaYrTdeZmBEsCER+4wEP+H4sPkGGCDg020ARR7gb4GIAcYDKMDdPnDyAbYkGG5DVW9cIQMvUdBBAuUY4vDz8iAcZinA2zgCHqAYQMseAywJcYFAAEGAM+UFGuohFczAAAAAElFTkSuQmCC);
  205. background-position: 50%;
  206. background-repeat: no-repeat;
  207. cursor: pointer;
  208. position: relative;
  209. -moz-opacity: .3;
  210. opacity: .3
  211. }
  212. .gantt_grid_head_cell.gantt_grid_head_add {
  213. -moz-opacity: .6;
  214. opacity: .6;
  215. top: 0
  216. }
  217. .gantt_grid_head_cell.gantt_grid_head_add:hover {
  218. -moz-opacity: 1;
  219. opacity: 1
  220. }
  221. .gantt_grid_data .gantt_row.odd:hover,
  222. .gantt_grid_data .gantt_row:hover {
  223. background-color: #ebebeb
  224. }
  225. .gantt_grid_data .gantt_row.odd:hover .gantt_add,
  226. .gantt_grid_data .gantt_row:hover .gantt_add {
  227. -moz-opacity: 1;
  228. opacity: 1
  229. }
  230. .gantt_row,
  231. .gantt_task_row {
  232. border-bottom: 1px solid #ebebeb;
  233. background-color: #fff
  234. }
  235. .gantt_row.odd,
  236. .gantt_task_row.odd {
  237. background-color: #fff
  238. }
  239. .gantt_cell,
  240. .gantt_grid_head_cell,
  241. .gantt_row,
  242. .gantt_scale_cell,
  243. .gantt_task_cell,
  244. .gantt_task_row {
  245. box-sizing: border-box;
  246. -moz-box-sizing: border-box
  247. }
  248. .gantt_grid_head_cell,
  249. .gantt_scale_cell {
  250. line-height: inherit
  251. }
  252. .gantt_grid_scale .gantt_grid_column_resize_wrap {
  253. cursor: col-resize;
  254. position: absolute;
  255. width: 13px;
  256. margin-left: -7px
  257. }
  258. .gantt_grid_column_resize_wrap .gantt_grid_column_resize {
  259. background-color: #DFE3EA;
  260. height: 100%;
  261. width: 1px;
  262. margin: 0 auto
  263. }
  264. .gantt_task_grid_row_resize_wrap {
  265. cursor: row-resize;
  266. position: absolute;
  267. height: 13px;
  268. margin-top: -7px;
  269. left: 0;
  270. width: 100%
  271. }
  272. .gantt_task_grid_row_resize_wrap .gantt_task_grid_row_resize {
  273. background-color: #ebebeb;
  274. top: 6px;
  275. height: 1px;
  276. width: 100%;
  277. margin: 0 auto;
  278. position: relative
  279. }
  280. .gantt_drag_marker.gantt_grid_resize_area,
  281. .gantt_drag_marker.gantt_row_grid_resize_area {
  282. background-color: hsla(0, 0%, 91%, .5);
  283. height: 100%;
  284. width: 100%;
  285. box-sizing: border-box
  286. }
  287. .gantt_drag_marker.gantt_grid_resize_area {
  288. border-left: 1px solid #DFE3EA;
  289. border-right: 1px solid #DFE3EA;
  290. }
  291. .gantt_drag_marker.gantt_row_grid_resize_area {
  292. border-top: 1px solid #DFE3EA;
  293. border-bottom: 1px solid #DFE3EA;
  294. pointer-events: none
  295. }
  296. .gantt_row {
  297. display: flex
  298. }
  299. .gantt_row>div {
  300. flex-shrink: 0;
  301. flex-grow: 0
  302. }
  303. .gantt_cell {
  304. vertical-align: top;
  305. border-right: 1px solid #ebebeb;
  306. padding-left: 6px;
  307. padding-right: 6px;
  308. height: 100%;
  309. overflow: hidden;
  310. white-space: nowrap;
  311. font-size: 13px
  312. }
  313. .gantt_cell_tree {
  314. display: flex;
  315. flex-wrap: nowrap
  316. }
  317. .gantt_grid_data .gantt_last_cell,
  318. .gantt_grid_scale .gantt_last_cell,
  319. .gantt_task .gantt_task_scale .gantt_scale_cell.gantt_last_cell,
  320. .gantt_task_bg .gantt_last_cell {
  321. border-right-width: 0
  322. }
  323. .gantt_task .gantt_task_scale .gantt_scale_cell.gantt_last_cell {
  324. border-right-width: 1px
  325. }
  326. .gantt_task_bg {
  327. overflow: hidden
  328. }
  329. .gantt_scale_cell {
  330. display: inline-block;
  331. white-space: nowrap;
  332. overflow: hidden;
  333. border-right: 1px solid #DFE3EA;
  334. text-align: center;
  335. height: 100%
  336. }
  337. .gantt_task_cell {
  338. display: inline-block;
  339. height: 100%;
  340. border-right: 1px solid #ebebeb
  341. }
  342. .gantt_layout_cell.gantt_ver_scroll {
  343. width: 0;
  344. background-color: transparent;
  345. height: 1px;
  346. overflow-x: hidden;
  347. overflow-y: scroll;
  348. position: absolute;
  349. right: 0;
  350. z-index: 1
  351. }
  352. .gantt_ver_scroll>div {
  353. width: 1px;
  354. height: 1px
  355. }
  356. .gantt_hor_scroll {
  357. height: 0;
  358. background-color: transparent;
  359. width: 100%;
  360. clear: both;
  361. overflow-x: scroll;
  362. overflow-y: hidden
  363. }
  364. .gantt_layout_cell .gantt_hor_scroll {
  365. position: absolute
  366. }
  367. .gantt_hor_scroll>div {
  368. width: 5000px;
  369. height: 1px
  370. }
  371. .gantt_tree_icon,
  372. .gantt_tree_indent {
  373. flex-grow: 0;
  374. flex-shrink: 0
  375. }
  376. .gantt_tree_indent {
  377. width: 15px;
  378. height: 100%
  379. }
  380. .gantt_tree_content,
  381. .gantt_tree_icon {
  382. vertical-align: top
  383. }
  384. .gantt_tree_icon {
  385. /* width: 28px; */
  386. width: 8px;
  387. height: 100%;
  388. background-repeat: no-repeat;
  389. background-position: 50%
  390. }
  391. .gantt_tree_content {
  392. height: 100%;
  393. white-space: nowrap;
  394. min-width: 0
  395. }
  396. .gantt_tree_icon.gantt_open {
  397. /* background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAArklEQVQ4T2NkoBJgpJI5DEPAoFOnTv0/c+YMQR+bmJgwmJmZwX2E4bVp06b9j4yMZODg4MBp2I8fPxiWL1/OkJWVNUAGcXJyMnz//h3uQrJdRLFBIAPQAchlJLsIFuCMjIwM////B5sJMoRkg2CuIdtrQcHBDOxsbHBfCQgIMHz48AHO//nrF8O6tWsJR7+7uzsDIxMTznT0/98/hp07d+I3iGopm2DewKFg8OV+AJWkfRMrTobLAAAAAElFTkSuQmCC); */
  398. background-image: url(../../../static/images/右箭头.png);
  399. background-size: 80%;
  400. width: 18px;
  401. cursor: pointer
  402. }
  403. .gantt_tree_icon.gantt_close {
  404. /* background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAkUlEQVQ4T2NkoBJgpJI5DEPAoFOnTv0/c+YMQR+bmJgwmJmZwX2E4bVp06b9j4yMZODg4MBp2I8fPxiWL1/OkJWVNeIN4uTkxAin79+/M5AcRtgCHGQIyQbhijaiDQoKDmZgZ2PDGf0/f/1iWLd2LeHod3d3Z2BkYsJp0P9//xh27tyJ3yCqpWyCeQOHgsGX+wEZpW4T5LCxKwAAAABJRU5ErkJggg==); */
  405. background-image: url(../../../static/images/下箭头.png);
  406. background-size: 80%;
  407. width: 18px;
  408. cursor: pointer
  409. }
  410. .gantt_tree_icon.gantt_blank {
  411. width: 18px
  412. }
  413. .gantt_tree_icon.gantt_folder_open {
  414. /* background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAs0lEQVQ4T62T0Q2EIBBEpQlzuaaMsQoqooqLsSljbMLLmMxmUXBR4U+Qt7Mzi2sqLVeJ00SgEMKWAnvvzYLyAyHfT5sU2fXDJSwCAXK8MI0/UTkva7IIFJsg3NSwnKdFoKtAWOQ1CN7CEqeTotE5L7QyJhmBcklZM4ZgTiAr3iOU3kD93ppO5SkMjB1EeXdBWoSkRql3YeIRe+cGvktS056JR9wsmeBUkujCfNXWCPC8GugPqn5ii/hV+FoAAAAASUVORK5CYII=) */
  415. /* background-image: url(../../../static/images/里程碑2.png); */
  416. background-size: 60%;
  417. }
  418. .gantt_tree_icon.gantt_folder_closed {
  419. /* background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAfElEQVQ4T2NkoBJgpJI5DCgGTZ8+/T82gzMzMwlaCFcAM0RKQgyrI/0Dg/EahmIQyBB0DRvXr4W78tmLV1gtAbmYoEEgnciG4QpTogzCFyEwSyg2CBS2oCAZNQh3cA+hMAJ5AlcKxuVBlOgnNgVjMwyUrQjmamKLGaoZBAAOTFyLnFFW4wAAAABJRU5ErkJggg==) */
  420. /* background-image: url(../../../static/images/里程碑.png); */
  421. background-size: 60%;
  422. }
  423. .gantt_tree_icon.gantt_file {
  424. /* background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAeElEQVQ4T2NkoBJgRDZn+vTp/wmZm5mZiaIHph7DICkJMUJmMfgHBmMYhtUgbAo3rl+L4lp0NUQbBPI2umuRDaPIIFAYwAyjv0HoMQALM5JdhG4QLMxGDcKdyIdoGIE89OzFK4KZF5Rl8EY/QROQFGA1iBQD0NUCAJVjcxO0naAQAAAAAElFTkSuQmCC) */
  425. /* background-image: url(../../../static/images/任务.png); */
  426. background-size: 50%;
  427. }
  428. .gantt_grid_head_cell .gantt_sort {
  429. position: absolute;
  430. right: 5px;
  431. top: 8px;
  432. width: 7px;
  433. height: 13px;
  434. background-repeat: no-repeat;
  435. background-position: 50%
  436. }
  437. .gantt_grid_head_cell .gantt_sort.gantt_asc {
  438. background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAANCAYAAABlyXS1AAAARUlEQVR4nGNgQAKGxib/GbABkIS7b8B/DAUwCRiGK0CXwFBAb1DfP/U/LszwHwi2X7qFgUEArBtdAVwCBmAKMCSQFSDzAWXXaOHsXeqkAAAAAElFTkSuQmCC)
  439. }
  440. .gantt_grid_head_cell .gantt_sort.gantt_desc {
  441. background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAANCAYAAABlyXS1AAAARUlEQVR42mNgQAL1/VP/M2ADIIntF2/9x1AAlrh0C47hCmA60DFYwX88gIFGwNDY5D8uDFbg7hvwHx2jmIBTAlkB0e4BAEjlaNtBWJPnAAAAAElFTkSuQmCC)
  442. }
  443. .gantt_inserted,
  444. .gantt_updated {
  445. font-weight: 700
  446. }
  447. .gantt_deleted {
  448. text-decoration: line-through
  449. }
  450. .gantt_invalid {
  451. background-color: #ffe0e0
  452. }
  453. .gantt_error {
  454. color: red
  455. }
  456. .gantt_status {
  457. right: 1px;
  458. padding: 5px 10px;
  459. background: hsla(0, 0%, 61%, .1);
  460. position: absolute;
  461. top: 1px;
  462. transition: opacity .2s;
  463. opacity: 0
  464. }
  465. .gantt_status.gantt_status_visible {
  466. opacity: 1
  467. }
  468. #gantt_ajax_dots span {
  469. transition: opacity .2s;
  470. background-repeat: no-repeat;
  471. opacity: 0
  472. }
  473. #gantt_ajax_dots span.gantt_dot_visible {
  474. opacity: 1
  475. }
  476. .gantt_column_drag_marker {
  477. border: 1px solid #DFE3EA;
  478. opacity: .8
  479. }
  480. .gantt_grid_head_cell_dragged {
  481. border: 1px solid #DFE3EA;
  482. opacity: .3
  483. }
  484. .gantt_grid_target_marker {
  485. position: absolute;
  486. top: 0;
  487. width: 2px;
  488. height: 100%;
  489. background-color: #ffa011;
  490. transform: translateX(-1px)
  491. }
  492. .gantt_grid_target_marker:after,
  493. .gantt_grid_target_marker:before {
  494. display: block;
  495. content: "";
  496. position: absolute;
  497. left: -5px;
  498. width: 0;
  499. height: 0;
  500. border: 6px solid transparent
  501. }
  502. .gantt_grid_target_marker:before {
  503. border-top-color: #ffa011
  504. }
  505. .gantt_grid_target_marker:after {
  506. bottom: 0;
  507. border-bottom-color: #ffa011
  508. }
  509. .gantt_message_area {
  510. position: fixed;
  511. right: 5px;
  512. width: 250px;
  513. z-index: 1000
  514. }
  515. .gantt-info {
  516. min-width: 120px;
  517. padding: 4px 4px 4px 20px;
  518. font-family: Arial;
  519. z-index: 10000;
  520. margin: 5px;
  521. margin-bottom: 10px;
  522. transition: all .5s ease
  523. }
  524. .gantt-info.hidden {
  525. height: 0;
  526. padding: 0;
  527. border-width: 0;
  528. margin: 0;
  529. overflow: hidden
  530. }
  531. .gantt_modal_box {
  532. overflow: hidden;
  533. display: inline-block;
  534. min-width: 250px;
  535. width: 250px;
  536. text-align: center;
  537. position: fixed;
  538. z-index: 20000;
  539. box-shadow: 3px 3px 3px rgba(0, 0, 0, .07);
  540. font-family: Arial;
  541. border-radius: 6px;
  542. border: 1px solid #DFE3EA;
  543. background: #fff
  544. }
  545. .gantt_popup_title {
  546. border-top-left-radius: 6px;
  547. border-top-right-radius: 6px;
  548. border-width: 0
  549. }
  550. .gantt_button,
  551. .gantt_popup_button {
  552. border: 1px solid #DFE3EA;
  553. height: 30px;
  554. line-height: 30px;
  555. display: inline-block;
  556. margin: 0 5px;
  557. border-radius: 4px;
  558. background: #fff
  559. }
  560. .gantt-info,
  561. .gantt_button,
  562. .gantt_popup_button {
  563. user-select: none;
  564. -webkit-user-select: none;
  565. -moz-user-select: -moz-none;
  566. cursor: pointer
  567. }
  568. .gantt_popup_text {
  569. overflow: hidden
  570. }
  571. .gantt_popup_controls {
  572. border-radius: 6px;
  573. padding: 10px
  574. }
  575. .gantt_popup_button {
  576. min-width: 100px
  577. }
  578. div.dhx_modal_cover {
  579. background-color: #000;
  580. cursor: default;
  581. filter: progid:DXImageTransform.Microsoft.Alpha(opacity=20);
  582. opacity: .2;
  583. position: fixed;
  584. z-index: 19999;
  585. left: 0;
  586. top: 0;
  587. width: 100%;
  588. height: 100%;
  589. border: none;
  590. zoom: 1
  591. }
  592. .gantt-info img,
  593. .gantt_modal_box img {
  594. float: left;
  595. margin-right: 20px
  596. }
  597. .gantt-alert-error,
  598. .gantt-confirm-error {
  599. border: 1px solid red
  600. }
  601. .gantt_button input,
  602. .gantt_popup_button div {
  603. border-radius: 4px;
  604. font-size: 14px;
  605. box-sizing: content-box;
  606. padding: 0;
  607. margin: 0;
  608. vertical-align: top
  609. }
  610. .gantt_popup_title {
  611. border-bottom: 1px solid #DFE3EA;
  612. height: 40px;
  613. line-height: 40px;
  614. font-size: 20px
  615. }
  616. .gantt_popup_text {
  617. margin: 15px 15px 5px;
  618. font-size: 14px;
  619. color: #000;
  620. min-height: 30px;
  621. border-radius: 6px
  622. }
  623. .gantt-error,
  624. .gantt-info {
  625. font-size: 14px;
  626. color: #000;
  627. box-shadow: 3px 3px 3px rgba(0, 0, 0, .07);
  628. padding: 0;
  629. background-color: #fff;
  630. border-radius: 3px;
  631. border: 1px solid #fff
  632. }
  633. .gantt-info div {
  634. padding: 5px 10px;
  635. background-color: #fff;
  636. border-radius: 3px;
  637. border: 1px solid #DFE3EA
  638. }
  639. .gantt-error {
  640. background-color: #d81b1b;
  641. border: 1px solid #ff3c3c
  642. }
  643. .gantt-error div {
  644. background-color: #d81b1b;
  645. border: 1px solid #940000;
  646. color: #fff
  647. }
  648. .gantt-warning {
  649. background-color: #ff9000;
  650. border: 1px solid #ffa633
  651. }
  652. .gantt-warning div {
  653. background-color: #ff9000;
  654. border: 1px solid #b36500;
  655. color: #fff
  656. }
  657. .gantt_data_area div,
  658. .gantt_grid div {
  659. -ms-touch-action: none;
  660. -webkit-tap-highlight-color: rgba(0, 0, 0, 0)
  661. }
  662. .gantt_data_area {
  663. position: relative;
  664. overflow-x: hidden;
  665. overflow-y: hidden;
  666. -moz-user-select: -moz-none;
  667. -webkit-user-select: none;
  668. user-select: none
  669. }
  670. .gantt_links_area {
  671. position: absolute;
  672. left: 0;
  673. top: 0
  674. }
  675. .gantt_side_content,
  676. .gantt_task_content,
  677. .gantt_task_progress {
  678. line-height: inherit;
  679. overflow: hidden;
  680. height: 100%
  681. }
  682. .gantt_task_content {
  683. font-size: 12px;
  684. color: #fff;
  685. width: 100%;
  686. top: 0;
  687. cursor: pointer;
  688. position: absolute;
  689. white-space: nowrap;
  690. /* text-align: center */
  691. }
  692. .gantt_task_progress {
  693. text-align: center;
  694. z-index: 0;
  695. background: #299cb4
  696. }
  697. .gantt_task_progress_wrapper {
  698. border-radius: inherit;
  699. position: relative;
  700. width: 100%;
  701. height: 100%;
  702. overflow: hidden
  703. }
  704. .gantt_task_line {
  705. border-radius: 25px;
  706. position: absolute;
  707. box-sizing: border-box;
  708. background-color: #3db9d3;
  709. /* border: 1px solid #2898b0; */
  710. -webkit-user-select: none;
  711. -moz-user-select: none;
  712. -moz-user-select: -moz-none
  713. }
  714. .gantt_task_line.gantt_drag_move div {
  715. cursor: move
  716. }
  717. .gantt_touch_move,
  718. .gantt_touch_progress .gantt_touch_resize {
  719. transform: scale(1.02, 1.1);
  720. transform-origin: 50%
  721. }
  722. .gantt_touch_progress .gantt_task_progress_drag,
  723. .gantt_touch_resize .gantt_task_drag {
  724. transform: scaleY(1.3);
  725. transform-origin: 50%
  726. }
  727. .gantt_side_content {
  728. position: absolute;
  729. white-space: nowrap;
  730. color: #6e6e6e;
  731. top: 0;
  732. font-size: 11px
  733. }
  734. .gantt_side_content.gantt_left {
  735. right: 100%;
  736. padding-right: 20px
  737. }
  738. .gantt_side_content.gantt_right {
  739. left: 100%;
  740. padding-left: 20px
  741. }
  742. .gantt_side_content.gantt_link_crossing {
  743. bottom: 8.75px;
  744. top: auto
  745. }
  746. .gantt_link_arrow,
  747. .gantt_task_link .gantt_line_wrapper {
  748. position: absolute;
  749. cursor: pointer
  750. }
  751. .gantt_line_wrapper div {
  752. background-color: #ffa011
  753. }
  754. .gantt_task_link:hover .gantt_line_wrapper div {
  755. box-shadow: 0 0 5px 0 #ffa011
  756. }
  757. .gantt_task_link div.gantt_link_arrow {
  758. background-color: transparent;
  759. border-style: solid;
  760. width: 0;
  761. height: 0
  762. }
  763. .gantt_link_control {
  764. position: absolute;
  765. width: 20px;
  766. top: 0
  767. }
  768. .gantt_link_control div {
  769. display: none;
  770. cursor: pointer;
  771. box-sizing: border-box;
  772. position: relative;
  773. top: 50%;
  774. margin-top: -7.5px;
  775. vertical-align: middle;
  776. border: 1px solid #929292;
  777. border-radius: 6.5px;
  778. height: 13px;
  779. width: 13px;
  780. background-color: #f0f0f0
  781. }
  782. .gantt_link_control.task_right div.gantt_link_point {
  783. margin-left: 7px
  784. }
  785. .gantt_link_control div:hover {
  786. background-color: #fff
  787. }
  788. .gantt_link_control.task_left {
  789. left: -20px
  790. }
  791. .gantt_link_control.task_right {
  792. right: -20px
  793. }
  794. .gantt_link_target .gantt_link_control div,
  795. .gantt_task_line.gantt_drag_move .gantt_link_control div,
  796. .gantt_task_line.gantt_drag_move .gantt_task_drag,
  797. .gantt_task_line.gantt_drag_move .gantt_task_progress_drag,
  798. .gantt_task_line.gantt_drag_progress .gantt_link_control div,
  799. .gantt_task_line.gantt_drag_progress .gantt_task_drag,
  800. .gantt_task_line.gantt_drag_progress .gantt_task_progress_drag,
  801. .gantt_task_line.gantt_drag_resize .gantt_link_control div,
  802. .gantt_task_line.gantt_drag_resize .gantt_task_drag,
  803. .gantt_task_line.gantt_drag_resize .gantt_task_progress_drag,
  804. .gantt_task_line.gantt_selected .gantt_link_control div,
  805. .gantt_task_line.gantt_selected .gantt_task_drag,
  806. .gantt_task_line.gantt_selected .gantt_task_progress_drag,
  807. .gantt_task_line:hover .gantt_link_control div,
  808. .gantt_task_line:hover .gantt_task_drag,
  809. .gantt_task_line:hover .gantt_task_progress_drag {
  810. display: block
  811. }
  812. .gantt_link_source,
  813. .gantt_link_target {
  814. box-shadow: 0 0 3px #3db9d3
  815. }
  816. .gantt_link_target.link_finish_allow,
  817. .gantt_link_target.link_start_allow {
  818. box-shadow: 0 0 3px #ffbf5e
  819. }
  820. .gantt_link_target.link_finish_deny,
  821. .gantt_link_target.link_start_deny {
  822. box-shadow: 0 0 3px #e87e7b
  823. }
  824. .link_finish_allow .gantt_link_control.task_end_date div,
  825. .link_start_allow .gantt_link_control.task_start_date div {
  826. background-color: #ffbf5e;
  827. border-color: #ffa011
  828. }
  829. .link_finish_deny .gantt_link_control.task_end_date div,
  830. .link_start_deny .gantt_link_control.task_start_date div {
  831. background-color: #e87e7b;
  832. border-color: #dd3e3a
  833. }
  834. .gantt_link_arrow_right {
  835. border-width: 4px 0 4px 6px;
  836. border-top-color: transparent !important;
  837. border-right-color: transparent !important;
  838. border-bottom-color: transparent !important;
  839. border-left-color: #ffa011
  840. }
  841. .gantt_link_arrow_left {
  842. border-width: 4px 6px 4px 0;
  843. margin-top: -1px;
  844. border-top-color: transparent !important;
  845. border-right-color: #ffa011;
  846. border-bottom-color: transparent !important;
  847. border-left-color: transparent !important
  848. }
  849. .gantt_link_arrow_up {
  850. border-width: 0 4px 6px;
  851. border-color: transparent transparent #ffa011;
  852. border-top-color: transparent !important;
  853. border-right-color: transparent !important;
  854. border-bottom-color: #ffa011;
  855. border-left-color: transparent !important
  856. }
  857. .gantt_link_arrow_down {
  858. border-width: 4px 6px 0 4px;
  859. border-top-color: #ffa011;
  860. border-right-color: transparent !important;
  861. border-bottom-color: transparent !important;
  862. border-left-color: transparent !important
  863. }
  864. .gantt_task_drag,
  865. .gantt_task_progress_drag {
  866. cursor: ew-resize;
  867. display: none;
  868. position: absolute
  869. }
  870. .gantt_task_drag.task_right {
  871. cursor: e-resize
  872. }
  873. .gantt_task_drag.task_left {
  874. cursor: w-resize
  875. }
  876. .gantt_task_drag {
  877. height: 100%;
  878. width: 8px;
  879. z-index: 1;
  880. top: -1px
  881. }
  882. .gantt_task_drag.task_left {
  883. left: -7px
  884. }
  885. .gantt_task_drag.task_right {
  886. right: -7px
  887. }
  888. .gantt_task_progress_drag {
  889. height: 8px;
  890. width: 8px;
  891. bottom: -4px;
  892. margin-left: -4px;
  893. background-position: bottom;
  894. background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAALCAYAAAB24g05AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MkY3Rjk0RUVDMkYzMTFFMkI1OThEQTA3ODU0OTkzMEEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MkY3Rjk0RUZDMkYzMTFFMkI1OThEQTA3ODU0OTkzMEEiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoyRjdGOTRFQ0MyRjMxMUUyQjU5OERBMDc4NTQ5OTMwQSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDoyRjdGOTRFREMyRjMxMUUyQjU5OERBMDc4NTQ5OTMwQSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PobPBzIAAADkSURBVHjaYpk2bRoDDsAExL1QdjEQ/8OmiAWHZk4gXqymqhQM4ty6fU8OSMUA8XdiDBAB4k0a6iqWRga6EKcwMQXduHlnL5DpB8Rv0J2JDFSA+JiOtgZcMwiA2CAxkBxUDVYDLEAKgIpV9XQ0MZwFEgPJAZnHoWpRDAgC4n2W5saiQKfjClQGkBxQDciL+6B6wAbkA/EqJwdrTkUFOQZCAKQGpBbIXA3SCzJggo+XK7OEuBgDsQCkFqgHrBfsBT5eHgZSAUwP2IBfv36TbABMDygdtK1Zv6UESLORaAbIhG6AAAMAKN8wE24DXWcAAAAASUVORK5CYII=);
  895. background-repeat: no-repeat;
  896. z-index: 1
  897. }
  898. .gantt_task_progress_drag:hover {
  899. background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAALCAYAAAB24g05AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAs0lEQVQoz6WMPW7CQBgFJxZaiZ60qcgdwjVMmzu8gpwhDULabXyBdHAGuzRHivQiQZovigS2+Jtu95t5T03TMITtCtjEc5VSOgx5k5F4CnxJWgKUUl5sv6eUvk/daiCeAe1fDCCpBtq4jQ/YngO9pMWpGH99OOcDtt8ifmWEuO3D/R+wXQOdpGcuIGkGdNFQ2RawlTTlSsLd2RY55+O95JyPFQ/y8MAE+CylfADpxvYHWP8CXj+JR4wdKHYAAAAASUVORK5CYII=)
  900. }
  901. .gantt_link_tooltip {
  902. box-shadow: 3px 3px 3px #888;
  903. background-color: #fff;
  904. border-left: 1px dotted #DFE3EA;
  905. border-top: 1px dotted #DFE3EA;
  906. font-family: Tahoma;
  907. font-size: 8pt;
  908. color: #444;
  909. padding: 6px;
  910. line-height: 20px
  911. }
  912. .gantt_link_direction {
  913. height: 0;
  914. border: 0 none #ffa011;
  915. border-bottom-style: dashed;
  916. border-bottom-width: 2px;
  917. transform-origin: 0 0;
  918. -ms-transform-origin: 0 0;
  919. -webkit-transform-origin: 0 0;
  920. z-index: 2;
  921. margin-left: 1px;
  922. position: absolute
  923. }
  924. .gantt_grid_data .gantt_row.gantt_selected,
  925. .gantt_grid_data .gantt_row.odd.gantt_selected,
  926. .gantt_task_row.gantt_selected {
  927. background-color: #f1f1f1
  928. }
  929. .gantt_task_row.gantt_selected .gantt_task_cell {
  930. /* border-right-color: #ffec6e */
  931. }
  932. .gantt_task_line.gantt_selected {
  933. box-shadow: 0 0 5px #888
  934. }
  935. .gantt_task_line.gantt_project.gantt_selected {
  936. box-shadow: 0 0 5px #46ad51
  937. }
  938. .gantt_task_line.gantt_milestone {
  939. visibility: hidden;
  940. top: 12px !important;
  941. /* background-color: #409EFF; */
  942. /* border: 0 solid #61164f; */
  943. /* height: 10px !important;
  944. width: 20px !important;
  945. border-radius: 5px !important; */
  946. box-sizing: content-box;
  947. -moz-box-sizing: content-box
  948. }
  949. .gantt_task_line.gantt_milestone div {
  950. visibility: visible
  951. }
  952. .gantt_task_line.gantt_milestone .gantt_task_content {
  953. /* background: inherit;
  954. border: inherit;
  955. border-width: 1px;
  956. border-radius: inherit;
  957. box-sizing: border-box;
  958. -moz-box-sizing: border-box;
  959. transform: rotate(45deg) */
  960. background-color: #409EFF;
  961. /* border: 0 solid #61164f; */
  962. height: 8px !important;
  963. width: 20px !important;
  964. border-radius: 5px !important;
  965. }
  966. .gantt_task_line.gantt_task_inline_color {
  967. border-color: #999
  968. }
  969. .gantt_task_line.gantt_task_inline_color .gantt_task_progress {
  970. background-color: #363636;
  971. opacity: .2
  972. }
  973. .gantt_task_line.gantt_task_inline_color.gantt_project.gantt_selected,
  974. .gantt_task_line.gantt_task_inline_color.gantt_selected {
  975. box-shadow: 0 0 5px #999
  976. }
  977. .gantt_task_link.gantt_link_inline_color:hover .gantt_line_wrapper div {
  978. box-shadow: 0 0 5px 0 #999
  979. }
  980. .gantt_critical_task {
  981. background-color: #e63030;
  982. border-color: #9d3a3a
  983. }
  984. .gantt_critical_task .gantt_task_progress {
  985. background-color: rgba(0, 0, 0, .4)
  986. }
  987. .gantt_critical_link .gantt_line_wrapper>div {
  988. background-color: #e63030
  989. }
  990. .gantt_critical_link .gantt_link_arrow {
  991. border-color: #e63030
  992. }
  993. .gantt_btn_set:focus,
  994. .gantt_cell:focus,
  995. .gantt_grid_head_cell:focus,
  996. .gantt_popup_button:focus,
  997. .gantt_qi_big_icon:focus,
  998. .gantt_row:focus {
  999. box-shadow: inset 0 0 1px 1px #4d90fe
  1000. }
  1001. .gantt_split_parent,
  1002. .gantt_split_subproject {
  1003. opacity: .1;
  1004. pointer-events: none
  1005. }
  1006. .gantt_rollup_child .gantt_link_control,
  1007. .gantt_rollup_child:hover .gantt_link_control {
  1008. display: none
  1009. }
  1010. .gantt_unselectable,
  1011. .gantt_unselectable div {
  1012. -webkit-user-select: none;
  1013. -moz-user-select: none;
  1014. -moz-user-select: -moz-none
  1015. }
  1016. .gantt_cal_light {
  1017. -webkit-tap-highlight-color: transparent;
  1018. background: #fff;
  1019. border-radius: 6px;
  1020. font-family: Arial;
  1021. font-size: 13px;
  1022. border: 1px solid #DFE3EA;
  1023. color: #6b6b6b;
  1024. font-size: 12px;
  1025. position: absolute;
  1026. z-index: 10001;
  1027. width: 550px;
  1028. height: 250px;
  1029. box-shadow: 3px 3px 3px rgba(0, 0, 0, .07)
  1030. }
  1031. .gantt_cal_light_wide {
  1032. width: 650px
  1033. }
  1034. .gantt_cal_light select {
  1035. font-family: Arial;
  1036. border: 1px solid #DFE3EA;
  1037. font-size: 13px;
  1038. padding: 2px;
  1039. margin: 0
  1040. }
  1041. .gantt_cal_ltitle {
  1042. padding: 7px 10px;
  1043. overflow: hidden;
  1044. -webkit-border-top-left-radius: 6px;
  1045. -webkit-border-bottom-left-radius: 0;
  1046. -webkit-border-top-right-radius: 6px;
  1047. -webkit-border-bottom-right-radius: 0;
  1048. -moz-border-radius-topleft: 6px;
  1049. -moz-border-radius-bottomleft: 0;
  1050. -moz-border-radius-topright: 6px;
  1051. -moz-border-radius-bottomright: 0;
  1052. border-top-left-radius: 6px;
  1053. border-bottom-left-radius: 0;
  1054. border-top-right-radius: 6px;
  1055. border-bottom-right-radius: 0
  1056. }
  1057. .gantt_cal_ltitle,
  1058. .gantt_cal_ltitle span {
  1059. white-space: nowrap
  1060. }
  1061. .gantt_cal_lsection {
  1062. color: #727272;
  1063. font-weight: 700;
  1064. padding: 12px 0 5px 10px
  1065. }
  1066. .gantt_cal_lsection .gantt_fullday {
  1067. float: right;
  1068. margin-right: 5px;
  1069. font-size: 12px;
  1070. font-weight: 400;
  1071. line-height: 20px;
  1072. vertical-align: top;
  1073. cursor: pointer
  1074. }
  1075. .gantt_cal_lsection {
  1076. font-size: 13px
  1077. }
  1078. .gantt_cal_ltext {
  1079. padding: 2px 10px;
  1080. overflow: hidden
  1081. }
  1082. .gantt_cal_ltext textarea {
  1083. overflow-y: auto;
  1084. overflow-x: hidden;
  1085. font-family: Arial;
  1086. font-size: 13px;
  1087. box-sizing: border-box;
  1088. border: 1px solid #DFE3EA;
  1089. height: 100%;
  1090. width: 100%;
  1091. outline: none !important;
  1092. resize: none
  1093. }
  1094. .gantt_section_constraint [data-constraint-time-select] {
  1095. margin-left: 20px
  1096. }
  1097. .gantt_time {
  1098. font-weight: 700
  1099. }
  1100. .gantt_cal_light .gantt_title {
  1101. padding-left: 10px
  1102. }
  1103. .gantt_cal_larea {
  1104. border: 1px solid #DFE3EA;
  1105. border-left: none;
  1106. border-right: none;
  1107. background-color: #fff;
  1108. overflow: hidden;
  1109. height: 1px
  1110. }
  1111. .gantt_btn_set {
  1112. margin: 10px 7px 5px 10px;
  1113. padding: 5px 15px 5px 10px;
  1114. float: left;
  1115. border-radius: 4px;
  1116. border: 0 solid #DFE3EA;
  1117. height: 32px;
  1118. font-weight: 700;
  1119. background: #fff;
  1120. box-sizing: border-box;
  1121. cursor: pointer
  1122. }
  1123. .gantt_hidden {
  1124. display: none
  1125. }
  1126. .gantt_btn_set div {
  1127. float: left;
  1128. font-size: 13px;
  1129. height: 22px;
  1130. line-height: 22px;
  1131. background-repeat: no-repeat;
  1132. vertical-align: middle
  1133. }
  1134. .gantt_save_btn {
  1135. background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MTk1OUU5RDFDMzA0MTFFMkExMUZBQTdDNDAzOUE5RjMiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MTk1OUU5RDJDMzA0MTFFMkExMUZBQTdDNDAzOUE5RjMiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoxOTU5RTlDRkMzMDQxMUUyQTExRkFBN0M0MDM5QTlGMyIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDoxOTU5RTlEMEMzMDQxMUUyQTExRkFBN0M0MDM5QTlGMyIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PjDroXYAAAEXSURBVHjaYvz//z8DJYCRUgPIAUxAbAnEHiAHMIBcQCwGaRYXF3e6evXqoffv39/dv38/CymaGSUkJBzv3LlzCsj///fv3wdAihkkIQnEvkAshU8zLy+v7a1bt06ANP/79+87kDIAy505cybq06dPr3p7ezuwGQLTfOPGjWP/ESAZLg8kPKBO+g01RBJNszWyZqC6uSgWgIg/f/4shxnS2dnZBjMEqNkSFGBImi8CKTYMA4BYCGjIczRDHC5dunQQSfN7IKWI4UUkjjdMMdCwnw8ePLjwHxV4Yw1gZA5Q47z/2EELzhhCE+ABGvIQWSeQvwcU38QaAML2wHj+C/X3MyAlijeB4ZBoBOIPQGxJKIVSnBsBAgwABddBclWfcZUAAAAASUVORK5CYII=);
  1136. margin-top: 2px;
  1137. width: 21px
  1138. }
  1139. .gantt_cancel_btn {
  1140. margin-top: 2px;
  1141. background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MDkzMDA3MzlDMzA0MTFFMjg2QTVFMzFEQzgwRkJERDYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MDkzMDA3M0FDMzA0MTFFMjg2QTVFMzFEQzgwRkJERDYiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDowOTMwMDczN0MzMDQxMUUyODZBNUUzMURDODBGQkRENiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDowOTMwMDczOEMzMDQxMUUyODZBNUUzMURDODBGQkRENiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PmYuYOUAAAEdSURBVHjaYvz//z8DJYAFXWDlypU8QKoIiD2A2AwqfAqIdwBxX3h4+Bdk9YzILgBqtgdS84FYEYeF94E4EWjIQZgAE5LmQCB1AKoZZKMPEAtAMYh9GSp3AKjWD8UFQAEhIPshEIOc3wHENUBb/qJ57SyQMoJyPwKxElDNO1gYFEE17wMKVmIJlzNQzeegrjaA6qmBecEbSvfh0GwMxGeBhoPoemQ9MAO0kEIbl2YTqPAFKK2IbMB3AjabYIkRZmQD7kNpMyI0G0PpO8gGbIUFJj7NQDk2INWIrIcJKfBAKcwJqvkcDs0TgFgXGo19KCkRmpDWQdWDEk0NUoCBoq0FqhkE/IEWbKJKUmZEz43QzFSKIzN1481M5ACAAAMAlfl/lCwRpagAAAAASUVORK5CYII=);
  1142. width: 20px
  1143. }
  1144. .gantt_delete_btn {
  1145. background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MjFENzI3NUNDMzA0MTFFMjhBNjJGQTc3MUIyQzYzNEYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MjFENzI3NURDMzA0MTFFMjhBNjJGQTc3MUIyQzYzNEYiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoyMUQ3Mjc1QUMzMDQxMUUyOEE2MkZBNzcxQjJDNjM0RiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDoyMUQ3Mjc1QkMzMDQxMUUyOEE2MkZBNzcxQjJDNjM0RiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PmUD0gAAAABvSURBVHjaYvz//z8DIyMjAxYQicReji4J0ofKQNP8HwmgGQbXB8IsWGwDSSwDuioKjY9uBthVjFAXYHUGAQA2kYmBUoAUBpGk0LAwgBvwH+YX4mkwptgLowYMRgOITUyYKRFIN/wnDjQgJySAAAMApryKzL8wjfUAAAAASUVORK5CYII=);
  1146. margin-top: 2px;
  1147. width: 20px
  1148. }
  1149. .gantt_cal_cover {
  1150. width: 100%;
  1151. height: 100%;
  1152. position: fixed;
  1153. z-index: 10000;
  1154. top: 0;
  1155. left: 0;
  1156. background-color: #000;
  1157. opacity: .1;
  1158. filter: progid:DXImageTransform.Microsoft.Alpha(opacity=10)
  1159. }
  1160. .gantt_custom_button {
  1161. padding: 0 3px;
  1162. font-family: Arial;
  1163. font-size: 13px;
  1164. font-weight: 400;
  1165. margin-right: 10px;
  1166. margin-top: -5px;
  1167. cursor: pointer;
  1168. float: right;
  1169. height: 21px;
  1170. width: 90px;
  1171. border: 1px solid #DFE3EA;
  1172. text-align: center;
  1173. border-radius: 4px
  1174. }
  1175. .gantt_custom_button div {
  1176. cursor: pointer;
  1177. float: none;
  1178. height: 21px;
  1179. line-height: 21px;
  1180. vertical-align: middle
  1181. }
  1182. .gantt_custom_button div:first-child {
  1183. display: none
  1184. }
  1185. .gantt_cal_light_wide {
  1186. width: 580px;
  1187. padding: 2px 4px
  1188. }
  1189. .gantt_cal_light_wide .gantt_cal_larea {
  1190. box-sizing: border-box;
  1191. border: 1px solid #DFE3EA
  1192. }
  1193. .gantt_cal_light_wide .gantt_cal_lsection {
  1194. border: 0;
  1195. float: left;
  1196. text-align: right;
  1197. width: 80px;
  1198. height: 20px;
  1199. padding: 5px 10px 0 0
  1200. }
  1201. .gantt_cal_light_wide .gantt_wrap_section {
  1202. position: relative;
  1203. padding: 10px 0;
  1204. overflow: hidden;
  1205. border-bottom: 1px solid #ebebeb
  1206. }
  1207. .gantt_cal_light_wide .gantt_section_time {
  1208. overflow: hidden;
  1209. padding-top: 2px !important;
  1210. padding-right: 0;
  1211. height: 20px !important
  1212. }
  1213. .gantt_cal_light_wide .gantt_cal_ltext {
  1214. padding-right: 0
  1215. }
  1216. .gantt_cal_light_wide .gantt_cal_larea {
  1217. padding: 0 10px;
  1218. width: 100%
  1219. }
  1220. .gantt_cal_light_wide .gantt_section_time {
  1221. background: transparent
  1222. }
  1223. .gantt_cal_light_wide .gantt_cal_checkbox label {
  1224. padding-left: 0
  1225. }
  1226. .gantt_cal_light_wide .gantt_cal_lsection .gantt_fullday {
  1227. float: none;
  1228. margin-right: 0;
  1229. font-weight: 700;
  1230. cursor: pointer
  1231. }
  1232. .gantt_cal_light_wide .gantt_custom_button {
  1233. position: absolute;
  1234. top: 0;
  1235. right: 0;
  1236. margin-top: 2px
  1237. }
  1238. .gantt_cal_light_wide .gantt_repeat_right {
  1239. margin-right: 55px
  1240. }
  1241. .gantt_cal_light_wide.gantt_cal_light_full {
  1242. width: 738px
  1243. }
  1244. .gantt_cal_wide_checkbox input {
  1245. margin-top: 8px;
  1246. margin-left: 14px
  1247. }
  1248. .gantt_cal_light input {
  1249. font-size: 13px
  1250. }
  1251. .gantt_section_time {
  1252. background-color: #fff;
  1253. white-space: nowrap;
  1254. padding: 2px 10px 5px;
  1255. padding-top: 2px !important
  1256. }
  1257. .gantt_section_time .gantt_time_selects {
  1258. float: left;
  1259. height: 25px
  1260. }
  1261. .gantt_section_time .gantt_time_selects select {
  1262. height: 23px;
  1263. padding: 2px;
  1264. border: 1px solid #DFE3EA
  1265. }
  1266. .gantt_duration {
  1267. width: 100px;
  1268. height: 23px;
  1269. float: left;
  1270. white-space: nowrap;
  1271. margin-left: 20px;
  1272. line-height: 23px
  1273. }
  1274. .gantt_duration .gantt_duration_dec,
  1275. .gantt_duration .gantt_duration_inc,
  1276. .gantt_duration .gantt_duration_value {
  1277. box-sizing: border-box;
  1278. text-align: center;
  1279. vertical-align: top;
  1280. height: 100%;
  1281. border: 1px solid #DFE3EA
  1282. }
  1283. .gantt_duration .gantt_duration_value {
  1284. width: 40px;
  1285. padding: 3px 4px;
  1286. border-left-width: 0;
  1287. border-right-width: 0
  1288. }
  1289. .gantt_duration .gantt_duration_value.gantt_duration_value_formatted {
  1290. width: 70px
  1291. }
  1292. .gantt_duration .gantt_duration_dec,
  1293. .gantt_duration .gantt_duration_inc {
  1294. width: 20px;
  1295. padding: 1px;
  1296. padding-bottom: 1px;
  1297. background: #fff
  1298. }
  1299. .gantt_duration .gantt_duration_dec {
  1300. -moz-border-top-left-radius: 4px;
  1301. -moz-border-bottom-left-radius: 4px;
  1302. -webkit-border-top-left-radius: 4px;
  1303. -webkit-border-bottom-left-radius: 4px;
  1304. border-top-left-radius: 4px;
  1305. border-bottom-left-radius: 4px
  1306. }
  1307. .gantt_duration .gantt_duration_inc {
  1308. margin-right: 4px;
  1309. -moz-border-top-right-radius: 4px;
  1310. -moz-border-bottom-right-radius: 4px;
  1311. -webkit-border-top-right-radius: 4px;
  1312. -webkit-border-bottom-right-radius: 4px;
  1313. border-top-right-radius: 4px;
  1314. border-bottom-right-radius: 4px
  1315. }
  1316. .gantt_resources {
  1317. max-height: 150px;
  1318. height: auto;
  1319. overflow-y: auto
  1320. }
  1321. .gantt_resource_row {
  1322. display: block;
  1323. padding: 10px 0;
  1324. border-bottom: 1px solid #ebebeb;
  1325. cursor: pointer
  1326. }
  1327. .gantt_resource_row input[type=checkbox]:not(:checked),
  1328. .gantt_resource_row input[type=checkbox]:not(:checked)~div {
  1329. opacity: .5
  1330. }
  1331. .gantt_resource_toggle {
  1332. vertical-align: middle
  1333. }
  1334. .gantt_resources_filter .gantt_resources_filter_input {
  1335. padding: 1px 2px;
  1336. box-sizing: border-box
  1337. }
  1338. .gantt_resources_filter .switch_unsetted {
  1339. vertical-align: middle
  1340. }
  1341. .gantt_resource_cell {
  1342. display: inline-block
  1343. }
  1344. .gantt_resource_cell.gantt_resource_cell_checkbox {
  1345. width: 24px;
  1346. max-width: 24px;
  1347. min-width: 24px;
  1348. vertical-align: middle
  1349. }
  1350. .gantt_resource_cell.gantt_resource_cell_label {
  1351. width: 40%;
  1352. max-width: 40%;
  1353. vertical-align: middle
  1354. }
  1355. .gantt_resource_cell.gantt_resource_cell_value {
  1356. width: 30%;
  1357. max-width: 30%;
  1358. vertical-align: middle
  1359. }
  1360. .gantt_resource_cell.gantt_resource_cell_value input,
  1361. .gantt_resource_cell.gantt_resource_cell_value select {
  1362. width: 80%;
  1363. vertical-align: middle;
  1364. padding: 1px 2px;
  1365. box-sizing: border-box
  1366. }
  1367. .gantt_resource_cell.gantt_resource_cell_unit {
  1368. width: 10%;
  1369. max-width: 10%;
  1370. vertical-align: middle
  1371. }
  1372. .gantt_resource_early_value {
  1373. opacity: .8;
  1374. font-size: .9em
  1375. }
  1376. .gantt_cal_quick_info {
  1377. border: 1px solid #DFE3EA;
  1378. border-radius: 6px;
  1379. position: absolute;
  1380. z-index: 300;
  1381. box-shadow: 3px 3px 3px rgba(0, 0, 0, .07);
  1382. background-color: #fff;
  1383. width: 300px;
  1384. transition: left .5s ease, right .5s;
  1385. -moz-transition: left .5s ease, right .5s;
  1386. -webkit-transition: left .5s ease, right .5s;
  1387. -o-transition: left .5s ease, right .5s
  1388. }
  1389. .gantt_no_animate {
  1390. transition: none;
  1391. -moz-transition: none;
  1392. -webkit-transition: none;
  1393. -o-transition: none
  1394. }
  1395. .gantt_cal_quick_info.gantt_qi_left .gantt_qi_big_icon {
  1396. float: right
  1397. }
  1398. .gantt_cal_qi_title {
  1399. -webkit-border-top-left-radius: 6px;
  1400. -webkit-border-bottom-left-radius: 0;
  1401. -webkit-border-top-right-radius: 6px;
  1402. -webkit-border-bottom-right-radius: 0;
  1403. -moz-border-radius-topleft: 6px;
  1404. -moz-border-radius-bottomleft: 0;
  1405. -moz-border-radius-topright: 6px;
  1406. -moz-border-radius-bottomright: 0;
  1407. border-top-left-radius: 6px;
  1408. border-bottom-left-radius: 0;
  1409. border-top-right-radius: 6px;
  1410. border-bottom-right-radius: 0;
  1411. padding: 5px 0 8px 12px;
  1412. color: #454545;
  1413. background-color: #fff;
  1414. border-bottom: 1px solid #DFE3EA
  1415. }
  1416. .gantt_cal_qi_tdate {
  1417. font-size: 14px;
  1418. font-weight: 700
  1419. }
  1420. .gantt_cal_qi_tcontent {
  1421. font-size: 13px
  1422. }
  1423. .gantt_cal_qi_content {
  1424. padding: 16px 8px;
  1425. font-size: 13px;
  1426. color: #454545;
  1427. overflow: hidden
  1428. }
  1429. .gantt_cal_qi_controls {
  1430. -webkit-border-top-left-radius: 0;
  1431. -webkit-border-bottom-left-radius: 6px;
  1432. -webkit-border-top-right-radius: 0;
  1433. -webkit-border-bottom-right-radius: 6px;
  1434. -moz-border-radius-topleft: 0;
  1435. -moz-border-radius-bottomleft: 6px;
  1436. -moz-border-radius-topright: 0;
  1437. -moz-border-radius-bottomright: 6px;
  1438. border-top-left-radius: 0;
  1439. border-bottom-left-radius: 6px;
  1440. border-top-right-radius: 0;
  1441. border-bottom-right-radius: 6px;
  1442. padding-left: 7px
  1443. }
  1444. .gantt_cal_qi_controls .gantt_menu_icon {
  1445. margin-top: 6px;
  1446. background-repeat: no-repeat
  1447. }
  1448. .gantt_cal_qi_controls .gantt_menu_icon.icon_edit {
  1449. width: 20px;
  1450. background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAB3RJTUUH3QYFCjI5ZQj5bAAAAFNJREFUOMvt0zEOACAIA0DkwTymH8bJTRTKZGJXyaWEKPKTCQAH4Ls37cItcDUzsxHNDLZNhCq7Gt1wh9ErV7EjyGAhyGLphlnsClWuS32rn0czAV+vNGrM/LBtAAAAAElFTkSuQmCC)
  1451. }
  1452. .gantt_cal_qi_controls .gantt_menu_icon.icon_delete {
  1453. width: 20px;
  1454. background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MjFENzI3NUNDMzA0MTFFMjhBNjJGQTc3MUIyQzYzNEYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MjFENzI3NURDMzA0MTFFMjhBNjJGQTc3MUIyQzYzNEYiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoyMUQ3Mjc1QUMzMDQxMUUyOEE2MkZBNzcxQjJDNjM0RiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDoyMUQ3Mjc1QkMzMDQxMUUyOEE2MkZBNzcxQjJDNjM0RiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PmUD0gAAAABvSURBVHjaYvz//z8DIyMjAxYQicReji4J0ofKQNP8HwmgGQbXB8IsWGwDSSwDuioKjY9uBthVjFAXYHUGAQA2kYmBUoAUBpGk0LAwgBvwH+YX4mkwptgLowYMRgOITUyYKRFIN/wnDjQgJySAAAMApryKzL8wjfUAAAAASUVORK5CYII=)
  1455. }
  1456. .gantt_qi_big_icon {
  1457. font-size: 13px;
  1458. border-radius: 4px;
  1459. font-weight: 700;
  1460. background: #fff;
  1461. margin: 5px 9px 8px 0;
  1462. min-width: 60px;
  1463. line-height: 32px;
  1464. vertical-align: middle;
  1465. padding: 0 10px 0 5px;
  1466. cursor: pointer;
  1467. border: 1px solid #DFE3EA
  1468. }
  1469. .gantt_cal_qi_controls div {
  1470. float: left;
  1471. height: 32px;
  1472. text-align: center;
  1473. line-height: 32px
  1474. }
  1475. .gantt_tooltip {
  1476. padding: 10px;
  1477. position: absolute;
  1478. z-index: 50;
  1479. white-space: nowrap;
  1480. background: #303133 !important;
  1481. color: #fff;
  1482. border-radius: 4px;
  1483. }
  1484. .gantt_resource_marker {
  1485. position: absolute;
  1486. text-align: center;
  1487. font-size: 14px;
  1488. color: #fff
  1489. }
  1490. .gantt_resource_marker_ok {
  1491. background: rgba(78, 208, 134, .75)
  1492. }
  1493. .gantt_resource_marker_overtime {
  1494. background: hsla(0, 100%, 76%, .69)
  1495. }
  1496. .gantt_histogram_label {
  1497. width: 100%;
  1498. height: 100%;
  1499. position: absolute;
  1500. z-index: 1;
  1501. font-weight: 700;
  1502. font-size: 13px
  1503. }
  1504. .gantt_histogram_fill {
  1505. background-color: rgba(41, 157, 180, .2);
  1506. width: 100%;
  1507. position: absolute;
  1508. bottom: 0
  1509. }
  1510. .gantt_histogram_hor_bar {
  1511. height: 1px;
  1512. margin-top: -1px
  1513. }
  1514. .gantt_histogram_hor_bar,
  1515. .gantt_histogram_vert_bar {
  1516. position: absolute;
  1517. background: #299db4;
  1518. margin-left: -1px
  1519. }
  1520. .gantt_histogram_vert_bar {
  1521. width: 1px
  1522. }
  1523. .gantt_histogram_cell {
  1524. position: absolute;
  1525. text-align: center;
  1526. font-size: 13px;
  1527. color: #000
  1528. }
  1529. .gantt_marker {
  1530. height: 100%;
  1531. width: 2px;
  1532. top: 0;
  1533. position: absolute;
  1534. text-align: center;
  1535. background-color: #409EFF;
  1536. box-sizing: border-box
  1537. }
  1538. .gantt_marker .gantt_marker_content {
  1539. padding: 5px;
  1540. background: inherit;
  1541. color: #fff;
  1542. position: absolute;
  1543. font-size: 12px;
  1544. line-height: 12px;
  1545. opacity: .8;
  1546. border-top-right-radius:5px;
  1547. border-bottom-right-radius:5px;
  1548. }
  1549. .gantt_marker_area {
  1550. position: absolute;
  1551. top: 0;
  1552. left: 0
  1553. }
  1554. .gantt_grid_editor_placeholder {
  1555. position: absolute
  1556. }
  1557. .gantt_grid_editor_placeholder>div,
  1558. .gantt_grid_editor_placeholder input,
  1559. .gantt_grid_editor_placeholder select {
  1560. width: 100%;
  1561. height: 100%;
  1562. box-sizing: border-box
  1563. }
  1564. .gantt_row_placeholder div {
  1565. opacity: .5
  1566. }
  1567. .gantt_row_placeholder .gantt_add,
  1568. .gantt_row_placeholder .gantt_file {
  1569. display: none
  1570. }
  1571. .gantt_drag_marker.gantt_grid_dnd_marker {
  1572. background-color: transparent;
  1573. transition: all .1s ease
  1574. }
  1575. .gantt_grid_dnd_marker_line {
  1576. height: 4px;
  1577. width: 100%;
  1578. background-color: #3498db
  1579. }
  1580. .gantt_grid_dnd_marker_line:before {
  1581. background: #fff;
  1582. width: 12px;
  1583. height: 12px;
  1584. box-sizing: border-box;
  1585. border: 3px solid #3498db;
  1586. border-radius: 6px;
  1587. content: "";
  1588. line-height: 1px;
  1589. display: block;
  1590. position: absolute;
  1591. margin-left: -11px;
  1592. margin-top: -4px;
  1593. pointer-events: none
  1594. }
  1595. .gantt_grid_dnd_marker_folder {
  1596. height: 100%;
  1597. width: 100%;
  1598. position: absolute;
  1599. pointer-events: none;
  1600. box-sizing: border-box;
  1601. box-shadow: inset 0 0 0 2px #3f98db;
  1602. background: transparent
  1603. }
  1604. .gantt_overlay_area {
  1605. display: none
  1606. }
  1607. .gantt_overlay,
  1608. .gantt_overlay_area {
  1609. position: absolute;
  1610. height: inherit;
  1611. width: inherit;
  1612. top: 0;
  1613. left: 0
  1614. }
  1615. .gantt_click_drag_rect {
  1616. position: absolute;
  1617. left: 0;
  1618. top: 0;
  1619. outline: 1px solid #3f98db;
  1620. background-color: rgba(52, 152, 219, .3)
  1621. }
  1622. .gantt_timeline_move_available,
  1623. .gantt_timeline_move_available * {
  1624. cursor: move
  1625. }
  1626. .gantt_rtl .gantt_grid {
  1627. text-align: right
  1628. }
  1629. .gantt_rtl .gantt_cell,
  1630. .gantt_rtl .gantt_row {
  1631. flex-direction: row-reverse
  1632. }
  1633. .gantt_layout_content {
  1634. width: 100%;
  1635. overflow: auto;
  1636. box-sizing: border-box
  1637. }
  1638. .gantt_layout_cell {
  1639. position: relative;
  1640. box-sizing: border-box
  1641. }
  1642. .gantt_layout_cell>.gantt_layout_header {
  1643. background: #33aae8;
  1644. color: #fff;
  1645. font-size: 17px;
  1646. padding: 5px 10px;
  1647. box-sizing: border-box
  1648. }
  1649. .gantt_layout_header.collapsed_x {
  1650. background: #a9a9a9
  1651. }
  1652. .gantt_layout_header.collapsed_x .gantt_header_arrow:before {
  1653. content: "\21E7"
  1654. }
  1655. .gantt_layout_header.collapsed_y {
  1656. background: #a9a9a9
  1657. }
  1658. .gantt_layout_header.collapsed_y .gantt_header_arrow:before {
  1659. content: "\21E9"
  1660. }
  1661. .gantt_layout_header {
  1662. cursor: pointer
  1663. }
  1664. .gantt_layout_header .gantt_header_arrow {
  1665. float: right;
  1666. text-align: right
  1667. }
  1668. .gantt_layout_header .gantt_header_arrow:before {
  1669. content: "\21E6"
  1670. }
  1671. .gantt_layout_header.vertical .gantt_header_arrow:before {
  1672. content: "\21E7"
  1673. }
  1674. .gantt_layout_outer_scroll_vertical .gantt_layout_content {
  1675. overflow-y: hidden
  1676. }
  1677. .gantt_layout_outer_scroll_horizontal .gantt_layout_content {
  1678. overflow-x: hidden
  1679. }
  1680. .gantt_layout_x>.gantt_layout_cell {
  1681. display: inline-block;
  1682. vertical-align: top
  1683. }
  1684. .gantt_layout_x {
  1685. white-space: nowrap
  1686. }
  1687. .gantt_resizing {
  1688. opacity: .7;
  1689. background: #f2f2f2
  1690. }
  1691. .gantt_layout_cell_border_right.gantt_resizer {
  1692. overflow: visible;
  1693. border-right: 0
  1694. }
  1695. .gantt_resizer {
  1696. cursor: e-resize;
  1697. position: relative
  1698. }
  1699. .gantt_resizer_y {
  1700. cursor: n-resize
  1701. }
  1702. .gantt_resizer_stick {
  1703. background: #33aae8;
  1704. z-index: 9999;
  1705. position: absolute;
  1706. top: 0;
  1707. width: 100%
  1708. }
  1709. .gantt_resizer_x .gantt_resizer_x {
  1710. position: absolute;
  1711. width: 20px;
  1712. height: 100%;
  1713. margin-left: -10px;
  1714. top: 0;
  1715. left: 0;
  1716. z-index: 1
  1717. }
  1718. .gantt_resizer_y .gantt_resizer_y {
  1719. position: absolute;
  1720. height: 20px;
  1721. width: 100%;
  1722. top: -10px;
  1723. left: 0;
  1724. z-index: 1
  1725. }
  1726. .gantt_resizer_error {
  1727. background: #cd5c5c !important
  1728. }
  1729. .gantt_layout_cell_border_left {
  1730. border-left: 1px solid #DFE3EA
  1731. }
  1732. .gantt_layout_cell_border_right {
  1733. border-right: 1px solid #DFE3EA
  1734. }
  1735. .gantt_layout_cell_border_top {
  1736. border-top: 1px solid #DFE3EA
  1737. }
  1738. .gantt_layout_cell_border_bottom {
  1739. border-bottom: 1px solid #DFE3EA
  1740. }
  1741. .gantt_layout_cell_border_transparent {
  1742. border-color: transparent
  1743. }
  1744. .gantt_window {
  1745. position: absolute;
  1746. top: 50%;
  1747. left: 50%;
  1748. z-index: 999999999;
  1749. background: #fff
  1750. }
  1751. .gantt_window_content {
  1752. position: relative
  1753. }
  1754. .gantt_window_content_header {
  1755. background: #39c;
  1756. color: #fff;
  1757. height: 33px;
  1758. padding: 10px 10px 0;
  1759. border-bottom: 2px solid #fff;
  1760. position: relative
  1761. }
  1762. .gantt_window_content_header_text {
  1763. padding-left: 10%
  1764. }
  1765. .gantt_window_content_header_buttons {
  1766. position: absolute;
  1767. top: 10px;
  1768. right: 10px
  1769. }
  1770. .gantt_window_content_header_buttons:hover {
  1771. color: #000;
  1772. cursor: pointer
  1773. }
  1774. .gantt_window_content_resizer {
  1775. position: absolute;
  1776. width: 15px;
  1777. height: 15px;
  1778. bottom: 0;
  1779. line-height: 15px;
  1780. right: -1px;
  1781. text-align: center;
  1782. background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAPCAMAAAAMCGV4AAAABlBMVEUAAAAAAAClZ7nPAAAAAXRSTlMAQObYZgAAABZJREFUeAFjIAUwUshlpJDLSIhLGAAACQ4AFk79JaMAAAAASUVORK5CYII=);
  1783. cursor: nw-resize;
  1784. z-index: 999
  1785. }
  1786. .gantt_window_content_frame {
  1787. position: absolute;
  1788. top: 0;
  1789. left: 0;
  1790. width: 100%;
  1791. height: 100%;
  1792. background: rgba(0, 0, 0, .1);
  1793. z-index: 9999
  1794. }
  1795. .gantt_window_drag {
  1796. cursor: pointer !important
  1797. }
  1798. .gantt_window_resizing {
  1799. overflow: visible
  1800. }
  1801. .gantt_window_resizing_body {
  1802. overflow: hidden !important
  1803. }
  1804. .gantt_window_modal {
  1805. background: rgba(0, 0, 0, .1);
  1806. z-index: 9999;
  1807. top: 0;
  1808. left: 0;
  1809. width: 100%;
  1810. height: 100%;
  1811. position: fixed
  1812. }
  1813. .gantt_cal_light,
  1814. .gantt_cal_quick_info,
  1815. .gantt_container,
  1816. .gantt_message_area,
  1817. .gantt_modal_box,
  1818. .gantt_tooltip {
  1819. text-rendering: optimizeLegibility;
  1820. -webkit-font-smoothing: antialiased;
  1821. -moz-osx-font-smoothing: grayscale
  1822. }
  1823. .gantt_noselect {
  1824. -moz-user-select: -moz-none;
  1825. -webkit-user-select: none;
  1826. -ms-user-select: none;
  1827. user-select: none
  1828. }
  1829. .gantt_noselect .gantt_grid_data .gantt_row.odd:hover,
  1830. .gantt_noselect .gantt_grid_data .gantt_row:hover {
  1831. background-color: unset
  1832. }
  1833. .gantt_drag_marker {
  1834. position: absolute;
  1835. top: -1000px;
  1836. left: -1000px;
  1837. font-family: Arial;
  1838. font-size: 13px;
  1839. z-index: 1;
  1840. white-space: nowrap
  1841. }
  1842. .gantt_drag_marker .gantt_tree_icon.gantt_blank,
  1843. .gantt_drag_marker .gantt_tree_icon.gantt_close,
  1844. .gantt_drag_marker .gantt_tree_icon.gantt_open,
  1845. .gantt_drag_marker .gantt_tree_indent {
  1846. display: none
  1847. }
  1848. .gantt_drag_marker,
  1849. .gantt_drag_marker .gantt_row.odd {
  1850. background-color: #fff
  1851. }
  1852. .gantt_drag_marker .gantt_row {
  1853. border-left: 1px solid #d2d2d2;
  1854. border-top: 1px solid #d2d2d2
  1855. }
  1856. .gantt_drag_marker .gantt_cell {
  1857. border-color: #d2d2d2
  1858. }
  1859. .gantt_row.gantt_over,
  1860. .gantt_task_row.gantt_over {
  1861. background-color: #0070fe
  1862. }
  1863. .gantt_row.gantt_transparent .gantt_cell {
  1864. opacity: .7
  1865. }
  1866. .gantt_task_row.gantt_transparent {
  1867. background-color: #f8fdfd
  1868. }
  1869. .gantt_popup_button.gantt_delete_button {
  1870. background: #3db9d3;
  1871. text-shadow: 0 -1px 0 #248a9f;
  1872. color: #fff;
  1873. font-weight: 700;
  1874. border-width: 0
  1875. }
  1876. .gantt_container_resize_watcher {
  1877. background: transparent;
  1878. width: 100%;
  1879. height: 100%;
  1880. position: absolute;
  1881. top: 0;
  1882. left: 0;
  1883. z-index: -1;
  1884. pointer-events: none;
  1885. border: 0;
  1886. box-sizing: border-box;
  1887. opacity: 0
  1888. }