"),e+="
"+s+this.locale.labels["section_"+t[n].name]+"
"+i.render.call(this,t[n]),
-e+="
"}}return e},gantt.resizeLightbox=function(){var t=this._lightbox;if(t){var e=t.childNodes[1];e.style.height="0px",e.style.height=e.scrollHeight+"px",t.style.height=e.scrollHeight+this.config.lightbox_additional_height+"px",e.style.height=e.scrollHeight+"px"}},gantt._center_lightbox=function(t){if(t){t.style.display="block";var e=window.pageYOffset||document.body.scrollTop||document.documentElement.scrollTop,n=window.pageXOffset||document.body.scrollLeft||document.documentElement.scrollLeft,i=window.innerHeight||document.documentElement.clientHeight;
-
-t.style.top=e?Math.round(e+Math.max((i-t.offsetHeight)/2,0))+"px":Math.round(Math.max((i-t.offsetHeight)/2,0)+9)+"px",t.style.left=document.documentElement.scrollWidth>document.body.offsetWidth?Math.round(n+(document.body.offsetWidth-t.offsetWidth)/2)+"px":Math.round((document.body.offsetWidth-t.offsetWidth)/2)+"px"}},gantt.showCover=function(){if(!this._cover){this._cover=document.createElement("DIV"),this._cover.className="gantt_cal_cover";var t=void 0!==document.height?document.height:document.body.offsetHeight,e=document.documentElement?document.documentElement.scrollHeight:0;
-
-this._cover.style.height=Math.max(t,e)+"px",document.body.appendChild(this._cover)}},gantt._init_lightbox_events=function(){gantt.lightbox_events={},gantt.lightbox_events.gantt_save_btn=function(){gantt._save_lightbox()},gantt.lightbox_events.gantt_delete_btn=function(){gantt.callEvent("onLightboxDelete",[gantt._lightbox_id])&&(gantt.isTaskExists(gantt._lightbox_id)?gantt.$click.buttons["delete"](gantt._lightbox_id):gantt.hideLightbox())},gantt.lightbox_events.gantt_cancel_btn=function(){gantt._cancel_lightbox();
-
-},gantt.lightbox_events["default"]=function(t,e){if(e.getAttribute("dhx_button"))gantt.callEvent("onLightboxButton",[e.className,e,t]);else{var n,i,a;-1!=e.className.indexOf("gantt_custom_button")&&(-1!=e.className.indexOf("gantt_custom_button_")?(n=e.parentNode.getAttribute("index"),a=e.parentNode.parentNode):(n=e.getAttribute("index"),a=e.parentNode,e=e.firstChild));var s=gantt._get_typed_lightbox_config();n&&(i=gantt.form_blocks[s[n].type],i.button_click(n,e,a,a.nextSibling))}},dhtmlxEvent(gantt.getLightbox(),"click",function(t){
-t=t||window.event;var e=t.target?t.target:t.srcElement;if(e.className||(e=e.previousSibling),e&&e.className&&0===e.className.indexOf("gantt_btn_set")&&(e=e.firstChild),e&&e.className){var n=dhtmlx.defined(gantt.lightbox_events[e.className])?gantt.lightbox_events[e.className]:gantt.lightbox_events["default"];return n(t,e)}return!1}),gantt.getLightbox().onkeydown=function(t){switch((t||event).keyCode){case gantt.keys.edit_save:if((t||event).shiftKey)return;gantt._save_lightbox();break;case gantt.keys.edit_cancel:
-gantt._cancel_lightbox()}}},gantt._cancel_lightbox=function(){var t=this.getLightboxValues();this.callEvent("onLightboxCancel",[this._lightbox_id,t.$new]),gantt.isTaskExists(t.id)&&t.$new&&this._deleteTask(t.id,!0),this.refreshData(),this.hideLightbox()},gantt._save_lightbox=function(){var t=this.getLightboxValues();this.callEvent("onLightboxSave",[this._lightbox_id,t,!!t.$new])&&(t.$new?(delete t.$new,this.addTask(t)):this.isTaskExists(t.id)&&(dhtmlx.mixin(this.getTask(t.id),t,!0),this.updateTask(t.id)),
-this.refreshData(),this.hideLightbox())},gantt._resolve_default_mapping=function(t){var e=t.map_to,n={time:!0,duration:!0};return n[t.type]&&("auto"==t.map_to?e={start_date:"start_date",end_date:"end_date",duration:"duration"}:"string"==typeof t.map_to&&(e={start_date:t.map_to})),e},gantt.getLightboxValues=function(){var t={};gantt.isTaskExists(this._lightbox_id)&&(t=dhtmlx.mixin({},this.getTask(this._lightbox_id)));for(var e=this._get_typed_lightbox_config(),n=0;n0&&(o+=" ");var _="";switch(d){case"%Y":t._time_format_order[2]=l,t._time_format_order.size++;var h,c,g,u;t.year_range&&(isNaN(t.year_range)?t.year_range.push&&(g=t.year_range[0],u=t.year_range[1]):h=t.year_range),h=h||10,c=c||Math.floor(h/2),
-g=g||a.getFullYear()-c,u=u||g+h;for(var f=g;u>f;f++)_+=""+f+" ";break;case"%m":t._time_format_order[1]=l,t._time_format_order.size++;for(var f=0;12>f;f++)_+=""+this.locale.date.month_full[f]+" ";break;case"%d":t._time_format_order[0]=l,t._time_format_order.size++;for(var f=1;32>f;f++)_+=""+f+" ";break;case"%H:%i":t._time_format_order[3]=l,t._time_format_order.size++;var f=r,p=a.getDate();for(t._time_values=[];s>f;){
-var v=this.templates.time_picker(a);_+=""+v+" ",t._time_values.push(f),a.setTime(a.valueOf()+60*this._get_timepicker_step()*1e3);var m=a.getDate()!=p?1:0;f=24*m*60+60*a.getHours()+a.getMinutes()}}if(_){var k=t.readonly?"disabled='disabled'":"",x=e?" style='display:none'":"";o+=""+_+" "}}return o},_fill_lightbox_select:function(t,e,n,i){if(t[e+i[0]].value=n.getDate(),t[e+i[1]].value=n.getMonth(),t[e+i[2]].value=n.getFullYear(),dhtmlx.defined(i[3])){
-var a=60*n.getHours()+n.getMinutes();a=Math.round(a/gantt._get_timepicker_step())*gantt._get_timepicker_step();var s=t[e+i[3]];s.value=a,s.setAttribute("data-value",a)}},template:{render:function(t){var e=(t.height||"30")+"px";return"
"},set_value:function(t,e){t.innerHTML=e||""},get_value:function(t){return t.innerHTML||""},focus:function(){}},textarea:{render:function(t){var e=(t.height||"130")+"px";return"
";
-
-},set_value:function(t,e){t.firstChild.value=e||""},get_value:function(t){return t.firstChild.value},focus:function(t){var e=t.firstChild;gantt._focus(e,!0)}},select:{render:function(t){for(var e=(t.height||"23")+"px",n="",i=0;i"+t.options[i].label+"";return n+="
"},set_value:function(t,e,n,i){var a=t.firstChild;!a._dhx_onchange&&i.onchange&&(a.onchange=i.onchange,
-a._dhx_onchange=!0),"undefined"==typeof e&&(e=(a.options[0]||{}).value),a.value=e||""},get_value:function(t){return t.firstChild.value},focus:function(t){var e=t.firstChild;gantt._focus(e,!0)}},time:{render:function(t){var e=this.form_blocks.getTimePicker.call(this,t),n=[""];return n.push(e),t.single_date?(e=this.form_blocks.getTimePicker.call(this,t,!0),n.push(" ")):n.push(" – "),
-n.push(e),n.push("
"),n.join("")},set_value:function(t,e,n,i){{var a=i,s=t.getElementsByTagName("select"),r=i._time_format_order;i._time_format_size}if(a.auto_end_date)for(var o=function(){_=new Date(s[r[2]].value,s[r[1]].value,s[r[0]].value,0,0),h=gantt.calculateEndDate(_,1),this.form_blocks._fill_lightbox_select(s,r.size,h,r,a)},l=0;4>l;l++)s[l].onchange=o;var d=gantt._resolve_default_mapping(i);"string"==typeof d&&(d={start_date:d});var _=n[d.start_date]||new Date,h=n[d.end_date]||gantt.calculateEndDate(_,1);
-
-this.form_blocks._fill_lightbox_select(s,0,_,r,a),this.form_blocks._fill_lightbox_select(s,r.size,h,r,a)},get_value:function(t,e,n){var i=t.getElementsByTagName("select"),a=n._time_format_order,s=0,r=0;if(dhtmlx.defined(a[3])){var o=parseInt(i[a[3]].value,10);s=Math.floor(o/60),r=o%60}var l=new Date(i[a[2]].value,i[a[1]].value,i[a[0]].value,s,r);if(s=r=0,dhtmlx.defined(a[3])){var o=parseInt(i[a.size+a[3]].value,10);s=Math.floor(o/60),r=o%60}var d=new Date(i[a[2]+a.size].value,i[a[1]+a.size].value,i[a[0]+a.size].value,s,r);
-
-l>=d&&(d=gantt.date.add(l,gantt._get_timepicker_step(),"minute"));var _=gantt._resolve_default_mapping(n),h={start_date:new Date(l),end_date:new Date(d)};return"string"==typeof _?h.start_date:h},focus:function(t){gantt._focus(t.getElementsByTagName("select")[0])}},duration:{render:function(t){var e=this.form_blocks.getTimePicker.call(this,t);e=""+e+"
";var n=this.locale.labels[this.config.duration_unit+"s"],i=t.single_date?' style="display:none"':"",a=t.readonly?" disabled='disabled'":"",s=" "+n+"
",r=""+e+" "+s+"
";
-
-return r},set_value:function(t,e,n,i){function a(){var e=gantt.form_blocks.duration._get_start_date.call(gantt,t,i),n=gantt.form_blocks.duration._get_duration.call(gantt,t,i),a=gantt.calculateEndDate(e,n);h.innerHTML=gantt.templates.task_date(a)}function s(t){var e=d.value;e=parseInt(e,10),window.isNaN(e)&&(e=0),e+=t,1>e&&(e=1),d.value=e,a()}var r=i,o=t.getElementsByTagName("select"),l=t.getElementsByTagName("input"),d=l[1],_=[l[0],l[2]],h=t.getElementsByTagName("span")[0],c=i._time_format_order;
-_[0].onclick=dhtmlx.bind(function(){s(-1*this.config.duration_step)},this),_[1].onclick=dhtmlx.bind(function(){s(1*this.config.duration_step)},this),o[0].onchange=a,o[1].onchange=a,o[2].onchange=a,o[3]&&(o[3].onchange=a),d.onkeydown=dhtmlx.bind(function(t){t=t||window.event;var e=t.charCode||t.keyCode||t.which;return 40==e?(s(-1*this.config.duration_step),!1):38==e?(s(1*this.config.duration_step),!1):void window.setTimeout(function(){a()},1)},this),d.onchange=dhtmlx.bind(function(){a()},this);var g=gantt._resolve_default_mapping(i);
-
-"string"==typeof g&&(g={start_date:g});var u=n[g.start_date]||new Date,f=n[g.end_date]||gantt.calculateEndDate(u,1),p=Math.round(n[g.duration])||gantt.calculateDuration(u,f);gantt.form_blocks._fill_lightbox_select(o,0,u,c,r),d.value=p,a()},_get_start_date:function(t,e){var n=t.getElementsByTagName("select"),i=e._time_format_order,a=0,s=0;if(dhtmlx.defined(i[3])){var r=n[i[3]],o=parseInt(r.value,10);isNaN(o)&&r.hasAttribute("data-value")&&(o=parseInt(r.getAttribute("data-value"),10)),a=Math.floor(o/60),
-s=o%60}return new Date(n[i[2]].value,n[i[1]].value,n[i[0]].value,a,s)},_get_duration:function(t){var e=t.getElementsByTagName("input")[1];return e=parseInt(e.value,10),(!e||window.isNaN(e))&&(e=1),0>e&&(e*=-1),e},get_value:function(t,e,n){var i=gantt.form_blocks.duration._get_start_date(t,n),a=gantt.form_blocks.duration._get_duration(t,n),s=gantt.calculateEndDate(i,a),r=gantt._resolve_default_mapping(n),o={start_date:new Date(i),end_date:new Date(s),duration:a};return"string"==typeof r?o.start_date:o;
-
-},focus:function(t){gantt._focus(t.getElementsByTagName("select")[0])}},parent:{_filter:function(t,e,n){var i=e.filter||function(){return!0};t=t.slice(0);for(var a=0;a
",this._obj.innerHTML=e,this.$container=this._obj.firstChild;var n=this.$container.childNodes;this.$grid=n[0],
-this.$task=n[1],this.$scroll_ver=n[2],this.$scroll_hor=n[3],this.$grid.innerHTML="
",this.$grid_scale=this.$grid.childNodes[0],this.$grid_data=this.$grid.childNodes[1],this.$task.innerHTML="
",this.$task_scale=this.$task.childNodes[0],this.$task_data=this.$task.childNodes[1],
-this.$task_bg=this.$task_data.childNodes[0],this.$task_links=this.$task_data.childNodes[1],this.$task_bars=this.$task_data.childNodes[2]},gantt.$click={buttons:{edit:function(t){gantt.showLightbox(t)},"delete":function(t){var e=gantt.locale.labels.confirm_deleting,n=gantt.locale.labels.confirm_deleting_title;gantt._dhtmlx_confirm(e,n,function(){var e=gantt.getTask(t);e.$new?(gantt._deleteTask(t,!0),gantt.refreshData()):gantt.deleteTask(t),gantt.hideLightbox()})}}},gantt._calculate_content_height=function(){
-var t=this.config.scale_height,e=this._order.length*this.config.row_height,n=this._scroll_hor?this.config.scroll_size+1:0;return this._is_grid_visible()||this._is_chart_visible()?t+e+2+n:0},gantt._calculate_content_width=function(){{var t=this._get_grid_width(),e=this._tasks?this._tasks.full_width:0;this._scroll_ver?this.config.scroll_size+1:0}return this._is_chart_visible()||(e=0),this._is_grid_visible()||(t=0),t+e+1},gantt._get_resize_options=function(){var t={x:!1,y:!1};return"xy"==this.config.autosize?t.x=t.y=!0:"y"==this.config.autosize||this.config.autosize===!0?t.y=!0:"x"==this.config.autosize&&(t.x=!0),
-t},gantt._clean_el_size=function(t){return 1*(t||"").toString().replace("px","")||0},gantt._get_box_styles=function(){var t=null;t=window.getComputedStyle?window.getComputedStyle(this._obj,null):{width:this._obj.clientWidth,height:this._obj.clientHeight};var e=["width","height","paddingTop","paddingBottom","paddingLeft","paddingRight","borderLeftWidth","borderRightWidth","borderTopWidth","borderBottomWidth"],n={boxSizing:"border-box"==t.boxSizing};t.MozBoxSizing&&(n.boxSizing="border-box"==t.MozBoxSizing);
-
-for(var i=0;iMath.abs(a)){
-if(n.x)return!0;var s=i/-40,r=gantt.$task.scrollLeft+30*s;gantt.scrollTo(r,null),gantt.$scroll_hor.scrollTop=o}else{if(n.y)return!0;var s=a/-40;"undefined"==typeof a&&(s=t.detail);var o=gantt.$scroll_ver.scrollTop+30*s;if(!gantt.config.prevent_default_scroll&&gantt._cached_scroll_pos&&gantt._cached_scroll_pos.y==o)return!0;gantt.scrollTo(null,o),gantt.$scroll_ver.scrollTop=o}return t.preventDefault&&t.preventDefault(),t.cancelBubble=!0,!1}dhtmlxEvent(this.$scroll_hor,"scroll",function(){if(new Date-(gantt._wheel_time||0)<100)return!0;
-
-if(!gantt._touch_scroll_active){var t=gantt.$scroll_hor.scrollLeft;gantt.scrollTo(t)}}),dhtmlxEvent(this.$scroll_ver,"scroll",function(){if(!gantt._touch_scroll_active){var t=gantt.$scroll_ver.scrollTop;gantt.$grid_data.scrollTop=t,gantt.scrollTo(null,t)}}),dhtmlxEvent(this.$task,"scroll",function(){var t=gantt.$task.scrollLeft,e=gantt.$scroll_hor.scrollLeft;e!=t&&(gantt.$scroll_hor.scrollLeft=t)}),dhtmlxEvent(this.$task_data,"scroll",function(){var t=gantt.$task_data.scrollTop,e=gantt.$scroll_ver.scrollTop;
-
-e!=t&&(gantt.$scroll_ver.scrollTop=t)});var e=_isFF&&!window._KHTMLrv;e?dhtmlxEvent(gantt.$container,"wheel",t):dhtmlxEvent(gantt.$container,"mousewheel",t)},gantt._scroll_resize=function(){if(!(this._x<20||this._y<20)){var t=this._get_grid_width(),e=Math.max(this._x-t,0),n=Math.max(this._y-this.config.scale_height,0),i=this.config.scroll_size+1,a=Math.max(this.$task_data.offsetWidth-i,0),s=this.config.row_height*this._order.length,r=this._get_resize_options(),o=this._scroll_hor=r.x?!1:a>e,l=this._scroll_ver=r.y?!1:s>n;
-
-this.$scroll_hor.style.display=o?"block":"none",this.$scroll_hor.style.height=(o?i:0)+"px",this.$scroll_hor.style.width=Math.max(this._x-(l?i:2),0)+"px",this.$scroll_hor.firstChild.style.width=a+t+i+2+"px",this.$scroll_ver.style.display=l?"block":"none",this.$scroll_ver.style.width=(l?i:0)+"px",this.$scroll_ver.style.height=Math.max(this._y-(o?i:0)-this.config.scale_height,0)+"px",this.$scroll_ver.style.top=this.config.scale_height+"px",this.$scroll_ver.firstChild.style.height=this.config.scale_height+s+"px";
-
-}},gantt.locate=function(t){var e=gantt._get_target_node(t);if((e.className||"").indexOf("gantt_task_cell")>=0)return null;for(var n=arguments[1]||this.config.task_attribute;e;){if(e.getAttribute){var i=e.getAttribute(n);if(i)return i}e=e.parentNode}return null},gantt._get_target_node=function(t){var e;return t.tagName?e=t:(t=t||window.event,e=t.target||t.srcElement),e},gantt._trim=function(t){var e=String.prototype.trim||function(){return this.replace(/^\s+|\s+$/g,"")};return e.apply(t)},gantt._locate_css=function(t,e,n){
-void 0===n&&(n=!0);for(var i=gantt._get_target_node(t),a="";i;){if(a=i.className){var s=a.indexOf(e);if(s>=0){if(!n)return i;var r=0===s||!gantt._trim(a.charAt(s-1)),o=s+e.length>=a.length||!gantt._trim(a.charAt(s+e.length));if(r&&o)return i}}i=i.parentNode}return null},gantt._locateHTML=function(t,e){var n=gantt._get_target_node(t);for(e=e||this.config.task_attribute;n;){if(n.getAttribute){var i=n.getAttribute(e);if(i)return n}n=n.parentNode}return null},gantt.getTaskRowNode=function(t){for(var e=this.$grid_data.childNodes,n=this.config.task_attribute,i=0;in?!0:t._on_timeout?!1:(setTimeout(function(){delete t._on_timeout},n),
-t._on_timeout=!0,!0)},gantt.selectTask=function(t){if(!this.config.select_task)return!1;if(t){if(this._selected_task==t)return this._selected_task;if(!this.callEvent("onBeforeTaskSelected",[t]))return!1;this.unselectTask(),this._selected_task=t,this.refreshTask(t),this.callEvent("onTaskSelected",[t])}return this._selected_task},gantt.unselectTask=function(){var t=this._selected_task;t&&(this._selected_task=null,this.refreshTask(t),this.callEvent("onTaskUnselected",[t]))},gantt.getSelectedId=function(){
-return dhtmlx.defined(this._selected_task)?this._selected_task:null},gantt.changeLightboxType=function(t){return this.getLightboxType()==t?!0:void gantt._silent_redraw_lightbox(t)},gantt._is_render_active=function(){return!this._skip_render},gantt.batchUpdate=function(t){var e,n=this._dp&&"off"!=this._dp.updateMode;n&&(e=this._dp.updateMode,this._dp.setUpdateMode("off")),this._skip_render=!0;try{t()}catch(i){}this._skip_render=!1,this.render(),n&&(this._dp.setUpdateMode(e),this._dp.sendData())},gantt.date={
-init:function(){for(var t=gantt.locale.date.month_short,e=gantt.locale.date.month_short_hash={},n=0;n=0&&!t.getHours()&&n.getHours()&&(n.getDate()t?"0"+t:t},copy:function(t){return new Date(t.valueOf())},date_to_str:function(t,e){return t=t.replace(/%[a-zA-Z]/g,function(t){switch(t){case"%d":return'"+gantt.date.to_fixed(date.getDate())+"';case"%m":return'"+gantt.date.to_fixed((date.getMonth()+1))+"';case"%j":return'"+date.getDate()+"';case"%n":return'"+(date.getMonth()+1)+"';
-
-case"%y":return'"+gantt.date.to_fixed(date.getFullYear()%100)+"';case"%Y":return'"+date.getFullYear()+"';case"%D":return'"+gantt.locale.date.day_short[date.getDay()]+"';case"%l":return'"+gantt.locale.date.day_full[date.getDay()]+"';case"%M":return'"+gantt.locale.date.month_short[date.getMonth()]+"';case"%F":return'"+gantt.locale.date.month_full[date.getMonth()]+"';case"%h":return'"+gantt.date.to_fixed((date.getHours()+11)%12+1)+"';case"%g":return'"+((date.getHours()+11)%12+1)+"';case"%G":return'"+date.getHours()+"';
-
-case"%H":return'"+gantt.date.to_fixed(date.getHours())+"';case"%i":return'"+gantt.date.to_fixed(date.getMinutes())+"';case"%a":return'"+(date.getHours()>11?"pm":"am")+"';case"%A":return'"+(date.getHours()>11?"PM":"AM")+"';case"%s":return'"+gantt.date.to_fixed(date.getSeconds())+"';case"%W":return'"+gantt.date.to_fixed(gantt.date.getISOWeek(date))+"';default:return t}}),e&&(t=t.replace(/date\.get/g,"date.getUTC")),new Function("date",'return "'+t+'";')},str_to_date:function(t,e){for(var n="var temp=date.match(/[a-zA-Z]+|[0-9]+/g);",i=t.match(/%[a-zA-Z]/g),a=0;a50?1900:2000);";break;case"%g":case"%G":case"%h":case"%H":n+="set[3]=temp["+a+"]||0;";break;case"%i":n+="set[4]=temp["+a+"]||0;";break;case"%Y":n+="set[0]=temp["+a+"]||0;";break;case"%a":case"%A":n+="set[3]=set[3]%12+((temp["+a+"]||'').toLowerCase()=='am'?0:12);";break;case"%s":n+="set[5]=temp["+a+"]||0;";break;case"%M":n+="set[1]=gantt.locale.date.month_short_hash[temp["+a+"]]||0;";
-
-break;case"%F":n+="set[1]=gantt.locale.date.month_full_hash[temp["+a+"]]||0;"}var s="set[0],set[1],set[2],set[3],set[4],set[5]";return e&&(s=" Date.UTC("+s+")"),new Function("date","var set=[0,0,1,0,0,0]; "+n+" return new Date("+s+");")},getISOWeek:function(t){if(!t)return!1;var e=t.getDay();0===e&&(e=7);var n=new Date(t.valueOf());n.setDate(t.getDate()+(4-e));var i=n.getFullYear(),a=Math.round((n.getTime()-new Date(i,0,1).getTime())/864e5),s=1+Math.floor(a/7);return s},getUTCISOWeek:function(t){
-return this.getISOWeek(t)},convert_to_utc:function(t){return new Date(t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate(),t.getUTCHours(),t.getUTCMinutes(),t.getUTCSeconds())},parseDate:function(t,e){return"string"==typeof t&&(dhtmlx.defined(e)&&(e="string"==typeof e?dhtmlx.defined(gantt.templates[e])?gantt.templates[e]:gantt.date.str_to_date(e):gantt.templates.xml_date),t=t?e(t):null),t}},gantt.date.quarter_start=function(t){gantt.date.month_start(t);var e,n=t.getMonth();return e=n>=9?9:n>=6?6:n>=3?3:0,
-t.setMonth(e),t},gantt.date.add_quarter=function(t,e){return gantt.date.add(t,3*e,"month")},gantt.config||(gantt.config={}),gantt.config||(gantt.config={}),gantt.templates||(gantt.templates={}),function(){dhtmlx.mixin(gantt.config,{links:{finish_to_start:"0",start_to_start:"1",finish_to_finish:"2",start_to_finish:"3"},types:{task:"task",project:"project",milestone:"milestone"},duration_unit:"day",work_time:!1,correct_work_time:!1,skip_off_time:!1,autosize:!1,autosize_min_width:0,show_links:!0,show_task_cells:!0,
-static_background:!1,branch_loading:!1,show_loading:!1,show_chart:!0,show_grid:!0,min_duration:36e5,xml_date:"%d-%m-%Y %H:%i",api_date:"%d-%m-%Y %H:%i",start_on_monday:!0,server_utc:!1,show_progress:!0,fit_tasks:!1,select_task:!0,scroll_on_click:!0,preserve_scroll:!0,readonly:!1,date_grid:"%Y-%m-%d",drag_links:!0,drag_progress:!0,drag_resize:!0,drag_move:!0,drag_mode:{resize:"resize",progress:"progress",move:"move",ignore:"ignore"},round_dnd_dates:!0,link_wrapper_width:20,root_id:0,autofit:!1,columns:[{
-name:"text",tree:!0,width:"*",resize:!0},{name:"start_date",align:"center",resize:!0},{name:"duration",align:"center"},{name:"add",width:"44"}],step:1,scale_unit:"day",scale_offset_minimal:!0,subscales:[],inherit_scale_class:!1,time_step:60,duration_step:1,date_scale:"%d %M",task_date:"%d %F %Y",time_picker:"%H:%i",task_attribute:"task_id",link_attribute:"link_id",layer_attribute:"data-layer",buttons_left:["gantt_save_btn","gantt_cancel_btn"],_migrate_buttons:{dhx_save_btn:"gantt_save_btn",dhx_cancel_btn:"gantt_cancel_btn",
-dhx_delete_btn:"gantt_delete_btn"},buttons_right:["gantt_delete_btn"],lightbox:{sections:[{name:"description",height:70,map_to:"text",type:"textarea",focus:!0},{name:"time",type:"duration",map_to:"auto"}],project_sections:[{name:"description",height:70,map_to:"text",type:"textarea",focus:!0},{name:"type",type:"typeselect",map_to:"type"},{name:"time",type:"duration",readonly:!0,map_to:"auto"}],milestone_sections:[{name:"description",height:70,map_to:"text",type:"textarea",focus:!0},{name:"type",type:"typeselect",
-map_to:"type"},{name:"time",type:"duration",single_date:!0,map_to:"auto"}]},drag_lightbox:!0,sort:!1,details_on_create:!0,details_on_dblclick:!0,initial_scroll:!0,task_scroll_offset:100,task_height:"full",min_column_width:70,min_grid_column_width:70,grid_resizer_column_attribute:"column_index",grid_resizer_attribute:"grid_resizer",keep_grid_width:!1,grid_resize:!1,readonly_property:"readonly",editable_property:"editable",type_renderers:{},open_tree_initially:!1,optimize_render:"auto",prevent_default_scroll:!1
-}),gantt.keys={edit_save:13,edit_cancel:27},gantt._init_template=function(t,e){var n=this._reg_templates||{};this.config[t]&&n[t]!=this.config[t]&&(e&&this.templates[t]||(this.templates[t]=this.date.date_to_str(this.config[t]),n[t]=this.config[t])),this._reg_templates=n},gantt._init_templates=function(){var t=gantt.locale.labels;t.gantt_save_btn=t.icon_save,t.gantt_cancel_btn=t.icon_cancel,t.gantt_delete_btn=t.icon_delete;var e=this.date.date_to_str,n=this.config;gantt._init_template("date_scale",!0),
-gantt._init_template("date_grid",!0),gantt._init_template("task_date",!0),dhtmlx.mixin(this.templates,{xml_date:this.date.str_to_date(n.xml_date,n.server_utc),xml_format:e(n.xml_date,n.server_utc),api_date:this.date.str_to_date(n.api_date),progress_text:function(){return""},grid_header_class:function(){return""},task_text:function(t,e,n){return n.text},task_class:function(){return""},grid_row_class:function(){return""},task_row_class:function(){return""},task_cell_class:function(){return""},scale_cell_class:function(){
-return""},scale_row_class:function(){return""},grid_indent:function(){return"
"},grid_folder:function(t){return"
"},grid_file:function(){return"
"},grid_open:function(t){return"
"},grid_blank:function(){return"
"},task_time:function(t,e){
-return gantt.templates.task_date(t)+" - "+gantt.templates.task_date(e)},time_picker:e(n.time_picker),link_class:function(){return""},link_description:function(t){var e=gantt.getTask(t.source),n=gantt.getTask(t.target);return""+e.text+" – "+n.text+" "},drag_link:function(t,e,n,i){t=gantt.getTask(t);var a=gantt.locale.labels,s=""+t.text+" "+(e?a.link_start:a.link_end)+" ";return n&&(n=gantt.getTask(n),s+=" "+n.text+" "+(i?a.link_start:a.link_end)+" "),s},drag_link_class:function(t,e,n,i){
-var a="";if(t&&n){var s=gantt.isLinkAllowed(t,n,e,i);a=" "+(s?"gantt_link_allow":"gantt_link_deny")}return"gantt_link_tooltip"+a}}),this.callEvent("onTemplatesReady",[])}}(),window.jQuery&&!function(t){var e=[];t.fn.dhx_gantt=function(n){if(n=n||{},"string"!=typeof n){var i=[];return this.each(function(){if(this&&this.getAttribute&&!this.getAttribute("dhxgantt")){for(var t in n)"data"!=t&&(gantt.config[t]=n[t]);gantt.init(this),n.data&&gantt.parse(n.data),i.push(gantt)}}),1===i.length?i[0]:i}return e[n]?e[n].apply(this,[]):void t.error("Method "+n+" does not exist on jQuery.dhx_gantt");
-
-}}(jQuery),window.dhtmlx&&(dhtmlx.attaches||(dhtmlx.attaches={}),dhtmlx.attaches.attachGantt=function(t,e){var n=document.createElement("DIV");n.id="gantt_"+dhtmlx.uid(),n.style.width="100%",n.style.height="100%",n.cmp="grid",document.body.appendChild(n),this.attachObject(n.id);var i=this.vs[this.av];i.grid=gantt,gantt.init(n.id,t,e),n.firstChild.style.border="none",i.gridId=n.id,i.gridObj=n;var a="_viewRestore";return this.vs[this[a]()].grid}),gantt.locale={date:{month_full:["January","February","March","April","May","June","July","August","September","October","November","December"],
-month_short:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],day_full:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],day_short:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]},labels:{new_task:"New task",icon_save:"Save",icon_cancel:"Cancel",icon_details:"Details",icon_edit:"Edit",icon_delete:"Delete",confirm_closing:"",confirm_deleting:"Task will be deleted permanently, are you sure?",section_description:"Description",section_time:"Time period",section_type:"Type",
-column_text:"Task name",column_start_date:"Start time",column_duration:"Duration",column_add:"",link:"Link",confirm_link_deleting:"will be deleted",link_start:" (start)",link_end:" (end)",type_task:"Task",type_project:"Project",type_milestone:"Milestone",minutes:"Minutes",hours:"Hours",days:"Days",weeks:"Week",months:"Months",years:"Years"}},gantt.skins.skyblue={config:{grid_width:350,row_height:27,scale_height:27,link_line_width:1,link_arrow_size:8,lightbox_additional_height:75},_second_column_width:95,
-_third_column_width:80},gantt.skins.meadow={config:{grid_width:350,row_height:27,scale_height:30,link_line_width:2,link_arrow_size:6,lightbox_additional_height:72},_second_column_width:95,_third_column_width:80},gantt.skins.terrace={config:{grid_width:360,row_height:35,scale_height:35,link_line_width:2,link_arrow_size:6,lightbox_additional_height:75},_second_column_width:90,_third_column_width:70},gantt.skins.broadway={config:{grid_width:360,row_height:35,scale_height:35,link_line_width:1,link_arrow_size:7,
-lightbox_additional_height:86},_second_column_width:90,_third_column_width:80,_lightbox_template:"
",_config_buttons_left:{},_config_buttons_right:{gantt_delete_btn:"icon_delete",gantt_save_btn:"icon_save"}},gantt.config.touch_drag=500,gantt.config.touch=!0,gantt.config.touch_feedback=!0,gantt._touch_feedback=function(){
-gantt.config.touch_feedback&&navigator.vibrate&&navigator.vibrate(1)},gantt._init_touch_events=function(){"force"!=this.config.touch&&(this.config.touch=this.config.touch&&(-1!=navigator.userAgent.indexOf("Mobile")||-1!=navigator.userAgent.indexOf("iPad")||-1!=navigator.userAgent.indexOf("Android")||-1!=navigator.userAgent.indexOf("Touch"))),this.config.touch&&(window.navigator.msPointerEnabled?this._touch_events(["MSPointerMove","MSPointerDown","MSPointerUp"],function(t){return t.pointerType==t.MSPOINTER_TYPE_MOUSE?null:t;
-
-},function(t){return!t||t.pointerType==t.MSPOINTER_TYPE_MOUSE}):this._touch_events(["touchmove","touchstart","touchend"],function(t){return t.touches&&t.touches.length>1?null:t.touches[0]?{target:t.target,pageX:t.touches[0].pageX,pageY:t.touches[0].pageY,clientX:t.touches[0].clientX,clientY:t.touches[0].clientY}:t},function(){return!1}))},gantt._touch_events=function(t,e,n){function i(t){return t&&t.preventDefault&&t.preventDefault(),(t||event).cancelBubble=!0,!1}function a(t){var e=gantt._task_area_pulls,n=gantt.getTask(t);
-
-if(n&&gantt.isTaskVisible(t))for(var i in e)if(n=e[i][t],n&&n.getAttribute("task_id")&&n.getAttribute("task_id")==t){var a=n.cloneNode(!0);return h=n,e[i][t]=a,n.style.display="none",a.className+=" gantt_drag_move ",n.parentNode.appendChild(a),a}}var s,r=0,o=!1,l=!1,d=null,_=null,h=null;this._gantt_touch_event_ready||(this._gantt_touch_event_ready=1,dhtmlxEvent(gantt.$container,t[0],function(t){if(!n(t)&&o){_&&clearTimeout(_);var a=e(t);if(gantt._tasks_dnd.drag.id||gantt._tasks_dnd.drag.start_drag)return gantt._tasks_dnd.on_mouse_move(a),
-t.preventDefault&&t.preventDefault(),t.cancelBubble=!0,!1;if(a&&d){var h=d.pageX-a.pageX,c=d.pageY-a.pageY;!l&&(Math.abs(h)>5||Math.abs(c)>5)&&(gantt._touch_scroll_active=l=!0,r=0,s=gantt.getScrollState()),l&&gantt.scrollTo(s.x+h,s.y+c)}return i(t)}})),dhtmlxEvent(this.$container,"contextmenu",function(t){return o?i(t):void 0}),dhtmlxEvent(this.$container,t[1],function(t){if(!n(t)){if(t.touches&&t.touches.length>1)return void(o=!1);if(o=!0,d=e(t),d&&r){var s=new Date;500>s-r?(gantt._on_dblclick(d),
-i(t)):r=s}else r=new Date;_=setTimeout(function(){var t=gantt.locate(d);t&&-1==d.target.className.indexOf("gantt_link_point")&&(gantt._tasks_dnd.on_mouse_down(d),gantt._tasks_dnd._start_dnd(d),gantt._touch_drag=!0,a(t),gantt.refreshTask(t),gantt._touch_feedback()),_=null},gantt.config.touch_drag)}}),dhtmlxEvent(this.$container,t[2],function(t){if(!n(t)){_&&clearTimeout(_),gantt._touch_drag=!1,o=!1;var i=e(t);gantt._tasks_dnd.on_mouse_up(i),h&&(gantt.refreshTask(gantt.locate(h)),h.parentNode.removeChild(h),
-gantt._touch_feedback()),gantt._touch_scroll_active=o=l=!1,h=null}})};
-//# sourceMappingURL=sources/dhtmlxgantt.js.map
\ No newline at end of file
diff --git a/libraries/dhtmlxgantt/ext/dhtmlxgantt_marker.js b/libraries/dhtmlxgantt/ext/dhtmlxgantt_marker.js
deleted file mode 100644
index f419467..0000000
--- a/libraries/dhtmlxgantt/ext/dhtmlxgantt_marker.js
+++ /dev/null
@@ -1,15 +0,0 @@
-/*
-@license
-
-dhtmlxGantt v.3.2.0 Stardard
-This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited.
-
-(c) Dinamenta, UAB.
-*/
-gantt._markers||(gantt._markers={}),gantt.config.show_markers=!0,gantt.attachEvent("onClear",function(){gantt._markers={}}),gantt.attachEvent("onGanttReady",function(){function t(t){if(!gantt.config.show_markers)return!1;if(!t.start_date)return!1;var e=gantt.getState();if(!(+t.start_date>+e.max_date||+t.end_date&&+t.end_date<+e.min_date||+t.start_date<+e.min_date)){var r=document.createElement("div");r.setAttribute("marker_id",t.id);var a="gantt_marker";gantt.templates.marker_class&&(a+=" "+gantt.templates.marker_class(t)),
-t.css&&(a+=" "+t.css),t.title&&(r.title=t.title),r.className=a;var n=gantt.posFromDate(t.start_date);if(r.style.left=n+"px",r.style.height=Math.max(gantt._y_from_ind(gantt._order.length),0)+"px",t.end_date){var s=gantt.posFromDate(t.end_date);r.style.width=Math.max(s-n,0)+"px"}return t.text&&(r.innerHTML=""+t.text+"
"),r}}var e=document.createElement("div");e.className="gantt_marker_area",gantt.$task_data.appendChild(e),gantt.$marker_area=e,gantt._markerRenderer=gantt._task_renderer("markers",t,gantt.$marker_area,null);
-
-}),gantt.attachEvent("onDataRender",function(){gantt.renderMarkers()}),gantt.getMarker=function(t){return this._markers?this._markers[t]:null},gantt.addMarker=function(t){return t.id=t.id||dhtmlx.uid(),this._markers[t.id]=t,t.id},gantt.deleteMarker=function(t){return this._markers&&this._markers[t]?(delete this._markers[t],!0):!1},gantt.updateMarker=function(t){this._markerRenderer&&this._markerRenderer.render_item(t)},gantt.renderMarkers=function(){if(!this._markers)return!1;if(!this._markerRenderer)return!1;
-
-var t=[];for(var e in this._markers)t.push(this._markers[e]);return this._markerRenderer.render_items(t),!0};
-//# sourceMappingURL=../sources/ext/dhtmlxgantt_marker.js.map
\ No newline at end of file
diff --git a/libraries/dhtmlxgantt/ext/dhtmlxgantt_multiselect.js b/libraries/dhtmlxgantt/ext/dhtmlxgantt_multiselect.js
deleted file mode 100644
index b754190..0000000
--- a/libraries/dhtmlxgantt/ext/dhtmlxgantt_multiselect.js
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
-@license
-
-dhtmlxGantt v.3.2.0 Stardard
-This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited.
-
-(c) Dinamenta, UAB.
-*/
-gantt.config.multiselect=!0,gantt.config.multiselect_one_level=!1,gantt._multiselect={selected:{},one_level:!0,active:!0,isActive:function(){return this.update_state(),this.active},update_state:function(){this.one_level=gantt.config.multiselect_one_level;var t=this.active;this.active=gantt.config.multiselect,this.active!=t&&this.reset()},reset:function(){this.selected={}},set_last_selected:function(t){this.last_selected=t},getLastSelected:function(){return this.last_selected?this.last_selected:null;
-
-},select:function(t,e){gantt.callEvent("onBeforeTaskMultiSelect",[t,!0,e])&&(this.selected[t]=!0,this.set_last_selected(t),gantt.callEvent("onTaskMultiSelect",[t,!0,e]))},toggle:function(t,e){this.selected[t]?this.unselect(t,e):this.select(t,e)},unselect:function(t,e){gantt.callEvent("onBeforeTaskMultiSelect",[t,!1,e])&&(this.selected[t]=!1,this.last_selected==t&&(this.last_selected=null),gantt.callEvent("onTaskMultiSelect",[t,!0,e]))},isSelected:function(t){return!!this.selected[t]},getSelected:function(){
-var t=[];for(var e in this.selected)this.selected[e]&&t.push(e);return t.sort(function(t,e){return gantt.calculateTaskLevel(gantt.getTask(t))>gantt.calculateTaskLevel(gantt.getTask(e))?1:-1}),t},forSelected:function(t){for(var e=this.getSelected(),n=0;nl?gantt.getNext(r):gantt.getPrev(r);this.forSelected(dhtmlx.bind(function(t){var e=gantt.getGlobalTaskIndex(t);(e>s&&e>l||s>e&&l>e)&&(this.unselect(t),gantt.refreshTask(t))},this))}}else this.forSelected(dhtmlx.bind(function(t){t!=e&&(this.unselect(t),gantt.refreshTask(t))},this)),this.isSelected(e)||(this.select(e),this._after_select(e));return this.isSelected(e)?!0:!1}},function(){var t=gantt.selectTask;gantt.selectTask=function(e){var n=t.call(this,e);return this.config.multiselect&&this._multiselect.select(e),
-n};var e=gantt.unselectTask;gantt.unselectTask=function(t){var n=e.call(this,t);return this.config.multiselect&&this._multiselect.unselect(t),n},gantt.toggleTaskSelection=function(t){this.config.multiselect&&this._multiselect.toggle(t)},gantt.getSelectedTasks=function(){return this._multiselect.getSelected()},gantt.eachSelectedTask=function(t){return this._multiselect.forSelected(t)},gantt.isSelectedTask=function(t){return this._multiselect.isSelected(t)},gantt.getLastSelectedTask=function(){return this._multiselect.getLastSelected();
-
-}}(),gantt.attachEvent("onTaskIdChange",function(t,e){var n=gantt._multiselect;return n.isActive()?void(gantt.isSelectedTask(t)&&(n.unselect(t,null),n.select(e,null),gantt.refreshTask(e))):!0}),gantt.attachEvent("onAfterTaskDelete",function(t){var e=gantt._multiselect;return e.isActive()?(e.selected[t]&&e.unselect(t,null),void e.forSelected(function(t){gantt.isTaskExists(t)||e.unselect(t,null)})):!0}),gantt.attachEvent("onBeforeTaskMultiSelect",function(t,e){var n=gantt._multiselect;return e&&n.isActive()?n.is_same_level(t):!0;
-
-}),gantt.attachEvent("onTaskClick",function(t,e){var n=gantt._multiselect._do_selection(e);return gantt.callEvent("onMultiSelect",[e]),n}),gantt.attachEvent("onEmptyClick",function(t){return gantt._multiselect._do_selection(t),gantt.callEvent("onMultiSelect",[t]),!0});
-//# sourceMappingURL=../sources/ext/dhtmlxgantt_multiselect.js.map
\ No newline at end of file
diff --git a/libraries/dhtmlxgantt/ext/dhtmlxgantt_quick_info.js b/libraries/dhtmlxgantt/ext/dhtmlxgantt_quick_info.js
deleted file mode 100644
index dc5d60a..0000000
--- a/libraries/dhtmlxgantt/ext/dhtmlxgantt_quick_info.js
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
-@license
-
-dhtmlxGantt v.3.2.0 Stardard
-This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited.
-
-(c) Dinamenta, UAB.
-*/
-gantt.config.quickinfo_buttons=["icon_delete","icon_edit"],gantt.config.quick_info_detached=!0,gantt.config.show_quick_info=!0,gantt.attachEvent("onTaskClick",function(t){return gantt.showQuickInfo(t),!0}),function(){for(var t=["onEmptyClick","onViewChange","onLightbox","onBeforeTaskDelete","onBeforeDrag"],e=function(){return gantt._hideQuickInfo(),!0},n=0;n
';a+='';for(var s=gantt.config.quickinfo_buttons,r={icon_delete:!0,icon_edit:!0},o=0;o
"+gantt.locale.labels[s[o]]+"
");
-
-a+="",i.innerHTML=a,dhtmlxEvent(i,"click",function(t){t=t||event,gantt._qi_button_click(t.target||t.srcElement)}),gantt.config.quick_info_detached&&dhtmlxEvent(gantt.$task_data,"scroll",function(){gantt.hideQuickInfo()})}return this._quick_info_box},gantt._qi_button_click=function(t){var e=gantt._quick_info_box;if(t&&t!=e){var n=t.className;if(-1!=n.indexOf("_icon")){var i=gantt._quick_info_box_id;gantt.$click.buttons[n.split(" ")[1].replace("icon_","")](i)}else gantt._qi_button_click(t.parentNode);
-
-}},gantt._get_event_counter_part=function(t){for(var e=gantt.getTaskNode(t),n=0,i=0,a=e;a&&"gantt_task"!=a.className;)n+=a.offsetLeft,i+=a.offsetTop,a=a.offsetParent;var s=this.getScrollState();if(a){var r=n+e.offsetWidth/2-s.x>gantt._x/2?1:0,o=i+e.offsetHeight/2-s.y>gantt._y/2?1:0;return{left:n,top:i,dx:r,dy:o,width:e.offsetWidth,height:e.offsetHeight}}return 0},gantt._fill_quick_data=function(t){var e=gantt.getTask(t),n=gantt._quick_info_box;gantt._quick_info_box_id=t;var i=n.firstChild.firstChild;
-
-i.innerHTML=gantt.templates.quick_info_title(e.start_date,e.end_date,e);var a=i.nextSibling;a.innerHTML=gantt.templates.quick_info_date(e.start_date,e.end_date,e);var s=n.firstChild.nextSibling;s.innerHTML=gantt.templates.quick_info_content(e.start_date,e.end_date,e)};
-//# sourceMappingURL=../sources/ext/dhtmlxgantt_quick_info.js.map
\ No newline at end of file
diff --git a/libraries/dhtmlxgantt/ext/dhtmlxgantt_tooltip.js b/libraries/dhtmlxgantt/ext/dhtmlxgantt_tooltip.js
deleted file mode 100644
index 34fb639..0000000
--- a/libraries/dhtmlxgantt/ext/dhtmlxgantt_tooltip.js
+++ /dev/null
@@ -1,17 +0,0 @@
-/*
-@license
-
-dhtmlxGantt v.3.2.0 Stardard
-This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited.
-
-(c) Dinamenta, UAB.
-*/
-gantt._tooltip={},gantt._tooltip_class="gantt_tooltip",gantt.config.tooltip_timeout=30,gantt.config.tooltip_offset_y=20,gantt.config.tooltip_offset_x=10,gantt._create_tooltip=function(){return this._tooltip_html||(this._tooltip_html=document.createElement("div"),this._tooltip_html.className=gantt._tooltip_class),this._tooltip_html},gantt._is_cursor_under_tooltip=function(t,e){return t.x>=e.pos.x&&t.x<=e.pos.x+e.width?!0:t.y>=e.pos.y&&t.y<=e.pos.y+e.height?!0:!1},gantt._show_tooltip=function(t,e){
-if(!gantt.config.touch||gantt.config.touch_tooltip){var n=this._create_tooltip();n.innerHTML=t,gantt.$task_data.appendChild(n);var i=n.offsetWidth+20,a=n.offsetHeight+40,s=this.$task.offsetHeight,r=this.$task.offsetWidth,o=this.getScrollState();e.y+=o.y;var l={x:e.x,y:e.y};e.x+=1*gantt.config.tooltip_offset_x||0,e.y+=1*gantt.config.tooltip_offset_y||0,e.y=Math.min(Math.max(o.y,e.y),o.y+s-a),e.x=Math.min(Math.max(o.x,e.x),o.x+r-i),gantt._is_cursor_under_tooltip(l,{pos:e,width:i,height:a})&&(l.x+i>r+o.x&&(e.x=l.x-(i-20)-(1*gantt.config.tooltip_offset_x||0)),
-l.y+a>s+o.y&&(e.y=l.y-(a-40)-(1*gantt.config.tooltip_offset_y||0))),n.style.left=e.x+"px",n.style.top=e.y+"px"}},gantt._hide_tooltip=function(){this._tooltip_html&&this._tooltip_html.parentNode&&this._tooltip_html.parentNode.removeChild(this._tooltip_html),this._tooltip_id=0},gantt._is_tooltip=function(t){var e=t.target||t.srcElement;return gantt._is_node_child(e,function(t){return t.className==this._tooltip_class})},gantt._is_task_line=function(t){var e=t.target||t.srcElement;return gantt._is_node_child(e,function(t){
-return t==this.$task_data})},gantt._is_node_child=function(t,e){for(var n=!1;t&&!n;)n=e.call(gantt,t),t=t.parentNode;return n},gantt._tooltip_pos=function(t){if(t.pageX||t.pageY)var e={x:t.pageX,y:t.pageY};var n=_isIE?document.documentElement:document.body,e={x:t.clientX+n.scrollLeft-n.clientLeft,y:t.clientY+n.scrollTop-n.clientTop},i=gantt._get_position(gantt.$task_data);return e.x=e.x-i.x,e.y=e.y-i.y,e},gantt.attachEvent("onMouseMove",function(t,e){if(this.config.tooltip_timeout){document.createEventObject&&!document.createEvent&&(e=document.createEventObject(e));
-
-var n=this.config.tooltip_timeout;this._tooltip_id&&!t&&(isNaN(this.config.tooltip_hide_timeout)||(n=this.config.tooltip_hide_timeout)),clearTimeout(gantt._tooltip_ev_timer),gantt._tooltip_ev_timer=setTimeout(function(){gantt._init_tooltip(t,e)},n)}else gantt._init_tooltip(t,e)}),gantt._init_tooltip=function(t,e){if(!this._is_tooltip(e)&&(t!=this._tooltip_id||this._is_task_line(e))){if(!t)return this._hide_tooltip();this._tooltip_id=t;var n=this.getTask(t),i=this.templates.tooltip_text(n.start_date,n.end_date,n);
-
-return i?void this._show_tooltip(i,this._tooltip_pos(e)):void this._hide_tooltip()}},gantt.attachEvent("onMouseLeave",function(t){gantt._is_tooltip(t)||this._hide_tooltip()}),gantt.templates.tooltip_date_format=gantt.date.date_to_str("%Y-%m-%d"),gantt.templates.tooltip_text=function(t,e,n){return"Task: "+n.text+"Start date: "+gantt.templates.tooltip_date_format(t)+"End date: "+gantt.templates.tooltip_date_format(e)};
-//# sourceMappingURL=../sources/ext/dhtmlxgantt_tooltip.js.map
\ No newline at end of file
diff --git a/libraries/dhtmlxgantt/locale/locale.js b/libraries/dhtmlxgantt/locale/locale.js
deleted file mode 100644
index c14377f..0000000
--- a/libraries/dhtmlxgantt/locale/locale.js
+++ /dev/null
@@ -1,11 +0,0 @@
-/*
-@license
-
-dhtmlxGantt v.3.2.0 Stardard
-This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited.
-
-(c) Dinamenta, UAB.
-*/
-gantt.locale={date:{month_full:["January","February","March","April","May","June","July","August","September","October","November","December"],month_short:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],day_full:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],day_short:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]},labels:{new_task:"New task",icon_save:"Save",icon_cancel:"Cancel",icon_details:"Details",icon_edit:"Edit",icon_delete:"Delete",confirm_closing:"",
-confirm_deleting:"Task will be deleted permanently, are you sure?",section_description:"Description",section_time:"Time period",section_type:"Type",column_text:"Task name",column_start_date:"Start time",column_duration:"Duration",column_add:"",link:"Link",confirm_link_deleting:"will be deleted",link_start:" (start)",link_end:" (end)",type_task:"Task",type_project:"Project",type_milestone:"Milestone",minutes:"Minutes",hours:"Hours",days:"Days",weeks:"Week",months:"Months",years:"Years"}};
-//# sourceMappingURL=../sources/locale/locale.js.map
\ No newline at end of file
diff --git a/libraries/dhtmlxgantt/locale/locale_ar.js b/libraries/dhtmlxgantt/locale/locale_ar.js
deleted file mode 100644
index d59ed1c..0000000
--- a/libraries/dhtmlxgantt/locale/locale_ar.js
+++ /dev/null
@@ -1,12 +0,0 @@
-/*
-@license
-
-dhtmlxGantt v.3.2.0 Stardard
-This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited.
-
-(c) Dinamenta, UAB.
-*/
-gantt.locale={date:{month_full:["كانون الثاني","شباط","آذار","نيسان","أيار","حزيران","تموز","آب","أيلول","تشرين الأول","تشرين الثاني","كانون الأول"],month_short:["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر"],day_full:["الأحد","الأثنين","ألثلاثاء","الأربعاء","ألحميس","ألجمعة","السبت"],day_short:["احد","اثنين","ثلاثاء","اربعاء","خميس","جمعة","سبت"]},labels:{dhx_cal_today_button:"اليوم",day_tab:"يوم",week_tab:"أسبوع",month_tab:"شهر",new_event:"حدث جديد",
-icon_save:"اخزن",icon_cancel:"الغاء",icon_details:"تفاصيل",icon_edit:"تحرير",icon_delete:"حذف",confirm_closing:"التغييرات سوف تضيع, هل انت متأكد؟",confirm_deleting:"الحدث سيتم حذفها نهائيا ، هل أنت متأكد؟",section_description:"الوصف",section_time:"الفترة الزمنية",section_type:"Type",column_text:"Task name",column_start_date:"Start time",column_duration:"Duration",column_add:"",link:"Link",confirm_link_deleting:"will be deleted",link_start:" (start)",link_end:" (end)",type_task:"Task",type_project:"Project",
-type_milestone:"Milestone",minutes:"Minutes",hours:"Hours",days:"Days",weeks:"Week",months:"Months",years:"Years"}};
-//# sourceMappingURL=../sources/locale/locale_ar.js.map
\ No newline at end of file
diff --git a/libraries/dhtmlxgantt/locale/locale_be.js b/libraries/dhtmlxgantt/locale/locale_be.js
deleted file mode 100644
index d80b92b..0000000
--- a/libraries/dhtmlxgantt/locale/locale_be.js
+++ /dev/null
@@ -1,12 +0,0 @@
-/*
-@license
-
-dhtmlxGantt v.3.2.0 Stardard
-This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited.
-
-(c) Dinamenta, UAB.
-*/
-gantt.locale={date:{month_full:["Студзень","Люты","Сакавік","Красавік","Maй","Чэрвень","Ліпень","Жнівень","Верасень","Кастрычнік","Лістапад","Снежань"],month_short:["Студз","Лют","Сак","Крас","Maй","Чэр","Ліп","Жнів","Вер","Каст","Ліст","Снеж"],day_full:["Нядзеля","Панядзелак","Аўторак","Серада","Чацвер","Пятніца","Субота"],day_short:["Нд","Пн","Аўт","Ср","Чцв","Пт","Сб"]},labels:{dhx_cal_today_button:"Сёння",day_tab:"Дзень",week_tab:"Тыдзень",month_tab:"Месяц",new_event:"Новая падзея",icon_save:"Захаваць",
-icon_cancel:"Адмяніць",icon_details:"Дэталі",icon_edit:"Змяніць",icon_delete:"Выдаліць",confirm_closing:"",confirm_deleting:"Падзея будзе выдалена незваротна, працягнуць?",section_description:"Апісанне",section_time:"Перыяд часу",section_type:"Тып",column_text:"Задача",column_start_date:"Пачатак",column_duration:"Працяг",column_add:"",link:"Сувязь",confirm_link_deleting:"будзе выдалена",link_start:"(пачатак)",link_end:"(канец)",type_task:"Task",type_project:"Project",type_milestone:"Milestone",minutes:"Хвiлiна",
-hours:"Гадзiна",days:"Дзень",weeks:"Тыдзень",months:"Месяц",years:"Год"}};
-//# sourceMappingURL=../sources/locale/locale_be.js.map
\ No newline at end of file
diff --git a/libraries/dhtmlxgantt/locale/locale_ca.js b/libraries/dhtmlxgantt/locale/locale_ca.js
deleted file mode 100644
index 29bfbdf..0000000
--- a/libraries/dhtmlxgantt/locale/locale_ca.js
+++ /dev/null
@@ -1,12 +0,0 @@
-/*
-@license
-
-dhtmlxGantt v.3.2.0 Stardard
-This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited.
-
-(c) Dinamenta, UAB.
-*/
-gantt.locale={date:{month_full:["Gener","Febrer","Març","Abril","Maig","Juny","Juliol","Agost","Setembre","Octubre","Novembre","Desembre"],month_short:["Gen","Feb","Mar","Abr","Mai","Jun","Jul","Ago","Set","Oct","Nov","Des"],day_full:["Diumenge","Dilluns","Dimarts","Dimecres","Dijous","Divendres","Dissabte"],day_short:["Dg","Dl","Dm","Dc","Dj","Dv","Ds"]},labels:{dhx_cal_today_button:"Hui",day_tab:"Dia",week_tab:"Setmana",month_tab:"Mes",new_event:"Nou esdeveniment",icon_save:"Guardar",icon_cancel:"Cancel·lar",
-icon_details:"Detalls",icon_edit:"Editar",icon_delete:"Esborrar",confirm_closing:"",confirm_deleting:"L'esdeveniment s'esborrarà definitivament, continuar ?",section_description:"Descripció",section_time:"Periode de temps",section_type:"Type",column_text:"Task name",column_start_date:"Start time",column_duration:"Duration",column_add:"",link:"Link",confirm_link_deleting:"will be deleted",link_start:" (start)",link_end:" (end)",type_task:"Task",type_project:"Project",type_milestone:"Milestone",minutes:"Minutes",
-hours:"Hours",days:"Days",weeks:"Week",months:"Months",years:"Years"}};
-//# sourceMappingURL=../sources/locale/locale_ca.js.map
\ No newline at end of file
diff --git a/libraries/dhtmlxgantt/locale/locale_cn.js b/libraries/dhtmlxgantt/locale/locale_cn.js
deleted file mode 100644
index 3f8e7b2..0000000
--- a/libraries/dhtmlxgantt/locale/locale_cn.js
+++ /dev/null
@@ -1,11 +0,0 @@
-/*
-@license
-
-dhtmlxGantt v.3.2.0 Stardard
-This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited.
-
-(c) Dinamenta, UAB.
-*/
-gantt.config.day_date="%M %d日 %D",gantt.config.default_date="%Y年 %M %d日",gantt.config.month_date="%Y年 %M",gantt.locale={date:{month_full:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],month_short:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],day_full:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"],day_short:["日","一","二","三","四","五","六"]},labels:{dhx_cal_today_button:"今天",day_tab:"日",week_tab:"周",month_tab:"月",new_event:"新建日程",icon_save:"保存",icon_cancel:"关闭",icon_details:"详细",
-icon_edit:"编辑",icon_delete:"删除",confirm_closing:"请确认是否撤销修改!",confirm_deleting:"是否删除日程?",section_description:"描述",section_time:"时间范围",section_type:"Type",column_text:"Task name",column_start_date:"Start time",column_duration:"Duration",column_add:"",link:"Link",confirm_link_deleting:"will be deleted",link_start:" (start)",link_end:" (end)",type_task:"Task",type_project:"Project",type_milestone:"Milestone",minutes:"Minutes",hours:"Hours",days:"Days",weeks:"Week",months:"Months",years:"Years"}};
-//# sourceMappingURL=../sources/locale/locale_cn.js.map
\ No newline at end of file
diff --git a/libraries/dhtmlxgantt/locale/locale_cs.js b/libraries/dhtmlxgantt/locale/locale_cs.js
deleted file mode 100644
index cc7d286..0000000
--- a/libraries/dhtmlxgantt/locale/locale_cs.js
+++ /dev/null
@@ -1,12 +0,0 @@
-/*
-@license
-
-dhtmlxGantt v.3.2.0 Stardard
-This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited.
-
-(c) Dinamenta, UAB.
-*/
-gantt.locale={date:{month_full:["Leden","Únor","Březen","Duben","Květen","Červen","Červenec","Srpen","Září","Říjen","Listopad","Prosinec"],month_short:["Led","Ún","Bře","Dub","Kvě","Čer","Čec","Srp","Září","Říj","List","Pro"],day_full:["Neděle","Pondělí","Úterý","Středa","Čtvrtek","Pátek","Sobota"],day_short:["Ne","Po","Út","St","Čt","Pá","So"]},labels:{dhx_cal_today_button:"Dnes",day_tab:"Den",week_tab:"Týden",month_tab:"Měsíc",new_event:"Nová událost",icon_save:"Uložit",icon_cancel:"Zpět",icon_details:"Detail",
-icon_edit:"Edituj",icon_delete:"Smazat",confirm_closing:"",confirm_deleting:"Událost bude trvale smazána, opravdu?",section_description:"Poznámky",section_time:"Doba platnosti",section_type:"Type",column_text:"Task name",column_start_date:"Start time",column_duration:"Duration",column_add:"",link:"Link",confirm_link_deleting:"will be deleted",link_start:" (start)",link_end:" (end)",type_task:"Task",type_project:"Project",type_milestone:"Milestone",minutes:"Minutes",hours:"Hours",days:"Days",weeks:"Week",
-months:"Months",years:"Years"}};
-//# sourceMappingURL=../sources/locale/locale_cs.js.map
\ No newline at end of file
diff --git a/libraries/dhtmlxgantt/locale/locale_da.js b/libraries/dhtmlxgantt/locale/locale_da.js
deleted file mode 100644
index 88265b3..0000000
--- a/libraries/dhtmlxgantt/locale/locale_da.js
+++ /dev/null
@@ -1,12 +0,0 @@
-/*
-@license
-
-dhtmlxGantt v.3.2.0 Stardard
-This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited.
-
-(c) Dinamenta, UAB.
-*/
-gantt.locale={date:{month_full:["Januar","Februar","Marts","April","Maj","Juni","Juli","August","September","Oktober","November","December"],month_short:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","Aug","Sep","Okt","Nov","Dec"],day_full:["Søndag","Mandag","Tirsdag","Onsdag","Torsdag","Fredag","Lørdag"],day_short:["Søn","Man","Tir","Ons","Tor","Fre","Lør"]},labels:{dhx_cal_today_button:"Idag",day_tab:"Dag",week_tab:"Uge",month_tab:"Måned",new_event:"Ny begivenhed",icon_save:"Gem",icon_cancel:"Fortryd",
-icon_details:"Detaljer",icon_edit:"Tilret",icon_delete:"Slet",confirm_closing:"Dine rettelser vil gå tabt.. Er dy sikker?",confirm_deleting:"Bigivenheden vil blive slettet permanent. Er du sikker?",section_description:"Beskrivelse",section_time:"Tidsperiode",section_type:"Type",column_text:"Task name",column_start_date:"Start time",column_duration:"Duration",column_add:"",link:"Link",confirm_link_deleting:"will be deleted",link_start:" (start)",link_end:" (end)",type_task:"Task",type_project:"Project",
-type_milestone:"Milestone",minutes:"Minutes",hours:"Hours",days:"Days",weeks:"Week",months:"Months",years:"Years"}};
-//# sourceMappingURL=../sources/locale/locale_da.js.map
\ No newline at end of file
diff --git a/libraries/dhtmlxgantt/locale/locale_de.js b/libraries/dhtmlxgantt/locale/locale_de.js
deleted file mode 100644
index 0b316e8..0000000
--- a/libraries/dhtmlxgantt/locale/locale_de.js
+++ /dev/null
@@ -1,12 +0,0 @@
-/*
-@license
-
-dhtmlxGantt v.3.2.0 Stardard
-This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited.
-
-(c) Dinamenta, UAB.
-*/
-gantt.locale={date:{month_full:[" Januar"," Februar"," März "," April"," Mai"," Juni"," Juli"," August"," September "," Oktober"," November "," Dezember"],month_short:["Jan","Feb","Mär","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dec"],day_full:["Sonntag","Montag","Dienstag"," Mittwoch"," Donnerstag","Freitag","Samstag"],day_short:["So","Mo","Di","Mi","Do","Fr","Sa"]},labels:{dhx_cal_today_button:"Heute",day_tab:"Tag",week_tab:"Woche",month_tab:"Monat",new_event:"neuer Eintrag",icon_save:"Speichern",
-icon_cancel:"Abbrechen",icon_details:"Details",icon_edit:"Ändern",icon_delete:"Löschen",confirm_closing:"",confirm_deleting:"Der Eintrag wird gelöscht",section_description:"Beschreibung",section_time:"Zeitspanne",section_type:"Type",column_text:"Task-Namen",column_start_date:"Startzeit",column_duration:"Dauer",column_add:"",link:"Link",confirm_link_deleting:"werden gelöscht",link_start:"(starten)",link_end:"(ende)",type_task:"Task",type_project:"Project",type_milestone:"Milestone",minutes:"Minuten",
-hours:"Stunden",days:"Tage",weeks:"Wochen",months:"Monate",years:"Jahre"}};
-//# sourceMappingURL=../sources/locale/locale_de.js.map
\ No newline at end of file
diff --git a/libraries/dhtmlxgantt/locale/locale_el.js b/libraries/dhtmlxgantt/locale/locale_el.js
deleted file mode 100644
index 9b791ad..0000000
--- a/libraries/dhtmlxgantt/locale/locale_el.js
+++ /dev/null
@@ -1,12 +0,0 @@
-/*
-@license
-
-dhtmlxGantt v.3.2.0 Stardard
-This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited.
-
-(c) Dinamenta, UAB.
-*/
-gantt.locale={date:{month_full:["Ιανουάριος","Φεβρουάριος","Μάρτιος","Απρίλιος","Μάϊος","Ιούνιος","Ιούλιος","Αύγουστος","Σεπτέμβριος","Οκτώβριος","Νοέμβριος","Δεκέμβριος"],month_short:["ΙΑΝ","ΦΕΒ","ΜΑΡ","ΑΠΡ","ΜΑΙ","ΙΟΥΝ","ΙΟΥΛ","ΑΥΓ","ΣΕΠ","ΟΚΤ","ΝΟΕ","ΔΕΚ"],day_full:["Κυριακή","Δευτέρα","Τρίτη","Τετάρτη","Πέμπτη","Παρασκευή","Κυριακή"],day_short:["ΚΥ","ΔΕ","ΤΡ","ΤΕ","ΠΕ","ΠΑ","ΣΑ"]},labels:{dhx_cal_today_button:"Σήμερα",day_tab:"Ημέρα",week_tab:"Εβδομάδα",month_tab:"Μήνας",new_event:"Νέο έργο",
-icon_save:"Αποθήκευση",icon_cancel:"Άκυρο",icon_details:"Λεπτομέρειες",icon_edit:"Επεξεργασία",icon_delete:"Διαγραφή",confirm_closing:"",confirm_deleting:"Το έργο θα διαγραφεί οριστικά. Θέλετε να συνεχίσετε;",section_description:"Περιγραφή",section_time:"Χρονική περίοδος",section_type:"Type",column_text:"Task name",column_start_date:"Start time",column_duration:"Duration",column_add:"",link:"Link",confirm_link_deleting:"will be deleted",link_start:" (start)",link_end:" (end)",type_task:"Task",type_project:"Project",
-type_milestone:"Milestone",minutes:"Minutes",hours:"Hours",days:"Days",weeks:"Week",months:"Months",years:"Years"}};
-//# sourceMappingURL=../sources/locale/locale_el.js.map
\ No newline at end of file
diff --git a/libraries/dhtmlxgantt/locale/locale_es.js b/libraries/dhtmlxgantt/locale/locale_es.js
deleted file mode 100644
index 104180c..0000000
--- a/libraries/dhtmlxgantt/locale/locale_es.js
+++ /dev/null
@@ -1,12 +0,0 @@
-/*
-@license
-
-dhtmlxGantt v.3.2.0 Stardard
-This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited.
-
-(c) Dinamenta, UAB.
-*/
-gantt.locale={date:{month_full:["Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre"],month_short:["Ene","Feb","Mar","Abr","May","Jun","Jul","Ago","Sep","Oct","Nov","Dic"],day_full:["Domingo","Lunes","Martes","Miércoles","Jueves","Viernes","Sábado"],day_short:["Dom","Lun","Mar","Mié","Jue","Vie","Sáb"]},labels:{dhx_cal_today_button:"Hoy",day_tab:"Día",week_tab:"Semana",month_tab:"Mes",new_event:"Nuevo evento",icon_save:"Guardar",icon_cancel:"Cancelar",
-icon_details:"Detalles",icon_edit:"Editar",icon_delete:"Eliminar",confirm_closing:"",confirm_deleting:"El evento se borrará definitivamente, ¿continuar?",section_description:"Descripción",section_time:"Período",section_type:"Type",column_text:"Tarea",column_start_date:"Inicio",column_duration:"Dur.",column_add:"",link:"Link",confirm_link_deleting:"will be deleted",link_start:" (start)",link_end:" (end)",type_task:"Task",type_project:"Project",type_milestone:"Milestone",minutes:"Minutes",
-hours:"Hours",days:"Days",weeks:"Week",months:"Months",years:"Years"}};
-//# sourceMappingURL=../sources/locale/locale_es.js.map
\ No newline at end of file
diff --git a/libraries/dhtmlxgantt/locale/locale_fi.js b/libraries/dhtmlxgantt/locale/locale_fi.js
deleted file mode 100644
index f02fa3e..0000000
--- a/libraries/dhtmlxgantt/locale/locale_fi.js
+++ /dev/null
@@ -1,12 +0,0 @@
-/*
-@license
-
-dhtmlxGantt v.3.2.0 Stardard
-This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited.
-
-(c) Dinamenta, UAB.
-*/
-gantt.locale={date:{month_full:["Tammikuu","Helmikuu","Maaliskuu","Huhtikuu","Toukokuu","Kesäkuu","Heinäkuu","Elokuu","Syyskuu","Lokakuu","Marraskuu","Joulukuu"],month_short:["Tam","Hel","Maa","Huh","Tou","Kes","Hei","Elo","Syy","Lok","Mar","Jou"],day_full:["Sunnuntai","Maanantai","Tiistai","Keskiviikko","Torstai","Perjantai","Lauantai"],day_short:["Su","Ma","Ti","Ke","To","Pe","La"]},labels:{dhx_cal_today_button:"Tänään",day_tab:"Päivä",week_tab:"Viikko",month_tab:"Kuukausi",new_event:"Uusi tapahtuma",
-icon_save:"Tallenna",icon_cancel:"Peru",icon_details:"Tiedot",icon_edit:"Muokkaa",icon_delete:"Poista",confirm_closing:"",confirm_deleting:"Haluatko varmasti poistaa tapahtuman?",section_description:"Kuvaus",section_time:"Aikajakso",section_type:"Type",column_text:"Task name",column_start_date:"Start time",column_duration:"Duration",column_add:"",link:"Link",confirm_link_deleting:"will be deleted",link_start:" (start)",link_end:" (end)",type_task:"Task",type_project:"Project",type_milestone:"Milestone",
-minutes:"Minutes",hours:"Hours",days:"Days",weeks:"Week",months:"Months",years:"Years"}};
-//# sourceMappingURL=../sources/locale/locale_fi.js.map
\ No newline at end of file
diff --git a/libraries/dhtmlxgantt/locale/locale_fr.js b/libraries/dhtmlxgantt/locale/locale_fr.js
deleted file mode 100644
index 51a9de9..0000000
--- a/libraries/dhtmlxgantt/locale/locale_fr.js
+++ /dev/null
@@ -1,12 +0,0 @@
-/*
-@license
-
-dhtmlxGantt v.3.2.0 Stardard
-This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited.
-
-(c) Dinamenta, UAB.
-*/
-gantt.locale={date:{month_full:["Janvier","Février","Mars","Avril","Mai","Juin","Juillet","Août","Septembre","Octobre","Novembre","Décembre"],month_short:["Jan","Fév","Mar","Avr","Mai","Juin","Juil","Aoû","Sep","Oct","Nov","Déc"],day_full:["Dimanche","Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi"],day_short:["Dim","Lun","Mar","Mer","Jeu","Ven","Sam"]},labels:{new_task:"Nouvelle tâche",icon_save:"Enregistrer",icon_cancel:"Annuler",icon_details:"Détails",icon_edit:"Modifier",icon_delete:"Effacer",
-confirm_closing:"",confirm_deleting:"L'événement sera effacé sans appel, êtes-vous sûr ?",section_description:"Description",section_time:"Période",section_type:"Type",column_text:"Nom de la tâche",column_start_date:"Date initiale",column_duration:"Durée",column_add:"",link:"Le lien",confirm_link_deleting:"sera supprimé",link_start:"(début)",link_end:"(fin)",type_task:"Task",type_project:"Project",type_milestone:"Milestone",minutes:"Minutes",hours:"Heures",days:"Jours",weeks:"Semaines",months:"Mois",
-years:"Années"}};
-//# sourceMappingURL=../sources/locale/locale_fr.js.map
\ No newline at end of file
diff --git a/libraries/dhtmlxgantt/locale/locale_he.js b/libraries/dhtmlxgantt/locale/locale_he.js
deleted file mode 100644
index 669fba3..0000000
--- a/libraries/dhtmlxgantt/locale/locale_he.js
+++ /dev/null
@@ -1,11 +0,0 @@
-/*
-@license
-
-dhtmlxGantt v.3.2.0 Stardard
-This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited.
-
-(c) Dinamenta, UAB.
-*/
-gantt.locale={date:{month_full:["ינואר","פברואר","מרץ","אפריל","מאי","יוני","יולי","אוגוסט","ספטמבר","אוקטובר","נובמבר","דצמבר"],month_short:["ינו","פבר","מרץ","אפר","מאי","יונ","יול","אוג","ספט","אוק","נוב","דצמ"],day_full:["ראשון","שני","שלישי","רביעי","חמישי","שישי","שבת"],day_short:["א","ב","ג","ד","ה","ו","ש"]},labels:{dhx_cal_today_button:"היום",day_tab:"יום",week_tab:"שבוע",month_tab:"חודש",new_event:"ארוע חדש",icon_save:"שמור",icon_cancel:"בטל",icon_details:"פרטים",icon_edit:"ערוך",icon_delete:"מחק",
-confirm_closing:"",confirm_deleting:"ארוע ימחק סופית.להמשיך?",section_description:"הסבר",section_time:"תקופה",section_type:"Type",column_text:"Task name",column_start_date:"Start time",column_duration:"Duration",column_add:"",link:"Link",confirm_link_deleting:"will be deleted",link_start:" (start)",link_end:" (end)",type_task:"Task",type_project:"Project",type_milestone:"Milestone",minutes:"Minutes",hours:"Hours",days:"Days",weeks:"Week",months:"Months",years:"Years"}};
-//# sourceMappingURL=../sources/locale/locale_he.js.map
\ No newline at end of file
diff --git a/libraries/dhtmlxgantt/locale/locale_hu.js b/libraries/dhtmlxgantt/locale/locale_hu.js
deleted file mode 100644
index 005b9b9..0000000
--- a/libraries/dhtmlxgantt/locale/locale_hu.js
+++ /dev/null
@@ -1,12 +0,0 @@
-/*
-@license
-
-dhtmlxGantt v.3.2.0 Stardard
-This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited.
-
-(c) Dinamenta, UAB.
-*/
-gantt.locale={date:{month_full:["Január","Február","Március","Április","Május","Június","Július","Augusztus","Szeptember","Október","November","December"],month_short:["Jan","Feb","Már","Ápr","Máj","Jún","Júl","Aug","Sep","Okt","Nov","Dec"],day_full:["Vasárnap","Hétfõ","Kedd","Szerda","Csütörtök","Péntek","szombat"],day_short:["Va","Hé","Ke","Sze","Csü","Pé","Szo"]},labels:{dhx_cal_today_button:"Ma",day_tab:"Nap",week_tab:"Hét",month_tab:"Hónap",new_event:"Új esemény",icon_save:"Mentés",icon_cancel:"Mégse",
-icon_details:"Részletek",icon_edit:"Szerkesztés",icon_delete:"Törlés",confirm_closing:"",confirm_deleting:"Az esemény törölve lesz, biztosan folytatja?",section_description:"Leírás",section_time:"Idõszak",section_type:"Type",column_text:"Task name",column_start_date:"Start time",column_duration:"Duration",column_add:"",link:"Link",confirm_link_deleting:"will be deleted",link_start:" (start)",link_end:" (end)",type_task:"Task",type_project:"Project",type_milestone:"Milestone",minutes:"Minutes",hours:"Hours",
-days:"Days",weeks:"Week",months:"Months",years:"Years"}};
-//# sourceMappingURL=../sources/locale/locale_hu.js.map
\ No newline at end of file
diff --git a/libraries/dhtmlxgantt/locale/locale_id.js b/libraries/dhtmlxgantt/locale/locale_id.js
deleted file mode 100644
index 1871c5f..0000000
--- a/libraries/dhtmlxgantt/locale/locale_id.js
+++ /dev/null
@@ -1,12 +0,0 @@
-/*
-@license
-
-dhtmlxGantt v.3.2.0 Stardard
-This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited.
-
-(c) Dinamenta, UAB.
-*/
-gantt.locale={date:{month_full:["Januari","Februari","Maret","April","Mei","Juni","Juli","Agustus","September","Oktober","November","Desember"],month_short:["Jan","Feb","Mar","Apr","Mei","Jun","Jul","Ags","Sep","Okt","Nov","Des"],day_full:["Minggu","Senin","Selasa","Rabu","Kamis","Jumat","Sabtu"],day_short:["Ming","Sen","Sel","Rab","Kam","Jum","Sab"]},labels:{dhx_cal_today_button:"Hari Ini",day_tab:"Hari",week_tab:"Minggu",month_tab:"Bulan",new_event:"Acara Baru",icon_save:"Simpan",icon_cancel:"Batal",
-icon_details:"Detail",icon_edit:"Edit",icon_delete:"Hapus",confirm_closing:"",confirm_deleting:"Acara akan dihapus",section_description:"Keterangan",section_time:"Periode",section_type:"Type",column_text:"Task name",column_start_date:"Start time",column_duration:"Duration",column_add:"",link:"Link",confirm_link_deleting:"will be deleted",link_start:" (start)",link_end:" (end)",type_task:"Task",type_project:"Project",type_milestone:"Milestone",minutes:"Minutes",hours:"Hours",days:"Days",weeks:"Week",
-months:"Months",years:"Years"}};
-//# sourceMappingURL=../sources/locale/locale_id.js.map
\ No newline at end of file
diff --git a/libraries/dhtmlxgantt/locale/locale_it.js b/libraries/dhtmlxgantt/locale/locale_it.js
deleted file mode 100644
index 55c1fcc..0000000
--- a/libraries/dhtmlxgantt/locale/locale_it.js
+++ /dev/null
@@ -1,12 +0,0 @@
-/*
-@license
-
-dhtmlxGantt v.3.2.0 Stardard
-This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited.
-
-(c) Dinamenta, UAB.
-*/
-gantt.locale={date:{month_full:["Gennaio","Febbraio","Marzo","Aprile","Maggio","Giugno","Luglio","Agosto","Settembre","Ottobre","Novembre","Dicembre"],month_short:["Gen","Feb","Mar","Apr","Mag","Giu","Lug","Ago","Set","Ott","Nov","Dic"],day_full:["Domenica","Lunedì","Martedì","Mercoledì","Giovedì","Venerdì","Sabato"],day_short:["Dom","Lun","Mar","Mer","Gio","Ven","Sab"]},labels:{dhx_cal_today_button:"Oggi",day_tab:"Giorno",week_tab:"Settimana",month_tab:"Mese",new_event:"Nuovo evento",icon_save:"Salva",
-icon_cancel:"Chiudi",icon_details:"Dettagli",icon_edit:"Modifica",icon_delete:"Elimina",confirm_closing:"",confirm_deleting:"L'evento sarà eliminato, siete sicuri?",section_description:"Descrizione",section_time:"Periodo di tempo",section_type:"Type",column_text:"Task name",column_start_date:"Start time",column_duration:"Duration",column_add:"",link:"Link",confirm_link_deleting:"will be deleted",link_start:" (start)",link_end:" (end)",type_task:"Task",type_project:"Project",type_milestone:"Milestone",
-minutes:"Minutes",hours:"Hours",days:"Days",weeks:"Week",months:"Months",years:"Years"}};
-//# sourceMappingURL=../sources/locale/locale_it.js.map
\ No newline at end of file
diff --git a/libraries/dhtmlxgantt/locale/locale_jp.js b/libraries/dhtmlxgantt/locale/locale_jp.js
deleted file mode 100644
index f59fe5e..0000000
--- a/libraries/dhtmlxgantt/locale/locale_jp.js
+++ /dev/null
@@ -1,11 +0,0 @@
-/*
-@license
-
-dhtmlxGantt v.3.2.0 Stardard
-This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited.
-
-(c) Dinamenta, UAB.
-*/
-gantt.locale={date:{month_full:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],month_short:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],day_full:["日曜日","月曜日","火曜日","水曜日","木曜日","金曜日","土曜日"],day_short:["日","月","火","水","木","金","土"]},labels:{dhx_cal_today_button:"今日",day_tab:"日",week_tab:"週",month_tab:"月",new_event:"新イベント",icon_save:"保存",icon_cancel:"キャンセル",icon_details:"詳細",icon_edit:"編集",icon_delete:"削除",confirm_closing:"",confirm_deleting:"イベント完全に削除されます、宜しいですか?",
-section_description:"デスクリプション",section_time:"期間",section_type:"Type",column_text:"Task name",column_start_date:"Start time",column_duration:"Duration",column_add:"",link:"Link",confirm_link_deleting:"will be deleted",link_start:" (start)",link_end:" (end)",type_task:"Task",type_project:"Project",type_milestone:"Milestone",minutes:"Minutes",hours:"Hours",days:"Days",weeks:"Week",months:"Months",years:"Years"}};
-//# sourceMappingURL=../sources/locale/locale_jp.js.map
\ No newline at end of file
diff --git a/libraries/dhtmlxgantt/locale/locale_kr.js b/libraries/dhtmlxgantt/locale/locale_kr.js
deleted file mode 100644
index 3668a4f..0000000
--- a/libraries/dhtmlxgantt/locale/locale_kr.js
+++ /dev/null
@@ -1,11 +0,0 @@
-/*
-@license
-
-dhtmlxGantt v.3.2.0 Stardard
-This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited.
-
-(c) Dinamenta, UAB.
-*/
-gantt.locale={date:{month_full:["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"],month_short:["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"],day_full:["일요일","월요일","화요일","수요일","목요일","금요일","토요일"],day_short:["일","월","화","수","목","금","토"]},labels:{new_task:"이름없는 작업",icon_save:"저장",icon_cancel:"취소",icon_details:"세부 사항",icon_edit:"수정",icon_delete:"삭제",confirm_closing:"",confirm_deleting:"작업을 삭제하시겠습니까?",section_description:"설명",section_time:"기간",section_type:"Type",column_text:"작업명",
-column_start_date:"시작일",column_duration:"기간",column_add:"",link:"전제",confirm_link_deleting:"삭제 하시겠습니까?",link_start:" (start)",link_end:" (end)",type_task:"작업",type_project:"프로젝트",type_milestone:"마일스톤",minutes:"분",hours:"시간",days:"일",weeks:"주",months:"달",years:"년"}};
-//# sourceMappingURL=../sources/locale/locale_kr.js.map
\ No newline at end of file
diff --git a/libraries/dhtmlxgantt/locale/locale_nb.js b/libraries/dhtmlxgantt/locale/locale_nb.js
deleted file mode 100644
index 6e05718..0000000
--- a/libraries/dhtmlxgantt/locale/locale_nb.js
+++ /dev/null
@@ -1,12 +0,0 @@
-/*
-@license
-
-dhtmlxGantt v.3.2.0 Stardard
-This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited.
-
-(c) Dinamenta, UAB.
-*/
-gantt.locale={date:{month_full:["Januar","Februar","Mars","April","Mai","Juni","Juli","August","September","Oktober","November","Desember"],month_short:["Jan","Feb","Mar","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Des"],day_full:["Søndag","Mandag","Tirsdag","Onsdag","Torsdag","Fredag","Lørdag"],day_short:["Søn","Mon","Tir","Ons","Tor","Fre","Lør"]},labels:{dhx_cal_today_button:"I dag",day_tab:"Dag",week_tab:"Uke",month_tab:"Måned",new_event:"Ny hendelse",icon_save:"Lagre",icon_cancel:"Avbryt",
-icon_details:"Detaljer",icon_edit:"Rediger",icon_delete:"Slett",confirm_closing:"",confirm_deleting:"Hendelsen vil bli slettet permanent. Er du sikker?",section_description:"Beskrivelse",section_time:"Tidsperiode",section_type:"Type",column_text:"Task name",column_start_date:"Start time",column_duration:"Duration",column_add:"",link:"Link",confirm_link_deleting:"will be deleted",link_start:" (start)",link_end:" (end)",type_task:"Task",type_project:"Project",type_milestone:"Milestone",minutes:"Minutes",
-hours:"Hours",days:"Days",weeks:"Week",months:"Months",years:"Years"}};
-//# sourceMappingURL=../sources/locale/locale_nb.js.map
\ No newline at end of file
diff --git a/libraries/dhtmlxgantt/locale/locale_nl.js b/libraries/dhtmlxgantt/locale/locale_nl.js
deleted file mode 100644
index 583c9f3..0000000
--- a/libraries/dhtmlxgantt/locale/locale_nl.js
+++ /dev/null
@@ -1,12 +0,0 @@
-/*
-@license
-
-dhtmlxGantt v.3.2.0 Stardard
-This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited.
-
-(c) Dinamenta, UAB.
-*/
-gantt.locale={date:{month_full:["Januari","Februari","Maart","April","Mei","Juni","Juli","Augustus","September","Oktober","November","December"],month_short:["Jan","Feb","mrt","Apr","Mei","Jun","Jul","Aug","Sep","Okt","Nov","Dec"],day_full:["Zondag","Maandag","Dinsdag","Woensdag","Donderdag","Vrijdag","Zaterdag"],day_short:["Zo","Ma","Di","Wo","Do","Vr","Za"]},labels:{dhx_cal_today_button:"Vandaag",day_tab:"Dag",week_tab:"Week",month_tab:"Maand",new_event:"Nieuw item",icon_save:"Opslaan",icon_cancel:"Annuleren",
-icon_details:"Details",icon_edit:"Bewerken",icon_delete:"Verwijderen",confirm_closing:"",confirm_deleting:"Item zal permanent worden verwijderd, doorgaan?",section_description:"Beschrijving",section_time:"Tijd periode",section_type:"Type",column_text:"Taak omschrijving",column_start_date:"Startdatum",column_duration:"Duur",column_add:"",link:"Koppeling",confirm_link_deleting:"zal worden verwijderd",link_start:" (start)",link_end:" (eind)",type_task:"Task",type_project:"Project",type_milestone:"Milestone",
-minutes:"minuten",hours:"uren",days:"dagen",weeks:"weken",months:"maanden",years:"jaren"}};
-//# sourceMappingURL=../sources/locale/locale_nl.js.map
\ No newline at end of file
diff --git a/libraries/dhtmlxgantt/locale/locale_no.js b/libraries/dhtmlxgantt/locale/locale_no.js
deleted file mode 100644
index c3ae154..0000000
--- a/libraries/dhtmlxgantt/locale/locale_no.js
+++ /dev/null
@@ -1,12 +0,0 @@
-/*
-@license
-
-dhtmlxGantt v.3.2.0 Stardard
-This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited.
-
-(c) Dinamenta, UAB.
-*/
-gantt.locale={date:{month_full:["Januar","Februar","Mars","April","Mai","Juni","Juli","August","September","Oktober","November","Desember"],month_short:["Jan","Feb","Mar","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Des"],day_full:["Søndag","Mandag","Tirsdag","Onsdag","Torsdag","Fredag","Lørdag"],day_short:["Søn","Man","Tir","Ons","Tor","Fre","Lør"]},labels:{dhx_cal_today_button:"Idag",day_tab:"Dag",week_tab:"Uke",month_tab:"Måned",new_event:"Ny",icon_save:"Lagre",icon_cancel:"Avbryt",icon_details:"Detaljer",
-icon_edit:"Endre",icon_delete:"Slett",confirm_closing:"Endringer blir ikke lagret, er du sikker?",confirm_deleting:"Oppføringen vil bli slettet, er du sikker?",section_description:"Beskrivelse",section_time:"Tidsperiode",section_type:"Type",column_text:"Task name",column_start_date:"Start time",column_duration:"Duration",column_add:"",link:"Link",confirm_link_deleting:"will be deleted",link_start:" (start)",link_end:" (end)",type_task:"Task",type_project:"Project",type_milestone:"Milestone",minutes:"Minutes",
-hours:"Hours",days:"Days",weeks:"Week",months:"Months",years:"Years"}};
-//# sourceMappingURL=../sources/locale/locale_no.js.map
\ No newline at end of file
diff --git a/libraries/dhtmlxgantt/locale/locale_pl.js b/libraries/dhtmlxgantt/locale/locale_pl.js
deleted file mode 100644
index c7926c5..0000000
--- a/libraries/dhtmlxgantt/locale/locale_pl.js
+++ /dev/null
@@ -1,12 +0,0 @@
-/*
-@license
-
-dhtmlxGantt v.3.2.0 Stardard
-This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited.
-
-(c) Dinamenta, UAB.
-*/
-gantt.locale={date:{month_full:["Styczeń","Luty","Marzec","Kwiecień","Maj","Czerwiec","Lipiec","Sierpień","Wrzesień","Październik","Listopad","Grudzień"],month_short:["Sty","Lut","Mar","Kwi","Maj","Cze","Lip","Sie","Wrz","Paź","Lis","Gru"],day_full:["Niedziela","Poniedziałek","Wtorek","Środa","Czwartek","Piątek","Sobota"],day_short:["Nie","Pon","Wto","Śro","Czw","Pią","Sob"]},labels:{dhx_cal_today_button:"Dziś",day_tab:"Dzień",week_tab:"Tydzień",month_tab:"Miesiąc",new_event:"Nowe zdarzenie",icon_save:"Zapisz",
-icon_cancel:"Anuluj",icon_details:"Szczegóły",icon_edit:"Edytuj",icon_delete:"Usuń",confirm_closing:"",confirm_deleting:"Zdarzenie zostanie usunięte na zawsze, kontynuować?",section_description:"Opis",section_time:"Okres czasu",section_type:"Typ",column_text:"Nazwa zadania",column_start_date:"Początek",column_duration:"Czas trwania",column_add:"",link:"Link",confirm_link_deleting:"zostanie usunięty",link_start:" (początek)",link_end:" (koniec)",type_task:"Zadanie",type_project:"Projekt",type_milestone:"Milestone",
-minutes:"Minuty",hours:"Godziny",days:"Dni",weeks:"Tydzień",months:"Miesiące",years:"Lata"}};
-//# sourceMappingURL=../sources/locale/locale_pl.js.map
\ No newline at end of file
diff --git a/libraries/dhtmlxgantt/locale/locale_pt.js b/libraries/dhtmlxgantt/locale/locale_pt.js
deleted file mode 100644
index 96feb40..0000000
--- a/libraries/dhtmlxgantt/locale/locale_pt.js
+++ /dev/null
@@ -1,12 +0,0 @@
-/*
-@license
-
-dhtmlxGantt v.3.2.0 Stardard
-This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited.
-
-(c) Dinamenta, UAB.
-*/
-gantt.locale={date:{month_full:["Janeiro","Fevereiro","Março","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro"],month_short:["Jan","Fev","Mar","Abr","Mai","Jun","Jul","Ago","Set","Out","Nov","Dez"],day_full:["Domingo","Segunda","Terça","Quarta","Quinta","Sexta","Sábado"],day_short:["Dom","Seg","Ter","Qua","Qui","Sex","Sab"]},labels:{dhx_cal_today_button:"Hoje",day_tab:"Dia",week_tab:"Semana",month_tab:"Mês",new_event:"Novo evento",icon_save:"Salvar",icon_cancel:"Cancelar",
-icon_details:"Detalhes",icon_edit:"Editar",icon_delete:"Deletar",confirm_closing:"Suas alterações serão perdidas. Você tem certeza?",confirm_deleting:"Tem certeza que deseja excluir?",section_description:"Descrição",section_time:"Período de tempo",section_type:"Type",column_text:"Nome tarefa",column_start_date:"Data início",column_duration:"Duração",column_add:"",link:"Link",confirm_link_deleting:"será apagado",link_start:" (início)",link_end:" (fim)",type_task:"Task",type_project:"Project",type_milestone:"Milestone",
-minutes:"Minutos",hours:"Horas",days:"Dias",weeks:"Semanas",months:"Meses",years:"Anos"}};
-//# sourceMappingURL=../sources/locale/locale_pt.js.map
\ No newline at end of file
diff --git a/libraries/dhtmlxgantt/locale/locale_ro.js b/libraries/dhtmlxgantt/locale/locale_ro.js
deleted file mode 100644
index fb9eb15..0000000
--- a/libraries/dhtmlxgantt/locale/locale_ro.js
+++ /dev/null
@@ -1,12 +0,0 @@
-/*
-@license
-
-dhtmlxGantt v.3.2.0 Stardard
-This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited.
-
-(c) Dinamenta, UAB.
-*/
-gantt.locale={date:{month_full:["Ianuarie","Februarie","Martie","Aprilie","Mai","Iunie","Iulie","August","Septembrie","Octombrie","November","December"],month_short:["Ian","Feb","Mar","Apr","Mai","Iun","Iul","Aug","Sep","Oct","Nov","Dec"],day_full:["Duminica","Luni","Marti","Miercuri","Joi","Vineri","Sambata"],day_short:["Du","Lu","Ma","Mi","Jo","Vi","Sa"]},labels:{dhx_cal_today_button:"Astazi",day_tab:"Zi",week_tab:"Saptamana",month_tab:"Luna",new_event:"Eveniment nou",icon_save:"Salveaza",icon_cancel:"Anuleaza",
-icon_details:"Detalii",icon_edit:"Editeaza",icon_delete:"Sterge",confirm_closing:"Schimbarile nu vor fi salvate, esti sigur?",confirm_deleting:"Evenimentul va fi sters permanent, esti sigur?",section_description:"Descriere",section_time:"Interval",section_type:"Type",column_text:"Task name",column_start_date:"Start time",column_duration:"Duration",column_add:"",link:"Link",confirm_link_deleting:"will be deleted",link_start:" (start)",link_end:" (end)",type_task:"Task",type_project:"Project",type_milestone:"Milestone",
-minutes:"Minutes",hours:"Hours",days:"Days",weeks:"Week",months:"Months",years:"Years"}};
-//# sourceMappingURL=../sources/locale/locale_ro.js.map
\ No newline at end of file
diff --git a/libraries/dhtmlxgantt/locale/locale_ru.js b/libraries/dhtmlxgantt/locale/locale_ru.js
deleted file mode 100644
index 97d7ab1..0000000
--- a/libraries/dhtmlxgantt/locale/locale_ru.js
+++ /dev/null
@@ -1,12 +0,0 @@
-/*
-@license
-
-dhtmlxGantt v.3.2.0 Stardard
-This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited.
-
-(c) Dinamenta, UAB.
-*/
-gantt.locale={date:{month_full:["Январь","Февраль","Март","Апрель","Maй","Июнь","Июль","Август","Сентябрь","Oктябрь","Ноябрь","Декабрь"],month_short:["Янв","Фев","Maр","Aпр","Maй","Июн","Июл","Aвг","Сен","Окт","Ноя","Дек"],day_full:["Воскресенье","Понедельник","Вторник","Среда","Четверг","Пятница","Суббота"],day_short:["Вс","Пн","Вт","Ср","Чт","Пт","Сб"]},labels:{dhx_cal_today_button:"Сегодня",day_tab:"День",week_tab:"Неделя",month_tab:"Месяц",new_event:"Новое событие",icon_save:"Сохранить",icon_cancel:"Отменить",
-icon_details:"Детали",icon_edit:"Изменить",icon_delete:"Удалить",confirm_closing:"",confirm_deleting:"Событие будет удалено безвозвратно, продолжить?",section_description:"Описание",section_time:"Период времени",section_type:"Тип",column_text:"Задача",column_start_date:"Начало",column_duration:"Длительность",column_add:"",link:"Связь",confirm_link_deleting:"будет удалена",link_start:" (начало)",link_end:" (конец)",type_task:"Task",type_project:"Project",type_milestone:"Milestone",minutes:"Минута",
-hours:"Час",days:"День",weeks:"Неделя",months:"Месяц",years:"Год"}};
-//# sourceMappingURL=../sources/locale/locale_ru.js.map
\ No newline at end of file
diff --git a/libraries/dhtmlxgantt/locale/locale_si.js b/libraries/dhtmlxgantt/locale/locale_si.js
deleted file mode 100644
index 6a079cf..0000000
--- a/libraries/dhtmlxgantt/locale/locale_si.js
+++ /dev/null
@@ -1,12 +0,0 @@
-/*
-@license
-
-dhtmlxGantt v.3.2.0 Stardard
-This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited.
-
-(c) Dinamenta, UAB.
-*/
-gantt.locale={date:{month_full:["Januar","Februar","Marec","April","Maj","Junij","Julij","Avgust","September","Oktober","November","December"],month_short:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","Aug","Sep","Okt","Nov","Dec"],day_full:["Nedelja","Ponedeljek","Torek","Sreda","Četrtek","Petek","Sobota"],day_short:["Ned","Pon","Tor","Sre","Čet","Pet","Sob"]},labels:{dhx_cal_today_button:"Danes",day_tab:"Dan",week_tab:"Teden",month_tab:"Mesec",new_event:"Nov dogodek",icon_save:"Shrani",icon_cancel:"Prekliči",
-icon_details:"Podrobnosti",icon_edit:"Uredi",icon_delete:"Izbriši",confirm_closing:"",confirm_deleting:"Dogodek bo izbrisan. Želite nadaljevati?",section_description:"Opis",section_time:"Časovni okvir",section_type:"Type",column_text:"Task name",column_start_date:"Start time",column_duration:"Duration",column_add:"",link:"Link",confirm_link_deleting:"will be deleted",link_start:" (start)",link_end:" (end)",type_task:"Task",type_project:"Project",type_milestone:"Milestone",minutes:"Minutes",hours:"Hours",
-days:"Days",weeks:"Week",months:"Months",years:"Years"}};
-//# sourceMappingURL=../sources/locale/locale_si.js.map
\ No newline at end of file
diff --git a/libraries/dhtmlxgantt/locale/locale_sk.js b/libraries/dhtmlxgantt/locale/locale_sk.js
deleted file mode 100644
index a6fe071..0000000
--- a/libraries/dhtmlxgantt/locale/locale_sk.js
+++ /dev/null
@@ -1,12 +0,0 @@
-/*
-@license
-
-dhtmlxGantt v.3.2.0 Stardard
-This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited.
-
-(c) Dinamenta, UAB.
-*/
-gantt.locale={date:{month_full:["Január","Február","Marec","Apríl","Máj","Jún","Júl","August","September","Október","November","December"],month_short:["Jan","Feb","Mar","Apr","Máj","Jún","Júl","Aug","Sept","Okt","Nov","Dec"],day_full:["Nedeľa","Pondelok","Utorok","Streda","Štvrtok","Piatok","Sobota"],day_short:["Ne","Po","Ut","St","Št","Pi","So"]},labels:{dhx_cal_today_button:"Dnes",day_tab:"Deň",week_tab:"Týždeň",month_tab:"Mesiac",new_event:"Nová udalosť",icon_save:"Uložiť",icon_cancel:"Späť",
-icon_details:"Detail",icon_edit:"Edituj",icon_delete:"Zmazať",confirm_closing:"Vaše zmeny nebudú uložené. Skutočne?",confirm_deleting:"Udalosť bude natrvalo vymazaná. Skutočne?",section_description:"Poznámky",section_time:"Doba platnosti",section_type:"Type",column_text:"Task name",column_start_date:"Start time",column_duration:"Duration",column_add:"",link:"Link",confirm_link_deleting:"will be deleted",link_start:" (start)",link_end:" (end)",type_task:"Task",type_project:"Project",type_milestone:"Milestone",
-minutes:"Minutes",hours:"Hours",days:"Days",weeks:"Week",months:"Months",years:"Years"}};
-//# sourceMappingURL=../sources/locale/locale_sk.js.map
\ No newline at end of file
diff --git a/libraries/dhtmlxgantt/locale/locale_sv.js b/libraries/dhtmlxgantt/locale/locale_sv.js
deleted file mode 100644
index b1adfc6..0000000
--- a/libraries/dhtmlxgantt/locale/locale_sv.js
+++ /dev/null
@@ -1,12 +0,0 @@
-/*
-@license
-
-dhtmlxGantt v.3.2.0 Stardard
-This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited.
-
-(c) Dinamenta, UAB.
-*/
-gantt.locale={date:{month_full:["Januari","Februari","Mars","April","Maj","Juni","Juli","Augusti","September","Oktober","November","December"],month_short:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","Aug","Sep","Okt","Nov","Dec"],day_full:["Söndag","Måndag","Tisdag","Onsdag","Torsdag","Fredag","Lördag"],day_short:["Sön","Mån","Tis","Ons","Tor","Fre","Lör"]},labels:{dhx_cal_today_button:"Idag",day_tab:"Dag",week_tab:"Vecka",month_tab:"Månad",new_event:"Ny händelse",icon_save:"Spara",icon_cancel:"Avbryt",
-icon_details:"Detajer",icon_edit:"Ändra",icon_delete:"Ta bort",confirm_closing:"",confirm_deleting:"Är du säker på att du vill ta bort händelsen permanent?",section_description:"Beskrivning",section_time:"Tid",section_type:"Typ",column_text:"Uppgiftsnamn",column_start_date:"Starttid",column_duration:"Varaktighet",column_add:"",link:"Länk",confirm_link_deleting:"kommer tas bort",link_start:" (start)",link_end:" (slut)",type_task:"Uppgift",type_project:"Projekt",type_milestone:"Milstolpe",minutes:"Minuter",
-hours:"Timmar",days:"Dagar",weeks:"Veckor",months:"Månader",years:"År"}};
-//# sourceMappingURL=../sources/locale/locale_sv.js.map
\ No newline at end of file
diff --git a/libraries/dhtmlxgantt/locale/locale_tr.js b/libraries/dhtmlxgantt/locale/locale_tr.js
deleted file mode 100644
index 0dc70db..0000000
--- a/libraries/dhtmlxgantt/locale/locale_tr.js
+++ /dev/null
@@ -1,12 +0,0 @@
-/*
-@license
-
-dhtmlxGantt v.3.2.0 Stardard
-This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited.
-
-(c) Dinamenta, UAB.
-*/
-gantt.locale={date:{month_full:["Ocak","Þubat","Mart","Nisan","Mayýs","Haziran","Temmuz","Aðustos","Eylül","Ekim","Kasým","Aralýk"],month_short:["Oca","Þub","Mar","Nis","May","Haz","Tem","Aðu","Eyl","Eki","Kas","Ara"],day_full:["Pazar","Pazartes,","Salý","Çarþamba","Perþembe","Cuma","Cumartesi"],day_short:["Paz","Pts","Sal","Çar","Per","Cum","Cts"]},labels:{dhx_cal_today_button:"Bugün",day_tab:"Gün",week_tab:"Hafta",month_tab:"Ay",new_event:"Uygun",icon_save:"Kaydet",icon_cancel:"Ýptal",icon_details:"Detaylar",
-icon_edit:"Düzenle",icon_delete:"Sil",confirm_closing:"",confirm_deleting:"Etkinlik silinecek, devam?",section_description:"Açýklama",section_time:"Zaman aralýðý",section_type:"Type",column_text:"Task name",column_start_date:"Start time",column_duration:"Duration",column_add:"",link:"Link",confirm_link_deleting:"will be deleted",link_start:" (start)",link_end:" (end)",type_task:"Task",type_project:"Project",type_milestone:"Milestone",minutes:"Minutes",hours:"Hours",days:"Days",weeks:"Week",months:"Months",
-years:"Years"}};
-//# sourceMappingURL=../sources/locale/locale_tr.js.map
\ No newline at end of file
diff --git a/libraries/dhtmlxgantt/locale/locale_ua.js b/libraries/dhtmlxgantt/locale/locale_ua.js
deleted file mode 100644
index 3305c0a..0000000
--- a/libraries/dhtmlxgantt/locale/locale_ua.js
+++ /dev/null
@@ -1,12 +0,0 @@
-/*
-@license
-
-dhtmlxGantt v.3.2.0 Stardard
-This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited.
-
-(c) Dinamenta, UAB.
-*/
-gantt.locale={date:{month_full:["Січень","Лютий","Березень","Квітень","Травень","Червень","Липень","Серпень","Вересень","Жовтень","Листопад","Грудень"],month_short:["Січ","Лют","Бер","Кві","Тра","Чер","Лип","Сер","Вер","Жов","Лис","Гру"],day_full:["Неділя","Понеділок","Вівторок","Середа","Четвер","П'ятниця","Субота"],day_short:["Нед","Пон","Вів","Сер","Чет","Птн","Суб"]},labels:{dhx_cal_today_button:"Сьогодні",day_tab:"День",week_tab:"Тиждень",month_tab:"Місяць",new_event:"Нова подія",icon_save:"Зберегти",
-icon_cancel:"Відміна",icon_details:"Деталі",icon_edit:"Редагувати",icon_delete:"Вилучити",confirm_closing:"",confirm_deleting:"Подія вилучиться назавжди. Ви впевнені?",section_description:"Опис",section_time:"Часовий проміжок",section_type:"Тип",column_text:"Task name",column_start_date:"Start time",column_duration:"Duration",column_add:"",link:"Link",confirm_link_deleting:"will be deleted",link_start:" (start)",link_end:" (end)",type_task:"Task",type_project:"Project",type_milestone:"Milestone",
-minutes:"Minutes",hours:"Hours",days:"Days",weeks:"Week",months:"Months",years:"Years"}};
-//# sourceMappingURL=../sources/locale/locale_ua.js.map
\ No newline at end of file
diff --git a/libraries/dhtmlxgantt/skins/dhtmlxgantt_broadway.css b/libraries/dhtmlxgantt/skins/dhtmlxgantt_broadway.css
deleted file mode 100644
index 7dc4c1d..0000000
--- a/libraries/dhtmlxgantt/skins/dhtmlxgantt_broadway.css
+++ /dev/null
@@ -1,9 +0,0 @@
-/*
-@license
-
-dhtmlxGantt v.3.2.0 Stardard
-This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited.
-
-(c) Dinamenta, UAB.
-*/
-.gantt_grid{background-color:#d6d6d6;border-right:1px solid #d6d6d6!important}.gantt_grid_scale .gantt_grid_head_cell{border-top:none!important;border-right:1px solid #4f4f4f!important;border-left:1px solid #5b5b5b!important}.gantt_grid_data .gantt_row,.gantt_grid_data .gantt_row.odd{background-color:#dbdbdb;border-top:1px solid #f6f6f6;border-bottom:1px solid #bababa}.gantt_grid_data .gantt_row .gantt_cell,.gantt_grid_data .gantt_row.odd .gantt_cell{border-right:none}.gridHoverStyle{border-top:1px solid #ededed;background-color:#ededed}.gridSelection{background-color:#fff3a1;border-top-color:#fff087}.timelineSelection{background-color:#fff3a1}.gantt_cell .gantt_tree_icon.gantt_folder_closed,.gantt_cell .gantt_tree_icon.gantt_folder_open{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAPCAYAAAACsSQRAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6ODhBMDIwQzhDRUI3MTFFMjg4RUJDNUMzQkZEREM2RDIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6ODhBMDIwQzlDRUI3MTFFMjg4RUJDNUMzQkZEREM2RDIiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo4OEEwMjBDNkNFQjcxMUUyODhFQkM1QzNCRkREQzZEMiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo4OEEwMjBDN0NFQjcxMUUyODhFQkM1QzNCRkREQzZEMiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PntuzoIAAACySURBVHjaYmTAAjo6Ov4z4AAVFRWM6GJM6ALt7e0OUCYjFowsDwfIEjDbDRgZGSf8//8fUzEj4wGgeAGQeQFJ+CIj0IALQEl9BjIB0NADTJQYAHWdAxMDFQBVDGEB+ukgxYYAcQNSzCCnh4NY0o89VkOAAbMfV5gBNR0AytuDXAs01AEUxbhcwoAj1c4HaUTi9wMNwWnb/0ERO0xA/z6k0IyP4NgBGpRApgEfgHgBQIABAAcyQOF3e6FiAAAAAElFTkSuQmCC)}.gantt_cell .gantt_tree_icon.gantt_file{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6RkQ2NjJFM0ZDRUI3MTFFMkFGNzc4M0YxNUM2NzkwMTIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6RkQ2NjJFNDBDRUI3MTFFMkFGNzc4M0YxNUM2NzkwMTIiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpGRDY2MkUzRENFQjcxMUUyQUY3NzgzRjE1QzY3OTAxMiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpGRDY2MkUzRUNFQjcxMUUyQUY3NzgzRjE1QzY3OTAxMiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PhnnqLUAAAExSURBVHjanFPtUcMwDI28AB0BJkg6AWEEJqAbxPxLJkh+phuUDdiAbtAwAYxAJ0jf60k51ecWDt3pZFtPn5akSKjv+3uIBlyLSMW3eZ4niD1423Xdt8dLYjzCqCluEJyNcPJq9+CMJzMGaAtet20rZJ7Bb+eIIhHYw0UGLvIRwBoRplx04CrgWModgwAXhTXj8Usjr73xMAwzJbNInBwU/8ASoqV9LbInYqwc2tJBrZdd8XcaVT4GpFOa52topL1Ks9CGVuGXL/vU40fqZPlGA7E5GX1NvQ7U4sSw1AWdMNIm07CfxIn1K6rcB2sI5yCXhXPyjPO7fuOLNfNikAAi+OnWILEUYFfLICWjXGptO12cyRk20G+sduiq/y7TOXJ2G906R13n0n0nmz2m63wSYAB0aMIyVTQbywAAAABJRU5ErkJggg==)}.chartHeaderBg{background-color:#dbdbdb}.gantt_task .gantt_task_scale .gantt_scale_cell{border-left:1px solid #f6f6f6;border-right:1px solid #bababa;color:#494949;font-size:14px}.taskProgressStyle{border-right:1px solid #1cb3fb;box-shadow:-1px 0 0 1px #04a1eb inset}.gantt_task_line{background-size:4px 4px;background-image:-webkit-linear-gradient(-45deg,rgba(255,255,255,.2) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.2) 50%,rgba(255,255,255,.2) 75%,transparent 75%,transparent);background-image:linear-gradient(135deg,rgba(255,255,255,.2) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.2) 50%,rgba(255,255,255,.2) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(0deg,transparent,transparent)}.gantt_task_line .gantt_task_content{text-align:left;font-weight:700;padding:0 8px;box-sizing:border-box}.gantt_task_link .gantt_link_arrow_right{border-width:5px;margin-top:-2px}.gantt_task_link .gantt_link_arrow_left{border-width:5px;margin-left:-7px;margin-top:-2px}.gantt_task_link .gantt_link_arrow_down,.gantt_task_link .gantt_link_arrow_top{border-width:5px}.gantt_task_line .gantt_task_progress_drag{bottom:-4px;height:16px;margin-left:-8px;width:16px}.gantt_row.gantt_project,.gantt_row.odd.gantt_project{background-color:#edffef}.gantt_task_row.gantt_project,.gantt_task_row.odd.gantt_project{background-color:#f5fff6}.gantt_task_line.gantt_project{background-color:#65c16f;border:1px solid #3c9445}.gantt_task_line.gantt_project .gantt_task_progress{background-color:#46ad51;border-right:1px solid #5abc65;box-shadow:-1px 0 0 1px #45a94f inset}.gantt_cal_light{background-color:#fff;border:none!important}.gantt_cal_light .gantt_cal_lsection{color:#959595}.gantt_cal_light .gantt_cal_larea{border-bottom:none}.gantt_cal_light .gantt_cal_ltitle{background-color:#4f4f4f;background-size:4px 4px;background-position:0 0,2px 2px;background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.05) 25%,transparent 25%,transparent 75%,rgba(255,255,255,.05) 75%,rgba(255,255,255,.05)),linear-gradient(45deg,rgba(255,255,255,.05) 25%,transparent 25%,transparent 75%,rgba(255,255,255,.05) 75%,rgba(255,255,255,.05));background-image:-moz-linear-gradient(45deg,rgba(255,255,255,.05) 25%,transparent 25%,transparent 75%,rgba(255,255,255,.05) 75%,rgba(255,255,255,.05)),linear-gradient(45deg,rgba(255,255,255,.05) 25%,transparent 25%,transparent 75%,rgba(255,255,255,.05) 75%,rgba(255,255,255,.05));background-image:linear-gradient(45deg,rgba(255,255,255,.05) 25%,transparent 25%,transparent 75%,rgba(255,255,255,.05) 75%,rgba(255,255,255,.05)),linear-gradient(45deg,rgba(255,255,255,.05) 25%,transparent 25%,transparent 75%,rgba(255,255,255,.05) 75%,rgba(255,255,255,.05));font-size:14px;color:#e1e1e1;position:relative;padding-top:12px;padding-bottom:12px;font-weight:400}.gantt_cal_light .gantt_cal_ltitle .gantt_title{font-size:13px}.gantt_cal_light .gantt_btn_set{margin:5px 10px}.buttonBg{background:#fff}.gantt_btn_set.gantt_save_btn_set{background:#46ad51;text-shadow:0 -1px 0 #307738;color:#fff}.gantt_btn_set.gantt_delete_btn_set{margin-left:0;background:#ec8e00;text-shadow:0 -1px 0 #a60;color:#fff}.gantt_cal_light_wide{padding-left:0!important;padding-right:0!important}.gantt_cal_light_wide .gantt_cal_larea{border-left:none!important;border-right:none!important}.gantt_cal_ltitle .gantt_cancel_btn{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAMCAYAAABbayygAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3QYLEgAjh/DRnAAAAMdJREFUGNN1kcsNwjAQRF9iCkgJdJCUkBJQpDkDFUALdBAqAM6WQglQAlxzSglQgAUH1tIKgS9ezzztz0Vd18QYW0lXfpzsFeM49sAGOEpaf0FHYAnsS6evYoy9g3qDAB6Flb4BtYk568Huu6RmBhBCaFNKV4MPrso9hNAClABd1z2ABfB00BNYmEf5NeTrT/wBh2GogDNQOa8CzuZ9QOuvccPkgZqU0gXA7xFgL2nr1pP1ne/xlCEAi0/5nfc4lzT9+cK5pOkNX8hRT8hMyVwAAAAASUVORK5CYII=);width:30px;top:0;right:0;background-position:6px 12px;background-repeat:no-repeat;position:absolute;height:100%}.dhtmlx_popup_button.dhtmlx_ok_button{background:#46ad51;text-shadow:0 -1px 0 #307738;color:#fff;font-weight:700}.dhtmlx_popup_button.dhtmlx_cancel_button{font-weight:700}.gantt_qi_big_icon.icon_edit{color:#454544}.gantt_qi_big_icon.icon_delete{background:#ec8e00;text-shadow:0 -1px 0 #a60;color:#fff;font-weight:700}.gantt_container{font-family:Arial;font-size:13px;border:1px solid #bababa;position:relative;white-space:nowrap}.gantt_task_scroll{overflow-x:scroll}.gantt_task{position:relative}.gantt_grid,.gantt_task{overflow-x:hidden;overflow-y:hidden;display:inline-block;vertical-align:top}.gantt_grid_scale,.gantt_task_scale{color:#494949;font-size:12px;border-bottom:1px solid #bababa}.gantt_grid_scale{background-color:#4f4f4f;background-size:4px 4px;background-position:0 0,2px 2px;background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.05) 25%,transparent 25%,transparent 75%,rgba(255,255,255,.05) 75%,rgba(255,255,255,.05)),linear-gradient(45deg,rgba(255,255,255,.05) 25%,transparent 25%,transparent 75%,rgba(255,255,255,.05) 75%,rgba(255,255,255,.05));background-image:-moz-linear-gradient(45deg,rgba(255,255,255,.05) 25%,transparent 25%,transparent 75%,rgba(255,255,255,.05) 75%,rgba(255,255,255,.05)),linear-gradient(45deg,rgba(255,255,255,.05) 25%,transparent 25%,transparent 75%,rgba(255,255,255,.05) 75%,rgba(255,255,255,.05));background-image:linear-gradient(45deg,rgba(255,255,255,.05) 25%,transparent 25%,transparent 75%,rgba(255,255,255,.05) 75%,rgba(255,255,255,.05)),linear-gradient(45deg,rgba(255,255,255,.05) 25%,transparent 25%,transparent 75%,rgba(255,255,255,.05) 75%,rgba(255,255,255,.05));color:#e1e1e1;font-size:14px}.gantt_task_scale{background-color:#dbdbdb}.gantt_scale_line{box-sizing:border-box;-moz-box-sizing:border-box;border-top:1px solid #bababa}.gantt_scale_line:first-child{border-top:none}.gantt_grid_head_cell{display:inline-block;vertical-align:top;border-right:1px solid #bababa;text-align:center;position:relative;cursor:default;height:100%;-moz-user-select:-moz-none;-webkit-user-select:none;-user-select:none;overflow:hidden}.gantt_scale_line{clear:both}.gantt_grid_data{width:100%;overflow:hidden}.gantt_row{position:relative;-webkit-user-select:none;-moz-user-select:none;-moz-user-select:-moz-none}.gantt_add,.gantt_grid_head_add{width:100%;height:100%;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3QYHCygkHejN0gAAAD1JREFUOMtjtN15mYESwIJLwvHo6v/I/P3WoYzY1DExUAiGgQGMtjsvYwQYsWC/dSjjcAmD0YREo0AkFgAASgkTQxnJ6ggAAAAASUVORK5CYII=);background-position:center center;background-repeat:no-repeat;cursor:pointer;position:relative;-moz-opacity:.3;opacity:.3}.gantt_grid_head_cell.gantt_grid_head_add{-moz-opacity:.6;opacity:.6;top:0}.gantt_grid_head_cell.gantt_grid_head_add:hover{-moz-opacity:1;opacity:1}.gantt_grid_data .gantt_row.odd:hover,.gantt_grid_data .gantt_row:hover{border-top:1px solid #ededed;background-color:#ededed}.gantt_grid_data .gantt_row.odd:hover .gantt_add,.gantt_grid_data .gantt_row:hover .gantt_add{-moz-opacity:1;opacity:1}.gantt_row,.gantt_task_row{border-bottom:1px solid #ebebeb;background-color:#fff}.gantt_row.odd,.gantt_task_row.odd{background-color:#fff}.gantt_cell,.gantt_grid_head_cell,.gantt_row,.gantt_scale_cell,.gantt_task_cell,.gantt_task_row{box-sizing:border-box;-moz-box-sizing:border-box}.gantt_grid_head_cell,.gantt_scale_cell{line-height:inherit}.gantt_grid_scale .gantt_grid_column_resize_wrap{cursor:col-resize;position:absolute;width:13px}.gantt_grid_column_resize_wrap .gantt_grid_column_resize{background-color:#bababa;height:100%;width:1px;margin:0 auto}.gantt_grid .gantt_grid_resize_wrap{cursor:col-resize;position:absolute;width:13px;z-index:1}.gantt_grid_resize_wrap .gantt_grid_resize{background-color:#bababa;width:1px;margin:0 auto}.gantt_drag_marker.gantt_grid_resize_area{background-color:rgba(231,231,231,.5);border-left:1px solid #bababa;border-right:1px solid #bababa;height:100%;width:100%;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.gantt_cell{display:inline-block;vertical-align:top;border-right:1px solid #ebebeb;padding-left:6px;padding-right:6px;height:100%;overflow:hidden;white-space:nowrap;font-size:13px}.gantt_grid_data .gantt_last_cell,.gantt_grid_scale .gantt_last_cell,.gantt_task_bg .gantt_last_cell,.gantt_task_scale .gantt_last_cell{border-right-width:0}.gantt_task_bg{overflow:hidden}.gantt_scale_cell{display:inline-block;white-space:nowrap;overflow:hidden;border-right:1px solid #bababa;text-align:center;height:100%}.gantt_task_cell{display:inline-block;height:100%;border-right:1px solid #ebebeb}.gantt_ver_scroll{width:0;background-color:transparent;height:1px;overflow-x:hidden;overflow-y:scroll;display:none;position:absolute;right:0}.gantt_ver_scroll>div{width:1px;height:1px}.gantt_hor_scroll{height:0;background-color:transparent;width:100%;clear:both;overflow-x:scroll;overflow-y:hidden;display:none}.gantt_hor_scroll>div{width:5000px;height:1px}.gantt_tree_indent{width:15px;height:100%;display:inline-block}.gantt_tree_content,.gantt_tree_icon{vertical-align:top}.gantt_tree_icon{width:28px;height:100%;display:inline-block;background-repeat:no-repeat;background-position:center center}.gantt_tree_content{height:100%;display:inline-block}.gantt_tree_icon.gantt_open{background-image:url(data:image/gif;base64,R0lGODlhEgASAOMHAMrKyt3d3ejp6d7f3+/v75aWlvf39////wAAAP///////////////////////////yH5BAEKAA8ALAAAAAASABIAAAQt8MlJq704672L/x9WZKNVXieVIipKsVMaS0hdSzL+tuY+9yJXEAUCcY7IJCUCADs=);width:18px;cursor:pointer}.gantt_tree_icon.gantt_close{background-image:url(data:image/gif;base64,R0lGODlhEgASAOMIAMrKyt3d3ejp6d7f3+/v75aWlvf39wAAAP///////////////////////////////yH5BAEKAAYALAAAAAASABIAAAQp0MhJq704672L/x9WZKNVXieVVqvUTm95zLOLkreY7yqOgiCOcEikRAAAOw==);width:18px;cursor:pointer}.gantt_tree_icon.gantt_blank{width:18px}.gantt_tree_icon.gantt_folder_open{background-image:url(data:image/gif;base64,R0lGODlhEgASAJECAJeXl7Gvrf///wAAACH/C1hNUCBEYXRhWE1QPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS4wLWMwNjAgNjEuMTM0Nzc3LCAyMDEwLzAyLzEyLTE3OjMyOjAwICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IFdpbmRvd3MiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NTdDRDM3QzVDMDZEMTFFMUJGMzhFMDhCN0RGRjBGQ0YiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NTdDRDM3QzZDMDZEMTFFMUJGMzhFMDhCN0RGRjBGQ0YiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo1N0NEMzdDM0MwNkQxMUUxQkYzOEUwOEI3REZGMEZDRiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo1N0NEMzdDNEMwNkQxMUUxQkYzOEUwOEI3REZGMEZDRiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PgH//v38+/r5+Pf29fTz8vHw7+7t7Ovq6ejn5uXk4+Lh4N/e3dzb2tnY19bV1NPS0dDPzs3My8rJyMfGxcTDwsHAv769vLu6ubi3trW0s7KxsK+urayrqqmop6alpKOioaCfnp2cm5qZmJeWlZSTkpGQj46NjIuKiYiHhoWEg4KBgH9+fXx7enl4d3Z1dHNycXBvbm1sa2ppaGdmZWRjYmFgX15dXFtaWVhXVlVUU1JRUE9OTUxLSklIR0ZFRENCQUA/Pj08Ozo5ODc2NTQzMjEwLy4tLCsqKSgnJiUkIyIhIB8eHRwbGhkYFxYVFBMSERAPDg0MCwoJCAcGBQQDAgEAACH5BAEAAAIALAAAAAASABIAAAIzlI+pywcPm3mhWgkCsjBOvVkimElG9ZlCBlXd+2XjjLKg5GqoeZXqvsOQXK/ijUZTKVUFADs=)}.gantt_tree_icon.gantt_folder_closed{background-image:url(data:image/gif;base64,R0lGODlhEgASAJECAJeXl7Gvrf///wAAACH/C1hNUCBEYXRhWE1QPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS4wLWMwNjAgNjEuMTM0Nzc3LCAyMDEwLzAyLzEyLTE3OjMyOjAwICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IFdpbmRvd3MiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NTAyMTU1RTNDMDZEMTFFMUJGNzZCRThBRkFCRjg4MTIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NTAyMTU1RTRDMDZEMTFFMUJGNzZCRThBRkFCRjg4MTIiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo1MDIxNTVFMUMwNkQxMUUxQkY3NkJFOEFGQUJGODgxMiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo1MDIxNTVFMkMwNkQxMUUxQkY3NkJFOEFGQUJGODgxMiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PgH//v38+/r5+Pf29fTz8vHw7+7t7Ovq6ejn5uXk4+Lh4N/e3dzb2tnY19bV1NPS0dDPzs3My8rJyMfGxcTDwsHAv769vLu6ubi3trW0s7KxsK+urayrqqmop6alpKOioaCfnp2cm5qZmJeWlZSTkpGQj46NjIuKiYiHhoWEg4KBgH9+fXx7enl4d3Z1dHNycXBvbm1sa2ppaGdmZWRjYmFgX15dXFtaWVhXVlVUU1JRUE9OTUxLSklIR0ZFRENCQUA/Pj08Ozo5ODc2NTQzMjEwLy4tLCsqKSgnJiUkIyIhIB8eHRwbGhkYFxYVFBMSERAPDg0MCwoJCAcGBQQDAgEAACH5BAEAAAIALAAAAAASABIAAAIwlI+pywcPm3mhWgkCsjBOvVkimElG9ZlCuYIY6TYs+6bmHDO4igfdD3GNhheV0VQAADs=)}.gantt_tree_icon.gantt_file{background-image:url(data:image/gif;base64,R0lGODlhEgASAJECAJeXl7Gvrf///wAAACH/C1hNUCBEYXRhWE1QPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS4wLWMwNjAgNjEuMTM0Nzc3LCAyMDEwLzAyLzEyLTE3OjMyOjAwICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IFdpbmRvd3MiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NzkxQzI4RjZDMDZEMTFFMTgwRjhBQURDQzI3NDU3QUEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NzkxQzI4RjdDMDZEMTFFMTgwRjhBQURDQzI3NDU3QUEiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo3OTFDMjhGNEMwNkQxMUUxODBGOEFBRENDMjc0NTdBQSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo3OTFDMjhGNUMwNkQxMUUxODBGOEFBRENDMjc0NTdBQSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PgH//v38+/r5+Pf29fTz8vHw7+7t7Ovq6ejn5uXk4+Lh4N/e3dzb2tnY19bV1NPS0dDPzs3My8rJyMfGxcTDwsHAv769vLu6ubi3trW0s7KxsK+urayrqqmop6alpKOioaCfnp2cm5qZmJeWlZSTkpGQj46NjIuKiYiHhoWEg4KBgH9+fXx7enl4d3Z1dHNycXBvbm1sa2ppaGdmZWRjYmFgX15dXFtaWVhXVlVUU1JRUE9OTUxLSklIR0ZFRENCQUA/Pj08Ozo5ODc2NTQzMjEwLy4tLCsqKSgnJiUkIyIhIB8eHRwbGhkYFxYVFBMSERAPDg0MCwoJCAcGBQQDAgEAACH5BAEAAAIALAAAAAASABIAAAIylI+pwN16QJiUQiFThRlJm3RRFYSlR5qXMKmXaMDuuMoyOi8n/e6xn8NMHETgh5RaKQsAOw==)}.gantt_grid_head_cell .gantt_sort{position:absolute;right:5px;top:8px;width:7px;height:13px;background-repeat:no-repeat;background-position:center center}.gantt_grid_head_cell .gantt_sort.gantt_asc{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAANCAYAAABlyXS1AAAARUlEQVR42mNgQAL1/VP/M2ADIIntF2/9x1AAlrh0C47hCmA60DFYwX88gIFGwNDY5D8uDFbg7hvwHx2jmIBTAlkB0e4BAEjlaNtBWJPnAAAAAElFTkSuQmCC)}.gantt_grid_head_cell .gantt_sort.gantt_desc{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAANCAYAAABlyXS1AAAARUlEQVR4nGNgQAKGxib/GbABkIS7b8B/DAUwCRiGK0CXwFBAb1DfP/U/LszwHwi2X7qFgUEArBtdAVwCBmAKMCSQFSDzAWXXaOHsXeqkAAAAAElFTkSuQmCC)}.gantt_inserted,.gantt_updated{font-weight:700}.gantt_deleted{text-decoration:line-through}.gantt_invalid{background-color:FFE0E0}.gantt_error{color:red}.gantt_status{right:1px;padding:5px 10px;background:rgba(155,155,155,.1);position:absolute;top:1px;-webkit-transition:opacity .2s;transition:opacity .2s;opacity:0}.gantt_status.gantt_status_visible{opacity:1}#gantt_ajax_dots span{-webkit-transition:opacity .2s;transition:opacity .2s;background-repeat:no-repeat;opacity:0}#gantt_ajax_dots span.gantt_dot_visible{opacity:1}.dhtmlx_message_area{position:fixed;right:5px;width:250px;z-index:1000}.dhtmlx-info{min-width:120px;font-family:Arial;z-index:10000;margin:5px 5px 10px;-webkit-transition:all .5s ease;-moz-transition:all .5s ease;-o-transition:all .5s ease;transition:all .5s ease}.dhtmlx-info.hidden{height:0;padding:0;border-width:0;margin:0;overflow:hidden}.dhtmlx_modal_box{overflow:hidden;display:inline-block;min-width:250px;width:250px;text-align:center;position:fixed;z-index:20000;box-shadow:3px 3px 3px rgba(0,0,0,.07);font-family:Arial;border-radius:6px;border:1px solid #bababa;background:#fff}.dhtmlx_popup_title{border-top-left-radius:6px;border-top-right-radius:6px;border-width:0}.dhtmlx_button,.dhtmlx_popup_button{border:1px solid #bababa;height:30px;line-height:30px;display:inline-block;margin:0 5px;border-radius:4px;background:#fff}.dhtmlx-info,.dhtmlx_button,.dhtmlx_popup_button{user-select:none;-webkit-user-select:none;-moz-user-select:-moz-none;cursor:pointer}.dhtmlx_popup_text{overflow:hidden}.dhtmlx_popup_controls{border-radius:6px;padding:10px}.dhtmlx_popup_button{min-width:100px}div.dhx_modal_cover{background-color:#000;cursor:default;filter:alpha(opacity=20);opacity:.2;position:fixed;z-index:19999;left:0;top:0;width:100%;height:100%;border:none;zoom:1}.dhtmlx-info img,.dhtmlx_modal_box img{float:left;margin-right:20px}.dhtmlx-alert-error,.dhtmlx-confirm-error{border:1px solid red}.dhtmlx_button input,.dhtmlx_popup_button div{border-radius:4px;font-size:14px;-moz-box-sizing:content-box;box-sizing:content-box;padding:0;margin:0;vertical-align:top}.dhtmlx_popup_title{color:#fff;text-shadow:1px 1px #000;height:40px;line-height:40px;font-size:20px}.dhtmlx_popup_text{margin:15px 15px 5px;font-size:14px;color:#000;min-height:30px;border-radius:6px}.dhtmlx-error,.dhtmlx-info{font-size:14px;color:#000;box-shadow:3px 3px 3px rgba(0,0,0,.07);padding:0;background-color:#FFF;border-radius:3px;border:1px solid #fff}.dhtmlx-info div{padding:5px 10px;background-color:#fff;border-radius:3px;border:1px solid #bababa}.dhtmlx-error{background-color:#d81b1b;border:1px solid #ff3c3c;box-shadow:3px 3px 3px rgba(0,0,0,.07)}.dhtmlx-error div{background-color:#d81b1b;border:1px solid #940000;color:#FFF}.gantt_data_area div,.gantt_grid div{-ms-touch-action:none;-webkit-tap-highlight-color:transparent}.gantt_data_area{position:relative;overflow-x:hidden;overflow-y:hidden;-moz-user-select:-moz-none;-webkit-user-select:none;-user-select:none}.gantt_links_area{position:absolute;left:0;top:0}.gantt_side_content,.gantt_task_content,.gantt_task_progress{line-height:inherit;overflow:hidden;height:100%}.gantt_task_content{font-size:13px;color:#fff;width:100%;top:0;position:absolute;white-space:nowrap;text-align:center}.gantt_task_progress{text-align:center;z-index:0;background:#04a4f0;border-right:1px solid #1cb3fb;box-shadow:-1px 0 0 1px #04a1eb inset}.gantt_task_line{-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px;position:absolute;-moz-box-sizing:border-box;box-sizing:border-box;background-color:#17b2fb;border:1px solid #049ae1;-webkit-user-select:none;-moz-user-select:none;-moz-user-select:-moz-none}.gantt_task_line.gantt_drag_move div{cursor:move}.gantt_touch_move,.gantt_touch_progress .gantt_touch_resize{-moz-transform:scale(1.02,1.1);-o-transform:scale(1.02,1.1);-webkit-transform:scale(1.02,1.1);transform:scale(1.02,1.1);-moz-transform-origin:50%;-o-transform-origin:50%;-webkit-transform-origin:50%;transform-origin:50%}.gantt_touch_progress .gantt_task_progress_drag,.gantt_touch_resize .gantt_task_drag{-moz-transform:scaleY(1.3);-o-transform:scaleY(1.3);-webkit-transform:scaleY(1.3);transform:scaleY(1.3);-moz-transform-origin:50%;-o-transform-origin:50%;-webkit-transform-origin:50%;transform-origin:50%}.gantt_side_content{position:absolute;white-space:nowrap;color:#6e6e6e;bottom:7px;font-size:11px;font-size:12px}.gantt_side_content.gantt_left{right:100%;padding-right:15px}.gantt_side_content.gantt_right{left:100%;padding-left:15px}.gantt_side_content.gantt_link_crossing{bottom:8.75px}.gantt_link_arrow,.gantt_task_link .gantt_line_wrapper{position:absolute;cursor:pointer}.gantt_line_wrapper div{background-color:#ffa011}.gantt_task_link:hover .gantt_line_wrapper div{box-shadow:0 0 5px 0 #ffa011}.gantt_task_link div.gantt_link_arrow{background-color:transparent;border-style:solid;width:0;height:0}.gantt_link_control{position:absolute;width:13px;top:0}.gantt_link_control div{display:none;cursor:pointer;box-sizing:border-box;position:relative;top:50%;margin-top:-7.5px;vertical-align:middle;border:1px solid #929292;-webkit-border-radius:6.5px;-moz-border-radius:6.5px;border-radius:6.5px;height:13px;width:13px;background-color:#f0f0f0}.gantt_link_control div:hover{background-color:#fff}.gantt_link_control.task_left{left:-13px}.gantt_link_control.task_right{right:-13px}.gantt_link_target .gantt_link_control div,.gantt_task_line.gantt_selected .gantt_link_control div,.gantt_task_line:hover .gantt_link_control div{display:block}.gantt_link_source,.gantt_link_target{box-shadow:0 0 3px #04a4f0}.gantt_link_target.link_finish_allow,.gantt_link_target.link_start_allow{box-shadow:0 0 3px #ffbf5e}.gantt_link_target.link_finish_deny,.gantt_link_target.link_start_deny{box-shadow:0 0 3px #e87e7b}.link_finish_allow .gantt_link_control.task_right div,.link_start_allow .gantt_link_control.task_left div{background-color:#ffbf5e;border-color:#ffa011}.link_finish_deny .gantt_link_control.task_right div,.link_start_deny .gantt_link_control.task_left div{background-color:#e87e7b;border-color:#dd3e3a}.gantt_link_arrow_right{border-width:2.5px 0 2.5px 5px;border-top-color:transparent!important;border-right-color:transparent!important;border-bottom-color:transparent!important;border-color:#ffa011;margin-top:-1px}.gantt_link_arrow_left{border-width:2.5px 5px 2.5px 0;margin-top:-1px;border-top-color:transparent!important;border-color:#ffa011;border-bottom-color:transparent!important;border-left-color:transparent!important}.gantt_link_arrow_top{border-width:0 2.5px 5px;border-color:#ffa011;border-top-color:transparent!important;border-right-color:transparent!important;border-left-color:transparent!important}.gantt_link_arrow_down{border-width:2.5px 5px 0 2.5px;border-color:#ffa011;border-right-color:transparent!important;border-bottom-color:transparent!important;border-left-color:transparent!important}.gantt_task_drag,.gantt_task_progress_drag{cursor:w-resize;height:100%;display:none;position:absolute}.gantt_task_line.gantt_selected .gantt_task_drag,.gantt_task_line.gantt_selected .gantt_task_progress_drag,.gantt_task_line:hover .gantt_task_drag,.gantt_task_line:hover .gantt_task_progress_drag{display:block}.gantt_task_drag{width:6px;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAACCAYAAAB7Xa1eAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3QYDDjkw3UJvAwAAABRJREFUCNdj/P//PwM2wASl/6PTAKrrBf4+lD8LAAAAAElFTkSuQmCC);z-index:1;top:0}.gantt_task_drag.task_left{left:0}.gantt_task_drag.task_right{right:0}.gantt_task_progress_drag{height:8px;width:8px;bottom:-4px;margin-left:-4px;background-position:bottom;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAALCAYAAAB24g05AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MkY3Rjk0RUVDMkYzMTFFMkI1OThEQTA3ODU0OTkzMEEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MkY3Rjk0RUZDMkYzMTFFMkI1OThEQTA3ODU0OTkzMEEiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoyRjdGOTRFQ0MyRjMxMUUyQjU5OERBMDc4NTQ5OTMwQSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDoyRjdGOTRFREMyRjMxMUUyQjU5OERBMDc4NTQ5OTMwQSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PobPBzIAAADkSURBVHjaYpk2bRoDDsAExL1QdjEQ/8OmiAWHZk4gXqymqhQM4ty6fU8OSMUA8XdiDBAB4k0a6iqWRga6EKcwMQXduHlnL5DpB8Rv0J2JDFSA+JiOtgZcMwiA2CAxkBxUDVYDLEAKgIpV9XQ0MZwFEgPJAZnHoWpRDAgC4n2W5saiQKfjClQGkBxQDciL+6B6wAbkA/EqJwdrTkUFOQZCAKQGpBbIXA3SCzJggo+XK7OEuBgDsQCkFqgHrBfsBT5eHgZSAUwP2IBfv36TbABMDygdtK1Zv6UESLORaAbIhG6AAAMAKN8wE24DXWcAAAAASUVORK5CYII=);background-repeat:no-repeat;z-index:2}.gantt_link_tooltip{box-shadow:3px 3px 3px #888;background-color:#fff;border-left:1px dotted #cecece;border-top:1px dotted #cecece;font-family:Tahoma;font-size:8pt;color:#444;padding:6px;line-height:20px}.gantt_link_direction{height:0;border:0 #ffa011;border-bottom-style:dashed;border-bottom-width:2px;transform-origin:0 0;-ms-transform-origin:0 0;-webkit-transform-origin:0 0;z-index:2;margin-left:1px;position:absolute}.gantt_grid_data .gantt_row.gantt_selected,.gantt_grid_data .gantt_row.odd.gantt_selected{background-color:#fff3a1;border-top-color:#fff087}.gantt_task_row.gantt_selected{background-color:#fff3a1}.gantt_task_row.gantt_selected .gantt_task_cell{border-right-color:#ffec6e}.gantt_task_line.gantt_selected{box-shadow:0 0 5px #04a4f0}.gantt_task_line.gantt_project.gantt_selected{box-shadow:0 0 5px #46ad51}.gantt_task_line.gantt_milestone{visibility:hidden;background-color:#db7dc5;border:0 solid #cd49ae;box-sizing:content-box;-moz-box-sizing:content-box}.gantt_task_line.gantt_milestone div{visibility:visible}.gantt_task_line.gantt_milestone .gantt_task_content{background:inherit;border:inherit;border-width:1px;border-radius:inherit;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);-o-transform:rotate(45deg);transform:rotate(45deg)}.gantt_task_line.gantt_task_inline_color{border-color:#999}.gantt_task_line.gantt_task_inline_color .gantt_task_progress{background-color:#363636;opacity:.2}.gantt_task_line.gantt_task_inline_color.gantt_project.gantt_selected,.gantt_task_line.gantt_task_inline_color.gantt_selected{box-shadow:0 0 5px #999}.gantt_task_link.gantt_link_inline_color:hover .gantt_line_wrapper div{box-shadow:0 0 5px 0 #999}.gantt_critical_task{background-color:#e63030;border-color:#9d3a3a}.gantt_critical_task .gantt_task_progress{background-color:rgba(0,0,0,.4)}.gantt_critical_link .gantt_line_wrapper>div{background-color:#e63030}.gantt_critical_link .gantt_link_arrow{border-color:#e63030}.gantt_unselectable,.gantt_unselectable div{-webkit-user-select:none;-moz-user-select:none;-moz-user-select:-moz-none}.gantt_cal_light{-webkit-tap-highlight-color:transparent;border-radius:6px;font-family:Arial;color:#494949;font-size:12px;position:absolute;z-index:10001;width:550px;height:250px;box-shadow:3px 3px 3px rgba(0,0,0,.07)}.gantt_cal_light select{font-family:Arial;border:1px solid #bababa;font-size:13px;padding:2px;margin:0}.gantt_cal_ltitle{padding:7px 10px;overflow:hidden;white-space:nowrap;-webkit-border-radius:6px 6px 0 0;-moz-border-radius-topleft:6px;-moz-border-radius-bottomleft:0;-moz-border-radius-topright:6px;-moz-border-radius-bottomright:0;border-radius:6px 6px 0 0}.gantt_cal_ltitle span{white-space:nowrap}.gantt_cal_lsection{color:#727272;font-weight:700;padding:12px 0 5px 10px}.gantt_cal_lsection .gantt_fullday{float:right;margin-right:5px;font-size:12px;font-weight:400;line-height:20px;vertical-align:top;cursor:pointer}.gantt_cal_lsection{font-size:13px}.gantt_cal_ltext{padding:2px 10px;overflow:hidden}.gantt_cal_ltext textarea{overflow:auto;font-family:Arial;font-size:13px;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;border:1px solid #bababa;height:100%;width:100%;outline:0!important;resize:none}.gantt_time{font-weight:700}.gantt_cal_light .gantt_title{padding-left:10px}.gantt_cal_larea{border:1px solid #bababa;border-left:none;border-right:none;background-color:#fff;overflow:hidden;height:1px}.gantt_btn_set{margin:10px 7px 5px 10px;padding:5px 15px 5px 10px;float:left;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;border-width:0;border-color:#bababa;border-style:solid;height:32px;font-weight:700;background:#fff;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;cursor:pointer}.gantt_btn_set div{float:left;font-size:13px;height:22px;line-height:22px;background-repeat:no-repeat;vertical-align:middle}.gantt_save_btn{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAPCAYAAAACsSQRAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QTBBQUI0RDhDRUJEMTFFMjhFM0ZENTlERUM1OEQzRTYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QTBBQUI0RDlDRUJEMTFFMjhFM0ZENTlERUM1OEQzRTYiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpBMEFBQjRENkNFQkQxMUUyOEUzRkQ1OURFQzU4RDNFNiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpBMEFBQjREN0NFQkQxMUUyOEUzRkQ1OURFQzU4RDNFNiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PjdPZV0AAACtSURBVHjanJPbDYUgEESvtwJKoQRLoRNL0RK0ArUCS9AOpAMclDVkw0s2mQ9XcpwJY2OM+VWMgDQ9/CsAEtoh9W6skw+S0Akd5hl1J6kADJBwADs9j9MmIszQ5GJo793qf2nwLUYc0E7xONbaBmloZKAsgCCLW0p2qCsBEEQ6F33gcBbg304I1JYA+BWHQFlAqCcclAXEykaguQSQaiyBVEmbm8RfLFgzo3MJMACZSGxiH8QaMAAAAABJRU5ErkJggg==);margin-top:2px;width:21px}.gantt_cancel_btn{margin-top:2px;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MDkzMDA3MzlDMzA0MTFFMjg2QTVFMzFEQzgwRkJERDYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MDkzMDA3M0FDMzA0MTFFMjg2QTVFMzFEQzgwRkJERDYiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDowOTMwMDczN0MzMDQxMUUyODZBNUUzMURDODBGQkRENiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDowOTMwMDczOEMzMDQxMUUyODZBNUUzMURDODBGQkRENiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PmYuYOUAAAEdSURBVHjaYvz//z8DJYAFXWDlypU8QKoIiD2A2AwqfAqIdwBxX3h4+Bdk9YzILgBqtgdS84FYEYeF94E4EWjIQZgAE5LmQCB1AKoZZKMPEAtAMYh9GSp3AKjWD8UFQAEhIPshEIOc3wHENUBb/qJ57SyQMoJyPwKxElDNO1gYFEE17wMKVmIJlzNQzeegrjaA6qmBecEbSvfh0GwMxGeBhoPoemQ9MAO0kEIbl2YTqPAFKK2IbMB3AjabYIkRZmQD7kNpMyI0G0PpO8gGbIUFJj7NQDk2INWIrIcJKfBAKcwJqvkcDs0TgFgXGo19KCkRmpDWQdWDEk0NUoCBoq0FqhkE/IEWbKJKUmZEz43QzFSKIzN1481M5ACAAAMAlfl/lCwRpagAAAAASUVORK5CYII=);width:20px}.gantt_delete_btn{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAQCAYAAAAmlE46AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QzQzRjMxM0NDRUJEMTFFMjlCNDZDQzhFQUM0ODRCMEIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QzQzRjMxM0RDRUJEMTFFMjlCNDZDQzhFQUM0ODRCMEIiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpDNDNGMzEzQUNFQkQxMUUyOUI0NkNDOEVBQzQ4NEIwQiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpDNDNGMzEzQkNFQkQxMUUyOUI0NkNDOEVBQzQ4NEIwQiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PoU+5FoAAACMSURBVHja7JPdDYAgDIQLE+gmjuAIbOIKjMRIbAAb1BZLUozgz7OXfIbWKxeCAiKCwmNfXnsNP5S4mIkMrSYiEaY2LOFloO6QVF1JamPGc2IvpaeSbqXY4LkOLwU6OTyvgzBasxwnBnivYOGj/sEXg27gbd/JpWZiOf0pV7Anlq9UGqs07hTFC7sAAwCbSNs8SyqFMAAAAABJRU5ErkJggg==);margin-top:2px;width:20px}.gantt_cal_cover{width:100%;height:100%;position:absolute;z-index:10000;top:0;left:0;background-color:#000;opacity:.1;filter:alpha(opacity=10)}.gantt_custom_button{padding:0 3px;font-family:Arial;font-size:13px;font-weight:400;margin-right:10px;margin-top:-5px;cursor:pointer;float:right;height:21px;width:90px;border:1px solid #CECECE;text-align:center;-webkit-border-radius:4px;-moz-border-radius:4px;-ms-border-radius:4px;-o-border-radius:4px;border-radius:4px}.gantt_custom_button div{cursor:pointer;float:none;height:21px;line-height:21px;vertical-align:middle}.gantt_custom_button div:first-child{display:none}.gantt_cal_light_wide{width:580px;padding:2px 4px}.gantt_cal_light_wide .gantt_cal_larea{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;border:1px solid #bababa}.gantt_cal_light_wide .gantt_cal_lsection{border:0;float:left;text-align:right;width:80px;height:20px;padding:5px 10px 0 0}.gantt_cal_light_wide .gantt_wrap_section{position:relative;padding:10px 0;overflow:hidden;border-bottom:1px solid #ebebeb}.gantt_cal_light_wide .gantt_section_time{overflow:hidden;padding-top:2px!important;padding-right:0;height:20px!important}.gantt_cal_light_wide .gantt_cal_ltext{padding-right:0}.gantt_cal_light_wide .gantt_cal_larea{padding:0 10px;width:100%}.gantt_cal_light_wide .gantt_section_time{background:0 0}.gantt_cal_light_wide .gantt_cal_checkbox label{padding-left:0}.gantt_cal_light_wide .gantt_cal_lsection .gantt_fullday{float:none;margin-right:0;font-weight:700;cursor:pointer}.gantt_cal_light_wide .gantt_custom_button{position:absolute;top:0;right:0;margin-top:2px}.gantt_cal_light_wide .gantt_repeat_right{margin-right:55px}.gantt_cal_light_wide.gantt_cal_light_full{width:738px}.gantt_cal_wide_checkbox input{margin-top:8px;margin-left:14px}.gantt_cal_light input{font-size:13px}.gantt_section_time{background-color:#fff;white-space:nowrap;padding:5px 10px;padding-top:2px!important}.gantt_section_time .gantt_time_selects{float:left;height:25px}.gantt_section_time .gantt_time_selects select{height:23px;padding:2px;border:1px solid #bababa}.gantt_duration{width:100px;height:23px;float:left;white-space:nowrap;margin-left:20px;line-height:23px}.gantt_duration .gantt_duration_dec,.gantt_duration .gantt_duration_inc,.gantt_duration .gantt_duration_value{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;text-align:center;vertical-align:top;height:100%;border:1px solid #bababa}.gantt_duration .gantt_duration_value{width:40px;padding:3px 4px;border-left-width:0;border-right-width:0}.gantt_duration .gantt_duration_dec,.gantt_duration .gantt_duration_inc{width:20px;padding:1px 1px 3px;background:#fff}.gantt_duration .gantt_duration_dec{-moz-border-top-left-radius:4px;-moz-border-bottom-left-radius:4px;-webkit-border-top-left-radius:4px;-webkit-border-bottom-left-radius:4px;border-top-left-radius:4px;border-bottom-left-radius:4px}.gantt_duration .gantt_duration_inc{margin-right:4px;-moz-border-top-right-radius:4px;-moz-border-bottom-right-radius:4px;-webkit-border-top-right-radius:4px;-webkit-border-bottom-right-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:4px}.gantt_cal_quick_info{border:1px solid #bababa;border-radius:6px;position:absolute;z-index:300;box-shadow:3px 3px 3px rgba(0,0,0,.07);background-color:#fff;width:300px;transition:left .5s ease,right .5s;-moz-transition:left .5s ease,right .5s;-webkit-transition:left .5s ease,right .5s;-o-transition:left .5s ease,right .5s}.gantt_no_animate{transition:none;-moz-transition:none;-webkit-transition:none;-o-transition:none}.gantt_cal_quick_info.gantt_qi_left .gantt_qi_big_icon{float:right}.gantt_cal_qi_title{-webkit-border-radius:6px 6px 0 0;-moz-border-radius-topleft:6px;-moz-border-radius-bottomleft:0;-moz-border-radius-topright:6px;-moz-border-radius-bottomright:0;border-radius:6px 6px 0 0;padding:5px 0 8px 12px;color:#494949;background-color:#dbdbdb;border-bottom:1px solid #bababa}.gantt_cal_qi_tdate{font-size:14px;font-weight:700}.gantt_cal_qi_tcontent{font-size:13px}.gantt_cal_qi_content{padding:16px 8px;font-size:13px;color:#494949;overflow:hidden}.gantt_cal_qi_controls{-webkit-border-radius:0 0 6px 6px;-moz-border-radius-topleft:0;-moz-border-radius-bottomleft:6px;-moz-border-radius-topright:0;-moz-border-radius-bottomright:6px;border-radius:0 0 6px 6px;padding-left:7px}.gantt_cal_qi_controls .gantt_menu_icon{margin-top:6px;background-repeat:no-repeat}.gantt_cal_qi_controls .gantt_menu_icon.icon_edit{width:20px;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAB3RJTUUH3QYFCjI5ZQj5bAAAAFNJREFUOMvt0zEOACAIA0DkwTymH8bJTRTKZGJXyaWEKPKTCQAH4Ls37cItcDUzsxHNDLZNhCq7Gt1wh9ErV7EjyGAhyGLphlnsClWuS32rn0czAV+vNGrM/LBtAAAAAElFTkSuQmCC)}.gantt_cal_qi_controls .gantt_menu_icon.icon_delete{width:20px;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAQCAYAAAAmlE46AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QzQzRjMxM0NDRUJEMTFFMjlCNDZDQzhFQUM0ODRCMEIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QzQzRjMxM0RDRUJEMTFFMjlCNDZDQzhFQUM0ODRCMEIiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpDNDNGMzEzQUNFQkQxMUUyOUI0NkNDOEVBQzQ4NEIwQiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpDNDNGMzEzQkNFQkQxMUUyOUI0NkNDOEVBQzQ4NEIwQiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PoU+5FoAAACMSURBVHja7JPdDYAgDIQLE+gmjuAIbOIKjMRIbAAb1BZLUozgz7OXfIbWKxeCAiKCwmNfXnsNP5S4mIkMrSYiEaY2LOFloO6QVF1JamPGc2IvpaeSbqXY4LkOLwU6OTyvgzBasxwnBnivYOGj/sEXg27gbd/JpWZiOf0pV7Anlq9UGqs07hTFC7sAAwCbSNs8SyqFMAAAAABJRU5ErkJggg==)}.gantt_qi_big_icon{font-size:13px;border-radius:4px;font-weight:700;background:#fff;margin:5px 9px 8px 0;min-width:60px;line-height:32px;vertical-align:middle;padding:0 10px 0 5px;cursor:pointer;border:1px solid #bababa}.gantt_cal_qi_controls div{float:left;height:32px;text-align:center;line-height:32px}.gantt_tooltip{box-shadow:3px 3px 3px rgba(0,0,0,.07);background-color:#fff;border-left:1px solid rgba(0,0,0,.07);border-top:1px solid rgba(0,0,0,.07);font-family:Arial;font-size:8pt;color:#494949;padding:10px;position:absolute;z-index:50}.gantt_marker{height:100%;width:2px;top:0;position:absolute;text-align:center;background-color:rgba(255,0,0,.4);-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.gantt_marker .gantt_marker_content{padding:5px;background:inherit;color:#fff;position:absolute;font-size:12px;line-height:12px;opacity:.8}.gantt_marker_area{position:absolute;top:0;left:0}.gantt_noselect{-moz-user-select:-moz-none;-webkit-user-select:none;-user-select:none}.gantt_drag_marker{position:absolute;font-family:Arial;font-size:13px}.gantt_drag_marker .gantt_tree_icon.gantt_blank,.gantt_drag_marker .gantt_tree_icon.gantt_close,.gantt_drag_marker .gantt_tree_icon.gantt_open,.gantt_drag_marker .gantt_tree_indent{display:none}.gantt_drag_marker,.gantt_drag_marker .gantt_row.odd{background-color:#fff}.gantt_drag_marker .gantt_row{border-left:1px solid #d2d2d2;border-top:1px solid #d2d2d2}.gantt_drag_marker .gantt_cell{border-color:#d2d2d2}.gantt_row.gantt_over,.gantt_task_row.gantt_over{background-color:#0070fe}.gantt_row.gantt_transparent .gantt_cell{opacity:.7}.gantt_task_row.gantt_transparent{background-color:#dbf3fe}.dhtmlx_popup_button.dhtmlx_delete_button{background:#46ad51;text-shadow:0 -1px 0 #307738;color:#fff;font-weight:700}
\ No newline at end of file
diff --git a/libraries/dhtmlxgantt/skins/dhtmlxgantt_meadow.css b/libraries/dhtmlxgantt/skins/dhtmlxgantt_meadow.css
deleted file mode 100644
index a8fa890..0000000
--- a/libraries/dhtmlxgantt/skins/dhtmlxgantt_meadow.css
+++ /dev/null
@@ -1,9 +0,0 @@
-/*
-@license
-
-dhtmlxGantt v.3.2.0 Stardard
-This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited.
-
-(c) Dinamenta, UAB.
-*/
-.chartHeaderBg{background-color:#f4f2ea}.gridHoverStyle{background-color:#ffebbc!important}.gantt_grid_scale .gantt_grid_head_cell{border-top:none!important;border-right:none!important}.gantt_grid_data .gantt_cell{border-right:none}.gridSelection,.timelineSelection{background-color:#ffebbc!important}.gantt_task_line .gantt_task_progress_drag{bottom:-4px;height:16px;margin-left:-8px;width:16px}.gantt_task .gantt_task_scale .gantt_scale_cell{border-right:1px solid #cac8bd}.gantt_row.gantt_project .gantt_cell,.gantt_row.odd.gantt_project .gantt_cell{background-color:#edf4ff}.gantt_task_row.gantt_project .gantt_task_cell,.gantt_task_row.odd.gantt_project .gantt_task_cell{background-color:#f5f8ff}.gantt_task_line.gantt_project{background-color:#c7d8f7;border:1px solid #7ba3ed}.gantt_task_line.gantt_project .gantt_task_progress{background-color:#9ab9f1}.gantt_cal_light .gantt_cal_ltitle{padding:7px 10px}.gantt_cal_light .gantt_cal_ltext textarea{border:1px solid #d8d6ce}.gantt_cal_light .gantt_cal_larea{border-color:#d8d6ce!important;background-color:#fcfaf3}.gantt_cal_light .gantt_cal_larea .gantt_section_time{background-color:#fcfaf3}.buttonBg{background:#e0ded7}.gantt_cal_light .gantt_btn_set{height:27px;margin:5px 10px;padding:0 15px 0 10px}.gantt_cal_light .gantt_btn_set div{height:25px;margin-top:0;background-position:center center;line-height:25px}.gantt_btn_set.gantt_save_btn_set{border:1px solid #98d27e;background:#a7d991}.gantt_btn_set.gantt_cancel_btn_set{background:#e0ded7;border:1px solid #cac8bd}.gantt_btn_set.gantt_delete_btn_set{border:1px solid #ffad54;background:#ffb96d}.gantt_cal_light_wide{padding:0!important}.gantt_cal_light_wide .gantt_cal_larea{border-left:none!important;border-right:none!important}.gantt_cal_light_wide .gantt_cal_larea .gantt_cal_lsection{width:90px}.gantt_cal_light_wide .gantt_btn_set{margin:7px 10px}.dhtmlx_popup_button.dhtmlx_ok_button{border:1px solid #98d27e;background:#a7d991}.gantt_data_area .gantt_cal_quick_info{background-color:#f4f2ea}.gantt_data_area .gantt_cal_qi_content{background:#fcfaf3;border-bottom:1px solid #cac8bd}.gantt_qi_big_icon.icon_delete{border-color:#ffad54;background:#ffb96d}.gantt_container{font-family:Verdana;font-size:11px;border:1px solid #cac8bd;position:relative;white-space:nowrap}.gantt_grid{border-right:1px solid #cac8bd}.gantt_task_scroll{overflow-x:scroll}.gantt_task{position:relative}.gantt_grid,.gantt_task{overflow-x:hidden;overflow-y:hidden;display:inline-block;vertical-align:top}.gantt_grid_scale,.gantt_task_scale{color:#3f3f3f;font-size:8pt;border-bottom:1px solid #cac8bd;background-color:#f4f2ea}.gantt_scale_line{box-sizing:border-box;-moz-box-sizing:border-box;border-top:1px solid #cac8bd}.gantt_scale_line:first-child{border-top:none}.gantt_grid_head_cell{display:inline-block;vertical-align:top;border-right:1px solid #cac8bd;text-align:center;position:relative;cursor:default;height:100%;-moz-user-select:-moz-none;-webkit-user-select:none;-user-select:none;overflow:hidden}.gantt_scale_line{clear:both}.gantt_grid_data{width:100%;overflow:hidden}.gantt_row{position:relative;-webkit-user-select:none;-moz-user-select:none;-moz-user-select:-moz-none}.gantt_add,.gantt_grid_head_add{width:100%;height:100%;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MDAzOTZDREFDN0FGMTFFMkE1MDhCNkFCRDk3RkY4NTkiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MDAzOTZDREJDN0FGMTFFMkE1MDhCNkFCRDk3RkY4NTkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDowMDM5NkNEOEM3QUYxMUUyQTUwOEI2QUJEOTdGRjg1OSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDowMDM5NkNEOUM3QUYxMUUyQTUwOEI2QUJEOTdGRjg1OSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PnzqpNoAAAEFSURBVHjapJPPDsFAEMbHZqXSi1ZC3Dg7O9bbeA7v4czZE4hLSRwkbiI4cCAN4Uyqs/pPs1vbrTDJHL7Mb77sbr8WeuMu/FOEMQaStplYdgYHFBnKjK1atZqI8+ViZZ2AMmS5x1QxFNHLNVAx1EPMNVAxBBFtvxnfuq4LUKDTTLwXXsFqNprKE1RMM2y+9oe9FV3Bw5++/3svfMRWpS0MV7fFx0Ka2e62kQEhBEbzoTA0DAPqtXqinbMD643IFGkR3KcL1Cib0yA4/DBY4A2u15ug45oFHD05x44sO+kc+FwhI0j4RZBQlUT5kH+0JS4VBpKfqaSVYDDpJ1rz9eNxlxq8BBgAcMHBu6BPeX8AAAAASUVORK5CYII=);background-position:center center;background-repeat:no-repeat;cursor:pointer;position:relative;-moz-opacity:.3;opacity:.3}.gantt_grid_head_cell.gantt_grid_head_add{-moz-opacity:.6;opacity:.6;top:0}.gantt_grid_head_cell.gantt_grid_head_add:hover{-moz-opacity:1;opacity:1}.gantt_grid_data .gantt_row.odd:hover,.gantt_grid_data .gantt_row:hover{background-color:#ffebbc!important}.gantt_grid_data .gantt_row.odd:hover .gantt_add,.gantt_grid_data .gantt_row:hover .gantt_add{-moz-opacity:1;opacity:1}.gantt_row,.gantt_task_row{border-bottom:1px solid #eae9e5;background-color:#fff}.gantt_row.odd,.gantt_task_row.odd{background-color:#fff}.gantt_cell,.gantt_grid_head_cell,.gantt_row,.gantt_scale_cell,.gantt_task_cell,.gantt_task_row{box-sizing:border-box;-moz-box-sizing:border-box}.gantt_grid_head_cell,.gantt_scale_cell{line-height:inherit}.gantt_grid_scale .gantt_grid_column_resize_wrap{cursor:col-resize;position:absolute;width:13px}.gantt_grid_column_resize_wrap .gantt_grid_column_resize{background-color:#cac8bd;height:100%;width:1px;margin:0 auto}.gantt_grid .gantt_grid_resize_wrap{cursor:col-resize;position:absolute;width:13px;z-index:1}.gantt_grid_resize_wrap .gantt_grid_resize{background-color:#cac8bd;width:1px;margin:0 auto}.gantt_drag_marker.gantt_grid_resize_area{background-color:rgba(231,231,231,.5);border-left:1px solid #cac8bd;border-right:1px solid #cac8bd;height:100%;width:100%;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.gantt_cell{display:inline-block;vertical-align:top;border-right:1px solid #eae9e5;padding-left:6px;padding-right:6px;height:100%;overflow:hidden;white-space:nowrap;font-size:8pt}.gantt_grid_data .gantt_last_cell,.gantt_grid_scale .gantt_last_cell,.gantt_task_bg .gantt_last_cell,.gantt_task_scale .gantt_last_cell{border-right-width:0}.gantt_task_bg{overflow:hidden}.gantt_scale_cell{display:inline-block;white-space:nowrap;overflow:hidden;border-right:1px solid #cac8bd;text-align:center;height:100%}.gantt_task_cell{display:inline-block;height:100%;border-right:1px solid #eae9e5}.gantt_ver_scroll{width:0;background-color:transparent;height:1px;overflow-x:hidden;overflow-y:scroll;display:none;position:absolute;right:0}.gantt_ver_scroll>div{width:1px;height:1px}.gantt_hor_scroll{height:0;background-color:transparent;width:100%;clear:both;overflow-x:scroll;overflow-y:hidden;display:none}.gantt_hor_scroll>div{width:5000px;height:1px}.gantt_tree_indent{width:15px;height:100%;display:inline-block}.gantt_tree_content,.gantt_tree_icon{vertical-align:top}.gantt_tree_icon{width:28px;height:100%;display:inline-block;background-repeat:no-repeat;background-position:center center}.gantt_tree_content{height:100%;display:inline-block}.gantt_tree_icon.gantt_open{background-image:url(data:image/gif;base64,R0lGODlhEgASAJEAAP///4SEhAAAAP///yH5BAUUAAMALAAAAAASABIAAAIqnI+py+0Powq01haA3iDgLWwek2mhNi6ZwLLdZ4owcL4kJ5OWJfX+DykAADs=);width:18px;cursor:pointer}.gantt_tree_icon.gantt_close{background-image:url(data:image/gif;base64,R0lGODlhEgASAJEAAP///4SEhAAAAP///yH5BAUUAAMALAAAAAASABIAAAImnI+py+0Powq01haA3iBgvnlMBnafgKLmWK4LCYpvK0+WJeX6DhUAOw==);width:18px;cursor:pointer}.gantt_tree_icon.gantt_blank{width:18px}.gantt_tree_icon.gantt_folder_open{background-image:url(data:image/gif;base64,R0lGODlhEgASAMQfAPXMWPK9N/fipOzLbPrVaP/89frqwv3tuvvprfLES+7PdP7xyP7z0vPAQfvtyMuaIv/32/735OSqFv3de+7ReP7lmf7gh/nv0v/67unFXfb29vK/PenFSaGEPfLnyv///yH5BAEAAB8ALAAAAAASABIAAAWS4Cc+ZGk+YvqZRVtgGiag6sNBThlFWnTQqQcE4sqRFj/VashsYR6HZI0JWSAjDwQCOGIgERULg/EQzJRQsGVCYHTK51qYTQDkFPj4iA4AJHIUgQoGQA8EdX4NhHgKAxeFfQkJGwGLeI6Fkg2UlQ8Dn5hBCZuchKChIxKkGw05Ga8DHlwkqg2tJ1xBtDlKvTUkviEAOw==)}.gantt_tree_icon.gantt_folder_closed{background-image:url(data:image/gif;base64,R0lGODlhEgASAMQfAPvjpP/24fPHVvnUdvzotdSiKv/23vvrw/LCS/C+RfnelvPMaf/88/nbi/rsyerYq/TLYv7y1v7wzeCsLO+8P86dJfvv0MuaIsydKPPOc+SqGKGEPe/AS+zVneWwLf///yH5BAEAAB8ALAAAAAASABIAAAWZ4CdeZGleYvpdA+O+zNUBqHoZOB4EceHUqVtuF+n9VCtdQCI5BC6FA3BkCEQkBALAACVMV9eDVhGJQGnIixigaAwiG6jie2G7BxDLpVJozG13EAICPxUeGRleQQMLgggJUhiHC3pBggKPFJETGZRAF5gJCRSaFxgTC55BCByioz+nEKojGgmtHBwPJAUCELo2J8FfSMTFxsUhADs=)}.gantt_tree_icon.gantt_file{background-image:url(data:image/gif;base64,R0lGODlhEgASAMQVAPv7+2RkZPf39/r6+vj4+Pn5+fT09Pb29vX19fHx8fDw8Onp6fLy8u7u7uzs7PPz8+vr6+rq6uXl5ejo6O/v7////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAABUALAAAAAASABIAAAV4YCWOZGkGaKqaVSAMQCwLQnAOj6ErzUTXpQDgQDgcGJTFDzgSEp4HRCKytDUBMKzAoIAsJACrSCjTGhINR5hELg8ECEZifS3HCgQEgj62xwZPAnwtbgMDBQU0g21Yh4iIi3aGkzBihH52lgEEmDIEli0qoigspSYhADs=)}.gantt_grid_head_cell .gantt_sort{position:absolute;right:5px;top:8px;width:7px;height:13px;background-repeat:no-repeat;background-position:center center}.gantt_grid_head_cell .gantt_sort.gantt_asc{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAANCAYAAABlyXS1AAAARUlEQVR42mNgQAL1/VP/M2ADIIntF2/9x1AAlrh0C47hCmA60DFYwX88gIFGwNDY5D8uDFbg7hvwHx2jmIBTAlkB0e4BAEjlaNtBWJPnAAAAAElFTkSuQmCC)}.gantt_grid_head_cell .gantt_sort.gantt_desc{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAANCAYAAABlyXS1AAAARUlEQVR4nGNgQAKGxib/GbABkIS7b8B/DAUwCRiGK0CXwFBAb1DfP/U/LszwHwi2X7qFgUEArBtdAVwCBmAKMCSQFSDzAWXXaOHsXeqkAAAAAElFTkSuQmCC)}.gantt_inserted,.gantt_updated{font-weight:700}.gantt_deleted{text-decoration:line-through}.gantt_invalid{background-color:FFE0E0}.gantt_error{color:red}.gantt_status{right:1px;padding:5px 10px;background:rgba(155,155,155,.1);position:absolute;top:1px;-webkit-transition:opacity .2s;transition:opacity .2s;opacity:0}.gantt_status.gantt_status_visible{opacity:1}#gantt_ajax_dots span{-webkit-transition:opacity .2s;transition:opacity .2s;background-repeat:no-repeat;opacity:0}#gantt_ajax_dots span.gantt_dot_visible{opacity:1}.dhtmlx_message_area{position:fixed;right:5px;width:250px;z-index:1000}.dhtmlx-info{min-width:120px;font-family:Verdana;z-index:10000;margin:5px 5px 10px;-webkit-transition:all .5s ease;-moz-transition:all .5s ease;-o-transition:all .5s ease;transition:all .5s ease}.dhtmlx-info.hidden{height:0;padding:0;border-width:0;margin:0;overflow:hidden}.dhtmlx_modal_box{overflow:hidden;display:inline-block;min-width:250px;width:250px;text-align:center;position:fixed;z-index:20000;box-shadow:3px 3px 3px rgba(0,0,0,.07);font-family:Verdana;border-radius:6px;border:1px solid #cac8bd;background:#fcfaf3}.dhtmlx_popup_title{border-top-left-radius:6px;border-top-right-radius:6px;border-width:0}.dhtmlx_button,.dhtmlx_popup_button{border:1px solid #cac8bd;height:25px;line-height:25px;display:inline-block;margin:0 5px;border-radius:4px;background:#e0ded7}.dhtmlx-info,.dhtmlx_button,.dhtmlx_popup_button{user-select:none;-webkit-user-select:none;-moz-user-select:-moz-none;cursor:pointer}.dhtmlx_popup_text{overflow:hidden}.dhtmlx_popup_controls{border-radius:6px;padding:10px}.dhtmlx_popup_button{min-width:100px}div.dhx_modal_cover{background-color:#000;cursor:default;filter:alpha(opacity=20);opacity:.2;position:fixed;z-index:19999;left:0;top:0;width:100%;height:100%;border:none;zoom:1}.dhtmlx-info img,.dhtmlx_modal_box img{float:left;margin-right:20px}.dhtmlx-alert-error,.dhtmlx-confirm-error{border:1px solid red}.dhtmlx_button input,.dhtmlx_popup_button div{border-radius:4px;font-size:14px;-moz-box-sizing:content-box;box-sizing:content-box;padding:0;margin:0;vertical-align:top}.dhtmlx_popup_title{color:#fff;text-shadow:1px 1px #000;height:40px;line-height:40px;font-size:20px}.dhtmlx_popup_text{margin:15px 15px 5px;font-size:14px;color:#000;min-height:30px;border-radius:6px}.dhtmlx-error,.dhtmlx-info{font-size:14px;color:#000;box-shadow:3px 3px 3px rgba(0,0,0,.07);padding:0;background-color:#FFF;border-radius:3px;border:1px solid #fff}.dhtmlx-info div{padding:5px 10px;background-color:#fff;border-radius:3px;border:1px solid #cac8bd}.dhtmlx-error{background-color:#d81b1b;border:1px solid #ff3c3c;box-shadow:3px 3px 3px rgba(0,0,0,.07)}.dhtmlx-error div{background-color:#d81b1b;border:1px solid #940000;color:#FFF}.gantt_data_area div,.gantt_grid div{-ms-touch-action:none;-webkit-tap-highlight-color:transparent}.gantt_data_area{position:relative;overflow-x:hidden;overflow-y:hidden;-moz-user-select:-moz-none;-webkit-user-select:none;-user-select:none}.gantt_links_area{position:absolute;left:0;top:0}.gantt_side_content,.gantt_task_content,.gantt_task_progress{line-height:inherit;overflow:hidden;height:100%}.gantt_task_content{font-size:11px;color:#3f3f3f;width:100%;top:0;position:absolute;white-space:nowrap;text-align:center}.gantt_task_progress{text-align:center;z-index:0;background:#a7d991}.gantt_task_line{-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px;position:absolute;-moz-box-sizing:border-box;box-sizing:border-box;background-color:#e1ffd4;border:1px solid #7fbc64;-webkit-user-select:none;-moz-user-select:none;-moz-user-select:-moz-none}.gantt_task_line.gantt_drag_move div{cursor:move}.gantt_touch_move,.gantt_touch_progress .gantt_touch_resize{-moz-transform:scale(1.02,1.1);-o-transform:scale(1.02,1.1);-webkit-transform:scale(1.02,1.1);transform:scale(1.02,1.1);-moz-transform-origin:50%;-o-transform-origin:50%;-webkit-transform-origin:50%;transform-origin:50%}.gantt_touch_progress .gantt_task_progress_drag,.gantt_touch_resize .gantt_task_drag{-moz-transform:scaleY(1.3);-o-transform:scaleY(1.3);-webkit-transform:scaleY(1.3);transform:scaleY(1.3);-moz-transform-origin:50%;-o-transform-origin:50%;-webkit-transform-origin:50%;transform-origin:50%}.gantt_side_content{position:absolute;white-space:nowrap;color:#6e6e6e;bottom:7px;font-size:11px;font-size:10px}.gantt_side_content.gantt_left{right:100%;padding-right:15px}.gantt_side_content.gantt_right{left:100%;padding-left:15px}.gantt_side_content.gantt_link_crossing{bottom:6.75px}.gantt_link_arrow,.gantt_task_link .gantt_line_wrapper{position:absolute;cursor:pointer}.gantt_line_wrapper div{background-color:#ffb96d}.gantt_task_link:hover .gantt_line_wrapper div{box-shadow:0 0 5px 0 #ffb96d}.gantt_task_link div.gantt_link_arrow{background-color:transparent;border-style:solid;width:0;height:0}.gantt_link_control{position:absolute;width:13px;top:0}.gantt_link_control div{display:none;cursor:pointer;box-sizing:border-box;position:relative;top:50%;margin-top:-7.5px;vertical-align:middle;border:1px solid #929292;-webkit-border-radius:6.5px;-moz-border-radius:6.5px;border-radius:6.5px;height:13px;width:13px;background-color:#f0f0f0}.gantt_link_control div:hover{background-color:#fff}.gantt_link_control.task_left{left:-13px}.gantt_link_control.task_right{right:-13px}.gantt_link_target .gantt_link_control div,.gantt_task_line.gantt_selected .gantt_link_control div,.gantt_task_line:hover .gantt_link_control div{display:block}.gantt_link_source,.gantt_link_target{box-shadow:0 0 3px #a7d991}.gantt_link_target.link_finish_allow,.gantt_link_target.link_start_allow{box-shadow:0 0 3px #ffdeba}.gantt_link_target.link_finish_deny,.gantt_link_target.link_start_deny{box-shadow:0 0 3px #e87e7b}.link_finish_allow .gantt_link_control.task_right div,.link_start_allow .gantt_link_control.task_left div{background-color:#ffdeba;border-color:#ffb96d}.link_finish_deny .gantt_link_control.task_right div,.link_start_deny .gantt_link_control.task_left div{background-color:#e87e7b;border-color:#dd3e3a}.gantt_link_arrow_right{border-width:4px 0 4px 6px;border-top-color:transparent!important;border-right-color:transparent!important;border-bottom-color:transparent!important;border-color:#ffb96d;margin-top:-1px}.gantt_link_arrow_left{border-width:4px 6px 4px 0;margin-top:-1px;border-top-color:transparent!important;border-color:#ffb96d;border-bottom-color:transparent!important;border-left-color:transparent!important}.gantt_link_arrow_top{border-width:0 4px 6px;border-color:#ffb96d;border-top-color:transparent!important;border-right-color:transparent!important;border-left-color:transparent!important}.gantt_link_arrow_down{border-width:4px 6px 0 4px;border-color:#ffb96d;border-right-color:transparent!important;border-bottom-color:transparent!important;border-left-color:transparent!important}.gantt_task_drag,.gantt_task_progress_drag{cursor:w-resize;height:100%;display:none;position:absolute}.gantt_task_line.gantt_selected .gantt_task_drag,.gantt_task_line.gantt_selected .gantt_task_progress_drag,.gantt_task_line:hover .gantt_task_drag,.gantt_task_line:hover .gantt_task_progress_drag{display:block}.gantt_task_drag{width:6px;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAACCAYAAACUn8ZgAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6OTgyOEUzQzJDODQ3MTFFMjg3NDRCMUFBMTM1M0U1OTYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6OTgyOEUzQzNDODQ3MTFFMjg3NDRCMUFBMTM1M0U1OTYiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo5ODI4RTNDMEM4NDcxMUUyODc0NEIxQUExMzUzRTU5NiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo5ODI4RTNDMUM4NDcxMUUyODc0NEIxQUExMzUzRTU5NiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pj3qIQcAAAAaSURBVHjaYvz//z8DLsAEIhoaGv5jowECDAASbgp+4xzYLgAAAABJRU5ErkJggg==);z-index:1;top:0}.gantt_task_drag.task_left{left:0}.gantt_task_drag.task_right{right:0}.gantt_task_progress_drag{height:8px;width:8px;bottom:-4px;margin-left:-4px;background-position:bottom;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAJCAYAAAAGuM1UAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6Q0JCMkQyRDhDOTFDMTFFMjg3RTFCNUEzNUQwRDMxNjEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6Q0JCMkQyRDlDOTFDMTFFMjg3RTFCNUEzNUQwRDMxNjEiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpDQkIyRDJENkM5MUMxMUUyODdFMUI1QTM1RDBEMzE2MSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpDQkIyRDJEN0M5MUMxMUUyODdFMUI1QTM1RDBEMzE2MSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Ppy3ICwAAADsSURBVHjafFBbaoNQEB1vghtIPlJX4Z/iX/cSsoZQGl80JZvIAvxVf1yNX6EFH+ADK8Y6nblQaGzagXNnmHPODHMVRIR5+L7/Sqm2bfv0i2TDT3ied4zjGBlU7+f8XPzCwrZtsSzLb9PTXQMRfhRFWFUVdl0nURQFco+45xsDNdwwDOVUNuR5LlHXNWZZhsyR5sDahRDC1XXdsSwLFCHgo+/hc5okhusVVFUFTdNgHMfHIAhQ0N2OaZowkbtpGhiG4Qa0RX6OYRicvCU9b2maPqzWa/grKtpE93D5zoZtkiRnyhv4Py6E3ZcAAwDb89Sl5rtPtAAAAABJRU5ErkJggg==);background-repeat:no-repeat;z-index:2}.gantt_link_tooltip{box-shadow:3px 3px 3px #888;background-color:#fff;border-left:1px dotted #cecece;border-top:1px dotted #cecece;font-family:Tahoma;font-size:8pt;color:#444;padding:6px;line-height:20px}.gantt_link_direction{height:0;border:0 #ffb96d;border-bottom-style:dashed;border-bottom-width:2px;transform-origin:0 0;-ms-transform-origin:0 0;-webkit-transform-origin:0 0;z-index:2;margin-left:1px;position:absolute}.gantt_grid_data .gantt_row.gantt_selected,.gantt_grid_data .gantt_row.odd.gantt_selected,.gantt_task_row.gantt_selected{background-color:#ffebbc!important}.gantt_task_row.gantt_selected .gantt_task_cell{border-right-color:#ffdc89}.gantt_task_line.gantt_selected{box-shadow:0 0 5px #a7d991}.gantt_task_line.gantt_project.gantt_selected{box-shadow:0 0 5px #9ab9f1}.gantt_task_line.gantt_milestone{visibility:hidden;background-color:#db7dc5;border:0 solid #cd49ae;box-sizing:content-box;-moz-box-sizing:content-box}.gantt_task_line.gantt_milestone div{visibility:visible}.gantt_task_line.gantt_milestone .gantt_task_content{background:inherit;border:inherit;border-width:1px;border-radius:inherit;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);-o-transform:rotate(45deg);transform:rotate(45deg)}.gantt_task_line.gantt_task_inline_color{border-color:#999}.gantt_task_line.gantt_task_inline_color .gantt_task_progress{background-color:#363636;opacity:.2}.gantt_task_line.gantt_task_inline_color.gantt_project.gantt_selected,.gantt_task_line.gantt_task_inline_color.gantt_selected{box-shadow:0 0 5px #999}.gantt_task_link.gantt_link_inline_color:hover .gantt_line_wrapper div{box-shadow:0 0 5px 0 #999}.gantt_critical_task{background-color:#e63030;border-color:#9d3a3a}.gantt_critical_task .gantt_task_progress{background-color:rgba(0,0,0,.4)}.gantt_critical_link .gantt_line_wrapper>div{background-color:#e63030}.gantt_critical_link .gantt_link_arrow{border-color:#e63030}.gantt_unselectable,.gantt_unselectable div{-webkit-user-select:none;-moz-user-select:none;-moz-user-select:-moz-none}.gantt_cal_light{-webkit-tap-highlight-color:transparent;background:#f4f2ea;border-radius:6px;font-family:Verdana;border:1px solid #cac8bd;color:#3f3f3f;font-size:8pt;position:absolute;z-index:10001;width:550px;height:250px;box-shadow:3px 3px 3px rgba(0,0,0,.07)}.gantt_cal_light select{font-family:Verdana;border:1px solid #cac8bd;font-size:11px;padding:2px;margin:0}.gantt_cal_ltitle{padding:7px 10px;overflow:hidden;white-space:nowrap;-webkit-border-radius:6px 6px 0 0;-moz-border-radius-topleft:6px;-moz-border-radius-bottomleft:0;-moz-border-radius-topright:6px;-moz-border-radius-bottomright:0;border-radius:6px 6px 0 0}.gantt_cal_ltitle span{white-space:nowrap}.gantt_cal_lsection{color:#727272;font-weight:700;padding:12px 0 5px 10px}.gantt_cal_lsection .gantt_fullday{float:right;margin-right:5px;font-size:12px;font-weight:400;line-height:20px;vertical-align:top;cursor:pointer}.gantt_cal_lsection{font-size:13px}.gantt_cal_ltext{padding:2px 10px;overflow:hidden}.gantt_cal_ltext textarea{overflow:auto;font-family:Verdana;font-size:11px;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;border:1px solid #cac8bd;height:100%;width:100%;outline:0!important;resize:none}.gantt_time{font-weight:700}.gantt_cal_light .gantt_title{padding-left:10px}.gantt_cal_larea{border:1px solid #cac8bd;border-left:none;border-right:none;background-color:#fff;overflow:hidden;height:1px}.gantt_btn_set{margin:10px 7px 5px 10px;padding:5px 15px 5px 10px;float:left;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;border-width:0;border-color:#cac8bd;border-style:solid;height:27px;color:#4f4f4f;background:#e0ded7;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;cursor:pointer}.gantt_btn_set div{float:left;font-size:13px;height:17px;line-height:17px;background-repeat:no-repeat;vertical-align:middle}.gantt_save_btn{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QUUzMDA3NzlDOTFEMTFFMkJBQTNFMTU1NTdFNUNFMTMiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QUUzMDA3N0FDOTFEMTFFMkJBQTNFMTU1NTdFNUNFMTMiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpBRTMwMDc3N0M5MUQxMUUyQkFBM0UxNTU1N0U1Q0UxMyIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpBRTMwMDc3OEM5MUQxMUUyQkFBM0UxNTU1N0U1Q0UxMyIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PtHrmoUAAAF4SURBVHjaYvr//z8DNTATA5UA1QxiIUdTQEAAG5CaA8S6QGyyYcOGvyzkGMLIyLgSGC4BHBwcr1RUVBhJdhHQEGagIctAhjAzM/9OSkrqd3Nz+ws3CKjAA0hNA+JcoDO34jIESC0FGhIM4tvb2y8FGjIbyPwPD2wNDQ1RIKUItG09UIM3LkOAOBzEB3rnaF5eXieQ+RYl1jo6Og4oKCicAtrGCjXMA82Q+TBD+Pj4HtfU1NQDmTewRf/jjIyMNmDgfYAatgnJMFDsxIIYrKysX7Ozs9sFBAT240xHQO/t8PT0BGliQHLZdiA3AabGz89vlrm5+RIg8x++BPkzPj5+Msj/UMM4gBTciwYGBttiY2MnAJmfiUnZj4CB2MzFxfUGWVBcXPx6WVlZE0ie6CwiJye3D+il6UCvgZ0PCreCggKQ4adIzWu/w8LCpoO8wsLC8j0yMnKipqbmelh6wQUYQUUADmACxDpADArwl4RSPT6DBqYYAQgwANyusz7jloxAAAAAAElFTkSuQmCC);margin-top:2px;width:21px}.gantt_cancel_btn{margin-top:2px;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QjQxN0VEOUZDOTFEMTFFMkFFMjE4MDI4MUJDNDQ1NDkiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QjQxN0VEQTBDOTFEMTFFMkFFMjE4MDI4MUJDNDQ1NDkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpCNDE3RUQ5REM5MUQxMUUyQUUyMTgwMjgxQkM0NDU0OSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpCNDE3RUQ5RUM5MUQxMUUyQUUyMTgwMjgxQkM0NDU0OSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pq9E2PUAAAH/SURBVHjaYvz//z8DNQAjTQ0KCAjgAVJFQOwBxGZQ4VNAvAOI+zZs2PCFoEFAQ+wZGRkXAMUVsNrMyPgAKJcANOwgToOAhgQCqXUgtqCg4ANXV9ctzs7Od0D8vXv3quzYsSPw06dP0lDl/kDDNmEYBDRECGjbYyCfS09Pb0dNTc1sNja2M0CpF1C1EjExMfu/fPmiBHXZZ5CrgYa9A/FZYCaysLCU/vnzh0tUVPRGU1NTPVDoNBD/R3ItyKVKAgICj/79+8cIdJksSA9QrBIkz4RkUBCINjU1XQUNWGRDQC4zBhrycMGCBYW2trbLkPWgGPTz50+wk6WlpTegBT6yIaCYXMfJybkRJPf7928ZDIOYmZl/g+jjx4+/xmcISPz27dsfYNowDOLi4gIb8PDhQ1N8hkDVGIBobm7ulxgGAb0EClyGX79+leAzBCjH9vXr13pkPSgGhYeHTwd6DxhUP62ghjzCZggw2icCw0YdGNDfQXrgkQVjGBgYHPHx8Zm9cePGHGhA/gdq/ANkysGUAHELMO3ogji+vr6zQXpwZREFkEErV66M//btmwi2LAIMyzdAlyz09/efDAoufJlW8tWrVx7Tp08PevDggc779+8VYFlGQUHhSmZm5joxMTFQ5n1OTDHCCsT6QAxKJ2JQsVdA/ASIL4J8TrPyCCDAAK8E80CvM3cMAAAAAElFTkSuQmCC);width:20px}.gantt_delete_btn{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QjkzQUQ0MjVDOTFEMTFFMkEwRERFNzQ5NzZCRjlBODgiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QjkzQUQ0MjZDOTFEMTFFMkEwRERFNzQ5NzZCRjlBODgiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpCOTNBRDQyM0M5MUQxMUUyQTBEREU3NDk3NkJGOUE4OCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpCOTNBRDQyNEM5MUQxMUUyQTBEREU3NDk3NkJGOUE4OCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pmbo+yIAAAB9SURBVHjaYvz//z8DNQALPsmAgAC4LRs2bGDEaxLIRdiwv78/kPqfBsNQPk71jDCvIdtOLEB2JRMDlQAjUmCnkaF/FtYwgoUDsTQypprXRg0a0QYhp2yGpqamzefOnfMhpMnIyGhLXV2dL06DgMAYigmBs1CM0yCyAUCAAQAlK4lJjSOjGQAAAABJRU5ErkJggg==);margin-top:2px;width:20px}.gantt_cal_cover{width:100%;height:100%;position:absolute;z-index:10000;top:0;left:0;background-color:#000;opacity:.1;filter:alpha(opacity=10)}.gantt_custom_button{padding:0 3px;font-family:Verdana;font-size:11px;font-weight:400;margin-right:10px;margin-top:-5px;cursor:pointer;float:right;height:21px;width:90px;border:1px solid #CECECE;text-align:center;-webkit-border-radius:4px;-moz-border-radius:4px;-ms-border-radius:4px;-o-border-radius:4px;border-radius:4px}.gantt_custom_button div{cursor:pointer;float:none;height:21px;line-height:21px;vertical-align:middle}.gantt_custom_button div:first-child{display:none}.gantt_cal_light_wide{width:580px}.gantt_cal_light_wide .gantt_cal_larea{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;border:1px solid #cac8bd}.gantt_cal_light_wide .gantt_cal_lsection{border:0;float:left;text-align:right;width:80px;height:20px;padding:5px 10px 0 0}.gantt_cal_light_wide .gantt_wrap_section{position:relative;padding:10px 0;overflow:hidden;border-bottom:1px solid #eae9e5}.gantt_cal_light_wide .gantt_section_time{overflow:hidden;padding-top:2px!important;padding-right:0;height:20px!important}.gantt_cal_light_wide .gantt_cal_ltext{padding-right:0}.gantt_cal_light_wide .gantt_cal_larea{padding:0 10px;width:100%}.gantt_cal_light_wide .gantt_section_time{background:0 0}.gantt_cal_light_wide .gantt_cal_checkbox label{padding-left:0}.gantt_cal_light_wide .gantt_cal_lsection .gantt_fullday{float:none;margin-right:0;font-weight:700;cursor:pointer}.gantt_cal_light_wide .gantt_custom_button{position:absolute;top:0;right:0;margin-top:2px}.gantt_cal_light_wide .gantt_repeat_right{margin-right:55px}.gantt_cal_light_wide.gantt_cal_light_full{width:738px}.gantt_cal_wide_checkbox input{margin-top:8px;margin-left:14px}.gantt_cal_light input{font-size:11px}.gantt_section_time{background-color:#fff;white-space:nowrap;padding:5px 10px;padding-top:2px!important}.gantt_section_time .gantt_time_selects{float:left;height:25px}.gantt_section_time .gantt_time_selects select{height:23px;padding:2px;border:1px solid #cac8bd}.gantt_duration{width:100px;height:23px;float:left;white-space:nowrap;margin-left:20px;line-height:23px}.gantt_duration .gantt_duration_dec,.gantt_duration .gantt_duration_inc,.gantt_duration .gantt_duration_value{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;text-align:center;vertical-align:top;height:100%;border:1px solid #cac8bd}.gantt_duration .gantt_duration_value{width:40px;padding:3px 4px;border-left-width:0;border-right-width:0}.gantt_duration .gantt_duration_dec,.gantt_duration .gantt_duration_inc{width:20px;padding:1px 1px 3px;background:#e0ded7}.gantt_duration .gantt_duration_dec{-moz-border-top-left-radius:4px;-moz-border-bottom-left-radius:4px;-webkit-border-top-left-radius:4px;-webkit-border-bottom-left-radius:4px;border-top-left-radius:4px;border-bottom-left-radius:4px}.gantt_duration .gantt_duration_inc{margin-right:4px;-moz-border-top-right-radius:4px;-moz-border-bottom-right-radius:4px;-webkit-border-top-right-radius:4px;-webkit-border-bottom-right-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:4px}.gantt_cal_quick_info{border:1px solid #cac8bd;border-radius:6px;position:absolute;z-index:300;box-shadow:3px 3px 3px rgba(0,0,0,.07);background-color:#fcfaf3;width:300px;transition:left .5s ease,right .5s;-moz-transition:left .5s ease,right .5s;-webkit-transition:left .5s ease,right .5s;-o-transition:left .5s ease,right .5s}.gantt_no_animate{transition:none;-moz-transition:none;-webkit-transition:none;-o-transition:none}.gantt_cal_quick_info.gantt_qi_left .gantt_qi_big_icon{float:right}.gantt_cal_qi_title{-webkit-border-radius:6px 6px 0 0;-moz-border-radius-topleft:6px;-moz-border-radius-bottomleft:0;-moz-border-radius-topright:6px;-moz-border-radius-bottomright:0;border-radius:6px 6px 0 0;padding:5px 0 8px 12px;color:#3f3f3f;background-color:#f4f2ea;border-bottom:1px solid #cac8bd}.gantt_cal_qi_tdate{font-size:14px;font-weight:700}.gantt_cal_qi_tcontent{font-size:11px}.gantt_cal_qi_content{padding:16px 8px;font-size:13px;color:#3f3f3f;overflow:hidden}.gantt_cal_qi_controls{-webkit-border-radius:0 0 6px 6px;-moz-border-radius-topleft:0;-moz-border-radius-bottomleft:6px;-moz-border-radius-topright:0;-moz-border-radius-bottomright:6px;border-radius:0 0 6px 6px;padding-left:7px}.gantt_cal_qi_controls .gantt_menu_icon{margin-top:3.5px;background-repeat:no-repeat}.gantt_cal_qi_controls .gantt_menu_icon.icon_edit{width:20px;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAB3RJTUUH3QYFDgcMloNXJQAAAFNJREFUOMvt0zEOACAIA0Dkg30rL8TJTRTKZGJXyaWEKPKTCQAH4Ls37cItcDUzsxHNDLZNhCq7Gt1wh9ErV7EjyGAhyGLphlnsClWuS32rn0czAT/KLVk9yshBAAAAAElFTkSuQmCC)}.gantt_cal_qi_controls .gantt_menu_icon.icon_delete{width:20px;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QjkzQUQ0MjVDOTFEMTFFMkEwRERFNzQ5NzZCRjlBODgiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QjkzQUQ0MjZDOTFEMTFFMkEwRERFNzQ5NzZCRjlBODgiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpCOTNBRDQyM0M5MUQxMUUyQTBEREU3NDk3NkJGOUE4OCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpCOTNBRDQyNEM5MUQxMUUyQTBEREU3NDk3NkJGOUE4OCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pmbo+yIAAAB9SURBVHjaYvz//z8DNQALPsmAgAC4LRs2bGDEaxLIRdiwv78/kPqfBsNQPk71jDCvIdtOLEB2JRMDlQAjUmCnkaF/FtYwgoUDsTQypprXRg0a0QYhp2yGpqamzefOnfMhpMnIyGhLXV2dL06DgMAYigmBs1CM0yCyAUCAAQAlK4lJjSOjGQAAAABJRU5ErkJggg==)}.gantt_qi_big_icon{font-size:13px;border-radius:4px;color:#4f4f4f;background:#e0ded7;margin:5px 9px 8px 0;min-width:60px;line-height:27px;vertical-align:middle;padding:0 10px 0 5px;cursor:pointer;border:1px solid #cac8bd}.gantt_cal_qi_controls div{float:left;height:27px;text-align:center;line-height:27px}.gantt_tooltip{box-shadow:3px 3px 3px rgba(0,0,0,.07);background-color:#fff;border-left:1px solid rgba(0,0,0,.07);border-top:1px solid rgba(0,0,0,.07);font-family:Verdana;font-size:8pt;color:#3f3f3f;padding:10px;position:absolute;z-index:50}.gantt_marker{height:100%;width:2px;top:0;position:absolute;text-align:center;background-color:rgba(255,0,0,.4);-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.gantt_marker .gantt_marker_content{padding:5px;background:inherit;color:#fff;position:absolute;font-size:12px;line-height:12px;opacity:.8}.gantt_marker_area{position:absolute;top:0;left:0}.gantt_noselect{-moz-user-select:-moz-none;-webkit-user-select:none;-user-select:none}.gantt_drag_marker{position:absolute;font-family:Verdana;font-size:11px}.gantt_drag_marker .gantt_tree_icon.gantt_blank,.gantt_drag_marker .gantt_tree_icon.gantt_close,.gantt_drag_marker .gantt_tree_icon.gantt_open,.gantt_drag_marker .gantt_tree_indent{display:none}.gantt_drag_marker,.gantt_drag_marker .gantt_row.odd{background-color:#fff}.gantt_drag_marker .gantt_row{border-left:1px solid #d3d1c8;border-top:1px solid #d3d1c8}.gantt_drag_marker .gantt_cell{border-color:#d3d1c8}.gantt_row.gantt_over,.gantt_task_row.gantt_over{background-color:#0070fe}.gantt_row.gantt_transparent .gantt_cell{opacity:.7}.gantt_task_row.gantt_transparent{background-color:#fff}.dhtmlx_popup_button.dhtmlx_delete_button{border:1px solid #98d27e;background:#a7d991}
\ No newline at end of file
diff --git a/libraries/dhtmlxgantt/skins/dhtmlxgantt_skyblue.css b/libraries/dhtmlxgantt/skins/dhtmlxgantt_skyblue.css
deleted file mode 100644
index 1b22fa2..0000000
--- a/libraries/dhtmlxgantt/skins/dhtmlxgantt_skyblue.css
+++ /dev/null
@@ -1,9 +0,0 @@
-/*
-@license
-
-dhtmlxGantt v.3.2.0 Stardard
-This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited.
-
-(c) Dinamenta, UAB.
-*/
-.gridHoverStyle{background-color:#ffe6b1!important;background-image:-webkit-linear-gradient(top,#ffe09d 0,#ffeabb 100%);background-image:-moz-linear-gradient(top,#ffe09d 0,#ffeabb 100%);background-image:-ms-linear-gradient(top,#ffe09d 0,#ffeabb 100%);background-image:linear-gradient(to top,#ffe09d 0,#ffeabb 100%);border-top-color:#ffc341;border-bottom-color:#ffc341}.gridSelection{background-color:#ffe6b1!important;border-bottom-color:#ffc341}.timelineSelection{background-color:#ffe6b1!important;background-image:-webkit-linear-gradient(top,#ffe09d 0,#ffeabb 100%);background-image:-moz-linear-gradient(top,#ffe09d 0,#ffeabb 100%);background-image:-ms-linear-gradient(top,#ffe09d 0,#ffeabb 100%);background-image:linear-gradient(to top,#ffe09d 0,#ffeabb 100%);border-top-color:#ffc341;border-bottom-color:#ffc341}.timelineSelection .gantt_task_cell{border-right-color:#ffce65}.gantt_cal_quick_info .gantt_cal_qi_title{background:#fff}.gantt_cal_qi_controls .gantt_qi_big_icon .gantt_menu_icon.icon_delete{margin-top:5px}.gantt_container{font-family:Tahoma;font-size:11px;border:1px solid #a4bed4;position:relative;white-space:nowrap}.gantt_grid{border-right:1px solid #a4bed4}.gantt_task_scroll{overflow-x:scroll}.gantt_task{position:relative}.gantt_grid,.gantt_task{overflow-x:hidden;overflow-y:hidden;display:inline-block;vertical-align:top}.gantt_grid_scale,.gantt_task_scale{color:#42464b;border-bottom:1px solid #a4bed4;box-shadow:0 1px 1px #fff inset;background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#e4f0ff),color-stop(50%,#dfedff),color-stop(100%,#d5e8ff)) 0 1px repeat-x;background-image:-webkit-linear-gradient(top,#e4f0ff 0,#dfedff 50%,#d5e8ff 100%);background-image:-moz-linear-gradient(top,#e4f0ff 0,#dfedff 60%,#d5e8ff 100%);background-image:-ms-linear-gradient(top,#e4f0ff 0,#dfedff 60%,#d5e8ff 100%);background-image:-o-linear-gradient(top,#e4f0ff 0,#dfedff 60%,#d5e8ff 100%)}.gantt_scale_line{box-sizing:border-box;-moz-box-sizing:border-box;border-top:1px solid #a4bed4}.gantt_scale_line:first-child{border-top:none}.gantt_grid_head_cell{display:inline-block;vertical-align:top;border-right:1px solid #a4bed4;text-align:center;position:relative;cursor:default;height:100%;-moz-user-select:-moz-none;-webkit-user-select:none;-user-select:none;overflow:hidden}.gantt_scale_line{clear:both}.gantt_grid_data{width:100%;overflow:hidden}.gantt_row{position:relative;-webkit-user-select:none;-moz-user-select:none;-moz-user-select:-moz-none}.gantt_add,.gantt_grid_head_add{width:100%;height:100%;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NzZCMThBRUFCRTQ0MTFFMkFFMEFGMEFBMzJEN0RBRTIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NzZCMThBRUJCRTQ0MTFFMkFFMEFGMEFBMzJEN0RBRTIiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo3NkIxOEFFOEJFNDQxMUUyQUUwQUYwQUEzMkQ3REFFMiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo3NkIxOEFFOUJFNDQxMUUyQUUwQUYwQUEzMkQ3REFFMiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PkVHygEAAAEpSURBVHjaYgzeGcyABfxnwA4Y0QVY/v79i1VlsUMxCr/3QC9WdTgN+P//P8Ohr4fAbDtuOwZc6lj+/PmDVeLfv39wTSA2LnU4DQC5AGYAiI1LHRNQ4j861pfSZ3j36x1YEwiD2CAxbGoZbRbZ/K/3qUcx9cPvDwzXv11n+PL3C5jPw8zDoMmlySDAKoCirnFLI8QLID/ufLOTARf48OcDw/Gfx1HE3EXcwa5j+f37N95AwgVAekB64QaATISB97/fM1z5dIXh85/PYD4vCy+DDp8OgyCrIIYBjFoTtDBSnYWyBYO9rj3DsbfHwHwrYSuGg5cPMpy4ewIzFoCmMKLjwzcOMwiwCMBjAcQGiWFTizchweRompDwuiBANoCgCxjFasQoys4AAQYARt4I/K036xQAAAAASUVORK5CYII=);background-position:center center;background-repeat:no-repeat;cursor:pointer;position:relative;-moz-opacity:.3;opacity:.3}.gantt_grid_head_cell.gantt_grid_head_add{-moz-opacity:.6;opacity:.6;top:0}.gantt_grid_head_cell.gantt_grid_head_add:hover{-moz-opacity:1;opacity:1}.gantt_grid_data .gantt_row.odd:hover,.gantt_grid_data .gantt_row:hover{background-color:#ffe6b1!important;background-image:-webkit-linear-gradient(top,#ffe09d 0,#ffeabb 100%);background-image:-moz-linear-gradient(top,#ffe09d 0,#ffeabb 100%);background-image:-ms-linear-gradient(top,#ffe09d 0,#ffeabb 100%);background-image:linear-gradient(to top,#ffe09d 0,#ffeabb 100%);border-top-color:#ffc341;border-bottom-color:#ffc341}.gantt_grid_data .gantt_row.odd:hover .gantt_add,.gantt_grid_data .gantt_row:hover .gantt_add{-moz-opacity:1;opacity:1}.gantt_row,.gantt_task_row{border-bottom:1px solid #ebebeb;background-color:#fff}.gantt_row.odd,.gantt_task_row.odd{background-color:#fff}.gantt_cell,.gantt_grid_head_cell,.gantt_row,.gantt_scale_cell,.gantt_task_cell,.gantt_task_row{box-sizing:border-box;-moz-box-sizing:border-box}.gantt_grid_head_cell,.gantt_scale_cell{line-height:inherit}.gantt_grid_scale .gantt_grid_column_resize_wrap{cursor:col-resize;position:absolute;width:13px}.gantt_grid_column_resize_wrap .gantt_grid_column_resize{background-color:#a4bed4;height:100%;width:1px;margin:0 auto}.gantt_grid .gantt_grid_resize_wrap{cursor:col-resize;position:absolute;width:13px;z-index:1}.gantt_grid_resize_wrap .gantt_grid_resize{background-color:#a4bed4;width:1px;margin:0 auto}.gantt_drag_marker.gantt_grid_resize_area{background-color:rgba(231,231,231,.5);border-left:1px solid #a4bed4;border-right:1px solid #a4bed4;height:100%;width:100%;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.gantt_cell{display:inline-block;vertical-align:top;border-right:1px solid #ebebeb;padding-left:6px;padding-right:6px;height:100%;overflow:hidden;white-space:nowrap}.gantt_grid_data .gantt_last_cell,.gantt_grid_scale .gantt_last_cell,.gantt_task_bg .gantt_last_cell,.gantt_task_scale .gantt_last_cell{border-right-width:0}.gantt_task_bg{overflow:hidden}.gantt_scale_cell{display:inline-block;white-space:nowrap;overflow:hidden;border-right:1px solid #a4bed4;text-align:center;height:100%}.gantt_task_cell{display:inline-block;height:100%;border-right:1px solid #ebebeb}.gantt_ver_scroll{width:0;background-color:transparent;height:1px;overflow-x:hidden;overflow-y:scroll;display:none;position:absolute;right:0}.gantt_ver_scroll>div{width:1px;height:1px}.gantt_hor_scroll{height:0;background-color:transparent;width:100%;clear:both;overflow-x:scroll;overflow-y:hidden;display:none}.gantt_hor_scroll>div{width:5000px;height:1px}.gantt_tree_indent{width:15px;height:100%;display:inline-block}.gantt_tree_content,.gantt_tree_icon{vertical-align:top}.gantt_tree_icon{width:28px;height:100%;display:inline-block;background-repeat:no-repeat;background-position:center center}.gantt_tree_content{height:100%;display:inline-block}.gantt_tree_icon.gantt_open{background-image:url(data:image/gif;base64,R0lGODlhEgASAJEAAP///4SEhAAAAP///yH5BAUUAAMALAAAAAASABIAAAIqnI+py+0Powq01haA3iDgLWwek2mhNi6ZwLLdZ4owcL4kJ5OWJfX+DykAADs=);width:18px;cursor:pointer}.gantt_tree_icon.gantt_close{background-image:url(data:image/gif;base64,R0lGODlhEgASAJEAAP///4SEhAAAAP///yH5BAUUAAMALAAAAAASABIAAAImnI+py+0Powq01haA3iBgvnlMBnafgKLmWK4LCYpvK0+WJeX6DhUAOw==);width:18px;cursor:pointer}.gantt_tree_icon.gantt_blank{width:18px}.gantt_tree_icon.gantt_folder_open{background-image:url(data:image/gif;base64,R0lGODlhEgASAMQfAPXMWPK9N/fipOzLbPrVaP/89frqwv3tuvvprfLES+7PdP7xyP7z0vPAQfvtyMuaIv/32/735OSqFv3de+7ReP7lmf7gh/nv0v/67unFXfb29vK/PenFSaGEPfLnyv///yH5BAEAAB8ALAAAAAASABIAAAWS4Cc+ZGk+YvqZRVtgGiag6sNBThlFWnTQqQcE4sqRFj/VashsYR6HZI0JWSAjDwQCOGIgERULg/EQzJRQsGVCYHTK51qYTQDkFPj4iA4AJHIUgQoGQA8EdX4NhHgKAxeFfQkJGwGLeI6Fkg2UlQ8Dn5hBCZuchKChIxKkGw05Ga8DHlwkqg2tJ1xBtDlKvTUkviEAOw==)}.gantt_tree_icon.gantt_folder_closed{background-image:url(data:image/gif;base64,R0lGODlhEgASAMQfAPvjpP/24fPHVvnUdvzotdSiKv/23vvrw/LCS/C+RfnelvPMaf/88/nbi/rsyerYq/TLYv7y1v7wzeCsLO+8P86dJfvv0MuaIsydKPPOc+SqGKGEPe/AS+zVneWwLf///yH5BAEAAB8ALAAAAAASABIAAAWZ4CdeZGleYvpdA+O+zNUBqHoZOB4EceHUqVtuF+n9VCtdQCI5BC6FA3BkCEQkBALAACVMV9eDVhGJQGnIixigaAwiG6jie2G7BxDLpVJozG13EAICPxUeGRleQQMLgggJUhiHC3pBggKPFJETGZRAF5gJCRSaFxgTC55BCByioz+nEKojGgmtHBwPJAUCELo2J8FfSMTFxsUhADs=)}.gantt_tree_icon.gantt_file{background-image:url(data:image/gif;base64,R0lGODlhEgASAMQVAPv7+2RkZPf39/r6+vj4+Pn5+fT09Pb29vX19fHx8fDw8Onp6fLy8u7u7uzs7PPz8+vr6+rq6uXl5ejo6O/v7////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAABUALAAAAAASABIAAAV4YCWOZGkGaKqaVSAMQCwLQnAOj6ErzUTXpQDgQDgcGJTFDzgSEp4HRCKytDUBMKzAoIAsJACrSCjTGhINR5hELg8ECEZifS3HCgQEgj62xwZPAnwtbgMDBQU0g21Yh4iIi3aGkzBihH52lgEEmDIEli0qoigspSYhADs=)}.gantt_grid_head_cell .gantt_sort{position:absolute;right:5px;top:8px;width:7px;height:13px;background-repeat:no-repeat;background-position:center center}.gantt_grid_head_cell .gantt_sort.gantt_asc{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAANCAYAAABlyXS1AAAARUlEQVR4nGNgQAKGxib/GbABkIS7b8B/DAUwCRiGK0CXwFBAb1DfP/U/LszwHwi2X7qFgUEArBtdAVwCBmAKMCSQFSDzAWXXaOHsXeqkAAAAAElFTkSuQmCC)}.gantt_grid_head_cell .gantt_sort.gantt_desc{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAANCAYAAABlyXS1AAAARUlEQVR42mNgQAL1/VP/M2ADIIntF2/9x1AAlrh0C47hCmA60DFYwX88gIFGwNDY5D8uDFbg7hvwHx2jmIBTAlkB0e4BAEjlaNtBWJPnAAAAAElFTkSuQmCC)}.gantt_inserted,.gantt_updated{font-weight:700}.gantt_deleted{text-decoration:line-through}.gantt_invalid{background-color:FFE0E0}.gantt_error{color:red}.gantt_status{right:1px;padding:5px 10px;background:rgba(155,155,155,.1);position:absolute;top:1px;-webkit-transition:opacity .2s;transition:opacity .2s;opacity:0}.gantt_status.gantt_status_visible{opacity:1}#gantt_ajax_dots span{-webkit-transition:opacity .2s;transition:opacity .2s;background-repeat:no-repeat;opacity:0}#gantt_ajax_dots span.gantt_dot_visible{opacity:1}.dhtmlx_message_area{position:fixed;right:5px;width:250px;z-index:1000}.dhtmlx-info{min-width:120px;font-family:Tahoma;z-index:10000;margin:5px 5px 10px;-webkit-transition:all .5s ease;-moz-transition:all .5s ease;-o-transition:all .5s ease;transition:all .5s ease}.dhtmlx-info.hidden{height:0;padding:0;border-width:0;margin:0;overflow:hidden}.dhtmlx_modal_box{overflow:hidden;display:inline-block;min-width:250px;width:250px;text-align:center;position:fixed;z-index:20000;box-shadow:3px 3px 3px rgba(0,0,0,.07);font-family:Tahoma;border-radius:0;border:1px solid #a4bed4;background:#fff}.dhtmlx_popup_title{border-top-left-radius:0;border-top-right-radius:0;border-width:0}.dhtmlx_button,.dhtmlx_popup_button{border:1px solid #a4bed4;height:24px;line-height:24px;display:inline-block;margin:0 5px;border-radius:4px;background-color:#f8f8f8;background-image:-webkit-linear-gradient(top,#e6e6e6 0,#fff 100%);background-image:-moz-linear-gradient(top,#e6e6e6 0,#fff 100%);background-image:-ms-linear-gradient(top,#e6e6e6 0,#fff 100%);background-image:linear-gradient(to top,#e6e6e6 0,#fff 100%)}.dhtmlx-info,.dhtmlx_button,.dhtmlx_popup_button{user-select:none;-webkit-user-select:none;-moz-user-select:-moz-none;cursor:pointer}.dhtmlx_popup_text{overflow:hidden}.dhtmlx_popup_controls{border-radius:6px;padding:10px}.dhtmlx_popup_button{min-width:100px}div.dhx_modal_cover{background-color:#000;cursor:default;filter:alpha(opacity=20);opacity:.2;position:fixed;z-index:19999;left:0;top:0;width:100%;height:100%;border:none;zoom:1}.dhtmlx-info img,.dhtmlx_modal_box img{float:left;margin-right:20px}.dhtmlx-alert-error,.dhtmlx-confirm-error{border:1px solid red}.dhtmlx_button input,.dhtmlx_popup_button div{border-radius:4px;font-size:15px;-moz-box-sizing:content-box;box-sizing:content-box;padding:0;margin:0;vertical-align:top}.dhtmlx_popup_title{color:#fff;text-shadow:1px 1px #000;height:40px;line-height:40px;font-size:20px}.dhtmlx_popup_text{margin:15px 15px 5px;font-size:14px;color:#000;min-height:30px;border-radius:0}.dhtmlx-error,.dhtmlx-info{font-size:14px;color:#000;box-shadow:3px 3px 3px rgba(0,0,0,.07);padding:0;background-color:#FFF;border-radius:3px;border:1px solid #fff}.dhtmlx-info div{padding:5px 10px;background-color:#fff;border-radius:3px;border:1px solid #a4bed4}.dhtmlx-error{background-color:#d81b1b;border:1px solid #ff3c3c;box-shadow:3px 3px 3px rgba(0,0,0,.07)}.dhtmlx-error div{background-color:#d81b1b;border:1px solid #940000;color:#FFF}.gantt_data_area div,.gantt_grid div{-ms-touch-action:none;-webkit-tap-highlight-color:transparent}.gantt_data_area{position:relative;overflow-x:hidden;overflow-y:hidden;-moz-user-select:-moz-none;-webkit-user-select:none;-user-select:none}.gantt_links_area{position:absolute;left:0;top:0}.gantt_side_content,.gantt_task_content,.gantt_task_progress{line-height:inherit;overflow:hidden;height:100%}.gantt_task_content{font-size:12px;color:#1e2022;width:100%;top:0;position:absolute;white-space:nowrap;text-align:center}.gantt_task_progress{text-align:center;z-index:0;background:#82b7de;background-image:-webkit-linear-gradient(top,#abcee8 0,#5aa0d3 36%,#bfdaee 100%);background-image:-moz-linear-gradient(top,#abcee8 0,#5aa0d3 36%,#bfdaee 100%);background-image:-ms-linear-gradient(top,#abcee8 0,#5aa0d3 36%,#bfdaee 100%);background-image:linear-gradient(to top,#abcee8 0,#5aa0d3 36%,#bfdaee 100%)}.gantt_task_line{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;position:absolute;-moz-box-sizing:border-box;box-sizing:border-box;background-color:#eff6fb;border:1px solid #3588c5;-webkit-user-select:none;-moz-user-select:none;-moz-user-select:-moz-none}.gantt_task_line.gantt_drag_move div{cursor:move}.gantt_touch_move,.gantt_touch_progress .gantt_touch_resize{-moz-transform:scale(1.02,1.1);-o-transform:scale(1.02,1.1);-webkit-transform:scale(1.02,1.1);transform:scale(1.02,1.1);-moz-transform-origin:50%;-o-transform-origin:50%;-webkit-transform-origin:50%;transform-origin:50%}.gantt_touch_progress .gantt_task_progress_drag,.gantt_touch_resize .gantt_task_drag{-moz-transform:scaleY(1.3);-o-transform:scaleY(1.3);-webkit-transform:scaleY(1.3);transform:scaleY(1.3);-moz-transform-origin:50%;-o-transform-origin:50%;-webkit-transform-origin:50%;transform-origin:50%}.gantt_side_content{position:absolute;white-space:nowrap;color:#6e6e6e;bottom:7px;font-size:11px}.gantt_side_content.gantt_left{right:100%;padding-right:15px}.gantt_side_content.gantt_right{left:100%;padding-left:15px}.gantt_side_content.gantt_link_crossing{bottom:6.75px}.gantt_link_arrow,.gantt_task_link .gantt_line_wrapper{position:absolute;cursor:pointer}.gantt_line_wrapper div{background-color:#4a8f43}.gantt_task_link:hover .gantt_line_wrapper div{box-shadow:0 0 5px 0 #4a8f43}.gantt_task_link div.gantt_link_arrow{background-color:transparent;border-style:solid;width:0;height:0}.gantt_link_control{position:absolute;width:13px;top:0}.gantt_link_control div{display:none;cursor:pointer;box-sizing:border-box;position:relative;top:50%;margin-top:-7.5px;vertical-align:middle;border:1px solid #929292;-webkit-border-radius:6.5px;-moz-border-radius:6.5px;border-radius:6.5px;height:13px;width:13px;background-color:#f0f0f0}.gantt_link_control div:hover{background-color:#fff}.gantt_link_control.task_left{left:-13px}.gantt_link_control.task_right{right:-13px}.gantt_link_target .gantt_link_control div,.gantt_task_line.gantt_selected .gantt_link_control div,.gantt_task_line:hover .gantt_link_control div{display:block}.gantt_link_source,.gantt_link_target{box-shadow:0 0 3px #0070fe}.gantt_link_target.link_finish_allow,.gantt_link_target.link_start_allow{box-shadow:0 0 3px #6eb867}.gantt_link_target.link_finish_deny,.gantt_link_target.link_start_deny{box-shadow:0 0 3px #e87e7b}.link_finish_allow .gantt_link_control.task_right div,.link_start_allow .gantt_link_control.task_left div{background-color:#6eb867;border-color:#4a8f43}.link_finish_deny .gantt_link_control.task_right div,.link_start_deny .gantt_link_control.task_left div{background-color:#e87e7b;border-color:#dd3e3a}.gantt_link_arrow_right{border-width:4px 0 4px 8px;border-top-color:transparent!important;border-right-color:transparent!important;border-bottom-color:transparent!important;border-color:#4a8f43;margin-top:-1px}.gantt_link_arrow_left{border-width:4px 8px 4px 0;margin-top:-1px;border-top-color:transparent!important;border-color:#4a8f43;border-bottom-color:transparent!important;border-left-color:transparent!important}.gantt_link_arrow_top{border-width:0 4px 8px;border-color:#4a8f43;border-top-color:transparent!important;border-right-color:transparent!important;border-left-color:transparent!important}.gantt_link_arrow_down{border-width:4px 8px 0 4px;border-color:#4a8f43;border-right-color:transparent!important;border-bottom-color:transparent!important;border-left-color:transparent!important}.gantt_task_drag,.gantt_task_progress_drag{cursor:w-resize;height:100%;display:none;position:absolute}.gantt_task_line.gantt_selected .gantt_task_drag,.gantt_task_line.gantt_selected .gantt_task_progress_drag,.gantt_task_line:hover .gantt_task_drag,.gantt_task_line:hover .gantt_task_progress_drag{display:block}.gantt_task_drag{width:6px;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAACCAYAAACUn8ZgAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MDEyNDQ5RDdCRTQ5MTFFMjhBQzlGRDA2RDIyNDc5NzEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MDEyNDQ5RDhCRTQ5MTFFMjhBQzlGRDA2RDIyNDc5NzEiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDowMTI0NDlENUJFNDkxMUUyOEFDOUZEMDZEMjI0Nzk3MSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDowMTI0NDlENkJFNDkxMUUyOEFDOUZEMDZEMjI0Nzk3MSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pv8NECcAAAAaSURBVHjaYvz//z8DLsAEIsw6j/3HRgMEGAARnwqNiuFmdQAAAABJRU5ErkJggg==);z-index:1;top:0}.gantt_task_drag.task_left{left:0}.gantt_task_drag.task_right{right:0}.gantt_task_progress_drag{height:8px;width:8px;bottom:-4px;margin-left:-4px;background-position:bottom;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NDNGNzQ1MTZCQkRBMTFFMjlBMjRBRkU0RkNCMTUzNkUiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NDNGNzQ1MTdCQkRBMTFFMjlBMjRBRkU0RkNCMTUzNkUiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo0M0Y3NDUxNEJCREExMUUyOUEyNEFGRTRGQ0IxNTM2RSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo0M0Y3NDUxNUJCREExMUUyOUEyNEFGRTRGQ0IxNTM2RSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PrBLI3EAAACISURBVHjafE07DkMhDAuftQdgYuCWbZ9a0WtwGJC4BgMbYmVGaZLpqWpryZFjOwrACSmlSLzCN1DwrLUik/TtM3yUUnDOiWMMZE3enTNF4gghRO89KKXkABGh9w6ttcPSHp1zsNaCvbcUjDHAHhVemg1rrVxprYWs2ZOMR84ZfoGfXuAP3gIMABorQUvC1invAAAAAElFTkSuQmCC);background-repeat:no-repeat;z-index:2}.gantt_link_tooltip{box-shadow:3px 3px 3px #888;background-color:#fff;border-left:1px dotted #cecece;border-top:1px dotted #cecece;font-family:Tahoma;font-size:8pt;color:#444;padding:6px;line-height:20px}.gantt_link_direction{height:0;border:0 #4a8f43;border-bottom-style:dashed;border-bottom-width:2px;transform-origin:0 0;-ms-transform-origin:0 0;-webkit-transform-origin:0 0;z-index:2;margin-left:1px;position:absolute}.gantt_grid_data .gantt_row.gantt_selected,.gantt_grid_data .gantt_row.odd.gantt_selected{background-color:#ffe6b1!important;border-bottom-color:#ffc341}.gantt_task_row.gantt_selected{background-color:#ffe6b1!important;background-image:-webkit-linear-gradient(top,#ffe09d 0,#ffeabb 100%);background-image:-moz-linear-gradient(top,#ffe09d 0,#ffeabb 100%);background-image:-ms-linear-gradient(top,#ffe09d 0,#ffeabb 100%);background-image:linear-gradient(to top,#ffe09d 0,#ffeabb 100%);border-top-color:#ffc341;border-bottom-color:#ffc341}.gantt_task_row.gantt_selected .gantt_task_cell{border-right-color:#ffce65}.gantt_task_line.gantt_selected{box-shadow:0 0 5px #5aa0d3}.gantt_task_line.gantt_project.gantt_selected{box-shadow:0 0 5px #9ab9f1}.gantt_task_line.gantt_milestone{visibility:hidden;background-color:#db7dc5;border:0 solid #cd49ae;box-sizing:content-box;-moz-box-sizing:content-box}.gantt_task_line.gantt_milestone div{visibility:visible}.gantt_task_line.gantt_milestone .gantt_task_content{background:inherit;border:inherit;border-width:1px;border-radius:inherit;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);-o-transform:rotate(45deg);transform:rotate(45deg)}.gantt_task_line.gantt_task_inline_color{border-color:#999}.gantt_task_line.gantt_task_inline_color .gantt_task_progress{background-color:#363636;opacity:.2}.gantt_task_line.gantt_task_inline_color.gantt_project.gantt_selected,.gantt_task_line.gantt_task_inline_color.gantt_selected{box-shadow:0 0 5px #999}.gantt_task_link.gantt_link_inline_color:hover .gantt_line_wrapper div{box-shadow:0 0 5px 0 #999}.gantt_critical_task{background-color:#e63030;border-color:#9d3a3a}.gantt_critical_task .gantt_task_progress{background-color:rgba(0,0,0,.4)}.gantt_critical_link .gantt_line_wrapper>div{background-color:#e63030}.gantt_critical_link .gantt_link_arrow{border-color:#e63030}.gantt_unselectable,.gantt_unselectable div{-webkit-user-select:none;-moz-user-select:none;-moz-user-select:-moz-none}.gantt_cal_light{-webkit-tap-highlight-color:transparent;background-color:#eff6fb;border-radius:0;font-family:Tahoma;font-size:11px;border:1px solid #a4bed4;color:#42464b;position:absolute;z-index:10001;width:550px;height:250px;box-shadow:3px 3px 3px rgba(0,0,0,.07)}.gantt_cal_light select{font-family:Tahoma;border:1px solid #a4bed4;font-size:11px;padding:2px;margin:0}.gantt_cal_ltitle{padding:7px 10px;overflow:hidden;white-space:nowrap;-webkit-border-radius:0;-moz-border-radius-topleft:0;-moz-border-radius-bottomleft:0;-moz-border-radius-topright:0;-moz-border-radius-bottomright:0;border-radius:0}.gantt_cal_ltitle span{white-space:nowrap}.gantt_cal_lsection{color:#727272;font-weight:700;padding:12px 0 5px 10px}.gantt_cal_lsection .gantt_fullday{float:right;margin-right:5px;font-size:12px;font-weight:400;line-height:20px;vertical-align:top;cursor:pointer}.gantt_cal_lsection{font-size:13px}.gantt_cal_ltext{padding:2px 10px;overflow:hidden}.gantt_cal_ltext textarea{overflow:auto;font-family:Tahoma;font-size:11px;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;border:1px solid #a4bed4;height:100%;width:100%;outline:0!important;resize:none}.gantt_time{font-weight:700}.gantt_cal_light .gantt_title{padding-left:10px}.gantt_cal_larea{border:1px solid #a4bed4;border-left:none;border-right:none;background-color:#fff;overflow:hidden;height:1px}.gantt_btn_set{margin:10px 7px 5px 10px;padding:2px 25px 2px 10px;float:left;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;border-width:1px;border-color:#a4bed4;border-style:solid;height:26px;color:#42464b;background-color:#f8f8f8;background-image:-webkit-linear-gradient(top,#e6e6e6 0,#fff 100%);background-image:-moz-linear-gradient(top,#e6e6e6 0,#fff 100%);background-image:-ms-linear-gradient(top,#e6e6e6 0,#fff 100%);background-image:linear-gradient(to top,#e6e6e6 0,#fff 100%);-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;cursor:pointer}.gantt_btn_set div{float:left;font-size:13px;height:20px;line-height:20px;background-repeat:no-repeat;vertical-align:middle}.gantt_save_btn{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QkE5Nzc4RENDMzAzMTFFMjk4QjNBODhDMUM4QUUwNEQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QkE5Nzc4RERDMzAzMTFFMjk4QjNBODhDMUM4QUUwNEQiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpCQTk3NzhEQUMzMDMxMUUyOThCM0E4OEMxQzhBRTA0RCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpCQTk3NzhEQkMzMDMxMUUyOThCM0E4OEMxQzhBRTA0RCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pr5Ot2UAAAFoSURBVHjapFO7SgNRED0rxkjEELbcQksLBUMg4EfkG7YV/AFTpBAUfNQisVDQD7CQlBaWwoZ8gNEiFttmg3GTfbF6JtzFTUJYyIHhDnfOnJm5Dy2OYywDjQJnF5ex/dXDweENNtaAzT/jur46IY1D4McHvv3J+nZ7BGNrG436sSaU3ucHqtUqzP1sVcflMizLEl8EwjBEFEXwomwC5DInEeDGaDSC62cTIJc5iUAQBGJukE1A8YkVNYLv++h232WMRUYOuakRlOLTwzU8z1tYPZ/Po1QqJR0kAgQDWTEjwLaIWq0GwzDmJtm2jVarNSvAeeQQXVe6ME1Tgs1mMyXA2GAwQKFQmH8G/X4fjuOgWCxKkP40yMnlcukO1MNgAivoui5B+tMgh3H1DuQa66fnaLfbGA6HMgY7oNGfNnL+v0RN/cbnl9f46qSBSqUiM9J4ZQSvVgl0Oh1pf2d3D4/3d5q27Hf+FWAAc90EKSR5k78AAAAASUVORK5CYII=);margin-top:2px;width:21px}.gantt_cancel_btn{margin-top:2px;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QzU4NTQ3NUZDMzAzMTFFMkE0MjRGNTQzQjE0MTNDQkIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QzU4NTQ3NjBDMzAzMTFFMkE0MjRGNTQzQjE0MTNDQkIiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpDNTg1NDc1REMzMDMxMUUyQTQyNEY1NDNCMTQxM0NCQiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpDNTg1NDc1RUMzMDMxMUUyQTQyNEY1NDNCMTQxM0NCQiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PkVB3hoAAAEYSURBVHjapJM9CsJAEIUTFStbQRA8gKCNKSIIeohUVraC9oKiGBRsBDvBylbwEkJQCys9gJUgeIOAxDfwEpYNpsmDL7PZ+cn+TMwgCIw0yhgplZPH3bbVuRqYgiYogxe4ABc8wqD69RpbQR6MwQ04TDZoHc6LP/tvC2uw4Fi+Vgcmrct58W9iW4BaYAB80OGSQ8my7xz7jDsAT11Bn3alJYvUa1pp8VGBNu0uIVm2s9fiowJF8OWJ/0sWPRlX1At8eLqlhGRRhXEfvcCJtpeQLOpq8VGBLe04Ibmh+Ld6AY8HWOBVzUCVvio780z/LrxCtQ9EQ+5tBOZElRzeUmmqWCfKlyfAAkfw5vyb7xb9vlrATPs7/wQYAISgQGDaq6hUAAAAAElFTkSuQmCC);width:20px}.gantt_delete_btn{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6RTA3M0M1MzJDMzAzMTFFMkE5ODZDRjhENzQ2MUZFNzkiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6RTA3M0M1MzNDMzAzMTFFMkE5ODZDRjhENzQ2MUZFNzkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpFMDczQzUzMEMzMDMxMUUyQTk4NkNGOEQ3NDYxRkU3OSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpFMDczQzUzMUMzMDMxMUUyQTk4NkNGOEQ3NDYxRkU3OSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pplu0sEAAAErSURBVHja3FOxboMwED0nIQNbJoaOZM0YyMhGqwz8BOQ3mm5I/AHwCayoGVlhZUSMHTIhsSCEhOtzawRIlZDY+qTTs893z6fzmVBKYQ12YhEEweB0HAf3tCxLUFUVXWSeiDGIzW/ynRE9HA7coihCBtd1AVn40TCO2X1ewbthGCBJEiiKAtvtFggh0HUdWJYFfd9zez6f3JckiS1EhEDmeZ623+9BlmWejCaAfWqahou0bQumab7MK9DP5zM9nU5c4Hg8ch4nF0XBOc9zuF6vg/pm3pw0TSdNDcPwp8QsG2LiOIY/BZagqqp1AmP8M4Gvuq5B1/XJqNq2zVnTNMBzjBsLEHxnHBrf91/Z/nPBpW+32+0hPuFODAt79wtbfiwQuLD4x6SCNfgWYAAfQYJFsOV+5AAAAABJRU5ErkJggg==);margin-top:2px;width:20px}.gantt_cal_cover{width:100%;height:100%;position:absolute;z-index:10000;top:0;left:0;background-color:#000;opacity:.1;filter:alpha(opacity=10)}.gantt_custom_button{padding:0 3px;font-family:Tahoma;font-size:11px;font-weight:400;margin-right:10px;margin-top:-5px;cursor:pointer;float:right;height:21px;width:90px;border:1px solid #CECECE;text-align:center;-webkit-border-radius:4px;-moz-border-radius:4px;-ms-border-radius:4px;-o-border-radius:4px;border-radius:4px}.gantt_custom_button div{cursor:pointer;float:none;height:21px;line-height:21px;vertical-align:middle}.gantt_custom_button div:first-child{display:none}.gantt_cal_light_wide{width:580px;padding:2px 4px}.gantt_cal_light_wide .gantt_cal_larea{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;border:1px solid #a4bed4}.gantt_cal_light_wide .gantt_cal_lsection{border:0;float:left;text-align:right;width:80px;height:20px;padding:5px 10px 0 0}.gantt_cal_light_wide .gantt_wrap_section{position:relative;padding:10px 0;overflow:hidden;border-bottom:1px solid #ebebeb}.gantt_cal_light_wide .gantt_section_time{overflow:hidden;padding-top:2px!important;padding-right:0;height:20px!important}.gantt_cal_light_wide .gantt_cal_ltext{padding-right:0}.gantt_cal_light_wide .gantt_cal_larea{padding:0 10px;width:100%}.gantt_cal_light_wide .gantt_section_time{background:0 0}.gantt_cal_light_wide .gantt_cal_checkbox label{padding-left:0}.gantt_cal_light_wide .gantt_cal_lsection .gantt_fullday{float:none;margin-right:0;font-weight:700;cursor:pointer}.gantt_cal_light_wide .gantt_custom_button{position:absolute;top:0;right:0;margin-top:2px}.gantt_cal_light_wide .gantt_repeat_right{margin-right:55px}.gantt_cal_light_wide.gantt_cal_light_full{width:738px}.gantt_cal_wide_checkbox input{margin-top:8px;margin-left:14px}.gantt_cal_light input{font-size:11px}.gantt_section_time{background-color:#fff;white-space:nowrap;padding:5px 10px;padding-top:2px!important}.gantt_section_time .gantt_time_selects{float:left;height:25px}.gantt_section_time .gantt_time_selects select{height:23px;padding:2px;border:1px solid #a4bed4}.gantt_duration{width:100px;height:23px;float:left;white-space:nowrap;margin-left:20px;line-height:23px}.gantt_duration .gantt_duration_dec,.gantt_duration .gantt_duration_inc,.gantt_duration .gantt_duration_value{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;text-align:center;vertical-align:top;height:100%;border:1px solid #a4bed4}.gantt_duration .gantt_duration_value{width:40px;padding:3px 4px;border-left-width:0;border-right-width:0}.gantt_duration .gantt_duration_dec,.gantt_duration .gantt_duration_inc{width:20px;padding:1px 1px 3px;background-color:#f8f8f8;background-image:-webkit-linear-gradient(top,#e6e6e6 0,#fff 100%);background-image:-moz-linear-gradient(top,#e6e6e6 0,#fff 100%);background-image:-ms-linear-gradient(top,#e6e6e6 0,#fff 100%);background-image:linear-gradient(to top,#e6e6e6 0,#fff 100%)}.gantt_duration .gantt_duration_dec{-moz-border-top-left-radius:4px;-moz-border-bottom-left-radius:4px;-webkit-border-top-left-radius:4px;-webkit-border-bottom-left-radius:4px;border-top-left-radius:4px;border-bottom-left-radius:4px}.gantt_duration .gantt_duration_inc{margin-right:4px;-moz-border-top-right-radius:4px;-moz-border-bottom-right-radius:4px;-webkit-border-top-right-radius:4px;-webkit-border-bottom-right-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:4px}.gantt_cal_quick_info{border:1px solid #a4bed4;border-radius:0;position:absolute;z-index:300;box-shadow:3px 3px 3px rgba(0,0,0,.07);background-color:#fff;width:300px;transition:left .5s ease,right .5s;-moz-transition:left .5s ease,right .5s;-webkit-transition:left .5s ease,right .5s;-o-transition:left .5s ease,right .5s}.gantt_no_animate{transition:none;-moz-transition:none;-webkit-transition:none;-o-transition:none}.gantt_cal_quick_info.gantt_qi_left .gantt_qi_big_icon{float:right}.gantt_cal_qi_title{-webkit-border-radius:0;-moz-border-radius-topleft:0;-moz-border-radius-bottomleft:0;-moz-border-radius-topright:0;-moz-border-radius-bottomright:0;border-radius:0;padding:5px 0 8px 12px;color:#1e2022;box-shadow:0 1px 1px #fff inset;background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#e4f0ff),color-stop(50%,#dfedff),color-stop(100%,#d5e8ff)) 0 1px repeat-x;background-image:-webkit-linear-gradient(top,#e4f0ff 0,#dfedff 50%,#d5e8ff 100%);background-image:-moz-linear-gradient(top,#e4f0ff 0,#dfedff 60%,#d5e8ff 100%);background-image:-ms-linear-gradient(top,#e4f0ff 0,#dfedff 60%,#d5e8ff 100%);background-image:-o-linear-gradient(top,#e4f0ff 0,#dfedff 60%,#d5e8ff 100%);border-bottom:1px solid #a4bed4}.gantt_cal_qi_tdate{font-size:14px;font-weight:700}.gantt_cal_qi_tcontent{font-size:11px}.gantt_cal_qi_content{padding:16px 8px;font-size:13px;color:#1e2022;overflow:hidden}.gantt_cal_qi_controls{-webkit-border-radius:0;-moz-border-radius-topleft:0;-moz-border-radius-bottomleft:0;-moz-border-radius-topright:0;-moz-border-radius-bottomright:0;border-radius:0;padding-left:7px}.gantt_cal_qi_controls .gantt_menu_icon{margin-top:3px;background-repeat:no-repeat}.gantt_cal_qi_controls .gantt_menu_icon.icon_edit{width:20px;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAB3RJTUUH3QYFDhEuX3ujFgAAAFNJREFUOMvt0zEOACAIA0DksTyqn8XJTRTKZGJXyaWEKPKTCQAH4Ls37cItcDUzsxHNDLZNhCq7Gt1wh9ErV7EjyGAhyGLphlnsClWuS32rn0czAV+sNUIROnQoAAAAAElFTkSuQmCC)}.gantt_cal_qi_controls .gantt_menu_icon.icon_delete{width:20px;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6RTA3M0M1MzJDMzAzMTFFMkE5ODZDRjhENzQ2MUZFNzkiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6RTA3M0M1MzNDMzAzMTFFMkE5ODZDRjhENzQ2MUZFNzkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpFMDczQzUzMEMzMDMxMUUyQTk4NkNGOEQ3NDYxRkU3OSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpFMDczQzUzMUMzMDMxMUUyQTk4NkNGOEQ3NDYxRkU3OSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pplu0sEAAAErSURBVHja3FOxboMwED0nIQNbJoaOZM0YyMhGqwz8BOQ3mm5I/AHwCayoGVlhZUSMHTIhsSCEhOtzawRIlZDY+qTTs893z6fzmVBKYQ12YhEEweB0HAf3tCxLUFUVXWSeiDGIzW/ynRE9HA7coihCBtd1AVn40TCO2X1ewbthGCBJEiiKAtvtFggh0HUdWJYFfd9zez6f3JckiS1EhEDmeZ623+9BlmWejCaAfWqahou0bQumab7MK9DP5zM9nU5c4Hg8ch4nF0XBOc9zuF6vg/pm3pw0TSdNDcPwp8QsG2LiOIY/BZagqqp1AmP8M4Gvuq5B1/XJqNq2zVnTNMBzjBsLEHxnHBrf91/Z/nPBpW+32+0hPuFODAt79wtbfiwQuLD4x6SCNfgWYAAfQYJFsOV+5AAAAABJRU5ErkJggg==)}.gantt_qi_big_icon{font-size:13px;border-radius:4px;color:#42464b;background-color:#f8f8f8;background-image:-webkit-linear-gradient(top,#e6e6e6 0,#fff 100%);background-image:-moz-linear-gradient(top,#e6e6e6 0,#fff 100%);background-image:-ms-linear-gradient(top,#e6e6e6 0,#fff 100%);background-image:linear-gradient(to top,#e6e6e6 0,#fff 100%);margin:5px 9px 8px 0;min-width:60px;line-height:26px;vertical-align:middle;padding:0 10px 0 5px;cursor:pointer;border:1px solid #a4bed4}.gantt_cal_qi_controls div{float:left;height:26px;text-align:center;line-height:26px}.gantt_tooltip{box-shadow:3px 3px 3px rgba(0,0,0,.07);background-color:#fff;border-left:1px solid rgba(0,0,0,.07);border-top:1px solid rgba(0,0,0,.07);font-family:Tahoma;font-size:8pt;color:#1e2022;padding:10px;position:absolute;z-index:50}.gantt_marker{height:100%;width:2px;top:0;position:absolute;text-align:center;background-color:rgba(255,0,0,.4);-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.gantt_marker .gantt_marker_content{padding:5px;background:inherit;color:#fff;position:absolute;font-size:12px;line-height:12px;opacity:.8}.gantt_marker_area{position:absolute;top:0;left:0}.gantt_noselect{-moz-user-select:-moz-none;-webkit-user-select:none;-user-select:none}.gantt_drag_marker{position:absolute;font-family:Tahoma;font-size:11px}.gantt_drag_marker .gantt_tree_icon.gantt_blank,.gantt_drag_marker .gantt_tree_icon.gantt_close,.gantt_drag_marker .gantt_tree_icon.gantt_open,.gantt_drag_marker .gantt_tree_indent{display:none}.gantt_drag_marker,.gantt_drag_marker .gantt_row.odd{background-color:#fff}.gantt_drag_marker .gantt_row{border-left:1px solid #d2d2d2;border-top:1px solid #d2d2d2}.gantt_drag_marker .gantt_cell{border-color:#d2d2d2}.gantt_row.gantt_over,.gantt_task_row.gantt_over{background-color:#0070fe}.gantt_row.gantt_transparent .gantt_cell{opacity:.7}.gantt_task_row.gantt_transparent{background-color:#e4f0ff}
\ No newline at end of file
diff --git a/libraries/dhtmlxgantt/skins/dhtmlxgantt_terrace.css b/libraries/dhtmlxgantt/skins/dhtmlxgantt_terrace.css
deleted file mode 100644
index 7ca01eb..0000000
--- a/libraries/dhtmlxgantt/skins/dhtmlxgantt_terrace.css
+++ /dev/null
@@ -1,9 +0,0 @@
-/*
-@license
-
-dhtmlxGantt v.3.2.0 Stardard
-This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited.
-
-(c) Dinamenta, UAB.
-*/
-.gridHoverStyle,.gridSelection,.timelineSelection{background-color:#fff3a1}.gantt_grid_scale .gantt_grid_head_cell{color:#a6a6a6;border-top:none!important;border-right:none!important}.gantt_grid_data .gantt_cell{border-right:none;color:#454545}.gantt_task_link .gantt_link_arrow_right{border-width:6px;margin-top:-3px}.gantt_task_link .gantt_link_arrow_left{border-width:6px;margin-left:-6px;margin-top:-3px}.gantt_task_link .gantt_link_arrow_down,.gantt_task_link .gantt_link_arrow_top{border-width:6px}.gantt_task_line .gantt_task_progress_drag{bottom:-4px;height:16px;margin-left:-8px;width:16px}.chartHeaderBg{background-color:#fff}.gantt_task .gantt_task_scale .gantt_scale_cell{color:#a6a6a6;border-right:1px solid #ebebeb}.gantt_row.gantt_project,.gantt_row.odd.gantt_project{background-color:#edffef}.gantt_task_row.gantt_project,.gantt_task_row.odd.gantt_project{background-color:#f5fff6}.gantt_task_line.gantt_project{background-color:#65c16f;border:1px solid #3c9445}.gantt_task_line.gantt_project .gantt_task_progress{background-color:#46ad51}.buttonBg{background:#fff}.gantt_cal_light .gantt_btn_set{margin:5px 10px}.gantt_btn_set.gantt_cancel_btn_set{background:#fff;color:#454545;border:1px solid #cecece}.gantt_btn_set.gantt_save_btn_set{background:#3db9d3;text-shadow:0 -1px 0 #248a9f;color:#fff}.gantt_btn_set.gantt_delete_btn_set{background:#ec8e00;text-shadow:0 -1px 0 #a60;color:#fff}.gantt_cal_light_wide{padding-left:0!important;padding-right:0!important}.gantt_cal_light_wide .gantt_cal_larea{border-left:none!important;border-right:none!important}.dhtmlx_popup_button.dhtmlx_ok_button{background:#3db9d3;text-shadow:0 -1px 0 #248a9f;color:#fff;font-weight:700;border-width:0}.dhtmlx_popup_button.dhtmlx_cancel_button{font-weight:700;color:#454544}.gantt_qi_big_icon.icon_edit{color:#454545;background:#fff}.gantt_qi_big_icon.icon_delete{text-shadow:0 -1px 0 #a60;background:#ec8e00;color:#fff;border-width:0}.gantt_container{font-family:Arial;font-size:13px;border:1px solid #cecece;position:relative;white-space:nowrap}.gantt_grid{border-right:1px solid #cecece}.gantt_task_scroll{overflow-x:scroll}.gantt_task{position:relative}.gantt_grid,.gantt_task{overflow-x:hidden;overflow-y:hidden;display:inline-block;vertical-align:top}.gantt_grid_scale,.gantt_task_scale{color:#6b6b6b;font-size:12px;border-bottom:1px solid #cecece;background-color:#fff}.gantt_scale_line{box-sizing:border-box;-moz-box-sizing:border-box;border-top:1px solid #cecece}.gantt_scale_line:first-child{border-top:none}.gantt_grid_head_cell{display:inline-block;vertical-align:top;border-right:1px solid #cecece;text-align:center;position:relative;cursor:default;height:100%;-moz-user-select:-moz-none;-webkit-user-select:none;-user-select:none;overflow:hidden}.gantt_scale_line{clear:both}.gantt_grid_data{width:100%;overflow:hidden}.gantt_row{position:relative;-webkit-user-select:none;-moz-user-select:none;-moz-user-select:-moz-none}.gantt_add,.gantt_grid_head_add{width:100%;height:100%;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NTQ3MjMyMENDNkI0MTFFMjk4MTI5QTg3MDhFNDVDQTkiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NTQ3MjMyMERDNkI0MTFFMjk4MTI5QTg3MDhFNDVDQTkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo1NDcyMzIwQUM2QjQxMUUyOTgxMjlBODcwOEU0NUNBOSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo1NDcyMzIwQkM2QjQxMUUyOTgxMjlBODcwOEU0NUNBOSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PshZT8UAAABbSURBVHjaYrTdeZmBEsCER+4wEP+H4sPkGGCDg020ARR7gb4GIAcYDKMDdPnDyAbYkGG5DVW9cIQMvUdBBAuUY4vDz8iAcZinA2zgCHqAYQMseAywJcYFAAEGAM+UFGuohFczAAAAAElFTkSuQmCC);background-position:center center;background-repeat:no-repeat;cursor:pointer;position:relative;-moz-opacity:.3;opacity:.3}.gantt_grid_head_cell.gantt_grid_head_add{-moz-opacity:.6;opacity:.6;top:0}.gantt_grid_head_cell.gantt_grid_head_add:hover{-moz-opacity:1;opacity:1}.gantt_grid_data .gantt_row.odd:hover,.gantt_grid_data .gantt_row:hover{background-color:#fff3a1}.gantt_grid_data .gantt_row.odd:hover .gantt_add,.gantt_grid_data .gantt_row:hover .gantt_add{-moz-opacity:1;opacity:1}.gantt_row,.gantt_task_row{border-bottom:1px solid #ebebeb;background-color:#fff}.gantt_row.odd,.gantt_task_row.odd{background-color:#fff}.gantt_cell,.gantt_grid_head_cell,.gantt_row,.gantt_scale_cell,.gantt_task_cell,.gantt_task_row{box-sizing:border-box;-moz-box-sizing:border-box}.gantt_grid_head_cell,.gantt_scale_cell{line-height:inherit}.gantt_grid_scale .gantt_grid_column_resize_wrap{cursor:col-resize;position:absolute;width:13px}.gantt_grid_column_resize_wrap .gantt_grid_column_resize{background-color:#cecece;height:100%;width:1px;margin:0 auto}.gantt_grid .gantt_grid_resize_wrap{cursor:col-resize;position:absolute;width:13px;z-index:1}.gantt_grid_resize_wrap .gantt_grid_resize{background-color:#cecece;width:1px;margin:0 auto}.gantt_drag_marker.gantt_grid_resize_area{background-color:rgba(231,231,231,.5);border-left:1px solid #cecece;border-right:1px solid #cecece;height:100%;width:100%;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.gantt_cell{display:inline-block;vertical-align:top;border-right:1px solid #ebebeb;padding-left:6px;padding-right:6px;height:100%;overflow:hidden;white-space:nowrap;font-size:13px}.gantt_grid_data .gantt_last_cell,.gantt_grid_scale .gantt_last_cell,.gantt_task_bg .gantt_last_cell,.gantt_task_scale .gantt_last_cell{border-right-width:0}.gantt_task_bg{overflow:hidden}.gantt_scale_cell{display:inline-block;white-space:nowrap;overflow:hidden;border-right:1px solid #cecece;text-align:center;height:100%}.gantt_task_cell{display:inline-block;height:100%;border-right:1px solid #ebebeb}.gantt_ver_scroll{width:0;background-color:transparent;height:1px;overflow-x:hidden;overflow-y:scroll;display:none;position:absolute;right:0}.gantt_ver_scroll>div{width:1px;height:1px}.gantt_hor_scroll{height:0;background-color:transparent;width:100%;clear:both;overflow-x:scroll;overflow-y:hidden;display:none}.gantt_hor_scroll>div{width:5000px;height:1px}.gantt_tree_indent{width:15px;height:100%;display:inline-block}.gantt_tree_content,.gantt_tree_icon{vertical-align:top}.gantt_tree_icon{width:28px;height:100%;display:inline-block;background-repeat:no-repeat;background-position:center center}.gantt_tree_content{height:100%;display:inline-block}.gantt_tree_icon.gantt_open{background-image:url(data:image/gif;base64,R0lGODlhEgASALMJAMrKyt3d3ejp6d7f3+/v75aWlvf39////wAAAP///wAAAAAAAAAAAAAAAAAAAAAAACH/C1hNUCBEYXRhWE1QPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS4wLWMwNjAgNjEuMTM0Nzc3LCAyMDEwLzAyLzEyLTE3OjMyOjAwICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IFdpbmRvd3MiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6M0I5RTczQjVDMDdBMTFFMTgxRjc4Mzk4M0Q3MjVFQzAiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6M0I5RTczQjZDMDdBMTFFMTgxRjc4Mzk4M0Q3MjVFQzAiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDozQjlFNzNCM0MwN0ExMUUxODFGNzgzOTgzRDcyNUVDMCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDozQjlFNzNCNEMwN0ExMUUxODFGNzgzOTgzRDcyNUVDMCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PgH//v38+/r5+Pf29fTz8vHw7+7t7Ovq6ejn5uXk4+Lh4N/e3dzb2tnY19bV1NPS0dDPzs3My8rJyMfGxcTDwsHAv769vLu6ubi3trW0s7KxsK+urayrqqmop6alpKOioaCfnp2cm5qZmJeWlZSTkpGQj46NjIuKiYiHhoWEg4KBgH9+fXx7enl4d3Z1dHNycXBvbm1sa2ppaGdmZWRjYmFgX15dXFtaWVhXVlVUU1JRUE9OTUxLSklIR0ZFRENCQUA/Pj08Ozo5ODc2NTQzMjEwLy4tLCsqKSgnJiUkIyIhIB8eHRwbGhkYFxYVFBMSERAPDg0MCwoJCAcGBQQDAgEAACH5BAEAAAkALAAAAAASABIAAARJMMlJq704661B+SAIXAVhnKhBFKSZnmuLImhslXPN3ibi+6pdBXc4IIpB2YkGE1IKAoL0ICUInJNCYMDtDgJYiScUGnHO6LQkAgA7);width:18px;cursor:pointer}.gantt_tree_icon.gantt_close{background-image:url(data:image/gif;base64,R0lGODlhEgASALMJAMrKyt3d3ejp6d7f3+/v75aWlvf39wAAAP///////wAAAAAAAAAAAAAAAAAAAAAAACH/C1hNUCBEYXRhWE1QPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS4wLWMwNjAgNjEuMTM0Nzc3LCAyMDEwLzAyLzEyLTE3OjMyOjAwICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IFdpbmRvd3MiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MzY0QzNGM0VDMDdBMTFFMUE3MDlCNUM2QjU1NDA5RjgiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MzY0QzNGM0ZDMDdBMTFFMUE3MDlCNUM2QjU1NDA5RjgiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDozNjRDM0YzQ0MwN0ExMUUxQTcwOUI1QzZCNTU0MDlGOCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDozNjRDM0YzREMwN0ExMUUxQTcwOUI1QzZCNTU0MDlGOCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PgH//v38+/r5+Pf29fTz8vHw7+7t7Ovq6ejn5uXk4+Lh4N/e3dzb2tnY19bV1NPS0dDPzs3My8rJyMfGxcTDwsHAv769vLu6ubi3trW0s7KxsK+urayrqqmop6alpKOioaCfnp2cm5qZmJeWlZSTkpGQj46NjIuKiYiHhoWEg4KBgH9+fXx7enl4d3Z1dHNycXBvbm1sa2ppaGdmZWRjYmFgX15dXFtaWVhXVlVUU1JRUE9OTUxLSklIR0ZFRENCQUA/Pj08Ozo5ODc2NTQzMjEwLy4tLCsqKSgnJiUkIyIhIB8eHRwbGhkYFxYVFBMSERAPDg0MCwoJCAcGBQQDAgEAACH5BAEAAAkALAAAAAASABIAAARDMMlJq704661B+SAIXAVhnKhBFKSZnmv7wqxVzmpd3Uff5zKEUAi0uV4xm4DAbBIEOkohMKhaB4HoxBMKjTjgsFgSAQA7);width:18px;cursor:pointer}.gantt_tree_icon.gantt_blank{width:18px}.gantt_tree_icon.gantt_folder_open{background-image:url(data:image/gif;base64,R0lGODlhEgASAJECAJeXl7Gvrf///wAAACH/C1hNUCBEYXRhWE1QPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS4wLWMwNjAgNjEuMTM0Nzc3LCAyMDEwLzAyLzEyLTE3OjMyOjAwICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IFdpbmRvd3MiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NTdDRDM3QzVDMDZEMTFFMUJGMzhFMDhCN0RGRjBGQ0YiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NTdDRDM3QzZDMDZEMTFFMUJGMzhFMDhCN0RGRjBGQ0YiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo1N0NEMzdDM0MwNkQxMUUxQkYzOEUwOEI3REZGMEZDRiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo1N0NEMzdDNEMwNkQxMUUxQkYzOEUwOEI3REZGMEZDRiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PgH//v38+/r5+Pf29fTz8vHw7+7t7Ovq6ejn5uXk4+Lh4N/e3dzb2tnY19bV1NPS0dDPzs3My8rJyMfGxcTDwsHAv769vLu6ubi3trW0s7KxsK+urayrqqmop6alpKOioaCfnp2cm5qZmJeWlZSTkpGQj46NjIuKiYiHhoWEg4KBgH9+fXx7enl4d3Z1dHNycXBvbm1sa2ppaGdmZWRjYmFgX15dXFtaWVhXVlVUU1JRUE9OTUxLSklIR0ZFRENCQUA/Pj08Ozo5ODc2NTQzMjEwLy4tLCsqKSgnJiUkIyIhIB8eHRwbGhkYFxYVFBMSERAPDg0MCwoJCAcGBQQDAgEAACH5BAEAAAIALAAAAAASABIAAAIzlI+pywcPm3mhWgkCsjBOvVkimElG9ZlCBlXd+2XjjLKg5GqoeZXqvsOQXK/ijUZTKVUFADs=)}.gantt_tree_icon.gantt_folder_closed{background-image:url(data:image/gif;base64,R0lGODlhEgASAJECAJeXl7Gvrf///wAAACH/C1hNUCBEYXRhWE1QPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS4wLWMwNjAgNjEuMTM0Nzc3LCAyMDEwLzAyLzEyLTE3OjMyOjAwICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IFdpbmRvd3MiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NTAyMTU1RTNDMDZEMTFFMUJGNzZCRThBRkFCRjg4MTIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NTAyMTU1RTRDMDZEMTFFMUJGNzZCRThBRkFCRjg4MTIiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo1MDIxNTVFMUMwNkQxMUUxQkY3NkJFOEFGQUJGODgxMiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo1MDIxNTVFMkMwNkQxMUUxQkY3NkJFOEFGQUJGODgxMiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PgH//v38+/r5+Pf29fTz8vHw7+7t7Ovq6ejn5uXk4+Lh4N/e3dzb2tnY19bV1NPS0dDPzs3My8rJyMfGxcTDwsHAv769vLu6ubi3trW0s7KxsK+urayrqqmop6alpKOioaCfnp2cm5qZmJeWlZSTkpGQj46NjIuKiYiHhoWEg4KBgH9+fXx7enl4d3Z1dHNycXBvbm1sa2ppaGdmZWRjYmFgX15dXFtaWVhXVlVUU1JRUE9OTUxLSklIR0ZFRENCQUA/Pj08Ozo5ODc2NTQzMjEwLy4tLCsqKSgnJiUkIyIhIB8eHRwbGhkYFxYVFBMSERAPDg0MCwoJCAcGBQQDAgEAACH5BAEAAAIALAAAAAASABIAAAIwlI+pywcPm3mhWgkCsjBOvVkimElG9ZlCuYIY6TYs+6bmHDO4igfdD3GNhheV0VQAADs=)}.gantt_tree_icon.gantt_file{background-image:url(data:image/gif;base64,R0lGODlhEgASAJECAJeXl7Gvrf///wAAACH/C1hNUCBEYXRhWE1QPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS4wLWMwNjAgNjEuMTM0Nzc3LCAyMDEwLzAyLzEyLTE3OjMyOjAwICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IFdpbmRvd3MiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NzkxQzI4RjZDMDZEMTFFMTgwRjhBQURDQzI3NDU3QUEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NzkxQzI4RjdDMDZEMTFFMTgwRjhBQURDQzI3NDU3QUEiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo3OTFDMjhGNEMwNkQxMUUxODBGOEFBRENDMjc0NTdBQSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo3OTFDMjhGNUMwNkQxMUUxODBGOEFBRENDMjc0NTdBQSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PgH//v38+/r5+Pf29fTz8vHw7+7t7Ovq6ejn5uXk4+Lh4N/e3dzb2tnY19bV1NPS0dDPzs3My8rJyMfGxcTDwsHAv769vLu6ubi3trW0s7KxsK+urayrqqmop6alpKOioaCfnp2cm5qZmJeWlZSTkpGQj46NjIuKiYiHhoWEg4KBgH9+fXx7enl4d3Z1dHNycXBvbm1sa2ppaGdmZWRjYmFgX15dXFtaWVhXVlVUU1JRUE9OTUxLSklIR0ZFRENCQUA/Pj08Ozo5ODc2NTQzMjEwLy4tLCsqKSgnJiUkIyIhIB8eHRwbGhkYFxYVFBMSERAPDg0MCwoJCAcGBQQDAgEAACH5BAEAAAIALAAAAAASABIAAAIylI+pwN16QJiUQiFThRlJm3RRFYSlR5qXMKmXaMDuuMoyOi8n/e6xn8NMHETgh5RaKQsAOw==)}.gantt_grid_head_cell .gantt_sort{position:absolute;right:5px;top:8px;width:7px;height:13px;background-repeat:no-repeat;background-position:center center}.gantt_grid_head_cell .gantt_sort.gantt_asc{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAANCAYAAABlyXS1AAAARUlEQVR4nGNgQAKGxib/GbABkIS7b8B/DAUwCRiGK0CXwFBAb1DfP/U/LszwHwi2X7qFgUEArBtdAVwCBmAKMCSQFSDzAWXXaOHsXeqkAAAAAElFTkSuQmCC)}.gantt_grid_head_cell .gantt_sort.gantt_desc{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAANCAYAAABlyXS1AAAARUlEQVR42mNgQAL1/VP/M2ADIIntF2/9x1AAlrh0C47hCmA60DFYwX88gIFGwNDY5D8uDFbg7hvwHx2jmIBTAlkB0e4BAEjlaNtBWJPnAAAAAElFTkSuQmCC)}.gantt_inserted,.gantt_updated{font-weight:700}.gantt_deleted{text-decoration:line-through}.gantt_invalid{background-color:FFE0E0}.gantt_error{color:red}.gantt_status{right:1px;padding:5px 10px;background:rgba(155,155,155,.1);position:absolute;top:1px;-webkit-transition:opacity .2s;transition:opacity .2s;opacity:0}.gantt_status.gantt_status_visible{opacity:1}#gantt_ajax_dots span{-webkit-transition:opacity .2s;transition:opacity .2s;background-repeat:no-repeat;opacity:0}#gantt_ajax_dots span.gantt_dot_visible{opacity:1}.dhtmlx_message_area{position:fixed;right:5px;width:250px;z-index:1000}.dhtmlx-info{min-width:120px;font-family:Arial;z-index:10000;margin:5px 5px 10px;-webkit-transition:all .5s ease;-moz-transition:all .5s ease;-o-transition:all .5s ease;transition:all .5s ease}.dhtmlx-info.hidden{height:0;padding:0;border-width:0;margin:0;overflow:hidden}.dhtmlx_modal_box{overflow:hidden;display:inline-block;min-width:250px;width:250px;text-align:center;position:fixed;z-index:20000;box-shadow:3px 3px 3px rgba(0,0,0,.07);font-family:Arial;border-radius:6px;border:1px solid #cecece;background:#fff}.dhtmlx_popup_title{border-top-left-radius:6px;border-top-right-radius:6px;border-width:0}.dhtmlx_button,.dhtmlx_popup_button{border:1px solid #cecece;height:30px;line-height:30px;display:inline-block;margin:0 5px;border-radius:4px;background:#fff}.dhtmlx-info,.dhtmlx_button,.dhtmlx_popup_button{user-select:none;-webkit-user-select:none;-moz-user-select:-moz-none;cursor:pointer}.dhtmlx_popup_text{overflow:hidden}.dhtmlx_popup_controls{border-radius:6px;padding:10px}.dhtmlx_popup_button{min-width:100px}div.dhx_modal_cover{background-color:#000;cursor:default;filter:alpha(opacity=20);opacity:.2;position:fixed;z-index:19999;left:0;top:0;width:100%;height:100%;border:none;zoom:1}.dhtmlx-info img,.dhtmlx_modal_box img{float:left;margin-right:20px}.dhtmlx-alert-error,.dhtmlx-confirm-error{border:1px solid red}.dhtmlx_button input,.dhtmlx_popup_button div{border-radius:4px;font-size:14px;-moz-box-sizing:content-box;box-sizing:content-box;padding:0;margin:0;vertical-align:top}.dhtmlx_popup_title{color:#fff;text-shadow:1px 1px #000;height:40px;line-height:40px;font-size:20px}.dhtmlx_popup_text{margin:15px 15px 5px;font-size:14px;color:#000;min-height:30px;border-radius:6px}.dhtmlx-error,.dhtmlx-info{font-size:14px;color:#000;box-shadow:3px 3px 3px rgba(0,0,0,.07);padding:0;background-color:#FFF;border-radius:3px;border:1px solid #fff}.dhtmlx-info div{padding:5px 10px;background-color:#fff;border-radius:3px;border:1px solid #cecece}.dhtmlx-error{background-color:#d81b1b;border:1px solid #ff3c3c;box-shadow:3px 3px 3px rgba(0,0,0,.07)}.dhtmlx-error div{background-color:#d81b1b;border:1px solid #940000;color:#FFF}.gantt_data_area div,.gantt_grid div{-ms-touch-action:none;-webkit-tap-highlight-color:transparent}.gantt_data_area{position:relative;overflow-x:hidden;overflow-y:hidden;-moz-user-select:-moz-none;-webkit-user-select:none;-user-select:none}.gantt_links_area{position:absolute;left:0;top:0}.gantt_side_content,.gantt_task_content,.gantt_task_progress{line-height:inherit;overflow:hidden;height:100%}.gantt_task_content{font-size:12px;color:#fff;width:100%;top:0;position:absolute;white-space:nowrap;text-align:center}.gantt_task_progress{text-align:center;z-index:0;background:#299cb4}.gantt_task_line{-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px;position:absolute;-moz-box-sizing:border-box;box-sizing:border-box;background-color:#3db9d3;border:1px solid #2898b0;-webkit-user-select:none;-moz-user-select:none;-moz-user-select:-moz-none}.gantt_task_line.gantt_drag_move div{cursor:move}.gantt_touch_move,.gantt_touch_progress .gantt_touch_resize{-moz-transform:scale(1.02,1.1);-o-transform:scale(1.02,1.1);-webkit-transform:scale(1.02,1.1);transform:scale(1.02,1.1);-moz-transform-origin:50%;-o-transform-origin:50%;-webkit-transform-origin:50%;transform-origin:50%}.gantt_touch_progress .gantt_task_progress_drag,.gantt_touch_resize .gantt_task_drag{-moz-transform:scaleY(1.3);-o-transform:scaleY(1.3);-webkit-transform:scaleY(1.3);transform:scaleY(1.3);-moz-transform-origin:50%;-o-transform-origin:50%;-webkit-transform-origin:50%;transform-origin:50%}.gantt_side_content{position:absolute;white-space:nowrap;color:#6e6e6e;bottom:7px;font-size:11px}.gantt_side_content.gantt_left{right:100%;padding-right:15px}.gantt_side_content.gantt_right{left:100%;padding-left:15px}.gantt_side_content.gantt_link_crossing{bottom:8.75px}.gantt_link_arrow,.gantt_task_link .gantt_line_wrapper{position:absolute;cursor:pointer}.gantt_line_wrapper div{background-color:#ffa011}.gantt_task_link:hover .gantt_line_wrapper div{box-shadow:0 0 5px 0 #ffa011}.gantt_task_link div.gantt_link_arrow{background-color:transparent;border-style:solid;width:0;height:0}.gantt_link_control{position:absolute;width:13px;top:0}.gantt_link_control div{display:none;cursor:pointer;box-sizing:border-box;position:relative;top:50%;margin-top:-7.5px;vertical-align:middle;border:1px solid #929292;-webkit-border-radius:6.5px;-moz-border-radius:6.5px;border-radius:6.5px;height:13px;width:13px;background-color:#f0f0f0}.gantt_link_control div:hover{background-color:#fff}.gantt_link_control.task_left{left:-13px}.gantt_link_control.task_right{right:-13px}.gantt_link_target .gantt_link_control div,.gantt_task_line.gantt_selected .gantt_link_control div,.gantt_task_line:hover .gantt_link_control div{display:block}.gantt_link_source,.gantt_link_target{box-shadow:0 0 3px #3db9d3}.gantt_link_target.link_finish_allow,.gantt_link_target.link_start_allow{box-shadow:0 0 3px #ffbf5e}.gantt_link_target.link_finish_deny,.gantt_link_target.link_start_deny{box-shadow:0 0 3px #e87e7b}.link_finish_allow .gantt_link_control.task_right div,.link_start_allow .gantt_link_control.task_left div{background-color:#ffbf5e;border-color:#ffa011}.link_finish_deny .gantt_link_control.task_right div,.link_start_deny .gantt_link_control.task_left div{background-color:#e87e7b;border-color:#dd3e3a}.gantt_link_arrow_right{border-width:4px 0 4px 6px;border-top-color:transparent!important;border-right-color:transparent!important;border-bottom-color:transparent!important;border-color:#ffa011;margin-top:-1px}.gantt_link_arrow_left{border-width:4px 6px 4px 0;margin-top:-1px;border-top-color:transparent!important;border-color:#ffa011;border-bottom-color:transparent!important;border-left-color:transparent!important}.gantt_link_arrow_top{border-width:0 4px 6px;border-color:#ffa011;border-top-color:transparent!important;border-right-color:transparent!important;border-left-color:transparent!important}.gantt_link_arrow_down{border-width:4px 6px 0 4px;border-color:#ffa011;border-right-color:transparent!important;border-bottom-color:transparent!important;border-left-color:transparent!important}.gantt_task_drag,.gantt_task_progress_drag{cursor:w-resize;height:100%;display:none;position:absolute}.gantt_task_line.gantt_selected .gantt_task_drag,.gantt_task_line.gantt_selected .gantt_task_progress_drag,.gantt_task_line:hover .gantt_task_drag,.gantt_task_line:hover .gantt_task_progress_drag{display:block}.gantt_task_drag{width:6px;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAACCAYAAAB7Xa1eAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3QYDDjkw3UJvAwAAABRJREFUCNdj/P//PwM2wASl/6PTAKrrBf4+lD8LAAAAAElFTkSuQmCC);z-index:1;top:0}.gantt_task_drag.task_left{left:0}.gantt_task_drag.task_right{right:0}.gantt_task_progress_drag{height:8px;width:8px;bottom:-4px;margin-left:-4px;background-position:bottom;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAALCAYAAAB24g05AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MkY3Rjk0RUVDMkYzMTFFMkI1OThEQTA3ODU0OTkzMEEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MkY3Rjk0RUZDMkYzMTFFMkI1OThEQTA3ODU0OTkzMEEiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoyRjdGOTRFQ0MyRjMxMUUyQjU5OERBMDc4NTQ5OTMwQSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDoyRjdGOTRFREMyRjMxMUUyQjU5OERBMDc4NTQ5OTMwQSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PobPBzIAAADkSURBVHjaYpk2bRoDDsAExL1QdjEQ/8OmiAWHZk4gXqymqhQM4ty6fU8OSMUA8XdiDBAB4k0a6iqWRga6EKcwMQXduHlnL5DpB8Rv0J2JDFSA+JiOtgZcMwiA2CAxkBxUDVYDLEAKgIpV9XQ0MZwFEgPJAZnHoWpRDAgC4n2W5saiQKfjClQGkBxQDciL+6B6wAbkA/EqJwdrTkUFOQZCAKQGpBbIXA3SCzJggo+XK7OEuBgDsQCkFqgHrBfsBT5eHgZSAUwP2IBfv36TbABMDygdtK1Zv6UESLORaAbIhG6AAAMAKN8wE24DXWcAAAAASUVORK5CYII=);background-repeat:no-repeat;z-index:2}.gantt_link_tooltip{box-shadow:3px 3px 3px #888;background-color:#fff;border-left:1px dotted #cecece;border-top:1px dotted #cecece;font-family:Tahoma;font-size:8pt;color:#444;padding:6px;line-height:20px}.gantt_link_direction{height:0;border:0 #ffa011;border-bottom-style:dashed;border-bottom-width:2px;transform-origin:0 0;-ms-transform-origin:0 0;-webkit-transform-origin:0 0;z-index:2;margin-left:1px;position:absolute}.gantt_grid_data .gantt_row.gantt_selected,.gantt_grid_data .gantt_row.odd.gantt_selected,.gantt_task_row.gantt_selected{background-color:#fff3a1}.gantt_task_row.gantt_selected .gantt_task_cell{border-right-color:#ffec6e}.gantt_task_line.gantt_selected{box-shadow:0 0 5px #299cb4}.gantt_task_line.gantt_project.gantt_selected{box-shadow:0 0 5px #46ad51}.gantt_task_line.gantt_milestone{visibility:hidden;background-color:#d33daf;border:0 solid #61164f;box-sizing:content-box;-moz-box-sizing:content-box}.gantt_task_line.gantt_milestone div{visibility:visible}.gantt_task_line.gantt_milestone .gantt_task_content{background:inherit;border:inherit;border-width:1px;border-radius:inherit;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);-o-transform:rotate(45deg);transform:rotate(45deg)}.gantt_task_line.gantt_task_inline_color{border-color:#999}.gantt_task_line.gantt_task_inline_color .gantt_task_progress{background-color:#363636;opacity:.2}.gantt_task_line.gantt_task_inline_color.gantt_project.gantt_selected,.gantt_task_line.gantt_task_inline_color.gantt_selected{box-shadow:0 0 5px #999}.gantt_task_link.gantt_link_inline_color:hover .gantt_line_wrapper div{box-shadow:0 0 5px 0 #999}.gantt_critical_task{background-color:#e63030;border-color:#9d3a3a}.gantt_critical_task .gantt_task_progress{background-color:rgba(0,0,0,.4)}.gantt_critical_link .gantt_line_wrapper>div{background-color:#e63030}.gantt_critical_link .gantt_link_arrow{border-color:#e63030}.gantt_unselectable,.gantt_unselectable div{-webkit-user-select:none;-moz-user-select:none;-moz-user-select:-moz-none}.gantt_cal_light{-webkit-tap-highlight-color:transparent;background:#fff;border-radius:6px;font-family:Arial;border:1px solid #cecece;color:#6b6b6b;font-size:12px;position:absolute;z-index:10001;width:550px;height:250px;box-shadow:3px 3px 3px rgba(0,0,0,.07)}.gantt_cal_light select{font-family:Arial;border:1px solid #cecece;font-size:13px;padding:2px;margin:0}.gantt_cal_ltitle{padding:7px 10px;overflow:hidden;white-space:nowrap;-webkit-border-radius:6px 6px 0 0;-moz-border-radius-topleft:6px;-moz-border-radius-bottomleft:0;-moz-border-radius-topright:6px;-moz-border-radius-bottomright:0;border-radius:6px 6px 0 0}.gantt_cal_ltitle span{white-space:nowrap}.gantt_cal_lsection{color:#727272;font-weight:700;padding:12px 0 5px 10px}.gantt_cal_lsection .gantt_fullday{float:right;margin-right:5px;font-size:12px;font-weight:400;line-height:20px;vertical-align:top;cursor:pointer}.gantt_cal_lsection{font-size:13px}.gantt_cal_ltext{padding:2px 10px;overflow:hidden}.gantt_cal_ltext textarea{overflow:auto;font-family:Arial;font-size:13px;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;border:1px solid #cecece;height:100%;width:100%;outline:0!important;resize:none}.gantt_time{font-weight:700}.gantt_cal_light .gantt_title{padding-left:10px}.gantt_cal_larea{border:1px solid #cecece;border-left:none;border-right:none;background-color:#fff;overflow:hidden;height:1px}.gantt_btn_set{margin:10px 7px 5px 10px;padding:5px 15px 5px 10px;float:left;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;border-width:0;border-color:#cecece;border-style:solid;height:32px;font-weight:700;background:#fff;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;cursor:pointer}.gantt_btn_set div{float:left;font-size:13px;height:22px;line-height:22px;background-repeat:no-repeat;vertical-align:middle}.gantt_save_btn{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=);margin-top:2px;width:21px}.gantt_cancel_btn{margin-top:2px;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MDkzMDA3MzlDMzA0MTFFMjg2QTVFMzFEQzgwRkJERDYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MDkzMDA3M0FDMzA0MTFFMjg2QTVFMzFEQzgwRkJERDYiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDowOTMwMDczN0MzMDQxMUUyODZBNUUzMURDODBGQkRENiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDowOTMwMDczOEMzMDQxMUUyODZBNUUzMURDODBGQkRENiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PmYuYOUAAAEdSURBVHjaYvz//z8DJYAFXWDlypU8QKoIiD2A2AwqfAqIdwBxX3h4+Bdk9YzILgBqtgdS84FYEYeF94E4EWjIQZgAE5LmQCB1AKoZZKMPEAtAMYh9GSp3AKjWD8UFQAEhIPshEIOc3wHENUBb/qJ57SyQMoJyPwKxElDNO1gYFEE17wMKVmIJlzNQzeegrjaA6qmBecEbSvfh0GwMxGeBhoPoemQ9MAO0kEIbl2YTqPAFKK2IbMB3AjabYIkRZmQD7kNpMyI0G0PpO8gGbIUFJj7NQDk2INWIrIcJKfBAKcwJqvkcDs0TgFgXGo19KCkRmpDWQdWDEk0NUoCBoq0FqhkE/IEWbKJKUmZEz43QzFSKIzN1481M5ACAAAMAlfl/lCwRpagAAAAASUVORK5CYII=);width:20px}.gantt_delete_btn{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MjFENzI3NUNDMzA0MTFFMjhBNjJGQTc3MUIyQzYzNEYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MjFENzI3NURDMzA0MTFFMjhBNjJGQTc3MUIyQzYzNEYiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoyMUQ3Mjc1QUMzMDQxMUUyOEE2MkZBNzcxQjJDNjM0RiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDoyMUQ3Mjc1QkMzMDQxMUUyOEE2MkZBNzcxQjJDNjM0RiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PmUD0gAAAABvSURBVHjaYvz//z8DIyMjAxYQicReji4J0ofKQNP8HwmgGQbXB8IsWGwDSSwDuioKjY9uBthVjFAXYHUGAQA2kYmBUoAUBpGk0LAwgBvwH+YX4mkwptgLowYMRgOITUyYKRFIN/wnDjQgJySAAAMApryKzL8wjfUAAAAASUVORK5CYII=);margin-top:2px;width:20px}.gantt_cal_cover{width:100%;height:100%;position:absolute;z-index:10000;top:0;left:0;background-color:#000;opacity:.1;filter:alpha(opacity=10)}.gantt_custom_button{padding:0 3px;font-family:Arial;font-size:13px;font-weight:400;margin-right:10px;margin-top:-5px;cursor:pointer;float:right;height:21px;width:90px;border:1px solid #CECECE;text-align:center;-webkit-border-radius:4px;-moz-border-radius:4px;-ms-border-radius:4px;-o-border-radius:4px;border-radius:4px}.gantt_custom_button div{cursor:pointer;float:none;height:21px;line-height:21px;vertical-align:middle}.gantt_custom_button div:first-child{display:none}.gantt_cal_light_wide{width:580px;padding:2px 4px}.gantt_cal_light_wide .gantt_cal_larea{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;border:1px solid #cecece}.gantt_cal_light_wide .gantt_cal_lsection{border:0;float:left;text-align:right;width:80px;height:20px;padding:5px 10px 0 0}.gantt_cal_light_wide .gantt_wrap_section{position:relative;padding:10px 0;overflow:hidden;border-bottom:1px solid #ebebeb}.gantt_cal_light_wide .gantt_section_time{overflow:hidden;padding-top:2px!important;padding-right:0;height:20px!important}.gantt_cal_light_wide .gantt_cal_ltext{padding-right:0}.gantt_cal_light_wide .gantt_cal_larea{padding:0 10px;width:100%}.gantt_cal_light_wide .gantt_section_time{background:0 0}.gantt_cal_light_wide .gantt_cal_checkbox label{padding-left:0}.gantt_cal_light_wide .gantt_cal_lsection .gantt_fullday{float:none;margin-right:0;font-weight:700;cursor:pointer}.gantt_cal_light_wide .gantt_custom_button{position:absolute;top:0;right:0;margin-top:2px}.gantt_cal_light_wide .gantt_repeat_right{margin-right:55px}.gantt_cal_light_wide.gantt_cal_light_full{width:738px}.gantt_cal_wide_checkbox input{margin-top:8px;margin-left:14px}.gantt_cal_light input{font-size:13px}.gantt_section_time{background-color:#fff;white-space:nowrap;padding:5px 10px;padding-top:2px!important}.gantt_section_time .gantt_time_selects{float:left;height:25px}.gantt_section_time .gantt_time_selects select{height:23px;padding:2px;border:1px solid #cecece}.gantt_duration{width:100px;height:23px;float:left;white-space:nowrap;margin-left:20px;line-height:23px}.gantt_duration .gantt_duration_dec,.gantt_duration .gantt_duration_inc,.gantt_duration .gantt_duration_value{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;text-align:center;vertical-align:top;height:100%;border:1px solid #cecece}.gantt_duration .gantt_duration_value{width:40px;padding:3px 4px;border-left-width:0;border-right-width:0}.gantt_duration .gantt_duration_dec,.gantt_duration .gantt_duration_inc{width:20px;padding:1px 1px 3px;background:#fff}.gantt_duration .gantt_duration_dec{-moz-border-top-left-radius:4px;-moz-border-bottom-left-radius:4px;-webkit-border-top-left-radius:4px;-webkit-border-bottom-left-radius:4px;border-top-left-radius:4px;border-bottom-left-radius:4px}.gantt_duration .gantt_duration_inc{margin-right:4px;-moz-border-top-right-radius:4px;-moz-border-bottom-right-radius:4px;-webkit-border-top-right-radius:4px;-webkit-border-bottom-right-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:4px}.gantt_cal_quick_info{border:1px solid #cecece;border-radius:6px;position:absolute;z-index:300;box-shadow:3px 3px 3px rgba(0,0,0,.07);background-color:#fff;width:300px;transition:left .5s ease,right .5s;-moz-transition:left .5s ease,right .5s;-webkit-transition:left .5s ease,right .5s;-o-transition:left .5s ease,right .5s}.gantt_no_animate{transition:none;-moz-transition:none;-webkit-transition:none;-o-transition:none}.gantt_cal_quick_info.gantt_qi_left .gantt_qi_big_icon{float:right}.gantt_cal_qi_title{-webkit-border-radius:6px 6px 0 0;-moz-border-radius-topleft:6px;-moz-border-radius-bottomleft:0;-moz-border-radius-topright:6px;-moz-border-radius-bottomright:0;border-radius:6px 6px 0 0;padding:5px 0 8px 12px;color:#454545;background-color:#fff;border-bottom:1px solid #cecece}.gantt_cal_qi_tdate{font-size:14px;font-weight:700}.gantt_cal_qi_tcontent{font-size:13px}.gantt_cal_qi_content{padding:16px 8px;font-size:13px;color:#454545;overflow:hidden}.gantt_cal_qi_controls{-webkit-border-radius:0 0 6px 6px;-moz-border-radius-topleft:0;-moz-border-radius-bottomleft:6px;-moz-border-radius-topright:0;-moz-border-radius-bottomright:6px;border-radius:0 0 6px 6px;padding-left:7px}.gantt_cal_qi_controls .gantt_menu_icon{margin-top:6px;background-repeat:no-repeat}.gantt_cal_qi_controls .gantt_menu_icon.icon_edit{width:20px;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAB3RJTUUH3QYFCjI5ZQj5bAAAAFNJREFUOMvt0zEOACAIA0DkwTymH8bJTRTKZGJXyaWEKPKTCQAH4Ls37cItcDUzsxHNDLZNhCq7Gt1wh9ErV7EjyGAhyGLphlnsClWuS32rn0czAV+vNGrM/LBtAAAAAElFTkSuQmCC)}.gantt_cal_qi_controls .gantt_menu_icon.icon_delete{width:20px;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MjFENzI3NUNDMzA0MTFFMjhBNjJGQTc3MUIyQzYzNEYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MjFENzI3NURDMzA0MTFFMjhBNjJGQTc3MUIyQzYzNEYiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoyMUQ3Mjc1QUMzMDQxMUUyOEE2MkZBNzcxQjJDNjM0RiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDoyMUQ3Mjc1QkMzMDQxMUUyOEE2MkZBNzcxQjJDNjM0RiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PmUD0gAAAABvSURBVHjaYvz//z8DIyMjAxYQicReji4J0ofKQNP8HwmgGQbXB8IsWGwDSSwDuioKjY9uBthVjFAXYHUGAQA2kYmBUoAUBpGk0LAwgBvwH+YX4mkwptgLowYMRgOITUyYKRFIN/wnDjQgJySAAAMApryKzL8wjfUAAAAASUVORK5CYII=)}.gantt_qi_big_icon{font-size:13px;border-radius:4px;font-weight:700;background:#fff;margin:5px 9px 8px 0;min-width:60px;line-height:32px;vertical-align:middle;padding:0 10px 0 5px;cursor:pointer;border:1px solid #cecece}.gantt_cal_qi_controls div{float:left;height:32px;text-align:center;line-height:32px}.gantt_tooltip{box-shadow:3px 3px 3px rgba(0,0,0,.07);background-color:#fff;border-left:1px solid rgba(0,0,0,.07);border-top:1px solid rgba(0,0,0,.07);font-family:Arial;font-size:8pt;color:#454545;padding:10px;position:absolute;z-index:50}.gantt_marker{height:100%;width:2px;top:0;position:absolute;text-align:center;background-color:rgba(255,0,0,.4);-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.gantt_marker .gantt_marker_content{padding:5px;background:inherit;color:#fff;position:absolute;font-size:12px;line-height:12px;opacity:.8}.gantt_marker_area{position:absolute;top:0;left:0}.gantt_noselect{-moz-user-select:-moz-none;-webkit-user-select:none;-user-select:none}.gantt_drag_marker{position:absolute;font-family:Arial;font-size:13px}.gantt_drag_marker .gantt_tree_icon.gantt_blank,.gantt_drag_marker .gantt_tree_icon.gantt_close,.gantt_drag_marker .gantt_tree_icon.gantt_open,.gantt_drag_marker .gantt_tree_indent{display:none}.gantt_drag_marker,.gantt_drag_marker .gantt_row.odd{background-color:#fff}.gantt_drag_marker .gantt_row{border-left:1px solid #d2d2d2;border-top:1px solid #d2d2d2}.gantt_drag_marker .gantt_cell{border-color:#d2d2d2}.gantt_row.gantt_over,.gantt_task_row.gantt_over{background-color:#0070fe}.gantt_row.gantt_transparent .gantt_cell{opacity:.7}.gantt_task_row.gantt_transparent{background-color:#f8fdfd}.dhtmlx_popup_button.dhtmlx_delete_button{background:#3db9d3;text-shadow:0 -1px 0 #248a9f;color:#fff;font-weight:700;border-width:0}
\ No newline at end of file
diff --git a/libraries/dhtmlxgantt/sources/dhtmlxgantt.js b/libraries/dhtmlxgantt/sources/dhtmlxgantt.js
deleted file mode 100644
index 26403b6..0000000
--- a/libraries/dhtmlxgantt/sources/dhtmlxgantt.js
+++ /dev/null
@@ -1,9424 +0,0 @@
-/*
-@license
-
-dhtmlxGantt v.3.2.0 Stardard
-This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited.
-
-(c) Dinamenta, UAB.
-*/
-if (typeof(window.dhx4) == "undefined") {
-
- window.dhx4 = {
-
- version: "4.1.3",
-
- skin: null, // allow to be set by user
-
- skinDetect: function(comp) {
- return {10:"dhx_skyblue",20:"dhx_web",30:"dhx_terrace"}[this.readFromCss(comp+"_skin_detect")]||null;
- },
-
- // read value from css
- readFromCss: function(className, property) {
- var t = document.createElement("DIV");
- t.className = className;
- if (document.body.firstChild != null) document.body.insertBefore(t, document.body.firstChild); else document.body.appendChild(t);
- var w = t[property||"offsetWidth"];
- t.parentNode.removeChild(t);
- t = null;
- return w;
- },
-
- // id manager
- lastId: 1,
- newId: function() {
- return this.lastId++;
- },
-
- // z-index manager
- zim: {
- data: {},
- step: 5,
- first: function() {
- return 100;
- },
- last: function() {
- var t = this.first();
- for (var a in this.data) t = Math.max(t, this.data[a]);
- return t;
- },
- reserve: function(id) {
- this.data[id] = this.last()+this.step;
- return this.data[id];
- },
- clear: function(id) {
- if (this.data[id] != null) {
- this.data[id] = null;
- delete this.data[id];
- }
- }
- },
-
- // string to boolean
- s2b: function(r) {
- if (typeof(r) == "string") r = r.toLowerCase();
- return (r == true || r == 1 || r == "true" || r == "1" || r == "yes" || r == "y");
- },
-
- // string to json
- s2j: function(s) {
- var obj = null;
- dhx4.temp = null;
- try { eval("dhx4.temp="+s); } catch(e) { dhx4.temp = null; }
- obj = dhx4.temp;
- dhx4.temp = null;
- return obj;
- },
-
- // absolute top/left position on screen
- absLeft: function(obj) {
- if (typeof(obj) == "string") obj = document.getElementById(obj);
- return this.getOffset(obj).left;
- },
- absTop: function(obj) {
- if (typeof(obj) == "string") obj = document.getElementById(obj);
- return this.getOffset(obj).top;
- },
- _aOfs: function(elem) {
- var top = 0, left = 0;
- while (elem) {
- top = top + parseInt(elem.offsetTop);
- left = left + parseInt(elem.offsetLeft);
- elem = elem.offsetParent;
- }
- return {top: top, left: left};
- },
- _aOfsRect: function(elem) {
- var box = elem.getBoundingClientRect();
- var body = document.body;
- var docElem = document.documentElement;
- var scrollTop = window.pageYOffset || docElem.scrollTop || body.scrollTop;
- var scrollLeft = window.pageXOffset || docElem.scrollLeft || body.scrollLeft;
- var clientTop = docElem.clientTop || body.clientTop || 0;
- var clientLeft = docElem.clientLeft || body.clientLeft || 0;
- var top = box.top + scrollTop - clientTop;
- var left = box.left + scrollLeft - clientLeft;
- return { top: Math.round(top), left: Math.round(left) };
- },
- getOffset: function(elem) {
- if (elem.getBoundingClientRect) {
- return this._aOfsRect(elem);
- } else {
- return this._aOfs(elem);
- }
- },
-
- // copy obj
- _isObj: function(k) {
- return (k != null && typeof(k) == "object" && typeof(k.length) == "undefined");
- },
- _copyObj: function(r) {
- if (this._isObj(r)) {
- var t = {};
- for (var a in r) {
- if (typeof(r[a]) == "object" && r[a] != null) t[a] = this._copyObj(r[a]); else t[a] = r[a];
- }
- } else {
- var t = [];
- for (var a=0; a= 0);
- var dim = {};
- dim.left = document.body.scrollLeft;
- dim.right = dim.left+(window.innerWidth||document.body.clientWidth);
- dim.top = Math.max((isIE?document.documentElement:document.getElementsByTagName("html")[0]).scrollTop, document.body.scrollTop);
- dim.bottom = dim.top+(isIE?Math.max(document.documentElement.clientHeight||0,document.documentElement.offsetHeight||0):window.innerHeight);
- return dim;
- },
-
- // input/textarea range selection
- selectTextRange: function(inp, start, end) {
-
- inp = (typeof(inp)=="string"?document.getElementById(inp):inp);
-
- var len = inp.value.length;
- start = Math.max(Math.min(start, len), 0);
- end = Math.min(end, len);
-
- if (inp.setSelectionRange) {
- try {inp.setSelectionRange(start, end);} catch(e){}; // combo in grid under IE requires try/catch
- } else if (inp.createTextRange) {
- var range = inp.createTextRange();
- range.moveStart("character", start);
- range.moveEnd("character", end-len);
- try {range.select();} catch(e){};
- }
- },
- // transition
- transData: null,
- transDetect: function() {
-
- if (this.transData == null) {
-
- this.transData = {transProp: false, transEv: null};
-
- // transition, MozTransition, WebkitTransition, msTransition, OTransition
- var k = {
- "MozTransition": "transitionend",
- "WebkitTransition": "webkitTransitionEnd",
- "OTransition": "oTransitionEnd",
- "msTransition": "transitionend",
- "transition": "transitionend"
- };
-
- for (var a in k) {
- if (this.transData.transProp == false && document.documentElement.style[a] != null) {
- this.transData.transProp = a;
- this.transData.transEv = k[a];
- }
- }
- k = null;
- }
-
- return this.transData;
-
- },
-
- // xml parser
- _xmlNodeValue: function(node) {
- var value = "";
- for (var q=0; q= 0 || navigator.userAgent.indexOf("Trident") >= 0);
- window.dhx4.isIE6 = (window.XMLHttpRequest == null && navigator.userAgent.indexOf("MSIE") >= 0);
- window.dhx4.isIE7 = (navigator.userAgent.indexOf("MSIE 7.0") >= 0 && navigator.userAgent.indexOf("Trident") < 0);
- window.dhx4.isIE8 = (navigator.userAgent.indexOf("MSIE 8.0") >= 0 && navigator.userAgent.indexOf("Trident") >= 0);
- window.dhx4.isOpera = (navigator.userAgent.indexOf("Opera") >= 0);
- window.dhx4.isChrome = (navigator.userAgent.indexOf("Chrome") >= 0);
- window.dhx4.isKHTML = (navigator.userAgent.indexOf("Safari") >= 0 || navigator.userAgent.indexOf("Konqueror") >= 0);
- window.dhx4.isFF = (navigator.userAgent.indexOf("Firefox") >= 0);
- window.dhx4.isIPad = (navigator.userAgent.search(/iPad/gi) >= 0);
-};
-
-
-
-
-if (typeof(window.dhx4.ajax) == "undefined") {
-
- window.dhx4.ajax = {
-
- // if false - dhxr param will added to prevent caching on client side (default),
- // if true - do not add extra params
- cache: false,
-
- // default method for load/loadStruct, post/get allowed
- // get - since 4.1.1, this should fix 412 error for macos safari
- method: "get",
-
- parse: function(data) {
- if (typeof data !== "string") return data;
-
- data = data.replace(/^[\s]+/,"");
- if (window.DOMParser && !dhx4.isIE) { // ff,ie9
- var obj = (new window.DOMParser()).parseFromString(data, "text/xml");
- } else if (window.ActiveXObject !== window.undefined) {
- var obj = new window.ActiveXObject("Microsoft.XMLDOM");
- obj.async = "false";
- obj.loadXML(data);
- }
- return obj;
- },
- xmltop: function(tagname, xhr, obj) {
- if (typeof xhr.status == "undefined" || xhr.status < 400) {
- var xml = (!xhr.responseXML) ? dhx4.ajax.parse(xhr.responseText || xhr) : (xhr.responseXML || xhr);
- if (xml && xml.documentElement !== null && !xml.getElementsByTagName("parsererror").length) {
- return xml.getElementsByTagName(tagname)[0];
- }
- }
- if (obj !== -1) dhx4.callEvent("onLoadXMLError",["Incorrect XML", arguments[1], obj]);
- return document.createElement("DIV");
- },
- xpath: function(xpathExp, docObj) {
- if (!docObj.nodeName) docObj = docObj.responseXML || docObj;
- if (dhx4.isIE) {
- return docObj.selectNodes(xpathExp)||[];
- } else {
- var rows = [];
- var first;
- var col = (docObj.ownerDocument||docObj).evaluate(xpathExp, docObj, null, XPathResult.ANY_TYPE, null);
- while (first = col.iterateNext()) rows.push(first);
- return rows;
- }
- },
- query: function(config) {
- dhx4.ajax._call(
- (config.method || "GET"),
- config.url,
- config.data || "",
- (config.async || true),
- config.callback,
- null,
- config.headers
- );
- },
- get: function(url, onLoad) {
- this._call("GET", url, null, true, onLoad);
- },
- getSync: function(url) {
- return this._call("GET", url, null, false);
- },
- put: function(url, postData, onLoad) {
- this._call("PUT", url, postData, true, onLoad);
- },
- del: function(url, postData, onLoad) {
- this._call("DELETE", url, postData, true, onLoad);
- },
- post: function(url, postData, onLoad) {
- if (arguments.length == 1) {
- postData = "";
- } else if (arguments.length == 2 && (typeof(postData) == "function" || typeof(window[postData]) == "function")) {
- onLoad = postData;
- postData = "";
- } else {
- postData = String(postData);
- }
- this._call("POST", url, postData, true, onLoad);
- },
- postSync: function(url, postData) {
- postData = (postData == null ? "" : String(postData));
- return this._call("POST", url, postData, false);
- },
- getLong: function(url, onLoad) {
- this._call("GET", url, null, true, onLoad, {url:url});
- },
- postLong: function(url, postData, onLoad) {
- if (arguments.length == 2 && (typeof(postData) == "function" || typeof(window[postData]))) {
- onLoad = postData;
- postData = "";
- }
- this._call("POST", url, postData, true, onLoad, {url:url, postData:postData});
- },
- _call: function(method, url, postData, async, onLoad, longParams, headers) {
-
- var t = (window.XMLHttpRequest && !dhx4.isIE ? new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP"));
- var isQt = (navigator.userAgent.match(/AppleWebKit/) != null && navigator.userAgent.match(/Qt/) != null && navigator.userAgent.match(/Safari/) != null);
-
- if (async == true) {
- t.onreadystatechange = function() {
- if ((t.readyState == 4) || (isQt == true && t.readyState == 3)) { // what for long response and status 404?
- if (t.status != 200 || t.responseText == "")
- if (!dhx4.callEvent("onAjaxError", [t])) return;
-
- window.setTimeout(function(){
- if (typeof(onLoad) == "function") {
- onLoad.apply(window, [{xmlDoc:t}]); // dhtmlx-compat, response.xmlDoc.responseXML/responseText
- }
- if (longParams != null) {
- if (typeof(longParams.postData) != "undefined") {
- dhx4.ajax.postLong(longParams.url, longParams.postData, onLoad);
- } else {
- dhx4.ajax.getLong(longParams.url, onLoad);
- }
- }
- onLoad = null;
- t = null;
- },1);
- }
- }
- }
-
- if (method == "GET" && this.cache != true) {
- url += (url.indexOf("?")>=0?"&":"?")+"dhxr"+new Date().getTime()+"=1";
- }
-
- t.open(method, url, async);
-
- if (headers){
- for (var key in headers)
- t.setRequestHeader(key, headers[key]);
- } else if (method.toUpperCase() == "POST" || method == "PUT" || method == "DELETE") {
- t.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
- } else if (method == "GET") {
- postData = null;
- }
-
- t.setRequestHeader("X-Requested-With", "XMLHttpRequest");
-
- t.send(postData);
-
- if (!async) return {xmlDoc:t}; // dhtmlx-compat, response.xmlDoc.responseXML/responseText
-
- }
- };
-
-};
-
-
-if (typeof(window.dhx4._eventable) == "undefined") {
-
- window.dhx4._eventable = function(obj, mode) {
-
- if (mode == "clear") {
-
- obj.detachAllEvents();
-
- obj.dhxevs = null;
-
- obj.attachEvent = null;
- obj.detachEvent = null;
- obj.checkEvent = null;
- obj.callEvent = null;
- obj.detachAllEvents = null;
-
- obj = null;
-
- return;
-
- }
-
- obj.dhxevs = { data: {} };
-
- obj.attachEvent = function(name, func) {
- name = String(name).toLowerCase();
- if (!this.dhxevs.data[name]) this.dhxevs.data[name] = {};
- var eventId = window.dhx4.newId();
- this.dhxevs.data[name][eventId] = func;
- return eventId;
- }
-
- obj.detachEvent = function(eventId) {
- for (var a in this.dhxevs.data) {
- var k = 0;
- for (var b in this.dhxevs.data[a]) {
- if (b == eventId) {
- this.dhxevs.data[a][b] = null;
- delete this.dhxevs.data[a][b];
- } else {
- k++;
- }
- }
- if (k == 0) {
- this.dhxevs.data[a] = null;
- delete this.dhxevs.data[a];
- }
- }
- }
-
- obj.checkEvent = function(name) {
- name = String(name).toLowerCase();
- return (this.dhxevs.data[name] != null);
- }
-
- obj.callEvent = function(name, params) {
- name = String(name).toLowerCase();
- if (this.dhxevs.data[name] == null) return true;
- var r = true;
- for (var a in this.dhxevs.data[name]) {
- r = this.dhxevs.data[name][a].apply(this, params) && r;
- }
- return r;
- }
-
- obj.detachAllEvents = function() {
- for (var a in this.dhxevs.data) {
- for (var b in this.dhxevs.data[a]) {
- this.dhxevs.data[a][b] = null;
- delete this.dhxevs.data[a][b];
- }
- this.dhxevs.data[a] = null;
- delete this.dhxevs.data[a];
- }
- }
-
- obj = null;
- };
-
- dhx4._eventable(dhx4);
-
-};
-
-if (typeof(window.dhtmlx) == "undefined") {
- window.dhtmlx={
- extend:function(a, b){
- for (var key in b)
- if (!a[key])
- a[key]=b[key];
- return a;
- },
- extend_api:function(name,map,ext){
- var t = window[name];
- if (!t) return; //component not defined
- window[name]=function(obj){
- if (obj && typeof obj == "object" && !obj.tagName){
- var that = t.apply(this,(map._init?map._init(obj):arguments));
- //global settings
- for (var a in dhtmlx)
- if (map[a]) this[map[a]](dhtmlx[a]);
- //local settings
- for (var a in obj){
- if (map[a]) this[map[a]](obj[a]);
- else if (a.indexOf("on")===0){
- this.attachEvent(a,obj[a]);
- }
- }
- } else
- var that = t.apply(this,arguments);
- if (map._patch) map._patch(this);
- return that||this;
- };
- window[name].prototype=t.prototype;
- if (ext)
- dhtmlx.extend(window[name].prototype,ext);
- },
- url:function(str){
- if (str.indexOf("?") != -1)
- return "&";
- else
- return "?";
- }
- };
-};
-
- _isFF = false;
- _isIE = false;
- _isOpera = false;
- _isKHTML = false;
- _isMacOS = false;
- _isChrome = false;
- _FFrv = false;
- _KHTMLrv = false;
- _OperaRv = false;
-
-if (navigator.userAgent.indexOf('Macintosh') != -1)
- _isMacOS=true;
-
-
-if (navigator.userAgent.toLowerCase().indexOf('chrome')>-1)
- _isChrome=true;
-
-if ((navigator.userAgent.indexOf('Safari') != -1)||(navigator.userAgent.indexOf('Konqueror') != -1)){
- _KHTMLrv = parseFloat(navigator.userAgent.substr(navigator.userAgent.indexOf('Safari')+7, 5));
-
- if (_KHTMLrv > 525){ //mimic FF behavior for Safari 3.1+
- _isFF=true;
- _FFrv = 1.9;
- } else
- _isKHTML=true;
-} else if (navigator.userAgent.indexOf('Opera') != -1){
- _isOpera=true;
- _OperaRv=parseFloat(navigator.userAgent.substr(navigator.userAgent.indexOf('Opera')+6, 3));
-}
-
-
-else if (navigator.appName.indexOf("Microsoft") != -1){
- _isIE=true;
- if ((navigator.appVersion.indexOf("MSIE 8.0")!= -1 ||
- navigator.appVersion.indexOf("MSIE 9.0")!= -1 ||
- navigator.appVersion.indexOf("MSIE 10.0")!= -1 ||
- document.documentMode > 7) &&
- document.compatMode != "BackCompat"){
- _isIE=8;
- }
-} else if (navigator.appName == 'Netscape' && navigator.userAgent.indexOf("Trident") != -1){
- //ie11
- _isIE=8;
-} else {
- _isFF=true;
- _FFrv = parseFloat(navigator.userAgent.split("rv:")[1])
-}
-
-if (typeof(window.dhtmlxEvent) == "undefined") {
-
- function dhtmlxEvent(el, event, handler){
- if (el.addEventListener)
- el.addEventListener(event, handler, false);
-
- else if (el.attachEvent)
- el.attachEvent("on"+event, handler);
- }
-};
-
-if (dhtmlxEvent.touchDelay == null) {
- dhtmlxEvent.touchDelay = 2000;
-};
-
-if (typeof(dhtmlxEvent.initTouch) == "undefined") {
-
- dhtmlxEvent.initTouch = function(){
- var longtouch;
- var target;
- var tx, ty;
-
- dhtmlxEvent(document.body, "touchstart", function(ev){
- target = ev.touches[0].target;
- tx = ev.touches[0].clientX;
- ty = ev.touches[0].clientY;
- longtouch = window.setTimeout(touch_event, dhtmlxEvent.touchDelay);
- });
- function touch_event(){
- if (target){
- var ev = document.createEvent("HTMLEvents"); // for chrome and firefox
- ev.initEvent("dblclick", true, true);
- target.dispatchEvent(ev);
- longtouch = target = null;
- }
- };
- dhtmlxEvent(document.body, "touchmove", function(ev){
- if (longtouch){
- if (Math.abs(ev.touches[0].clientX - tx) > 50 || Math.abs(ev.touches[0].clientY - ty) > 50 ){
- window.clearTimeout(longtouch);
- longtouch = target = false;
- }
- }
- });
- dhtmlxEvent(document.body, "touchend", function(ev){
- if (longtouch){
- window.clearTimeout(longtouch);
- longtouch = target = false;
- }
- });
-
- dhtmlxEvent.initTouch = function(){};
- };
-};
-
-if(!window.dhtmlx)
- window.dhtmlx = {};
-
-(function(){
- var _dhx_msg_cfg = null;
- function callback(config, result){
- var usercall = config.callback;
- modality(false);
- config.box.parentNode.removeChild(config.box);
- _dhx_msg_cfg = config.box = null;
- if (usercall)
- usercall(result);
- }
- function modal_key(e){
- if (_dhx_msg_cfg){
- e = e||event;
- var code = e.which||event.keyCode;
- if (dhtmlx.message.keyboard){
- if (code == 13 || code == 32)
- callback(_dhx_msg_cfg, true);
- if (code == 27)
- callback(_dhx_msg_cfg, false);
- }
- if (e.preventDefault)
- e.preventDefault();
- return !(e.cancelBubble = true);
- }
- }
- if (document.attachEvent)
- document.attachEvent("onkeydown", modal_key);
- else
- document.addEventListener("keydown", modal_key, true);
-
- function modality(mode){
- if(!modality.cover){
- modality.cover = document.createElement("DIV");
- //necessary for IE only
- modality.cover.onkeydown = modal_key;
- modality.cover.className = "dhx_modal_cover";
- document.body.appendChild(modality.cover);
- }
- var height = document.body.scrollHeight;
- modality.cover.style.display = mode?"inline-block":"none";
- }
-
- function button(text, result){
- var button_css = "dhtmlx_"+text.toLowerCase().replace(/ /g, "_")+"_button"; // dhtmlx_ok_button, dhtmlx_click_me_button
- return "";
- }
-
- function info(text){
- if (!t.area){
- t.area = document.createElement("DIV");
- t.area.className = "dhtmlx_message_area";
- t.area.style[t.position]="5px";
- document.body.appendChild(t.area);
- }
-
- t.hide(text.id);
- var message = document.createElement("DIV");
- message.innerHTML = ""+text.text+"
";
- message.className = "dhtmlx-info dhtmlx-" + text.type;
- message.onclick = function(){
- t.hide(text.id);
- text = null;
- };
-
- if (t.position == "bottom" && t.area.firstChild)
- t.area.insertBefore(message,t.area.firstChild);
- else
- t.area.appendChild(message);
-
- if (text.expire > 0)
- t.timers[text.id]=window.setTimeout(function(){
- t.hide(text.id);
- }, text.expire);
-
- t.pull[text.id] = message;
- message = null;
-
- return text.id;
- }
- function _boxStructure(config, ok, cancel){
- var box = document.createElement("DIV");
- box.className = " dhtmlx_modal_box dhtmlx-"+config.type;
- box.setAttribute("dhxbox", 1);
-
- var inner = '';
-
- if (config.width)
- box.style.width = config.width;
- if (config.height)
- box.style.height = config.height;
- if (config.title)
- inner+='';
- inner+='";
-
- }
- buttons = this.config.buttons_right;
- for (var i = 0; i < buttons.length; i++){
- var button = this.config._migrate_buttons[buttons[i]] ? this.config._migrate_buttons[buttons[i]] : buttons[i];
- html+="";
-
- }
- html+="";
- d.innerHTML=html;
-
- if (gantt.config.drag_lightbox){
- d.firstChild.onmousedown = gantt._ready_to_dnd;
- d.firstChild.onselectstart = function(){ return false; };
- d.firstChild.style.cursor = "pointer";
- gantt._init_dnd_events();
-
- }
-
- document.body.insertBefore(d,document.body.firstChild);
- this._lightbox=d;
-
- var sns = this._get_typed_lightbox_config(type);
- html = this._render_sections(sns);
-
- var ds=d.getElementsByTagName("div");
- for (var i=0; i
"+this.locale.labels["button_"+sns[i].button]+"
";
- }
- if (this.config.wide_form){
- html+="";
- }
- html+="
"+button+this.locale.labels["section_"+sns[i].name]+"
"+block.render.call(this,sns[i]);
- html+="
";
- }
- return html;
-};
-
-
-gantt.resizeLightbox=function(){
- var d = this._lightbox;
- if (!d) return;
-
- var con = d.childNodes[1];
- con.style.height="0px";
- con.style.height=con.scrollHeight+"px";
- d.style.height=con.scrollHeight+this.config.lightbox_additional_height+"px";
- con.style.height=con.scrollHeight+"px"; //it is incredible , how ugly IE can be
-
-
-};
-
-gantt._center_lightbox = function(box) {
- if (box){
- box.style.display="block";
-
- var scroll_top = window.pageYOffset||document.body.scrollTop||document.documentElement.scrollTop;
- var scroll_left = window.pageXOffset||document.body.scrollLeft||document.documentElement.scrollLeft;
-
- var view_height = window.innerHeight||document.documentElement.clientHeight;
-
- if(scroll_top) // if vertical scroll on window
- box.style.top=Math.round(scroll_top+Math.max((view_height-box.offsetHeight)/2, 0))+"px";
- else // vertical scroll on body
- box.style.top=Math.round(Math.max(((view_height-box.offsetHeight)/2), 0) + 9)+"px"; // +9 for compatibility with auto tests
-
- // not quite accurate but used for compatibility reasons
- if(document.documentElement.scrollWidth > document.body.offsetWidth) // if horizontal scroll on the window
- box.style.left=Math.round(scroll_left+(document.body.offsetWidth-box.offsetWidth)/2)+"px";
- else // horizontal scroll on the body
- box.style.left=Math.round((document.body.offsetWidth-box.offsetWidth)/2)+"px";
- }
-};
-gantt.showCover = function(){
- if(this._cover) return;
-
- this._cover=document.createElement("DIV");
- this._cover.className="gantt_cal_cover";
- var _document_height = ((document.height !== undefined) ? document.height : document.body.offsetHeight);
- var _scroll_height = ((document.documentElement) ? document.documentElement.scrollHeight : 0);
- this._cover.style.height = Math.max(_document_height, _scroll_height) + 'px';
- document.body.appendChild(this._cover);
-};
-
-
-gantt._init_lightbox_events = function(){
- gantt.lightbox_events = {};
-
-
- gantt.lightbox_events["gantt_save_btn"] = function(e) {
- gantt._save_lightbox();
- };
-
-
- gantt.lightbox_events["gantt_delete_btn"] = function(e) {
- if(!gantt.callEvent("onLightboxDelete", [gantt._lightbox_id]))
- return;
-
- if(gantt.isTaskExists(gantt._lightbox_id)){
- gantt.$click.buttons["delete"](gantt._lightbox_id);
- }else{
- gantt.hideLightbox();
- }
-
- };
-
-
- gantt.lightbox_events["gantt_cancel_btn"] = function(e) {
- gantt._cancel_lightbox();
- };
-
-
- gantt.lightbox_events["default"] = function(e, src) {
- if (src.getAttribute("dhx_button")) {
- gantt.callEvent("onLightboxButton", [src.className, src, e]);
- } else {
- var index, block, sec;
- if (src.className.indexOf("gantt_custom_button") != -1) {
- if (src.className.indexOf("gantt_custom_button_") != -1) {
- index = src.parentNode.getAttribute("index");
- sec = src.parentNode.parentNode;
- } else {
- index = src.getAttribute("index");
- sec = src.parentNode;
- src = src.firstChild;
- }
- }
-
- var sections = gantt._get_typed_lightbox_config();
-
- if (index) {
- block = gantt.form_blocks[sections[index].type];
- block.button_click(index, src, sec, sec.nextSibling);
- }
- }
- };
- dhtmlxEvent(gantt.getLightbox(), "click", function(e) {
- e = e || window.event;
- var src = e.target ? e.target : e.srcElement;
-
- if (!src.className)
- src = src.previousSibling;
- if (src && src.className && src.className.indexOf("gantt_btn_set") === 0)
- src = src.firstChild;
- if (src && src.className) {
- var func = dhtmlx.defined(gantt.lightbox_events[src.className]) ? gantt.lightbox_events[src.className] : gantt.lightbox_events["default"];
- return func(e, src);
- }
- return false;
- });
-
- gantt.getLightbox().onkeydown=function(e){
- switch((e||event).keyCode){
- case gantt.keys.edit_save:
- if ((e||event).shiftKey) return;
- gantt._save_lightbox();
- break;
- case gantt.keys.edit_cancel:
- gantt._cancel_lightbox();
- break;
- default:
- break;
- }
- };
-};
-
-gantt._cancel_lightbox=function(){
- var task = this.getLightboxValues();
- this.callEvent("onLightboxCancel",[this._lightbox_id, task.$new]);
- if(gantt.isTaskExists(task.id) && task.$new){
- this._deleteTask(task.id, true);
- }
-
- this.refreshData();
- this.hideLightbox();
-};
-
-gantt._save_lightbox=function(){
- var task = this.getLightboxValues();
- if(!this.callEvent("onLightboxSave", [this._lightbox_id, task, !!task.$new]))
- return;
-
- if (task.$new){
- delete task.$new;
- this.addTask(task);
- }else if(this.isTaskExists(task.id)){
- dhtmlx.mixin(this.getTask(task.id), task, true);
- this.updateTask(task.id);
- }
- this.refreshData();
-
- // TODO: do we need any blockable events here to prevent closing lightbox?
- this.hideLightbox();
-};
-
-gantt._resolve_default_mapping = function(section) {
- var mapping = section.map_to;
- var time_controls = {"time":true, "duration":true};
- if(time_controls[section.type]){
- if(section.map_to == 'auto'){
- mapping = {start_date: "start_date", end_date: "end_date", duration: "duration"};
- }else if(typeof(section.map_to) === "string"){
- mapping = {start_date: section.map_to};
- }
- }
-
- return mapping;
-};
-
-gantt.getLightboxValues=function(){
- var task = {};
-
- if(gantt.isTaskExists(this._lightbox_id)) {
- task = dhtmlx.mixin({}, this.getTask(this._lightbox_id));
- }
-
- var sns = this._get_typed_lightbox_config();
- for (var i=0; i < sns.length; i++) {
- var node = document.getElementById(sns[i].id);
- node=(node?node.nextSibling:node);
- var block=this.form_blocks[sns[i].type];
- if(!block) continue;
- var res=block.get_value.call(this,node,task, sns[i]);
- var map_to = gantt._resolve_default_mapping(sns[i]);
- if (typeof map_to == "string" && map_to != "auto") {
- task[map_to] = res;
- } else if(typeof map_to == "object") {
- for(var property in map_to) {
- if(map_to[property])
- task[map_to[property]] = res[property];
- }
- }
- }
- return task;
-};
-
-
-gantt.hideLightbox=function(){
- var box = this.getLightbox();
- if (box) box.style.display="none";
- this._lightbox_id=null;
-
- this.hideCover();
- this.callEvent("onAfterLightbox",[]);
-};
-gantt.hideCover=function(){
- if (this._cover)
- this._cover.parentNode.removeChild(this._cover);
- this._cover=null;
-};
-
-gantt.resetLightbox = function(){
- if (gantt._lightbox && !gantt._custom_lightbox)
- gantt._lightbox.parentNode.removeChild(gantt._lightbox);
- gantt._lightbox = null;
-};
-gantt._set_lightbox_values = function(data, box){
- var task = data;
- var s = box.getElementsByTagName("span");
- if (gantt.templates.lightbox_header) {
- s[1].innerHTML = "";
- s[2].innerHTML = gantt.templates.lightbox_header(task.start_date, task.end_date, task);
- } else {
- s[1].innerHTML = this.templates.task_time(task.start_date, task.end_date, task);
- s[2].innerHTML = (this.templates.task_text(task.start_date, task.end_date, task) || "").substr(0, 70); //IE6 fix
- }
-
-
- var sns = this._get_typed_lightbox_config(this.getLightboxType());
- for (var i = 0; i < sns.length; i++) {
- var section = sns[i];
-
- if(!this.form_blocks[section.type]){
- continue;//skip incorrect sections, same check is done during rendering
- }
-
-
- var node = document.getElementById(section.id).nextSibling;
- var block = this.form_blocks[section.type];
- var map_to = gantt._resolve_default_mapping(sns[i]);
- var value = dhtmlx.defined(task[map_to]) ? task[map_to] : section.default_value;
- block.set_value.call(gantt, node, value, task, section);
-
- if (section.focus)
- block.focus.call(gantt, node);
- }
- if(data.id)
- gantt._lightbox_id = data.id;
-};
-gantt._fill_lightbox = function(id, box) {
- var task = this.getTask(id);
- this._set_lightbox_values(task, box);
-};
-
-
-gantt.getLightboxSection = function(name){
- var config = this._get_typed_lightbox_config();
- var i =0;
- for (i; i < config.length; i++)
- if (config[i].name == name)
- break;
- var section = config[i];
- if(!section)
- return null;
-
- if (!this._lightbox)
- this.getLightbox();
- var header = document.getElementById(section.id);
- var node = header.nextSibling;
-
- var result = {
- section: section,
- header: header,
- node: node,
- getValue:function(ev){
- return gantt.form_blocks[section.type].get_value.call(gantt, node, (ev||{}), section);
- },
- setValue:function(value, ev){
- return gantt.form_blocks[section.type].set_value.call(gantt, node, value, (ev||{}), section);
- }
- };
-
- var handler = this._lightbox_methods["get_"+section.type+"_control"];
- return handler?handler(result):result;
-};
-
-gantt._lightbox_methods.get_template_control = function(result) {
- result.control = result.node;
- return result;
-};
-gantt._lightbox_methods.get_select_control = function(result) {
- result.control = result.node.getElementsByTagName('select')[0];
- return result;
-};
-gantt._lightbox_methods.get_textarea_control = function(result) {
- result.control = result.node.getElementsByTagName('textarea')[0];
- return result;
-};
-gantt._lightbox_methods.get_time_control = function(result) {
- result.control = result.node.getElementsByTagName('select'); // array
- return result;
-};
-
-
-
-
-
-gantt._init_dnd_events = function(){
- dhtmlxEvent(document.body, "mousemove", gantt._move_while_dnd);
- dhtmlxEvent(document.body, "mouseup", gantt._finish_dnd);
- gantt._init_dnd_events = function(){};
-};
-gantt._move_while_dnd = function(e){
- if (gantt._dnd_start_lb){
- if (!document.gantt_unselectable){
- document.body.className += " gantt_unselectable";
- document.gantt_unselectable = true;
- }
- var lb = gantt.getLightbox();
- var now = (e&&e.target)?[e.pageX, e.pageY]:[event.clientX, event.clientY];
- lb.style.top = gantt._lb_start[1]+now[1]-gantt._dnd_start_lb[1]+"px";
- lb.style.left = gantt._lb_start[0]+now[0]-gantt._dnd_start_lb[0]+"px";
- }
-};
-gantt._ready_to_dnd = function(e){
- var lb = gantt.getLightbox();
- gantt._lb_start = [parseInt(lb.style.left,10), parseInt(lb.style.top,10)];
- gantt._dnd_start_lb = (e&&e.target)?[e.pageX, e.pageY]:[event.clientX, event.clientY];
-};
-gantt._finish_dnd = function(){
- if (gantt._lb_start){
- gantt._lb_start = gantt._dnd_start_lb = false;
- document.body.className = document.body.className.replace(" gantt_unselectable","");
- document.gantt_unselectable = false;
- }
-};
-
-
-
-
-gantt._focus = function(node, select){
- if (node && node.focus){
- if (gantt.config.touch){
- //do not focus editor, to prevent auto-zoom
- } else {
- try {
- if (select && node.select) node.select();
- node.focus();
- }catch(e){ }
- }
- }
-};
-
-
-gantt.form_blocks={
- getTimePicker: function(sns, hidden) {
- var time_format = sns.time_format;
- if (!time_format) {
- // default order
- var time_format = ["%d", "%m", "%Y"];
- if(gantt._get_line(gantt._tasks.unit) < gantt._get_line("day")){
- time_format.push("%H:%i");
- }
- }
- // map: default order => real one
- sns._time_format_order = { size:0 };
-
-
- var cfg = this.config;
- var dt = this.date.date_part(new Date(gantt._min_date.valueOf()));
- var last = 24*60, first = 0;
- if(gantt.config.limit_time_select){
- last = 60*cfg.last_hour+1;
- first = 60*cfg.first_hour;
- dt.setHours(cfg.first_hour);
- }
- var html = "";
-
- for (var p = 0; p < time_format.length; p++) {
- var time_option = time_format[p];
-
- // adding spaces between selects
- if (p > 0) {
- html += " ";
- }
-
- var options = '';
- switch (time_option) {
- case "%Y":
- sns._time_format_order[2] = p;
- sns._time_format_order.size++;
- //year
-
- var range, offset, start_year, end_year;
-
- if(sns.year_range){
- if(!isNaN(sns.year_range)){
- range = sns.year_range;
- }else if(sns.year_range.push){
- // if
- start_year = sns.year_range[0];
- end_year = sns.year_range[1];
- }
- }
-
- range = range || 10;
- offset = offset || Math.floor(range/2);
- start_year = start_year || dt.getFullYear() - offset;
- end_year = end_year || start_year + range;
-
-
- for (var i=start_year; i < end_year; i++)
- options+=""+(i)+" ";
- break;
- case "%m":
- sns._time_format_order[1] = p;
- sns._time_format_order.size++;
- //month
- for (var i=0; i < 12; i++)
- options+=""+this.locale.date.month_full[i]+" ";
- break;
- case "%d":
- sns._time_format_order[0] = p;
- sns._time_format_order.size++;
- //days
- for (var i=1; i < 32; i++)
- options+=""+i+" ";
- break;
- case "%H:%i":
- // var last = 24*60, first = 0;
- sns._time_format_order[3] = p;
- sns._time_format_order.size++;
- //hours
- var i = first;
- var tdate = dt.getDate();
- sns._time_values = [];
-
- while(i"+time+"";
- sns._time_values.push(i);
- dt.setTime(dt.valueOf()+this._get_timepicker_step()*60*1000);
- var diff = (dt.getDate()!=tdate)?1:0; // moved or not to the next day
- i=diff*24*60+dt.getHours()*60+dt.getMinutes();
- }
- break;
- default:
- break;
- }
-
- if(options){
- var readonly = sns.readonly ? "disabled='disabled'" : "";
- var display = hidden ? " style='display:none'" : "";
- html += ""+options+" ";
- }
- }
- return html;
- },
- _fill_lightbox_select: function (s,i,d,map,cfg) {
- s[i+map[0]].value=d.getDate();
- s[i+map[1]].value=d.getMonth();
- s[i+map[2]].value=d.getFullYear();
- if (dhtmlx.defined(map[3])) {
- var v = d.getHours()*60+ d.getMinutes();
- v = Math.round(v/gantt._get_timepicker_step())*gantt._get_timepicker_step();
- var input = s[i+map[3]];
- input.value= v;
- //in case option not shown
- input.setAttribute('data-value', v);
- }
- },
- template:{
- render: function(sns){
- var height=(sns.height||"30")+"px";
- return "
";
- },
- set_value:function(node,value,ev,config){
- node.innerHTML = value||"";
- },
- get_value:function(node,ev,config){
- return node.innerHTML||"";
- },
- focus: function(node){
- }
- },
- textarea:{
- render:function(sns){
- var height=(sns.height||"130")+"px";
- return "
";
- },
- set_value:function(node,value,ev){
- node.firstChild.value=value||"";
- },
- get_value:function(node,ev){
- return node.firstChild.value;
- },
- focus:function(node){
- var a=node.firstChild; gantt._focus(a, true);
- }
- },
- select:{
- render:function(sns){
- var height=(sns.height||"23")+"px";
- var html="";
- for (var i=0; i < sns.options.length; i++)
- html+=""+sns.options[i].label+" ";
- html+="
";
- return html;
- },
- set_value:function(node,value,ev,sns){
- var select = node.firstChild;
- if (!select._dhx_onchange && sns.onchange) {
- select.onchange = sns.onchange;
- select._dhx_onchange = true;
- }
- if (typeof value == "undefined")
- value = (select.options[0]||{}).value;
- select.value=value||"";
- },
- get_value:function(node,ev){
- return node.firstChild.value;
- },
- focus:function(node){
- var a=node.firstChild; gantt._focus(a, true);
- }
- },
- time:{
- render:function(sns) {
- var time = this.form_blocks.getTimePicker.call(this, sns);
- var parts = [""];
- parts.push(time);
-
- if(sns.single_date){
- time = this.form_blocks.getTimePicker.call(this, sns, true);
- parts.push(" ");
- }else{
- parts.push(" – ");
- }
-
- parts.push(time);
- parts.push("
");
- return parts.join('');
- },
- set_value:function(node,value,ev,config){
- var cfg = config;
- var s=node.getElementsByTagName("select");
-
- var map = config._time_format_order;
- var map_size = config._time_format_size;
-
- if(cfg.auto_end_date) {
- var _update_lightbox_select = function() {
- start_date = new Date(s[map[2]].value,s[map[1]].value,s[map[0]].value,0,0);
- end_date = gantt.calculateEndDate(start_date, 1);
- this.form_blocks._fill_lightbox_select(s,map.size, end_date,map,cfg);
- };
- for(var i=0; i<4; i++) {
- s[i].onchange = _update_lightbox_select;
- }
- }
-
- var mapping = gantt._resolve_default_mapping(config);
-
- if(typeof(mapping) === "string") mapping = {start_date: mapping};
-
- var start_date = ev[mapping.start_date] || new Date();
- var end_date = ev[mapping.end_date] || gantt.calculateEndDate(start_date, 1);
-
- this.form_blocks._fill_lightbox_select(s,0,start_date,map,cfg);
- this.form_blocks._fill_lightbox_select(s,map.size,end_date,map,cfg);
- },
-
- get_value:function(node, ev, config) {
- var s=node.getElementsByTagName("select");
- var map = config._time_format_order;
-
- var hours = 0, minutes = 0;
- if (dhtmlx.defined(map[3])) {
- var time = parseInt(s[map[3]].value, 10);
- hours = Math.floor(time/60);
- minutes = time%60;
- }
- var start_date=new Date(s[map[2]].value,s[map[1]].value,s[map[0]].value,hours,minutes);
-
- hours = minutes = 0;
- if (dhtmlx.defined(map[3])) {
- var time = parseInt(s[map.size+map[3]].value, 10);
- hours = Math.floor(time/60);
- minutes = time%60;
- }
- var end_date=new Date(s[map[2]+map.size].value,s[map[1]+map.size].value,s[map[0]+map.size].value,hours,minutes);
-
- if (end_date <= start_date)
- end_date = gantt.date.add(start_date, gantt._get_timepicker_step(),"minute");
-
- var mapped_fields = gantt._resolve_default_mapping(config);
-
- var res = {
- start_date: new Date(start_date),
- end_date: new Date(end_date)
- };
- if(typeof mapped_fields == "string"){
- return res.start_date;
- }else{
- return res;
- }
- },
- focus:function(node){
- gantt._focus(node.getElementsByTagName("select")[0]);
- }
- },
- duration:{
- render:function(sns) {
- var time = this.form_blocks.getTimePicker.call(this, sns);
- time = ""+time+"
";
- var label = this.locale.labels[this.config.duration_unit + "s"];
-
- var singleDate = sns.single_date ? ' style="display:none"' : "";
- var readonly = sns.readonly ? " disabled='disabled'" : "";
-
- var duration = "" +
- " " +
- " " +
- " " + label + " " +
- "
";
- var html = ""+time+" "+duration+"
";
- return html;
- },
- set_value:function(node,value,ev,config){
- var cfg = config;
- var s=node.getElementsByTagName("select");
- var inps = node.getElementsByTagName("input");
-
- var duration = inps[1];
- var btns=[inps[0],inps[2]];
- var endspan = node.getElementsByTagName("span")[0];
-
- var map = config._time_format_order;
-
- function _calc_date() {
- var start_date = gantt.form_blocks.duration._get_start_date.call(gantt, node ,config);
- var duration = gantt.form_blocks.duration._get_duration.call(gantt, node ,config);
- var end_date = gantt.calculateEndDate(start_date, duration);
-
- endspan.innerHTML = gantt.templates.task_date(end_date);
- }
-
- function _change_duration(step) {
- var value = duration.value;
- value = parseInt(value, 10);
- if (window.isNaN(value))
- value = 0;
- value+=step;
- if (value < 1) value = 1;
- duration.value = value;
- _calc_date();
- }
-
- btns[0].onclick = dhtmlx.bind(function() { _change_duration(-1*this.config.duration_step); }, this);
- btns[1].onclick = dhtmlx.bind(function() { _change_duration(1*this.config.duration_step); }, this);
- s[0].onchange = _calc_date;
- s[1].onchange = _calc_date;
- s[2].onchange = _calc_date;
- if (s[3]) s[3].onchange = _calc_date;
- duration.onkeydown = dhtmlx.bind(function(e) {
- e = e || window.event;
- // up
- var code = (e.charCode || e.keyCode || e.which);
-
- if (code == 40) {
- _change_duration(-1*this.config.duration_step);
- return false;
- }
- // down
- if (code == 38) {
- _change_duration(1*this.config.duration_step);
- return false;
- }
- window.setTimeout(function(e) {
- _calc_date();
- }, 1);
- }, this);
-
- duration.onchange = dhtmlx.bind(function(e) { _calc_date(); }, this);
-
- var mapping = gantt._resolve_default_mapping(config);
- if(typeof(mapping) === "string") mapping = {start_date: mapping};
-
- var start_date = ev[mapping.start_date] || new Date();
- var end_date = ev[mapping.end_date] || gantt.calculateEndDate(start_date, 1);
- var duration_val = Math.round(ev[mapping.duration]) || gantt.calculateDuration(start_date, end_date);
-
- gantt.form_blocks._fill_lightbox_select(s, 0, start_date, map, cfg);
- duration.value = duration_val;
- _calc_date();
- },
-
- _get_start_date: function(node, config) {
- var s=node.getElementsByTagName("select");
- var map = config._time_format_order;
- var hours = 0;
- var minutes = 0;
- if (dhtmlx.defined(map[3])) {
- var input = s[map[3]];
- var time = parseInt(input.value, 10);
- if(isNaN(time) && input.hasAttribute("data-value")){
- time = parseInt(input.getAttribute("data-value"), 10);
- }
-
- hours = Math.floor(time/60);
- minutes = time%60;
- }
- return new Date(s[map[2]].value,s[map[1]].value,s[map[0]].value,hours,minutes);
- },
- _get_duration: function(node, config) {
- var duration = node.getElementsByTagName("input")[1];
- duration = parseInt(duration.value, 10);
- if (!duration || window.isNaN(duration)) duration = 1;
- if (duration < 0) duration *= -1;
- return duration;
- },
-
- get_value:function(node, ev, config) {
- var start_date = gantt.form_blocks.duration._get_start_date(node, config);
- var duration = gantt.form_blocks.duration._get_duration(node, config);
-
- var end_date = gantt.calculateEndDate(start_date, duration);
- var mapped_fields = gantt._resolve_default_mapping(config);
- var res = {
- start_date: new Date(start_date),
- end_date: new Date(end_date),
- duration: duration
- };
- if(typeof mapped_fields == "string"){
- return res.start_date;
- }else{
- return res;
- }
- },
- focus:function(node){
- gantt._focus(node.getElementsByTagName("select")[0]);
- }
- },
- parent: {
- _filter : function(options, config, item_id){
- var filter = config.filter || function(){ return true;};
-
- options = options.slice(0);
-
- for(var i=0; i < options.length; i++){
- var task = options[i];
- if(task.id == item_id || gantt.isChildOf(task.id, item_id) || filter(task.id, task) === false){
- options.splice(i, 1);
- i--;
- }
- }
- return options;
- },
-
- _display : function(config, item_id){
- var tasks = [],
- options = [];
- if(item_id){
- tasks = gantt.getTaskByTime();
- if(config.allow_root){
- tasks.unshift({id:gantt.config.root_id, text:config.root_label || ""});
- }
- tasks = this._filter(tasks, config, item_id);
- if(config.sort){
- tasks.sort(config.sort);
- }
- }
- var text = config.template || gantt.templates.task_text;
- for(var i = 0; i < tasks.length; i++){
- var label = text.apply(gantt, [tasks[i].start_date, tasks[i].end_date, tasks[i]]);
- if(label === undefined){
- label = "";
- }
- options.push({
- key: tasks[i].id,
- label: label
- });
- }
- config.options = options;
- config.map_to = config.map_to || "parent";
- return gantt.form_blocks.select.render.apply(this, arguments);
- },
- render : function(sns){
- return gantt.form_blocks.parent._display(sns, false);
- },
- set_value:function(node,value,ev,config){
- var tmpDom = document.createElement("div");
- tmpDom.innerHTML = gantt.form_blocks.parent._display(config, ev.id);
- var newOptions = tmpDom.removeChild(tmpDom.firstChild);
- node.onselect = null;
- node.parentNode.replaceChild(newOptions, node);
-
- return gantt.form_blocks.select.set_value.apply(gantt, [newOptions,value,ev,config]);
- },
- get_value:function(){
- return gantt.form_blocks.select.get_value.apply(gantt, arguments);
- },
- focus:function(){
- return gantt.form_blocks.select.focus.apply(gantt, arguments);
- }
- }
-};
-
-gantt._is_lightbox_timepicker = function() {
- var s = this._get_typed_lightbox_config();
- for (var i = 0; i < s.length; i++)
- if (s[i].name == "time" && s[i].type == "time")
- return true;
- return false;
-};
-
-gantt._dhtmlx_confirm = function(message, title, callback, ok) {
- if (!message)
- return callback();
- var opts = { text: message };
- if (title)
- opts.title = title;
- if(ok){
- opts.ok = ok;
- }
- if (callback) {
- opts.callback = function(result) {
- if (result)
- callback();
- };
- }
- dhtmlx.confirm(opts);
-};
-
-gantt._get_typed_lightbox_config = function(type){
- if(type === undefined){
- type = this.getLightboxType();
- }
-
- var field = this._get_type_name(type);
-
- if(gantt.config.lightbox[field+"_sections"]){
- return gantt.config.lightbox[field+"_sections"];
- }else{
- return gantt.config.lightbox.sections;
- }
-};
-
-gantt._silent_redraw_lightbox = function(type){
- var oldType = this.getLightboxType();
-
- if(this.getState().lightbox){
- var taskId = this.getState().lightbox;
- var formData = this.getLightboxValues(),
- task = dhtmlx.copy(this.getTask(taskId));
-
- this.resetLightbox();
-
- var updTask = dhtmlx.mixin(task, formData, true);
- var box = this.getLightbox(type ? type : undefined);
- this._center_lightbox(this.getLightbox());
- this._set_lightbox_values(updTask, box);
- }else{
- this.resetLightbox();
- this.getLightbox(type ? type : undefined);
- }
- this.callEvent("onLightboxChange", [oldType, this.getLightboxType()]);
-};
-gantt._extend_to_optional = function(lightbox_block){
-
- var duration = lightbox_block;
- var optional_time = {
- render : duration.render,
- focus : duration.focus,
- set_value: function (node, value, task, section){
- var mapping = gantt._resolve_default_mapping(section);
- if(!task[mapping.start_date]){
- optional_time.disable(node, section);
- var val = {};
-
- for(var i in mapping){
- //take default values from the time control from task start/end dates
- val[mapping[i]] = task[i];
- }
-
- return duration.set_value.call(gantt, node, value, val, section);//set default value
- }else{
- optional_time.enable(node, section);
- return duration.set_value.call(gantt, node, value, task, section);
- }
- },
- get_value: function (node, task, section){
- if(section.disabled){
- return {start_date: null};
- }else{
- return duration.get_value.call(gantt, node, task, section);
- }
- },
- update_block : function(node, section){
- gantt.callEvent("onSectionToggle", [gantt._lightbox_id, section]);
- node.style.display = section.disabled ? "none" : "block";
-
- if(section.button){
- var button = node.previousSibling.firstChild.firstChild,
- labels = gantt.locale.labels;
-
- var button_text = section.disabled ? labels[section.name + "_enable_button"] : labels[section.name + "_disable_button"];
-
- button.nextSibling.innerHTML = button_text;
- }
- gantt.resizeLightbox();
- },
- disable: function(node, section){
- section.disabled = true;
- optional_time.update_block(node, section);
-
- },
- enable:function(node, section){
- section.disabled = false;
- optional_time.update_block(node, section);
- },
- button_click: function(index, el, section, container){
- if(gantt.callEvent("onSectionButton", [gantt._lightbox_id, section]) === false){
- return;
- }
- var config = gantt._get_typed_lightbox_config()[index];
- if(config.disabled){
- optional_time.enable(container, config);
- }else{
- optional_time.disable(container, config);
- }
- }
- };
- return optional_time;
-};
-
-gantt.form_blocks.duration_optional = gantt._extend_to_optional(gantt.form_blocks.duration);
-gantt.form_blocks.time_optional = gantt._extend_to_optional(gantt.form_blocks.time);
-/**
- * @desc: constructor, data processor object
- * @param: serverProcessorURL - url used for update
- * @type: public
- */
-function dataProcessor(serverProcessorURL){
- this.serverProcessor = serverProcessorURL;
- this.action_param="!nativeeditor_status";
-
- this.object = null;
- this.updatedRows = []; //ids of updated rows
-
- this.autoUpdate = true;
- this.updateMode = "cell";
- this._tMode="GET";
- this._headers = null;
- this._payload = null;
- this.post_delim = "_";
-
- this._waitMode=0;
- this._in_progress={};//?
- this._invalid={};
- this.mandatoryFields=[];
- this.messages=[];
-
- this.styles={
- updated:"font-weight:bold;",
- inserted:"font-weight:bold;",
- deleted:"text-decoration : line-through;",
- invalid:"background-color:FFE0E0;",
- invalid_cell:"border-bottom:2px solid red;",
- error:"color:red;",
- clear:"font-weight:normal;text-decoration:none;"
- };
-
- this.enableUTFencoding(true);
- dhx4._eventable(this);
-
- return this;
- }
-
-dataProcessor.prototype={
- setTransactionMode:function(mode,total){
- if (typeof mode == "object"){
- this._tMode = mode.mode || this._tMode;
- this._headers = this._headers || mode.headers;
- this._payload = this._payload || mode.payload;
- } else {
- this._tMode=mode;
- this._tSend=total;
- }
-
- if (this._tMode == "REST"){
- this._tSend = false;
- this._endnm = true;
- }
- },
- escape:function(data){
- if (this._utf)
- return encodeURIComponent(data);
- else
- return escape(data);
- },
- /**
- * @desc: allows to set escaping mode
- * @param: true - utf based escaping, simple - use current page encoding
- * @type: public
- */
- enableUTFencoding:function(mode){
- this._utf=dhx4.s2b(mode);
- },
- /**
- * @desc: allows to define, which column may trigger update
- * @param: val - array or list of true/false values
- * @type: public
- */
- setDataColumns:function(val){
- this._columns=(typeof val == "string")?val.split(","):val;
- },
- /**
- * @desc: get state of updating
- * @returns: true - all in sync with server, false - some items not updated yet.
- * @type: public
- */
- getSyncState:function(){
- return !this.updatedRows.length;
- },
- /**
- * @desc: enable/disable named field for data syncing, will use column ids for grid
- * @param: mode - true/false
- * @type: public
- */
- enableDataNames:function(mode){
- this._endnm=dhx4.s2b(mode);
- },
- /**
- * @desc: enable/disable mode , when only changed fields and row id send to the server side, instead of all fields in default mode
- * @param: mode - true/false
- * @type: public
- */
- enablePartialDataSend:function(mode){
- this._changed=dhx4.s2b(mode);
- },
- /**
- * @desc: set if rows should be send to server automaticaly
- * @param: mode - "row" - based on row selection changed, "cell" - based on cell editing finished, "off" - manual data sending
- * @type: public
- */
- setUpdateMode:function(mode,dnd){
- this.autoUpdate = (mode=="cell");
- this.updateMode = mode;
- this.dnd=dnd;
- },
- ignore:function(code,master){
- this._silent_mode=true;
- code.call(master||window);
- this._silent_mode=false;
- },
- /**
- * @desc: mark row as updated/normal. check mandatory fields,initiate autoupdate (if turned on)
- * @param: rowId - id of row to set update-status for
- * @param: state - true for "updated", false for "not updated"
- * @param: mode - update mode name
- * @type: public
- */
- setUpdated:function(rowId,state,mode){
- if (this._silent_mode) return;
- var ind=this.findRow(rowId);
-
- mode=mode||"updated";
- var existing = this.obj.getUserData(rowId,this.action_param);
- if (existing && mode == "updated") mode=existing;
- if (state){
- this.set_invalid(rowId,false); //clear previous error flag
- this.updatedRows[ind]=rowId;
- this.obj.setUserData(rowId,this.action_param,mode);
- if (this._in_progress[rowId])
- this._in_progress[rowId]="wait";
- } else{
- if (!this.is_invalid(rowId)){
- this.updatedRows.splice(ind,1);
- this.obj.setUserData(rowId,this.action_param,"");
- }
- }
-
- //clear changed flag
- if (!state)
- this._clearUpdateFlag(rowId);
-
- this.markRow(rowId,state,mode);
- if (state && this.autoUpdate) this.sendData(rowId);
- },
- _clearUpdateFlag:function(id){},
- markRow:function(id,state,mode){
- var str="";
- var invalid=this.is_invalid(id);
- if (invalid){
- str=this.styles[invalid];
- state=true;
- }
- if (this.callEvent("onRowMark",[id,state,mode,invalid])){
- //default logic
- str=this.styles[state?mode:"clear"]+str;
-
- this.obj[this._methods[0]](id,str);
-
- if (invalid && invalid.details){
- str+=this.styles[invalid+"_cell"];
- for (var i=0; i < invalid.details.length; i++)
- if (invalid.details[i])
- this.obj[this._methods[1]](id,i,str);
- }
- }
- },
- getState:function(id){
- return this.obj.getUserData(id,this.action_param);
- },
- is_invalid:function(id){
- return this._invalid[id];
- },
- set_invalid:function(id,mode,details){
- if (details) mode={value:mode, details:details, toString:function(){ return this.value.toString(); }};
- this._invalid[id]=mode;
- },
- /**
- * @desc: check mandatory fields and varify values of cells, initiate update (if specified)
- * @param: rowId - id of row to set update-status for
- * @type: public
- */
- checkBeforeUpdate:function(rowId){
- return true;
- },
- /**
- * @desc: send row(s) values to server
- * @param: rowId - id of row which data to send. If not specified, then all "updated" rows will be send
- * @type: public
- */
- sendData:function(rowId){
- if (this._waitMode && (this.obj.mytype=="tree" || this.obj._h2)) return;
- if (this.obj.editStop) this.obj.editStop();
-
-
- if(typeof rowId == "undefined" || this._tSend) return this.sendAllData();
- if (this._in_progress[rowId]) return false;
-
- this.messages=[];
- if (!this.checkBeforeUpdate(rowId) && this.callEvent("onValidationError",[rowId,this.messages])) return false;
- this._beforeSendData(this._getRowData(rowId),rowId);
- },
- _beforeSendData:function(data,rowId){
- if (!this.callEvent("onBeforeUpdate",[rowId,this.getState(rowId),data])) return false;
- this._sendData(data,rowId);
- },
- serialize:function(data, id){
- if (typeof data == "string")
- return data;
- if (typeof id != "undefined")
- return this.serialize_one(data,"");
- else{
- var stack = [];
- var keys = [];
- for (var key in data)
- if (data.hasOwnProperty(key)){
- stack.push(this.serialize_one(data[key],key+this.post_delim));
- keys.push(key);
- }
- stack.push("ids="+this.escape(keys.join(",")));
- if (dhtmlx.security_key)
- stack.push("dhx_security="+dhtmlx.security_key);
- return stack.join("&");
- }
- },
- serialize_one:function(data, pref){
- if (typeof data == "string")
- return data;
- var stack = [];
- for (var key in data)
- if (data.hasOwnProperty(key)){
- if ((key == "id" || key == this.action_param) && this._tMode == "REST") continue;
- stack.push(this.escape((pref||"")+key)+"="+this.escape(data[key]));
- }
- return stack.join("&");
- },
- _sendData:function(a1,rowId){
- if (!a1) return; //nothing to send
- if (!this.callEvent("onBeforeDataSending",rowId?[rowId,this.getState(rowId),a1]:[null, null, a1])) return false;
-
- if (rowId)
- this._in_progress[rowId]=(new Date()).valueOf();
-
- var that = this;
- var back = function(xml){
- var ids = [];
- if (rowId)
- ids.push(rowId);
- else if (a1)
- for (var key in a1)
- ids.push(key);
-
- return that.afterUpdate(that,xml,ids);
- };
-
- var a3 = this.serverProcessor+(this._user?(dhtmlx.url(this.serverProcessor)+["dhx_user="+this._user,"dhx_version="+this.obj.getUserData(0,"version")].join("&")):"");
-
- if (this._tMode=="GET")
- dhx4.ajax.get(a3+((a3.indexOf("?")!=-1)?"&":"?")+this.serialize(a1,rowId), back);
- else if (this._tMode == "POST")
- dhx4.ajax.post(a3,this.serialize(a1,rowId), back);
- else if (this._tMode == "REST"){
- var state = this.getState(rowId);
- var url = a3.replace(/(\&|\?)editing\=true/,"");
- var data = "";
- var method = "post";
-
- if (state == "inserted"){
- data = this.serialize(a1, rowId);
- } else if (state == "deleted"){
- method = "DELETE";
- url = url + (url.slice(-1) == "/" ? "" : "/") + rowId;
- } else {
- method = "PUT";
- data = this.serialize(a1, rowId);
- url = url + (url.slice(-1) == "/" ? "" : "/") + rowId;
- }
-
-
- if (this._payload)
- for (var key in this._payload)
- url = url + dhtmlx.url(url) + this.escape(key) + "=" + this.escape(this._payload[key]);
-
- dhx4.ajax.query({
- url:url,
- method:method,
- headers:this._headers,
- data:data,
- callback:back
- });
- }
-
- this._waitMode++;
- },
- sendAllData:function(){
- if (!this.updatedRows.length) return;
-
- this.messages=[]; var valid=true;
- for (var i=0; i
";
- this._obj.innerHTML = html;
- //store links for further reference
- this.$container = this._obj.firstChild;
- var childs = this.$container.childNodes;
- this.$grid = childs[0];
- this.$task = childs[1];
- this.$scroll_ver = childs[2];
- this.$scroll_hor = childs[3];
-
- this.$grid.innerHTML = "
";
- this.$grid_scale = this.$grid.childNodes[0];
- this.$grid_data = this.$grid.childNodes[1];
-
- this.$task.innerHTML = "
";
- this.$task_scale = this.$task.childNodes[0];
-
- this.$task_data = this.$task.childNodes[1];
-
- this.$task_bg = this.$task_data.childNodes[0];
- this.$task_links = this.$task_data.childNodes[1];
- this.$task_bars = this.$task_data.childNodes[2];
-};
-
-gantt.$click={
- buttons:{
- "edit":function(id){
- gantt.showLightbox(id);
- },
- "delete":function(id){
- var question = gantt.locale.labels.confirm_deleting;
- var title = gantt.locale.labels.confirm_deleting_title;
-
- gantt._dhtmlx_confirm(question, title, function(){
- var task = gantt.getTask(id);
- if(task.$new){
- gantt._deleteTask(id, true);
- gantt.refreshData();
- }else{
- gantt.deleteTask(id);
- }
-
- gantt.hideLightbox();
- });
- }
- }
-};
-
-gantt._calculate_content_height = function(){
- var scale_height = this.config.scale_height,
- rows_height = this._order.length*this.config.row_height,
- hor_scroll_height = this._scroll_hor ? this.config.scroll_size + 1 : 0;
-
- if(!(this._is_grid_visible() || this._is_chart_visible())){
- return 0;
- }else{
- return scale_height + rows_height + 2 + hor_scroll_height;
- }
-};
-gantt._calculate_content_width = function(){
- var grid_width = this._get_grid_width(),
- chart_width = this._tasks ? this._tasks.full_width : 0,
- ver_scroll_width = this._scroll_ver ? this.config.scroll_size + 1 : 0;
-
- if(!this._is_chart_visible()){
- chart_width = 0;
- }
- if(!this._is_grid_visible()){
- grid_width = 0;
- }
- return grid_width + chart_width + 1;
-};
-
-gantt._get_resize_options = function(){
- var res = {x:false, y:false};
- if(this.config.autosize == "xy"){
- res.x = res.y = true;
- }else if(this.config.autosize == "y" || this.config.autosize === true){
- res.y = true;
- }else if(this.config.autosize == "x"){
- res.x = true;
- }
- return res;
-};
-
-gantt._clean_el_size = function(value){
- return ((value || "").toString().replace("px", "") * 1 || 0);
-};
-gantt._get_box_styles = function(){
- var computed = null;
- if(window.getComputedStyle){
- computed = window.getComputedStyle(this._obj, null);
- }else{
- //IE with elem.currentStyle does not calculate sizes from %, so will use the default approach
- computed = {
- "width":this._obj.clientWidth,
- "height":this._obj.clientHeight
- };
- }
- var properties = [
- "width",
- "height",
-
- "paddingTop",
- "paddingBottom",
- "paddingLeft",
- "paddingRight",
-
- "borderLeftWidth",
- "borderRightWidth",
- "borderTopWidth",
- "borderBottomWidth"
- ];
- var styles = {
- boxSizing:(computed.boxSizing == "border-box")
- };
-
- if(computed.MozBoxSizing){
- styles.boxSizing = (computed.MozBoxSizing == "border-box");
- }
- for(var i =0; i < properties.length; i++){
- styles[properties[i]] = computed[properties[i]] ? this._clean_el_size(computed[properties[i]]) : 0;
- }
-
-
- var box = {
- horPaddings : (styles.paddingLeft + styles.paddingRight + styles.borderLeftWidth + styles.borderRightWidth),
- vertPaddings : (styles.paddingTop + styles.paddingBottom + styles.borderTopWidth + styles.borderBottomWidth),
- borderBox: styles.boxSizing,
- innerWidth : styles.width,
- innerHeight : styles.height,
- outerWidth : styles.width,
- outerHeight : styles.height
- };
-
-
- if(box.borderBox){
- box.innerWidth -= box.horPaddings;
- box.innerHeight -= box.vertPaddings;
- }else{
- box.outerWidth += box.horPaddings;
- box.outerHeight += box.vertPaddings;
- }
-
- return box;
-};
-gantt._do_autosize = function(){
- var resize = this._get_resize_options();
- var boxSizes = this._get_box_styles();
- if(resize.y){
- var reqHeight = this._calculate_content_height();
- if(boxSizes.borderBox){
- reqHeight += boxSizes.vertPaddings;
- }
-
- this._obj.style.height = reqHeight + 'px';
- }
- if(resize.x){
- var reqWidth = this._calculate_content_width();
- if(boxSizes.borderBox){
- reqWidth += boxSizes.horPaddings;
- }
- this._obj.style.width = reqWidth + 'px';
- }
-};
-//set sizes to top level html element
-gantt._set_sizes = function(){
- this._do_autosize();
-
- var boxSizes = this._get_box_styles();
- this._y = boxSizes.innerHeight;
-
- if (this._y < 20) return;
-
- //same height
- this.$grid.style.height = this.$task.style.height = Math.max(this._y - this.$scroll_hor.offsetHeight - 2, 0) +"px";
-
- var dataHeight = Math.max((this._y - (this.config.scale_height||0) - this.$scroll_hor.offsetHeight - 2), 0);
- this.$grid_data.style.height = this.$task_data.style.height = dataHeight + "px";
-
- //share width
- var gridWidth = Math.max(this._get_grid_width()-1, 0);
- this.$grid.style.width = gridWidth +"px";
- this.$grid.style.display = gridWidth === 0 ? 'none' : '';
-
- boxSizes = this._get_box_styles();
- this._x = boxSizes.innerWidth;
-
- if (this._x < 20) return;
-
- this.$grid_data.style.width = Math.max(this._get_grid_width()-1, 0) +"px";
- this.$task.style.width = Math.max(this._x - this._get_grid_width() - 2, 0) +"px";
-};
-
-gantt.getScrollState = function(){
- if(this.$task && this.$task_data)
- return { x:this.$task.scrollLeft, y:this.$task_data.scrollTop };
- else
- return null;
-};
-
-gantt._save_scroll_state = function(x, y){
- // according to Chrome profiler
- // getting-setting scrollLeft for restoring scroll position after render takes surprisingly big amount of time
- // 2x-3x times more than setting innerHTML (if using gantt.config.static_background)
- // Will store scroll position in memory instead of getting actual values from DOM
- var pos = {};
- this._cached_scroll_pos = this._cached_scroll_pos || {};
- if(x !== undefined){pos.x = x;}
- if(y !== undefined){pos.y = y;}
- dhtmlx.mixin(this._cached_scroll_pos, pos, true);
-
-};
-gantt._restore_scroll_state = function(){
- return this._cached_scroll_pos || null;
-};
-gantt.scrollTo = function(left, top){
- if (left*1 == left){
- this.$task.scrollLeft = left;
- this._save_scroll_state(left, undefined);
- }
- if(top*1 == top){
- this.$task_data.scrollTop = top;
- this.$grid_data.scrollTop = top;
- this._save_scroll_state(undefined, top);
- }
-};
-
-gantt.showDate = function(date){
- var date_x = this.posFromDate(date);
- var scroll_to = Math.max(date_x - this.config.task_scroll_offset, 0);
- this.scrollTo(scroll_to);
-};
-gantt.showTask = function(id) {
- var el = this.getTaskNode(id);
- if(!el)
- return;
-
- var left = Math.max(el.offsetLeft - this.config.task_scroll_offset, 0);
- var top = el.offsetTop - (this.$task_data.offsetHeight - this.config.row_height)/2;
- this.scrollTo(left, top);
-};
-
-
-//called after window resize
-gantt._on_resize = gantt.setSizes = function(){
- gantt._set_sizes();
- gantt._scroll_resize();
-};
-
-//renders self
-gantt.render = function(){
- if(!this._is_render_active())
- return;
- this.callEvent("onBeforeGanttRender", []);
-
- var pos = dhtmlx.copy(this._restore_scroll_state());
- var visible_date = null;
- if(pos){
- visible_date = gantt.dateFromPos(pos.x + this.config.task_scroll_offset);
- }
-
- this._render_grid(); //grid.js
- this._render_tasks_scales(); //tasks.js
- this._scroll_resize();
- this._on_resize();
- this._render_data();
-
- if(this.config.preserve_scroll && pos){
-
- var new_pos =gantt._restore_scroll_state();
- var new_date = gantt.dateFromPos(new_pos.x);
- if(!(+visible_date == +new_date && new_pos.y == pos.y)){
- if(visible_date){
- this.showDate(visible_date);
- }
- gantt.scrollTo(undefined, pos.y);
- }
- }
-
- this.callEvent("onGanttRender", []);
-};
-
-
-gantt._set_scroll_events = function(){
- dhtmlxEvent(this.$scroll_hor, "scroll", function() {
- //in safari we can catch previous onscroll after setting new value from mouse-wheel event
- //set delay to prevent value drifiting
- if ((new Date()) - ( gantt._wheel_time || 0 ) < 100) return true;
- if (gantt._touch_scroll_active) return;
- var left = gantt.$scroll_hor.scrollLeft;
- gantt.scrollTo(left);
- });
- dhtmlxEvent(this.$scroll_ver, "scroll", function() {
- if (gantt._touch_scroll_active) return;
- var top = gantt.$scroll_ver.scrollTop;
- gantt.$grid_data.scrollTop = top;
- gantt.scrollTo(null, top);
- });
- dhtmlxEvent(this.$task, "scroll", function() {
- var left = gantt.$task.scrollLeft,
- barLeft = gantt.$scroll_hor.scrollLeft;
- if(barLeft != left)
- gantt.$scroll_hor.scrollLeft = left;
- });
- dhtmlxEvent(this.$task_data, "scroll", function() {
- var top = gantt.$task_data.scrollTop,
- barTop = gantt.$scroll_ver.scrollTop;
- if(barTop != top)
- gantt.$scroll_ver.scrollTop = top;
- });
-
- var ff = _isFF && !window._KHTMLrv;
- function onMouseWheel(e){
- var res = gantt._get_resize_options();
- gantt._wheel_time = new Date();
-
- var wx = ff ? (e.deltaX*-20) : e.wheelDeltaX*2;
- var wy = ff ? (e.deltaY*-40) : e.wheelDelta;
-
- if (wx && Math.abs(wx) > Math.abs(wy)){
- if(res.x) return true;//no horisontal scroll, must not block scrolling
-
- var dir = wx/-40;
- var left = gantt.$task.scrollLeft+dir*30;
- gantt.scrollTo(left, null);
- gantt.$scroll_hor.scrollTop = top;
- } else {
- if(res.y) return true;//no vertical scroll, must not block scrolling
-
- var dir = wy/-40;
- if (typeof wy == "undefined")
- dir = e.detail;
-
- var top = gantt.$scroll_ver.scrollTop+dir*30;
- if(!gantt.config.prevent_default_scroll && gantt._cached_scroll_pos && gantt._cached_scroll_pos.y == top) return true;
-
- gantt.scrollTo(null, top);
- gantt.$scroll_ver.scrollTop = top;
- }
-
- if (e.preventDefault)
- e.preventDefault();
- e.cancelBubble=true;
- return false;
- }
-
- if (ff)
- dhtmlxEvent(gantt.$container, "wheel", onMouseWheel);
- else
- dhtmlxEvent(gantt.$container, "mousewheel", onMouseWheel);
-
-};
-
-
-gantt._scroll_resize = function() {
- if (this._x < 20 || this._y < 20) return;
-
- var grid_width = this._get_grid_width();
-
- var task_width = Math.max(this._x - grid_width, 0);
- var task_height = Math.max(this._y - this.config.scale_height, 0);
-
- var scroll_size = this.config.scroll_size + 1;//1px for inner content
-
- var task_data_width = Math.max(this.$task_data.offsetWidth - scroll_size, 0);
- var task_data_height = this.config.row_height*this._order.length;
-
- var resize = this._get_resize_options();
- var scroll_hor = this._scroll_hor = resize.x ? false : (task_data_width > task_width);
- var scroll_ver = this._scroll_ver = resize.y ? false : (task_data_height > task_height);
-
- this.$scroll_hor.style.display = scroll_hor ? "block" : "none";
- this.$scroll_hor.style.height = (scroll_hor ? scroll_size : 0) + "px";
- this.$scroll_hor.style.width = Math.max((this._x - (scroll_ver ? scroll_size : 2)), 0) + "px";
- this.$scroll_hor.firstChild.style.width = (task_data_width + grid_width + scroll_size + 2) + "px";
-
- this.$scroll_ver.style.display = scroll_ver ? "block" : "none";
- this.$scroll_ver.style.width = (scroll_ver ? scroll_size : 0) + "px";
- this.$scroll_ver.style.height = Math.max((this._y - (scroll_hor ? scroll_size : 0) - this.config.scale_height), 0) + "px";
- this.$scroll_ver.style.top = this.config.scale_height + "px";
- this.$scroll_ver.firstChild.style.height = (this.config.scale_height + task_data_height) + "px";
-};
-
-gantt.locate = function(e) {
- var trg = gantt._get_target_node(e);
-
- //ignore empty cells
- if ((trg.className || "").indexOf("gantt_task_cell") >= 0) return null;
-
- var attribute = arguments[1] || this.config.task_attribute;
-
- while (trg){
- if (trg.getAttribute){ //text nodes has not getAttribute
- var test = trg.getAttribute(attribute);
- if (test) return test;
- }
- trg=trg.parentNode;
- }
- return null;
-};
-gantt._get_target_node = function(e){
- var trg;
- if (e.tagName)
- trg = e;
- else {
- e=e||window.event;
- trg=e.target||e.srcElement;
- }
- return trg;
-};
-gantt._trim = function(str){
- var func = String.prototype.trim || function(){ return this.replace(/^\s+|\s+$/g, ""); };
- return func.apply(str);
-};
-
-gantt._locate_css = function(e, classname, strict){
- if(strict === undefined)
- strict = true;
-
- var trg = gantt._get_target_node(e);
- var css = '';
- var test = false;
- while (trg){
- css = trg.className;
-
- if(css){
- var ind = css.indexOf(classname);
- if (ind >= 0){
- if (!strict)
- return trg;
-
- //check that we have exact match
- var left = (ind === 0) || (!gantt._trim(css.charAt(ind - 1)));
- var right = ((ind + classname.length >= css.length)) || (!gantt._trim(css.charAt(ind + classname.length)));
-
- if (left && right)
- return trg;
- }
- }
-
- trg=trg.parentNode;
- }
- return null;
-};
-gantt._locateHTML = function(e, attribute) {
- var trg = gantt._get_target_node(e);
- attribute = attribute || this.config.task_attribute;
-
- while (trg){
- if (trg.getAttribute){ //text nodes has not getAttribute
- var test = trg.getAttribute(attribute);
- if (test) return trg;
- }
- trg=trg.parentNode;
- }
- return null;
-};
-
-gantt.getTaskRowNode = function(id) {
- var els = this.$grid_data.childNodes;
- var attribute = this.config.task_attribute;
- for (var i = 0; i < els.length; i++) {
- if (els[i].getAttribute) {
- var value = els[i].getAttribute(attribute);
- if (value == id) return els[i];
- }
- }
- return null;
-};
-
-gantt.getState = function(){
- return {
- drag_id : this._tasks_dnd.drag.id,
- drag_mode : this._tasks_dnd.drag.mode,
- drag_from_start : this._tasks_dnd.drag.left,
- selected_task : this._selected_task,
- min_date : new Date(this._min_date),
- max_date : new Date(this._max_date),
- lightbox : this._lightbox_id,
- touch_drag : this._touch_drag
-
- };
-
-};
-
-
-gantt._checkTimeout = function(host, updPerSecond){
- if(!updPerSecond)
- return true;
- var timeout = 1000/updPerSecond;
- if(timeout < 1) return true;
-
- if(host._on_timeout)
- return false;
-
- setTimeout(function(){
- delete host._on_timeout;
- }, timeout);
-
- host._on_timeout = true;
- return true;
-};
-
-gantt.selectTask = function(id){
- if(!this.config.select_task)
- return false;
- if (id){
-
- if(this._selected_task == id)
- return this._selected_task;
-
- if(!this.callEvent("onBeforeTaskSelected", [id])){
- return false;
- }
-
- this.unselectTask();
- this._selected_task = id;
-
- this.refreshTask(id);
- this.callEvent("onTaskSelected", [id]);
- }
- return this._selected_task;
-};
-gantt.unselectTask = function(){
- var id = this._selected_task;
- if(!id)
- return;
- this._selected_task = null;
- this.refreshTask(id);
- this.callEvent("onTaskUnselected", [id]);
-};
-gantt.getSelectedId = function() {
- return dhtmlx.defined(this._selected_task) ? this._selected_task : null;
-};
-
-gantt.changeLightboxType = function(type){
- if(this.getLightboxType() == type)
- return true;
- gantt._silent_redraw_lightbox(type);
-};
-
-gantt._is_render_active = function(){
- return !this._skip_render;
-};
-
-gantt.batchUpdate = function (callback) {
- var call_dp = (this._dp && this._dp.updateMode != "off");
- var dp_mode;
- if (call_dp){
- dp_mode = this._dp.updateMode;
- this._dp.setUpdateMode("off");
- }
-
- this._skip_render = true;
-
- try{
- callback();
- }catch(e){
-
- }
-
- this._skip_render = false;
- this.render();
- if (call_dp) {
- this._dp.setUpdateMode(dp_mode);
- this._dp.sendData();
- }
-};
-
-
-gantt.date={
- init:function(){
- var s = gantt.locale.date.month_short;
- var t = gantt.locale.date.month_short_hash = {};
- for (var i = 0; i < s.length; i++)
- t[s[i]]=i;
-
- var s = gantt.locale.date.month_full;
- var t = gantt.locale.date.month_full_hash = {};
- for (var i = 0; i < s.length; i++)
- t[s[i]]=i;
- },
- date_part:function(date){
- var old = new Date(date);
- date.setHours(0);
- date.setMinutes(0);
- date.setSeconds(0);
- date.setMilliseconds(0);
- if (date.getHours() && //shift to yesterday on dst
- (date.getDate() < old.getDate() || date.getMonth() < old.getMonth() || date.getFullYear() < old.getFullYear()) )
- date.setTime(date.getTime() + 60 * 60 * 1000 * (24 - date.getHours()));
- return date;
- },
- time_part:function(date){
- return (date.valueOf()/1000 - date.getTimezoneOffset()*60)%86400;
- },
- week_start:function(date){
- var shift=date.getDay();
- if (gantt.config.start_on_monday){
- if (shift===0) shift=6;
- else shift--;
- }
- return this.date_part(this.add(date,-1*shift,"day"));
- },
- month_start:function(date){
- date.setDate(1);
- return this.date_part(date);
- },
- year_start:function(date){
- date.setMonth(0);
- return this.month_start(date);
- },
- day_start:function(date){
- return this.date_part(date);
- },
- hour_start:function(date){
- var hour = date.getHours();
- this.day_start(date);
- date.setHours(hour);
- return date;
- },
- minute_start:function(date){
- var min = date.getMinutes();
- this.hour_start(date);
- date.setMinutes(min);
- return date;
- },
- _add_days:function(date, inc){
- var ndate = new Date(date.valueOf());
-
- ndate.setDate(ndate.getDate() + inc);
- if (inc >= 0 && (!date.getHours() && ndate.getHours()) &&//shift to yesterday on dst
- (ndate.getDate() < date.getDate() || ndate.getMonth() < date.getMonth() || ndate.getFullYear() < date.getFullYear()) )
- ndate.setTime(ndate.getTime() + 60 * 60 * 1000 * (24 - ndate.getHours()));
- return ndate;
- },
-
- add:function(date,inc,mode){
- /*jsl:ignore*/
- var ndate=new Date(date.valueOf());
- switch(mode){
- case "day":
- ndate = gantt.date._add_days(ndate, inc);
- break;
- case "week":
- ndate = gantt.date._add_days(ndate, inc * 7);
- break;
- case "month": ndate.setMonth(ndate.getMonth()+inc); break;
- case "year": ndate.setYear(ndate.getFullYear()+inc); break;
- case "hour":
- /*
- adding hours/minutes via setHour(getHour() + inc) gives weird result when
- adding one hour to the time before switch to a Daylight Saving time
-
- example: //Sun Mar 30 2014 01:00:00 GMT+0100 (W. Europe Standard Time)
- new Date(2014, 02, 30, 1).setHours(2)
- >>Sun Mar 30 2014 01:00:00 GMT+0100 (W. Europe Standard Time)
-
- setTime seems working as expected
- */
- ndate.setTime(ndate.getTime()+inc * 60 * 60 * 1000);
- break;
- case "minute":
-
- ndate.setTime(ndate.getTime() + inc * 60 * 1000);
-
- break;
- default:
- return gantt.date["add_"+mode](date,inc,mode);
- }
- return ndate;
- /*jsl:end*/
- },
- to_fixed:function(num){
- if (num<10) return "0"+num;
- return num;
- },
- copy:function(date){
- return new Date(date.valueOf());
- },
- date_to_str:function(format,utc){
- format=format.replace(/%[a-zA-Z]/g,function(a){
- switch(a){
- case "%d": return "\"+gantt.date.to_fixed(date.getDate())+\"";
- case "%m": return "\"+gantt.date.to_fixed((date.getMonth()+1))+\"";
- case "%j": return "\"+date.getDate()+\"";
- case "%n": return "\"+(date.getMonth()+1)+\"";
- case "%y": return "\"+gantt.date.to_fixed(date.getFullYear()%100)+\"";
- case "%Y": return "\"+date.getFullYear()+\"";
- case "%D": return "\"+gantt.locale.date.day_short[date.getDay()]+\"";
- case "%l": return "\"+gantt.locale.date.day_full[date.getDay()]+\"";
- case "%M": return "\"+gantt.locale.date.month_short[date.getMonth()]+\"";
- case "%F": return "\"+gantt.locale.date.month_full[date.getMonth()]+\"";
- case "%h": return "\"+gantt.date.to_fixed((date.getHours()+11)%12+1)+\"";
- case "%g": return "\"+((date.getHours()+11)%12+1)+\"";
- case "%G": return "\"+date.getHours()+\"";
- case "%H": return "\"+gantt.date.to_fixed(date.getHours())+\"";
- case "%i": return "\"+gantt.date.to_fixed(date.getMinutes())+\"";
- case "%a": return "\"+(date.getHours()>11?\"pm\":\"am\")+\"";
- case "%A": return "\"+(date.getHours()>11?\"PM\":\"AM\")+\"";
- case "%s": return "\"+gantt.date.to_fixed(date.getSeconds())+\"";
- case "%W": return "\"+gantt.date.to_fixed(gantt.date.getISOWeek(date))+\"";
- default: return a;
- }
- });
- if (utc) format=format.replace(/date\.get/g,"date.getUTC");
- return new Function("date","return \""+format+"\";");
- },
- str_to_date:function(format,utc){
- var splt="var temp=date.match(/[a-zA-Z]+|[0-9]+/g);";
- var mask=format.match(/%[a-zA-Z]/g);
- for (var i=0; i50?1900:2000);";
- break;
- case "%g":
- case "%G":
- case "%h":
- case "%H":
- splt+="set[3]=temp["+i+"]||0;";
- break;
- case "%i":
- splt+="set[4]=temp["+i+"]||0;";
- break;
- case "%Y": splt+="set[0]=temp["+i+"]||0;";
- break;
- case "%a":
- case "%A": splt+="set[3]=set[3]%12+((temp["+i+"]||'').toLowerCase()=='am'?0:12);";
- break;
- case "%s": splt+="set[5]=temp["+i+"]||0;";
- break;
- case "%M": splt+="set[1]=gantt.locale.date.month_short_hash[temp["+i+"]]||0;";
- break;
- case "%F": splt+="set[1]=gantt.locale.date.month_full_hash[temp["+i+"]]||0;";
- break;
- default:
- break;
- }
- }
- var code ="set[0],set[1],set[2],set[3],set[4],set[5]";
- if (utc) code =" Date.UTC("+code+")";
- return new Function("date","var set=[0,0,1,0,0,0]; "+splt+" return new Date("+code+");");
- },
- getISOWeek: function(ndate) {
- if(!ndate) return false;
- var nday = ndate.getDay();
- if (nday === 0) {
- nday = 7;
- }
- var first_thursday = new Date(ndate.valueOf());
- first_thursday.setDate(ndate.getDate() + (4 - nday));
- var year_number = first_thursday.getFullYear(); // year of the first Thursday
- var ordinal_date = Math.round( (first_thursday.getTime() - new Date(year_number, 0, 1).getTime()) / 86400000); //ordinal date of the first Thursday - 1 (so not really ordinal date)
- var week_number = 1 + Math.floor( ordinal_date / 7);
- return week_number;
- },
- getUTCISOWeek: function(ndate){
- return this.getISOWeek(ndate);
- },
- convert_to_utc: function(date) {
- return new Date(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate(), date.getUTCHours(), date.getUTCMinutes(), date.getUTCSeconds());
- },
- parseDate: function(date, format) {
- if (typeof(date) == "string") {
- if (dhtmlx.defined(format)){
- if (typeof(format) == "string")
- format = dhtmlx.defined(gantt.templates[format]) ? gantt.templates[format] : gantt.date.str_to_date(format);
- else
- format = gantt.templates.xml_date;
- }
- if(date)
- date = format(date);
- else
- date = null;
- }
- return date;
- }
-};
-gantt.date.quarter_start = function(date){
- gantt.date.month_start(date);
- var m = date.getMonth(),
- res_month;
-
- if(m >= 9){
- res_month = 9;
- }else if(m >= 6){
- res_month = 6;
- }else if(m >= 3){
- res_month = 3;
- }else{
- res_month = 0;
- }
-
- date.setMonth(res_month);
- return date;
-};
-gantt.date.add_quarter = function(date, inc){
- return gantt.date.add(date, inc*3, "month");
-};
-/*
- %d - the day as a number with a leading zero ( 01 to 31 );
- %j - the day as a number without a leading zero ( 1 to 31 );
- %D - the day as an abbreviation ( Sun to Sat );
- %l - the day as a full name ( Sunday to Saturday );
- %W - the ISO-8601 week number of the year. Weeks start on Monday; 1)
- %m - the month as a number without a leading zero ( 1 to 12 );
- %n - the month as a number with a leading zero ( 01 to 12);
- %M - the month as an abbreviation ( Jan to Dec );
- %F - the month as a full name ( January to December );
- %y - the year as a two-digit number ( 00 to 99 );
- %Y - the year as a four-digit number ( 1900–9999 );
- %h - the hour based on the 12-hour clock ( 00 to 11 );
- %H - the hour based on the 24-hour clock ( 00 to 23 );
- %i - the minute as a number with a leading zero ( 00 to 59 );
- %s - the second as a number without a leading zero ( 00 to 59 ); 2)
- %a - displays am (for times from midnight until noon) and pm (for times from noon until midnight);
- %A - displays AM (for times from midnight until noon) and PM (for times from noon until midnight).
-
- */
-
-if(!gantt.config) gantt.config = {};
-if(!gantt.config) gantt.config = {};
-if(!gantt.templates) gantt.templates = {};
-
-(function(){
-
-dhtmlx.mixin(gantt.config,
- {links : {
- "finish_to_start":"0",
- "start_to_start":"1",
- "finish_to_finish":"2",
- "start_to_finish":"3"
- },
- types : {
- 'task':'task',
- 'project':'project',
- 'milestone':'milestone'
- },
- duration_unit : "day",
- work_time:false,
- correct_work_time:false,
- skip_off_time:false,
-
- autosize:false,
- autosize_min_width: 0,
-
- show_links : true,
- show_task_cells : true,
- // replace backgroung of the task area with a canvas img
- static_background: false,
- branch_loading: false,
- show_loading: false,
- show_chart : true,
- show_grid : true,
- min_duration : 60*60*1000,
- xml_date : "%d-%m-%Y %H:%i",
- api_date : "%d-%m-%Y %H:%i",
- start_on_monday: true,
- server_utc : false,
- show_progress:true,
- fit_tasks : false,
- select_task:true,
- scroll_on_click: true,
- preserve_scroll: true,
- readonly:false,
-
- /*grid */
- date_grid: "%Y-%m-%d",
-
- drag_links : true,
- drag_progress:true,
- drag_resize:true,
- drag_move:true,
- drag_mode:{
- "resize":"resize",
- "progress":"progress",
- "move":"move",
- "ignore":"ignore"
- },
- round_dnd_dates:true,
- link_wrapper_width:20,
- root_id:0,
-
- autofit: false, // grid column automatic fit grid_width config
- columns: [
- {name:"text", tree:true, width:'*', resize:true },
- {name:"start_date", align: "center", resize:true },
- {name:"duration", align: "center" },
- {name:"add", width:'44' }
- ],
-
- /*scale*/
- step: 1,
- scale_unit: "day",
- scale_offset_minimal:true,
- subscales : [
-
- ],
-
- inherit_scale_class:false,
-
- time_step: 60,
- duration_step: 1,
- date_scale: "%d %M",
- task_date: "%d %F %Y",
- time_picker: "%H:%i",
- task_attribute: "task_id",
- link_attribute: "link_id",
- layer_attribute: "data-layer",
- buttons_left: [
- "gantt_save_btn",
- "gantt_cancel_btn"
- ],
- _migrate_buttons: {
- "dhx_save_btn":"gantt_save_btn",
- "dhx_cancel_btn":"gantt_cancel_btn",
- "dhx_delete_btn":"gantt_delete_btn"
- },
- buttons_right: [
- "gantt_delete_btn"
- ],
- lightbox: {
- sections: [
- {name: "description", height: 70, map_to: "text", type: "textarea", focus: true},
- {name: "time", type: "duration", map_to: "auto"}
- ],
- project_sections: [
- {name: "description", height: 70, map_to: "text", type: "textarea", focus: true},
- {name: "type", type: "typeselect", map_to: "type"},
- {name: "time", type: "duration", readonly:true, map_to: "auto"}
- ],
- milestone_sections: [
- {name: "description", height: 70, map_to: "text", type: "textarea", focus: true},
- {name: "type", type: "typeselect", map_to: "type"},
- {name: "time", type: "duration", single_date:true, map_to: "auto"}
- ]
- },
- drag_lightbox: true,
- sort: false,
- details_on_create: true,
- details_on_dblclick:true,
- initial_scroll : true,
- task_scroll_offset : 100,
-
- task_height: "full",//number px of 'full' for row height
- min_column_width:70,
-
- // min width for grid column (when resizing)
- min_grid_column_width:70,
- // name of the attribute with column index for resize element
- grid_resizer_column_attribute: "column_index",
- // name of the attribute with column index for resize element
- grid_resizer_attribute: "grid_resizer",
-
- // grid width can be increased after the column has been resized
- keep_grid_width:false,
-
- // grid width can be adjusted
- grid_resize:false,
-
- //
- readonly_property: "readonly",
- editable_property: "editable",
- type_renderers:{},
-
- open_tree_initially: false,
- optimize_render: 'auto',
- prevent_default_scroll: false
-
-});
-gantt.keys={
- edit_save:13,
- edit_cancel:27
-};
-
-gantt._init_template = function(name, initial){
- var registeredTemplates = this._reg_templates || {};
-
- if(this.config[name] && registeredTemplates[name] != this.config[name]){
- if(!(initial && this.templates[name])){
- this.templates[name] = this.date.date_to_str(this.config[name]);
- registeredTemplates[name] = this.config[name];
- }
- }
- this._reg_templates = registeredTemplates;
-};
-gantt._init_templates = function(){
- var labels = gantt.locale.labels;
- labels.gantt_save_btn = labels.icon_save;
- labels.gantt_cancel_btn = labels.icon_cancel;
- labels.gantt_delete_btn = labels.icon_delete;
-
-
-
- //build configuration based templates
- var d = this.date.date_to_str;
- var c = this.config;
- gantt._init_template("date_scale", true);
- gantt._init_template("date_grid", true);
- gantt._init_template("task_date", true);
-
-
-
- dhtmlx.mixin(this.templates,{
- xml_date:this.date.str_to_date(c.xml_date,c.server_utc),
- xml_format:d(c.xml_date,c.server_utc),
- api_date:this.date.str_to_date(c.api_date),
- progress_text:function(start, end, task){return "";},
- grid_header_class : function(column, config){
- return "";
- },
-
- task_text:function(start, end, task){
- return task.text;
- },
- task_class:function(start, end, task){return "";},
- grid_row_class:function(start, end, task){
- return "";
- },
- task_row_class:function(start, end, task){
- return "";
- },
- task_cell_class:function(item, date){return "";},
- scale_cell_class:function(date){return "";},
- scale_row_class:function(date){return "";},
-
- grid_indent:function(item) {
- return "
";
- },
- grid_folder:function(item) {
- return "
";
- },
- grid_file:function(item) {
- return "
";
- },
- grid_open:function(item) {
- return "
";
- },
- grid_blank:function(item) {
- return "
";
- },
-
-
- task_time:function(start,end,ev){
- return gantt.templates.task_date(start)+" - "+gantt.templates.task_date(end);
- },
- time_picker:d(c.time_picker),
- link_class : function(link){
- return "";
- },
- link_description : function(link){
- var from = gantt.getTask(link.source),
- to = gantt.getTask(link.target);
-
- return "" + from.text + " – " + to.text+" ";
- },
-
- drag_link : function(from, from_start, to, to_start) {
- from = gantt.getTask(from);
- var labels = gantt.locale.labels;
-
- var text = "" + from.text + " " + (from_start ? labels.link_start : labels.link_end)+" ";
- if(to){
- to = gantt.getTask(to);
- text += " " + to.text + " "+ (to_start ? labels.link_start : labels.link_end)+" ";
- }
- return text;
- },
- drag_link_class: function(from, from_start, to, to_start) {
- var add = "";
-
- if(from && to){
- var allowed = gantt.isLinkAllowed(from, to, from_start, to_start);
- add = " " + (allowed ? "gantt_link_allow" : "gantt_link_deny");
- }
-
- return "gantt_link_tooltip" + add;
- }
- });
-
- this.callEvent("onTemplatesReady",[]);
-};
-
-})();
-if (window.jQuery){
-
-(function( $ ){
-
- var methods = [];
- $.fn.dhx_gantt = function(config){
- config = config || {};
- if (typeof(config) === 'string') {
- if (methods[config] ) {
- return methods[config].apply(this, []);
- }else {
- $.error('Method ' + config + ' does not exist on jQuery.dhx_gantt');
- }
- } else {
- var views = [];
- this.each(function() {
- if (this && this.getAttribute){
- if (!this.getAttribute("dhxgantt")){
- for (var key in config)
- if (key!="data")
- gantt.config[key] = config[key];
-
- gantt.init(this);
- if (config.data)
- gantt.parse(config.data);
-
- views.push(gantt);
- }
- }
- });
-
-
- if (views.length === 1) return views[0];
- return views;
- }
- };
-
-})(jQuery);
-
-}
-
-if (window.dhtmlx){
-
- if (!dhtmlx.attaches)
- dhtmlx.attaches = {};
-
- dhtmlx.attaches.attachGantt=function(start, end){
- var obj = document.createElement("DIV");
- obj.id = "gantt_"+dhtmlx.uid();
- obj.style.width = "100%";
- obj.style.height = "100%";
- obj.cmp = "grid";
-
- document.body.appendChild(obj);
- this.attachObject(obj.id);
-
- var that = this.vs[this.av];
- that.grid = gantt;
-
- gantt.init(obj.id, start, end);
- obj.firstChild.style.border = "none";
-
- that.gridId = obj.id;
- that.gridObj = obj;
-
- var method_name="_viewRestore";
- return this.vs[this[method_name]()].grid;
- };
-
-}
-gantt.locale = {
- date:{
- month_full:["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"],
- month_short:["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"],
- day_full:["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"],
- day_short:["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"]
- },
- labels:{
- new_task:"New task",
- icon_save:"Save",
- icon_cancel:"Cancel",
- icon_details:"Details",
- icon_edit:"Edit",
- icon_delete:"Delete",
- confirm_closing:"",//Your changes will be lost, are your sure ?
- confirm_deleting:"Task will be deleted permanently, are you sure?",
- section_description:"Description",
- section_time:"Time period",
- section_type:"Type",
-
- /* grid columns */
-
- column_text : "Task name",
- column_start_date : "Start time",
- column_duration : "Duration",
- column_add : "",
-
- /* link confirmation */
- link: "Link",
- confirm_link_deleting:"will be deleted",
- link_start: " (start)",
- link_end: " (end)",
-
- type_task: "Task",
- type_project: "Project",
- type_milestone: "Milestone",
-
- minutes: "Minutes",
- hours: "Hours",
- days: "Days",
- weeks: "Week",
- months: "Months",
- years: "Years"
- }
-};
-
-
-
-
-gantt.skins.skyblue = {
- config:{
- grid_width:350,
- row_height: 27,
- scale_height: 27,
- link_line_width:1,
- link_arrow_size:8,
- lightbox_additional_height:75
- },
- _second_column_width:95,
- _third_column_width:80
-};
-gantt.skins.meadow = {
- config:{
- grid_width:350,
- row_height: 27,
- scale_height: 30,
- link_line_width:2,
- link_arrow_size:6,
- lightbox_additional_height:72
- },
- _second_column_width:95,
- _third_column_width:80
-};
-
-gantt.skins.terrace = {
- config:{
- grid_width:360,
- row_height: 35,
- scale_height: 35,
- link_line_width:2,
- link_arrow_size:6,
- lightbox_additional_height:75
- },
- _second_column_width:90,
- _third_column_width:70
-};
-gantt.skins.broadway = {
- config:{
- grid_width:360,
- row_height: 35,
- scale_height: 35,
- link_line_width:1,
- link_arrow_size:7,
- lightbox_additional_height:86
- },
- _second_column_width:90,
- _third_column_width:80,
-
- _lightbox_template:"
",
- _config_buttons_left: {},
- _config_buttons_right: {
- "gantt_delete_btn": "icon_delete",
- "gantt_save_btn": "icon_save"
- }
-};
-
-
-gantt.config.touch_drag = 500; //nearly immediate dnd
-gantt.config.touch = true;
-gantt.config.touch_feedback = true;
-
-
-gantt._touch_feedback = function(){
- if(gantt.config.touch_feedback){
- if(navigator.vibrate)
- navigator.vibrate(1);
- }
-};
-
-gantt._init_touch_events = function(){
- if (this.config.touch != "force")
- this.config.touch = this.config.touch &&
- ((navigator.userAgent.indexOf("Mobile")!=-1) ||
- (navigator.userAgent.indexOf("iPad")!=-1) ||
- (navigator.userAgent.indexOf("Android")!=-1) ||
- (navigator.userAgent.indexOf("Touch")!=-1));
-
- if (this.config.touch){
- if (window.navigator.msPointerEnabled){
- this._touch_events(["MSPointerMove", "MSPointerDown", "MSPointerUp"], function(ev){
- if (ev.pointerType == ev.MSPOINTER_TYPE_MOUSE ) return null;
- return ev;
- }, function(ev){
- return (!ev || ev.pointerType == ev.MSPOINTER_TYPE_MOUSE);
- });
- } else
- this._touch_events(["touchmove", "touchstart", "touchend"], function(ev){
- if (ev.touches && ev.touches.length > 1) return null;
- if (ev.touches[0])
- return {
- target: ev.target,
- pageX: ev.touches[0].pageX,
- pageY: ev.touches[0].pageY,
- clientX:ev.touches[0].clientX,
- clientY:ev.touches[0].clientY
- };
- else
- return ev;
- }, function(){ return false; });
- }
-};
-
-
-//we can't use native scrolling, as we need to sync momentum between different parts
-//so we will block native scroll and use the custom one
-//in future we can add custom momentum
-gantt._touch_events = function(names, accessor, ignore){
- //webkit on android need to be handled separately
- var dblclicktime = 0;
- var action_mode = false;
- var scroll_mode = false;
- var dblclick_timer = 0;
- var action_start = null;
- var scroll_state;
- var long_tap_timer = null;
- var current_target = null;
-
- //touch move
- if (!this._gantt_touch_event_ready){
- this._gantt_touch_event_ready = 1;
- dhtmlxEvent(gantt.$container, names[0], function(e){
- if (ignore(e)) return;
-
- //ignore common and scrolling moves
- if (!action_mode) return;
-
- if (long_tap_timer) clearTimeout(long_tap_timer);
-
- var source = accessor(e);
- if (gantt._tasks_dnd.drag.id || gantt._tasks_dnd.drag.start_drag) {
- gantt._tasks_dnd.on_mouse_move(source);
- if (e.preventDefault)
- e.preventDefault();
- e.cancelBubble = true;
- return false;
- }
- if (source && action_start){
- var dx = action_start.pageX - source.pageX;
- var dy = action_start.pageY - source.pageY;
- if (!scroll_mode && (Math.abs(dx) > 5 || Math.abs(dy) > 5)){
- gantt._touch_scroll_active = scroll_mode = true;
- dblclicktime = 0;
- scroll_state = gantt.getScrollState();
- }
-
- if (scroll_mode){
- gantt.scrollTo(scroll_state.x + dx, scroll_state.y + dy);
- }
- }
- return block_action(e);
- });
- }
-
- //block touch context menu in IE10
- dhtmlxEvent(this.$container, "contextmenu", function(e){
- if (action_mode)
- return block_action(e);
- });
-
- //touch start
- dhtmlxEvent(this.$container, names[1], function(e){
- if (ignore(e)) return;
- if (e.touches && e.touches.length > 1){
- action_mode = false;
- return;
- }
-
- action_mode = true;
- action_start = accessor(e);
-
-
-
- //dbl-tap handling
- if (action_start && dblclicktime){
- var now = new Date();
- if ((now - dblclicktime) < 500 ){
- gantt._on_dblclick(action_start);
- block_action(e);
- } else
- dblclicktime = now;
- } else {
- dblclicktime = new Date();
- }
-
- //long tap
- long_tap_timer = setTimeout(function(){
- var taskId = gantt.locate(action_start);
- if(taskId && action_start.target.className.indexOf("gantt_link_point") == -1) {
- gantt._tasks_dnd.on_mouse_down(action_start);
- gantt._tasks_dnd._start_dnd(action_start);
- gantt._touch_drag = true;
- cloneTaskRendered(taskId);
-
- gantt.refreshTask(taskId);
-
- gantt._touch_feedback();
- }
-
- long_tap_timer = null;
- }, gantt.config.touch_drag);
- });
-
- //touch end
- dhtmlxEvent(this.$container, names[2], function(e){
- if (ignore(e)) return;
- if (long_tap_timer) clearTimeout(long_tap_timer);
- gantt._touch_drag = false;
- action_mode = false;
- var source = accessor(e);
- gantt._tasks_dnd.on_mouse_up(source);
-
- if(current_target) {
- gantt.refreshTask(gantt.locate(current_target));
- current_target.parentNode.removeChild(current_target);
- gantt._touch_feedback();
- }
-
- gantt._touch_scroll_active = action_mode = scroll_mode = false;
- current_target = null;
- });
-
-
- //common helper, prevents event
- function block_action(e){
- if (e && e.preventDefault)
- e.preventDefault();
- (e||event).cancelBubble = true;
- return false;
- }
-
- function cloneTaskRendered(taskId) {
- var renders = gantt._task_area_pulls;
- var task = gantt.getTask(taskId);
- if(task && gantt.isTaskVisible(taskId)){
- for(var i in renders) {
- task = renders[i][taskId];
- if(task && task.getAttribute("task_id") && task.getAttribute("task_id") == taskId) {
- var copy = task.cloneNode(true);
- current_target = task;
- renders[i][taskId] = copy;
- task.style.display="none";
- copy.className += " gantt_drag_move ";
- task.parentNode.appendChild(copy);
- return copy;
- }
- }
- }
- }
-};
\ No newline at end of file
diff --git a/libraries/dhtmlxgantt/sources/dhtmlxgantt.js.map b/libraries/dhtmlxgantt/sources/dhtmlxgantt.js.map
deleted file mode 100644
index d1b725b..0000000
--- a/libraries/dhtmlxgantt/sources/dhtmlxgantt.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"dhtmlxgantt.js","sources":["dhtmlxgantt.js"],"names":["dhtmlxEvent","el","event","handler","addEventListener","attachEvent","dhtmlxDetachEvent","removeEventListener","detachEvent","dhtmlxDnD","obj","config","this","_settings","dhtmlxEventable","dhtmlx","bind","e","original_target","target","srcElement","dragStart","dataProcessor","serverProcessorURL","serverProcessor","action_param","object","updatedRows","autoUpdate","updateMode","_tMode","_headers","_payload","post_delim","_waitMode","_in_progress","_invalid","mandatoryFields","messages","styles","updated","inserted","deleted","invalid","invalid_cell","error","clear","enableUTFencoding","dhx4","_eventable","window","version","skin","skinDetect","comp",10,20,30,"readFromCss","className","property","t","document","createElement","body","firstChild","insertBefore","appendChild","w","parentNode","removeChild","lastId","newId","zim","data","step","first","last","a","Math","max","reserve","id","s2b","r","toLowerCase","s2j","s","temp","eval","absLeft","getElementById","getOffset","left","absTop","top","_aOfs","elem","parseInt","offsetTop","offsetLeft","offsetParent","_aOfsRect","box","getBoundingClientRect","docElem","documentElement","scrollTop","pageYOffset","scrollLeft","pageXOffset","clientTop","clientLeft","round","_isObj","k","_copyObj","length","screenDim","isIE","navigator","userAgent","indexOf","dim","right","innerWidth","clientWidth","getElementsByTagName","bottom","clientHeight","offsetHeight","innerHeight","selectTextRange","inp","start","end","len","value","min","setSelectionRange","createTextRange","range","moveStart","moveEnd","select","transData","transDetect","transProp","transEv","MozTransition","WebkitTransition","OTransition","msTransition","transition","style","_xmlNodeValue","node","q","childNodes","nodeValue","toString","replace","isIE6","XMLHttpRequest","isIE7","isIE8","isOpera","isChrome","isKHTML","isFF","isIPad","search","ajax","cache","method","parse","DOMParser","parseFromString","ActiveXObject","undefined","async","loadXML","xmltop","tagname","xhr","status","xml","responseXML","responseText","callEvent","arguments","xpath","xpathExp","docObj","nodeName","selectNodes","rows","col","ownerDocument","evaluate","XPathResult","ANY_TYPE","iterateNext","push","query","_call","url","callback","headers","get","onLoad","getSync","put","postData","del","post","String","postSync","getLong","postLong","longParams","isQt","match","onreadystatechange","readyState","setTimeout","apply","xmlDoc","Date","getTime","open","key","setRequestHeader","toUpperCase","send","mode","detachAllEvents","dhxevs","checkEvent","name","func","eventId","b","params","extend","extend_api","map","ext","tagName","that","_init","_patch","prototype","str","_isFF","_isIE","_isOpera","_isKHTML","_isMacOS","_isChrome","_FFrv","_KHTMLrv","_OperaRv","parseFloat","substr","appName","appVersion","documentMode","compatMode","split","touchDelay","initTouch","touch_event","ev","createEvent","initEvent","dispatchEvent","longtouch","tx","ty","touches","clientX","clientY","abs","clearTimeout","result","usercall","modality","_dhx_msg_cfg","modal_key","code","which","keyCode","message","keyboard","preventDefault","cancelBubble","cover","onkeydown","scrollHeight","display","button","text","button_css","info","area","position","hide","innerHTML","type","onclick","expire","timers","pull","_boxStructure","ok","cancel","setAttribute","inner","width","height","title","content","buttons","i","source","getAttribute","_createBox","hidden","x","floor","offsetWidth","y","focus","modalbox","alertPopup","confirmPopup","boxPopup","box_params","uid","alert","confirm","subtype","seed","valueOf","hideAll","gantt","_silent_mode","_silentStart","_silentEnd","catcher","callObj","_eventCatcher","addEvent","arg0","dhx_catch","z","res","zr","removeEvent","list","copy","Array","Number","Boolean","Object","hasOwnProperty","mixin","force","f","defined","_seed","functor","_get_position","_detectScrollSize","div","cssText","attaches","attachGantt","cmp","attachObject","vs","av","grid","init","border","gridId","gridObj","method_name","dhtmlXCellObject","dataObj","_click","_dbl_click","_context_menu","_on_click","trg","locate","default_action","_find_ev_handler","getTask","select_task","selectTask","_on_contextmenu","src","taskId","linkId","link_attribute","returnValue","hash","css","call","_on_dblclick","details_on_dblclick","showLightbox","_on_mousemove","_last_move_event","marker","started","pos","getPosition","sensitivity","mousemove","dragMove","limited_mousemove","dragScroll","updates_per_second","_checkTimeout","mouseup","dragEnd","diff_x","diff_y","distance","sqrt","pow","ignore","pageX","pageY","_init_grid","gantt_close","close","gantt_open","gantt_row","task","scroll_on_click","showDate","start_date","gantt_grid_head_cell","column","gantt_add","root_id","sort","_sort","direction","order_branch","_init_dnd","readonly","item","createTask","_init_resize","_render_grid","_is_grid_visible","_calc_grid_width","_render_grid_header","columns","getGridColumns","cols_width","unknown","v","isNaN","autofit","diff","_get_grid_width","delta","index","grid_width","cells","labels","locale","lineHeigth","scale_height","cssClass","templates","grid_header_class","join","label","cell","$grid_scale","lineHeight","_render_grid_item","template","date_grid","tree","j","$level","grid_indent","has_child","_has_children","grid_open","grid_folder","grid_blank","grid_file","align","$index","grid_row_class","css_template","end_date","getState","selected_task","row_height","task_attribute","_set_item_state","state","_pull","$open","refreshData","show_grid","_is_chart_visible","_x","getTaskIndex","branch","getChildren","getParent","getGlobalTaskIndex","_order","moveTask","sid","tindex","parent","source_pid","tbranch","sindex","_replace_branch_child","tid","slice","concat","setParent","_branches","childTree","_getTaskTree","calculateTaskLevel","$drop_target","getPrevSibling","dnd","$grid_data","dnd_sensitivity","_locateHTML","hideQuickInfo","_hideQuickInfo","_is_readonly","initial_open_state","outerHTML","$transparent","lastTaskOfLevel","level","ids","last_item","_getGridPos","dd","elementFromPoint","isTaskExists","over","next","prev","shift","_scale_helpers","getSum","sizes","from","to","summ","setSumWidth","sum_width","scale","parts","oldWidth","adjustSize","full_width","splitSize","count","arr","full","shared","share","sortScales","scales","cellSize","unit","d","date","add","primaryScale","_init_template","scale_unit","date_scale","scale_cell_class","prepareConfigs","min_coll_width","container_width","heights","configs","main_scale","cfg","initScaleConfig","processIgnores","initColSizes","limitVisibleRange","unshift","alineScaleColumns","setPosSettings","trace_x","_ignore_time_config","skip_off_time","isWorkTime","ignore_x","display_count","min_col_width","line_height","cont_width","column_count","col_width","ignores","eachColumn","iterateScales","lower_scale","upper_scale","upper_dates","lower_dates","prevUpper","up","upper_start","upper_end","lower_start","lower_end","targetWidth","actualWidth","_min_date","_max_date","curr","dates","lastDate","outDate","_tasks_dnd","drag","_events","before_start","before_finish","after_finish","_handlers","clear_drag_state","drag_mode","set_actions","evs","stage","move","_move","resize","_resize","progress","_resize_progress","$task_data","on_mouse_move","on_mouse_down","on_mouse_up","start_x","start_y","coords_x","_drag_task_coords","dateFromPos","min_date","max_date","min_duration","calculateEndDate","_init_task_timing","new_start","new_end","posFromDate","obj_s_x","obj_e_x","start_drag","_start_dnd","_update_on_move","_get_mouse_pos","curr_date","original","_update_parents","refreshTask","_trim","_get_drag_mode","_is_flex_task","_fix_dnd_scale_time","fixStart","duration_unit","fixEnd","_tasks","round_dnd_dates","time_step","roundDate","duration","_fix_working_times","work_time","correct_work_time","getClosestWorkTime","dir","correctTaskWorkTime","_fireEvent","drag_id","updateTask","_dhx_changed","modes","classes","classname","assert","trigger","roundTaskDates","drag_state","_render_link","link","getLink","renders","_get_link_renderers","render_item","_get_link_type","from_start","to_start","links","start_to_start","finish_to_start","start_to_finish","finish_to_finish","isLinkAllowed","_render_link_element","dots","_path_builder","get_points","drawer","_drawer","lines","get_lines","color","cssTemplate","link_class","highlight_critical_path","isCriticalLink","size","link_arrow_size","render_line","backgroundColor","endpoint","_render_link_arrow","borderColor","point","line_width","dirs","down","current_pos","path","line_to","get_path","line","_get_line","get_wrapper_sizes","wrapper_size","link_wrapper_width","link_line_width","get_line_sizes","line_size","marginTop","marginLeft","wrapper","innerPos","get_direction","vect","_y_from_ind","current","point_to","pt","get_endpoint","xy","dy","e_y","dx","e_x","shiftX","forward","sign","types","_get_task_visible_pos","_init_links_dnd","getLinePos","_get_task_pos","_get_task_height","updateMarkedHtml","getDndState","drag_link_class","html","drag_link","advanceMarker","_link_source_task","_link_target_task","_link_source_task_start","_link_target_task_start","resetDndState","showDirectingLine","s_x","s_y","getDirectionLine","link_direction_class","dist","tan","angle","atan","coordinateCircleQuarter","PI","sin","cos","ieTransform","shiftLeft","shiftTop","sX","eX","sY","eY","_direction","$task_links","removeDirectionLine","$task_bars","start_marker","end_marker","link_edge_marker","link_landing_hover_area","_locate_css","_get_safe_type","milestone","_get_visible_milestone_width","_get_milestone_width","_dir_start","landing","_is_link_drop_area","prevTarget","prevLanding","_link_landing","prevToStart","targ","_dir_end","targetChanged","addLink","_get_link_state","link_landing_area","link_target_id","link_target_start","link_source_id","link_source_start","_init_tasks","refreshId","oldId","change_id","columnWidth","rendered","gantt_task_link","gantt_scale_cell","coll","_day_index_by_date","coll_date","_delete_link_handler","gantt_link_point","$target","$source","_link_layers","links_layer","addLinkLayer","renderer","container","filter","_create_filter","_linkRenderer","getRenderer","_task_layers","bar_layer","addTaskLayer","_render_task_element","_taskRenderer","_render_bg_line","$task_bg","_onTaskIdChange","render","_get_task_renderers","_onLinkIdChange","filter_methods","filter_method","show_chart","_filter_task","_filter_link","show_links","isTaskVisible","_is_std_background","static_background","question","link_description","confirm_link_deleting","_dhtmlx_confirm","deleteLink","touch","getTaskNode","getLinkNode","_get_tasks_data","resetProjectDates","_get_links_data","_lpull","_render_data","_is_render_active","_sync_order","_update_layout_sizes","_render_bg_canvas","renderers","render_items","bar_height","$task","backgroundImage","data_els","_is_layer","_scale_range_unit","scale_offset_minimal","_get_scales","_init_tasks_range","getSubtaskDates","_prepare_scale_html","date_to_str","inherit_scale_class","cssclass","helpers","subscales","_render_tasks_scales","_scroll_resize","_set_sizes","scales_html","outer_width","data_width","_get_resize_options","avail_width","autosize_min_width","cfgs","min_column_width","scale_row_class","tplClass","$scroll_ver","$task_scale","row","show_task_cells","task_cell_class","odd","task_row_class","_adjust_scales","fit_tasks","old_min","old_max","refresh_links","refreshLink","isLinkExists","remove_item","_combine_item_class","basic","itemId","project","touch_drag","isCriticalTask","from_id","allowDrag","dragClass","_render_pair","task_height","origWidth","getTaskPosition","x2","getTaskTop","_get_task_width","editable_property","readonly_property","_task_default_render","padd","show_progress","_render_task_progress","_render_task_content","textColor","task_class","progressColor","side","_render_leftside_content","_render_rightside_content","drag_resize","drag_links","outer","painters","type_renderers","defaultRenderer","_render_side_content","_get_link_crossing_css","leftside_text","rightside_text","_get_conditions","leftside","cond","ln","tp","task_text","element","maxWidth","done","pr","opacity","progress_text","drag_progress","steps","second","minute","hour","day","week","month","year","ind","_findBinary","part","_get_coll_duration","wholeCells","partCell","days","day_ind","array","low","high","_get_x_pos","task_id","_get_visible_order","_get_task_coord","x_correction","isMilestone","_default_task_date","mstoneCorrection","_correct_shift","back","getTimezoneOffset","dom_element","hasAttribute","layer_attribute","_task_renderer","render_one","_task_area_pulls","_task_area_renderers","dom","replace_item","items","buffer","createDocumentFragment","vis","item_id","newNode","replaceChild","oldid","newid","unload","_clear_renderers","_layers","prepareConfig","create","get_container","rel_root","tempCollection","getRenderers","layer","pending","topmost","rel","splice","remove","_add_generic_layer","layersManager","filters","removeTaskLayer","removeLinkLayer","load","_load_url","cl","_load_type","l","on_load","serialize","resp","raw","_process_loading","collections","_load_collections","tasks","_init_task","_add_branch","_init_links","initial_scroll","showTask","_init_link","_sync_links","collections_loaded","collection","serverList","option","option_key","silent","_sync_order_item","$ignore","children","ord","eachTask","master","hasChild","json","JSON","_temp","dhx_security","security_key","_copyLink","_copyObject","charAt","xml_format","_xmlNodeToJSON","attrs_only","attributes","child","nodeType","_getCollections","loader","opts","itms","itm","attrs","attr","_getXML","toptag","getXMLTopNode","skey","oldxml","startdate","est","enddate","predecessortasks","_working_time_helper","units","hours",6,"_working_units_cache","_cache","time","_get_unit_order","_timestamp","settings","timestamp","date_part","set_time","unset_time","is_working_unit","order","is_work_unit","_check_is_working_unit","is_work_day","val","get_working_hours","is_work_hour","getHours","getDay","get_work_units_between","is_work_units_between","add_worktime","added","get_closest_worktime","future_target","prev_target","tick","maximum_loop","both_directins","inc","getTaskByTime","p","_is_parent_sync","_resync_parent","pid","added_already","_sync_parent","_move_branch","old_parent","new_parent","$rendered_parent","old_id","new_id","newbranch","addTask","parent_id","startDate","_set_default_task_timing","duration_step","new_task","details_on_create","$new","deleteTask","_deleteTask","_getChildLinks","branches","_deleteRelatedLinks","use_dp","_dp","prev_mode","send_changes","setUpdateMode","setGanttMode","setUpdated","_deleteLink","sendAllData","_deleteRelatedTasks","t_id","_unset_task","_update_flags","clearAll","_clear_data","_order_full","userdata","_lightbox_id","_selected_task","changeTaskId","_get_duration_unit","_get_type_name","type_value","getWorkHours","setWorkTime","helper","calculateDuration","_hasDuration","mult","parseDate","open_tree_initially","task_type","$rendered_type","$no_end","$no_start","_assign_project_dates","root","isChildOf","child_id","upper","lower","field","desc","criteria","els","getNext","getPrev","_get_parent_id","new_pid","getSiblings","getNextSibling","siblings","_dp_init","dp","setTransactionMode","_serverProcessor","_methods","_ganttMode","newState","_sendTaskOrder","_tSend","urlPart","afterUpdate","reqUrl","filePath","responseURL","_getRowData","getUserData","_change_id","changeLinkId","_row_style","row_id","getTaskRowNode","regexp","_delete_task","setUserData","getLinks","updateLink","_configure","_init_skin","_get_skin","href","skinset","skins","_second_column_width","_third_column_width","_lightbox_template","resetLightbox","resetSkin","_lightbox_methods","getLightbox","_center_lightbox","showCover","_fill_lightbox","_get_timepicker_step","getLabel","sections","_get_typed_lightbox_config","map_to","options","updateCollection","list_name","getLightboxType","_lightbox_type","_lightbox","_is_lightbox_timepicker","wide_form","visibility","buttons_left","_migrate_buttons","buttons_right","drag_lightbox","onmousedown","_ready_to_dnd","onselectstart","cursor","_init_dnd_events","sns","_render_sections","ds","t_ds","resizeLightbox","_init_lightbox_events","block","form_blocks","con","lightbox_additional_height","scroll_top","scroll_left","view_height","scrollWidth","_cover","_document_height","_scroll_height","lightbox_events","_save_lightbox","$click","hideLightbox","_cancel_lightbox","sec","button_click","nextSibling","previousSibling","keys","edit_save","shiftKey","edit_cancel","getLightboxValues","_resolve_default_mapping","section","mapping","time_controls","get_value","hideCover","_custom_lightbox","_set_lightbox_values","lightbox_header","task_time","default_value","set_value","getLightboxSection","header","getValue","setValue","get_template_control","control","get_select_control","get_textarea_control","get_time_control","_move_while_dnd","_finish_dnd","_dnd_start_lb","gantt_unselectable","lb","now","_lb_start","_focus","getTimePicker","time_format","_time_format_order","dt","limit_time_select","last_hour","first_hour","setHours","time_option","offset","start_year","end_year","year_range","getFullYear","month_full","tdate","getDate","_time_values","time_picker","setTime","getMinutes","_fill_lightbox_select","getMonth","input","textarea","_dhx_onchange","onchange","single_date","_time_format_size","auto_end_date","_update_lightbox_select","minutes","mapped_fields","singleDate","_calc_date","_get_start_date","_get_duration","endspan","task_date","_change_duration","inps","btns","charCode","duration_val","_filter","_display","allow_root","root_label","tmpDom","newOptions","onselect","lightbox","_silent_redraw_lightbox","oldType","formData","updTask","_extend_to_optional","lightbox_block","optional_time","enable","disable","disabled","update_block","button_text","duration_optional","time_optional","total","payload","_endnm","escape","_utf","encodeURIComponent","setDataColumns","_columns","getSyncState","enableDataNames","enablePartialDataSend","_changed","rowId","findRow","existing","set_invalid","is_invalid","_clearUpdateFlag","markRow","sendData","details","checkBeforeUpdate","mytype","_h2","editStop","_beforeSendData","_sendData","serialize_one","stack","pref","a1","a3","_user","valid","_getAllData","out","has_one","setVerificator","verifFunction","clearVerificator","pattern","defineAction","_uActions","afterUpdateCallback","action","btag","correct","soid","tag","finalizeUpdate","cleanUpdate","atag","anObj","setOnAfterUpdate","enableDebug","setOnBeforeUpdateHandler","setAutoUpdate","interval","user","_need_update","_loader","_update_busy","xml_node","afterAutoUpdate","fullSync","self","setInterval","loadUpdate","getUpdates","dtmlXMLLoaderObject","waitCall","_v","_a","vers","doXPath","upds","check","scroll_size","_on_resize","$container","_reinit","_init_html_area","_init_touch_events","_init_templates","_set_scroll_events","_obj","childs","$grid","$scroll_hor","edit","delete","confirm_deleting","confirm_deleting_title","_calculate_content_height","rows_height","hor_scroll_height","_scroll_hor","_calculate_content_width","chart_width","_scroll_ver","autosize","_clean_el_size","_get_box_styles","computed","getComputedStyle","properties","boxSizing","MozBoxSizing","horPaddings","paddingLeft","paddingRight","borderLeftWidth","borderRightWidth","vertPaddings","paddingTop","paddingBottom","borderTopWidth","borderBottomWidth","borderBox","outerWidth","outerHeight","_do_autosize","boxSizes","reqHeight","reqWidth","_y","dataHeight","gridWidth","getScrollState","_save_scroll_state","_cached_scroll_pos","_restore_scroll_state","scrollTo","date_x","scroll_to","task_scroll_offset","setSizes","visible_date","preserve_scroll","new_pos","new_date","onMouseWheel","_wheel_time","wx","ff","deltaX","wheelDeltaX","wy","deltaY","wheelDelta","detail","prevent_default_scroll","_touch_scroll_active","barLeft","barTop","task_width","task_data_width","task_data_height","scroll_hor","scroll_ver","_get_target_node","attribute","test","trim","strict","drag_from_start","_touch_drag","host","updPerSecond","timeout","_on_timeout","unselectTask","getSelectedId","changeLightboxType","_skip_render","batchUpdate","dp_mode","call_dp","month_short","month_short_hash","month_full_hash","old","setMinutes","setSeconds","setMilliseconds","time_part","week_start","start_on_monday","month_start","setDate","year_start","setMonth","day_start","hour_start","minute_start","_add_days","ndate","setYear","to_fixed","num","format","utc","Function","str_to_date","splt","mask","getISOWeek","nday","first_thursday","year_number","ordinal_date","week_number","getUTCISOWeek","convert_to_utc","getUTCFullYear","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","xml_date","quarter_start","res_month","m","add_quarter","branch_loading","show_loading","api_date","server_utc","drag_move","dhx_save_btn","dhx_cancel_btn","dhx_delete_btn","project_sections","milestone_sections","min_grid_column_width","grid_resizer_column_attribute","grid_resizer_attribute","keep_grid_width","grid_resize","optimize_render","initial","registeredTemplates","_reg_templates","gantt_save_btn","icon_save","gantt_cancel_btn","icon_cancel","gantt_delete_btn","icon_delete","c","link_start","link_end","allowed","jQuery","$","methods","fn","dhx_gantt","views","each","day_full","day_short","icon_details","icon_edit","confirm_closing","section_description","section_time","section_type","column_text","column_start_date","column_duration","column_add","type_task","type_project","type_milestone","weeks","months","years","skyblue","meadow","terrace","broadway","_config_buttons_left","_config_buttons_right","touch_feedback","_touch_feedback","vibrate","msPointerEnabled","_touch_events","pointerType","MSPOINTER_TYPE_MOUSE","names","accessor","block_action","cloneTaskRendered","cloneNode","current_target","scroll_state","dblclicktime","action_mode","scroll_mode","action_start","long_tap_timer","_gantt_touch_event_ready"],"mappings":"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"}
\ No newline at end of file
diff --git a/libraries/dhtmlxgantt/sources/ext/dhtmlxgantt_marker.js b/libraries/dhtmlxgantt/sources/ext/dhtmlxgantt_marker.js
deleted file mode 100644
index a7794c7..0000000
--- a/libraries/dhtmlxgantt/sources/ext/dhtmlxgantt_marker.js
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
-@license
-
-dhtmlxGantt v.3.2.0 Stardard
-This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited.
-
-(c) Dinamenta, UAB.
-*/
-
-if(!gantt._markers)
- gantt._markers = {};
-
-gantt.config.show_markers = true;
-
-gantt.attachEvent("onClear", function(){
- gantt._markers = {};
-});
-
-gantt.attachEvent("onGanttReady", function(){
- var markerArea = document.createElement("div");
- markerArea.className = "gantt_marker_area";
- gantt.$task_data.appendChild(markerArea);
- gantt.$marker_area = markerArea;
-
- gantt._markerRenderer = gantt._task_renderer("markers", render_marker, gantt.$marker_area, null);
-
- function render_marker(marker){
- if(!gantt.config.show_markers)
- return false;
-
- if(!marker.start_date)
- return false;
-
- var state = gantt.getState();
- if(+marker.start_date > +state.max_date)
- return;
- if(+marker.end_date && +marker.end_date < +state.min_date || +marker.start_date < +state.min_date)
- return;
-
- var div = document.createElement("div");
-
- div.setAttribute("marker_id", marker.id);
-
- var css = "gantt_marker";
- if(gantt.templates.marker_class)
- css += " " + gantt.templates.marker_class(marker);
-
- if(marker.css){
- css += " " + marker.css;
- }
-
- if(marker.title){
- div.title = marker.title;
- }
- div.className = css;
-
- var start = gantt.posFromDate(marker.start_date);
- div.style.left = start + "px";
- div.style.height = Math.max(gantt._y_from_ind(gantt._order.length), 0) + "px";
- if(marker.end_date){
- var end = gantt.posFromDate(marker.end_date);
- div.style.width = Math.max((end - start), 0) + "px";
-
- }
-
- if(marker.text){
- div.innerHTML = "" + marker.text + "
";
- }
-
- return div;
- }
-});
-
-
-gantt.attachEvent("onDataRender", function(){
- gantt.renderMarkers();
-});
-
-gantt.getMarker = function(id){
- if(!this._markers) return null;
-
- return this._markers[id];
-};
-
-gantt.addMarker = function(marker){
- marker.id = marker.id || dhtmlx.uid();
-
- this._markers[marker.id] = marker;
-
- return marker.id;
-};
-
-gantt.deleteMarker = function(id){
- if(!this._markers || !this._markers[id])
- return false;
-
- delete this._markers[id];
- return true;
-};
-gantt.updateMarker = function(id){
- if(this._markerRenderer)
- this._markerRenderer.render_item(id);
-};
-gantt.renderMarkers = function(){
- if(!this._markers)
- return false;
-
- if(!this._markerRenderer)
- return false;
-
- var to_render = [];
-
- for(var id in this._markers)
- to_render.push(this._markers[id]);
-
- this._markerRenderer.render_items(to_render);
-
- return true;
-};
\ No newline at end of file
diff --git a/libraries/dhtmlxgantt/sources/ext/dhtmlxgantt_marker.js.map b/libraries/dhtmlxgantt/sources/ext/dhtmlxgantt_marker.js.map
deleted file mode 100644
index bf19c2d..0000000
--- a/libraries/dhtmlxgantt/sources/ext/dhtmlxgantt_marker.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"dhtmlxgantt_marker.js","sources":["dhtmlxgantt_marker.js"],"names":["gantt","_markers","config","show_markers","attachEvent","render_marker","marker","start_date","state","getState","max_date","end_date","min_date","div","document","createElement","setAttribute","id","css","templates","marker_class","title","className","start","posFromDate","style","left","height","Math","max","_y_from_ind","_order","length","end","width","text","innerHTML","markerArea","$task_data","appendChild","$marker_area","_markerRenderer","_task_renderer","renderMarkers","getMarker","this","addMarker","dhtmlx","uid","deleteMarker","updateMarker","render_item","to_render","push","render_items"],"mappings":";;;;;;;;AASIA,MAAMC,WACTD,MAAMC,aAEPD,MAAME,OAAOC,cAAe,EAE5BH,MAAMI,YAAY,UAAW,WAC5BJ,MAAMC,cAGPD,MAAMI,YAAY,eAAgB,WAQjC,QAASC,GAAcC,GACtB,IAAIN,MAAME,OAAOC,aAChB,OAAO,CAER,KAAIG,EAAOC,WACV,OAAO,CAER,IAAIC,GAAQR,MAAMS,UAClB,OAAIH,EAAOC,YAAcC,EAAME,WAE3BJ,EAAOK,WAAaL,EAAOK,UAAYH,EAAMI,WAAaN,EAAOC,YAAcC,EAAMI,UAAzF,CAGA,GAAIC,GAAMC,SAASC,cAAc,MAEjCF,GAAIG,aAAa,YAAaV,EAAOW,GAErC,IAAIC,GAAM,cACPlB,OAAMmB,UAAUC,eAClBF,GAAO,IAAMlB,MAAMmB,UAAUC,aAAad;AAExCA,EAAOY,MACTA,GAAO,IAAMZ,EAAOY,KAGlBZ,EAAOe,QACTR,EAAIQ,MAAQf,EAAOe,OAEpBR,EAAIS,UAAYJ,CAEhB,IAAIK,GAAQvB,MAAMwB,YAAYlB,EAAOC,WAGrC,IAFAM,EAAIY,MAAMC,KAAOH,EAAQ,KACzBV,EAAIY,MAAME,OAASC,KAAKC,IAAI7B,MAAM8B,YAAY9B,MAAM+B,OAAOC,QAAS,GAAK,KACtE1B,EAAOK,SAAS,CAClB,GAAIsB,GAAMjC,MAAMwB,YAAYlB,EAAOK,SACnCE,GAAIY,MAAMS,MAAQN,KAAKC,IAAKI,EAAMV,EAAQ,GAAK,KAQhD,MAJGjB,GAAO6B,OACTtB,EAAIuB,UAAY,sCAAwC9B,EAAO6B,KAAO,UAGhEtB,GAlDR,GAAIwB,GAAavB,SAASC,cAAc,MACxCsB,GAAWf,UAAY,oBACvBtB,MAAMsC,WAAWC,YAAYF,GAC7BrC,MAAMwC,aAAeH,EAErBrC,MAAMyC,gBAAkBzC,MAAM0C,eAAe,UAAWrC,EAAeL,MAAMwC,aAAc;;GAkD5FxC,MAAMI,YAAY,eAAgB,WACjCJ,MAAM2C,kBAGP3C,MAAM4C,UAAY,SAAS3B,GAC1B,MAAI4B,MAAK5C,SAEF4C,KAAK5C,SAASgB,GAFK,MAK3BjB,MAAM8C,UAAY,SAASxC,GAK1B,MAJAA,GAAOW,GAAKX,EAAOW,IAAM8B,OAAOC,MAEhCH,KAAK5C,SAASK,EAAOW,IAAMX,EAEpBA,EAAOW,IAGfjB,MAAMiD,aAAe,SAAShC,GAC7B,MAAI4B,MAAK5C,UAAa4C,KAAK5C,SAASgB,UAG7B4B,MAAK5C,SAASgB,IACd,IAHC,GAKTjB,MAAMkD,aAAe,SAASjC,GAC1B4B,KAAKJ,iBACPI,KAAKJ,gBAAgBU,YAAYlC,IAEnCjB,MAAM2C,cAAgB,WACrB,IAAIE,KAAK5C,SACR,OAAO,CAER,KAAI4C,KAAKJ,gBACR,OAAO;;AAER,GAAIW,KAEJ,KAAI,GAAInC,KAAM4B,MAAK5C,SAClBmD,EAAUC,KAAKR,KAAK5C,SAASgB,GAI9B,OAFA4B,MAAKJ,gBAAgBa,aAAaF,IAE3B"}
\ No newline at end of file
diff --git a/libraries/dhtmlxgantt/sources/ext/dhtmlxgantt_multiselect.js b/libraries/dhtmlxgantt/sources/ext/dhtmlxgantt_multiselect.js
deleted file mode 100644
index 9914cf7..0000000
--- a/libraries/dhtmlxgantt/sources/ext/dhtmlxgantt_multiselect.js
+++ /dev/null
@@ -1,241 +0,0 @@
-/*
-@license
-
-dhtmlxGantt v.3.2.0 Stardard
-This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited.
-
-(c) Dinamenta, UAB.
-*/
-gantt.config.multiselect = true;
-gantt.config.multiselect_one_level = false;
-
-gantt._multiselect = {
- selected: {},
- one_level: true,
- active: true,
- isActive: function(){
- this.update_state();
- return this.active;
- },
- update_state: function(){
- this.one_level = gantt.config.multiselect_one_level;
- var active = this.active;
- this.active = gantt.config.multiselect;
- if(this.active != active){
- this.reset();
- }
- },
- reset: function () {
- this.selected = {};
- },
- set_last_selected: function (id) {
- this.last_selected = id;
- },
- getLastSelected: function () {
- return this.last_selected ? this.last_selected : null;
- },
- select: function (id, e) {
- if(gantt.callEvent("onBeforeTaskMultiSelect", [id, true, e])){
- this.selected[id] = true;
- this.set_last_selected(id);
- gantt.callEvent("onTaskMultiSelect", [id, true, e]);
- }
- },
- toggle: function (id, e) {
- if(this.selected[id]){
- this.unselect(id, e);
- }else{
- this.select(id, e);
- }
- },
- unselect: function (id, e) {
- if(gantt.callEvent("onBeforeTaskMultiSelect", [id, false, e])){
- this.selected[id] = false;
- if(this.last_selected == id)
- this.last_selected = null;
-
- gantt.callEvent("onTaskMultiSelect", [id, true, e]);
- }
- },
- isSelected: function (id) {
- return !!this.selected[id];
- },
- getSelected: function () {
- var res = [];
- for (var i in this.selected) {
- if (this.selected[i]) {
- res.push(i);
- }
- }
-
- res.sort(function(a, b){
- return gantt.calculateTaskLevel(gantt.getTask(a)) > gantt.calculateTaskLevel(gantt.getTask(b)) ? 1 : -1;
- });
-
- return res;
- },
- forSelected: function (callback) {
- var selected = this.getSelected();
- for (var i = 0; i < selected.length; i++) {
- callback(selected[i]);
- }
- },
- is_same_level: function(id){
- if(!this.one_level)
- return true;
- var last = this.getLastSelected();
- if(!last)
- return true;
-
- if(!(gantt.isTaskExists(last) && gantt.isTaskExists(id)))
- return true;
-
- return !!(gantt.calculateTaskLevel(gantt.getTask(last)) == gantt.calculateTaskLevel(gantt.getTask(id)));
- },
- _after_select: function(target){
- gantt.refreshTask(target);
- },
- _do_selection: function(e) {
- /* add onclick handler to gantt container, hook up multiselection */
- if(!this.isActive())
- return true;
- var target_ev = gantt.locate(e);
- var selected = this.getSelected();
- if (!target_ev)
- return true;
-
- if(!gantt.callEvent("onBeforeMultiSelect", [e])){
- return true;
- }
-
- if (e.ctrlKey) {
- if (target_ev) {
- this.toggle(target_ev, e);
- this._after_select(target_ev);
- }
- } else if (e.shiftKey && selected.length) {
- var last = this.getLastSelected();
- if (!last)
- last = selected[selected.length - 1];
- if (target_ev && last != target_ev) {
- var last_si = gantt.getGlobalTaskIndex(last);
- var cur_si = gantt.getGlobalTaskIndex(target_ev);
- var tmp = target_ev;
- while (gantt.getGlobalTaskIndex(tmp) != last_si) {
- this.select(tmp);
- this._after_select(tmp);
- tmp = (last_si > cur_si) ? gantt.getNext(tmp) : gantt.getPrev(tmp);
- }
- this.forSelected(dhtmlx.bind(function (task_id) {
- var index = gantt.getGlobalTaskIndex(task_id);
- if ((index > last_si && index > cur_si) || (index < last_si && index < cur_si)) {
- this.unselect(task_id);
- gantt.refreshTask(task_id);
- }
- }, this));
- }
-
- }
- else {
- this.forSelected(dhtmlx.bind(function (task_id) {
- if (task_id != target_ev) {
- this.unselect(task_id);
- gantt.refreshTask(task_id);
- }
- }, this));
- if (!this.isSelected(target_ev)) {
-
- this.select(target_ev);
- this._after_select(target_ev);
- }
- }
-
- if(!this.isSelected(target_ev)){
- return false;
- }
- return true;
- }
-};
-
-
-(function(){
- var old_selectTask = gantt.selectTask;
- gantt.selectTask = function(id){
- var res = old_selectTask.call(this, id);
- if(this.config.multiselect)
- this._multiselect.select(id);
-
- return res;
- };
- var old_unselectTask = gantt.unselectTask;
- gantt.unselectTask = function(id){
- var res = old_unselectTask.call(this, id);
- if(this.config.multiselect)
- this._multiselect.unselect(id);
-
- return res;
- };
-
- gantt.toggleTaskSelection = function(id){
- if(this.config.multiselect)
- this._multiselect.toggle(id);
- };
- gantt.getSelectedTasks = function(){
- return this._multiselect.getSelected();
- };
- gantt.eachSelectedTask = function(callback){
- return this._multiselect.forSelected(callback);
- };
- gantt.isSelectedTask = function(id){
- return this._multiselect.isSelected(id);
- };
- gantt.getLastSelectedTask = function(){
- return this._multiselect.getLastSelected();
- };
-
-})();
-
-gantt.attachEvent("onTaskIdChange", function (id, new_id) {
- var multiselect = gantt._multiselect;
- if(!multiselect.isActive())
- return true;
-
- if (gantt.isSelectedTask(id)) {
- multiselect.unselect(id, null);
- multiselect.select(new_id, null);
- gantt.refreshTask(new_id);
- }
-});
-
-gantt.attachEvent("onAfterTaskDelete", function (id, item) {
- var multiselect = gantt._multiselect;
- if(!multiselect.isActive())
- return true;
-
- if (multiselect.selected[id])
- multiselect.unselect(id, null);
-
- multiselect.forSelected(function (task_id) {
- if (!gantt.isTaskExists(task_id))
- multiselect.unselect(task_id, null);
- });
-});
-
-gantt.attachEvent("onBeforeTaskMultiSelect", function(id, select, e){
- var multiselect = gantt._multiselect;
- if(select && multiselect.isActive()){
- return multiselect.is_same_level(id);
- }
- return true;
-});
-
-gantt.attachEvent("onTaskClick", function(id, e){
- var res = gantt._multiselect._do_selection(e);
- gantt.callEvent("onMultiSelect", [e]);
- return res;
-});
-gantt.attachEvent("onEmptyClick", function (e){
- gantt._multiselect._do_selection(e);
- gantt.callEvent("onMultiSelect", [e]);
- return true;
-});
\ No newline at end of file
diff --git a/libraries/dhtmlxgantt/sources/ext/dhtmlxgantt_multiselect.js.map b/libraries/dhtmlxgantt/sources/ext/dhtmlxgantt_multiselect.js.map
deleted file mode 100644
index 93b5d08..0000000
--- a/libraries/dhtmlxgantt/sources/ext/dhtmlxgantt_multiselect.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"dhtmlxgantt_multiselect.js","sources":["dhtmlxgantt_multiselect.js"],"names":["gantt","config","multiselect","multiselect_one_level","_multiselect","selected","one_level","active","isActive","this","update_state","reset","set_last_selected","id","last_selected","getLastSelected","select","e","callEvent","toggle","unselect","isSelected","getSelected","res","i","push","sort","a","b","calculateTaskLevel","getTask","forSelected","callback","length","is_same_level","last","isTaskExists","_after_select","target","refreshTask","_do_selection","target_ev","locate","ctrlKey","shiftKey","last_si","getGlobalTaskIndex","cur_si","tmp","getNext","getPrev","dhtmlx","bind","task_id","index","old_selectTask","selectTask","call","old_unselectTask","unselectTask","toggleTaskSelection","getSelectedTasks","eachSelectedTask","isSelectedTask","getLastSelectedTask","attachEvent","new_id"],"mappings":"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"}
\ No newline at end of file
diff --git a/libraries/dhtmlxgantt/sources/ext/dhtmlxgantt_quick_info.js b/libraries/dhtmlxgantt/sources/ext/dhtmlxgantt_quick_info.js
deleted file mode 100644
index 7092c92..0000000
--- a/libraries/dhtmlxgantt/sources/ext/dhtmlxgantt_quick_info.js
+++ /dev/null
@@ -1,218 +0,0 @@
-/*
-@license
-
-dhtmlxGantt v.3.2.0 Stardard
-This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited.
-
-(c) Dinamenta, UAB.
-*/
-gantt.config.quickinfo_buttons = ["icon_delete","icon_edit"];
-gantt.config.quick_info_detached = true;
-gantt.config.show_quick_info = true;
-
-gantt.attachEvent("onTaskClick", function(id){
- gantt.showQuickInfo(id);
- return true;
-});
-
-(function(){
- var events = ["onEmptyClick", "onViewChange", "onLightbox", "onBeforeTaskDelete", "onBeforeDrag"];
- var hiding_function = function(){
- gantt._hideQuickInfo();
- return true;
- };
- for (var i=0; i" +
- "
" +
- "" +
- "
";
-
- //buttons
- html += "";
- var buttons = gantt.config.quickinfo_buttons;
-
- var is_editor = {"icon_delete":true,"icon_edit":true};
-
- for (var i = 0; i < buttons.length; i++){
- if(this._quick_info_readonly && is_editor[buttons[i]])
- continue;
-
- html += "
"+gantt.locale.labels[buttons[i]]+"
";
- }
- html += "
";
-
- qi.innerHTML = html;
- dhtmlxEvent(qi, "click", function(ev){
- ev = ev || event;
- gantt._qi_button_click(ev.target || ev.srcElement);
- });
- if (gantt.config.quick_info_detached)
- dhtmlxEvent(gantt.$task_data, "scroll", function(){ gantt.hideQuickInfo(); });
- }
-
- return this._quick_info_box;
-};
-
-gantt._qi_button_click = function(node){
- var box = gantt._quick_info_box;
- if (!node || node == box) return;
-
- var mask = node.className;
- if (mask.indexOf("_icon")!=-1){
- var id = gantt._quick_info_box_id;
- gantt.$click.buttons[mask.split(" ")[1].replace("icon_","")](id);
- } else
- gantt._qi_button_click(node.parentNode);
-};
-gantt._get_event_counter_part = function(id){
- var domEv = gantt.getTaskNode(id);
- var left = 0;
- var top = 0;
-
- var node = domEv;
- while (node && node.className != "gantt_task"){
- left += node.offsetLeft;
- top += node.offsetTop;
- node = node.offsetParent;
- }
- var scroll = this.getScrollState();
- if(node){
- var dx = (left + domEv.offsetWidth/2) - scroll.x > (gantt._x/2) ? 1 : 0;
- var dy = (top + domEv.offsetHeight/2) - scroll.y > (gantt._y/2) ? 1 : 0;
-
- return { left:left, top:top, dx:dx, dy:dy,
- width:domEv.offsetWidth, height:domEv.offsetHeight };
- }
- return 0;
-};
-
-gantt._fill_quick_data = function(id){
- var ev = gantt.getTask(id);
- var qi = gantt._quick_info_box;
-
- gantt._quick_info_box_id = id;
-
-//title content
- var titleContent = qi.firstChild.firstChild;
- titleContent.innerHTML = gantt.templates.quick_info_title(ev.start_date, ev.end_date, ev);
- var titleDate = titleContent.nextSibling;
- titleDate.innerHTML = gantt.templates.quick_info_date(ev.start_date, ev.end_date, ev);
-
-//main content
- var main = qi.firstChild.nextSibling;
- main.innerHTML = gantt.templates.quick_info_content(ev.start_date, ev.end_date, ev);
-};
diff --git a/libraries/dhtmlxgantt/sources/ext/dhtmlxgantt_quick_info.js.map b/libraries/dhtmlxgantt/sources/ext/dhtmlxgantt_quick_info.js.map
deleted file mode 100644
index 3d3bc9c..0000000
--- a/libraries/dhtmlxgantt/sources/ext/dhtmlxgantt_quick_info.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"dhtmlxgantt_quick_info.js","sources":["dhtmlxgantt_quick_info.js"],"names":["gantt","config","quickinfo_buttons","quick_info_detached","show_quick_info","attachEvent","id","showQuickInfo","events","hiding_function","_hideQuickInfo","i","length","templates","quick_info_title","start","end","ev","text","substr","quick_info_content","details","quick_info_date","task_time","quick_info_class","this","_quick_info_box_id","hideQuickInfo","pos","_get_event_counter_part","_quick_info_box","_init_quick_info","className","_prepare_quick_info_classname","_fill_quick_data","_show_quick_info","forced","qi","parentNode","removeChild","style","right","left","dhtmlxEvent","window","e","keyCode","nodeName","toLowerCase","$task_data","appendChild","width","offsetWidth","height","offsetHeight","scrolls","getScrollState","screen_width","$task","x","Math","min","max","dx","top","dy","setTimeout","_obj","task","getTask","css","template","start_date","end_date","_quick_info_readonly","_is_readonly","document","createElement","html","buttons","is_editor","icon_delete","icon_edit","locale","labels","innerHTML","event","_qi_button_click","target","srcElement","node","box","mask","indexOf","$click","split","replace","domEv","getTaskNode","offsetLeft","offsetTop","offsetParent","scroll","_x","y","_y","titleContent","firstChild","titleDate","nextSibling","main"],"mappings":"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"}
\ No newline at end of file
diff --git a/libraries/dhtmlxgantt/sources/ext/dhtmlxgantt_tooltip.js b/libraries/dhtmlxgantt/sources/ext/dhtmlxgantt_tooltip.js
deleted file mode 100644
index 33e772a..0000000
--- a/libraries/dhtmlxgantt/sources/ext/dhtmlxgantt_tooltip.js
+++ /dev/null
@@ -1,172 +0,0 @@
-/*
-@license
-
-dhtmlxGantt v.3.2.0 Stardard
-This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited.
-
-(c) Dinamenta, UAB.
-*/
-gantt._tooltip = {};
-gantt._tooltip_class = "gantt_tooltip";
-gantt.config.tooltip_timeout = 30;//,
-gantt.config.tooltip_offset_y = 20;
-gantt.config.tooltip_offset_x = 10;//,
- // timeout_to_hide: 50,
- // delta_x: 15,
- // delta_y: -20
-
-gantt._create_tooltip = function(){
- if (!this._tooltip_html){
- this._tooltip_html = document.createElement('div');
- this._tooltip_html.className = gantt._tooltip_class;
- }
- return this._tooltip_html;
-};
-
-gantt._is_cursor_under_tooltip = function(mouse_pos, tooltip) {
- if(mouse_pos.x >= tooltip.pos.x && mouse_pos.x <= (tooltip.pos.x + tooltip.width)) return true;
- if(mouse_pos.y >= tooltip.pos.y && mouse_pos.y <= (tooltip.pos.y + tooltip.height)) return true;
- return false;
-};
-
-gantt._show_tooltip = function(text, pos) {
- if (gantt.config.touch && !gantt.config.touch_tooltip) return;
-
- var tip = this._create_tooltip();
-
- tip.innerHTML = text;
- gantt.$task_data.appendChild(tip);
-
- var width = tip.offsetWidth + 20;
- var height = tip.offsetHeight + 40;
- var max_height = this.$task.offsetHeight;
- var max_width = this.$task.offsetWidth;
- var scroll = this.getScrollState();
-
- //pos.x += scroll.x;
- pos.y += scroll.y;
-
- var mouse_pos = {
- x: pos.x,
- y: pos.y
- };
-
- pos.x += (gantt.config.tooltip_offset_x*1 || 0);
- pos.y += (gantt.config.tooltip_offset_y*1 || 0);
-
- pos.y = Math.min(Math.max(scroll.y, pos.y), scroll.y+max_height - height);
- pos.x = Math.min(Math.max(scroll.x, pos.x), scroll.x+max_width - width);
-
- if (gantt._is_cursor_under_tooltip(mouse_pos, {pos: pos, width: width, height: height})) {
- if((mouse_pos.x+width) > (max_width + scroll.x)) pos.x = mouse_pos.x - (width - 20) - (gantt.config.tooltip_offset_x*1 || 0);
- if((mouse_pos.y+height) > (max_height + scroll.y)) pos.y = mouse_pos.y - (height - 40) - (gantt.config.tooltip_offset_y*1 || 0);
- }
-
- tip.style.left = pos.x + "px";
- tip.style.top = pos.y + "px";
-};
-
-gantt._hide_tooltip = function(){
- if (this._tooltip_html && this._tooltip_html.parentNode)
- this._tooltip_html.parentNode.removeChild(this._tooltip_html);
- this._tooltip_id = 0;
-};
-
-gantt._is_tooltip = function(ev) {
- var node = ev.target || ev.srcElement;
- return gantt._is_node_child(node, function(node){
- return (node.className == this._tooltip_class);
- });
-};
-
-gantt._is_task_line = function(ev){
- var node = ev.target || ev.srcElement;
- return gantt._is_node_child(node, function(node){
- return (node == this.$task_data);
- });
-};
-
-gantt._is_node_child = function(node, condition){
- var res = false;
- while (node && !res) {
- res = condition.call(gantt, node);
- node = node.parentNode;
- }
- return res;
-};
-
-gantt._tooltip_pos = function(ev) {
- if (ev.pageX || ev.pageY)
- var pos = {x:ev.pageX, y:ev.pageY};
-
- var d = _isIE ? document.documentElement : document.body;
- var pos = {
- x:ev.clientX + d.scrollLeft - d.clientLeft,
- y:ev.clientY + d.scrollTop - d.clientTop
- };
-
- var box = gantt._get_position(gantt.$task_data);
- pos.x = pos.x - box.x;
- pos.y = pos.y - box.y;
- return pos;
-};
-
-gantt.attachEvent("onMouseMove", function(event_id, ev) { // (gantt event_id, browser event)
- if(this.config.tooltip_timeout){
- //making events survive timeout in ie
- if(document.createEventObject && !document.createEvent)
- ev = document.createEventObject(ev);
-
- var delay = this.config.tooltip_timeout;
-
- if(this._tooltip_id && !event_id){
- if(!isNaN(this.config.tooltip_hide_timeout)){
- delay = this.config.tooltip_hide_timeout;
- }
- }
-
- clearTimeout(gantt._tooltip_ev_timer);
- gantt._tooltip_ev_timer = setTimeout(function(){
- gantt._init_tooltip(event_id, ev);
- }, delay);
-
- }else{
- gantt._init_tooltip(event_id, ev);
- }
-});
-gantt._init_tooltip = function(event_id, ev){
- if (this._is_tooltip(ev)) return;
- if (event_id == this._tooltip_id && !this._is_task_line(ev)) return;
- if (!event_id)
- return this._hide_tooltip();
-
- this._tooltip_id = event_id;
-
- var task = this.getTask(event_id);
- var text = this.templates.tooltip_text(task.start_date, task.end_date, task);
- if (!text){
- this._hide_tooltip();
- return;
- }
- this._show_tooltip(text, this._tooltip_pos(ev));
-};
-gantt.attachEvent("onMouseLeave", function(ev){
- if (gantt._is_tooltip(ev)) return;
- this._hide_tooltip();
-});
-
-// gantt.attachEvent("onBeforeDrag", function() {
-// gantt._tooltip.hide();
-// return true;
-// });
-// gantt.attachEvent("onEventDeleted", function() {
-// gantt._tooltip.hide();
-// return true;
-// });
-
-
-/* Could be redifined */
-gantt.templates.tooltip_date_format = gantt.date.date_to_str("%Y-%m-%d");
-gantt.templates.tooltip_text = function(start, end, event) {
- return "Task: " + event.text + "Start date: " + gantt.templates.tooltip_date_format(start) + "End date: " + gantt.templates.tooltip_date_format(end);
-};
diff --git a/libraries/dhtmlxgantt/sources/ext/dhtmlxgantt_tooltip.js.map b/libraries/dhtmlxgantt/sources/ext/dhtmlxgantt_tooltip.js.map
deleted file mode 100644
index cedf395..0000000
--- a/libraries/dhtmlxgantt/sources/ext/dhtmlxgantt_tooltip.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"dhtmlxgantt_tooltip.js","sources":["dhtmlxgantt_tooltip.js"],"names":["gantt","_tooltip","_tooltip_class","config","tooltip_timeout","tooltip_offset_y","tooltip_offset_x","_create_tooltip","this","_tooltip_html","document","createElement","className","_is_cursor_under_tooltip","mouse_pos","tooltip","x","pos","width","y","height","_show_tooltip","text","touch","touch_tooltip","tip","innerHTML","$task_data","appendChild","offsetWidth","offsetHeight","max_height","$task","max_width","scroll","getScrollState","Math","min","max","style","left","top","_hide_tooltip","parentNode","removeChild","_tooltip_id","_is_tooltip","ev","node","target","srcElement","_is_node_child","_is_task_line","condition","res","call","_tooltip_pos","pageX","pageY","d","_isIE","documentElement","body","clientX","scrollLeft","clientLeft","clientY","scrollTop","clientTop","box","_get_position","attachEvent","event_id","createEventObject","createEvent","delay","isNaN","tooltip_hide_timeout","clearTimeout","_tooltip_ev_timer","setTimeout","_init_tooltip","task","getTask","templates","tooltip_text","start_date","end_date","tooltip_date_format","date","date_to_str","start","end","event"],"mappings":"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"}
\ No newline at end of file
diff --git a/libraries/dhtmlxgantt/sources/locale/locale.js b/libraries/dhtmlxgantt/sources/locale/locale.js
deleted file mode 100644
index 26f1e80..0000000
--- a/libraries/dhtmlxgantt/sources/locale/locale.js
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
-@license
-
-dhtmlxGantt v.3.2.0 Stardard
-This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited.
-
-(c) Dinamenta, UAB.
-*/
-gantt.locale = {
- date:{
- month_full:["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"],
- month_short:["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"],
- day_full:["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"],
- day_short:["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"]
- },
- labels:{
- new_task:"New task",
- icon_save:"Save",
- icon_cancel:"Cancel",
- icon_details:"Details",
- icon_edit:"Edit",
- icon_delete:"Delete",
- confirm_closing:"",//Your changes will be lost, are your sure ?
- confirm_deleting:"Task will be deleted permanently, are you sure?",
- section_description:"Description",
- section_time:"Time period",
- section_type:"Type",
-
- /* grid columns */
-
- column_text : "Task name",
- column_start_date : "Start time",
- column_duration : "Duration",
- column_add : "",
-
- /* link confirmation */
- link: "Link",
- confirm_link_deleting:"will be deleted",
- link_start: " (start)",
- link_end: " (end)",
-
- type_task: "Task",
- type_project: "Project",
- type_milestone: "Milestone",
-
- minutes: "Minutes",
- hours: "Hours",
- days: "Days",
- weeks: "Week",
- months: "Months",
- years: "Years"
- }
-};
-
diff --git a/libraries/dhtmlxgantt/sources/locale/locale.js.map b/libraries/dhtmlxgantt/sources/locale/locale.js.map
deleted file mode 100644
index 0cf516b..0000000
--- a/libraries/dhtmlxgantt/sources/locale/locale.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"locale.js","sources":["locale.js"],"names":["gantt","locale","date","month_full","month_short","day_full","day_short","labels","new_task","icon_save","icon_cancel","icon_details","icon_edit","icon_delete","confirm_closing","confirm_deleting","section_description","section_time","section_type","column_text","column_start_date","column_duration","column_add","link","confirm_link_deleting","link_start","link_end","type_task","type_project","type_milestone","minutes","hours","days","weeks","months","years"],"mappings":";;;;;;;;AAQAA,MAAMC,QACLC,MACCC,YAAY,UAAW,WAAY,QAAS,QAAS,MAAO,OAAQ,OAAQ,SAAU,YAAa,UAAW,WAAY,YAC1HC,aAAa,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAC1FC,UAAU,SAAU,SAAU,UAAW,YAAa,WAAY,SAAU,YAC5EC,WAAW,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,QAEtDC,QACCC,SAAS,WACTC,UAAU,OACVC,YAAY,SACZC,aAAa,UACbC,UAAU,OACVC,YAAY,SACZC,gBAAgB;AAChBC,iBAAiB,kDACXC,oBAAoB,cACpBC,aAAa,cACnBC,aAAa,OAIPC,YAAc,YACdC,kBAAoB,aACpBC,gBAAkB,WAClBC,WAAa,GAGnBC,KAAM,OACNC,sBAAsB,kBACtBC,WAAY,WACZC,SAAU,SAEVC,UAAW,OACXC,aAAc,UACdC,eAAgB,YAEVC,QAAS,UACTC,MAAO,QACPC,KAAM,OACNC,MAAO,OACPC,OAAQ,SACRC,MAAO"}
\ No newline at end of file
diff --git a/libraries/dhtmlxgantt/sources/locale/locale_ar.js b/libraries/dhtmlxgantt/sources/locale/locale_ar.js
deleted file mode 100644
index d3709ed..0000000
--- a/libraries/dhtmlxgantt/sources/locale/locale_ar.js
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
-@license
-
-dhtmlxGantt v.3.2.0 Stardard
-This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited.
-
-(c) Dinamenta, UAB.
-*/
-gantt.locale = {
- date: {
- month_full: ["كانون الثاني", "شباط", "آذار", "نيسان", "أيار", "حزيران", "تموز", "آب", "أيلول", "تشرين الأول", "تشرين الثاني", "كانون الأول"],
- month_short: ["يناير", "فبراير", "مارس", "أبريل", "مايو", "يونيو", "يوليو", "أغسطس", "سبتمبر", "أكتوبر", "نوفمبر", "ديسمبر"],
- day_full: ["الأحد", "الأثنين", "ألثلاثاء", "الأربعاء", "ألحميس", "ألجمعة", "السبت"],
- day_short: ["احد", "اثنين", "ثلاثاء", "اربعاء", "خميس", "جمعة", "سبت"]
- },
- labels: {
- dhx_cal_today_button: "اليوم",
- day_tab: "يوم",
- week_tab: "أسبوع",
- month_tab: "شهر",
- new_event: "حدث جديد",
- icon_save: "اخزن",
- icon_cancel: "الغاء",
- icon_details: "تفاصيل",
- icon_edit: "تحرير",
- icon_delete: "حذف",
- confirm_closing: "التغييرات سوف تضيع, هل انت متأكد؟", //Your changes will be lost, are your sure ?
- confirm_deleting: "الحدث سيتم حذفها نهائيا ، هل أنت متأكد؟",
- section_description: "الوصف",
- section_time: "الفترة الزمنية",
- section_type:"Type",
- /* grid columns */
-
- column_text : "Task name",
- column_start_date : "Start time",
- column_duration : "Duration",
- column_add : "",
-
- /* link confirmation */
- link: "Link",
- confirm_link_deleting:"will be deleted",
- link_start: " (start)",
- link_end: " (end)",
-
- type_task: "Task",
- type_project: "Project",
- type_milestone: "Milestone",
-
- minutes: "Minutes",
- hours: "Hours",
- days: "Days",
- weeks: "Week",
- months: "Months",
- years: "Years"
- }
-};
-
diff --git a/libraries/dhtmlxgantt/sources/locale/locale_ar.js.map b/libraries/dhtmlxgantt/sources/locale/locale_ar.js.map
deleted file mode 100644
index fb5162d..0000000
--- a/libraries/dhtmlxgantt/sources/locale/locale_ar.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"locale_ar.js","sources":["locale_ar.js"],"names":["gantt","locale","date","month_full","month_short","day_full","day_short","labels","dhx_cal_today_button","day_tab","week_tab","month_tab","new_event","icon_save","icon_cancel","icon_details","icon_edit","icon_delete","confirm_closing","confirm_deleting","section_description","section_time","section_type","column_text","column_start_date","column_duration","column_add","link","confirm_link_deleting","link_start","link_end","type_task","type_project","type_milestone","minutes","hours","days","weeks","months","years"],"mappings":";;;;;;;;AAQAA,MAAMC,QACLC,MACCC,YAAa,eAAgB,OAAQ,OAAQ,QAAS,OAAQ,SAAU,OAAQ,KAAM,QAAS,cAAe,eAAgB,eAC9HC,aAAc,QAAS,SAAU,OAAQ,QAAS,OAAQ,QAAS,QAAS,QAAS,SAAU,SAAU,SAAU,UACnHC,UAAW,QAAS,UAAW,WAAY,WAAY,SAAU,SAAU,SAC3EC,WAAY,MAAO,QAAS,SAAU,SAAU,OAAQ,OAAQ,QAEjEC,QACCC,qBAAsB,QACtBC,QAAS,MACTC,SAAU,QACVC,UAAW,MACXC,UAAW;AACXC,UAAW,OACXC,YAAa,QACbC,aAAc,SACdC,UAAW,QACXC,YAAa,MACbC,gBAAiB,oCACjBC,iBAAkB,0CAClBC,oBAAqB,QACrBC,aAAc,iBACdC,aAAa,OAGPC,YAAc,YACdC,kBAAoB,aACpBC,gBAAkB,WAClBC,WAAa,GAGnBC,KAAM,OACNC,sBAAsB,kBACtBC,WAAY,WACZC,SAAU,SAEVC,UAAW,OACXC,aAAc;AACdC,eAAgB,YAEVC,QAAS,UACTC,MAAO,QACPC,KAAM,OACNC,MAAO,OACPC,OAAQ,SACRC,MAAO"}
\ No newline at end of file
diff --git a/libraries/dhtmlxgantt/sources/locale/locale_be.js b/libraries/dhtmlxgantt/sources/locale/locale_be.js
deleted file mode 100644
index 6a091d8..0000000
--- a/libraries/dhtmlxgantt/sources/locale/locale_be.js
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
-@license
-
-dhtmlxGantt v.3.2.0 Stardard
-This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited.
-
-(c) Dinamenta, UAB.
-*/
-gantt.locale = {
- date: {
- month_full: ["Студзень", "Люты", "Сакавік", "Красавік", "Maй", "Чэрвень", "Ліпень", "Жнівень", "Верасень", "Кастрычнік", "Лістапад", "Снежань"],
- month_short: ["Студз", "Лют", "Сак", "Крас", "Maй", "Чэр", "Ліп", "Жнів", "Вер", "Каст", "Ліст", "Снеж"],
- day_full: [ "Нядзеля", "Панядзелак", "Аўторак", "Серада", "Чацвер", "Пятніца", "Субота"],
- day_short: ["Нд", "Пн", "Аўт", "Ср", "Чцв", "Пт", "Сб"]
- },
- labels: {
- dhx_cal_today_button: "Сёння",
- day_tab: "Дзень",
- week_tab: "Тыдзень",
- month_tab: "Месяц",
- new_event: "Новая падзея",
- icon_save: "Захаваць",
- icon_cancel: "Адмяніць",
- icon_details: "Дэталі",
- icon_edit: "Змяніць",
- icon_delete: "Выдаліць",
- confirm_closing: "", //Унесеныя змены будуць страчаны, працягнуць?
- confirm_deleting: "Падзея будзе выдалена незваротна, працягнуць?",
- section_description: "Апісанне",
- section_time: "Перыяд часу",
- section_type:"Тып",
- /* grid columns */
-
- column_text : "Задача",
- column_start_date : "Пачатак",
- column_duration : "Працяг",
- column_add : "",
-
- /* link confirmation */
- link: "Сувязь",
- confirm_link_deleting:"будзе выдалена",
- link_start: "(пачатак)",
- link_end: "(канец)",
-
- type_task: "Task",
- type_project: "Project",
- type_milestone: "Milestone",
-
-
- minutes: "Хвiлiна",
- hours: "Гадзiна",
- days: "Дзень",
- weeks: "Тыдзень",
- months: "Месяц",
- years: "Год"
- }
-};
-
diff --git a/libraries/dhtmlxgantt/sources/locale/locale_be.js.map b/libraries/dhtmlxgantt/sources/locale/locale_be.js.map
deleted file mode 100644
index 5210a7a..0000000
--- a/libraries/dhtmlxgantt/sources/locale/locale_be.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"locale_be.js","sources":["locale_be.js"],"names":["gantt","locale","date","month_full","month_short","day_full","day_short","labels","dhx_cal_today_button","day_tab","week_tab","month_tab","new_event","icon_save","icon_cancel","icon_details","icon_edit","icon_delete","confirm_closing","confirm_deleting","section_description","section_time","section_type","column_text","column_start_date","column_duration","column_add","link","confirm_link_deleting","link_start","link_end","type_task","type_project","type_milestone","minutes","hours","days","weeks","months","years"],"mappings":";;;;;;;;AAQAA,MAAMC,QACLC,MACCC,YAAa,WAAY,OAAQ,UAAW,WAAY,MAAO,UAAW,SAAU,UAAW,WAAY,aAAc,WAAY,WACrIC,aAAc,QAAS,MAAO,MAAO,OAAQ,MAAO,MAAO,MAAO,OAAQ,MAAO,OAAQ,OAAQ,QACjGC,UAAY,UAAW,aAAc,UAAW,SAAU,SAAU,UAAW,UAC/EC,WAAY,KAAM,KAAM,MAAO,KAAM,MAAO,KAAM,OAEnDC,QACCC,qBAAsB,QACtBC,QAAS,QACTC,SAAU,UACVC,UAAW,QACXC,UAAW,eACXC,UAAW;AACXC,YAAa,WACbC,aAAc,SACdC,UAAW,UACXC,YAAa,WACbC,gBAAiB,GACjBC,iBAAkB,gDAClBC,oBAAqB,WACrBC,aAAc,cACdC,aAAa,MAGPC,YAAc,SACdC,kBAAoB,UACpBC,gBAAkB,SAClBC,WAAa,GAGnBC,KAAM,SACNC,sBAAsB,iBACtBC,WAAY,YACZC,SAAU,UAEVC,UAAW,OACXC,aAAc,UACdC,eAAgB,YAGVC,QAAS;AACTC,MAAO,UACPC,KAAM,QACNC,MAAO,UACPC,OAAQ,QACRC,MAAO"}
\ No newline at end of file
diff --git a/libraries/dhtmlxgantt/sources/locale/locale_ca.js b/libraries/dhtmlxgantt/sources/locale/locale_ca.js
deleted file mode 100644
index 9175634..0000000
--- a/libraries/dhtmlxgantt/sources/locale/locale_ca.js
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
-@license
-
-dhtmlxGantt v.3.2.0 Stardard
-This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited.
-
-(c) Dinamenta, UAB.
-*/
-/*
- @Traducido por Vicente Adria Bohigues - vicenteadria@hotmail.com
- */
-gantt.locale = {
- date: {
- month_full: ["Gener", "Febrer", "Març", "Abril", "Maig", "Juny", "Juliol", "Agost", "Setembre", "Octubre", "Novembre", "Desembre"],
- month_short: ["Gen", "Feb", "Mar", "Abr", "Mai", "Jun", "Jul", "Ago", "Set", "Oct", "Nov", "Des"],
- day_full: ["Diumenge", "Dilluns", "Dimarts", "Dimecres", "Dijous", "Divendres", "Dissabte"],
- day_short: ["Dg", "Dl", "Dm", "Dc", "Dj", "Dv", "Ds"]
- },
- labels: {
- dhx_cal_today_button: "Hui",
- day_tab: "Dia",
- week_tab: "Setmana",
- month_tab: "Mes",
- new_event: "Nou esdeveniment",
- icon_save: "Guardar",
- icon_cancel: "Cancel·lar",
- icon_details: "Detalls",
- icon_edit: "Editar",
- icon_delete: "Esborrar",
- confirm_closing: "", //"Els seus canvis es perdràn, continuar ?"
- confirm_deleting: "L'esdeveniment s'esborrarà definitivament, continuar ?",
- section_description: "Descripció",
- section_time: "Periode de temps",
- section_type:"Type",
- /* grid columns */
-
- column_text : "Task name",
- column_start_date : "Start time",
- column_duration : "Duration",
- column_add : "",
-
- /* link confirmation */
- link: "Link",
- confirm_link_deleting:"will be deleted",
- link_start: " (start)",
- link_end: " (end)",
-
- type_task: "Task",
- type_project: "Project",
- type_milestone: "Milestone",
-
-
- minutes: "Minutes",
- hours: "Hours",
- days: "Days",
- weeks: "Week",
- months: "Months",
- years: "Years"
- }
-};
-
diff --git a/libraries/dhtmlxgantt/sources/locale/locale_ca.js.map b/libraries/dhtmlxgantt/sources/locale/locale_ca.js.map
deleted file mode 100644
index 6a60785..0000000
--- a/libraries/dhtmlxgantt/sources/locale/locale_ca.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"locale_ca.js","sources":["locale_ca.js"],"names":["gantt","locale","date","month_full","month_short","day_full","day_short","labels","dhx_cal_today_button","day_tab","week_tab","month_tab","new_event","icon_save","icon_cancel","icon_details","icon_edit","icon_delete","confirm_closing","confirm_deleting","section_description","section_time","section_type","column_text","column_start_date","column_duration","column_add","link","confirm_link_deleting","link_start","link_end","type_task","type_project","type_milestone","minutes","hours","days","weeks","months","years"],"mappings":";;;;;;;;AAWAA,MAAMC,QACLC,MACCC,YAAa,QAAS,SAAU,OAAQ,QAAS,OAAQ,OAAQ,SAAU,QAAS,WAAY,UAAW,WAAY,YACvHC,aAAc,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAC3FC,UAAW,WAAY,UAAW,UAAW,WAAY,SAAU,YAAa,YAChFC,WAAY,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,OAEjDC,QACCC,qBAAsB,MACtBC,QAAS,MACTC,SAAU,UACVC,UAAW,MACXC,UAAW,mBACXC,UAAW,UACXC,YAAa;AACbC,aAAc,UACdC,UAAW,SACXC,YAAa,WACbC,gBAAiB,GACjBC,iBAAkB,yDAClBC,oBAAqB,aACrBC,aAAc,mBACdC,aAAa,OAGPC,YAAc,YACdC,kBAAoB,aACpBC,gBAAkB,WAClBC,WAAa,GAGnBC,KAAM,OACNC,sBAAsB,kBACtBC,WAAY,WACZC,SAAU,SAEVC,UAAW,OACXC,aAAc,UACdC,eAAgB,YAGVC,QAAS;AACTC,MAAO,QACPC,KAAM,OACNC,MAAO,OACPC,OAAQ,SACRC,MAAO"}
\ No newline at end of file
diff --git a/libraries/dhtmlxgantt/sources/locale/locale_cn.js b/libraries/dhtmlxgantt/sources/locale/locale_cn.js
deleted file mode 100644
index cb9a970..0000000
--- a/libraries/dhtmlxgantt/sources/locale/locale_cn.js
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
-@license
-
-dhtmlxGantt v.3.2.0 Stardard
-This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited.
-
-(c) Dinamenta, UAB.
-*/
-/*
-Translation by FreezeSoul
-*/
-gantt.config.day_date="%M %d日 %D";
-gantt.config.default_date="%Y年 %M %d日";
-gantt.config.month_date="%Y年 %M";
-
-gantt.locale={
- date: {
- month_full: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"],
- month_short: ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"],
- day_full: ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"],
- day_short: ["日", "一", "二", "三", "四", "五", "六"]
- },
- labels: {
- dhx_cal_today_button: "今天",
- day_tab: "日",
- week_tab: "周",
- month_tab: "月",
- new_event: "新建日程",
- icon_save: "保存",
- icon_cancel: "关闭",
- icon_details: "详细",
- icon_edit: "编辑",
- icon_delete: "删除",
- confirm_closing: "请确认是否撤销修改!", //Your changes will be lost, are your sure?
- confirm_deleting: "是否删除日程?",
- section_description: "描述",
- section_time: "时间范围",
- section_type:"Type",
- /* grid columns */
-
- column_text : "Task name",
- column_start_date : "Start time",
- column_duration : "Duration",
- column_add : "",
-
- /* link confirmation */
- link: "Link",
- confirm_link_deleting:"will be deleted",
- link_start: " (start)",
- link_end: " (end)",
-
- type_task: "Task",
- type_project: "Project",
- type_milestone: "Milestone",
-
- minutes: "Minutes",
- hours: "Hours",
- days: "Days",
- weeks: "Week",
- months: "Months",
- years: "Years"
- }
-};
-
diff --git a/libraries/dhtmlxgantt/sources/locale/locale_cn.js.map b/libraries/dhtmlxgantt/sources/locale/locale_cn.js.map
deleted file mode 100644
index 5c50547..0000000
--- a/libraries/dhtmlxgantt/sources/locale/locale_cn.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"locale_cn.js","sources":["locale_cn.js"],"names":["gantt","config","day_date","default_date","month_date","locale","date","month_full","month_short","day_full","day_short","labels","dhx_cal_today_button","day_tab","week_tab","month_tab","new_event","icon_save","icon_cancel","icon_details","icon_edit","icon_delete","confirm_closing","confirm_deleting","section_description","section_time","section_type","column_text","column_start_date","column_duration","column_add","link","confirm_link_deleting","link_start","link_end","type_task","type_project","type_milestone","minutes","hours","days","weeks","months","years"],"mappings":";;;;;;;;AAWAA,MAAMC,OAAOC,SAAS,YACtBF,MAAMC,OAAOE,aAAa,aAC1BH,MAAMC,OAAOG,WAAW,SAExBJ,MAAMK,QACLC,MACCC,YAAa,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,OAChFC,aAAc,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,OAClFC,UAAW,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OACrDC,WAAY,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAE3CC,QACCC,qBAAsB,KACtBC,QAAS,IACTC,SAAU,IACVC,UAAW,IACXC,UAAW,OACXC,UAAW,KACXC,YAAa,KACbC,aAAc;AACdC,UAAW,KACXC,YAAa,KACbC,gBAAiB,aACjBC,iBAAkB,UAClBC,oBAAqB,KACrBC,aAAc,OACdC,aAAa,OAGPC,YAAc,YACdC,kBAAoB,aACpBC,gBAAkB,WAClBC,WAAa,GAGnBC,KAAM,OACNC,sBAAsB,kBACtBC,WAAY,WACZC,SAAU,SAEVC,UAAW,OACXC,aAAc,UACdC,eAAgB,YAEVC,QAAS,UACTC,MAAO,QACPC,KAAM,OACNC,MAAO,OACPC,OAAQ,SACRC,MAAO"}
\ No newline at end of file
diff --git a/libraries/dhtmlxgantt/sources/locale/locale_cs.js b/libraries/dhtmlxgantt/sources/locale/locale_cs.js
deleted file mode 100644
index 43644b7..0000000
--- a/libraries/dhtmlxgantt/sources/locale/locale_cs.js
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
-@license
-
-dhtmlxGantt v.3.2.0 Stardard
-This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited.
-
-(c) Dinamenta, UAB.
-*/
-gantt.locale = {
- date: {
- month_full: ["Leden", "Únor", "Březen", "Duben", "Květen", "Červen", "Červenec", "Srpen", "Září", "Říjen", "Listopad", "Prosinec"],
- month_short: ["Led", "Ún", "Bře", "Dub", "Kvě", "Čer", "Čec", "Srp", "Září", "Říj", "List", "Pro"],
- day_full: ["Neděle", "Pondělí", "Úterý", "Středa", "Čtvrtek", "Pátek", "Sobota"],
- day_short: ["Ne", "Po", "Út", "St", "Čt", "Pá", "So"]
- },
- labels: {
- dhx_cal_today_button: "Dnes",
- day_tab: "Den",
- week_tab: "Týden",
- month_tab: "Měsíc",
- new_event: "Nová událost",
- icon_save: "Uložit",
- icon_cancel: "Zpět",
- icon_details: "Detail",
- icon_edit: "Edituj",
- icon_delete: "Smazat",
- confirm_closing: "", //Vaše změny budou ztraceny, opravdu ?
- confirm_deleting: "Událost bude trvale smazána, opravdu?",
- section_description: "Poznámky",
- section_time: "Doba platnosti",
- section_type:"Type",
- /* grid columns */
-
- column_text : "Task name",
- column_start_date : "Start time",
- column_duration : "Duration",
- column_add : "",
-
- /* link confirmation */
- link: "Link",
- confirm_link_deleting:"will be deleted",
- link_start: " (start)",
- link_end: " (end)",
-
- type_task: "Task",
- type_project: "Project",
- type_milestone: "Milestone",
-
-
- minutes: "Minutes",
- hours: "Hours",
- days: "Days",
- weeks: "Week",
- months: "Months",
- years: "Years"
- }
-};
-
diff --git a/libraries/dhtmlxgantt/sources/locale/locale_cs.js.map b/libraries/dhtmlxgantt/sources/locale/locale_cs.js.map
deleted file mode 100644
index ef3cdb9..0000000
--- a/libraries/dhtmlxgantt/sources/locale/locale_cs.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"locale_cs.js","sources":["locale_cs.js"],"names":["gantt","locale","date","month_full","month_short","day_full","day_short","labels","dhx_cal_today_button","day_tab","week_tab","month_tab","new_event","icon_save","icon_cancel","icon_details","icon_edit","icon_delete","confirm_closing","confirm_deleting","section_description","section_time","section_type","column_text","column_start_date","column_duration","column_add","link","confirm_link_deleting","link_start","link_end","type_task","type_project","type_milestone","minutes","hours","days","weeks","months","years"],"mappings":";;;;;;;;AAQAA,MAAMC,QACLC,MACCC,YAAa,QAAS,OAAQ,SAAU,QAAS,SAAU,SAAU,WAAY,QAAS,OAAQ,QAAS,WAAY,YACvHC,aAAc,MAAO,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,MAAO,OAAQ,OAC5FC,UAAW,SAAU,UAAW,QAAS,SAAU,UAAW,QAAS,UACvEC,WAAY,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,OAEjDC,QACCC,qBAAsB,OACtBC,QAAS,MACTC,SAAU,QACVC,UAAW,QACXC,UAAW,eACXC,UAAW,SACXC,YAAa,OACbC,aAAc;AACdC,UAAW,SACXC,YAAa,SACbC,gBAAiB,GACjBC,iBAAkB,wCAClBC,oBAAqB,WACrBC,aAAc,iBACdC,aAAa,OAGPC,YAAc,YACdC,kBAAoB,aACpBC,gBAAkB,WAClBC,WAAa,GAGnBC,KAAM,OACNC,sBAAsB,kBACtBC,WAAY,WACZC,SAAU,SAEVC,UAAW,OACXC,aAAc,UACdC,eAAgB,YAGVC,QAAS,UACTC,MAAO,QACPC,KAAM,OACNC,MAAO;AACPC,OAAQ,SACRC,MAAO"}
\ No newline at end of file
diff --git a/libraries/dhtmlxgantt/sources/locale/locale_da.js b/libraries/dhtmlxgantt/sources/locale/locale_da.js
deleted file mode 100644
index 5db95e3..0000000
--- a/libraries/dhtmlxgantt/sources/locale/locale_da.js
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
-@license
-
-dhtmlxGantt v.3.2.0 Stardard
-This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited.
-
-(c) Dinamenta, UAB.
-*/
-gantt.locale = {
- date: {
- month_full: ["Januar", "Februar", "Marts", "April", "Maj", "Juni", "Juli", "August", "September", "Oktober", "November", "December"],
- month_short: ["Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec"],
- day_full: ["Søndag", "Mandag", "Tirsdag", "Onsdag", "Torsdag", "Fredag", "Lørdag"],
- day_short: ["Søn", "Man", "Tir", "Ons", "Tor", "Fre", "Lør"]
- },
- labels: {
- dhx_cal_today_button: "Idag",
- day_tab: "Dag",
- week_tab: "Uge",
- month_tab: "Måned",
- new_event: "Ny begivenhed",
- icon_save: "Gem",
- icon_cancel: "Fortryd",
- icon_details: "Detaljer",
- icon_edit: "Tilret",
- icon_delete: "Slet",
- confirm_closing: "Dine rettelser vil gå tabt.. Er dy sikker?", //Your changes will be lost, are your sure ?
- confirm_deleting: "Bigivenheden vil blive slettet permanent. Er du sikker?",
- section_description: "Beskrivelse",
- section_time: "Tidsperiode",
- section_type:"Type",
- /* grid columns */
-
- column_text : "Task name",
- column_start_date : "Start time",
- column_duration : "Duration",
- column_add : "",
-
- /* link confirmation */
- link: "Link",
- confirm_link_deleting:"will be deleted",
- link_start: " (start)",
- link_end: " (end)",
-
- type_task: "Task",
- type_project: "Project",
- type_milestone: "Milestone",
-
-
- minutes: "Minutes",
- hours: "Hours",
- days: "Days",
- weeks: "Week",
- months: "Months",
- years: "Years"
- }
-};
-
diff --git a/libraries/dhtmlxgantt/sources/locale/locale_da.js.map b/libraries/dhtmlxgantt/sources/locale/locale_da.js.map
deleted file mode 100644
index 72ca8ff..0000000
--- a/libraries/dhtmlxgantt/sources/locale/locale_da.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"locale_da.js","sources":["locale_da.js"],"names":["gantt","locale","date","month_full","month_short","day_full","day_short","labels","dhx_cal_today_button","day_tab","week_tab","month_tab","new_event","icon_save","icon_cancel","icon_details","icon_edit","icon_delete","confirm_closing","confirm_deleting","section_description","section_time","section_type","column_text","column_start_date","column_duration","column_add","link","confirm_link_deleting","link_start","link_end","type_task","type_project","type_milestone","minutes","hours","days","weeks","months","years"],"mappings":";;;;;;;;AAQAA,MAAMC,QACLC,MACCC,YAAa,SAAU,UAAW,QAAS,QAAS,MAAO,OAAQ,OAAQ,SAAU,YAAa,UAAW,WAAY,YACzHC,aAAc,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAC3FC,UAAW,SAAU,SAAU,UAAW,SAAU,UAAW,SAAU,UACzEC,WAAY,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,QAEvDC,QACCC,qBAAsB,OACtBC,QAAS,MACTC,SAAU,MACVC,UAAW,QACXC,UAAW,gBACXC,UAAW,MACXC,YAAa;AACbC,aAAc,WACdC,UAAW,SACXC,YAAa,OACbC,gBAAiB,6CACjBC,iBAAkB,0DAClBC,oBAAqB,cACrBC,aAAc,cACdC,aAAa,OAGPC,YAAc,YACdC,kBAAoB,aACpBC,gBAAkB,WAClBC,WAAa,GAGnBC,KAAM,OACNC,sBAAsB,kBACtBC,WAAY,WACZC,SAAU,SAEVC,UAAW,OACXC,aAAc;AACdC,eAAgB,YAGVC,QAAS,UACTC,MAAO,QACPC,KAAM,OACNC,MAAO,OACPC,OAAQ,SACRC,MAAO"}
\ No newline at end of file
diff --git a/libraries/dhtmlxgantt/sources/locale/locale_de.js b/libraries/dhtmlxgantt/sources/locale/locale_de.js
deleted file mode 100644
index ebdc1f3..0000000
--- a/libraries/dhtmlxgantt/sources/locale/locale_de.js
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
-@license
-
-dhtmlxGantt v.3.2.0 Stardard
-This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited.
-
-(c) Dinamenta, UAB.
-*/
-gantt.locale = {
- date: {
- month_full: [" Januar", " Februar", " März ", " April", " Mai", " Juni", " Juli", " August", " September ", " Oktober", " November ", " Dezember"],
- month_short: ["Jan", "Feb", "Mär", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec"],
- day_full: [ "Sonntag", "Montag", "Dienstag", " Mittwoch", " Donnerstag", "Freitag", "Samstag"],
- day_short: ["So", "Mo", "Di", "Mi", "Do", "Fr", "Sa"]
- },
- labels: {
- dhx_cal_today_button: "Heute",
- day_tab: "Tag",
- week_tab: "Woche",
- month_tab: "Monat",
- new_event: "neuer Eintrag",
- icon_save: "Speichern",
- icon_cancel: "Abbrechen",
- icon_details: "Details",
- icon_edit: "Ändern",
- icon_delete: "Löschen",
- confirm_closing: "", //"Ihre Veränderungen werden verloren sein, wollen Sie ergänzen? "
- confirm_deleting: "Der Eintrag wird gelöscht",
- section_description: "Beschreibung",
- section_time: "Zeitspanne",
- section_type:"Type",
- /* grid columns */
-
- column_text : "Task-Namen",
- column_start_date : "Startzeit",
- column_duration : "Dauer",
- column_add : "",
-
- /* link confirmation */
- link: "Link",
- confirm_link_deleting:"werden gelöscht",
- link_start: "(starten)",
- link_end: "(ende)",
-
- type_task: "Task",
- type_project: "Project",
- type_milestone: "Milestone",
-
-
- minutes: "Minuten",
- hours: "Stunden",
- days: "Tage",
- weeks: "Wochen",
- months: "Monate",
- years: "Jahre"
- }
-};
-
diff --git a/libraries/dhtmlxgantt/sources/locale/locale_de.js.map b/libraries/dhtmlxgantt/sources/locale/locale_de.js.map
deleted file mode 100644
index 8d5fcac..0000000
--- a/libraries/dhtmlxgantt/sources/locale/locale_de.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"locale_de.js","sources":["locale_de.js"],"names":["gantt","locale","date","month_full","month_short","day_full","day_short","labels","dhx_cal_today_button","day_tab","week_tab","month_tab","new_event","icon_save","icon_cancel","icon_details","icon_edit","icon_delete","confirm_closing","confirm_deleting","section_description","section_time","section_type","column_text","column_start_date","column_duration","column_add","link","confirm_link_deleting","link_start","link_end","type_task","type_project","type_milestone","minutes","hours","days","weeks","months","years"],"mappings":";;;;;;;;AAQAA,MAAMC,QACLC,MACCC,YAAa,UAAW,WAAY,SAAU,SAAU,OAAQ,QAAS,QAAS,UAAW,cAAe,WAAY,aAAc,aACtIC,aAAc,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAC3FC,UAAY,UAAW,SAAU,WAAY,YAAa,cAAe,UAAW,WACpFC,WAAY,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,OAEjDC,QACCC,qBAAsB,QACtBC,QAAS,MACTC,SAAU,QACVC,UAAW,QACXC,UAAW,gBACXC,UAAW;AACXC,YAAa,YACbC,aAAc,UACdC,UAAW,SACXC,YAAa,UACbC,gBAAiB,GACjBC,iBAAkB,4BAClBC,oBAAqB,eACrBC,aAAc,aACdC,aAAa,OAGPC,YAAc,aACdC,kBAAoB,YACpBC,gBAAkB,QAClBC,WAAa,GAGnBC,KAAM,OACNC,sBAAsB,kBACtBC,WAAY,YACZC,SAAU,SAEVC,UAAW,OACXC,aAAc,UACdC,eAAgB,YAGVC,QAAS;AACTC,MAAO,UACPC,KAAM,OACNC,MAAO,SACPC,OAAQ,SACRC,MAAO"}
\ No newline at end of file
diff --git a/libraries/dhtmlxgantt/sources/locale/locale_el.js b/libraries/dhtmlxgantt/sources/locale/locale_el.js
deleted file mode 100644
index 8384041..0000000
--- a/libraries/dhtmlxgantt/sources/locale/locale_el.js
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
-@license
-
-dhtmlxGantt v.3.2.0 Stardard
-This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited.
-
-(c) Dinamenta, UAB.
-*/
-gantt.locale = {
- date: {
- month_full: ["Ιανουάριος", "Φεβρουάριος", "Μάρτιος", "Απρίλιος", "Μάϊος", "Ιούνιος", "Ιούλιος", "Αύγουστος", "Σεπτέμβριος", "Οκτώβριος", "Νοέμβριος", "Δεκέμβριος"],
- month_short: ["ΙΑΝ", "ΦΕΒ", "ΜΑΡ", "ΑΠΡ", "ΜΑΙ", "ΙΟΥΝ", "ΙΟΥΛ", "ΑΥΓ", "ΣΕΠ", "ΟΚΤ", "ΝΟΕ", "ΔΕΚ"],
- day_full: ["Κυριακή", "Δευτέρα", "Τρίτη", "Τετάρτη", "Πέμπτη", "Παρασκευή", "Κυριακή"],
- day_short: ["ΚΥ", "ΔΕ", "ΤΡ", "ΤΕ", "ΠΕ", "ΠΑ", "ΣΑ"]
- },
- labels: {
- dhx_cal_today_button: "Σήμερα",
- day_tab: "Ημέρα",
- week_tab: "Εβδομάδα",
- month_tab: "Μήνας",
- new_event: "Νέο έργο",
- icon_save: "Αποθήκευση",
- icon_cancel: "Άκυρο",
- icon_details: "Λεπτομέρειες",
- icon_edit: "Επεξεργασία",
- icon_delete: "Διαγραφή",
- confirm_closing: "", //Your changes will be lost, are your sure ?
- confirm_deleting: "Το έργο θα διαγραφεί οριστικά. Θέλετε να συνεχίσετε;",
- section_description: "Περιγραφή",
- section_time: "Χρονική περίοδος",
- section_type:"Type",
- /* grid columns */
-
- column_text : "Task name",
- column_start_date : "Start time",
- column_duration : "Duration",
- column_add : "",
-
- /* link confirmation */
- link: "Link",
- confirm_link_deleting:"will be deleted",
- link_start: " (start)",
- link_end: " (end)",
-
- type_task: "Task",
- type_project: "Project",
- type_milestone: "Milestone",
-
-
- minutes: "Minutes",
- hours: "Hours",
- days: "Days",
- weeks: "Week",
- months: "Months",
- years: "Years"
- }
-};
-
diff --git a/libraries/dhtmlxgantt/sources/locale/locale_el.js.map b/libraries/dhtmlxgantt/sources/locale/locale_el.js.map
deleted file mode 100644
index 05cb995..0000000
--- a/libraries/dhtmlxgantt/sources/locale/locale_el.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"locale_el.js","sources":["locale_el.js"],"names":["gantt","locale","date","month_full","month_short","day_full","day_short","labels","dhx_cal_today_button","day_tab","week_tab","month_tab","new_event","icon_save","icon_cancel","icon_details","icon_edit","icon_delete","confirm_closing","confirm_deleting","section_description","section_time","section_type","column_text","column_start_date","column_duration","column_add","link","confirm_link_deleting","link_start","link_end","type_task","type_project","type_milestone","minutes","hours","days","weeks","months","years"],"mappings":";;;;;;;;AAQAA,MAAMC,QACLC,MACCC,YAAa,aAAc,cAAe,UAAW,WAAY,QAAS,UAAW,UAAW,YAAa,cAAe,YAAa,YAAa,cACtJC,aAAc,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,OAAQ,MAAO,MAAO,MAAO,MAAO,OAC7FC,UAAW,UAAW,UAAW,QAAS,UAAW,SAAU,YAAa,WAC5EC,WAAY,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,OAEjDC,QACCC,qBAAsB,SACtBC,QAAS,QACTC,SAAU,WACVC,UAAW,QACXC,UAAW;AACXC,UAAW,aACXC,YAAa,QACbC,aAAc,eACdC,UAAW,cACXC,YAAa,WACbC,gBAAiB,GACjBC,iBAAkB,uDAClBC,oBAAqB,YACrBC,aAAc,mBACdC,aAAa,OAGPC,YAAc,YACdC,kBAAoB,aACpBC,gBAAkB,WAClBC,WAAa,GAGnBC,KAAM,OACNC,sBAAsB,kBACtBC,WAAY,WACZC,SAAU,SAEVC,UAAW,OACXC,aAAc;AACdC,eAAgB,YAGVC,QAAS,UACTC,MAAO,QACPC,KAAM,OACNC,MAAO,OACPC,OAAQ,SACRC,MAAO"}
\ No newline at end of file
diff --git a/libraries/dhtmlxgantt/sources/locale/locale_es.js b/libraries/dhtmlxgantt/sources/locale/locale_es.js
deleted file mode 100644
index 7c8d9b4..0000000
--- a/libraries/dhtmlxgantt/sources/locale/locale_es.js
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
-@license
-
-dhtmlxGantt v.3.2.0 Stardard
-This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited.
-
-(c) Dinamenta, UAB.
-*/
-/*
- @Autor Manuel Fernandez Panzuela - www.mfernandez.es
- */
-gantt.locale = {
- date: {
- month_full: ["Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre"],
- month_short: ["Ene", "Feb", "Mar", "Abr", "May", "Jun", "Jul", "Ago", "Sep", "Oct", "Nov", "Dic"],
- day_full: ["Domingo", "Lunes", "Martes", "Miércoles", "Jueves", "Viernes", "Sábado"],
- day_short: ["Dom", "Lun", "Mar", "Mié", "Jue", "Vie", "Sáb"]
- },
- labels: {
- dhx_cal_today_button: "Hoy",
- day_tab: "Día",
- week_tab: "Semana",
- month_tab: "Mes",
- new_event: "Nuevo evento",
- icon_save: "Guardar",
- icon_cancel: "Cancelar",
- icon_details: "Detalles",
- icon_edit: "Editar",
- icon_delete: "Eliminar",
- confirm_closing: "", //"Sus cambios se perderán, continuar ?"
- confirm_deleting: "El evento se borrará definitivamente, ¿continuar?",
- section_description: "Descripción",
- section_time: "Período",
- section_type:"Type",
- /* grid columns */
-
- column_text : "Task name",
- column_start_date : "Start time",
- column_duration : "Duration",
- column_add : "",
-
- /* link confirmation */
- link: "Link",
- confirm_link_deleting:"will be deleted",
- link_start: " (start)",
- link_end: " (end)",
-
- type_task: "Task",
- type_project: "Project",
- type_milestone: "Milestone",
-
-
- minutes: "Minutes",
- hours: "Hours",
- days: "Days",
- weeks: "Week",
- months: "Months",
- years: "Years"
- }
-};
-
diff --git a/libraries/dhtmlxgantt/sources/locale/locale_es.js.map b/libraries/dhtmlxgantt/sources/locale/locale_es.js.map
deleted file mode 100644
index 150e5cd..0000000
--- a/libraries/dhtmlxgantt/sources/locale/locale_es.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"locale_es.js","sources":["locale_es.js"],"names":["gantt","locale","date","month_full","month_short","day_full","day_short","labels","dhx_cal_today_button","day_tab","week_tab","month_tab","new_event","icon_save","icon_cancel","icon_details","icon_edit","icon_delete","confirm_closing","confirm_deleting","section_description","section_time","section_type","column_text","column_start_date","column_duration","column_add","link","confirm_link_deleting","link_start","link_end","type_task","type_project","type_milestone","minutes","hours","days","weeks","months","years"],"mappings":";;;;;;;;AAWAA,MAAMC,QACLC,MACCC,YAAa,QAAS,UAAW,QAAS,QAAS,OAAQ,QAAS,QAAS,SAAU,aAAc,UAAW,YAAa,aAC7HC,aAAc,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAC3FC,UAAW,UAAW,QAAS,SAAU,YAAa,SAAU,UAAW,UAC3EC,WAAY,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,QAEvDC,QACCC,qBAAsB,MACtBC,QAAS,MACTC,SAAU,SACVC,UAAW,MACXC,UAAW,eACXC,UAAW,UACXC,YAAa;AACbC,aAAc,WACdC,UAAW,SACXC,YAAa,WACbC,gBAAiB,GACjBC,iBAAkB,oDAClBC,oBAAqB,cACrBC,aAAc,UACdC,aAAa,OAGPC,YAAc,YACdC,kBAAoB,aACpBC,gBAAkB,WAClBC,WAAa,GAGnBC,KAAM,OACNC,sBAAsB,kBACtBC,WAAY,WACZC,SAAU,SAEVC,UAAW,OACXC,aAAc,UACdC,eAAgB,YAGVC,QAAS;AACTC,MAAO,QACPC,KAAM,OACNC,MAAO,OACPC,OAAQ,SACRC,MAAO"}
\ No newline at end of file
diff --git a/libraries/dhtmlxgantt/sources/locale/locale_fi.js b/libraries/dhtmlxgantt/sources/locale/locale_fi.js
deleted file mode 100644
index 106bf76..0000000
--- a/libraries/dhtmlxgantt/sources/locale/locale_fi.js
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
-@license
-
-dhtmlxGantt v.3.2.0 Stardard
-This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited.
-
-(c) Dinamenta, UAB.
-*/
-gantt.locale = {
- date: {
- month_full: ["Tammikuu", "Helmikuu", "Maaliskuu", "Huhtikuu", "Toukokuu", "Kesäkuu", "Heinäkuu", "Elokuu", "Syyskuu", "Lokakuu", "Marraskuu", "Joulukuu"],
- month_short: ["Tam", "Hel", "Maa", "Huh", "Tou", "Kes", "Hei", "Elo", "Syy", "Lok", "Mar", "Jou"],
- day_full: ["Sunnuntai", "Maanantai", "Tiistai", "Keskiviikko", "Torstai", "Perjantai", "Lauantai"],
- day_short: ["Su", "Ma", "Ti", "Ke", "To", "Pe", "La"]
- },
- labels: {
- dhx_cal_today_button: "Tänään",
- day_tab: "Päivä",
- week_tab: "Viikko",
- month_tab: "Kuukausi",
- new_event: "Uusi tapahtuma",
- icon_save: "Tallenna",
- icon_cancel: "Peru",
- icon_details: "Tiedot",
- icon_edit: "Muokkaa",
- icon_delete: "Poista",
- confirm_closing: "", //Your changes will be lost, are your sure ?
- confirm_deleting: "Haluatko varmasti poistaa tapahtuman?",
- section_description: "Kuvaus",
- section_time: "Aikajakso",
- section_type:"Type",
- /* grid columns */
-
- column_text : "Task name",
- column_start_date : "Start time",
- column_duration : "Duration",
- column_add : "",
-
- /* link confirmation */
- link: "Link",
- confirm_link_deleting:"will be deleted",
- link_start: " (start)",
- link_end: " (end)",
-
- type_task: "Task",
- type_project: "Project",
- type_milestone: "Milestone",
-
-
- minutes: "Minutes",
- hours: "Hours",
- days: "Days",
- weeks: "Week",
- months: "Months",
- years: "Years"
- }
-};
-
diff --git a/libraries/dhtmlxgantt/sources/locale/locale_fi.js.map b/libraries/dhtmlxgantt/sources/locale/locale_fi.js.map
deleted file mode 100644
index 08179ad..0000000
--- a/libraries/dhtmlxgantt/sources/locale/locale_fi.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"locale_fi.js","sources":["locale_fi.js"],"names":["gantt","locale","date","month_full","month_short","day_full","day_short","labels","dhx_cal_today_button","day_tab","week_tab","month_tab","new_event","icon_save","icon_cancel","icon_details","icon_edit","icon_delete","confirm_closing","confirm_deleting","section_description","section_time","section_type","column_text","column_start_date","column_duration","column_add","link","confirm_link_deleting","link_start","link_end","type_task","type_project","type_milestone","minutes","hours","days","weeks","months","years"],"mappings":";;;;;;;;AAQAA,MAAMC,QACLC,MACCC,YAAa,WAAY,WAAY,YAAa,WAAY,WAAY,eAAgB,gBAAiB,SAAU,UAAW,UAAW,YAAa,YACxJC,aAAc,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAC3FC,UAAW,YAAa,YAAa,UAAW,cAAe,UAAW,YAAa,YACvFC,WAAY,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,OAEjDC,QACCC,qBAAsB,SACtBC,QAAS,QACTC,SAAU,SACVC,UAAW,WACXC,UAAW;AACXC,UAAW,WACXC,YAAa,OACbC,aAAc,SACdC,UAAW,UACXC,YAAa,SACbC,gBAAiB,GACjBC,iBAAkB,wCAClBC,oBAAqB,SACrBC,aAAc,YACdC,aAAa,OAGPC,YAAc,YACdC,kBAAoB,aACpBC,gBAAkB,WAClBC,WAAa,GAGnBC,KAAM,OACNC,sBAAsB,kBACtBC,WAAY,WACZC,SAAU,SAEVC,UAAW,OACXC,aAAc,UACdC,eAAgB;AAGVC,QAAS,UACTC,MAAO,QACPC,KAAM,OACNC,MAAO,OACPC,OAAQ,SACRC,MAAO"}
\ No newline at end of file
diff --git a/libraries/dhtmlxgantt/sources/locale/locale_fr.js b/libraries/dhtmlxgantt/sources/locale/locale_fr.js
deleted file mode 100644
index ac88819..0000000
--- a/libraries/dhtmlxgantt/sources/locale/locale_fr.js
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
-@license
-
-dhtmlxGantt v.3.2.0 Stardard
-This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited.
-
-(c) Dinamenta, UAB.
-*/
-gantt.locale = {
- date: {
- month_full: ["Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre"],
- month_short: ["Jan", "Fév", "Mar", "Avr", "Mai", "Juin", "Juil", "Aoû", "Sep", "Oct", "Nov", "Déc"],
- day_full: ["Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi"],
- day_short: ["Dim", "Lun", "Mar", "Mer", "Jeu", "Ven", "Sam"]
- },
- labels:{
- new_task:"Nouvelle tâche",
- icon_save:"Enregistrer",
- icon_cancel:"Annuler",
- icon_details:"Détails",
- icon_edit:"Modifier",
- icon_delete:"Effacer",
- confirm_closing:"",//Vos modifications seront perdus, êtes-vous sûr ?
- confirm_deleting:"L'événement sera effacé sans appel, êtes-vous sûr ?",
-
- section_description:"Description",
- section_time:"Période",
- section_type:"Type",
-
- /* grid columns */
-
- column_text : "Nom de la tâche",
- column_start_date : "Date initiale",
- column_duration : "Durée",
- column_add : "",
-
-
- /* link confirmation */
- link: "Le lien",
- confirm_link_deleting:"sera supprimé",
- link_start: "(début)",
- link_end: "(fin)",
-
- type_task: "Task",
- type_project: "Project",
- type_milestone: "Milestone",
-
-
- minutes: "Minutes",
- hours: "Heures",
- days: "Jours",
- weeks: "Semaines",
- months: "Mois",
- years: "Années"
- }
-};
diff --git a/libraries/dhtmlxgantt/sources/locale/locale_fr.js.map b/libraries/dhtmlxgantt/sources/locale/locale_fr.js.map
deleted file mode 100644
index 8ffaa49..0000000
--- a/libraries/dhtmlxgantt/sources/locale/locale_fr.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"locale_fr.js","sources":["locale_fr.js"],"names":["gantt","locale","date","month_full","month_short","day_full","day_short","labels","new_task","icon_save","icon_cancel","icon_details","icon_edit","icon_delete","confirm_closing","confirm_deleting","section_description","section_time","section_type","column_text","column_start_date","column_duration","column_add","link","confirm_link_deleting","link_start","link_end","type_task","type_project","type_milestone","minutes","hours","days","weeks","months","years"],"mappings":";;;;;;;;AAQAA,MAAMC,QACLC,MACCC,YAAa,UAAW,UAAW,OAAQ,QAAS,MAAO,OAAQ,UAAW,OAAQ,YAAa,UAAW,WAAY,YAC1HC,aAAc,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,OAAQ,MAAO,MAAO,MAAO,MAAO,OAC7FC,UAAW,WAAY,QAAS,QAAS,WAAY,QAAS,WAAY,UAC1EC,WAAY,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,QAEvDC,QACCC,SAAS,iBACTC,UAAU,cACVC,YAAY,UACZC,aAAa,UACbC,UAAU,WACVC,YAAY;AACZC,gBAAgB,GAChBC,iBAAiB,sDAEjBC,oBAAoB,cACpBC,aAAa,UACbC,aAAa,OAIPC,YAAc,kBACdC,kBAAoB,gBACpBC,gBAAkB,QAClBC,WAAa,GAInBC,KAAM,UACNC,sBAAsB,gBACtBC,WAAY,UACZC,SAAU,QAEVC,UAAW,OACXC,aAAc,UACdC,eAAgB,YAGbC,QAAS,UACTC,MAAO,SACPC,KAAM,QACNC,MAAO,WACPC,OAAQ;AACRC,MAAO"}
\ No newline at end of file
diff --git a/libraries/dhtmlxgantt/sources/locale/locale_he.js b/libraries/dhtmlxgantt/sources/locale/locale_he.js
deleted file mode 100644
index 11319ef..0000000
--- a/libraries/dhtmlxgantt/sources/locale/locale_he.js
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
-@license
-
-dhtmlxGantt v.3.2.0 Stardard
-This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited.
-
-(c) Dinamenta, UAB.
-*/
-gantt.locale = {
- date: {
- month_full: ["ינואר", "פברואר", "מרץ", "אפריל", "מאי", "יוני", "יולי", "אוגוסט", "ספטמבר", "אוקטובר", "נובמבר", "דצמבר"],
- month_short: ["ינו", "פבר", "מרץ", "אפר", "מאי", "יונ", "יול", "אוג", "ספט", "אוק", "נוב", "דצמ"],
- day_full: ["ראשון", "שני", "שלישי", "רביעי", "חמישי", "שישי", "שבת"],
- day_short: ["א", "ב", "ג", "ד", "ה", "ו", "ש"]
- },
- labels: {
- dhx_cal_today_button: "היום",
- day_tab: "יום",
- week_tab: "שבוע",
- month_tab: "חודש",
- new_event: "ארוע חדש",
- icon_save: "שמור",
- icon_cancel: "בטל",
- icon_details: "פרטים",
- icon_edit: "ערוך",
- icon_delete: "מחק",
- confirm_closing: "", //Your changes will be lost, are your sure ?
- confirm_deleting: "ארוע ימחק סופית.להמשיך?",
- section_description: "הסבר",
- section_time: "תקופה",
- section_type:"Type",
- /* grid columns */
-
- column_text : "Task name",
- column_start_date : "Start time",
- column_duration : "Duration",
- column_add : "",
-
- /* link confirmation */
- link: "Link",
- confirm_link_deleting:"will be deleted",
- link_start: " (start)",
- link_end: " (end)",
-
- type_task: "Task",
- type_project: "Project",
- type_milestone: "Milestone",
-
-
- minutes: "Minutes",
- hours: "Hours",
- days: "Days",
- weeks: "Week",
- months: "Months",
- years: "Years"
- }
-};
-
diff --git a/libraries/dhtmlxgantt/sources/locale/locale_he.js.map b/libraries/dhtmlxgantt/sources/locale/locale_he.js.map
deleted file mode 100644
index 2f004fe..0000000
--- a/libraries/dhtmlxgantt/sources/locale/locale_he.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"locale_he.js","sources":["locale_he.js"],"names":["gantt","locale","date","month_full","month_short","day_full","day_short","labels","dhx_cal_today_button","day_tab","week_tab","month_tab","new_event","icon_save","icon_cancel","icon_details","icon_edit","icon_delete","confirm_closing","confirm_deleting","section_description","section_time","section_type","column_text","column_start_date","column_duration","column_add","link","confirm_link_deleting","link_start","link_end","type_task","type_project","type_milestone","minutes","hours","days","weeks","months","years"],"mappings":";;;;;;;;AAQAA,MAAMC,QACLC,MACCC,YAAa,QAAS,SAAU,MAAO,QAAS,MAAO,OAAQ,OAAQ,SAAU,SAAU,UAAW,SAAU,SAChHC,aAAc,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAC3FC,UAAW,QAAS,MAAO,QAAS,QAAS,QAAS,OAAQ,OAC9DC,WAAY,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAE3CC,QACCC,qBAAsB,OACtBC,QAAS,MACTC,SAAU,OACVC,UAAW,OACXC,UAAW,WACXC,UAAW,OACXC,YAAa,MACbC,aAAc,QACdC,UAAW,OACXC,YAAa;AACbC,gBAAiB,GACjBC,iBAAkB,0BAClBC,oBAAqB,OACrBC,aAAc,QACdC,aAAa,OAGPC,YAAc,YACdC,kBAAoB,aACpBC,gBAAkB,WAClBC,WAAa,GAGnBC,KAAM,OACNC,sBAAsB,kBACtBC,WAAY,WACZC,SAAU,SAEVC,UAAW,OACXC,aAAc,UACdC,eAAgB,YAGVC,QAAS,UACTC,MAAO,QACPC,KAAM,OACNC,MAAO,OACPC,OAAQ,SACRC,MAAO"}
\ No newline at end of file
diff --git a/libraries/dhtmlxgantt/sources/locale/locale_hu.js b/libraries/dhtmlxgantt/sources/locale/locale_hu.js
deleted file mode 100644
index f489247..0000000
--- a/libraries/dhtmlxgantt/sources/locale/locale_hu.js
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
-@license
-
-dhtmlxGantt v.3.2.0 Stardard
-This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited.
-
-(c) Dinamenta, UAB.
-*/
-gantt.locale = {
- date: {
- month_full: ["Január", "Február", "Március", "Április", "Május", "Június", "Július", "Augusztus", "Szeptember", "Október", "November", "December"],
- month_short: ["Jan", "Feb", "Már", "Ápr", "Máj", "Jún", "Júl", "Aug", "Sep", "Okt", "Nov", "Dec"],
- day_full: ["Vasárnap", "Hétfõ", "Kedd", "Szerda", "Csütörtök", "Péntek", "szombat"],
- day_short: ["Va", "Hé", "Ke", "Sze", "Csü", "Pé", "Szo"]
- },
- labels: {
- dhx_cal_today_button: "Ma",
- day_tab: "Nap",
- week_tab: "Hét",
- month_tab: "Hónap",
- new_event: "Új esemény",
- icon_save: "Mentés",
- icon_cancel: "Mégse",
- icon_details: "Részletek",
- icon_edit: "Szerkesztés",
- icon_delete: "Törlés",
- confirm_closing: "", //A változások elvesznek, biztosan folytatja? "
- confirm_deleting: "Az esemény törölve lesz, biztosan folytatja?",
- section_description: "Leírás",
- section_time: "Idõszak",
- section_type:"Type",
- /* grid columns */
-
- column_text : "Task name",
- column_start_date : "Start time",
- column_duration : "Duration",
- column_add : "",
-
- /* link confirmation */
- link: "Link",
- confirm_link_deleting:"will be deleted",
- link_start: " (start)",
- link_end: " (end)",
-
- type_task: "Task",
- type_project: "Project",
- type_milestone: "Milestone",
-
-
- minutes: "Minutes",
- hours: "Hours",
- days: "Days",
- weeks: "Week",
- months: "Months",
- years: "Years"
- }
-};
-
diff --git a/libraries/dhtmlxgantt/sources/locale/locale_hu.js.map b/libraries/dhtmlxgantt/sources/locale/locale_hu.js.map
deleted file mode 100644
index dc9f4b5..0000000
--- a/libraries/dhtmlxgantt/sources/locale/locale_hu.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"locale_hu.js","sources":["locale_hu.js"],"names":["gantt","locale","date","month_full","month_short","day_full","day_short","labels","dhx_cal_today_button","day_tab","week_tab","month_tab","new_event","icon_save","icon_cancel","icon_details","icon_edit","icon_delete","confirm_closing","confirm_deleting","section_description","section_time","section_type","column_text","column_start_date","column_duration","column_add","link","confirm_link_deleting","link_start","link_end","type_task","type_project","type_milestone","minutes","hours","days","weeks","months","years"],"mappings":";;;;;;;;AAQAA,MAAMC,QACLC,MACCC,YAAa,SAAU,UAAW,UAAW,UAAW,QAAS,SAAU,SAAU,YAAa,aAAc,UAAW,WAAY,YACvIC,aAAc,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAC3FC,UAAW,WAAY,QAAS,OAAQ,SAAU,YAAa,SAAU,WACzEC,WAAY,KAAM,KAAM,KAAM,MAAO,MAAO,KAAM,QAEnDC,QACCC,qBAAsB,KACtBC,QAAS,MACTC,SAAU,MACVC,UAAW,QACXC,UAAW,aACXC,UAAW,SACXC,YAAa;AACbC,aAAc,YACdC,UAAW,cACXC,YAAa,SACbC,gBAAiB,GACjBC,iBAAkB,+CAClBC,oBAAqB,SACrBC,aAAc,UACdC,aAAa,OAGPC,YAAc,YACdC,kBAAoB,aACpBC,gBAAkB,WAClBC,WAAa,GAGnBC,KAAM,OACNC,sBAAsB,kBACtBC,WAAY,WACZC,SAAU,SAEVC,UAAW,OACXC,aAAc,UACdC,eAAgB,YAGVC,QAAS,UACTC,MAAO;AACPC,KAAM,OACNC,MAAO,OACPC,OAAQ,SACRC,MAAO"}
\ No newline at end of file
diff --git a/libraries/dhtmlxgantt/sources/locale/locale_id.js b/libraries/dhtmlxgantt/sources/locale/locale_id.js
deleted file mode 100644
index 3a30a21..0000000
--- a/libraries/dhtmlxgantt/sources/locale/locale_id.js
+++ /dev/null
@@ -1,9 +0,0 @@
-/*
-@license
-
-dhtmlxGantt v.3.2.0 Stardard
-This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited.
-
-(c) Dinamenta, UAB.
-*/
-gantt.locale = {
date: {
month_full: ["Januari", "Februari", "Maret", "April", "Mei", "Juni", "Juli", "Agustus", "September", "Oktober", "November", "Desember"],
month_short: ["Jan", "Feb", "Mar", "Apr", "Mei", "Jun", "Jul", "Ags", "Sep", "Okt", "Nov", "Des"],
day_full: ["Minggu", "Senin", "Selasa", "Rabu", "Kamis", "Jumat", "Sabtu"],
day_short: ["Ming", "Sen", "Sel", "Rab", "Kam", "Jum", "Sab"]
},
labels: {
dhx_cal_today_button: "Hari Ini",
day_tab: "Hari",
week_tab: "Minggu",
month_tab: "Bulan",
new_event: "Acara Baru",
icon_save: "Simpan",
icon_cancel: "Batal",
icon_details: "Detail",
icon_edit: "Edit",
icon_delete: "Hapus",
confirm_closing: "", /*Perubahan tidak akan disimpan ?*/
confirm_deleting: "Acara akan dihapus",
section_description: "Keterangan",
section_time: "Periode",
section_type: "Type",
/* grid columns */
column_text: "Task name",
column_start_date: "Start time",
column_duration: "Duration",
column_add: "",
/* link confirmation */
link: "Link",
confirm_link_deleting: "will be deleted",
link_start: " (start)",
link_end: " (end)",
type_task: "Task",
type_project: "Project",
type_milestone: "Milestone",
minutes: "Minutes",
hours: "Hours",
days: "Days",
weeks: "Week",
months: "Months",
years: "Years"
}
};
\ No newline at end of file
diff --git a/libraries/dhtmlxgantt/sources/locale/locale_id.js.map b/libraries/dhtmlxgantt/sources/locale/locale_id.js.map
deleted file mode 100644
index c9399d1..0000000
--- a/libraries/dhtmlxgantt/sources/locale/locale_id.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"locale_id.js","sources":["locale_id.js"],"names":["gantt","locale","date","month_full","month_short","day_full","day_short","labels","dhx_cal_today_button","day_tab","week_tab","month_tab","new_event","icon_save","icon_cancel","icon_details","icon_edit","icon_delete","confirm_closing","confirm_deleting","section_description","section_time","section_type","column_text","column_start_date","column_duration","column_add","link","confirm_link_deleting","link_start","link_end","type_task","type_project","type_milestone","minutes","hours","days","weeks","months","years"],"mappings":";;;;;;;;AAQAA,MAAMC,QACLC,MACCC,YAAa,UAAW,WAAY,QAAS,QAAS,MAAO,OAAQ,OAAQ,UAAW,YAAa,UAAW,WAAY,YAC5HC,aAAc,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAC3FC,UAAW,SAAU,QAAS,SAAU,OAAQ,QAAS,QAAS,SAClEC,WAAY,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,QAExDC,QACCC,qBAAsB,WACtBC,QAAS,OACTC,SAAU,SACVC,UAAW,QACXC,UAAW,aACXC,UAAW,SACXC,YAAa;AACbC,aAAc,SACdC,UAAW,OACXC,YAAa,QACbC,gBAAiB,GACjBC,iBAAkB,qBAClBC,oBAAqB,aACrBC,aAAc,UACdC,aAAc,OAGdC,YAAa,YACbC,kBAAmB,aACnBC,gBAAiB,WACjBC,WAAY,GAGZC,KAAM,OACNC,sBAAuB,kBACvBC,WAAY,WACZC,SAAU,SAEVC,UAAW,OACXC,aAAc,UACdC,eAAgB,YAGhBC,QAAS,UACTC,MAAO,QACPC,KAAM,OACNC,MAAO;AACPC,OAAQ,SACRC,MAAO"}
\ No newline at end of file
diff --git a/libraries/dhtmlxgantt/sources/locale/locale_it.js b/libraries/dhtmlxgantt/sources/locale/locale_it.js
deleted file mode 100644
index 74e91e6..0000000
--- a/libraries/dhtmlxgantt/sources/locale/locale_it.js
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
-@license
-
-dhtmlxGantt v.3.2.0 Stardard
-This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited.
-
-(c) Dinamenta, UAB.
-*/
-gantt.locale = {
- date: {
- month_full: ["Gennaio", "Febbraio", "Marzo", "Aprile", "Maggio", "Giugno", "Luglio", "Agosto", "Settembre", "Ottobre", "Novembre", "Dicembre"],
- month_short: ["Gen", "Feb", "Mar", "Apr", "Mag", "Giu", "Lug", "Ago", "Set", "Ott", "Nov", "Dic"],
- day_full: ["Domenica", "Lunedì", "Martedì", "Mercoledì", "Giovedì", "Venerdì", "Sabato"],
- day_short: ["Dom", "Lun", "Mar", "Mer", "Gio", "Ven", "Sab"]
- },
- labels: {
- dhx_cal_today_button: "Oggi",
- day_tab: "Giorno",
- week_tab: "Settimana",
- month_tab: "Mese",
- new_event: "Nuovo evento",
- icon_save: "Salva",
- icon_cancel: "Chiudi",
- icon_details: "Dettagli",
- icon_edit: "Modifica",
- icon_delete: "Elimina",
- confirm_closing: "", //Le modifiche apportate saranno perse, siete sicuri?
- confirm_deleting: "L'evento sarà eliminato, siete sicuri?",
- section_description: "Descrizione",
- section_time: "Periodo di tempo",
- section_type:"Type",
- /* grid columns */
-
- column_text : "Task name",
- column_start_date : "Start time",
- column_duration : "Duration",
- column_add : "",
-
- /* link confirmation */
- link: "Link",
- confirm_link_deleting:"will be deleted",
- link_start: " (start)",
- link_end: " (end)",
-
- type_task: "Task",
- type_project: "Project",
- type_milestone: "Milestone",
-
-
- minutes: "Minutes",
- hours: "Hours",
- days: "Days",
- weeks: "Week",
- months: "Months",
- years: "Years"
- }
-};
-
diff --git a/libraries/dhtmlxgantt/sources/locale/locale_it.js.map b/libraries/dhtmlxgantt/sources/locale/locale_it.js.map
deleted file mode 100644
index d77d32f..0000000
--- a/libraries/dhtmlxgantt/sources/locale/locale_it.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"locale_it.js","sources":["locale_it.js"],"names":["gantt","locale","date","month_full","month_short","day_full","day_short","labels","dhx_cal_today_button","day_tab","week_tab","month_tab","new_event","icon_save","icon_cancel","icon_details","icon_edit","icon_delete","confirm_closing","confirm_deleting","section_description","section_time","section_type","column_text","column_start_date","column_duration","column_add","link","confirm_link_deleting","link_start","link_end","type_task","type_project","type_milestone","minutes","hours","days","weeks","months","years"],"mappings":";;;;;;;;AAQAA,MAAMC,QACLC,MACCC,YAAa,UAAW,WAAY,QAAS,SAAU,SAAU,SAAU,SAAU,SAAU,YAAa,UAAW,WAAY,YACnIC,aAAc,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAC3FC,UAAW,WAAY,SAAU,UAAW,YAAa,UAAW,UAAW,UAC/EC,WAAY,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,QAEvDC,QACCC,qBAAsB,OACtBC,QAAS,SACTC,SAAU,YACVC,UAAW,OACXC,UAAW,eACXC,UAAW;AACXC,YAAa,SACbC,aAAc,WACdC,UAAW,WACXC,YAAa,UACbC,gBAAiB,GACjBC,iBAAkB,yCAClBC,oBAAqB,cACrBC,aAAc,mBACdC,aAAa,OAGPC,YAAc,YACdC,kBAAoB,aACpBC,gBAAkB,WAClBC,WAAa,GAGnBC,KAAM,OACNC,sBAAsB,kBACtBC,WAAY,WACZC,SAAU,SAEVC,UAAW,OACXC,aAAc,UACdC,eAAgB;AAGVC,QAAS,UACTC,MAAO,QACPC,KAAM,OACNC,MAAO,OACPC,OAAQ,SACRC,MAAO"}
\ No newline at end of file
diff --git a/libraries/dhtmlxgantt/sources/locale/locale_jp.js b/libraries/dhtmlxgantt/sources/locale/locale_jp.js
deleted file mode 100644
index d99730d..0000000
--- a/libraries/dhtmlxgantt/sources/locale/locale_jp.js
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
-@license
-
-dhtmlxGantt v.3.2.0 Stardard
-This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited.
-
-(c) Dinamenta, UAB.
-*/
-/*
- Translation by Genexus Japan Inc.
- */
-gantt.locale = {
- date: {
- month_full: ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"],
- month_short: [ "1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"],
- day_full: ["日曜日", "月曜日", "火曜日", "水曜日", "木曜日", "金曜日", "土曜日"],
- day_short: ["日", "月", "火", "水", "木", "金", "土"]
- },
- labels: {
- dhx_cal_today_button: "今日",
- day_tab: "日",
- week_tab: "週",
- month_tab: "月",
- new_event: "新イベント",
- icon_save: "保存",
- icon_cancel: "キャンセル",
- icon_details: "詳細",
- icon_edit: "編集",
- icon_delete: "削除",
- confirm_closing: "", //変更が取り消されます、宜しいですか?
- confirm_deleting: "イベント完全に削除されます、宜しいですか?",
- section_description: "デスクリプション",
- section_time: "期間",
- section_type:"Type",
- /* grid columns */
-
- column_text : "Task name",
- column_start_date : "Start time",
- column_duration : "Duration",
- column_add : "",
-
- /* link confirmation */
- link: "Link",
- confirm_link_deleting:"will be deleted",
- link_start: " (start)",
- link_end: " (end)",
-
- type_task: "Task",
- type_project: "Project",
- type_milestone: "Milestone",
-
-
- minutes: "Minutes",
- hours: "Hours",
- days: "Days",
- weeks: "Week",
- months: "Months",
- years: "Years"
- }
-};
-
diff --git a/libraries/dhtmlxgantt/sources/locale/locale_jp.js.map b/libraries/dhtmlxgantt/sources/locale/locale_jp.js.map
deleted file mode 100644
index b19e459..0000000
--- a/libraries/dhtmlxgantt/sources/locale/locale_jp.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"locale_jp.js","sources":["locale_jp.js"],"names":["gantt","locale","date","month_full","month_short","day_full","day_short","labels","dhx_cal_today_button","day_tab","week_tab","month_tab","new_event","icon_save","icon_cancel","icon_details","icon_edit","icon_delete","confirm_closing","confirm_deleting","section_description","section_time","section_type","column_text","column_start_date","column_duration","column_add","link","confirm_link_deleting","link_start","link_end","type_task","type_project","type_milestone","minutes","hours","days","weeks","months","years"],"mappings":";;;;;;;;AAWAA,MAAMC,QACLC,MACCC,YAAa,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,OACjFC,aAAe,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,OACnFC,UAAW,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OACrDC,WAAY,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAE3CC,QACCC,qBAAsB,KACtBC,QAAS,IACTC,SAAU,IACVC,UAAW,IACXC,UAAW,QACXC,UAAW,KACXC,YAAa,QACbC,aAAc,KACdC,UAAW,KACXC,YAAa,KACbC,gBAAiB,GACjBC,iBAAkB;AAClBC,oBAAqB,WACrBC,aAAc,KACdC,aAAa,OAGPC,YAAc,YACdC,kBAAoB,aACpBC,gBAAkB,WAClBC,WAAa,GAGnBC,KAAM,OACNC,sBAAsB,kBACtBC,WAAY,WACZC,SAAU,SAEVC,UAAW,OACXC,aAAc,UACdC,eAAgB,YAGVC,QAAS,UACTC,MAAO,QACPC,KAAM,OACNC,MAAO,OACPC,OAAQ,SACRC,MAAO"}
\ No newline at end of file
diff --git a/libraries/dhtmlxgantt/sources/locale/locale_kr.js b/libraries/dhtmlxgantt/sources/locale/locale_kr.js
deleted file mode 100644
index bc4488e..0000000
--- a/libraries/dhtmlxgantt/sources/locale/locale_kr.js
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
-@license
-
-dhtmlxGantt v.3.2.0 Stardard
-This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited.
-
-(c) Dinamenta, UAB.
-*/
-/*
- Translated by cjkim@dbvalley.com
-*/
-gantt.locale = {
- date: {
- month_full: ["1월", "2월", "3월", "4월", "5월", "6월", "7월", "8월", "9월", "10월", "11월", "12월"],
- month_short: ["1월", "2월", "3월", "4월", "5월", "6월", "7월", "8월", "9월", "10월", "11월", "12월"],
- day_full: ["일요일", "월요일", "화요일", "수요일", "목요일", "금요일", "토요일"],
- day_short: ["일", "월", "화", "수", "목", "금", "토"]
- },
- labels: {
- new_task: "이름없는 작업",
- icon_save: "저장",
- icon_cancel: "취소",
- icon_details: "세부 사항",
- icon_edit: "수정",
- icon_delete: "삭제",
- confirm_closing: "",
- confirm_deleting: "작업을 삭제하시겠습니까?",
- section_description: "설명",
- section_time: "기간",
- section_type: "Type",
- column_text: "작업명",
- column_start_date: "시작일",
- column_duration: "기간",
- column_add: "",
- link: "전제",
- confirm_link_deleting: "삭제 하시겠습니까?",
- link_start: " (start)",
- link_end: " (end)",
- type_task: "작업",
- type_project: "프로젝트",
- type_milestone: "마일스톤",
- minutes: "분",
- hours: "시간",
- days: "일",
- weeks: "주",
- months: "달",
- years: "년"
- }
-};
\ No newline at end of file
diff --git a/libraries/dhtmlxgantt/sources/locale/locale_kr.js.map b/libraries/dhtmlxgantt/sources/locale/locale_kr.js.map
deleted file mode 100644
index 2ea3a78..0000000
--- a/libraries/dhtmlxgantt/sources/locale/locale_kr.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"locale_kr.js","sources":["locale_kr.js"],"names":["gantt","locale","date","month_full","month_short","day_full","day_short","labels","new_task","icon_save","icon_cancel","icon_details","icon_edit","icon_delete","confirm_closing","confirm_deleting","section_description","section_time","section_type","column_text","column_start_date","column_duration","column_add","link","confirm_link_deleting","link_start","link_end","type_task","type_project","type_milestone","minutes","hours","days","weeks","months","years"],"mappings":";;;;;;;;AAWAA,MAAMC,QACLC,MACCC,YAAa,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,OACjFC,aAAc,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,OAClFC,UAAW,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OACrDC,WAAY,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAE3CC,QACCC,SAAU,UACVC,UAAW,KACXC,YAAa,KACbC,aAAc,QACdC,UAAW,KACXC,YAAa,KACbC,gBAAiB,GACjBC,iBAAkB,gBAClBC,oBAAqB,KACrBC,aAAc,KACdC,aAAc,OACdC,YAAa;AACbC,kBAAmB,MACnBC,gBAAiB,KACjBC,WAAY,GACZC,KAAM,KACNC,sBAAuB,aACvBC,WAAY,WACZC,SAAU,SACVC,UAAW,KACXC,aAAc,OACdC,eAAgB,OAChBC,QAAS,IACTC,MAAO,KACPC,KAAM,IACNC,MAAO,IACPC,OAAQ,IACRC,MAAO"}
\ No newline at end of file
diff --git a/libraries/dhtmlxgantt/sources/locale/locale_nb.js b/libraries/dhtmlxgantt/sources/locale/locale_nb.js
deleted file mode 100644
index 52a37cd..0000000
--- a/libraries/dhtmlxgantt/sources/locale/locale_nb.js
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
-@license
-
-dhtmlxGantt v.3.2.0 Stardard
-This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited.
-
-(c) Dinamenta, UAB.
-*/
-gantt.locale = {
- date: {
- month_full: ["Januar", "Februar", "Mars", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Desember"],
- month_short: ["Jan", "Feb", "Mar", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Des"],
- day_full: ["Søndag", "Mandag", "Tirsdag", "Onsdag", "Torsdag", "Fredag", "Lørdag"],
- day_short: ["Søn", "Mon", "Tir", "Ons", "Tor", "Fre", "Lør"]
- },
- labels: {
- dhx_cal_today_button: "I dag",
- day_tab: "Dag",
- week_tab: "Uke",
- month_tab: "Måned",
- new_event: "Ny hendelse",
- icon_save: "Lagre",
- icon_cancel: "Avbryt",
- icon_details: "Detaljer",
- icon_edit: "Rediger",
- icon_delete: "Slett",
- confirm_closing: "", //Your changes will be lost, are your sure ?
- confirm_deleting: "Hendelsen vil bli slettet permanent. Er du sikker?",
- section_description: "Beskrivelse",
- section_time: "Tidsperiode",
- section_type:"Type",
- /* grid columns */
-
- column_text : "Task name",
- column_start_date : "Start time",
- column_duration : "Duration",
- column_add : "",
-
- /* link confirmation */
- link: "Link",
- confirm_link_deleting:"will be deleted",
- link_start: " (start)",
- link_end: " (end)",
-
- type_task: "Task",
- type_project: "Project",
- type_milestone: "Milestone",
-
-
- minutes: "Minutes",
- hours: "Hours",
- days: "Days",
- weeks: "Week",
- months: "Months",
- years: "Years"
- }
-};
-
diff --git a/libraries/dhtmlxgantt/sources/locale/locale_nb.js.map b/libraries/dhtmlxgantt/sources/locale/locale_nb.js.map
deleted file mode 100644
index 20acc30..0000000
--- a/libraries/dhtmlxgantt/sources/locale/locale_nb.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"locale_nb.js","sources":["locale_nb.js"],"names":["gantt","locale","date","month_full","month_short","day_full","day_short","labels","dhx_cal_today_button","day_tab","week_tab","month_tab","new_event","icon_save","icon_cancel","icon_details","icon_edit","icon_delete","confirm_closing","confirm_deleting","section_description","section_time","section_type","column_text","column_start_date","column_duration","column_add","link","confirm_link_deleting","link_start","link_end","type_task","type_project","type_milestone","minutes","hours","days","weeks","months","years"],"mappings":";;;;;;;;AAQAA,MAAMC,QACLC,MACCC,YAAa,SAAU,UAAW,OAAQ,QAAS,MAAO,OAAQ,OAAQ,SAAU,YAAa,UAAW,WAAY,YACxHC,aAAc,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAC3FC,UAAW,SAAU,SAAU,UAAW,SAAU,UAAW,SAAU,UACzEC,WAAY,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,QAEvDC,QACCC,qBAAsB,QACtBC,QAAS,MACTC,SAAU,MACVC,UAAW,QACXC,UAAW,cACXC,UAAW,QACXC,YAAa;AACbC,aAAc,WACdC,UAAW,UACXC,YAAa,QACbC,gBAAiB,GACjBC,iBAAkB,qDAClBC,oBAAqB,cACrBC,aAAc,cACdC,aAAa,OAGPC,YAAc,YACdC,kBAAoB,aACpBC,gBAAkB,WAClBC,WAAa,GAGnBC,KAAM,OACNC,sBAAsB,kBACtBC,WAAY,WACZC,SAAU,SAEVC,UAAW,OACXC,aAAc,UACdC,eAAgB,YAGVC,QAAS;AACTC,MAAO,QACPC,KAAM,OACNC,MAAO,OACPC,OAAQ,SACRC,MAAO"}
\ No newline at end of file
diff --git a/libraries/dhtmlxgantt/sources/locale/locale_nl.js b/libraries/dhtmlxgantt/sources/locale/locale_nl.js
deleted file mode 100644
index 4f0c3f2..0000000
--- a/libraries/dhtmlxgantt/sources/locale/locale_nl.js
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
-@license
-
-dhtmlxGantt v.3.2.0 Stardard
-This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited.
-
-(c) Dinamenta, UAB.
-*/
-gantt.locale = {
- date: {
- month_full: ["Januari", "Februari", "Maart", "April", "Mei", "Juni", "Juli", "Augustus", "September", "Oktober", "November", "December"],
- month_short: ["Jan", "Feb", "mrt", "Apr", "Mei", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec"],
- day_full: ["Zondag", "Maandag", "Dinsdag", "Woensdag", "Donderdag", "Vrijdag", "Zaterdag"],
- day_short: ["Zo", "Ma", "Di", "Wo", "Do", "Vr", "Za"]
- },
- labels: {
- dhx_cal_today_button: "Vandaag",
- day_tab: "Dag",
- week_tab: "Week",
- month_tab: "Maand",
- new_event: "Nieuw item",
- icon_save: "Opslaan",
- icon_cancel: "Annuleren",
- icon_details: "Details",
- icon_edit: "Bewerken",
- icon_delete: "Verwijderen",
- confirm_closing: "", //Your changes will be lost, are your sure ?
- confirm_deleting: "Item zal permanent worden verwijderd, doorgaan?",
- section_description: "Beschrijving",
- section_time: "Tijd periode",
- section_type:"Type",
- /* grid columns */
-
- column_text : "Taak omschrijving",
- column_start_date : "Startdatum",
- column_duration : "Duur",
- column_add : "",
-
- /* link confirmation */
- link: "Koppeling",
- confirm_link_deleting:"zal worden verwijderd",
- link_start: " (start)",
- link_end: " (eind)",
-
- type_task: "Task",
- type_project: "Project",
- type_milestone: "Milestone",
-
-
- minutes: "minuten",
- hours: "uren",
- days: "dagen",
- weeks: "weken",
- months: "maanden",
- years: "jaren"
- }
-};
-
diff --git a/libraries/dhtmlxgantt/sources/locale/locale_nl.js.map b/libraries/dhtmlxgantt/sources/locale/locale_nl.js.map
deleted file mode 100644
index 33a9b52..0000000
--- a/libraries/dhtmlxgantt/sources/locale/locale_nl.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"locale_nl.js","sources":["locale_nl.js"],"names":["gantt","locale","date","month_full","month_short","day_full","day_short","labels","dhx_cal_today_button","day_tab","week_tab","month_tab","new_event","icon_save","icon_cancel","icon_details","icon_edit","icon_delete","confirm_closing","confirm_deleting","section_description","section_time","section_type","column_text","column_start_date","column_duration","column_add","link","confirm_link_deleting","link_start","link_end","type_task","type_project","type_milestone","minutes","hours","days","weeks","months","years"],"mappings":";;;;;;;;AAQAA,MAAMC,QACLC,MACCC,YAAa,UAAW,WAAY,QAAS,QAAS,MAAO,OAAQ,OAAQ,WAAY,YAAa,UAAW,WAAY,YAC7HC,aAAc,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAC3FC,UAAW,SAAU,UAAW,UAAW,WAAY,YAAa,UAAW,YAC/EC,WAAY,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,OAEjDC,QACCC,qBAAsB,UACtBC,QAAS,MACTC,SAAU,OACVC,UAAW,QACXC,UAAW,aACXC,UAAW,UACXC,YAAa;AACbC,aAAc,UACdC,UAAW,WACXC,YAAa,cACbC,gBAAiB,GACjBC,iBAAkB,kDAClBC,oBAAqB,eACrBC,aAAc,eACdC,aAAa,OAGPC,YAAc,oBACdC,kBAAoB,aACpBC,gBAAkB,OAClBC,WAAa,GAGnBC,KAAM,YACNC,sBAAsB,wBACtBC,WAAY,WACZC,SAAU,UAEVC,UAAW,OACXC,aAAc,UACdC,eAAgB;AAGVC,QAAS,UACTC,MAAO,OACPC,KAAM,QACNC,MAAO,QACPC,OAAQ,UACRC,MAAO"}
\ No newline at end of file
diff --git a/libraries/dhtmlxgantt/sources/locale/locale_no.js b/libraries/dhtmlxgantt/sources/locale/locale_no.js
deleted file mode 100644
index 612e773..0000000
--- a/libraries/dhtmlxgantt/sources/locale/locale_no.js
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
-@license
-
-dhtmlxGantt v.3.2.0 Stardard
-This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited.
-
-(c) Dinamenta, UAB.
-*/
-gantt.locale = {
- date: {
- month_full: ["Januar", "Februar", "Mars", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Desember"],
- month_short: ["Jan", "Feb", "Mar", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Des"],
- day_full: ["Søndag", "Mandag", "Tirsdag", "Onsdag", "Torsdag", "Fredag", "Lørdag"],
- day_short: ["Søn", "Man", "Tir", "Ons", "Tor", "Fre", "Lør"]
- },
- labels: {
- dhx_cal_today_button: "Idag",
- day_tab: "Dag",
- week_tab: "Uke",
- month_tab: "Måned",
- new_event: "Ny",
- icon_save: "Lagre",
- icon_cancel: "Avbryt",
- icon_details: "Detaljer",
- icon_edit: "Endre",
- icon_delete: "Slett",
- confirm_closing: "Endringer blir ikke lagret, er du sikker?", //Endringer blir ikke lagret, er du sikker?
- confirm_deleting: "Oppføringen vil bli slettet, er du sikker?",
- section_description: "Beskrivelse",
- section_time: "Tidsperiode",
- section_type:"Type",
- /* grid columns */
-
- column_text : "Task name",
- column_start_date : "Start time",
- column_duration : "Duration",
- column_add : "",
-
- /* link confirmation */
- link: "Link",
- confirm_link_deleting:"will be deleted",
- link_start: " (start)",
- link_end: " (end)",
-
- type_task: "Task",
- type_project: "Project",
- type_milestone: "Milestone",
-
-
- minutes: "Minutes",
- hours: "Hours",
- days: "Days",
- weeks: "Week",
- months: "Months",
- years: "Years"
- }
-};
-
diff --git a/libraries/dhtmlxgantt/sources/locale/locale_no.js.map b/libraries/dhtmlxgantt/sources/locale/locale_no.js.map
deleted file mode 100644
index 9b35f3e..0000000
--- a/libraries/dhtmlxgantt/sources/locale/locale_no.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"locale_no.js","sources":["locale_no.js"],"names":["gantt","locale","date","month_full","month_short","day_full","day_short","labels","dhx_cal_today_button","day_tab","week_tab","month_tab","new_event","icon_save","icon_cancel","icon_details","icon_edit","icon_delete","confirm_closing","confirm_deleting","section_description","section_time","section_type","column_text","column_start_date","column_duration","column_add","link","confirm_link_deleting","link_start","link_end","type_task","type_project","type_milestone","minutes","hours","days","weeks","months","years"],"mappings":";;;;;;;;AAQAA,MAAMC,QACLC,MACCC,YAAa,SAAU,UAAW,OAAQ,QAAS,MAAO,OAAQ,OAAQ,SAAU,YAAa,UAAW,WAAY,YACxHC,aAAc,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAC3FC,UAAW,SAAU,SAAU,UAAW,SAAU,UAAW,SAAU,UACzEC,WAAY,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,QAEvDC,QACCC,qBAAsB,OACtBC,QAAS,MACTC,SAAU,MACVC,UAAW,QACXC,UAAW,KACXC,UAAW,QACXC,YAAa,SACbC,aAAc;AACdC,UAAW,QACXC,YAAa,QACbC,gBAAiB,4CACjBC,iBAAkB,6CAClBC,oBAAqB,cACrBC,aAAc,cACdC,aAAa,OAGPC,YAAc,YACdC,kBAAoB,aACpBC,gBAAkB,WAClBC,WAAa,GAGnBC,KAAM,OACNC,sBAAsB,kBACtBC,WAAY,WACZC,SAAU,SAEVC,UAAW,OACXC,aAAc,UACdC,eAAgB,YAGVC,QAAS;AACTC,MAAO,QACPC,KAAM,OACNC,MAAO,OACPC,OAAQ,SACRC,MAAO"}
\ No newline at end of file
diff --git a/libraries/dhtmlxgantt/sources/locale/locale_pl.js b/libraries/dhtmlxgantt/sources/locale/locale_pl.js
deleted file mode 100644
index 83a763f..0000000
--- a/libraries/dhtmlxgantt/sources/locale/locale_pl.js
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
-@license
-
-dhtmlxGantt v.3.2.0 Stardard
-This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited.
-
-(c) Dinamenta, UAB.
-*/
-gantt.locale = {
- date: {
- month_full: ["Styczeń", "Luty", "Marzec", "Kwiecień", "Maj", "Czerwiec", "Lipiec", "Sierpień", "Wrzesień", "Październik", "Listopad", "Grudzień"],
- month_short: ["Sty", "Lut", "Mar", "Kwi", "Maj", "Cze", "Lip", "Sie", "Wrz", "Paź", "Lis", "Gru"],
- day_full: ["Niedziela", "Poniedziałek", "Wtorek", "Środa", "Czwartek", "Piątek", "Sobota"],
- day_short: ["Nie", "Pon", "Wto", "Śro", "Czw", "Pią", "Sob"]
- },
- labels: {
- dhx_cal_today_button: "Dziś",
- day_tab: "Dzień",
- week_tab: "Tydzień",
- month_tab: "Miesiąc",
- new_event: "Nowe zdarzenie",
- icon_save: "Zapisz",
- icon_cancel: "Anuluj",
- icon_details: "Szczegóły",
- icon_edit: "Edytuj",
- icon_delete: "Usuń",
- confirm_closing: "", //Zmiany zostaną usunięte, jesteś pewien?
- confirm_deleting: "Zdarzenie zostanie usunięte na zawsze, kontynuować?",
- section_description: "Opis",
- section_time: "Okres czasu",
- section_type: "Typ",
- /* grid columns */
-
- column_text : "Nazwa zadania",
- column_start_date : "Początek",
- column_duration : "Czas trwania",
- column_add : "",
-
- /* link confirmation */
- link: "Link",
- confirm_link_deleting:"zostanie usunięty",
- link_start: " (początek)",
- link_end: " (koniec)",
-
- type_task: "Zadanie",
- type_project: "Projekt",
- type_milestone: "Milestone",
-
-
- minutes: "Minuty",
- hours: "Godziny",
- days: "Dni",
- weeks: "Tydzień",
- months: "Miesiące",
- years: "Lata"
- }
-};
-
diff --git a/libraries/dhtmlxgantt/sources/locale/locale_pl.js.map b/libraries/dhtmlxgantt/sources/locale/locale_pl.js.map
deleted file mode 100644
index dbe3a71..0000000
--- a/libraries/dhtmlxgantt/sources/locale/locale_pl.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"locale_pl.js","sources":["locale_pl.js"],"names":["gantt","locale","date","month_full","month_short","day_full","day_short","labels","dhx_cal_today_button","day_tab","week_tab","month_tab","new_event","icon_save","icon_cancel","icon_details","icon_edit","icon_delete","confirm_closing","confirm_deleting","section_description","section_time","section_type","column_text","column_start_date","column_duration","column_add","link","confirm_link_deleting","link_start","link_end","type_task","type_project","type_milestone","minutes","hours","days","weeks","months","years"],"mappings":";;;;;;;;AAQAA,MAAMC,QACLC,MACCC,YAAa,UAAW,OAAQ,SAAU,WAAY,MAAO,WAAY,SAAU,WAAY,WAAY,cAAe,WAAY,YACtIC,aAAc,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAC3FC,UAAW,YAAa,eAAgB,SAAU,QAAS,WAAY,SAAU,UACjFC,WAAY,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,QAEvDC,QACCC,qBAAsB,OACtBC,QAAS,QACTC,SAAU,UACVC,UAAW,UACXC,UAAW,iBACXC,UAAW;AACXC,YAAa,SACbC,aAAc,YACdC,UAAW,SACXC,YAAa,OACbC,gBAAiB,GACjBC,iBAAkB,sDAClBC,oBAAqB,OACrBC,aAAc,cACdC,aAAc,MAGdC,YAAc,gBACdC,kBAAoB,WACpBC,gBAAkB,eAClBC,WAAa,GAGbC,KAAM,OACNC,sBAAsB,oBACtBC,WAAY,cACZC,SAAU,YAEVC,UAAW,UACXC,aAAc,UACdC,eAAgB;AAGhBC,QAAS,SACTC,MAAO,UACPC,KAAM,MACNC,MAAO,UACPC,OAAQ,WACRC,MAAO"}
\ No newline at end of file
diff --git a/libraries/dhtmlxgantt/sources/locale/locale_pt.js b/libraries/dhtmlxgantt/sources/locale/locale_pt.js
deleted file mode 100644
index 2ebfbce..0000000
--- a/libraries/dhtmlxgantt/sources/locale/locale_pt.js
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
-@license
-
-dhtmlxGantt v.3.2.0 Stardard
-This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited.
-
-(c) Dinamenta, UAB.
-*/
-/*
-
- TRANSLATION BY MATTHEUS PIROVANI RORIZ GONЗALVES
-
- mattheusroriz@hotmail.com / mattheus.pirovani@gmail.com /
-
- www.atrixian.com.br
-
- */
-
-gantt.locale = {
- date: {
- month_full: ["Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro"],
- month_short: ["Jan", "Fev", "Mar", "Abr", "Mai", "Jun", "Jul", "Ago", "Set", "Out", "Nov", "Dez"],
- day_full: ["Domingo", "Segunda", "Terça", "Quarta", "Quinta", "Sexta", "Sábado"],
- day_short: ["Dom", "Seg", "Ter", "Qua", "Qui", "Sex", "Sab"]
- },
- labels: {
- dhx_cal_today_button: "Hoje",
- day_tab: "Dia",
- week_tab: "Semana",
- month_tab: "Mês",
- new_event: "Novo evento",
- icon_save: "Salvar",
- icon_cancel: "Cancelar",
- icon_details: "Detalhes",
- icon_edit: "Editar",
- icon_delete: "Deletar",
- confirm_closing: "Suas alterações serão perdidas. Você tem certeza?", //Your changes will be lost, are your sure ?
- confirm_deleting: "Tem certeza que deseja excluir?",
- section_description: "Descrição",
- section_time: "Período de tempo",
- section_type:"Type",
- /* grid columns */
-
- column_text : "Nome tarefa",
- column_start_date : "Data início",
- column_duration : "Duração",
- column_add : "",
-
- /* link confirmation */
- link: "Link",
- confirm_link_deleting:"será apagado",
- link_start: " (início)",
- link_end: " (fim)",
-
- type_task: "Task",
- type_project: "Project",
- type_milestone: "Milestone",
-
-
- minutes: "Minutos",
- hours: "Horas",
- days: "Dias",
- weeks: "Semanas",
- months: "Meses",
- years: "Anos"
- }
-};
\ No newline at end of file
diff --git a/libraries/dhtmlxgantt/sources/locale/locale_pt.js.map b/libraries/dhtmlxgantt/sources/locale/locale_pt.js.map
deleted file mode 100644
index 30ac483..0000000
--- a/libraries/dhtmlxgantt/sources/locale/locale_pt.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"locale_pt.js","sources":["locale_pt.js"],"names":["gantt","locale","date","month_full","month_short","day_full","day_short","labels","dhx_cal_today_button","day_tab","week_tab","month_tab","new_event","icon_save","icon_cancel","icon_details","icon_edit","icon_delete","confirm_closing","confirm_deleting","section_description","section_time","section_type","column_text","column_start_date","column_duration","column_add","link","confirm_link_deleting","link_start","link_end","type_task","type_project","type_milestone","minutes","hours","days","weeks","months","years"],"mappings":";;;;;;;;AAkBAA,MAAMC,QACLC,MACCC,YAAa,UAAW,YAAa,QAAS,QAAS,OAAQ,QAAS,QAAS,SAAU,WAAY,UAAW,WAAY,YAC9HC,aAAc,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAC3FC,UAAW,UAAW,UAAW,QAAS,SAAU,SAAU,QAAS,UACvEC,WAAY,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,QAEvDC,QACCC,qBAAsB,OACtBC,QAAS,MACTC,SAAU,SACVC,UAAW,MACXC,UAAW,cACXC,UAAW,SACXC,YAAa;AACbC,aAAc,WACdC,UAAW,SACXC,YAAa,UACbC,gBAAiB,oDACjBC,iBAAkB,kCAClBC,oBAAqB,YACrBC,aAAc,mBACdC,aAAa,OAGbC,YAAc,cACdC,kBAAoB,cACpBC,gBAAkB,UAClBC,WAAa,GAGbC,KAAM,OACNC,sBAAsB,eACtBC,WAAY,YACZC,SAAU,SAEVC,UAAW,OACXC,aAAc,UACdC,eAAgB;AAGhBC,QAAS,UACTC,MAAO,QACPC,KAAM,OACNC,MAAO,UACPC,OAAQ,QACRC,MAAO"}
\ No newline at end of file
diff --git a/libraries/dhtmlxgantt/sources/locale/locale_ro.js b/libraries/dhtmlxgantt/sources/locale/locale_ro.js
deleted file mode 100644
index 5a3c9a7..0000000
--- a/libraries/dhtmlxgantt/sources/locale/locale_ro.js
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
-@license
-
-dhtmlxGantt v.3.2.0 Stardard
-This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited.
-
-(c) Dinamenta, UAB.
-*/
-/*
- Traducere de Ovidiu Lixandru: http://www.madball.ro
- */
-
-gantt.locale = {
- date:{
- month_full:["Ianuarie", "Februarie", "Martie", "Aprilie", "Mai", "Iunie", "Iulie", "August", "Septembrie", "Octombrie", "November", "December"],
- month_short:["Ian", "Feb", "Mar", "Apr", "Mai", "Iun", "Iul", "Aug", "Sep", "Oct", "Nov", "Dec"],
- day_full:["Duminica", "Luni", "Marti", "Miercuri", "Joi", "Vineri", "Sambata"],
- day_short:["Du", "Lu", "Ma", "Mi", "Jo", "Vi", "Sa"]
- },
- labels:{
- dhx_cal_today_button:"Astazi",
- day_tab:"Zi",
- week_tab:"Saptamana",
- month_tab:"Luna",
- new_event:"Eveniment nou",
- icon_save:"Salveaza",
- icon_cancel:"Anuleaza",
- icon_details:"Detalii",
- icon_edit:"Editeaza",
- icon_delete:"Sterge",
- confirm_closing:"Schimbarile nu vor fi salvate, esti sigur?",//Your changes will be lost, are your sure ?
- confirm_deleting:"Evenimentul va fi sters permanent, esti sigur?",
- section_description:"Descriere",
- section_time:"Interval",
- section_type:"Type",
- /* grid columns */
-
- column_text : "Task name",
- column_start_date : "Start time",
- column_duration : "Duration",
- column_add : "",
-
- /* link confirmation */
- link: "Link",
- confirm_link_deleting:"will be deleted",
- link_start: " (start)",
- link_end: " (end)",
-
- type_task: "Task",
- type_project: "Project",
- type_milestone: "Milestone",
-
-
- minutes: "Minutes",
- hours: "Hours",
- days: "Days",
- weeks: "Week",
- months: "Months",
- years: "Years"
- }
-};
-
diff --git a/libraries/dhtmlxgantt/sources/locale/locale_ro.js.map b/libraries/dhtmlxgantt/sources/locale/locale_ro.js.map
deleted file mode 100644
index 1817f20..0000000
--- a/libraries/dhtmlxgantt/sources/locale/locale_ro.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"locale_ro.js","sources":["locale_ro.js"],"names":["gantt","locale","date","month_full","month_short","day_full","day_short","labels","dhx_cal_today_button","day_tab","week_tab","month_tab","new_event","icon_save","icon_cancel","icon_details","icon_edit","icon_delete","confirm_closing","confirm_deleting","section_description","section_time","section_type","column_text","column_start_date","column_duration","column_add","link","confirm_link_deleting","link_start","link_end","type_task","type_project","type_milestone","minutes","hours","days","weeks","months","years"],"mappings":";;;;;;;;AAYAA,MAAMC,QACLC,MACCC,YAAY,WAAY,YAAa,SAAU,UAAW,MAAO,QAAS,QAAS,SAAU,aAAc,YAAa,WAAY,YACpIC,aAAa,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAC1FC,UAAU,WAAY,OAAQ,QAAS,WAAY,MAAO,SAAU,WACpEC,WAAW,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,OAEhDC,QACCC,qBAAqB,SACrBC,QAAQ,KACRC,SAAS,YACTC,UAAU,OACVC,UAAU,gBACVC,UAAU,WACVC,YAAY;AACZC,aAAa,UACbC,UAAU,WACVC,YAAY,SACZC,gBAAgB,6CAChBC,iBAAiB,iDACjBC,oBAAoB,YACpBC,aAAa,WACbC,aAAa,OAGPC,YAAc,YACdC,kBAAoB,aACpBC,gBAAkB,WAClBC,WAAa,GAGnBC,KAAM,OACNC,sBAAsB,kBACtBC,WAAY,WACZC,SAAU,SAEVC,UAAW,OACXC,aAAc,UACdC,eAAgB;AAGVC,QAAS,UACTC,MAAO,QACPC,KAAM,OACNC,MAAO,OACPC,OAAQ,SACRC,MAAO"}
\ No newline at end of file
diff --git a/libraries/dhtmlxgantt/sources/locale/locale_ru.js b/libraries/dhtmlxgantt/sources/locale/locale_ru.js
deleted file mode 100644
index 8168b5f..0000000
--- a/libraries/dhtmlxgantt/sources/locale/locale_ru.js
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
-@license
-
-dhtmlxGantt v.3.2.0 Stardard
-This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited.
-
-(c) Dinamenta, UAB.
-*/
-gantt.locale = {
- date: {
- month_full: ["Январь", "Февраль", "Март", "Апрель", "Maй", "Июнь", "Июль", "Август", "Сентябрь", "Oктябрь", "Ноябрь", "Декабрь"],
- month_short: ["Янв", "Фев", "Maр", "Aпр", "Maй", "Июн", "Июл", "Aвг", "Сен", "Окт", "Ноя", "Дек"],
- day_full: [ "Воскресенье", "Понедельник", "Вторник", "Среда", "Четверг", "Пятница", "Суббота"],
- day_short: ["Вс", "Пн", "Вт", "Ср", "Чт", "Пт", "Сб"]
- },
- labels: {
- dhx_cal_today_button: "Сегодня",
- day_tab: "День",
- week_tab: "Неделя",
- month_tab: "Месяц",
- new_event: "Новое событие",
- icon_save: "Сохранить",
- icon_cancel: "Отменить",
- icon_details: "Детали",
- icon_edit: "Изменить",
- icon_delete: "Удалить",
- confirm_closing: "", //Ваши изменения будут потеряны, продолжить?
- confirm_deleting: "Событие будет удалено безвозвратно, продолжить?",
- section_description: "Описание",
- section_time: "Период времени",
- section_type:"Тип",
- /* grid columns */
-
- column_text : "Задача",
- column_start_date : "Начало",
- column_duration : "Длительность",
- column_add : "",
-
- /* link confirmation */
- link: "Связь",
- confirm_link_deleting:"будет удалена",
- link_start: " (начало)",
- link_end: " (конец)",
-
- type_task: "Task",
- type_project: "Project",
- type_milestone: "Milestone",
-
-
- minutes: "Минута",
- hours: "Час",
- days: "День",
- weeks: "Неделя",
- months: "Месяц",
- years: "Год"
- }
-};
-
diff --git a/libraries/dhtmlxgantt/sources/locale/locale_ru.js.map b/libraries/dhtmlxgantt/sources/locale/locale_ru.js.map
deleted file mode 100644
index c672a44..0000000
--- a/libraries/dhtmlxgantt/sources/locale/locale_ru.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"locale_ru.js","sources":["locale_ru.js"],"names":["gantt","locale","date","month_full","month_short","day_full","day_short","labels","dhx_cal_today_button","day_tab","week_tab","month_tab","new_event","icon_save","icon_cancel","icon_details","icon_edit","icon_delete","confirm_closing","confirm_deleting","section_description","section_time","section_type","column_text","column_start_date","column_duration","column_add","link","confirm_link_deleting","link_start","link_end","type_task","type_project","type_milestone","minutes","hours","days","weeks","months","years"],"mappings":";;;;;;;;AAQAA,MAAMC,QACLC,MACCC,YAAa,SAAU,UAAW,OAAQ,SAAU,MAAO,OAAQ,OAAQ,SAAU,WAAY,UAAW,SAAU,WACtHC,aAAc,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAC3FC,UAAY,cAAe,cAAe,UAAW,QAAS,UAAW,UAAW,WACpFC,WAAY,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,OAEjDC,QACCC,qBAAsB,UACtBC,QAAS,OACTC,SAAU,SACVC,UAAW,QACXC,UAAW,gBACXC,UAAW,YACXC,YAAa;AACbC,aAAc,SACdC,UAAW,WACXC,YAAa,UACbC,gBAAiB,GACjBC,iBAAkB,kDAClBC,oBAAqB,WACrBC,aAAc,iBACdC,aAAa,MAGPC,YAAc,SACdC,kBAAoB,SACpBC,gBAAkB,eAClBC,WAAa,GAGnBC,KAAM,QACNC,sBAAsB,gBACtBC,WAAY,YACZC,SAAU,WAEVC,UAAW,OACXC,aAAc,UACdC,eAAgB,YAGVC,QAAS;AACTC,MAAO,MACPC,KAAM,OACNC,MAAO,SACPC,OAAQ,QACRC,MAAO"}
\ No newline at end of file
diff --git a/libraries/dhtmlxgantt/sources/locale/locale_si.js b/libraries/dhtmlxgantt/sources/locale/locale_si.js
deleted file mode 100644
index de68c5c..0000000
--- a/libraries/dhtmlxgantt/sources/locale/locale_si.js
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
-@license
-
-dhtmlxGantt v.3.2.0 Stardard
-This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited.
-
-(c) Dinamenta, UAB.
-*/
-gantt.locale = {
- date: {
- month_full: ["Januar", "Februar", "Marec", "April", "Maj", "Junij", "Julij", "Avgust", "September", "Oktober", "November", "December"],
- month_short: ["Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec"],
- day_full: ["Nedelja", "Ponedeljek", "Torek", "Sreda", "Četrtek", "Petek", "Sobota"],
- day_short: ["Ned", "Pon", "Tor", "Sre", "Čet", "Pet", "Sob"]
- },
- labels: {
- dhx_cal_today_button: "Danes",
- day_tab: "Dan",
- week_tab: "Teden",
- month_tab: "Mesec",
- new_event: "Nov dogodek",
- icon_save: "Shrani",
- icon_cancel: "Prekliči",
- icon_details: "Podrobnosti",
- icon_edit: "Uredi",
- icon_delete: "Izbriši",
- confirm_closing: "", //Spremembe ne bodo shranjene. Želite nadaljevati ?
- confirm_deleting: "Dogodek bo izbrisan. Želite nadaljevati?",
- section_description: "Opis",
- section_time: "Časovni okvir",
- section_type:"Type",
- /* grid columns */
-
- column_text : "Task name",
- column_start_date : "Start time",
- column_duration : "Duration",
- column_add : "",
-
- /* link confirmation */
- link: "Link",
- confirm_link_deleting:"will be deleted",
- link_start: " (start)",
- link_end: " (end)",
-
- type_task: "Task",
- type_project: "Project",
- type_milestone: "Milestone",
-
-
- minutes: "Minutes",
- hours: "Hours",
- days: "Days",
- weeks: "Week",
- months: "Months",
- years: "Years"
- }
-};
-
diff --git a/libraries/dhtmlxgantt/sources/locale/locale_si.js.map b/libraries/dhtmlxgantt/sources/locale/locale_si.js.map
deleted file mode 100644
index 075866d..0000000
--- a/libraries/dhtmlxgantt/sources/locale/locale_si.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"locale_si.js","sources":["locale_si.js"],"names":["gantt","locale","date","month_full","month_short","day_full","day_short","labels","dhx_cal_today_button","day_tab","week_tab","month_tab","new_event","icon_save","icon_cancel","icon_details","icon_edit","icon_delete","confirm_closing","confirm_deleting","section_description","section_time","section_type","column_text","column_start_date","column_duration","column_add","link","confirm_link_deleting","link_start","link_end","type_task","type_project","type_milestone","minutes","hours","days","weeks","months","years"],"mappings":";;;;;;;;AAQAA,MAAMC,QACLC,MACCC,YAAa,SAAU,UAAW,QAAS,QAAS,MAAO,QAAS,QAAS,SAAU,YAAa,UAAW,WAAY,YAC3HC,aAAc,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAC3FC,UAAW,UAAW,aAAc,QAAS,QAAS,UAAW,QAAS,UAC1EC,WAAY,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,QAEvDC,QACCC,qBAAsB,QACtBC,QAAS,MACTC,SAAU,QACVC,UAAW,QACXC,UAAW,cACXC,UAAW,SACXC,YAAa;AACbC,aAAc,cACdC,UAAW,QACXC,YAAa,UACbC,gBAAiB,GACjBC,iBAAkB,2CAClBC,oBAAqB,OACrBC,aAAc,gBACdC,aAAa,OAGPC,YAAc,YACdC,kBAAoB,aACpBC,gBAAkB,WAClBC,WAAa,GAGnBC,KAAM,OACNC,sBAAsB,kBACtBC,WAAY,WACZC,SAAU,SAEVC,UAAW,OACXC,aAAc,UACdC,eAAgB,YAGVC,QAAS,UACTC,MAAO;AACPC,KAAM,OACNC,MAAO,OACPC,OAAQ,SACRC,MAAO"}
\ No newline at end of file
diff --git a/libraries/dhtmlxgantt/sources/locale/locale_sk.js b/libraries/dhtmlxgantt/sources/locale/locale_sk.js
deleted file mode 100644
index ca52273..0000000
--- a/libraries/dhtmlxgantt/sources/locale/locale_sk.js
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
-@license
-
-dhtmlxGantt v.3.2.0 Stardard
-This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited.
-
-(c) Dinamenta, UAB.
-*/
-gantt.locale = {
- date: {
- month_full: ["Január", "Február", "Marec", "Apríl", "Máj", "Jún", "Júl", "August", "September", "Október", "November", "December"],
- month_short: ["Jan", "Feb", "Mar", "Apr", "Máj", "Jún", "Júl", "Aug", "Sept", "Okt", "Nov", "Dec"],
- day_full: ["Nedeľa", "Pondelok", "Utorok", "Streda", "Štvrtok", "Piatok", "Sobota"],
- day_short: ["Ne", "Po", "Ut", "St", "Št", "Pi", "So"]
- },
- labels: {
- dhx_cal_today_button: "Dnes",
- day_tab: "Deň",
- week_tab: "Týždeň",
- month_tab: "Mesiac",
- new_event: "Nová udalosť",
- icon_save: "Uložiť",
- icon_cancel: "Späť",
- icon_details: "Detail",
- icon_edit: "Edituj",
- icon_delete: "Zmazať",
- confirm_closing: "Vaše zmeny nebudú uložené. Skutočne?", //Vaše změny budou ztraceny, opravdu ?
- confirm_deleting: "Udalosť bude natrvalo vymazaná. Skutočne?",
- section_description: "Poznámky",
- section_time: "Doba platnosti",
- section_type:"Type",
- /* grid columns */
-
- column_text : "Task name",
- column_start_date : "Start time",
- column_duration : "Duration",
- column_add : "",
-
- /* link confirmation */
- link: "Link",
- confirm_link_deleting:"will be deleted",
- link_start: " (start)",
- link_end: " (end)",
-
- type_task: "Task",
- type_project: "Project",
- type_milestone: "Milestone",
-
-
- minutes: "Minutes",
- hours: "Hours",
- days: "Days",
- weeks: "Week",
- months: "Months",
- years: "Years"
- }
-};
-
diff --git a/libraries/dhtmlxgantt/sources/locale/locale_sk.js.map b/libraries/dhtmlxgantt/sources/locale/locale_sk.js.map
deleted file mode 100644
index ede642b..0000000
--- a/libraries/dhtmlxgantt/sources/locale/locale_sk.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"locale_sk.js","sources":["locale_sk.js"],"names":["gantt","locale","date","month_full","month_short","day_full","day_short","labels","dhx_cal_today_button","day_tab","week_tab","month_tab","new_event","icon_save","icon_cancel","icon_details","icon_edit","icon_delete","confirm_closing","confirm_deleting","section_description","section_time","section_type","column_text","column_start_date","column_duration","column_add","link","confirm_link_deleting","link_start","link_end","type_task","type_project","type_milestone","minutes","hours","days","weeks","months","years"],"mappings":";;;;;;;;AAQAA,MAAMC,QACLC,MACCC,YAAa,SAAU,UAAW,QAAS,QAAS,MAAO,MAAO,MAAO,SAAU,YAAa,UAAW,WAAY,YACvHC,aAAc,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,MAAO,MAAO,OAC5FC,UAAW,SAAU,WAAY,SAAU,SAAU,UAAW,SAAU,UAC1EC,WAAY,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,OAEjDC,QACCC,qBAAsB,OACtBC,QAAS,MACTC,SAAU,SACVC,UAAW,SACXC,UAAW,eACXC,UAAW,SACXC,YAAa;AACbC,aAAc,SACdC,UAAW,SACXC,YAAa,SACbC,gBAAiB,uCACjBC,iBAAkB,4CAClBC,oBAAqB,WACrBC,aAAc,iBACdC,aAAa,OAGPC,YAAc,YACdC,kBAAoB,aACpBC,gBAAkB,WAClBC,WAAa,GAGnBC,KAAM,OACNC,sBAAsB,kBACtBC,WAAY,WACZC,SAAU,SAEVC,UAAW,OACXC,aAAc,UACdC,eAAgB;AAGVC,QAAS,UACTC,MAAO,QACPC,KAAM,OACNC,MAAO,OACPC,OAAQ,SACRC,MAAO"}
\ No newline at end of file
diff --git a/libraries/dhtmlxgantt/sources/locale/locale_sv.js b/libraries/dhtmlxgantt/sources/locale/locale_sv.js
deleted file mode 100644
index 34e53a3..0000000
--- a/libraries/dhtmlxgantt/sources/locale/locale_sv.js
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
-@license
-
-dhtmlxGantt v.3.2.0 Stardard
-This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited.
-
-(c) Dinamenta, UAB.
-*/
-/*
- Translation by Peter Eriksson
- */
-gantt.locale = {
- date: {
- month_full: ["Januari", "Februari", "Mars", "April", "Maj", "Juni", "Juli", "Augusti", "September", "Oktober", "November", "December"],
- month_short: ["Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec"],
- day_full: ["Söndag", "Måndag", "Tisdag", "Onsdag", "Torsdag", "Fredag", "Lördag"],
- day_short: ["Sön", "Mån", "Tis", "Ons", "Tor", "Fre", "Lör"]
- },
- labels: {
- dhx_cal_today_button: "Idag",
- day_tab: "Dag",
- week_tab: "Vecka",
- month_tab: "Månad",
- new_event: "Ny händelse",
- icon_save: "Spara",
- icon_cancel: "Avbryt",
- icon_details: "Detajer",
- icon_edit: "Ändra",
- icon_delete: "Ta bort",
- confirm_closing: "",
- confirm_deleting: "Är du säker på att du vill ta bort händelsen permanent?",
- section_description: "Beskrivning",
- section_time: "Tid",
- section_type: "Typ",
-
- /* grid columns */
-
- column_text: "Uppgiftsnamn",
- column_start_date: "Starttid",
- column_duration: "Varaktighet",
- column_add: "",
-
- /* link confirmation */
-
- link: "Länk",
- confirm_link_deleting: "kommer tas bort",
- link_start: " (start)",
- link_end: " (slut)",
- type_task: "Uppgift",
- type_project: "Projekt",
- type_milestone: "Milstolpe",
-
- minutes: "Minuter",
- hours: "Timmar",
- days: "Dagar",
- weeks: "Veckor",
- months: "Månader",
- years: "År"
- }
-};
\ No newline at end of file
diff --git a/libraries/dhtmlxgantt/sources/locale/locale_sv.js.map b/libraries/dhtmlxgantt/sources/locale/locale_sv.js.map
deleted file mode 100644
index f9a23f2..0000000
--- a/libraries/dhtmlxgantt/sources/locale/locale_sv.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"locale_sv.js","sources":["locale_sv.js"],"names":["gantt","locale","date","month_full","month_short","day_full","day_short","labels","dhx_cal_today_button","day_tab","week_tab","month_tab","new_event","icon_save","icon_cancel","icon_details","icon_edit","icon_delete","confirm_closing","confirm_deleting","section_description","section_time","section_type","column_text","column_start_date","column_duration","column_add","link","confirm_link_deleting","link_start","link_end","type_task","type_project","type_milestone","minutes","hours","days","weeks","months","years"],"mappings":";;;;;;;;AAWAA,MAAMC,QACLC,MACCC,YAAa,UAAW,WAAY,OAAQ,QAAS,MAAO,OAAQ,OAAQ,UAAW,YAAa,UAAW,WAAY,YAC3HC,aAAc,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAC3FC,UAAW,SAAU,SAAU,SAAU,SAAU,UAAW,SAAU,UACxEC,WAAY,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,QAEvDC,QACCC,qBAAsB,OACtBC,QAAS,MACTC,SAAU,QACVC,UAAW,QACXC,UAAW,cACXC,UAAW,QACXC,YAAa;AACbC,aAAc,UACdC,UAAW,QACXC,YAAa,UACbC,gBAAiB,GACjBC,iBAAkB,0DAClBC,oBAAqB,cACrBC,aAAc,MACdC,aAAc,MAIdC,YAAa,eACbC,kBAAmB,WACnBC,gBAAiB,cACjBC,WAAY,GAIZC,KAAM,OACNC,sBAAuB,kBACvBC,WAAY,WACZC,SAAU,UACVC,UAAW,UACXC,aAAc,UACdC,eAAgB,YAEhBC,QAAS;AACTC,MAAO,SACPC,KAAM,QACNC,MAAO,SACPC,OAAQ,UACRC,MAAO"}
\ No newline at end of file
diff --git a/libraries/dhtmlxgantt/sources/locale/locale_tr.js b/libraries/dhtmlxgantt/sources/locale/locale_tr.js
deleted file mode 100644
index a6b1b6d..0000000
--- a/libraries/dhtmlxgantt/sources/locale/locale_tr.js
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
-@license
-
-dhtmlxGantt v.3.2.0 Stardard
-This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited.
-
-(c) Dinamenta, UAB.
-*/
-gantt.locale = {
- date: {
- month_full: ["Ocak", "Þubat", "Mart", "Nisan", "Mayýs", "Haziran", "Temmuz", "Aðustos", "Eylül", "Ekim", "Kasým", "Aralýk"],
- month_short: ["Oca", "Þub", "Mar", "Nis", "May", "Haz", "Tem", "Aðu", "Eyl", "Eki", "Kas", "Ara"],
- day_full: ["Pazar", "Pazartes,", "Salý", "Çarþamba", "Perþembe", "Cuma", "Cumartesi"],
- day_short: ["Paz", "Pts", "Sal", "Çar", "Per", "Cum", "Cts"]
- },
- labels: {
- dhx_cal_today_button: "Bugün",
- day_tab: "Gün",
- week_tab: "Hafta",
- month_tab: "Ay",
- new_event: "Uygun",
- icon_save: "Kaydet",
- icon_cancel: "Ýptal",
- icon_details: "Detaylar",
- icon_edit: "Düzenle",
- icon_delete: "Sil",
- confirm_closing: "", //Your changes will be lost, are your sure ?
- confirm_deleting: "Etkinlik silinecek, devam?",
- section_description: "Açýklama",
- section_time: "Zaman aralýðý",
- section_type:"Type",
- /* grid columns */
-
- column_text : "Task name",
- column_start_date : "Start time",
- column_duration : "Duration",
- column_add : "",
-
- /* link confirmation */
- link: "Link",
- confirm_link_deleting:"will be deleted",
- link_start: " (start)",
- link_end: " (end)",
-
- type_task: "Task",
- type_project: "Project",
- type_milestone: "Milestone",
-
-
- minutes: "Minutes",
- hours: "Hours",
- days: "Days",
- weeks: "Week",
- months: "Months",
- years: "Years"
- }
-};
-
diff --git a/libraries/dhtmlxgantt/sources/locale/locale_tr.js.map b/libraries/dhtmlxgantt/sources/locale/locale_tr.js.map
deleted file mode 100644
index 148090a..0000000
--- a/libraries/dhtmlxgantt/sources/locale/locale_tr.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"locale_tr.js","sources":["locale_tr.js"],"names":["gantt","locale","date","month_full","month_short","day_full","day_short","labels","dhx_cal_today_button","day_tab","week_tab","month_tab","new_event","icon_save","icon_cancel","icon_details","icon_edit","icon_delete","confirm_closing","confirm_deleting","section_description","section_time","section_type","column_text","column_start_date","column_duration","column_add","link","confirm_link_deleting","link_start","link_end","type_task","type_project","type_milestone","minutes","hours","days","weeks","months","years"],"mappings":";;;;;;;;AAQAA,MAAMC,QACLC,MACCC,YAAa,OAAQ,QAAS,OAAQ,QAAS,QAAS,UAAW,SAAU,UAAW,QAAS,OAAQ,QAAS,UAClHC,aAAc,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAC3FC,UAAW,QAAS,YAAa,OAAQ,WAAY,WAAY,OAAQ,aACzEC,WAAY,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,QAEvDC,QACCC,qBAAsB,QACtBC,QAAS,MACTC,SAAU,QACVC,UAAW,KACXC,UAAW,QACXC,UAAW,SACXC,YAAa,QACbC,aAAc;AACdC,UAAW,UACXC,YAAa,MACbC,gBAAiB,GACjBC,iBAAkB,6BAClBC,oBAAqB,WACrBC,aAAc,gBACdC,aAAa,OAGPC,YAAc,YACdC,kBAAoB,aACpBC,gBAAkB,WAClBC,WAAa,GAGnBC,KAAM,OACNC,sBAAsB,kBACtBC,WAAY,WACZC,SAAU,SAEVC,UAAW,OACXC,aAAc,UACdC,eAAgB,YAGVC,QAAS,UACTC,MAAO,QACPC,KAAM,OACNC,MAAO,OACPC,OAAQ;AACRC,MAAO"}
\ No newline at end of file
diff --git a/libraries/dhtmlxgantt/sources/locale/locale_ua.js b/libraries/dhtmlxgantt/sources/locale/locale_ua.js
deleted file mode 100644
index be43e6d..0000000
--- a/libraries/dhtmlxgantt/sources/locale/locale_ua.js
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
-@license
-
-dhtmlxGantt v.3.2.0 Stardard
-This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited.
-
-(c) Dinamenta, UAB.
-*/
-gantt.locale = {
- date: {
- month_full: ["Січень", "Лютий", "Березень", "Квітень", "Травень", "Червень", "Липень", "Серпень", "Вересень", "Жовтень", "Листопад", "Грудень"],
- month_short: ["Січ", "Лют", "Бер", "Кві", "Тра", "Чер", "Лип", "Сер", "Вер", "Жов", "Лис", "Гру"],
- day_full: ["Неділя", "Понеділок", "Вівторок", "Середа", "Четвер", "П'ятниця", "Субота"],
- day_short: ["Нед", "Пон", "Вів", "Сер", "Чет", "Птн", "Суб"]
- },
- labels: {
- dhx_cal_today_button: "Сьогодні",
- day_tab: "День",
- week_tab: "Тиждень",
- month_tab: "Місяць",
- new_event: "Нова подія",
- icon_save: "Зберегти",
- icon_cancel: "Відміна",
- icon_details: "Деталі",
- icon_edit: "Редагувати",
- icon_delete: "Вилучити",
- confirm_closing: "", //Ваші зміни втратяться. Ви впевнені ?
- confirm_deleting: "Подія вилучиться назавжди. Ви впевнені?",
- section_description: "Опис",
- section_time: "Часовий проміжок",
- section_type:"Тип",
- /* grid columns */
-
- column_text : "Task name",
- column_start_date : "Start time",
- column_duration : "Duration",
- column_add : "",
-
- /* link confirmation */
- link: "Link",
- confirm_link_deleting:"will be deleted",
- link_start: " (start)",
- link_end: " (end)",
-
- type_task: "Task",
- type_project: "Project",
- type_milestone: "Milestone",
-
-
- minutes: "Minutes",
- hours: "Hours",
- days: "Days",
- weeks: "Week",
- months: "Months",
- years: "Years"
- }
-};
-
diff --git a/libraries/dhtmlxgantt/sources/locale/locale_ua.js.map b/libraries/dhtmlxgantt/sources/locale/locale_ua.js.map
deleted file mode 100644
index 3beb58b..0000000
--- a/libraries/dhtmlxgantt/sources/locale/locale_ua.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"locale_ua.js","sources":["locale_ua.js"],"names":["gantt","locale","date","month_full","month_short","day_full","day_short","labels","dhx_cal_today_button","day_tab","week_tab","month_tab","new_event","icon_save","icon_cancel","icon_details","icon_edit","icon_delete","confirm_closing","confirm_deleting","section_description","section_time","section_type","column_text","column_start_date","column_duration","column_add","link","confirm_link_deleting","link_start","link_end","type_task","type_project","type_milestone","minutes","hours","days","weeks","months","years"],"mappings":";;;;;;;;AAQAA,MAAMC,QACLC,MACCC,YAAa,SAAU,QAAS,WAAY,UAAW,UAAW,UAAW,SAAU,UAAW,WAAY,UAAW,WAAY,WACrIC,aAAc,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAC3FC,UAAW,SAAU,YAAa,WAAY,SAAU,SAAU,WAAY,UAC9EC,WAAY,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,QAEvDC,QACCC,qBAAsB,WACtBC,QAAS,OACTC,SAAU,UACVC,UAAW,SACXC,UAAW,aACXC,UAAW;AACXC,YAAa,UACbC,aAAc,SACdC,UAAW,aACXC,YAAa,WACbC,gBAAiB,GACjBC,iBAAkB,0CAClBC,oBAAqB,OACrBC,aAAc,mBACdC,aAAa,MAGPC,YAAc,YACdC,kBAAoB,aACpBC,gBAAkB,WAClBC,WAAa,GAGnBC,KAAM,OACNC,sBAAsB,kBACtBC,WAAY,WACZC,SAAU,SAEVC,UAAW,OACXC,aAAc,UACdC,eAAgB;AAGVC,QAAS,UACTC,MAAO,QACPC,KAAM,OACNC,MAAO,OACPC,OAAQ,SACRC,MAAO"}
\ No newline at end of file
diff --git a/libraries/dhtmlxgantt/sources/skins/dhtmlxgantt_broadway.css b/libraries/dhtmlxgantt/sources/skins/dhtmlxgantt_broadway.css
deleted file mode 100644
index ebb0cc4..0000000
--- a/libraries/dhtmlxgantt/sources/skins/dhtmlxgantt_broadway.css
+++ /dev/null
@@ -1,1524 +0,0 @@
-/*
-@license
-
-dhtmlxGantt v.3.2.0 Stardard
-This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited.
-
-(c) Dinamenta, UAB.
-*/
-/*lighten(@alterColor,7%)*/
-/* colors for items with inline styles assigned (task.color, link.color)*/
-.gantt_grid {
- background-color: #d6d6d6;
- border-right: 1px solid #d6d6d6 !important;
-}
-.gantt_grid_scale {
- background-color: #4f4f4f;
- background-size: 5px 5px;
- background-size: 4px 4px;
- background-position: 0px 0px, 2px 2px;
- background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.05) 25%, transparent 25%, transparent 75%, rgba(255, 255, 255, 0.05) 75%, rgba(255, 255, 255, 0.05)), linear-gradient(45deg, rgba(255, 255, 255, 0.05) 25%, transparent 25%, transparent 75%, rgba(255, 255, 255, 0.05) 75%, rgba(255, 255, 255, 0.05));
- background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.05) 25%, transparent 25%, transparent 75%, rgba(255, 255, 255, 0.05) 75%, rgba(255, 255, 255, 0.05)), linear-gradient(45deg, rgba(255, 255, 255, 0.05) 25%, transparent 25%, transparent 75%, rgba(255, 255, 255, 0.05) 75%, rgba(255, 255, 255, 0.05));
- background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.05) 25%, transparent 25%, transparent 75%, rgba(255, 255, 255, 0.05) 75%, rgba(255, 255, 255, 0.05)), linear-gradient(45deg, rgba(255, 255, 255, 0.05) 25%, transparent 25%, transparent 75%, rgba(255, 255, 255, 0.05) 75%, rgba(255, 255, 255, 0.05));
- color: #e1e1e1;
- font-size: 14px;
-}
-.gantt_grid_scale .gantt_grid_head_cell {
- border-top: none !important;
- border-right: 1px solid #4f4f4f !important;
- border-left: 1px solid #5b5b5b !important;
-}
-.gantt_grid_data .gantt_row,
-.gantt_grid_data .gantt_row.odd {
- background-color: #dbdbdb;
- border-top: 1px solid #f6f6f6;
- border-bottom: 1px solid #bababa;
-}
-.gantt_grid_data .gantt_row .gantt_cell,
-.gantt_grid_data .gantt_row.odd .gantt_cell {
- border-right: none;
-}
-.gridHoverStyle {
- border-top: 1px solid #ededed;
- background-color: #ededed;
-}
-.gridSelection {
- background-color: #fff3a1;
- border-top-color: #fff087;
-}
-.timelineSelection {
- background-color: #fff3a1;
-}
-/*Tree icons*/
-.gantt_cell .gantt_tree_icon.gantt_folder_open {
- background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAPCAYAAAACsSQRAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6ODhBMDIwQzhDRUI3MTFFMjg4RUJDNUMzQkZEREM2RDIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6ODhBMDIwQzlDRUI3MTFFMjg4RUJDNUMzQkZEREM2RDIiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo4OEEwMjBDNkNFQjcxMUUyODhFQkM1QzNCRkREQzZEMiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo4OEEwMjBDN0NFQjcxMUUyODhFQkM1QzNCRkREQzZEMiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PntuzoIAAACySURBVHjaYmTAAjo6Ov4z4AAVFRWM6GJM6ALt7e0OUCYjFowsDwfIEjDbDRgZGSf8//8fUzEj4wGgeAGQeQFJ+CIj0IALQEl9BjIB0NADTJQYAHWdAxMDFQBVDGEB+ukgxYYAcQNSzCCnh4NY0o89VkOAAbMfV5gBNR0AytuDXAs01AEUxbhcwoAj1c4HaUTi9wMNwWnb/0ERO0xA/z6k0IyP4NgBGpRApgEfgHgBQIABAAcyQOF3e6FiAAAAAElFTkSuQmCC);
-}
-.gantt_cell .gantt_tree_icon.gantt_folder_closed {
- background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAPCAYAAAACsSQRAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6ODhBMDIwQzhDRUI3MTFFMjg4RUJDNUMzQkZEREM2RDIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6ODhBMDIwQzlDRUI3MTFFMjg4RUJDNUMzQkZEREM2RDIiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo4OEEwMjBDNkNFQjcxMUUyODhFQkM1QzNCRkREQzZEMiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo4OEEwMjBDN0NFQjcxMUUyODhFQkM1QzNCRkREQzZEMiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PntuzoIAAACySURBVHjaYmTAAjo6Ov4z4AAVFRWM6GJM6ALt7e0OUCYjFowsDwfIEjDbDRgZGSf8//8fUzEj4wGgeAGQeQFJ+CIj0IALQEl9BjIB0NADTJQYAHWdAxMDFQBVDGEB+ukgxYYAcQNSzCCnh4NY0o89VkOAAbMfV5gBNR0AytuDXAs01AEUxbhcwoAj1c4HaUTi9wMNwWnb/0ERO0xA/z6k0IyP4NgBGpRApgEfgHgBQIABAAcyQOF3e6FiAAAAAElFTkSuQmCC);
-}
-.gantt_cell .gantt_tree_icon.gantt_file {
- background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6RkQ2NjJFM0ZDRUI3MTFFMkFGNzc4M0YxNUM2NzkwMTIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6RkQ2NjJFNDBDRUI3MTFFMkFGNzc4M0YxNUM2NzkwMTIiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpGRDY2MkUzRENFQjcxMUUyQUY3NzgzRjE1QzY3OTAxMiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpGRDY2MkUzRUNFQjcxMUUyQUY3NzgzRjE1QzY3OTAxMiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PhnnqLUAAAExSURBVHjanFPtUcMwDI28AB0BJkg6AWEEJqAbxPxLJkh+phuUDdiAbtAwAYxAJ0jf60k51ecWDt3pZFtPn5akSKjv+3uIBlyLSMW3eZ4niD1423Xdt8dLYjzCqCluEJyNcPJq9+CMJzMGaAtet20rZJ7Bb+eIIhHYw0UGLvIRwBoRplx04CrgWModgwAXhTXj8Usjr73xMAwzJbNInBwU/8ASoqV9LbInYqwc2tJBrZdd8XcaVT4GpFOa52topL1Ks9CGVuGXL/vU40fqZPlGA7E5GX1NvQ7U4sSw1AWdMNIm07CfxIn1K6rcB2sI5yCXhXPyjPO7fuOLNfNikAAi+OnWILEUYFfLICWjXGptO12cyRk20G+sduiq/y7TOXJ2G906R13n0n0nmz2m63wSYAB0aMIyVTQbywAAAABJRU5ErkJggg==);
-}
-/*
- Gantt part
-*/
-.chartHeaderBg {
- background-color: #dbdbdb;
-}
-.gantt_task .gantt_task_scale .gantt_scale_cell {
- border-left: 1px solid #f6f6f6;
- border-right: 1px solid #bababa;
- color: #494949;
- font-size: 14px;
-}
-/*
- Tasks
-*/
-.taskProgressStyle {
- border-right: 1px solid #1cb3fb;
- box-shadow: -1px 0px 0 1px #04a1eb inset;
-}
-.gantt_task_line {
- background-size: 4px 4px;
- background-image: -webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);
- background-image: linear-gradient(135deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);
- background-image: -moz-linear-gradient(0deg, transparent, transparent);
-}
-.gantt_task_line .gantt_task_content {
- text-align: left;
- font-weight: bold;
- padding: 0 8px;
- box-sizing: border-box;
-}
-.gantt_task_link .gantt_link_arrow_right {
- border-width: 5px 5px 5px 5px;
- margin-top: -2px;
-}
-.gantt_task_link .gantt_link_arrow_left {
- border-width: 5px 5px 5px 5px;
- margin-left: -7px;
- margin-top: -2px;
-}
-.gantt_task_link .gantt_link_arrow_top {
- border-width: 5px 5px 5px 5px;
-}
-.gantt_task_link .gantt_link_arrow_down {
- border-width: 5px 5px 5px 5px;
-}
-.gantt_task_line .gantt_task_progress_drag {
- bottom: -4px;
- height: 16px;
- margin-left: -8px;
- width: 16px;
-}
-/*
- project highlight
-*/
-.gantt_row.gantt_project,
-.gantt_row.odd.gantt_project {
- background-color: #edffef;
-}
-.gantt_task_row.gantt_project,
-.gantt_task_row.odd.gantt_project {
- background-color: #f5fff6;
-}
-.gantt_task_line.gantt_project {
- background-color: #65c16f;
- border: 1px solid #3c9445;
-}
-.gantt_task_line.gantt_project .gantt_task_progress {
- background-color: #46ad51;
- border-right: 1px solid #5abc65;
- box-shadow: -1px 0px 0 1px #45a94f inset;
-}
-/*
- milestone
-*/
-/*
- lightbox
-*/
-.gantt_cal_light {
- background-color: #ffffff;
- border: none !important;
-}
-.gantt_cal_light .gantt_cal_lsection {
- color: #959595;
-}
-.gantt_cal_light .gantt_cal_larea {
- border-bottom: none;
-}
-.gantt_cal_light .gantt_cal_ltitle {
- background-color: #4f4f4f;
- background-size: 5px 5px;
- background-size: 4px 4px;
- background-position: 0px 0px, 2px 2px;
- background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.05) 25%, transparent 25%, transparent 75%, rgba(255, 255, 255, 0.05) 75%, rgba(255, 255, 255, 0.05)), linear-gradient(45deg, rgba(255, 255, 255, 0.05) 25%, transparent 25%, transparent 75%, rgba(255, 255, 255, 0.05) 75%, rgba(255, 255, 255, 0.05));
- background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.05) 25%, transparent 25%, transparent 75%, rgba(255, 255, 255, 0.05) 75%, rgba(255, 255, 255, 0.05)), linear-gradient(45deg, rgba(255, 255, 255, 0.05) 25%, transparent 25%, transparent 75%, rgba(255, 255, 255, 0.05) 75%, rgba(255, 255, 255, 0.05));
- background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.05) 25%, transparent 25%, transparent 75%, rgba(255, 255, 255, 0.05) 75%, rgba(255, 255, 255, 0.05)), linear-gradient(45deg, rgba(255, 255, 255, 0.05) 25%, transparent 25%, transparent 75%, rgba(255, 255, 255, 0.05) 75%, rgba(255, 255, 255, 0.05));
- font-size: 14px;
- color: #e1e1e1;
- position: relative;
- padding-top: 12px;
- padding-bottom: 12px;
- font-weight: normal;
-}
-.gantt_cal_light .gantt_cal_ltitle .gantt_title {
- font-size: 13px;
-}
-.gantt_cal_light .gantt_btn_set {
- margin: 5px 10px;
-}
-.buttonBg {
- background: #fff;
-}
-.gantt_btn_set.gantt_save_btn_set {
- background: #46ad51;
- text-shadow: 0 -1px 0 #307738;
- color: #fff;
-}
-.gantt_btn_set.gantt_delete_btn_set {
- margin-left: 0;
- text-shadow: 0 -1px 0 #6f6f6f;
- background: #ec8e00;
- text-shadow: 0 -1px 0 #aa6600;
- color: #fff;
-}
-.gantt_delete_btn {
- margin-top: 2px;
- width: 20px;
-}
-.gantt_cal_light_wide {
- padding-left: 0 !important;
- padding-right: 0 !important;
-}
-.gantt_cal_light_wide .gantt_cal_larea {
- border-left: none !important;
- border-right: none !important;
-}
-.gantt_cal_ltitle .gantt_cancel_btn {
- background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAMCAYAAABbayygAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3QYLEgAjh/DRnAAAAMdJREFUGNN1kcsNwjAQRF9iCkgJdJCUkBJQpDkDFUALdBAqAM6WQglQAlxzSglQgAUH1tIKgS9ezzztz0Vd18QYW0lXfpzsFeM49sAGOEpaf0FHYAnsS6evYoy9g3qDAB6Flb4BtYk568Huu6RmBhBCaFNKV4MPrso9hNAClABd1z2ABfB00BNYmEf5NeTrT/wBh2GogDNQOa8CzuZ9QOuvccPkgZqU0gXA7xFgL2nr1pP1ne/xlCEAi0/5nfc4lzT9+cK5pOkNX8hRT8hMyVwAAAAASUVORK5CYII=);
- width: 30px;
- top: 0px;
- right: 0;
- background-position: 6px 12px;
- background-repeat: no-repeat;
- position: absolute;
- height: 100%;
-}
-/*
- Message
-*/
-.dhtmlx_popup_button.dhtmlx_ok_button {
- background: #46ad51;
- text-shadow: 0 -1px 0 #307738;
- color: #fff;
- font-weight: bold;
-}
-.dhtmlx_popup_button.dhtmlx_cancel_button {
- font-weight: bold;
-}
-/*
- Quick info
-*/
-.gantt_qi_big_icon.icon_edit {
- color: #454544;
-}
-.gantt_qi_big_icon.icon_delete {
- text-shadow: 0 -1px 0 #6f6f6f;
- background: #ec8e00;
- text-shadow: 0 -1px 0 #aa6600;
- color: #fff;
- font-weight: bold;
-}
-/*
- links dnd
-*/
-.gantt_container {
- font-family: "Arial";
- font-size: 13px;
- border: 1px solid #bababa;
- position: relative;
- white-space: nowrap;
-}
-.gantt_grid {
- border-right: 1px solid #bababa;
-}
-.gantt_task_scroll {
- overflow-x: scroll;
-}
-.gantt_task {
- position: relative;
-}
-.gantt_task,
-.gantt_grid {
- overflow-x: hidden;
- overflow-y: hidden;
- display: inline-block;
- vertical-align: top;
-}
-.gantt_grid_scale,
-.gantt_task_scale {
- color: #494949;
- font-size: 12px;
- border-bottom: 1px solid #bababa;
-}
-.gantt_grid_scale {
- background-color: #4f4f4f;
- background-size: 5px 5px;
- background-size: 4px 4px;
- background-position: 0px 0px, 2px 2px;
- background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.05) 25%, transparent 25%, transparent 75%, rgba(255, 255, 255, 0.05) 75%, rgba(255, 255, 255, 0.05)), linear-gradient(45deg, rgba(255, 255, 255, 0.05) 25%, transparent 25%, transparent 75%, rgba(255, 255, 255, 0.05) 75%, rgba(255, 255, 255, 0.05));
- background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.05) 25%, transparent 25%, transparent 75%, rgba(255, 255, 255, 0.05) 75%, rgba(255, 255, 255, 0.05)), linear-gradient(45deg, rgba(255, 255, 255, 0.05) 25%, transparent 25%, transparent 75%, rgba(255, 255, 255, 0.05) 75%, rgba(255, 255, 255, 0.05));
- background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.05) 25%, transparent 25%, transparent 75%, rgba(255, 255, 255, 0.05) 75%, rgba(255, 255, 255, 0.05)), linear-gradient(45deg, rgba(255, 255, 255, 0.05) 25%, transparent 25%, transparent 75%, rgba(255, 255, 255, 0.05) 75%, rgba(255, 255, 255, 0.05));
- color: #e1e1e1;
- font-size: 14px;
-}
-.gantt_task_scale {
- background-color: #dbdbdb;
-}
-.gantt_scale_line {
- box-sizing: border-box;
- -moz-box-sizing: border-box;
- border-top: 1px solid #bababa;
-}
-.gantt_scale_line:first-child {
- border-top: none;
-}
-.gantt_grid_head_cell {
- display: inline-block;
- vertical-align: top;
- border-right: 1px solid #bababa;
- text-align: center;
- position: relative;
- cursor: default;
- height: 100%;
- box-sizing: border-box;
- -moz-box-sizing: border-box;
- line-height: 33px;
- -moz-user-select: -moz-none;
- -webkit-user-select: none;
- -user-select: none;
- overflow: hidden;
-}
-.gantt_scale_line {
- clear: both;
-}
-.gantt_grid_data {
- width: 100%;
- overflow: hidden;
-}
-.gantt_row {
- position: relative;
- -webkit-user-select: none;
- -moz-user-select: none;
- -moz-user-select: -moz-none;
-}
-.gantt_add,
-.gantt_grid_head_add {
- width: 100%;
- height: 100%;
- background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3QYHCygkHejN0gAAAD1JREFUOMtjtN15mYESwIJLwvHo6v/I/P3WoYzY1DExUAiGgQGMtjsvYwQYsWC/dSjjcAmD0YREo0AkFgAASgkTQxnJ6ggAAAAASUVORK5CYII=);
- background-position: center center;
- background-repeat: no-repeat;
- cursor: pointer;
- position: relative;
- -moz-opacity: 0.3;
- opacity: 0.3;
-}
-.gantt_grid_head_cell.gantt_grid_head_add {
- -moz-opacity: 0.6;
- opacity: 0.6;
- top: 0;
-}
-.gantt_grid_head_cell.gantt_grid_head_add:hover {
- -moz-opacity: 1;
- opacity: 1;
-}
-.gantt_grid_data .gantt_row:hover,
-.gantt_grid_data .gantt_row.odd:hover {
- border-top: 1px solid #ededed;
- background-color: #ededed;
-}
-.gantt_grid_data .gantt_row:hover .gantt_add,
-.gantt_grid_data .gantt_row.odd:hover .gantt_add {
- -moz-opacity: 1;
- opacity: 1;
-}
-.gantt_task_row,
-.gantt_row {
- border-bottom: 1px solid #ebebeb;
-}
-.gantt_row,
-.gantt_task_row {
- background-color: #ffffff;
-}
-.gantt_row.odd,
-.gantt_task_row.odd {
- background-color: #ffffff;
-}
-.gantt_row,
-.gantt_cell,
-.gantt_task_row,
-.gantt_task_cell,
-.gantt_grid_head_cell,
-.gantt_scale_cell {
- box-sizing: border-box;
- -moz-box-sizing: border-box;
-}
-.gantt_grid_head_cell,
-.gantt_scale_cell {
- line-height: inherit;
-}
-.gantt_grid_scale .gantt_grid_column_resize_wrap {
- cursor: col-resize;
- position: absolute;
- width: 13px;
-}
-.gantt_grid_column_resize_wrap .gantt_grid_column_resize {
- background-color: #bababa;
- height: 100%;
- width: 1px;
- margin: 0 auto;
-}
-.gantt_grid .gantt_grid_resize_wrap {
- cursor: col-resize;
- position: absolute;
- width: 13px;
- z-index: 1;
-}
-.gantt_grid_resize_wrap .gantt_grid_resize {
- background-color: #bababa;
- width: 1px;
- margin: 0 auto;
-}
-.gantt_drag_marker.gantt_grid_resize_area {
- background-color: rgba(231, 231, 231, 0.5);
- border-left: 1px solid #bababa;
- border-right: 1px solid #bababa;
- height: 100%;
- width: 100%;
- -moz-box-sizing: border-box;
- -webkit-box-sizing: border-box;
- box-sizing: border-box;
-}
-.gantt_cell {
- display: inline-block;
- vertical-align: top;
- border-right: 1px solid #ebebeb;
- padding-left: 6px;
- padding-right: 6px;
- height: 100%;
- overflow: hidden;
- white-space: nowrap;
- font-size: 13px;
-}
-.gantt_grid_scale .gantt_last_cell,
-.gantt_grid_data .gantt_last_cell,
-.gantt_task_scale .gantt_last_cell,
-.gantt_task_bg .gantt_last_cell {
- border-right-width: 0px;
-}
-.gantt_task_bg {
- overflow: hidden;
-}
-.gantt_scale_cell {
- display: inline-block;
- white-space: nowrap;
- overflow: hidden;
- border-right: 1px solid #bababa;
- text-align: center;
- height: 100%;
-}
-.gantt_task_cell {
- display: inline-block;
- height: 100%;
- border-right: 1px solid #ebebeb;
-}
-.gantt_ver_scroll {
- width: 0px;
- background-color: transparent;
- height: 1px;
- overflow-x: hidden;
- overflow-y: scroll;
- display: none;
- position: absolute;
- right: 0px;
-}
-.gantt_ver_scroll > div {
- width: 1px;
- height: 1px;
-}
-.gantt_hor_scroll {
- height: 0px;
- background-color: transparent;
- width: 100%;
- clear: both;
- overflow-x: scroll;
- overflow-y: hidden;
- display: none;
-}
-.gantt_hor_scroll > div {
- width: 5000px;
- height: 1px;
-}
-.gantt_tree_indent {
- width: 15px;
- height: 100%;
- display: inline-block;
-}
-.gantt_tree_content,
-.gantt_tree_icon {
- vertical-align: top;
-}
-.gantt_tree_icon {
- width: 28px;
- height: 100%;
- display: inline-block;
- background-repeat: no-repeat;
- background-position: center center;
-}
-.gantt_tree_content {
- height: 100%;
- display: inline-block;
-}
-.gantt_tree_icon.gantt_open {
- background-image: url(data:image/gif;base64,R0lGODlhEgASAOMHAMrKyt3d3ejp6d7f3+/v75aWlvf39////wAAAP///////////////////////////yH5BAEKAA8ALAAAAAASABIAAAQt8MlJq704672L/x9WZKNVXieVIipKsVMaS0hdSzL+tuY+9yJXEAUCcY7IJCUCADs=);
- width: 18px;
- cursor: pointer;
-}
-.gantt_tree_icon.gantt_close {
- background-image: url(data:image/gif;base64,R0lGODlhEgASAOMIAMrKyt3d3ejp6d7f3+/v75aWlvf39wAAAP///////////////////////////////yH5BAEKAAYALAAAAAASABIAAAQp0MhJq704672L/x9WZKNVXieVVqvUTm95zLOLkreY7yqOgiCOcEikRAAAOw==);
- width: 18px;
- cursor: pointer;
-}
-.gantt_tree_icon.gantt_blank {
- width: 18px;
-}
-.gantt_tree_icon.gantt_folder_open {
- background-image: url(data:image/gif;base64,R0lGODlhEgASAJECAJeXl7Gvrf///wAAACH/C1hNUCBEYXRhWE1QPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS4wLWMwNjAgNjEuMTM0Nzc3LCAyMDEwLzAyLzEyLTE3OjMyOjAwICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IFdpbmRvd3MiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NTdDRDM3QzVDMDZEMTFFMUJGMzhFMDhCN0RGRjBGQ0YiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NTdDRDM3QzZDMDZEMTFFMUJGMzhFMDhCN0RGRjBGQ0YiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo1N0NEMzdDM0MwNkQxMUUxQkYzOEUwOEI3REZGMEZDRiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo1N0NEMzdDNEMwNkQxMUUxQkYzOEUwOEI3REZGMEZDRiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PgH//v38+/r5+Pf29fTz8vHw7+7t7Ovq6ejn5uXk4+Lh4N/e3dzb2tnY19bV1NPS0dDPzs3My8rJyMfGxcTDwsHAv769vLu6ubi3trW0s7KxsK+urayrqqmop6alpKOioaCfnp2cm5qZmJeWlZSTkpGQj46NjIuKiYiHhoWEg4KBgH9+fXx7enl4d3Z1dHNycXBvbm1sa2ppaGdmZWRjYmFgX15dXFtaWVhXVlVUU1JRUE9OTUxLSklIR0ZFRENCQUA/Pj08Ozo5ODc2NTQzMjEwLy4tLCsqKSgnJiUkIyIhIB8eHRwbGhkYFxYVFBMSERAPDg0MCwoJCAcGBQQDAgEAACH5BAEAAAIALAAAAAASABIAAAIzlI+pywcPm3mhWgkCsjBOvVkimElG9ZlCBlXd+2XjjLKg5GqoeZXqvsOQXK/ijUZTKVUFADs=);
-}
-.gantt_tree_icon.gantt_folder_closed {
- background-image: url(data:image/gif;base64,R0lGODlhEgASAJECAJeXl7Gvrf///wAAACH/C1hNUCBEYXRhWE1QPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS4wLWMwNjAgNjEuMTM0Nzc3LCAyMDEwLzAyLzEyLTE3OjMyOjAwICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IFdpbmRvd3MiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NTAyMTU1RTNDMDZEMTFFMUJGNzZCRThBRkFCRjg4MTIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NTAyMTU1RTRDMDZEMTFFMUJGNzZCRThBRkFCRjg4MTIiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo1MDIxNTVFMUMwNkQxMUUxQkY3NkJFOEFGQUJGODgxMiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo1MDIxNTVFMkMwNkQxMUUxQkY3NkJFOEFGQUJGODgxMiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PgH//v38+/r5+Pf29fTz8vHw7+7t7Ovq6ejn5uXk4+Lh4N/e3dzb2tnY19bV1NPS0dDPzs3My8rJyMfGxcTDwsHAv769vLu6ubi3trW0s7KxsK+urayrqqmop6alpKOioaCfnp2cm5qZmJeWlZSTkpGQj46NjIuKiYiHhoWEg4KBgH9+fXx7enl4d3Z1dHNycXBvbm1sa2ppaGdmZWRjYmFgX15dXFtaWVhXVlVUU1JRUE9OTUxLSklIR0ZFRENCQUA/Pj08Ozo5ODc2NTQzMjEwLy4tLCsqKSgnJiUkIyIhIB8eHRwbGhkYFxYVFBMSERAPDg0MCwoJCAcGBQQDAgEAACH5BAEAAAIALAAAAAASABIAAAIwlI+pywcPm3mhWgkCsjBOvVkimElG9ZlCuYIY6TYs+6bmHDO4igfdD3GNhheV0VQAADs=);
-}
-.gantt_tree_icon.gantt_file {
- background-image: url(data:image/gif;base64,R0lGODlhEgASAJECAJeXl7Gvrf///wAAACH/C1hNUCBEYXRhWE1QPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS4wLWMwNjAgNjEuMTM0Nzc3LCAyMDEwLzAyLzEyLTE3OjMyOjAwICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IFdpbmRvd3MiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NzkxQzI4RjZDMDZEMTFFMTgwRjhBQURDQzI3NDU3QUEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NzkxQzI4RjdDMDZEMTFFMTgwRjhBQURDQzI3NDU3QUEiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo3OTFDMjhGNEMwNkQxMUUxODBGOEFBRENDMjc0NTdBQSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo3OTFDMjhGNUMwNkQxMUUxODBGOEFBRENDMjc0NTdBQSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PgH//v38+/r5+Pf29fTz8vHw7+7t7Ovq6ejn5uXk4+Lh4N/e3dzb2tnY19bV1NPS0dDPzs3My8rJyMfGxcTDwsHAv769vLu6ubi3trW0s7KxsK+urayrqqmop6alpKOioaCfnp2cm5qZmJeWlZSTkpGQj46NjIuKiYiHhoWEg4KBgH9+fXx7enl4d3Z1dHNycXBvbm1sa2ppaGdmZWRjYmFgX15dXFtaWVhXVlVUU1JRUE9OTUxLSklIR0ZFRENCQUA/Pj08Ozo5ODc2NTQzMjEwLy4tLCsqKSgnJiUkIyIhIB8eHRwbGhkYFxYVFBMSERAPDg0MCwoJCAcGBQQDAgEAACH5BAEAAAIALAAAAAASABIAAAIylI+pwN16QJiUQiFThRlJm3RRFYSlR5qXMKmXaMDuuMoyOi8n/e6xn8NMHETgh5RaKQsAOw==);
-}
-.gantt_grid_head_cell .gantt_sort {
- position: absolute;
- right: 5px;
- top: 8px;
- width: 7px;
- height: 13px;
- background-repeat: no-repeat;
- background-position: center center;
-}
-.gantt_grid_head_cell .gantt_sort.gantt_asc {
- background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAANCAYAAABlyXS1AAAARUlEQVR42mNgQAL1/VP/M2ADIIntF2/9x1AAlrh0C47hCmA60DFYwX88gIFGwNDY5D8uDFbg7hvwHx2jmIBTAlkB0e4BAEjlaNtBWJPnAAAAAElFTkSuQmCC);
-}
-.gantt_grid_head_cell .gantt_sort.gantt_desc {
- background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAANCAYAAABlyXS1AAAARUlEQVR4nGNgQAKGxib/GbABkIS7b8B/DAUwCRiGK0CXwFBAb1DfP/U/LszwHwi2X7qFgUEArBtdAVwCBmAKMCSQFSDzAWXXaOHsXeqkAAAAAElFTkSuQmCC);
-}
-.gantt_inserted,
-.gantt_updated {
- font-weight: bold;
-}
-.gantt_deleted {
- text-decoration: line-through;
-}
-.gantt_invalid {
- background-color: FFE0E0;
-}
-.gantt_error {
- color: red;
-}
-.gantt_status {
- right: 1px;
- padding: 5px 10px;
- background: rgba(155, 155, 155, 0.1);
- position: absolute;
- top: 1px;
- -webkit-transition: opacity 0.2s;
- transition: opacity 0.2s;
- opacity: 0;
-}
-.gantt_status.gantt_status_visible {
- opacity: 1;
-}
-#gantt_ajax_dots span {
- -webkit-transition: opacity 0.2s;
- transition: opacity 0.2s;
- background-repeat: no-repeat;
- opacity: 0;
-}
-#gantt_ajax_dots span.gantt_dot_visible {
- opacity: 1;
-}
-.dhtmlx_message_area {
- position: fixed;
- right: 5px;
- width: 250px;
- z-index: 1000;
-}
-.dhtmlx-info {
- min-width: 120px;
- padding: 4px 4px 4px 20px;
- font-family: "Arial";
- z-index: 10000;
- margin: 5px;
- margin-bottom: 10px;
- -webkit-transition: all .5s ease;
- -moz-transition: all .5s ease;
- -o-transition: all .5s ease;
- transition: all .5s ease;
-}
-.dhtmlx-info.hidden {
- height: 0px;
- padding: 0px;
- border-width: 0px;
- margin: 0px;
- overflow: hidden;
-}
-.dhtmlx_modal_box {
- overflow: hidden;
- display: inline-block;
- min-width: 250px;
- width: 250px;
- text-align: center;
- position: fixed;
- z-index: 20000;
- box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.07);
- font-family: "Arial";
- border-radius: 6px;
- border: 1px solid #bababa;
- background: #ffffff;
-}
-.dhtmlx_popup_title {
- border-top-left-radius: 6px;
- border-top-right-radius: 6px;
- border-width: 0px;
-}
-.dhtmlx_button,
-.dhtmlx_popup_button {
- border: 1px solid #bababa;
- height: 30px;
- line-height: 30px;
- display: inline-block;
- margin: 0 5px;
- border-radius: 4px;
- background: #fff;
-}
-.dhtmlx-info,
-.dhtmlx_popup_button,
-.dhtmlx_button {
- user-select: none;
- -webkit-user-select: none;
- -moz-user-select: -moz-none;
- cursor: pointer;
-}
-.dhtmlx_popup_text {
- overflow: hidden;
-}
-.dhtmlx_popup_controls {
- border-radius: 6px;
- padding: 10px;
-}
-.dhtmlx_popup_button {
- min-width: 100px;
-}
-div.dhx_modal_cover {
- background-color: #000;
- cursor: default;
- filter: progid:DXImageTransform.Microsoft.Alpha(opacity=20);
- opacity: 0.2;
- position: fixed;
- z-index: 19999;
- left: 0px;
- top: 0px;
- width: 100%;
- height: 100%;
- border: none;
- zoom: 1;
-}
-.dhtmlx-info img,
-.dhtmlx_modal_box img {
- float: left;
- margin-right: 20px;
-}
-.dhtmlx-alert-error,
-.dhtmlx-confirm-error {
- border: 1px solid #ff0000;
-}
-/*Skin section*/
-.dhtmlx_button input,
-.dhtmlx_popup_button div {
- border-radius: 4px;
- font-size: 14px;
- -moz-box-sizing: content-box;
- box-sizing: content-box;
- padding: 0px;
- margin: 0px;
- vertical-align: top;
-}
-.dhtmlx_popup_title {
- color: #fff;
- text-shadow: 1px 1px #000;
- height: 40px;
- line-height: 40px;
- font-size: 20px;
-}
-.dhtmlx_popup_text {
- margin: 15px 15px 5px 15px;
- font-size: 14px;
- color: #000;
- min-height: 30px;
- border-radius: 6px;
-}
-.dhtmlx-info,
-.dhtmlx-error {
- font-size: 14px;
- color: #000;
- box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.07);
- padding: 0px;
- background-color: #FFF;
- border-radius: 3px;
- border: 1px solid #ffffff;
-}
-.dhtmlx-info div {
- padding: 5px 10px 5px 10px;
- background-color: #fff;
- border-radius: 3px;
- border: 1px solid #bababa;
-}
-.dhtmlx-error {
- background-color: #d81b1b;
- border: 1px solid #ff3c3c;
- box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.07);
-}
-.dhtmlx-error div {
- background-color: #d81b1b;
- border: 1px solid #940000;
- color: #FFF;
-}
-.gantt_grid div,
-.gantt_data_area div {
- -ms-touch-action: none;
- -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
-}
-.gantt_data_area {
- position: relative;
- overflow-x: hidden;
- overflow-y: hidden;
- -moz-user-select: -moz-none;
- -webkit-user-select: none;
- -user-select: none;
-}
-.gantt_links_area {
- position: absolute;
- left: 0px;
- top: 0px;
-}
-.gantt_task_content,
-.gantt_task_progress,
-.gantt_side_content {
- line-height: inherit;
- overflow: hidden;
- height: 100%;
-}
-.gantt_task_content {
- font-size: 13px;
- color: #ffffff;
- width: 100%;
- top: 0;
- position: absolute;
- white-space: nowrap;
- text-align: center;
-}
-.gantt_task_progress {
- text-align: center;
- z-index: 0;
- background: #04a4f0;
- border-right: 1px solid #1cb3fb;
- box-shadow: -1px 0px 0 1px #04a1eb inset;
-}
-.gantt_task_line {
- -webkit-border-radius: 2px;
- -moz-border-radius: 2px;
- border-radius: 2px;
- position: absolute;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
- background-color: #17b2fb;
- border: 1px solid #049ae1;
- -webkit-user-select: none;
- -moz-user-select: none;
- -moz-user-select: -moz-none;
-}
-.gantt_task_line.gantt_drag_move div {
- cursor: move;
-}
-.gantt_touch_move,
-.gantt_touch_progress .gantt_touch_resize {
- -moz-transform: scale(1.02, 1.1);
- -o-transform: scale(1.02, 1.1);
- -webkit-transform: scale(1.02, 1.1);
- transform: scale(1.02, 1.1);
- -moz-transform-origin: 50%;
- -o-transform-origin: 50%;
- -webkit-transform-origin: 50%;
- transform-origin: 50%;
-}
-.gantt_touch_progress .gantt_task_progress_drag,
-.gantt_touch_resize .gantt_task_drag {
- -moz-transform: scaleY(1.3);
- -o-transform: scaleY(1.3);
- -webkit-transform: scaleY(1.3);
- transform: scaleY(1.3);
- -moz-transform-origin: 50%;
- -o-transform-origin: 50%;
- -webkit-transform-origin: 50%;
- transform-origin: 50%;
-}
-.gantt_side_content {
- position: absolute;
- white-space: nowrap;
- color: #6e6e6e;
- bottom: 7px;
- font-size: 11px;
- font-size: 12px;
-}
-.gantt_side_content.gantt_left {
- right: 100%;
- padding-right: 15px;
-}
-.gantt_side_content.gantt_right {
- left: 100%;
- padding-left: 15px;
-}
-.gantt_side_content.gantt_link_crossing {
- bottom: 8.75px;
-}
-.gantt_task_link .gantt_line_wrapper,
-.gantt_link_arrow {
- position: absolute;
- cursor: pointer;
-}
-.gantt_line_wrapper div {
- background-color: #ffa011;
-}
-.gantt_task_link:hover .gantt_line_wrapper div {
- box-shadow: 0 0 5px 0px #ffa011;
-}
-.gantt_task_link div.gantt_link_arrow {
- background-color: transparent;
- border-style: solid;
- width: 0px;
- height: 0px;
-}
-.gantt_link_control {
- position: absolute;
- width: 13px;
- top: 0px;
-}
-.gantt_link_control div {
- display: none;
- cursor: pointer;
- box-sizing: border-box;
- position: relative;
- top: 50%;
- margin-top: -7.5px;
- vertical-align: middle;
- border: 1px solid #929292;
- -webkit-border-radius: 6.5px;
- -moz-border-radius: 6.5px;
- border-radius: 6.5px;
- height: 13px;
- width: 13px;
- background-color: #f0f0f0;
-}
-.gantt_link_control div:hover {
- background-color: #ffffff;
-}
-.gantt_link_control.task_left {
- left: -13px;
-}
-.gantt_link_control.task_right {
- right: -13px;
-}
-.gantt_task_line.gantt_selected .gantt_link_control div,
-.gantt_task_line:hover .gantt_link_control div {
- display: block;
-}
-.gantt_link_target .gantt_link_control div {
- display: block;
-}
-.gantt_link_source,
-.gantt_link_target {
- box-shadow: 0px 0px 3px #04a4f0;
-}
-.gantt_link_target.link_start_allow,
-.gantt_link_target.link_finish_allow {
- box-shadow: 0px 0px 3px #ffbf5e;
-}
-.gantt_link_target.link_start_deny,
-.gantt_link_target.link_finish_deny {
- box-shadow: 0px 0px 3px #e87e7b;
-}
-.link_start_allow .gantt_link_control.task_left div,
-.link_finish_allow .gantt_link_control.task_right div {
- background-color: #ffbf5e;
- border-color: #ffa011;
-}
-.link_start_deny .gantt_link_control.task_left div,
-.link_finish_deny .gantt_link_control.task_right div {
- background-color: #e87e7b;
- border-color: #dd3e3a;
-}
-.gantt_link_arrow_right {
- border-width: 2.5px 0 2.5px 5px;
- border-top-color: transparent !important;
- border-right-color: transparent !important;
- border-bottom-color: transparent !important;
- border-left-color: #ffa011;
- margin-top: -1px;
-}
-.gantt_link_arrow_left {
- border-width: 2.5px 5px 2.5px 0;
- margin-top: -1px;
- border-top-color: transparent !important;
- border-right-color: #ffa011;
- border-bottom-color: transparent !important;
- border-left-color: transparent !important;
-}
-.gantt_link_arrow_top {
- border-width: 0 2.5px 5px 2.5px;
- border-color: transparent transparent #ffa011 transparent;
- border-top-color: transparent !important;
- border-right-color: transparent !important;
- border-bottom-color: #ffa011;
- border-left-color: transparent !important;
-}
-.gantt_link_arrow_down {
- border-width: 2.5px 5px 0 2.5px;
- border-top-color: #ffa011;
- border-right-color: transparent !important;
- border-bottom-color: transparent !important;
- border-left-color: transparent !important;
-}
-.gantt_task_drag,
-.gantt_task_progress_drag {
- cursor: w-resize;
- height: 100%;
- display: none;
- position: absolute;
-}
-.gantt_task_line.gantt_selected .gantt_task_progress_drag,
-.gantt_task_line:hover .gantt_task_progress_drag,
-.gantt_task_line.gantt_selected .gantt_task_drag,
-.gantt_task_line:hover .gantt_task_drag {
- display: block;
-}
-.gantt_task_drag {
- width: 6px;
- background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAACCAYAAAB7Xa1eAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3QYDDjkw3UJvAwAAABRJREFUCNdj/P//PwM2wASl/6PTAKrrBf4+lD8LAAAAAElFTkSuQmCC);
- z-index: 1;
- top: 0px;
-}
-.gantt_task_drag.task_left {
- left: 0px;
-}
-.gantt_task_drag.task_right {
- right: 0px;
-}
-.gantt_task_progress_drag {
- height: 8px;
- width: 8px;
- bottom: -4px;
- margin-left: -4px;
- background-position: bottom;
- background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAALCAYAAAB24g05AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MkY3Rjk0RUVDMkYzMTFFMkI1OThEQTA3ODU0OTkzMEEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MkY3Rjk0RUZDMkYzMTFFMkI1OThEQTA3ODU0OTkzMEEiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoyRjdGOTRFQ0MyRjMxMUUyQjU5OERBMDc4NTQ5OTMwQSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDoyRjdGOTRFREMyRjMxMUUyQjU5OERBMDc4NTQ5OTMwQSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PobPBzIAAADkSURBVHjaYpk2bRoDDsAExL1QdjEQ/8OmiAWHZk4gXqymqhQM4ty6fU8OSMUA8XdiDBAB4k0a6iqWRga6EKcwMQXduHlnL5DpB8Rv0J2JDFSA+JiOtgZcMwiA2CAxkBxUDVYDLEAKgIpV9XQ0MZwFEgPJAZnHoWpRDAgC4n2W5saiQKfjClQGkBxQDciL+6B6wAbkA/EqJwdrTkUFOQZCAKQGpBbIXA3SCzJggo+XK7OEuBgDsQCkFqgHrBfsBT5eHgZSAUwP2IBfv36TbABMDygdtK1Zv6UESLORaAbIhG6AAAMAKN8wE24DXWcAAAAASUVORK5CYII=);
- background-repeat: no-repeat;
- z-index: 2;
-}
-.gantt_link_tooltip {
- box-shadow: 3px 3px 3px #888888;
- background-color: #ffffff;
- border-left: 1px dotted #cecece;
- border-top: 1px dotted #cecece;
- font-family: Tahoma;
- font-size: 8pt;
- color: #444444;
- padding: 6px;
- line-height: 20px;
-}
-.gantt_link_direction {
- height: 0px;
- border: 0px none #ffa011;
- border-bottom-style: dashed;
- border-bottom-width: 2px;
- transform-origin: 0% 0%;
- -ms-transform-origin: 0% 0%;
- -webkit-transform-origin: 0% 0%;
- z-index: 2;
- margin-left: 1px;
- position: absolute;
-}
-.gantt_grid_data .gantt_row.gantt_selected,
-.gantt_grid_data .gantt_row.odd.gantt_selected {
- background-color: #fff3a1;
- border-top-color: #fff087;
-}
-.gantt_task_row.gantt_selected {
- background-color: #fff3a1;
-}
-.gantt_task_row.gantt_selected .gantt_task_cell {
- border-right-color: #ffec6e;
-}
-.gantt_task_line.gantt_selected {
- box-shadow: 0 0 5px #04a4f0;
-}
-.gantt_task_line.gantt_project.gantt_selected {
- box-shadow: 0 0 5px #46ad51;
-}
-.gantt_task_line.gantt_milestone {
- visibility: hidden;
- background-color: #db7dc5;
- border: 0px solid #cd49ae;
- box-sizing: content-box;
- -moz-box-sizing: content-box;
-}
-.gantt_task_line.gantt_milestone div {
- visibility: visible;
-}
-.gantt_task_line.gantt_milestone .gantt_task_content {
- background: inherit;
- border: inherit;
- border-width: 1px;
- border-radius: inherit;
- box-sizing: border-box;
- -moz-box-sizing: border-box;
- -webkit-transform: rotate(45deg);
- -moz-transform: rotate(45deg);
- -ms-transform: rotate(45deg);
- -o-transform: rotate(45deg);
- transform: rotate(45deg);
-}
-.gantt_task_line.gantt_task_inline_color {
- border-color: #999999;
-}
-.gantt_task_line.gantt_task_inline_color .gantt_task_progress {
- background-color: #363636;
- opacity: 0.2;
-}
-.gantt_task_line.gantt_task_inline_color.gantt_selected {
- box-shadow: 0 0 5px #999999;
-}
-.gantt_task_line.gantt_task_inline_color.gantt_project.gantt_selected {
- box-shadow: 0 0 5px #999999;
-}
-.gantt_task_link.gantt_link_inline_color:hover .gantt_line_wrapper div {
- box-shadow: 0 0 5px 0px #999999;
-}
-.gantt_critical_task {
- background-color: #e63030;
- border-color: #9d3a3a;
-}
-.gantt_critical_task .gantt_task_progress {
- background-color: rgba(0, 0, 0, 0.4);
-}
-.gantt_critical_link .gantt_line_wrapper > div {
- background-color: #e63030;
-}
-.gantt_critical_link .gantt_link_arrow {
- border-color: #e63030;
-}
-.gantt_unselectable,
-.gantt_unselectable div {
- -webkit-user-select: none;
- -moz-user-select: none;
- -moz-user-select: -moz-none;
-}
-.gantt_cal_light {
- -webkit-tap-highlight-color: transparent;
- border-radius: 6px;
- font-family: "Arial";
- font-size: 13px;
- border: 1px solid #bababa;
- color: #494949;
- font-size: 12px;
- position: absolute;
- z-index: 10001;
- width: 550px;
- height: 250px;
- box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.07);
-}
-.gantt_cal_light_wide {
- width: 650px;
-}
-.gantt_cal_light select {
- font-family: "Arial";
- border: 1px solid #bababa;
- font-size: 13px;
- padding: 2px;
- margin: 0px;
-}
-.gantt_cal_ltitle {
- padding: 7px 10px;
- overflow: hidden;
- white-space: nowrap;
- -webkit-border-top-left-radius: 6px;
- -webkit-border-bottom-left-radius: 0;
- -webkit-border-top-right-radius: 6px;
- -webkit-border-bottom-right-radius: 0;
- -moz-border-radius-topleft: 6px;
- -moz-border-radius-bottomleft: 0;
- -moz-border-radius-topright: 6px;
- -moz-border-radius-bottomright: 0;
- border-top-left-radius: 6px;
- border-bottom-left-radius: 0;
- border-top-right-radius: 6px;
- border-bottom-right-radius: 0;
-}
-.gantt_cal_ltitle span {
- white-space: nowrap;
-}
-.gantt_cal_lsection {
- color: #727272;
- font-weight: bold;
- padding: 12px 0px 5px 10px;
-}
-.gantt_cal_lsection .gantt_fullday {
- float: right;
- margin-right: 5px;
- font-size: 12px;
- font-weight: normal;
- line-height: 20px;
- vertical-align: top;
- cursor: pointer;
-}
-.gantt_cal_lsection {
- font-size: 13px;
-}
-.gantt_cal_ltext {
- padding: 2px 10px;
- overflow: hidden;
-}
-.gantt_cal_ltext textarea {
- overflow: auto;
- font-family: "Arial";
- font-size: 13px;
- -moz-box-sizing: border-box;
- -webkit-box-sizing: border-box;
- box-sizing: border-box;
- border: 1px solid #bababa;
- height: 100%;
- width: 100%;
- outline: none !important;
- resize: none;
-}
-.gantt_time {
- font-weight: bold;
-}
-.gantt_cal_light .gantt_title {
- padding-left: 10px;
-}
-.gantt_cal_larea {
- border: 1px solid #bababa;
- border-left: none;
- border-right: none;
- background-color: #fff;
- overflow: hidden;
- height: 1px;
-}
-.gantt_btn_set {
- margin: 10px 7px 5px 10px;
- padding: 5px 15px 5px 10px;
- float: left;
- -webkit-border-radius: 4px;
- -moz-border-radius: 4px;
- border-radius: 4px;
- border-width: 0;
- border-color: #bababa;
- border-style: solid;
- height: 32px;
- font-weight: bold;
- background: #fff;
- -moz-box-sizing: border-box;
- -webkit-box-sizing: border-box;
- box-sizing: border-box;
- cursor: pointer;
-}
-.gantt_btn_set div {
- float: left;
- font-size: 13px;
- height: 22px;
- line-height: 22px;
- background-repeat: no-repeat;
- vertical-align: middle;
-}
-.gantt_save_btn {
- background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAPCAYAAAACsSQRAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QTBBQUI0RDhDRUJEMTFFMjhFM0ZENTlERUM1OEQzRTYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QTBBQUI0RDlDRUJEMTFFMjhFM0ZENTlERUM1OEQzRTYiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpBMEFBQjRENkNFQkQxMUUyOEUzRkQ1OURFQzU4RDNFNiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpBMEFBQjREN0NFQkQxMUUyOEUzRkQ1OURFQzU4RDNFNiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PjdPZV0AAACtSURBVHjanJPbDYUgEESvtwJKoQRLoRNL0RK0ArUCS9AOpAMclDVkw0s2mQ9XcpwJY2OM+VWMgDQ9/CsAEtoh9W6skw+S0Akd5hl1J6kADJBwADs9j9MmIszQ5GJo793qf2nwLUYc0E7xONbaBmloZKAsgCCLW0p2qCsBEEQ6F33gcBbg304I1JYA+BWHQFlAqCcclAXEykaguQSQaiyBVEmbm8RfLFgzo3MJMACZSGxiH8QaMAAAAABJRU5ErkJggg==);
- margin-top: 2px;
- width: 21px;
-}
-.gantt_cancel_btn {
- margin-top: 2px;
- background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MDkzMDA3MzlDMzA0MTFFMjg2QTVFMzFEQzgwRkJERDYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MDkzMDA3M0FDMzA0MTFFMjg2QTVFMzFEQzgwRkJERDYiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDowOTMwMDczN0MzMDQxMUUyODZBNUUzMURDODBGQkRENiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDowOTMwMDczOEMzMDQxMUUyODZBNUUzMURDODBGQkRENiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PmYuYOUAAAEdSURBVHjaYvz//z8DJYAFXWDlypU8QKoIiD2A2AwqfAqIdwBxX3h4+Bdk9YzILgBqtgdS84FYEYeF94E4EWjIQZgAE5LmQCB1AKoZZKMPEAtAMYh9GSp3AKjWD8UFQAEhIPshEIOc3wHENUBb/qJ57SyQMoJyPwKxElDNO1gYFEE17wMKVmIJlzNQzeegrjaA6qmBecEbSvfh0GwMxGeBhoPoemQ9MAO0kEIbl2YTqPAFKK2IbMB3AjabYIkRZmQD7kNpMyI0G0PpO8gGbIUFJj7NQDk2INWIrIcJKfBAKcwJqvkcDs0TgFgXGo19KCkRmpDWQdWDEk0NUoCBoq0FqhkE/IEWbKJKUmZEz43QzFSKIzN1481M5ACAAAMAlfl/lCwRpagAAAAASUVORK5CYII=);
- width: 20px;
-}
-.gantt_delete_btn {
- background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAQCAYAAAAmlE46AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QzQzRjMxM0NDRUJEMTFFMjlCNDZDQzhFQUM0ODRCMEIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QzQzRjMxM0RDRUJEMTFFMjlCNDZDQzhFQUM0ODRCMEIiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpDNDNGMzEzQUNFQkQxMUUyOUI0NkNDOEVBQzQ4NEIwQiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpDNDNGMzEzQkNFQkQxMUUyOUI0NkNDOEVBQzQ4NEIwQiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PoU+5FoAAACMSURBVHja7JPdDYAgDIQLE+gmjuAIbOIKjMRIbAAb1BZLUozgz7OXfIbWKxeCAiKCwmNfXnsNP5S4mIkMrSYiEaY2LOFloO6QVF1JamPGc2IvpaeSbqXY4LkOLwU6OTyvgzBasxwnBnivYOGj/sEXg27gbd/JpWZiOf0pV7Anlq9UGqs07hTFC7sAAwCbSNs8SyqFMAAAAABJRU5ErkJggg==);
- margin-top: 2px;
- width: 20px;
-}
-.gantt_cal_cover {
- width: 100%;
- height: 100%;
- position: absolute;
- z-index: 10000;
- top: 0px;
- left: 0px;
- background-color: black;
- opacity: 0.1;
- filter: progid:DXImageTransform.Microsoft.Alpha(opacity=10);
-}
-.gantt_custom_button {
- padding: 0px 3px 0px 3px;
- font-family: "Arial";
- font-size: 13px;
- font-weight: normal;
- margin-right: 10px;
- margin-top: -5px;
- cursor: pointer;
- float: right;
- height: 21px;
- width: 90px;
- border: 1px solid #CECECE;
- text-align: center;
- -webkit-border-radius: 4px;
- -moz-border-radius: 4px;
- -ms-border-radius: 4px;
- -o-border-radius: 4px;
- border-radius: 4px;
-}
-.gantt_custom_button div {
- cursor: pointer;
- float: none;
- height: 21px;
- line-height: 21px;
- vertical-align: middle;
-}
-.gantt_custom_button div:first-child {
- display: none;
-}
-.gantt_cal_light_wide {
- width: 580px;
- padding: 2px 4px;
-}
-.gantt_cal_light_wide .gantt_cal_larea {
- -moz-box-sizing: border-box;
- -webkit-box-sizing: border-box;
- box-sizing: border-box;
- border: 1px solid #bababa;
-}
-.gantt_cal_light_wide .gantt_cal_lsection {
- border: 0px;
- float: left;
- text-align: right;
- width: 80px;
- height: 20px;
- padding: 5px 10px 0px 0px;
-}
-.gantt_cal_light_wide .gantt_wrap_section {
- position: relative;
- padding: 10px 0;
- overflow: hidden;
- border-bottom: 1px solid #ebebeb;
-}
-.gantt_cal_light_wide .gantt_section_time {
- overflow: hidden;
- padding-top: 2px !important;
- padding-right: 0px;
- height: 20px !important;
-}
-.gantt_cal_light_wide .gantt_cal_ltext {
- padding-right: 0px;
-}
-.gantt_cal_light_wide .gantt_cal_larea {
- padding: 0 10px;
- width: 100%;
-}
-.gantt_cal_light_wide .gantt_section_time {
- background: transparent;
-}
-.gantt_cal_light_wide .gantt_cal_checkbox label {
- padding-left: 0px;
-}
-.gantt_cal_light_wide .gantt_cal_lsection .gantt_fullday {
- float: none;
- margin-right: 0px;
- font-weight: bold;
- cursor: pointer;
-}
-.gantt_cal_light_wide .gantt_custom_button {
- position: absolute;
- top: 0;
- right: 0;
- margin-top: 2px;
-}
-.gantt_cal_light_wide .gantt_repeat_right {
- margin-right: 55px;
-}
-.gantt_cal_light_wide.gantt_cal_light_full {
- width: 738px;
-}
-.gantt_cal_wide_checkbox input {
- margin-top: 8px;
- margin-left: 14px;
-}
-.gantt_cal_light input {
- font-size: 13px;
-}
-.gantt_section_time {
- background-color: white;
- white-space: nowrap;
- padding: 2px 10px 5px;
- padding-top: 2px !important;
-}
-.gantt_section_time .gantt_time_selects {
- float: left;
- height: 25px;
-}
-.gantt_section_time .gantt_time_selects select {
- height: 23px;
- padding: 2px;
- border: 1px solid #bababa;
-}
-.gantt_duration {
- width: 100px;
- height: 23px;
- float: left;
- white-space: nowrap;
- margin-left: 20px;
- line-height: 23px;
-}
-.gantt_duration .gantt_duration_value,
-.gantt_duration .gantt_duration_dec,
-.gantt_duration .gantt_duration_inc {
- -moz-box-sizing: border-box;
- -webkit-box-sizing: border-box;
- box-sizing: border-box;
- text-align: center;
- vertical-align: top;
- height: 100%;
- border: 1px solid #bababa;
-}
-.gantt_duration .gantt_duration_value {
- width: 40px;
- padding: 3px 4px;
- border-left-width: 0;
- border-right-width: 0;
-}
-.gantt_duration .gantt_duration_dec,
-.gantt_duration .gantt_duration_inc {
- width: 20px;
- padding: 1px;
- padding-bottom: 3px;
- background: #fff;
-}
-.gantt_duration .gantt_duration_dec {
- -moz-border-top-left-radius: 4px;
- -moz-border-bottom-left-radius: 4px;
- -webkit-border-top-left-radius: 4px;
- -webkit-border-bottom-left-radius: 4px;
- border-top-left-radius: 4px;
- border-bottom-left-radius: 4px;
-}
-.gantt_duration .gantt_duration_inc {
- margin-right: 4px;
- -moz-border-top-right-radius: 4px;
- -moz-border-bottom-right-radius: 4px;
- -webkit-border-top-right-radius: 4px;
- -webkit-border-bottom-right-radius: 4px;
- border-top-right-radius: 4px;
- border-bottom-right-radius: 4px;
-}
-/* Quick info */
-.gantt_cal_quick_info {
- border: 1px solid #bababa;
- border-radius: 6px;
- position: absolute;
- z-index: 300;
- box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.07);
- background-color: #ffffff;
- width: 300px;
- transition: left 0.5s ease, right 0.5s;
- -moz-transition: left 0.5s ease, right 0.5s;
- -webkit-transition: left 0.5s ease, right 0.5s;
- -o-transition: left 0.5s ease, right 0.5s;
-}
-.gantt_no_animate {
- transition: none;
- -moz-transition: none;
- -webkit-transition: none;
- -o-transition: none;
-}
-.gantt_cal_quick_info.gantt_qi_left .gantt_qi_big_icon {
- float: right;
-}
-.gantt_cal_qi_title {
- -webkit-border-top-left-radius: 6px;
- -webkit-border-bottom-left-radius: 0;
- -webkit-border-top-right-radius: 6px;
- -webkit-border-bottom-right-radius: 0;
- -moz-border-radius-topleft: 6px;
- -moz-border-radius-bottomleft: 0;
- -moz-border-radius-topright: 6px;
- -moz-border-radius-bottomright: 0;
- border-top-left-radius: 6px;
- border-bottom-left-radius: 0;
- border-top-right-radius: 6px;
- border-bottom-right-radius: 0;
- padding: 5px 0px 8px 12px;
- color: #494949;
- background-color: #dbdbdb;
- border-bottom: 1px solid #bababa;
-}
-.gantt_cal_qi_tdate {
- font-size: 14px;
- font-weight: bold;
-}
-.gantt_cal_qi_tcontent {
- font-size: 13px;
-}
-.gantt_cal_qi_content {
- padding: 16px 8px;
- font-size: 13px;
- color: #494949;
- overflow: hidden;
-}
-.gantt_cal_qi_controls {
- -webkit-border-top-left-radius: 0;
- -webkit-border-bottom-left-radius: 6px;
- -webkit-border-top-right-radius: 0;
- -webkit-border-bottom-right-radius: 6px;
- -moz-border-radius-topleft: 0;
- -moz-border-radius-bottomleft: 6px;
- -moz-border-radius-topright: 0;
- -moz-border-radius-bottomright: 6px;
- border-top-left-radius: 0;
- border-bottom-left-radius: 6px;
- border-top-right-radius: 0;
- border-bottom-right-radius: 6px;
- padding-left: 7px;
-}
-.gantt_cal_qi_controls .gantt_menu_icon {
- margin-top: 6px;
- background-repeat: no-repeat;
-}
-.gantt_cal_qi_controls .gantt_menu_icon.icon_edit {
- width: 20px;
- background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAB3RJTUUH3QYFCjI5ZQj5bAAAAFNJREFUOMvt0zEOACAIA0DkwTymH8bJTRTKZGJXyaWEKPKTCQAH4Ls37cItcDUzsxHNDLZNhCq7Gt1wh9ErV7EjyGAhyGLphlnsClWuS32rn0czAV+vNGrM/LBtAAAAAElFTkSuQmCC);
-}
-.gantt_cal_qi_controls .gantt_menu_icon.icon_delete {
- width: 20px;
- background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAQCAYAAAAmlE46AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QzQzRjMxM0NDRUJEMTFFMjlCNDZDQzhFQUM0ODRCMEIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QzQzRjMxM0RDRUJEMTFFMjlCNDZDQzhFQUM0ODRCMEIiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpDNDNGMzEzQUNFQkQxMUUyOUI0NkNDOEVBQzQ4NEIwQiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpDNDNGMzEzQkNFQkQxMUUyOUI0NkNDOEVBQzQ4NEIwQiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PoU+5FoAAACMSURBVHja7JPdDYAgDIQLE+gmjuAIbOIKjMRIbAAb1BZLUozgz7OXfIbWKxeCAiKCwmNfXnsNP5S4mIkMrSYiEaY2LOFloO6QVF1JamPGc2IvpaeSbqXY4LkOLwU6OTyvgzBasxwnBnivYOGj/sEXg27gbd/JpWZiOf0pV7Anlq9UGqs07hTFC7sAAwCbSNs8SyqFMAAAAABJRU5ErkJggg==);
-}
-.gantt_qi_big_icon {
- font-size: 13px;
- border-radius: 4px;
- font-weight: bold;
- background: #fff;
- margin: 5px 9px 8px 0px;
- min-width: 60px;
- line-height: 32px;
- vertical-align: middle;
- padding: 0px 10px 0px 5px;
- cursor: pointer;
- border: 1px solid #bababa;
-}
-.gantt_cal_qi_controls div {
- float: left;
- height: 32px;
- text-align: center;
- line-height: 32px;
-}
-.gantt_tooltip {
- box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.07);
- background-color: white;
- border-left: 1px solid rgba(0, 0, 0, 0.07);
- border-top: 1px solid rgba(0, 0, 0, 0.07);
- font-family: "Arial";
- font-size: 8pt;
- color: #494949;
- padding: 10px;
- position: absolute;
- z-index: 50;
-}
-.gantt_marker {
- height: 100%;
- width: 2px;
- top: 0;
- position: absolute;
- text-align: center;
- background-color: rgba(255, 0, 0, 0.4);
- -moz-box-sizing: border-box;
- -webkit-box-sizing: border-box;
- box-sizing: border-box;
-}
-.gantt_marker .gantt_marker_content {
- padding: 5px;
- background: inherit;
- color: white;
- position: absolute;
- font-size: 12px;
- line-height: 12px;
- opacity: 0.8;
-}
-.gantt_marker_area {
- position: absolute;
- top: 0;
- left: 0;
-}
-.gantt_noselect {
- -moz-user-select: -moz-none;
- -webkit-user-select: none;
- -user-select: none;
-}
-.gantt_drag_marker {
- position: absolute;
- font-family: "Arial";
- font-size: 13px;
-}
-.gantt_drag_marker .gantt_tree_indent,
-.gantt_drag_marker .gantt_tree_icon.gantt_blank,
-.gantt_drag_marker .gantt_tree_icon.gantt_open,
-.gantt_drag_marker .gantt_tree_icon.gantt_close {
- display: none;
-}
-.gantt_drag_marker,
-.gantt_drag_marker .gantt_row.odd {
- background-color: #ffffff;
-}
-.gantt_drag_marker .gantt_row {
- border-left: 1px solid #d2d2d2;
- border-top: 1px solid #d2d2d2;
-}
-.gantt_drag_marker .gantt_cell {
- border-color: #d2d2d2;
-}
-.gantt_row.gantt_over,
-.gantt_task_row.gantt_over {
- background-color: #0070fe;
-}
-.gantt_row.gantt_transparent .gantt_cell {
- opacity: 0.7;
-}
-.gantt_task_row.gantt_transparent {
- background-color: #dbf3fe;
-}
-.dhtmlx_popup_button.dhtmlx_delete_button {
- background: #46ad51;
- text-shadow: 0 -1px 0 #307738;
- color: #fff;
- font-weight: bold;
-}
diff --git a/libraries/dhtmlxgantt/sources/skins/dhtmlxgantt_meadow.css b/libraries/dhtmlxgantt/sources/skins/dhtmlxgantt_meadow.css
deleted file mode 100644
index 49fc61a..0000000
--- a/libraries/dhtmlxgantt/sources/skins/dhtmlxgantt_meadow.css
+++ /dev/null
@@ -1,1420 +0,0 @@
-/*
-@license
-
-dhtmlxGantt v.3.2.0 Stardard
-This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited.
-
-(c) Dinamenta, UAB.
-*/
-/* colors for items with inline styles assigned (task.color, link.color)*/
-/*
- Header
-*/
-.chartHeaderBg {
- background-color: #f4f2ea;
-}
-/*
- Grid
-*/
-.gridHoverStyle {
- background-color: #ffebbc !important;
-}
-.gantt_grid_scale .gantt_grid_head_cell {
- border-top: none !important;
- border-right: none !important;
-}
-.gantt_grid_data .gantt_cell {
- border-right: none;
-}
-.gridSelection {
- background-color: #ffebbc !important;
-}
-.timelineSelection {
- background-color: #ffebbc !important;
-}
-/*
- Plot
-*/
-/*
- milestone
-*/
-.gantt_task_line .gantt_task_progress_drag {
- bottom: -4px;
- height: 16px;
- margin-left: -8px;
- width: 16px;
-}
-.gantt_task .gantt_task_scale .gantt_scale_cell {
- border-right: 1px solid #cac8bd;
-}
-/*
- project highlight
-*/
-.gantt_row.gantt_project .gantt_cell,
-.gantt_row.odd.gantt_project .gantt_cell {
- background-color: #edf4ff;
-}
-.gantt_task_row.gantt_project .gantt_task_cell,
-.gantt_task_row.odd.gantt_project .gantt_task_cell {
- background-color: #f5f8ff;
-}
-.gantt_task_line.gantt_project {
- background-color: #c7d8f7;
- border: 1px solid #7ba3ed;
-}
-.gantt_task_line.gantt_project .gantt_task_progress {
- background-color: #9ab9f1;
-}
-/*
- lightbox
-*/
-.gantt_cal_light .gantt_cal_ltitle {
- padding: 7px 10px;
-}
-.gantt_cal_light .gantt_cal_ltext textarea {
- border: 1px solid #d8d6ce;
-}
-.gantt_cal_light .gantt_cal_larea {
- border-color: #d8d6ce !important;
- background-color: #fcfaf3;
-}
-.gantt_cal_light .gantt_cal_larea .gantt_section_time {
- background-color: #fcfaf3;
-}
-.buttonBg {
- background: #e0ded7;
-}
-.gantt_cal_light .gantt_btn_set {
- height: 27px;
- margin: 5px 10px;
- padding: 0px 15px 0px 10px;
-}
-.gantt_cal_light .gantt_btn_set div {
- height: 25px;
- margin-top: 0;
- background-position: center center;
- line-height: 25px;
-}
-.gantt_btn_set.gantt_save_btn_set {
- border: 1px solid #98d27e;
- background: #a7d991;
-}
-.gantt_btn_set.gantt_cancel_btn_set {
- background: #e0ded7;
- border: 1px solid #cac8bd;
-}
-.gantt_btn_set.gantt_delete_btn_set {
- border: 1px solid #ffad54;
- background: #ffb96d;
-}
-.gantt_cal_light_wide {
- padding: 0 !important;
-}
-.gantt_cal_light_wide .gantt_cal_larea {
- border-left: none !important;
- border-right: none !important;
-}
-.gantt_cal_light_wide .gantt_cal_larea .gantt_cal_lsection {
- width: 90px;
-}
-.gantt_cal_light_wide .gantt_btn_set {
- margin: 7px 10px;
-}
-/*
- Message
-*/
-.dhtmlx_popup_button.dhtmlx_ok_button {
- border: 1px solid #98d27e;
- background: #a7d991;
-}
-/*
- QuickInfo
-*/
-.gantt_data_area .gantt_cal_quick_info {
- background-color: #f4f2ea;
-}
-.gantt_data_area .gantt_cal_qi_content {
- background: #fcfaf3;
- border-bottom: 1px solid #cac8bd;
-}
-.gantt_qi_big_icon.icon_delete {
- border-color: #ffad54;
- background: #ffb96d;
-}
-/* links dnd */
-.gantt_container {
- font-family: "Verdana";
- font-size: 11px;
- border: 1px solid #cac8bd;
- position: relative;
- white-space: nowrap;
-}
-.gantt_grid {
- border-right: 1px solid #cac8bd;
-}
-.gantt_task_scroll {
- overflow-x: scroll;
-}
-.gantt_task {
- position: relative;
-}
-.gantt_task,
-.gantt_grid {
- overflow-x: hidden;
- overflow-y: hidden;
- display: inline-block;
- vertical-align: top;
-}
-.gantt_grid_scale,
-.gantt_task_scale {
- color: #3f3f3f;
- font-size: 8pt;
- border-bottom: 1px solid #cac8bd;
-}
-.gantt_grid_scale {
- background-color: #f4f2ea;
-}
-.gantt_task_scale {
- background-color: #f4f2ea;
-}
-.gantt_scale_line {
- box-sizing: border-box;
- -moz-box-sizing: border-box;
- border-top: 1px solid #cac8bd;
-}
-.gantt_scale_line:first-child {
- border-top: none;
-}
-.gantt_grid_head_cell {
- display: inline-block;
- vertical-align: top;
- border-right: 1px solid #cac8bd;
- text-align: center;
- position: relative;
- cursor: default;
- height: 100%;
- box-sizing: border-box;
- -moz-box-sizing: border-box;
- line-height: 28px;
- -moz-user-select: -moz-none;
- -webkit-user-select: none;
- -user-select: none;
- overflow: hidden;
-}
-.gantt_scale_line {
- clear: both;
-}
-.gantt_grid_data {
- width: 100%;
- overflow: hidden;
-}
-.gantt_row {
- position: relative;
- -webkit-user-select: none;
- -moz-user-select: none;
- -moz-user-select: -moz-none;
-}
-.gantt_add,
-.gantt_grid_head_add {
- width: 100%;
- height: 100%;
- background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MDAzOTZDREFDN0FGMTFFMkE1MDhCNkFCRDk3RkY4NTkiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MDAzOTZDREJDN0FGMTFFMkE1MDhCNkFCRDk3RkY4NTkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDowMDM5NkNEOEM3QUYxMUUyQTUwOEI2QUJEOTdGRjg1OSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDowMDM5NkNEOUM3QUYxMUUyQTUwOEI2QUJEOTdGRjg1OSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PnzqpNoAAAEFSURBVHjapJPPDsFAEMbHZqXSi1ZC3Dg7O9bbeA7v4czZE4hLSRwkbiI4cCAN4Uyqs/pPs1vbrTDJHL7Mb77sbr8WeuMu/FOEMQaStplYdgYHFBnKjK1atZqI8+ViZZ2AMmS5x1QxFNHLNVAx1EPMNVAxBBFtvxnfuq4LUKDTTLwXXsFqNprKE1RMM2y+9oe9FV3Bw5++/3svfMRWpS0MV7fFx0Ka2e62kQEhBEbzoTA0DAPqtXqinbMD643IFGkR3KcL1Cib0yA4/DBY4A2u15ug45oFHD05x44sO+kc+FwhI0j4RZBQlUT5kH+0JS4VBpKfqaSVYDDpJ1rz9eNxlxq8BBgAcMHBu6BPeX8AAAAASUVORK5CYII=);
- background-position: center center;
- background-repeat: no-repeat;
- cursor: pointer;
- position: relative;
- -moz-opacity: 0.3;
- opacity: 0.3;
-}
-.gantt_grid_head_cell.gantt_grid_head_add {
- -moz-opacity: 0.6;
- opacity: 0.6;
- top: 0;
-}
-.gantt_grid_head_cell.gantt_grid_head_add:hover {
- -moz-opacity: 1;
- opacity: 1;
-}
-.gantt_grid_data .gantt_row:hover,
-.gantt_grid_data .gantt_row.odd:hover {
- background-color: #ffebbc !important;
-}
-.gantt_grid_data .gantt_row:hover .gantt_add,
-.gantt_grid_data .gantt_row.odd:hover .gantt_add {
- -moz-opacity: 1;
- opacity: 1;
-}
-.gantt_task_row,
-.gantt_row {
- border-bottom: 1px solid #eae9e5;
-}
-.gantt_row,
-.gantt_task_row {
- background-color: #ffffff;
-}
-.gantt_row.odd,
-.gantt_task_row.odd {
- background-color: #ffffff;
-}
-.gantt_row,
-.gantt_cell,
-.gantt_task_row,
-.gantt_task_cell,
-.gantt_grid_head_cell,
-.gantt_scale_cell {
- box-sizing: border-box;
- -moz-box-sizing: border-box;
-}
-.gantt_grid_head_cell,
-.gantt_scale_cell {
- line-height: inherit;
-}
-.gantt_grid_scale .gantt_grid_column_resize_wrap {
- cursor: col-resize;
- position: absolute;
- width: 13px;
-}
-.gantt_grid_column_resize_wrap .gantt_grid_column_resize {
- background-color: #cac8bd;
- height: 100%;
- width: 1px;
- margin: 0 auto;
-}
-.gantt_grid .gantt_grid_resize_wrap {
- cursor: col-resize;
- position: absolute;
- width: 13px;
- z-index: 1;
-}
-.gantt_grid_resize_wrap .gantt_grid_resize {
- background-color: #cac8bd;
- width: 1px;
- margin: 0 auto;
-}
-.gantt_drag_marker.gantt_grid_resize_area {
- background-color: rgba(231, 231, 231, 0.5);
- border-left: 1px solid #cac8bd;
- border-right: 1px solid #cac8bd;
- height: 100%;
- width: 100%;
- -moz-box-sizing: border-box;
- -webkit-box-sizing: border-box;
- box-sizing: border-box;
-}
-.gantt_cell {
- display: inline-block;
- vertical-align: top;
- border-right: 1px solid #eae9e5;
- padding-left: 6px;
- padding-right: 6px;
- height: 100%;
- overflow: hidden;
- white-space: nowrap;
- font-size: 8pt;
-}
-.gantt_grid_scale .gantt_last_cell,
-.gantt_grid_data .gantt_last_cell,
-.gantt_task_scale .gantt_last_cell,
-.gantt_task_bg .gantt_last_cell {
- border-right-width: 0px;
-}
-.gantt_task_bg {
- overflow: hidden;
-}
-.gantt_scale_cell {
- display: inline-block;
- white-space: nowrap;
- overflow: hidden;
- border-right: 1px solid #cac8bd;
- text-align: center;
- height: 100%;
-}
-.gantt_task_cell {
- display: inline-block;
- height: 100%;
- border-right: 1px solid #eae9e5;
-}
-.gantt_ver_scroll {
- width: 0px;
- background-color: transparent;
- height: 1px;
- overflow-x: hidden;
- overflow-y: scroll;
- display: none;
- position: absolute;
- right: 0px;
-}
-.gantt_ver_scroll > div {
- width: 1px;
- height: 1px;
-}
-.gantt_hor_scroll {
- height: 0px;
- background-color: transparent;
- width: 100%;
- clear: both;
- overflow-x: scroll;
- overflow-y: hidden;
- display: none;
-}
-.gantt_hor_scroll > div {
- width: 5000px;
- height: 1px;
-}
-.gantt_tree_indent {
- width: 15px;
- height: 100%;
- display: inline-block;
-}
-.gantt_tree_content,
-.gantt_tree_icon {
- vertical-align: top;
-}
-.gantt_tree_icon {
- width: 28px;
- height: 100%;
- display: inline-block;
- background-repeat: no-repeat;
- background-position: center center;
-}
-.gantt_tree_content {
- height: 100%;
- display: inline-block;
-}
-.gantt_tree_icon.gantt_open {
- background-image: url(data:image/gif;base64,R0lGODlhEgASAJEAAP///4SEhAAAAP///yH5BAUUAAMALAAAAAASABIAAAIqnI+py+0Powq01haA3iDgLWwek2mhNi6ZwLLdZ4owcL4kJ5OWJfX+DykAADs=);
- width: 18px;
- cursor: pointer;
-}
-.gantt_tree_icon.gantt_close {
- background-image: url(data:image/gif;base64,R0lGODlhEgASAJEAAP///4SEhAAAAP///yH5BAUUAAMALAAAAAASABIAAAImnI+py+0Powq01haA3iBgvnlMBnafgKLmWK4LCYpvK0+WJeX6DhUAOw==);
- width: 18px;
- cursor: pointer;
-}
-.gantt_tree_icon.gantt_blank {
- width: 18px;
-}
-.gantt_tree_icon.gantt_folder_open {
- background-image: url(data:image/gif;base64,R0lGODlhEgASAMQfAPXMWPK9N/fipOzLbPrVaP/89frqwv3tuvvprfLES+7PdP7xyP7z0vPAQfvtyMuaIv/32/735OSqFv3de+7ReP7lmf7gh/nv0v/67unFXfb29vK/PenFSaGEPfLnyv///yH5BAEAAB8ALAAAAAASABIAAAWS4Cc+ZGk+YvqZRVtgGiag6sNBThlFWnTQqQcE4sqRFj/VashsYR6HZI0JWSAjDwQCOGIgERULg/EQzJRQsGVCYHTK51qYTQDkFPj4iA4AJHIUgQoGQA8EdX4NhHgKAxeFfQkJGwGLeI6Fkg2UlQ8Dn5hBCZuchKChIxKkGw05Ga8DHlwkqg2tJ1xBtDlKvTUkviEAOw==);
-}
-.gantt_tree_icon.gantt_folder_closed {
- background-image: url(data:image/gif;base64,R0lGODlhEgASAMQfAPvjpP/24fPHVvnUdvzotdSiKv/23vvrw/LCS/C+RfnelvPMaf/88/nbi/rsyerYq/TLYv7y1v7wzeCsLO+8P86dJfvv0MuaIsydKPPOc+SqGKGEPe/AS+zVneWwLf///yH5BAEAAB8ALAAAAAASABIAAAWZ4CdeZGleYvpdA+O+zNUBqHoZOB4EceHUqVtuF+n9VCtdQCI5BC6FA3BkCEQkBALAACVMV9eDVhGJQGnIixigaAwiG6jie2G7BxDLpVJozG13EAICPxUeGRleQQMLgggJUhiHC3pBggKPFJETGZRAF5gJCRSaFxgTC55BCByioz+nEKojGgmtHBwPJAUCELo2J8FfSMTFxsUhADs=);
-}
-.gantt_tree_icon.gantt_file {
- background-image: url(data:image/gif;base64,R0lGODlhEgASAMQVAPv7+2RkZPf39/r6+vj4+Pn5+fT09Pb29vX19fHx8fDw8Onp6fLy8u7u7uzs7PPz8+vr6+rq6uXl5ejo6O/v7////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAABUALAAAAAASABIAAAV4YCWOZGkGaKqaVSAMQCwLQnAOj6ErzUTXpQDgQDgcGJTFDzgSEp4HRCKytDUBMKzAoIAsJACrSCjTGhINR5hELg8ECEZifS3HCgQEgj62xwZPAnwtbgMDBQU0g21Yh4iIi3aGkzBihH52lgEEmDIEli0qoigspSYhADs=);
-}
-.gantt_grid_head_cell .gantt_sort {
- position: absolute;
- right: 5px;
- top: 8px;
- width: 7px;
- height: 13px;
- background-repeat: no-repeat;
- background-position: center center;
-}
-.gantt_grid_head_cell .gantt_sort.gantt_asc {
- background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAANCAYAAABlyXS1AAAARUlEQVR42mNgQAL1/VP/M2ADIIntF2/9x1AAlrh0C47hCmA60DFYwX88gIFGwNDY5D8uDFbg7hvwHx2jmIBTAlkB0e4BAEjlaNtBWJPnAAAAAElFTkSuQmCC);
-}
-.gantt_grid_head_cell .gantt_sort.gantt_desc {
- background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAANCAYAAABlyXS1AAAARUlEQVR4nGNgQAKGxib/GbABkIS7b8B/DAUwCRiGK0CXwFBAb1DfP/U/LszwHwi2X7qFgUEArBtdAVwCBmAKMCSQFSDzAWXXaOHsXeqkAAAAAElFTkSuQmCC);
-}
-.gantt_inserted,
-.gantt_updated {
- font-weight: bold;
-}
-.gantt_deleted {
- text-decoration: line-through;
-}
-.gantt_invalid {
- background-color: FFE0E0;
-}
-.gantt_error {
- color: red;
-}
-.gantt_status {
- right: 1px;
- padding: 5px 10px;
- background: rgba(155, 155, 155, 0.1);
- position: absolute;
- top: 1px;
- -webkit-transition: opacity 0.2s;
- transition: opacity 0.2s;
- opacity: 0;
-}
-.gantt_status.gantt_status_visible {
- opacity: 1;
-}
-#gantt_ajax_dots span {
- -webkit-transition: opacity 0.2s;
- transition: opacity 0.2s;
- background-repeat: no-repeat;
- opacity: 0;
-}
-#gantt_ajax_dots span.gantt_dot_visible {
- opacity: 1;
-}
-.dhtmlx_message_area {
- position: fixed;
- right: 5px;
- width: 250px;
- z-index: 1000;
-}
-.dhtmlx-info {
- min-width: 120px;
- padding: 4px 4px 4px 20px;
- font-family: "Verdana";
- z-index: 10000;
- margin: 5px;
- margin-bottom: 10px;
- -webkit-transition: all .5s ease;
- -moz-transition: all .5s ease;
- -o-transition: all .5s ease;
- transition: all .5s ease;
-}
-.dhtmlx-info.hidden {
- height: 0px;
- padding: 0px;
- border-width: 0px;
- margin: 0px;
- overflow: hidden;
-}
-.dhtmlx_modal_box {
- overflow: hidden;
- display: inline-block;
- min-width: 250px;
- width: 250px;
- text-align: center;
- position: fixed;
- z-index: 20000;
- box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.07);
- font-family: "Verdana";
- border-radius: 6px;
- border: 1px solid #cac8bd;
- background: #fcfaf3;
-}
-.dhtmlx_popup_title {
- border-top-left-radius: 6px;
- border-top-right-radius: 6px;
- border-width: 0px;
-}
-.dhtmlx_button,
-.dhtmlx_popup_button {
- border: 1px solid #cac8bd;
- height: 25px;
- line-height: 25px;
- display: inline-block;
- margin: 0 5px;
- border-radius: 4px;
- background: #e0ded7;
-}
-.dhtmlx-info,
-.dhtmlx_popup_button,
-.dhtmlx_button {
- user-select: none;
- -webkit-user-select: none;
- -moz-user-select: -moz-none;
- cursor: pointer;
-}
-.dhtmlx_popup_text {
- overflow: hidden;
-}
-.dhtmlx_popup_controls {
- border-radius: 6px;
- padding: 10px;
-}
-.dhtmlx_popup_button {
- min-width: 100px;
-}
-div.dhx_modal_cover {
- background-color: #000;
- cursor: default;
- filter: progid:DXImageTransform.Microsoft.Alpha(opacity=20);
- opacity: 0.2;
- position: fixed;
- z-index: 19999;
- left: 0px;
- top: 0px;
- width: 100%;
- height: 100%;
- border: none;
- zoom: 1;
-}
-.dhtmlx-info img,
-.dhtmlx_modal_box img {
- float: left;
- margin-right: 20px;
-}
-.dhtmlx-alert-error,
-.dhtmlx-confirm-error {
- border: 1px solid #ff0000;
-}
-/*Skin section*/
-.dhtmlx_button input,
-.dhtmlx_popup_button div {
- border-radius: 4px;
- font-size: 14px;
- -moz-box-sizing: content-box;
- box-sizing: content-box;
- padding: 0px;
- margin: 0px;
- vertical-align: top;
-}
-.dhtmlx_popup_title {
- color: #fff;
- text-shadow: 1px 1px #000;
- height: 40px;
- line-height: 40px;
- font-size: 20px;
-}
-.dhtmlx_popup_text {
- margin: 15px 15px 5px 15px;
- font-size: 14px;
- color: #000;
- min-height: 30px;
- border-radius: 6px;
-}
-.dhtmlx-info,
-.dhtmlx-error {
- font-size: 14px;
- color: #000;
- box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.07);
- padding: 0px;
- background-color: #FFF;
- border-radius: 3px;
- border: 1px solid #ffffff;
-}
-.dhtmlx-info div {
- padding: 5px 10px 5px 10px;
- background-color: #fff;
- border-radius: 3px;
- border: 1px solid #cac8bd;
-}
-.dhtmlx-error {
- background-color: #d81b1b;
- border: 1px solid #ff3c3c;
- box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.07);
-}
-.dhtmlx-error div {
- background-color: #d81b1b;
- border: 1px solid #940000;
- color: #FFF;
-}
-.gantt_grid div,
-.gantt_data_area div {
- -ms-touch-action: none;
- -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
-}
-.gantt_data_area {
- position: relative;
- overflow-x: hidden;
- overflow-y: hidden;
- -moz-user-select: -moz-none;
- -webkit-user-select: none;
- -user-select: none;
-}
-.gantt_links_area {
- position: absolute;
- left: 0px;
- top: 0px;
-}
-.gantt_task_content,
-.gantt_task_progress,
-.gantt_side_content {
- line-height: inherit;
- overflow: hidden;
- height: 100%;
-}
-.gantt_task_content {
- font-size: 11px;
- color: #3f3f3f;
- width: 100%;
- top: 0;
- position: absolute;
- white-space: nowrap;
- text-align: center;
-}
-.gantt_task_progress {
- text-align: center;
- z-index: 0;
- background: #a7d991;
-}
-.gantt_task_line {
- -webkit-border-radius: 2px;
- -moz-border-radius: 2px;
- border-radius: 2px;
- position: absolute;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
- background-color: #e1ffd4;
- border: 1px solid #7fbc64;
- -webkit-user-select: none;
- -moz-user-select: none;
- -moz-user-select: -moz-none;
-}
-.gantt_task_line.gantt_drag_move div {
- cursor: move;
-}
-.gantt_touch_move,
-.gantt_touch_progress .gantt_touch_resize {
- -moz-transform: scale(1.02, 1.1);
- -o-transform: scale(1.02, 1.1);
- -webkit-transform: scale(1.02, 1.1);
- transform: scale(1.02, 1.1);
- -moz-transform-origin: 50%;
- -o-transform-origin: 50%;
- -webkit-transform-origin: 50%;
- transform-origin: 50%;
-}
-.gantt_touch_progress .gantt_task_progress_drag,
-.gantt_touch_resize .gantt_task_drag {
- -moz-transform: scaleY(1.3);
- -o-transform: scaleY(1.3);
- -webkit-transform: scaleY(1.3);
- transform: scaleY(1.3);
- -moz-transform-origin: 50%;
- -o-transform-origin: 50%;
- -webkit-transform-origin: 50%;
- transform-origin: 50%;
-}
-.gantt_side_content {
- position: absolute;
- white-space: nowrap;
- color: #6e6e6e;
- bottom: 7px;
- font-size: 11px;
- font-size: 10px;
-}
-.gantt_side_content.gantt_left {
- right: 100%;
- padding-right: 15px;
-}
-.gantt_side_content.gantt_right {
- left: 100%;
- padding-left: 15px;
-}
-.gantt_side_content.gantt_link_crossing {
- bottom: 6.75px;
-}
-.gantt_task_link .gantt_line_wrapper,
-.gantt_link_arrow {
- position: absolute;
- cursor: pointer;
-}
-.gantt_line_wrapper div {
- background-color: #ffb96d;
-}
-.gantt_task_link:hover .gantt_line_wrapper div {
- box-shadow: 0 0 5px 0px #ffb96d;
-}
-.gantt_task_link div.gantt_link_arrow {
- background-color: transparent;
- border-style: solid;
- width: 0px;
- height: 0px;
-}
-.gantt_link_control {
- position: absolute;
- width: 13px;
- top: 0px;
-}
-.gantt_link_control div {
- display: none;
- cursor: pointer;
- box-sizing: border-box;
- position: relative;
- top: 50%;
- margin-top: -7.5px;
- vertical-align: middle;
- border: 1px solid #929292;
- -webkit-border-radius: 6.5px;
- -moz-border-radius: 6.5px;
- border-radius: 6.5px;
- height: 13px;
- width: 13px;
- background-color: #f0f0f0;
-}
-.gantt_link_control div:hover {
- background-color: #ffffff;
-}
-.gantt_link_control.task_left {
- left: -13px;
-}
-.gantt_link_control.task_right {
- right: -13px;
-}
-.gantt_task_line.gantt_selected .gantt_link_control div,
-.gantt_task_line:hover .gantt_link_control div {
- display: block;
-}
-.gantt_link_target .gantt_link_control div {
- display: block;
-}
-.gantt_link_source,
-.gantt_link_target {
- box-shadow: 0px 0px 3px #a7d991;
-}
-.gantt_link_target.link_start_allow,
-.gantt_link_target.link_finish_allow {
- box-shadow: 0px 0px 3px #ffdeba;
-}
-.gantt_link_target.link_start_deny,
-.gantt_link_target.link_finish_deny {
- box-shadow: 0px 0px 3px #e87e7b;
-}
-.link_start_allow .gantt_link_control.task_left div,
-.link_finish_allow .gantt_link_control.task_right div {
- background-color: #ffdeba;
- border-color: #ffb96d;
-}
-.link_start_deny .gantt_link_control.task_left div,
-.link_finish_deny .gantt_link_control.task_right div {
- background-color: #e87e7b;
- border-color: #dd3e3a;
-}
-.gantt_link_arrow_right {
- border-width: 4px 0 4px 6px;
- border-top-color: transparent !important;
- border-right-color: transparent !important;
- border-bottom-color: transparent !important;
- border-left-color: #ffb96d;
- margin-top: -1px;
-}
-.gantt_link_arrow_left {
- border-width: 4px 6px 4px 0;
- margin-top: -1px;
- border-top-color: transparent !important;
- border-right-color: #ffb96d;
- border-bottom-color: transparent !important;
- border-left-color: transparent !important;
-}
-.gantt_link_arrow_top {
- border-width: 0 4px 6px 4px;
- border-color: transparent transparent #ffb96d transparent;
- border-top-color: transparent !important;
- border-right-color: transparent !important;
- border-bottom-color: #ffb96d;
- border-left-color: transparent !important;
-}
-.gantt_link_arrow_down {
- border-width: 4px 6px 0 4px;
- border-top-color: #ffb96d;
- border-right-color: transparent !important;
- border-bottom-color: transparent !important;
- border-left-color: transparent !important;
-}
-.gantt_task_drag,
-.gantt_task_progress_drag {
- cursor: w-resize;
- height: 100%;
- display: none;
- position: absolute;
-}
-.gantt_task_line.gantt_selected .gantt_task_progress_drag,
-.gantt_task_line:hover .gantt_task_progress_drag,
-.gantt_task_line.gantt_selected .gantt_task_drag,
-.gantt_task_line:hover .gantt_task_drag {
- display: block;
-}
-.gantt_task_drag {
- width: 6px;
- background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAACCAYAAACUn8ZgAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6OTgyOEUzQzJDODQ3MTFFMjg3NDRCMUFBMTM1M0U1OTYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6OTgyOEUzQzNDODQ3MTFFMjg3NDRCMUFBMTM1M0U1OTYiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo5ODI4RTNDMEM4NDcxMUUyODc0NEIxQUExMzUzRTU5NiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo5ODI4RTNDMUM4NDcxMUUyODc0NEIxQUExMzUzRTU5NiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pj3qIQcAAAAaSURBVHjaYvz//z8DLsAEIhoaGv5jowECDAASbgp+4xzYLgAAAABJRU5ErkJggg==);
- z-index: 1;
- top: 0px;
-}
-.gantt_task_drag.task_left {
- left: 0px;
-}
-.gantt_task_drag.task_right {
- right: 0px;
-}
-.gantt_task_progress_drag {
- height: 8px;
- width: 8px;
- bottom: -4px;
- margin-left: -4px;
- background-position: bottom;
- background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAJCAYAAAAGuM1UAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6Q0JCMkQyRDhDOTFDMTFFMjg3RTFCNUEzNUQwRDMxNjEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6Q0JCMkQyRDlDOTFDMTFFMjg3RTFCNUEzNUQwRDMxNjEiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpDQkIyRDJENkM5MUMxMUUyODdFMUI1QTM1RDBEMzE2MSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpDQkIyRDJEN0M5MUMxMUUyODdFMUI1QTM1RDBEMzE2MSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Ppy3ICwAAADsSURBVHjafFBbaoNQEB1vghtIPlJX4Z/iX/cSsoZQGl80JZvIAvxVf1yNX6EFH+ADK8Y6nblQaGzagXNnmHPODHMVRIR5+L7/Sqm2bfv0i2TDT3ied4zjGBlU7+f8XPzCwrZtsSzLb9PTXQMRfhRFWFUVdl0nURQFco+45xsDNdwwDOVUNuR5LlHXNWZZhsyR5sDahRDC1XXdsSwLFCHgo+/hc5okhusVVFUFTdNgHMfHIAhQ0N2OaZowkbtpGhiG4Qa0RX6OYRicvCU9b2maPqzWa/grKtpE93D5zoZtkiRnyhv4Py6E3ZcAAwDb89Sl5rtPtAAAAABJRU5ErkJggg==);
- background-repeat: no-repeat;
- z-index: 2;
-}
-.gantt_link_tooltip {
- box-shadow: 3px 3px 3px #888888;
- background-color: #ffffff;
- border-left: 1px dotted #cecece;
- border-top: 1px dotted #cecece;
- font-family: Tahoma;
- font-size: 8pt;
- color: #444444;
- padding: 6px;
- line-height: 20px;
-}
-.gantt_link_direction {
- height: 0px;
- border: 0px none #ffb96d;
- border-bottom-style: dashed;
- border-bottom-width: 2px;
- transform-origin: 0% 0%;
- -ms-transform-origin: 0% 0%;
- -webkit-transform-origin: 0% 0%;
- z-index: 2;
- margin-left: 1px;
- position: absolute;
-}
-.gantt_grid_data .gantt_row.gantt_selected,
-.gantt_grid_data .gantt_row.odd.gantt_selected {
- background-color: #ffebbc !important;
-}
-.gantt_task_row.gantt_selected {
- background-color: #ffebbc !important;
-}
-.gantt_task_row.gantt_selected .gantt_task_cell {
- border-right-color: #ffdc89;
-}
-.gantt_task_line.gantt_selected {
- box-shadow: 0 0 5px #a7d991;
-}
-.gantt_task_line.gantt_project.gantt_selected {
- box-shadow: 0 0 5px #9ab9f1;
-}
-.gantt_task_line.gantt_milestone {
- visibility: hidden;
- background-color: #db7dc5;
- border: 0px solid #cd49ae;
- box-sizing: content-box;
- -moz-box-sizing: content-box;
-}
-.gantt_task_line.gantt_milestone div {
- visibility: visible;
-}
-.gantt_task_line.gantt_milestone .gantt_task_content {
- background: inherit;
- border: inherit;
- border-width: 1px;
- border-radius: inherit;
- box-sizing: border-box;
- -moz-box-sizing: border-box;
- -webkit-transform: rotate(45deg);
- -moz-transform: rotate(45deg);
- -ms-transform: rotate(45deg);
- -o-transform: rotate(45deg);
- transform: rotate(45deg);
-}
-.gantt_task_line.gantt_task_inline_color {
- border-color: #999999;
-}
-.gantt_task_line.gantt_task_inline_color .gantt_task_progress {
- background-color: #363636;
- opacity: 0.2;
-}
-.gantt_task_line.gantt_task_inline_color.gantt_selected {
- box-shadow: 0 0 5px #999999;
-}
-.gantt_task_line.gantt_task_inline_color.gantt_project.gantt_selected {
- box-shadow: 0 0 5px #999999;
-}
-.gantt_task_link.gantt_link_inline_color:hover .gantt_line_wrapper div {
- box-shadow: 0 0 5px 0px #999999;
-}
-.gantt_critical_task {
- background-color: #e63030;
- border-color: #9d3a3a;
-}
-.gantt_critical_task .gantt_task_progress {
- background-color: rgba(0, 0, 0, 0.4);
-}
-.gantt_critical_link .gantt_line_wrapper > div {
- background-color: #e63030;
-}
-.gantt_critical_link .gantt_link_arrow {
- border-color: #e63030;
-}
-.gantt_unselectable,
-.gantt_unselectable div {
- -webkit-user-select: none;
- -moz-user-select: none;
- -moz-user-select: -moz-none;
-}
-.gantt_cal_light {
- -webkit-tap-highlight-color: transparent;
- background: #f4f2ea;
- border-radius: 6px;
- font-family: "Verdana";
- font-size: 11px;
- border: 1px solid #cac8bd;
- color: #3f3f3f;
- font-size: 8pt;
- position: absolute;
- z-index: 10001;
- width: 550px;
- height: 250px;
- box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.07);
-}
-.gantt_cal_light_wide {
- width: 650px;
-}
-.gantt_cal_light select {
- font-family: "Verdana";
- border: 1px solid #cac8bd;
- font-size: 11px;
- padding: 2px;
- margin: 0px;
-}
-.gantt_cal_ltitle {
- padding: 7px 10px;
- overflow: hidden;
- white-space: nowrap;
- -webkit-border-top-left-radius: 6px;
- -webkit-border-bottom-left-radius: 0;
- -webkit-border-top-right-radius: 6px;
- -webkit-border-bottom-right-radius: 0;
- -moz-border-radius-topleft: 6px;
- -moz-border-radius-bottomleft: 0;
- -moz-border-radius-topright: 6px;
- -moz-border-radius-bottomright: 0;
- border-top-left-radius: 6px;
- border-bottom-left-radius: 0;
- border-top-right-radius: 6px;
- border-bottom-right-radius: 0;
-}
-.gantt_cal_ltitle span {
- white-space: nowrap;
-}
-.gantt_cal_lsection {
- color: #727272;
- font-weight: bold;
- padding: 12px 0px 5px 10px;
-}
-.gantt_cal_lsection .gantt_fullday {
- float: right;
- margin-right: 5px;
- font-size: 12px;
- font-weight: normal;
- line-height: 20px;
- vertical-align: top;
- cursor: pointer;
-}
-.gantt_cal_lsection {
- font-size: 13px;
-}
-.gantt_cal_ltext {
- padding: 2px 10px;
- overflow: hidden;
-}
-.gantt_cal_ltext textarea {
- overflow: auto;
- font-family: "Verdana";
- font-size: 11px;
- -moz-box-sizing: border-box;
- -webkit-box-sizing: border-box;
- box-sizing: border-box;
- border: 1px solid #cac8bd;
- height: 100%;
- width: 100%;
- outline: none !important;
- resize: none;
-}
-.gantt_time {
- font-weight: bold;
-}
-.gantt_cal_light .gantt_title {
- padding-left: 10px;
-}
-.gantt_cal_larea {
- border: 1px solid #cac8bd;
- border-left: none;
- border-right: none;
- background-color: #fff;
- overflow: hidden;
- height: 1px;
-}
-.gantt_btn_set {
- margin: 10px 7px 5px 10px;
- padding: 5px 15px 5px 10px;
- float: left;
- -webkit-border-radius: 4px;
- -moz-border-radius: 4px;
- border-radius: 4px;
- border-width: 0;
- border-color: #cac8bd;
- border-style: solid;
- height: 27px;
- color: #4f4f4f;
- background: #e0ded7;
- -moz-box-sizing: border-box;
- -webkit-box-sizing: border-box;
- box-sizing: border-box;
- cursor: pointer;
-}
-.gantt_btn_set div {
- float: left;
- font-size: 13px;
- height: 17px;
- line-height: 17px;
- background-repeat: no-repeat;
- vertical-align: middle;
-}
-.gantt_save_btn {
- background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QUUzMDA3NzlDOTFEMTFFMkJBQTNFMTU1NTdFNUNFMTMiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QUUzMDA3N0FDOTFEMTFFMkJBQTNFMTU1NTdFNUNFMTMiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpBRTMwMDc3N0M5MUQxMUUyQkFBM0UxNTU1N0U1Q0UxMyIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpBRTMwMDc3OEM5MUQxMUUyQkFBM0UxNTU1N0U1Q0UxMyIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PtHrmoUAAAF4SURBVHjaYvr//z8DNTATA5UA1QxiIUdTQEAAG5CaA8S6QGyyYcOGvyzkGMLIyLgSGC4BHBwcr1RUVBhJdhHQEGagIctAhjAzM/9OSkrqd3Nz+ws3CKjAA0hNA+JcoDO34jIESC0FGhIM4tvb2y8FGjIbyPwPD2wNDQ1RIKUItG09UIM3LkOAOBzEB3rnaF5eXieQ+RYl1jo6Og4oKCicAtrGCjXMA82Q+TBD+Pj4HtfU1NQDmTewRf/jjIyMNmDgfYAatgnJMFDsxIIYrKysX7Ozs9sFBAT240xHQO/t8PT0BGliQHLZdiA3AabGz89vlrm5+RIg8x++BPkzPj5+Msj/UMM4gBTciwYGBttiY2MnAJmfiUnZj4CB2MzFxfUGWVBcXPx6WVlZE0ie6CwiJye3D+il6UCvgZ0PCreCggKQ4adIzWu/w8LCpoO8wsLC8j0yMnKipqbmelh6wQUYQUUADmACxDpADArwl4RSPT6DBqYYAQgwANyusz7jloxAAAAAAElFTkSuQmCC);
- margin-top: 2px;
- width: 21px;
-}
-.gantt_cancel_btn {
- margin-top: 2px;
- background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QjQxN0VEOUZDOTFEMTFFMkFFMjE4MDI4MUJDNDQ1NDkiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QjQxN0VEQTBDOTFEMTFFMkFFMjE4MDI4MUJDNDQ1NDkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpCNDE3RUQ5REM5MUQxMUUyQUUyMTgwMjgxQkM0NDU0OSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpCNDE3RUQ5RUM5MUQxMUUyQUUyMTgwMjgxQkM0NDU0OSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pq9E2PUAAAH/SURBVHjaYvz//z8DNQAjTQ0KCAjgAVJFQOwBxGZQ4VNAvAOI+zZs2PCFoEFAQ+wZGRkXAMUVsNrMyPgAKJcANOwgToOAhgQCqXUgtqCg4ANXV9ctzs7Od0D8vXv3quzYsSPw06dP0lDl/kDDNmEYBDRECGjbYyCfS09Pb0dNTc1sNja2M0CpF1C1EjExMfu/fPmiBHXZZ5CrgYa9A/FZYCaysLCU/vnzh0tUVPRGU1NTPVDoNBD/R3ItyKVKAgICj/79+8cIdJksSA9QrBIkz4RkUBCINjU1XQUNWGRDQC4zBhrycMGCBYW2trbLkPWgGPTz50+wk6WlpTegBT6yIaCYXMfJybkRJPf7928ZDIOYmZl/g+jjx4+/xmcISPz27dsfYNowDOLi4gIb8PDhQ1N8hkDVGIBobm7ulxgGAb0EClyGX79+leAzBCjH9vXr13pkPSgGhYeHTwd6DxhUP62ghjzCZggw2icCw0YdGNDfQXrgkQVjGBgYHPHx8Zm9cePGHGhA/gdq/ANkysGUAHELMO3ogji+vr6zQXpwZREFkEErV66M//btmwi2LAIMyzdAlyz09/efDAoufJlW8tWrVx7Tp08PevDggc779+8VYFlGQUHhSmZm5joxMTFQ5n1OTDHCCsT6QAxKJ2JQsVdA/ASIL4J8TrPyCCDAAK8E80CvM3cMAAAAAElFTkSuQmCC);
- width: 20px;
-}
-.gantt_delete_btn {
- background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QjkzQUQ0MjVDOTFEMTFFMkEwRERFNzQ5NzZCRjlBODgiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QjkzQUQ0MjZDOTFEMTFFMkEwRERFNzQ5NzZCRjlBODgiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpCOTNBRDQyM0M5MUQxMUUyQTBEREU3NDk3NkJGOUE4OCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpCOTNBRDQyNEM5MUQxMUUyQTBEREU3NDk3NkJGOUE4OCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pmbo+yIAAAB9SURBVHjaYvz//z8DNQALPsmAgAC4LRs2bGDEaxLIRdiwv78/kPqfBsNQPk71jDCvIdtOLEB2JRMDlQAjUmCnkaF/FtYwgoUDsTQypprXRg0a0QYhp2yGpqamzefOnfMhpMnIyGhLXV2dL06DgMAYigmBs1CM0yCyAUCAAQAlK4lJjSOjGQAAAABJRU5ErkJggg==);
- margin-top: 2px;
- width: 20px;
-}
-.gantt_cal_cover {
- width: 100%;
- height: 100%;
- position: absolute;
- z-index: 10000;
- top: 0px;
- left: 0px;
- background-color: black;
- opacity: 0.1;
- filter: progid:DXImageTransform.Microsoft.Alpha(opacity=10);
-}
-.gantt_custom_button {
- padding: 0px 3px 0px 3px;
- font-family: "Verdana";
- font-size: 11px;
- font-weight: normal;
- margin-right: 10px;
- margin-top: -5px;
- cursor: pointer;
- float: right;
- height: 21px;
- width: 90px;
- border: 1px solid #CECECE;
- text-align: center;
- -webkit-border-radius: 4px;
- -moz-border-radius: 4px;
- -ms-border-radius: 4px;
- -o-border-radius: 4px;
- border-radius: 4px;
-}
-.gantt_custom_button div {
- cursor: pointer;
- float: none;
- height: 21px;
- line-height: 21px;
- vertical-align: middle;
-}
-.gantt_custom_button div:first-child {
- display: none;
-}
-.gantt_cal_light_wide {
- width: 580px;
- padding: 2px 4px;
-}
-.gantt_cal_light_wide .gantt_cal_larea {
- -moz-box-sizing: border-box;
- -webkit-box-sizing: border-box;
- box-sizing: border-box;
- border: 1px solid #cac8bd;
-}
-.gantt_cal_light_wide .gantt_cal_lsection {
- border: 0px;
- float: left;
- text-align: right;
- width: 80px;
- height: 20px;
- padding: 5px 10px 0px 0px;
-}
-.gantt_cal_light_wide .gantt_wrap_section {
- position: relative;
- padding: 10px 0;
- overflow: hidden;
- border-bottom: 1px solid #eae9e5;
-}
-.gantt_cal_light_wide .gantt_section_time {
- overflow: hidden;
- padding-top: 2px !important;
- padding-right: 0px;
- height: 20px !important;
-}
-.gantt_cal_light_wide .gantt_cal_ltext {
- padding-right: 0px;
-}
-.gantt_cal_light_wide .gantt_cal_larea {
- padding: 0 10px;
- width: 100%;
-}
-.gantt_cal_light_wide .gantt_section_time {
- background: transparent;
-}
-.gantt_cal_light_wide .gantt_cal_checkbox label {
- padding-left: 0px;
-}
-.gantt_cal_light_wide .gantt_cal_lsection .gantt_fullday {
- float: none;
- margin-right: 0px;
- font-weight: bold;
- cursor: pointer;
-}
-.gantt_cal_light_wide .gantt_custom_button {
- position: absolute;
- top: 0;
- right: 0;
- margin-top: 2px;
-}
-.gantt_cal_light_wide .gantt_repeat_right {
- margin-right: 55px;
-}
-.gantt_cal_light_wide.gantt_cal_light_full {
- width: 738px;
-}
-.gantt_cal_wide_checkbox input {
- margin-top: 8px;
- margin-left: 14px;
-}
-.gantt_cal_light input {
- font-size: 11px;
-}
-.gantt_section_time {
- background-color: white;
- white-space: nowrap;
- padding: 2px 10px 5px;
- padding-top: 2px !important;
-}
-.gantt_section_time .gantt_time_selects {
- float: left;
- height: 25px;
-}
-.gantt_section_time .gantt_time_selects select {
- height: 23px;
- padding: 2px;
- border: 1px solid #cac8bd;
-}
-.gantt_duration {
- width: 100px;
- height: 23px;
- float: left;
- white-space: nowrap;
- margin-left: 20px;
- line-height: 23px;
-}
-.gantt_duration .gantt_duration_value,
-.gantt_duration .gantt_duration_dec,
-.gantt_duration .gantt_duration_inc {
- -moz-box-sizing: border-box;
- -webkit-box-sizing: border-box;
- box-sizing: border-box;
- text-align: center;
- vertical-align: top;
- height: 100%;
- border: 1px solid #cac8bd;
-}
-.gantt_duration .gantt_duration_value {
- width: 40px;
- padding: 3px 4px;
- border-left-width: 0;
- border-right-width: 0;
-}
-.gantt_duration .gantt_duration_dec,
-.gantt_duration .gantt_duration_inc {
- width: 20px;
- padding: 1px;
- padding-bottom: 3px;
- background: #e0ded7;
-}
-.gantt_duration .gantt_duration_dec {
- -moz-border-top-left-radius: 4px;
- -moz-border-bottom-left-radius: 4px;
- -webkit-border-top-left-radius: 4px;
- -webkit-border-bottom-left-radius: 4px;
- border-top-left-radius: 4px;
- border-bottom-left-radius: 4px;
-}
-.gantt_duration .gantt_duration_inc {
- margin-right: 4px;
- -moz-border-top-right-radius: 4px;
- -moz-border-bottom-right-radius: 4px;
- -webkit-border-top-right-radius: 4px;
- -webkit-border-bottom-right-radius: 4px;
- border-top-right-radius: 4px;
- border-bottom-right-radius: 4px;
-}
-/* Quick info */
-.gantt_cal_quick_info {
- border: 1px solid #cac8bd;
- border-radius: 6px;
- position: absolute;
- z-index: 300;
- box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.07);
- background-color: #fcfaf3;
- width: 300px;
- transition: left 0.5s ease, right 0.5s;
- -moz-transition: left 0.5s ease, right 0.5s;
- -webkit-transition: left 0.5s ease, right 0.5s;
- -o-transition: left 0.5s ease, right 0.5s;
-}
-.gantt_no_animate {
- transition: none;
- -moz-transition: none;
- -webkit-transition: none;
- -o-transition: none;
-}
-.gantt_cal_quick_info.gantt_qi_left .gantt_qi_big_icon {
- float: right;
-}
-.gantt_cal_qi_title {
- -webkit-border-top-left-radius: 6px;
- -webkit-border-bottom-left-radius: 0;
- -webkit-border-top-right-radius: 6px;
- -webkit-border-bottom-right-radius: 0;
- -moz-border-radius-topleft: 6px;
- -moz-border-radius-bottomleft: 0;
- -moz-border-radius-topright: 6px;
- -moz-border-radius-bottomright: 0;
- border-top-left-radius: 6px;
- border-bottom-left-radius: 0;
- border-top-right-radius: 6px;
- border-bottom-right-radius: 0;
- padding: 5px 0px 8px 12px;
- color: #3f3f3f;
- background-color: #f4f2ea;
- border-bottom: 1px solid #cac8bd;
-}
-.gantt_cal_qi_tdate {
- font-size: 14px;
- font-weight: bold;
-}
-.gantt_cal_qi_tcontent {
- font-size: 11px;
-}
-.gantt_cal_qi_content {
- padding: 16px 8px;
- font-size: 13px;
- color: #3f3f3f;
- overflow: hidden;
-}
-.gantt_cal_qi_controls {
- -webkit-border-top-left-radius: 0;
- -webkit-border-bottom-left-radius: 6px;
- -webkit-border-top-right-radius: 0;
- -webkit-border-bottom-right-radius: 6px;
- -moz-border-radius-topleft: 0;
- -moz-border-radius-bottomleft: 6px;
- -moz-border-radius-topright: 0;
- -moz-border-radius-bottomright: 6px;
- border-top-left-radius: 0;
- border-bottom-left-radius: 6px;
- border-top-right-radius: 0;
- border-bottom-right-radius: 6px;
- padding-left: 7px;
-}
-.gantt_cal_qi_controls .gantt_menu_icon {
- margin-top: 3.5px;
- background-repeat: no-repeat;
-}
-.gantt_cal_qi_controls .gantt_menu_icon.icon_edit {
- width: 20px;
- background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAB3RJTUUH3QYFDgcMloNXJQAAAFNJREFUOMvt0zEOACAIA0Dkg30rL8TJTRTKZGJXyaWEKPKTCQAH4Ls37cItcDUzsxHNDLZNhCq7Gt1wh9ErV7EjyGAhyGLphlnsClWuS32rn0czAT/KLVk9yshBAAAAAElFTkSuQmCC);
-}
-.gantt_cal_qi_controls .gantt_menu_icon.icon_delete {
- width: 20px;
- background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QjkzQUQ0MjVDOTFEMTFFMkEwRERFNzQ5NzZCRjlBODgiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QjkzQUQ0MjZDOTFEMTFFMkEwRERFNzQ5NzZCRjlBODgiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpCOTNBRDQyM0M5MUQxMUUyQTBEREU3NDk3NkJGOUE4OCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpCOTNBRDQyNEM5MUQxMUUyQTBEREU3NDk3NkJGOUE4OCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pmbo+yIAAAB9SURBVHjaYvz//z8DNQALPsmAgAC4LRs2bGDEaxLIRdiwv78/kPqfBsNQPk71jDCvIdtOLEB2JRMDlQAjUmCnkaF/FtYwgoUDsTQypprXRg0a0QYhp2yGpqamzefOnfMhpMnIyGhLXV2dL06DgMAYigmBs1CM0yCyAUCAAQAlK4lJjSOjGQAAAABJRU5ErkJggg==);
-}
-.gantt_qi_big_icon {
- font-size: 13px;
- border-radius: 4px;
- color: #4f4f4f;
- background: #e0ded7;
- margin: 5px 9px 8px 0px;
- min-width: 60px;
- line-height: 27px;
- vertical-align: middle;
- padding: 0px 10px 0px 5px;
- cursor: pointer;
- border: 1px solid #cac8bd;
-}
-.gantt_cal_qi_controls div {
- float: left;
- height: 27px;
- text-align: center;
- line-height: 27px;
-}
-.gantt_tooltip {
- box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.07);
- background-color: white;
- border-left: 1px solid rgba(0, 0, 0, 0.07);
- border-top: 1px solid rgba(0, 0, 0, 0.07);
- font-family: "Verdana";
- font-size: 8pt;
- color: #3f3f3f;
- padding: 10px;
- position: absolute;
- z-index: 50;
-}
-.gantt_marker {
- height: 100%;
- width: 2px;
- top: 0;
- position: absolute;
- text-align: center;
- background-color: rgba(255, 0, 0, 0.4);
- -moz-box-sizing: border-box;
- -webkit-box-sizing: border-box;
- box-sizing: border-box;
-}
-.gantt_marker .gantt_marker_content {
- padding: 5px;
- background: inherit;
- color: white;
- position: absolute;
- font-size: 12px;
- line-height: 12px;
- opacity: 0.8;
-}
-.gantt_marker_area {
- position: absolute;
- top: 0;
- left: 0;
-}
-.gantt_noselect {
- -moz-user-select: -moz-none;
- -webkit-user-select: none;
- -user-select: none;
-}
-.gantt_drag_marker {
- position: absolute;
- font-family: "Verdana";
- font-size: 11px;
-}
-.gantt_drag_marker .gantt_tree_indent,
-.gantt_drag_marker .gantt_tree_icon.gantt_blank,
-.gantt_drag_marker .gantt_tree_icon.gantt_open,
-.gantt_drag_marker .gantt_tree_icon.gantt_close {
- display: none;
-}
-.gantt_drag_marker,
-.gantt_drag_marker .gantt_row.odd {
- background-color: #ffffff;
-}
-.gantt_drag_marker .gantt_row {
- border-left: 1px solid #d3d1c8;
- border-top: 1px solid #d3d1c8;
-}
-.gantt_drag_marker .gantt_cell {
- border-color: #d3d1c8;
-}
-.gantt_row.gantt_over,
-.gantt_task_row.gantt_over {
- background-color: #0070fe;
-}
-.gantt_row.gantt_transparent .gantt_cell {
- opacity: 0.7;
-}
-.gantt_task_row.gantt_transparent {
- background-color: #ffffff;
-}
-.dhtmlx_popup_button.dhtmlx_delete_button {
- border: 1px solid #98d27e;
- background: #a7d991;
-}
diff --git a/libraries/dhtmlxgantt/sources/skins/dhtmlxgantt_skyblue.css b/libraries/dhtmlxgantt/sources/skins/dhtmlxgantt_skyblue.css
deleted file mode 100644
index 1a797b8..0000000
--- a/libraries/dhtmlxgantt/sources/skins/dhtmlxgantt_skyblue.css
+++ /dev/null
@@ -1,1389 +0,0 @@
-/*
-@license
-
-dhtmlxGantt v.3.2.0 Stardard
-This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited.
-
-(c) Dinamenta, UAB.
-*/
-/* colors for items with inline styles assigned (task.color, link.color)*/
-.gridHoverStyle {
- background-color: #ffe6b1 !important;
- background-color: #ffebc1;
- background-image: -webkit-linear-gradient(top, #ffe09d 0%, #ffeabb 100%);
- background-image: -moz-linear-gradient(top, #ffe09d 0%, #ffeabb 100%);
- background-image: -ms-linear-gradient(top, #ffe09d 0%, #ffeabb 100%);
- background-image: linear-gradient(to top, #ffe09d 0%, #ffeabb 100%);
- border-top-color: #ffc341;
- border-bottom-color: #ffc341;
-}
-.gridSelection {
- background-color: #ffe6b1 !important;
- border-bottom-color: #ffc341;
-}
-.timelineSelection {
- background-color: #ffe6b1 !important;
- background-color: #ffebc1;
- background-image: -webkit-linear-gradient(top, #ffe09d 0%, #ffeabb 100%);
- background-image: -moz-linear-gradient(top, #ffe09d 0%, #ffeabb 100%);
- background-image: -ms-linear-gradient(top, #ffe09d 0%, #ffeabb 100%);
- background-image: linear-gradient(to top, #ffe09d 0%, #ffeabb 100%);
- border-top-color: #ffc341;
- border-bottom-color: #ffc341;
-}
-.timelineSelection .gantt_task_cell {
- border-right-color: #ffce65;
-}
-/*
- milestone
-*/
-/*
- links dnd
-*/
-/*
- task resizers
-*/
-/*lightbox*/
-/*
- Message
-*/
-.gantt_cal_quick_info .gantt_cal_qi_title {
- background: #ffffff;
-}
-.gantt_cal_qi_controls .gantt_qi_big_icon .gantt_menu_icon.icon_delete {
- margin-top: 5px;
-}
-.gantt_container {
- font-family: "Tahoma";
- font-size: 11px;
- border: 1px solid #a4bed4;
- position: relative;
- white-space: nowrap;
-}
-.gantt_grid {
- border-right: 1px solid #a4bed4;
-}
-.gantt_task_scroll {
- overflow-x: scroll;
-}
-.gantt_task {
- position: relative;
-}
-.gantt_task,
-.gantt_grid {
- overflow-x: hidden;
- overflow-y: hidden;
- display: inline-block;
- vertical-align: top;
-}
-.gantt_grid_scale,
-.gantt_task_scale {
- color: #42464b;
- border-bottom: 1px solid #a4bed4;
-}
-.gantt_grid_scale {
- box-shadow: 0px 1px 1px #fff inset;
- background-color: #dfedff;
- background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #e4f0ff), color-stop(50%, #dfedff), color-stop(100%, #d5e8ff));
- /* old webkit */
- background-image: -webkit-linear-gradient(top, #e4f0ff 0%, #dfedff 50%, #d5e8ff 100%);
- background-image: -moz-linear-gradient(top, #e4f0ff 0%, #dfedff 60%, #d5e8ff 100%);
- background-image: -ms-linear-gradient(top, #e4f0ff 0%, #dfedff 60%, #d5e8ff 100%);
- background-image: -o-linear-gradient(top, #e4f0ff 0%, #dfedff 60%, #d5e8ff 100%);
- background-position: 0px 1px;
- background-repeat: repeat-x;
-}
-.gantt_task_scale {
- box-shadow: 0px 1px 1px #fff inset;
- background-color: #dfedff;
- background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #e4f0ff), color-stop(50%, #dfedff), color-stop(100%, #d5e8ff));
- /* old webkit */
- background-image: -webkit-linear-gradient(top, #e4f0ff 0%, #dfedff 50%, #d5e8ff 100%);
- background-image: -moz-linear-gradient(top, #e4f0ff 0%, #dfedff 60%, #d5e8ff 100%);
- background-image: -ms-linear-gradient(top, #e4f0ff 0%, #dfedff 60%, #d5e8ff 100%);
- background-image: -o-linear-gradient(top, #e4f0ff 0%, #dfedff 60%, #d5e8ff 100%);
- background-position: 0px 1px;
- background-repeat: repeat-x;
-}
-.gantt_scale_line {
- box-sizing: border-box;
- -moz-box-sizing: border-box;
- border-top: 1px solid #a4bed4;
-}
-.gantt_scale_line:first-child {
- border-top: none;
-}
-.gantt_grid_head_cell {
- display: inline-block;
- vertical-align: top;
- border-right: 1px solid #a4bed4;
- text-align: center;
- position: relative;
- cursor: default;
- height: 100%;
- box-sizing: border-box;
- -moz-box-sizing: border-box;
- line-height: 25px;
- -moz-user-select: -moz-none;
- -webkit-user-select: none;
- -user-select: none;
- overflow: hidden;
-}
-.gantt_scale_line {
- clear: both;
-}
-.gantt_grid_data {
- width: 100%;
- overflow: hidden;
-}
-.gantt_row {
- position: relative;
- -webkit-user-select: none;
- -moz-user-select: none;
- -moz-user-select: -moz-none;
-}
-.gantt_add,
-.gantt_grid_head_add {
- width: 100%;
- height: 100%;
- background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NzZCMThBRUFCRTQ0MTFFMkFFMEFGMEFBMzJEN0RBRTIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NzZCMThBRUJCRTQ0MTFFMkFFMEFGMEFBMzJEN0RBRTIiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo3NkIxOEFFOEJFNDQxMUUyQUUwQUYwQUEzMkQ3REFFMiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo3NkIxOEFFOUJFNDQxMUUyQUUwQUYwQUEzMkQ3REFFMiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PkVHygEAAAEpSURBVHjaYgzeGcyABfxnwA4Y0QVY/v79i1VlsUMxCr/3QC9WdTgN+P//P8Ohr4fAbDtuOwZc6lj+/PmDVeLfv39wTSA2LnU4DQC5AGYAiI1LHRNQ4j861pfSZ3j36x1YEwiD2CAxbGoZbRbZ/K/3qUcx9cPvDwzXv11n+PL3C5jPw8zDoMmlySDAKoCirnFLI8QLID/ufLOTARf48OcDw/Gfx1HE3EXcwa5j+f37N95AwgVAekB64QaATISB97/fM1z5dIXh85/PYD4vCy+DDp8OgyCrIIYBjFoTtDBSnYWyBYO9rj3DsbfHwHwrYSuGg5cPMpy4ewIzFoCmMKLjwzcOMwiwCMBjAcQGiWFTizchweRompDwuiBANoCgCxjFasQoys4AAQYARt4I/K036xQAAAAASUVORK5CYII=);
- background-position: center center;
- background-repeat: no-repeat;
- cursor: pointer;
- position: relative;
- -moz-opacity: 0.3;
- opacity: 0.3;
-}
-.gantt_grid_head_cell.gantt_grid_head_add {
- -moz-opacity: 0.6;
- opacity: 0.6;
- top: 0;
-}
-.gantt_grid_head_cell.gantt_grid_head_add:hover {
- -moz-opacity: 1;
- opacity: 1;
-}
-.gantt_grid_data .gantt_row:hover,
-.gantt_grid_data .gantt_row.odd:hover {
- background-color: #ffe6b1 !important;
- background-color: #ffebc1;
- background-image: -webkit-linear-gradient(top, #ffe09d 0%, #ffeabb 100%);
- background-image: -moz-linear-gradient(top, #ffe09d 0%, #ffeabb 100%);
- background-image: -ms-linear-gradient(top, #ffe09d 0%, #ffeabb 100%);
- background-image: linear-gradient(to top, #ffe09d 0%, #ffeabb 100%);
- border-top-color: #ffc341;
- border-bottom-color: #ffc341;
-}
-.gantt_grid_data .gantt_row:hover .gantt_add,
-.gantt_grid_data .gantt_row.odd:hover .gantt_add {
- -moz-opacity: 1;
- opacity: 1;
-}
-.gantt_task_row,
-.gantt_row {
- border-bottom: 1px solid #ebebeb;
-}
-.gantt_row,
-.gantt_task_row {
- background-color: #ffffff;
-}
-.gantt_row.odd,
-.gantt_task_row.odd {
- background-color: #ffffff;
-}
-.gantt_row,
-.gantt_cell,
-.gantt_task_row,
-.gantt_task_cell,
-.gantt_grid_head_cell,
-.gantt_scale_cell {
- box-sizing: border-box;
- -moz-box-sizing: border-box;
-}
-.gantt_grid_head_cell,
-.gantt_scale_cell {
- line-height: inherit;
-}
-.gantt_grid_scale .gantt_grid_column_resize_wrap {
- cursor: col-resize;
- position: absolute;
- width: 13px;
-}
-.gantt_grid_column_resize_wrap .gantt_grid_column_resize {
- background-color: #a4bed4;
- height: 100%;
- width: 1px;
- margin: 0 auto;
-}
-.gantt_grid .gantt_grid_resize_wrap {
- cursor: col-resize;
- position: absolute;
- width: 13px;
- z-index: 1;
-}
-.gantt_grid_resize_wrap .gantt_grid_resize {
- background-color: #a4bed4;
- width: 1px;
- margin: 0 auto;
-}
-.gantt_drag_marker.gantt_grid_resize_area {
- background-color: rgba(231, 231, 231, 0.5);
- border-left: 1px solid #a4bed4;
- border-right: 1px solid #a4bed4;
- height: 100%;
- width: 100%;
- -moz-box-sizing: border-box;
- -webkit-box-sizing: border-box;
- box-sizing: border-box;
-}
-.gantt_cell {
- display: inline-block;
- vertical-align: top;
- border-right: 1px solid #ebebeb;
- padding-left: 6px;
- padding-right: 6px;
- height: 100%;
- overflow: hidden;
- white-space: nowrap;
-}
-.gantt_grid_scale .gantt_last_cell,
-.gantt_grid_data .gantt_last_cell,
-.gantt_task_scale .gantt_last_cell,
-.gantt_task_bg .gantt_last_cell {
- border-right-width: 0px;
-}
-.gantt_task_bg {
- overflow: hidden;
-}
-.gantt_scale_cell {
- display: inline-block;
- white-space: nowrap;
- overflow: hidden;
- border-right: 1px solid #a4bed4;
- text-align: center;
- height: 100%;
-}
-.gantt_task_cell {
- display: inline-block;
- height: 100%;
- border-right: 1px solid #ebebeb;
-}
-.gantt_ver_scroll {
- width: 0px;
- background-color: transparent;
- height: 1px;
- overflow-x: hidden;
- overflow-y: scroll;
- display: none;
- position: absolute;
- right: 0px;
-}
-.gantt_ver_scroll > div {
- width: 1px;
- height: 1px;
-}
-.gantt_hor_scroll {
- height: 0px;
- background-color: transparent;
- width: 100%;
- clear: both;
- overflow-x: scroll;
- overflow-y: hidden;
- display: none;
-}
-.gantt_hor_scroll > div {
- width: 5000px;
- height: 1px;
-}
-.gantt_tree_indent {
- width: 15px;
- height: 100%;
- display: inline-block;
-}
-.gantt_tree_content,
-.gantt_tree_icon {
- vertical-align: top;
-}
-.gantt_tree_icon {
- width: 28px;
- height: 100%;
- display: inline-block;
- background-repeat: no-repeat;
- background-position: center center;
-}
-.gantt_tree_content {
- height: 100%;
- display: inline-block;
-}
-.gantt_tree_icon.gantt_open {
- background-image: url(data:image/gif;base64,R0lGODlhEgASAJEAAP///4SEhAAAAP///yH5BAUUAAMALAAAAAASABIAAAIqnI+py+0Powq01haA3iDgLWwek2mhNi6ZwLLdZ4owcL4kJ5OWJfX+DykAADs=);
- width: 18px;
- cursor: pointer;
-}
-.gantt_tree_icon.gantt_close {
- background-image: url(data:image/gif;base64,R0lGODlhEgASAJEAAP///4SEhAAAAP///yH5BAUUAAMALAAAAAASABIAAAImnI+py+0Powq01haA3iBgvnlMBnafgKLmWK4LCYpvK0+WJeX6DhUAOw==);
- width: 18px;
- cursor: pointer;
-}
-.gantt_tree_icon.gantt_blank {
- width: 18px;
-}
-.gantt_tree_icon.gantt_folder_open {
- background-image: url(data:image/gif;base64,R0lGODlhEgASAMQfAPXMWPK9N/fipOzLbPrVaP/89frqwv3tuvvprfLES+7PdP7xyP7z0vPAQfvtyMuaIv/32/735OSqFv3de+7ReP7lmf7gh/nv0v/67unFXfb29vK/PenFSaGEPfLnyv///yH5BAEAAB8ALAAAAAASABIAAAWS4Cc+ZGk+YvqZRVtgGiag6sNBThlFWnTQqQcE4sqRFj/VashsYR6HZI0JWSAjDwQCOGIgERULg/EQzJRQsGVCYHTK51qYTQDkFPj4iA4AJHIUgQoGQA8EdX4NhHgKAxeFfQkJGwGLeI6Fkg2UlQ8Dn5hBCZuchKChIxKkGw05Ga8DHlwkqg2tJ1xBtDlKvTUkviEAOw==);
-}
-.gantt_tree_icon.gantt_folder_closed {
- background-image: url(data:image/gif;base64,R0lGODlhEgASAMQfAPvjpP/24fPHVvnUdvzotdSiKv/23vvrw/LCS/C+RfnelvPMaf/88/nbi/rsyerYq/TLYv7y1v7wzeCsLO+8P86dJfvv0MuaIsydKPPOc+SqGKGEPe/AS+zVneWwLf///yH5BAEAAB8ALAAAAAASABIAAAWZ4CdeZGleYvpdA+O+zNUBqHoZOB4EceHUqVtuF+n9VCtdQCI5BC6FA3BkCEQkBALAACVMV9eDVhGJQGnIixigaAwiG6jie2G7BxDLpVJozG13EAICPxUeGRleQQMLgggJUhiHC3pBggKPFJETGZRAF5gJCRSaFxgTC55BCByioz+nEKojGgmtHBwPJAUCELo2J8FfSMTFxsUhADs=);
-}
-.gantt_tree_icon.gantt_file {
- background-image: url(data:image/gif;base64,R0lGODlhEgASAMQVAPv7+2RkZPf39/r6+vj4+Pn5+fT09Pb29vX19fHx8fDw8Onp6fLy8u7u7uzs7PPz8+vr6+rq6uXl5ejo6O/v7////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAABUALAAAAAASABIAAAV4YCWOZGkGaKqaVSAMQCwLQnAOj6ErzUTXpQDgQDgcGJTFDzgSEp4HRCKytDUBMKzAoIAsJACrSCjTGhINR5hELg8ECEZifS3HCgQEgj62xwZPAnwtbgMDBQU0g21Yh4iIi3aGkzBihH52lgEEmDIEli0qoigspSYhADs=);
-}
-.gantt_grid_head_cell .gantt_sort {
- position: absolute;
- right: 5px;
- top: 8px;
- width: 7px;
- height: 13px;
- background-repeat: no-repeat;
- background-position: center center;
-}
-.gantt_grid_head_cell .gantt_sort.gantt_asc {
- background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAANCAYAAABlyXS1AAAARUlEQVR4nGNgQAKGxib/GbABkIS7b8B/DAUwCRiGK0CXwFBAb1DfP/U/LszwHwi2X7qFgUEArBtdAVwCBmAKMCSQFSDzAWXXaOHsXeqkAAAAAElFTkSuQmCC);
-}
-.gantt_grid_head_cell .gantt_sort.gantt_desc {
- background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAANCAYAAABlyXS1AAAARUlEQVR42mNgQAL1/VP/M2ADIIntF2/9x1AAlrh0C47hCmA60DFYwX88gIFGwNDY5D8uDFbg7hvwHx2jmIBTAlkB0e4BAEjlaNtBWJPnAAAAAElFTkSuQmCC);
-}
-.gantt_inserted,
-.gantt_updated {
- font-weight: bold;
-}
-.gantt_deleted {
- text-decoration: line-through;
-}
-.gantt_invalid {
- background-color: FFE0E0;
-}
-.gantt_error {
- color: red;
-}
-.gantt_status {
- right: 1px;
- padding: 5px 10px;
- background: rgba(155, 155, 155, 0.1);
- position: absolute;
- top: 1px;
- -webkit-transition: opacity 0.2s;
- transition: opacity 0.2s;
- opacity: 0;
-}
-.gantt_status.gantt_status_visible {
- opacity: 1;
-}
-#gantt_ajax_dots span {
- -webkit-transition: opacity 0.2s;
- transition: opacity 0.2s;
- background-repeat: no-repeat;
- opacity: 0;
-}
-#gantt_ajax_dots span.gantt_dot_visible {
- opacity: 1;
-}
-.dhtmlx_message_area {
- position: fixed;
- right: 5px;
- width: 250px;
- z-index: 1000;
-}
-.dhtmlx-info {
- min-width: 120px;
- padding: 4px 4px 4px 20px;
- font-family: "Tahoma";
- z-index: 10000;
- margin: 5px;
- margin-bottom: 10px;
- -webkit-transition: all .5s ease;
- -moz-transition: all .5s ease;
- -o-transition: all .5s ease;
- transition: all .5s ease;
-}
-.dhtmlx-info.hidden {
- height: 0px;
- padding: 0px;
- border-width: 0px;
- margin: 0px;
- overflow: hidden;
-}
-.dhtmlx_modal_box {
- overflow: hidden;
- display: inline-block;
- min-width: 250px;
- width: 250px;
- text-align: center;
- position: fixed;
- z-index: 20000;
- box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.07);
- font-family: "Tahoma";
- border-radius: 0;
- border: 1px solid #a4bed4;
- background: #ffffff;
-}
-.dhtmlx_popup_title {
- border-top-left-radius: 0;
- border-top-right-radius: 0;
- border-width: 0px;
-}
-.dhtmlx_button,
-.dhtmlx_popup_button {
- border: 1px solid #a4bed4;
- height: 24px;
- line-height: 24px;
- display: inline-block;
- margin: 0 5px;
- border-radius: 4px;
- background-color: #f8f8f8;
- background-image: -webkit-linear-gradient(top, #e6e6e6 0%, #ffffff 100%);
- background-image: -moz-linear-gradient(top, #e6e6e6 0%, #ffffff 100%);
- background-image: -ms-linear-gradient(top, #e6e6e6 0%, #ffffff 100%);
- background-image: linear-gradient(to top, #e6e6e6 0%, #ffffff 100%);
-}
-.dhtmlx-info,
-.dhtmlx_popup_button,
-.dhtmlx_button {
- user-select: none;
- -webkit-user-select: none;
- -moz-user-select: -moz-none;
- cursor: pointer;
-}
-.dhtmlx_popup_text {
- overflow: hidden;
-}
-.dhtmlx_popup_controls {
- border-radius: 6px;
- padding: 10px;
-}
-.dhtmlx_popup_button {
- min-width: 100px;
-}
-div.dhx_modal_cover {
- background-color: #000;
- cursor: default;
- filter: progid:DXImageTransform.Microsoft.Alpha(opacity=20);
- opacity: 0.2;
- position: fixed;
- z-index: 19999;
- left: 0px;
- top: 0px;
- width: 100%;
- height: 100%;
- border: none;
- zoom: 1;
-}
-.dhtmlx-info img,
-.dhtmlx_modal_box img {
- float: left;
- margin-right: 20px;
-}
-.dhtmlx-alert-error,
-.dhtmlx-confirm-error {
- border: 1px solid #ff0000;
-}
-/*Skin section*/
-.dhtmlx_button input,
-.dhtmlx_popup_button div {
- border-radius: 4px;
- font-size: 15px;
- -moz-box-sizing: content-box;
- box-sizing: content-box;
- padding: 0px;
- margin: 0px;
- vertical-align: top;
-}
-.dhtmlx_popup_title {
- color: #fff;
- text-shadow: 1px 1px #000;
- height: 40px;
- line-height: 40px;
- font-size: 20px;
-}
-.dhtmlx_popup_text {
- margin: 15px 15px 5px 15px;
- font-size: 14px;
- color: #000;
- min-height: 30px;
- border-radius: 0;
-}
-.dhtmlx-info,
-.dhtmlx-error {
- font-size: 14px;
- color: #000;
- box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.07);
- padding: 0px;
- background-color: #FFF;
- border-radius: 3px;
- border: 1px solid #ffffff;
-}
-.dhtmlx-info div {
- padding: 5px 10px 5px 10px;
- background-color: #fff;
- border-radius: 3px;
- border: 1px solid #a4bed4;
-}
-.dhtmlx-error {
- background-color: #d81b1b;
- border: 1px solid #ff3c3c;
- box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.07);
-}
-.dhtmlx-error div {
- background-color: #d81b1b;
- border: 1px solid #940000;
- color: #FFF;
-}
-.gantt_grid div,
-.gantt_data_area div {
- -ms-touch-action: none;
- -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
-}
-.gantt_data_area {
- position: relative;
- overflow-x: hidden;
- overflow-y: hidden;
- -moz-user-select: -moz-none;
- -webkit-user-select: none;
- -user-select: none;
-}
-.gantt_links_area {
- position: absolute;
- left: 0px;
- top: 0px;
-}
-.gantt_task_content,
-.gantt_task_progress,
-.gantt_side_content {
- line-height: inherit;
- overflow: hidden;
- height: 100%;
-}
-.gantt_task_content {
- font-size: 12px;
- color: #1e2022;
- width: 100%;
- top: 0;
- position: absolute;
- white-space: nowrap;
- text-align: center;
-}
-.gantt_task_progress {
- text-align: center;
- z-index: 0;
- background: #5aa0d3;
- background-color: #82b7de;
- background-image: -webkit-linear-gradient(top, #abcee8 0%, #5aa0d3 36%, #bfdaee 100%);
- background-image: -moz-linear-gradient(top, #abcee8 0%, #5aa0d3 36%, #bfdaee 100%);
- background-image: -ms-linear-gradient(top, #abcee8 0%, #5aa0d3 36%, #bfdaee 100%);
- background-image: linear-gradient(to top, #abcee8 0%, #5aa0d3 36%, #bfdaee 100%);
-}
-.gantt_task_line {
- -webkit-border-radius: 0;
- -moz-border-radius: 0;
- border-radius: 0;
- position: absolute;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
- background-color: #eff6fb;
- border: 1px solid #3588c5;
- -webkit-user-select: none;
- -moz-user-select: none;
- -moz-user-select: -moz-none;
-}
-.gantt_task_line.gantt_drag_move div {
- cursor: move;
-}
-.gantt_touch_move,
-.gantt_touch_progress .gantt_touch_resize {
- -moz-transform: scale(1.02, 1.1);
- -o-transform: scale(1.02, 1.1);
- -webkit-transform: scale(1.02, 1.1);
- transform: scale(1.02, 1.1);
- -moz-transform-origin: 50%;
- -o-transform-origin: 50%;
- -webkit-transform-origin: 50%;
- transform-origin: 50%;
-}
-.gantt_touch_progress .gantt_task_progress_drag,
-.gantt_touch_resize .gantt_task_drag {
- -moz-transform: scaleY(1.3);
- -o-transform: scaleY(1.3);
- -webkit-transform: scaleY(1.3);
- transform: scaleY(1.3);
- -moz-transform-origin: 50%;
- -o-transform-origin: 50%;
- -webkit-transform-origin: 50%;
- transform-origin: 50%;
-}
-.gantt_side_content {
- position: absolute;
- white-space: nowrap;
- color: #6e6e6e;
- bottom: 7px;
- font-size: 11px;
-}
-.gantt_side_content.gantt_left {
- right: 100%;
- padding-right: 15px;
-}
-.gantt_side_content.gantt_right {
- left: 100%;
- padding-left: 15px;
-}
-.gantt_side_content.gantt_link_crossing {
- bottom: 6.75px;
-}
-.gantt_task_link .gantt_line_wrapper,
-.gantt_link_arrow {
- position: absolute;
- cursor: pointer;
-}
-.gantt_line_wrapper div {
- background-color: #4a8f43;
-}
-.gantt_task_link:hover .gantt_line_wrapper div {
- box-shadow: 0 0 5px 0px #4a8f43;
-}
-.gantt_task_link div.gantt_link_arrow {
- background-color: transparent;
- border-style: solid;
- width: 0px;
- height: 0px;
-}
-.gantt_link_control {
- position: absolute;
- width: 13px;
- top: 0px;
-}
-.gantt_link_control div {
- display: none;
- cursor: pointer;
- box-sizing: border-box;
- position: relative;
- top: 50%;
- margin-top: -7.5px;
- vertical-align: middle;
- border: 1px solid #929292;
- -webkit-border-radius: 6.5px;
- -moz-border-radius: 6.5px;
- border-radius: 6.5px;
- height: 13px;
- width: 13px;
- background-color: #f0f0f0;
-}
-.gantt_link_control div:hover {
- background-color: #ffffff;
-}
-.gantt_link_control.task_left {
- left: -13px;
-}
-.gantt_link_control.task_right {
- right: -13px;
-}
-.gantt_task_line.gantt_selected .gantt_link_control div,
-.gantt_task_line:hover .gantt_link_control div {
- display: block;
-}
-.gantt_link_target .gantt_link_control div {
- display: block;
-}
-.gantt_link_source,
-.gantt_link_target {
- box-shadow: 0px 0px 3px #0070fe;
-}
-.gantt_link_target.link_start_allow,
-.gantt_link_target.link_finish_allow {
- box-shadow: 0px 0px 3px #6eb867;
-}
-.gantt_link_target.link_start_deny,
-.gantt_link_target.link_finish_deny {
- box-shadow: 0px 0px 3px #e87e7b;
-}
-.link_start_allow .gantt_link_control.task_left div,
-.link_finish_allow .gantt_link_control.task_right div {
- background-color: #6eb867;
- border-color: #4a8f43;
-}
-.link_start_deny .gantt_link_control.task_left div,
-.link_finish_deny .gantt_link_control.task_right div {
- background-color: #e87e7b;
- border-color: #dd3e3a;
-}
-.gantt_link_arrow_right {
- border-width: 4px 0 4px 8px;
- border-top-color: transparent !important;
- border-right-color: transparent !important;
- border-bottom-color: transparent !important;
- border-left-color: #4a8f43;
- margin-top: -1px;
-}
-.gantt_link_arrow_left {
- border-width: 4px 8px 4px 0;
- margin-top: -1px;
- border-top-color: transparent !important;
- border-right-color: #4a8f43;
- border-bottom-color: transparent !important;
- border-left-color: transparent !important;
-}
-.gantt_link_arrow_top {
- border-width: 0 4px 8px 4px;
- border-color: transparent transparent #4a8f43 transparent;
- border-top-color: transparent !important;
- border-right-color: transparent !important;
- border-bottom-color: #4a8f43;
- border-left-color: transparent !important;
-}
-.gantt_link_arrow_down {
- border-width: 4px 8px 0 4px;
- border-top-color: #4a8f43;
- border-right-color: transparent !important;
- border-bottom-color: transparent !important;
- border-left-color: transparent !important;
-}
-.gantt_task_drag,
-.gantt_task_progress_drag {
- cursor: w-resize;
- height: 100%;
- display: none;
- position: absolute;
-}
-.gantt_task_line.gantt_selected .gantt_task_progress_drag,
-.gantt_task_line:hover .gantt_task_progress_drag,
-.gantt_task_line.gantt_selected .gantt_task_drag,
-.gantt_task_line:hover .gantt_task_drag {
- display: block;
-}
-.gantt_task_drag {
- width: 6px;
- background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAACCAYAAACUn8ZgAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MDEyNDQ5RDdCRTQ5MTFFMjhBQzlGRDA2RDIyNDc5NzEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MDEyNDQ5RDhCRTQ5MTFFMjhBQzlGRDA2RDIyNDc5NzEiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDowMTI0NDlENUJFNDkxMUUyOEFDOUZEMDZEMjI0Nzk3MSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDowMTI0NDlENkJFNDkxMUUyOEFDOUZEMDZEMjI0Nzk3MSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pv8NECcAAAAaSURBVHjaYvz//z8DLsAEIsw6j/3HRgMEGAARnwqNiuFmdQAAAABJRU5ErkJggg==);
- z-index: 1;
- top: 0px;
-}
-.gantt_task_drag.task_left {
- left: 0px;
-}
-.gantt_task_drag.task_right {
- right: 0px;
-}
-.gantt_task_progress_drag {
- height: 8px;
- width: 8px;
- bottom: -4px;
- margin-left: -4px;
- background-position: bottom;
- background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NDNGNzQ1MTZCQkRBMTFFMjlBMjRBRkU0RkNCMTUzNkUiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NDNGNzQ1MTdCQkRBMTFFMjlBMjRBRkU0RkNCMTUzNkUiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo0M0Y3NDUxNEJCREExMUUyOUEyNEFGRTRGQ0IxNTM2RSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo0M0Y3NDUxNUJCREExMUUyOUEyNEFGRTRGQ0IxNTM2RSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PrBLI3EAAACISURBVHjafE07DkMhDAuftQdgYuCWbZ9a0WtwGJC4BgMbYmVGaZLpqWpryZFjOwrACSmlSLzCN1DwrLUik/TtM3yUUnDOiWMMZE3enTNF4gghRO89KKXkABGh9w6ttcPSHp1zsNaCvbcUjDHAHhVemg1rrVxprYWs2ZOMR84ZfoGfXuAP3gIMABorQUvC1invAAAAAElFTkSuQmCC);
- background-repeat: no-repeat;
- z-index: 2;
-}
-.gantt_link_tooltip {
- box-shadow: 3px 3px 3px #888888;
- background-color: #ffffff;
- border-left: 1px dotted #cecece;
- border-top: 1px dotted #cecece;
- font-family: Tahoma;
- font-size: 8pt;
- color: #444444;
- padding: 6px;
- line-height: 20px;
-}
-.gantt_link_direction {
- height: 0px;
- border: 0px none #4a8f43;
- border-bottom-style: dashed;
- border-bottom-width: 2px;
- transform-origin: 0% 0%;
- -ms-transform-origin: 0% 0%;
- -webkit-transform-origin: 0% 0%;
- z-index: 2;
- margin-left: 1px;
- position: absolute;
-}
-.gantt_grid_data .gantt_row.gantt_selected,
-.gantt_grid_data .gantt_row.odd.gantt_selected {
- background-color: #ffe6b1 !important;
- border-bottom-color: #ffc341;
-}
-.gantt_task_row.gantt_selected {
- background-color: #ffe6b1 !important;
- background-color: #ffebc1;
- background-image: -webkit-linear-gradient(top, #ffe09d 0%, #ffeabb 100%);
- background-image: -moz-linear-gradient(top, #ffe09d 0%, #ffeabb 100%);
- background-image: -ms-linear-gradient(top, #ffe09d 0%, #ffeabb 100%);
- background-image: linear-gradient(to top, #ffe09d 0%, #ffeabb 100%);
- border-top-color: #ffc341;
- border-bottom-color: #ffc341;
-}
-.gantt_task_row.gantt_selected .gantt_task_cell {
- border-right-color: #ffb30e;
-}
-.gantt_task_row.gantt_selected .gantt_task_cell {
- border-right-color: #ffce65;
-}
-.gantt_task_line.gantt_selected {
- box-shadow: 0 0 5px #5aa0d3;
-}
-.gantt_task_line.gantt_project.gantt_selected {
- box-shadow: 0 0 5px #9ab9f1;
-}
-.gantt_task_line.gantt_milestone {
- visibility: hidden;
- background-color: #db7dc5;
- border: 0px solid #cd49ae;
- box-sizing: content-box;
- -moz-box-sizing: content-box;
-}
-.gantt_task_line.gantt_milestone div {
- visibility: visible;
-}
-.gantt_task_line.gantt_milestone .gantt_task_content {
- background: inherit;
- border: inherit;
- border-width: 1px;
- border-radius: inherit;
- box-sizing: border-box;
- -moz-box-sizing: border-box;
- -webkit-transform: rotate(45deg);
- -moz-transform: rotate(45deg);
- -ms-transform: rotate(45deg);
- -o-transform: rotate(45deg);
- transform: rotate(45deg);
-}
-.gantt_task_line.gantt_task_inline_color {
- border-color: #999999;
-}
-.gantt_task_line.gantt_task_inline_color .gantt_task_progress {
- background-color: #363636;
- opacity: 0.2;
-}
-.gantt_task_line.gantt_task_inline_color.gantt_selected {
- box-shadow: 0 0 5px #999999;
-}
-.gantt_task_line.gantt_task_inline_color.gantt_project.gantt_selected {
- box-shadow: 0 0 5px #999999;
-}
-.gantt_task_link.gantt_link_inline_color:hover .gantt_line_wrapper div {
- box-shadow: 0 0 5px 0px #999999;
-}
-.gantt_critical_task {
- background-color: #e63030;
- border-color: #9d3a3a;
-}
-.gantt_critical_task .gantt_task_progress {
- background-color: rgba(0, 0, 0, 0.4);
-}
-.gantt_critical_link .gantt_line_wrapper > div {
- background-color: #e63030;
-}
-.gantt_critical_link .gantt_link_arrow {
- border-color: #e63030;
-}
-.gantt_unselectable,
-.gantt_unselectable div {
- -webkit-user-select: none;
- -moz-user-select: none;
- -moz-user-select: -moz-none;
-}
-.gantt_cal_light {
- -webkit-tap-highlight-color: transparent;
- background-color: #eff6fb;
- border-radius: 0;
- font-family: "Tahoma";
- font-size: 11px;
- border: 1px solid #a4bed4;
- color: #42464b;
- position: absolute;
- z-index: 10001;
- width: 550px;
- height: 250px;
- box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.07);
-}
-.gantt_cal_light_wide {
- width: 650px;
-}
-.gantt_cal_light select {
- font-family: "Tahoma";
- border: 1px solid #a4bed4;
- font-size: 11px;
- padding: 2px;
- margin: 0px;
-}
-.gantt_cal_ltitle {
- padding: 7px 10px;
- overflow: hidden;
- white-space: nowrap;
- -webkit-border-top-left-radius: 0;
- -webkit-border-bottom-left-radius: 0;
- -webkit-border-top-right-radius: 0;
- -webkit-border-bottom-right-radius: 0;
- -moz-border-radius-topleft: 0;
- -moz-border-radius-bottomleft: 0;
- -moz-border-radius-topright: 0;
- -moz-border-radius-bottomright: 0;
- border-top-left-radius: 0;
- border-bottom-left-radius: 0;
- border-top-right-radius: 0;
- border-bottom-right-radius: 0;
-}
-.gantt_cal_ltitle span {
- white-space: nowrap;
-}
-.gantt_cal_lsection {
- color: #727272;
- font-weight: bold;
- padding: 12px 0px 5px 10px;
-}
-.gantt_cal_lsection .gantt_fullday {
- float: right;
- margin-right: 5px;
- font-size: 12px;
- font-weight: normal;
- line-height: 20px;
- vertical-align: top;
- cursor: pointer;
-}
-.gantt_cal_lsection {
- font-size: 13px;
-}
-.gantt_cal_ltext {
- padding: 2px 10px;
- overflow: hidden;
-}
-.gantt_cal_ltext textarea {
- overflow: auto;
- font-family: "Tahoma";
- font-size: 11px;
- -moz-box-sizing: border-box;
- -webkit-box-sizing: border-box;
- box-sizing: border-box;
- border: 1px solid #a4bed4;
- height: 100%;
- width: 100%;
- outline: none !important;
- resize: none;
-}
-.gantt_time {
- font-weight: bold;
-}
-.gantt_cal_light .gantt_title {
- padding-left: 10px;
-}
-.gantt_cal_larea {
- border: 1px solid #a4bed4;
- border-left: none;
- border-right: none;
- background-color: #fff;
- overflow: hidden;
- height: 1px;
-}
-.gantt_btn_set {
- margin: 10px 7px 5px 10px;
- padding: 2px 25px 2px 10px;
- float: left;
- -webkit-border-radius: 4px;
- -moz-border-radius: 4px;
- border-radius: 4px;
- border-width: 1px;
- border-color: #a4bed4;
- border-style: solid;
- height: 26px;
- color: #42464b;
- background-color: #f8f8f8;
- background-image: -webkit-linear-gradient(top, #e6e6e6 0%, #ffffff 100%);
- background-image: -moz-linear-gradient(top, #e6e6e6 0%, #ffffff 100%);
- background-image: -ms-linear-gradient(top, #e6e6e6 0%, #ffffff 100%);
- background-image: linear-gradient(to top, #e6e6e6 0%, #ffffff 100%);
- -moz-box-sizing: border-box;
- -webkit-box-sizing: border-box;
- box-sizing: border-box;
- cursor: pointer;
-}
-.gantt_btn_set div {
- float: left;
- font-size: 13px;
- height: 20px;
- line-height: 20px;
- background-repeat: no-repeat;
- vertical-align: middle;
-}
-.gantt_save_btn {
- background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QkE5Nzc4RENDMzAzMTFFMjk4QjNBODhDMUM4QUUwNEQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QkE5Nzc4RERDMzAzMTFFMjk4QjNBODhDMUM4QUUwNEQiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpCQTk3NzhEQUMzMDMxMUUyOThCM0E4OEMxQzhBRTA0RCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpCQTk3NzhEQkMzMDMxMUUyOThCM0E4OEMxQzhBRTA0RCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pr5Ot2UAAAFoSURBVHjapFO7SgNRED0rxkjEELbcQksLBUMg4EfkG7YV/AFTpBAUfNQisVDQD7CQlBaWwoZ8gNEiFttmg3GTfbF6JtzFTUJYyIHhDnfOnJm5Dy2OYywDjQJnF5ex/dXDweENNtaAzT/jur46IY1D4McHvv3J+nZ7BGNrG436sSaU3ucHqtUqzP1sVcflMizLEl8EwjBEFEXwomwC5DInEeDGaDSC62cTIJc5iUAQBGJukE1A8YkVNYLv++h232WMRUYOuakRlOLTwzU8z1tYPZ/Po1QqJR0kAgQDWTEjwLaIWq0GwzDmJtm2jVarNSvAeeQQXVe6ME1Tgs1mMyXA2GAwQKFQmH8G/X4fjuOgWCxKkP40yMnlcukO1MNgAivoui5B+tMgh3H1DuQa66fnaLfbGA6HMgY7oNGfNnL+v0RN/cbnl9f46qSBSqUiM9J4ZQSvVgl0Oh1pf2d3D4/3d5q27Hf+FWAAc90EKSR5k78AAAAASUVORK5CYII=);
- margin-top: 2px;
- width: 21px;
-}
-.gantt_cancel_btn {
- margin-top: 2px;
- background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QzU4NTQ3NUZDMzAzMTFFMkE0MjRGNTQzQjE0MTNDQkIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QzU4NTQ3NjBDMzAzMTFFMkE0MjRGNTQzQjE0MTNDQkIiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpDNTg1NDc1REMzMDMxMUUyQTQyNEY1NDNCMTQxM0NCQiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpDNTg1NDc1RUMzMDMxMUUyQTQyNEY1NDNCMTQxM0NCQiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PkVB3hoAAAEYSURBVHjapJM9CsJAEIUTFStbQRA8gKCNKSIIeohUVraC9oKiGBRsBDvBylbwEkJQCys9gJUgeIOAxDfwEpYNpsmDL7PZ+cn+TMwgCIw0yhgplZPH3bbVuRqYgiYogxe4ABc8wqD69RpbQR6MwQ04TDZoHc6LP/tvC2uw4Fi+Vgcmrct58W9iW4BaYAB80OGSQ8my7xz7jDsAT11Bn3alJYvUa1pp8VGBNu0uIVm2s9fiowJF8OWJ/0sWPRlX1At8eLqlhGRRhXEfvcCJtpeQLOpq8VGBLe04Ibmh+Ld6AY8HWOBVzUCVvio780z/LrxCtQ9EQ+5tBOZElRzeUmmqWCfKlyfAAkfw5vyb7xb9vlrATPs7/wQYAISgQGDaq6hUAAAAAElFTkSuQmCC);
- width: 20px;
-}
-.gantt_delete_btn {
- background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6RTA3M0M1MzJDMzAzMTFFMkE5ODZDRjhENzQ2MUZFNzkiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6RTA3M0M1MzNDMzAzMTFFMkE5ODZDRjhENzQ2MUZFNzkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpFMDczQzUzMEMzMDMxMUUyQTk4NkNGOEQ3NDYxRkU3OSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpFMDczQzUzMUMzMDMxMUUyQTk4NkNGOEQ3NDYxRkU3OSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pplu0sEAAAErSURBVHja3FOxboMwED0nIQNbJoaOZM0YyMhGqwz8BOQ3mm5I/AHwCayoGVlhZUSMHTIhsSCEhOtzawRIlZDY+qTTs893z6fzmVBKYQ12YhEEweB0HAf3tCxLUFUVXWSeiDGIzW/ynRE9HA7coihCBtd1AVn40TCO2X1ewbthGCBJEiiKAtvtFggh0HUdWJYFfd9zez6f3JckiS1EhEDmeZ623+9BlmWejCaAfWqahou0bQumab7MK9DP5zM9nU5c4Hg8ch4nF0XBOc9zuF6vg/pm3pw0TSdNDcPwp8QsG2LiOIY/BZagqqp1AmP8M4Gvuq5B1/XJqNq2zVnTNMBzjBsLEHxnHBrf91/Z/nPBpW+32+0hPuFODAt79wtbfiwQuLD4x6SCNfgWYAAfQYJFsOV+5AAAAABJRU5ErkJggg==);
- margin-top: 2px;
- width: 20px;
-}
-.gantt_cal_cover {
- width: 100%;
- height: 100%;
- position: absolute;
- z-index: 10000;
- top: 0px;
- left: 0px;
- background-color: black;
- opacity: 0.1;
- filter: progid:DXImageTransform.Microsoft.Alpha(opacity=10);
-}
-.gantt_custom_button {
- padding: 0px 3px 0px 3px;
- font-family: "Tahoma";
- font-size: 11px;
- font-weight: normal;
- margin-right: 10px;
- margin-top: -5px;
- cursor: pointer;
- float: right;
- height: 21px;
- width: 90px;
- border: 1px solid #CECECE;
- text-align: center;
- -webkit-border-radius: 4px;
- -moz-border-radius: 4px;
- -ms-border-radius: 4px;
- -o-border-radius: 4px;
- border-radius: 4px;
-}
-.gantt_custom_button div {
- cursor: pointer;
- float: none;
- height: 21px;
- line-height: 21px;
- vertical-align: middle;
-}
-.gantt_custom_button div:first-child {
- display: none;
-}
-.gantt_cal_light_wide {
- width: 580px;
- padding: 2px 4px;
-}
-.gantt_cal_light_wide .gantt_cal_larea {
- -moz-box-sizing: border-box;
- -webkit-box-sizing: border-box;
- box-sizing: border-box;
- border: 1px solid #a4bed4;
-}
-.gantt_cal_light_wide .gantt_cal_lsection {
- border: 0px;
- float: left;
- text-align: right;
- width: 80px;
- height: 20px;
- padding: 5px 10px 0px 0px;
-}
-.gantt_cal_light_wide .gantt_wrap_section {
- position: relative;
- padding: 10px 0;
- overflow: hidden;
- border-bottom: 1px solid #ebebeb;
-}
-.gantt_cal_light_wide .gantt_section_time {
- overflow: hidden;
- padding-top: 2px !important;
- padding-right: 0px;
- height: 20px !important;
-}
-.gantt_cal_light_wide .gantt_cal_ltext {
- padding-right: 0px;
-}
-.gantt_cal_light_wide .gantt_cal_larea {
- padding: 0 10px;
- width: 100%;
-}
-.gantt_cal_light_wide .gantt_section_time {
- background: transparent;
-}
-.gantt_cal_light_wide .gantt_cal_checkbox label {
- padding-left: 0px;
-}
-.gantt_cal_light_wide .gantt_cal_lsection .gantt_fullday {
- float: none;
- margin-right: 0px;
- font-weight: bold;
- cursor: pointer;
-}
-.gantt_cal_light_wide .gantt_custom_button {
- position: absolute;
- top: 0;
- right: 0;
- margin-top: 2px;
-}
-.gantt_cal_light_wide .gantt_repeat_right {
- margin-right: 55px;
-}
-.gantt_cal_light_wide.gantt_cal_light_full {
- width: 738px;
-}
-.gantt_cal_wide_checkbox input {
- margin-top: 8px;
- margin-left: 14px;
-}
-.gantt_cal_light input {
- font-size: 11px;
-}
-.gantt_section_time {
- background-color: white;
- white-space: nowrap;
- padding: 2px 10px 5px;
- padding-top: 2px !important;
-}
-.gantt_section_time .gantt_time_selects {
- float: left;
- height: 25px;
-}
-.gantt_section_time .gantt_time_selects select {
- height: 23px;
- padding: 2px;
- border: 1px solid #a4bed4;
-}
-.gantt_duration {
- width: 100px;
- height: 23px;
- float: left;
- white-space: nowrap;
- margin-left: 20px;
- line-height: 23px;
-}
-.gantt_duration .gantt_duration_value,
-.gantt_duration .gantt_duration_dec,
-.gantt_duration .gantt_duration_inc {
- -moz-box-sizing: border-box;
- -webkit-box-sizing: border-box;
- box-sizing: border-box;
- text-align: center;
- vertical-align: top;
- height: 100%;
- border: 1px solid #a4bed4;
-}
-.gantt_duration .gantt_duration_value {
- width: 40px;
- padding: 3px 4px;
- border-left-width: 0;
- border-right-width: 0;
-}
-.gantt_duration .gantt_duration_dec,
-.gantt_duration .gantt_duration_inc {
- width: 20px;
- padding: 1px;
- padding-bottom: 3px;
- background-color: #f8f8f8;
- background-image: -webkit-linear-gradient(top, #e6e6e6 0%, #ffffff 100%);
- background-image: -moz-linear-gradient(top, #e6e6e6 0%, #ffffff 100%);
- background-image: -ms-linear-gradient(top, #e6e6e6 0%, #ffffff 100%);
- background-image: linear-gradient(to top, #e6e6e6 0%, #ffffff 100%);
-}
-.gantt_duration .gantt_duration_dec {
- -moz-border-top-left-radius: 4px;
- -moz-border-bottom-left-radius: 4px;
- -webkit-border-top-left-radius: 4px;
- -webkit-border-bottom-left-radius: 4px;
- border-top-left-radius: 4px;
- border-bottom-left-radius: 4px;
-}
-.gantt_duration .gantt_duration_inc {
- margin-right: 4px;
- -moz-border-top-right-radius: 4px;
- -moz-border-bottom-right-radius: 4px;
- -webkit-border-top-right-radius: 4px;
- -webkit-border-bottom-right-radius: 4px;
- border-top-right-radius: 4px;
- border-bottom-right-radius: 4px;
-}
-/* Quick info */
-.gantt_cal_quick_info {
- border: 1px solid #a4bed4;
- border-radius: 0;
- position: absolute;
- z-index: 300;
- box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.07);
- background-color: #ffffff;
- width: 300px;
- transition: left 0.5s ease, right 0.5s;
- -moz-transition: left 0.5s ease, right 0.5s;
- -webkit-transition: left 0.5s ease, right 0.5s;
- -o-transition: left 0.5s ease, right 0.5s;
-}
-.gantt_no_animate {
- transition: none;
- -moz-transition: none;
- -webkit-transition: none;
- -o-transition: none;
-}
-.gantt_cal_quick_info.gantt_qi_left .gantt_qi_big_icon {
- float: right;
-}
-.gantt_cal_qi_title {
- -webkit-border-top-left-radius: 0;
- -webkit-border-bottom-left-radius: 0;
- -webkit-border-top-right-radius: 0;
- -webkit-border-bottom-right-radius: 0;
- -moz-border-radius-topleft: 0;
- -moz-border-radius-bottomleft: 0;
- -moz-border-radius-topright: 0;
- -moz-border-radius-bottomright: 0;
- border-top-left-radius: 0;
- border-bottom-left-radius: 0;
- border-top-right-radius: 0;
- border-bottom-right-radius: 0;
- padding: 5px 0px 8px 12px;
- color: #1e2022;
- box-shadow: 0px 1px 1px #fff inset;
- background-color: #dfedff;
- background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #e4f0ff), color-stop(50%, #dfedff), color-stop(100%, #d5e8ff));
- /* old webkit */
- background-image: -webkit-linear-gradient(top, #e4f0ff 0%, #dfedff 50%, #d5e8ff 100%);
- background-image: -moz-linear-gradient(top, #e4f0ff 0%, #dfedff 60%, #d5e8ff 100%);
- background-image: -ms-linear-gradient(top, #e4f0ff 0%, #dfedff 60%, #d5e8ff 100%);
- background-image: -o-linear-gradient(top, #e4f0ff 0%, #dfedff 60%, #d5e8ff 100%);
- background-position: 0px 1px;
- background-repeat: repeat-x;
- border-bottom: 1px solid #a4bed4;
-}
-.gantt_cal_qi_tdate {
- font-size: 14px;
- font-weight: bold;
-}
-.gantt_cal_qi_tcontent {
- font-size: 11px;
-}
-.gantt_cal_qi_content {
- padding: 16px 8px;
- font-size: 13px;
- color: #1e2022;
- overflow: hidden;
-}
-.gantt_cal_qi_controls {
- -webkit-border-top-left-radius: 0;
- -webkit-border-bottom-left-radius: 0;
- -webkit-border-top-right-radius: 0;
- -webkit-border-bottom-right-radius: 0;
- -moz-border-radius-topleft: 0;
- -moz-border-radius-bottomleft: 0;
- -moz-border-radius-topright: 0;
- -moz-border-radius-bottomright: 0;
- border-top-left-radius: 0;
- border-bottom-left-radius: 0;
- border-top-right-radius: 0;
- border-bottom-right-radius: 0;
- padding-left: 7px;
-}
-.gantt_cal_qi_controls .gantt_menu_icon {
- margin-top: 3px;
- background-repeat: no-repeat;
-}
-.gantt_cal_qi_controls .gantt_menu_icon.icon_edit {
- width: 20px;
- background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAB3RJTUUH3QYFDhEuX3ujFgAAAFNJREFUOMvt0zEOACAIA0DksTyqn8XJTRTKZGJXyaWEKPKTCQAH4Ls37cItcDUzsxHNDLZNhCq7Gt1wh9ErV7EjyGAhyGLphlnsClWuS32rn0czAV+sNUIROnQoAAAAAElFTkSuQmCC);
-}
-.gantt_cal_qi_controls .gantt_menu_icon.icon_delete {
- width: 20px;
- background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6RTA3M0M1MzJDMzAzMTFFMkE5ODZDRjhENzQ2MUZFNzkiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6RTA3M0M1MzNDMzAzMTFFMkE5ODZDRjhENzQ2MUZFNzkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpFMDczQzUzMEMzMDMxMUUyQTk4NkNGOEQ3NDYxRkU3OSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpFMDczQzUzMUMzMDMxMUUyQTk4NkNGOEQ3NDYxRkU3OSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pplu0sEAAAErSURBVHja3FOxboMwED0nIQNbJoaOZM0YyMhGqwz8BOQ3mm5I/AHwCayoGVlhZUSMHTIhsSCEhOtzawRIlZDY+qTTs893z6fzmVBKYQ12YhEEweB0HAf3tCxLUFUVXWSeiDGIzW/ynRE9HA7coihCBtd1AVn40TCO2X1ewbthGCBJEiiKAtvtFggh0HUdWJYFfd9zez6f3JckiS1EhEDmeZ623+9BlmWejCaAfWqahou0bQumab7MK9DP5zM9nU5c4Hg8ch4nF0XBOc9zuF6vg/pm3pw0TSdNDcPwp8QsG2LiOIY/BZagqqp1AmP8M4Gvuq5B1/XJqNq2zVnTNMBzjBsLEHxnHBrf91/Z/nPBpW+32+0hPuFODAt79wtbfiwQuLD4x6SCNfgWYAAfQYJFsOV+5AAAAABJRU5ErkJggg==);
-}
-.gantt_qi_big_icon {
- font-size: 13px;
- border-radius: 4px;
- color: #42464b;
- background-color: #f8f8f8;
- background-image: -webkit-linear-gradient(top, #e6e6e6 0%, #ffffff 100%);
- background-image: -moz-linear-gradient(top, #e6e6e6 0%, #ffffff 100%);
- background-image: -ms-linear-gradient(top, #e6e6e6 0%, #ffffff 100%);
- background-image: linear-gradient(to top, #e6e6e6 0%, #ffffff 100%);
- margin: 5px 9px 8px 0px;
- min-width: 60px;
- line-height: 26px;
- vertical-align: middle;
- padding: 0px 10px 0px 5px;
- cursor: pointer;
- border: 1px solid #a4bed4;
-}
-.gantt_cal_qi_controls div {
- float: left;
- height: 26px;
- text-align: center;
- line-height: 26px;
-}
-.gantt_tooltip {
- box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.07);
- background-color: white;
- border-left: 1px solid rgba(0, 0, 0, 0.07);
- border-top: 1px solid rgba(0, 0, 0, 0.07);
- font-family: "Tahoma";
- font-size: 8pt;
- color: #1e2022;
- padding: 10px;
- position: absolute;
- z-index: 50;
-}
-.gantt_marker {
- height: 100%;
- width: 2px;
- top: 0;
- position: absolute;
- text-align: center;
- background-color: rgba(255, 0, 0, 0.4);
- -moz-box-sizing: border-box;
- -webkit-box-sizing: border-box;
- box-sizing: border-box;
-}
-.gantt_marker .gantt_marker_content {
- padding: 5px;
- background: inherit;
- color: white;
- position: absolute;
- font-size: 12px;
- line-height: 12px;
- opacity: 0.8;
-}
-.gantt_marker_area {
- position: absolute;
- top: 0;
- left: 0;
-}
-.gantt_noselect {
- -moz-user-select: -moz-none;
- -webkit-user-select: none;
- -user-select: none;
-}
-.gantt_drag_marker {
- position: absolute;
- font-family: "Tahoma";
- font-size: 11px;
-}
-.gantt_drag_marker .gantt_tree_indent,
-.gantt_drag_marker .gantt_tree_icon.gantt_blank,
-.gantt_drag_marker .gantt_tree_icon.gantt_open,
-.gantt_drag_marker .gantt_tree_icon.gantt_close {
- display: none;
-}
-.gantt_drag_marker,
-.gantt_drag_marker .gantt_row.odd {
- background-color: #ffffff;
-}
-.gantt_drag_marker .gantt_row {
- border-left: 1px solid #d2d2d2;
- border-top: 1px solid #d2d2d2;
-}
-.gantt_drag_marker .gantt_cell {
- border-color: #d2d2d2;
-}
-.gantt_row.gantt_over,
-.gantt_task_row.gantt_over {
- background-color: #0070fe;
-}
-.gantt_row.gantt_transparent .gantt_cell {
- opacity: 0.7;
-}
-.gantt_task_row.gantt_transparent {
- background-color: #e4f0ff;
-}
diff --git a/libraries/dhtmlxgantt/sources/skins/dhtmlxgantt_terrace.css b/libraries/dhtmlxgantt/sources/skins/dhtmlxgantt_terrace.css
deleted file mode 100644
index 6a7f499..0000000
--- a/libraries/dhtmlxgantt/sources/skins/dhtmlxgantt_terrace.css
+++ /dev/null
@@ -1,1422 +0,0 @@
-/*
-@license
-
-dhtmlxGantt v.3.2.0 Stardard
-This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited.
-
-(c) Dinamenta, UAB.
-*/
-/* colors for items with inline styles assigned (task.color, link.color)*/
-.gridHoverStyle {
- background-color: #fff3a1;
-}
-.gridSelection {
- background-color: #fff3a1;
-}
-.timelineSelection {
- background-color: #fff3a1;
-}
-.gantt_grid_scale .gantt_grid_head_cell {
- color: #a6a6a6;
- border-top: none !important;
- border-right: none !important;
-}
-.gantt_grid_data .gantt_cell {
- border-right: none;
- color: #454545;
-}
-/*
- Tasks
-*/
-.gantt_task_link .gantt_link_arrow_right {
- border-width: 6px 6px 6px 6px;
- margin-top: -3px;
-}
-.gantt_task_link .gantt_link_arrow_left {
- border-width: 6px 6px 6px 6px;
- margin-left: -6px;
- margin-top: -3px;
-}
-.gantt_task_link .gantt_link_arrow_top {
- border-width: 6px 6px 6px 6px;
-}
-.gantt_task_link .gantt_link_arrow_down {
- border-width: 6px 6px 6px 6px;
-}
-.gantt_task_line .gantt_task_progress_drag {
- bottom: -4px;
- height: 16px;
- margin-left: -8px;
- width: 16px;
-}
-.chartHeaderBg {
- background-color: #fff;
-}
-.gantt_task .gantt_task_scale .gantt_scale_cell {
- color: #a6a6a6;
- border-right: 1px solid #ebebeb;
-}
-/*
- project highlight
-*/
-.gantt_row.gantt_project,
-.gantt_row.odd.gantt_project {
- background-color: #edffef;
-}
-.gantt_task_row.gantt_project,
-.gantt_task_row.odd.gantt_project {
- background-color: #f5fff6;
-}
-.gantt_task_line.gantt_project {
- background-color: #65c16f;
- border: 1px solid #3c9445;
-}
-.gantt_task_line.gantt_project .gantt_task_progress {
- background-color: #46ad51;
-}
-/*
- milestone
-*/
-/*
- lightbox
-*/
-.buttonBg {
- background: #fff;
-}
-.gantt_cal_light .gantt_btn_set {
- margin: 5px 10px;
-}
-.gantt_btn_set.gantt_cancel_btn_set {
- background: #fff;
- color: #454545;
- border: 1px solid #cecece;
-}
-.gantt_btn_set.gantt_save_btn_set {
- background: #3db9d3;
- text-shadow: 0 -1px 0 #248a9f;
- color: #fff;
-}
-.gantt_btn_set.gantt_delete_btn_set {
- text-shadow: 0 -1px 0 #6f6f6f;
- background: #ec8e00;
- text-shadow: 0 -1px 0 #aa6600;
- color: #fff;
-}
-.gantt_delete_btn {
- margin-top: 2px;
- width: 20px;
-}
-.gantt_cal_light_wide {
- padding-left: 0 !important;
- padding-right: 0 !important;
-}
-.gantt_cal_light_wide .gantt_cal_larea {
- border-left: none !important;
- border-right: none !important;
-}
-/*
- Message
-*/
-.dhtmlx_popup_button.dhtmlx_ok_button {
- background: #3db9d3;
- text-shadow: 0 -1px 0 #248a9f;
- color: #fff;
- font-weight: bold;
- border-width: 0;
-}
-.dhtmlx_popup_button.dhtmlx_cancel_button {
- font-weight: bold;
- color: #454544;
-}
-/*
- Quick info
-*/
-.gantt_qi_big_icon.icon_edit {
- color: #454545;
- background: #fff;
-}
-.gantt_qi_big_icon.icon_delete {
- text-shadow: 0 -1px 0 #aa6600;
- background: #ec8e00;
- color: #fff;
- border-width: 0;
-}
-/*links dnd*/
-.gantt_container {
- font-family: "Arial";
- font-size: 13px;
- border: 1px solid #cecece;
- position: relative;
- white-space: nowrap;
-}
-.gantt_grid {
- border-right: 1px solid #cecece;
-}
-.gantt_task_scroll {
- overflow-x: scroll;
-}
-.gantt_task {
- position: relative;
-}
-.gantt_task,
-.gantt_grid {
- overflow-x: hidden;
- overflow-y: hidden;
- display: inline-block;
- vertical-align: top;
-}
-.gantt_grid_scale,
-.gantt_task_scale {
- color: #6b6b6b;
- font-size: 12px;
- border-bottom: 1px solid #cecece;
-}
-.gantt_grid_scale {
- background-color: #fff;
-}
-.gantt_task_scale {
- background-color: #fff;
-}
-.gantt_scale_line {
- box-sizing: border-box;
- -moz-box-sizing: border-box;
- border-top: 1px solid #cecece;
-}
-.gantt_scale_line:first-child {
- border-top: none;
-}
-.gantt_grid_head_cell {
- display: inline-block;
- vertical-align: top;
- border-right: 1px solid #cecece;
- text-align: center;
- position: relative;
- cursor: default;
- height: 100%;
- box-sizing: border-box;
- -moz-box-sizing: border-box;
- line-height: 33px;
- -moz-user-select: -moz-none;
- -webkit-user-select: none;
- -user-select: none;
- overflow: hidden;
-}
-.gantt_scale_line {
- clear: both;
-}
-.gantt_grid_data {
- width: 100%;
- overflow: hidden;
-}
-.gantt_row {
- position: relative;
- -webkit-user-select: none;
- -moz-user-select: none;
- -moz-user-select: -moz-none;
-}
-.gantt_add,
-.gantt_grid_head_add {
- width: 100%;
- height: 100%;
- background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NTQ3MjMyMENDNkI0MTFFMjk4MTI5QTg3MDhFNDVDQTkiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NTQ3MjMyMERDNkI0MTFFMjk4MTI5QTg3MDhFNDVDQTkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo1NDcyMzIwQUM2QjQxMUUyOTgxMjlBODcwOEU0NUNBOSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo1NDcyMzIwQkM2QjQxMUUyOTgxMjlBODcwOEU0NUNBOSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PshZT8UAAABbSURBVHjaYrTdeZmBEsCER+4wEP+H4sPkGGCDg020ARR7gb4GIAcYDKMDdPnDyAbYkGG5DVW9cIQMvUdBBAuUY4vDz8iAcZinA2zgCHqAYQMseAywJcYFAAEGAM+UFGuohFczAAAAAElFTkSuQmCC);
- background-position: center center;
- background-repeat: no-repeat;
- cursor: pointer;
- position: relative;
- -moz-opacity: 0.3;
- opacity: 0.3;
-}
-.gantt_grid_head_cell.gantt_grid_head_add {
- -moz-opacity: 0.6;
- opacity: 0.6;
- top: 0;
-}
-.gantt_grid_head_cell.gantt_grid_head_add:hover {
- -moz-opacity: 1;
- opacity: 1;
-}
-.gantt_grid_data .gantt_row:hover,
-.gantt_grid_data .gantt_row.odd:hover {
- background-color: #fff3a1;
-}
-.gantt_grid_data .gantt_row:hover .gantt_add,
-.gantt_grid_data .gantt_row.odd:hover .gantt_add {
- -moz-opacity: 1;
- opacity: 1;
-}
-.gantt_task_row,
-.gantt_row {
- border-bottom: 1px solid #ebebeb;
-}
-.gantt_row,
-.gantt_task_row {
- background-color: #ffffff;
-}
-.gantt_row.odd,
-.gantt_task_row.odd {
- background-color: #ffffff;
-}
-.gantt_row,
-.gantt_cell,
-.gantt_task_row,
-.gantt_task_cell,
-.gantt_grid_head_cell,
-.gantt_scale_cell {
- box-sizing: border-box;
- -moz-box-sizing: border-box;
-}
-.gantt_grid_head_cell,
-.gantt_scale_cell {
- line-height: inherit;
-}
-.gantt_grid_scale .gantt_grid_column_resize_wrap {
- cursor: col-resize;
- position: absolute;
- width: 13px;
-}
-.gantt_grid_column_resize_wrap .gantt_grid_column_resize {
- background-color: #cecece;
- height: 100%;
- width: 1px;
- margin: 0 auto;
-}
-.gantt_grid .gantt_grid_resize_wrap {
- cursor: col-resize;
- position: absolute;
- width: 13px;
- z-index: 1;
-}
-.gantt_grid_resize_wrap .gantt_grid_resize {
- background-color: #cecece;
- width: 1px;
- margin: 0 auto;
-}
-.gantt_drag_marker.gantt_grid_resize_area {
- background-color: rgba(231, 231, 231, 0.5);
- border-left: 1px solid #cecece;
- border-right: 1px solid #cecece;
- height: 100%;
- width: 100%;
- -moz-box-sizing: border-box;
- -webkit-box-sizing: border-box;
- box-sizing: border-box;
-}
-.gantt_cell {
- display: inline-block;
- vertical-align: top;
- border-right: 1px solid #ebebeb;
- padding-left: 6px;
- padding-right: 6px;
- height: 100%;
- overflow: hidden;
- white-space: nowrap;
- font-size: 13px;
-}
-.gantt_grid_scale .gantt_last_cell,
-.gantt_grid_data .gantt_last_cell,
-.gantt_task_scale .gantt_last_cell,
-.gantt_task_bg .gantt_last_cell {
- border-right-width: 0px;
-}
-.gantt_task_bg {
- overflow: hidden;
-}
-.gantt_scale_cell {
- display: inline-block;
- white-space: nowrap;
- overflow: hidden;
- border-right: 1px solid #cecece;
- text-align: center;
- height: 100%;
-}
-.gantt_task_cell {
- display: inline-block;
- height: 100%;
- border-right: 1px solid #ebebeb;
-}
-.gantt_ver_scroll {
- width: 0px;
- background-color: transparent;
- height: 1px;
- overflow-x: hidden;
- overflow-y: scroll;
- display: none;
- position: absolute;
- right: 0px;
-}
-.gantt_ver_scroll > div {
- width: 1px;
- height: 1px;
-}
-.gantt_hor_scroll {
- height: 0px;
- background-color: transparent;
- width: 100%;
- clear: both;
- overflow-x: scroll;
- overflow-y: hidden;
- display: none;
-}
-.gantt_hor_scroll > div {
- width: 5000px;
- height: 1px;
-}
-.gantt_tree_indent {
- width: 15px;
- height: 100%;
- display: inline-block;
-}
-.gantt_tree_content,
-.gantt_tree_icon {
- vertical-align: top;
-}
-.gantt_tree_icon {
- width: 28px;
- height: 100%;
- display: inline-block;
- background-repeat: no-repeat;
- background-position: center center;
-}
-.gantt_tree_content {
- height: 100%;
- display: inline-block;
-}
-.gantt_tree_icon.gantt_open {
- background-image: url(data:image/gif;base64,R0lGODlhEgASALMJAMrKyt3d3ejp6d7f3+/v75aWlvf39////wAAAP///wAAAAAAAAAAAAAAAAAAAAAAACH/C1hNUCBEYXRhWE1QPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS4wLWMwNjAgNjEuMTM0Nzc3LCAyMDEwLzAyLzEyLTE3OjMyOjAwICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IFdpbmRvd3MiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6M0I5RTczQjVDMDdBMTFFMTgxRjc4Mzk4M0Q3MjVFQzAiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6M0I5RTczQjZDMDdBMTFFMTgxRjc4Mzk4M0Q3MjVFQzAiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDozQjlFNzNCM0MwN0ExMUUxODFGNzgzOTgzRDcyNUVDMCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDozQjlFNzNCNEMwN0ExMUUxODFGNzgzOTgzRDcyNUVDMCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PgH//v38+/r5+Pf29fTz8vHw7+7t7Ovq6ejn5uXk4+Lh4N/e3dzb2tnY19bV1NPS0dDPzs3My8rJyMfGxcTDwsHAv769vLu6ubi3trW0s7KxsK+urayrqqmop6alpKOioaCfnp2cm5qZmJeWlZSTkpGQj46NjIuKiYiHhoWEg4KBgH9+fXx7enl4d3Z1dHNycXBvbm1sa2ppaGdmZWRjYmFgX15dXFtaWVhXVlVUU1JRUE9OTUxLSklIR0ZFRENCQUA/Pj08Ozo5ODc2NTQzMjEwLy4tLCsqKSgnJiUkIyIhIB8eHRwbGhkYFxYVFBMSERAPDg0MCwoJCAcGBQQDAgEAACH5BAEAAAkALAAAAAASABIAAARJMMlJq704661B+SAIXAVhnKhBFKSZnmuLImhslXPN3ibi+6pdBXc4IIpB2YkGE1IKAoL0ICUInJNCYMDtDgJYiScUGnHO6LQkAgA7);
- width: 18px;
- cursor: pointer;
-}
-.gantt_tree_icon.gantt_close {
- background-image: url(data:image/gif;base64,R0lGODlhEgASALMJAMrKyt3d3ejp6d7f3+/v75aWlvf39wAAAP///////wAAAAAAAAAAAAAAAAAAAAAAACH/C1hNUCBEYXRhWE1QPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS4wLWMwNjAgNjEuMTM0Nzc3LCAyMDEwLzAyLzEyLTE3OjMyOjAwICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IFdpbmRvd3MiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MzY0QzNGM0VDMDdBMTFFMUE3MDlCNUM2QjU1NDA5RjgiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MzY0QzNGM0ZDMDdBMTFFMUE3MDlCNUM2QjU1NDA5RjgiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDozNjRDM0YzQ0MwN0ExMUUxQTcwOUI1QzZCNTU0MDlGOCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDozNjRDM0YzREMwN0ExMUUxQTcwOUI1QzZCNTU0MDlGOCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PgH//v38+/r5+Pf29fTz8vHw7+7t7Ovq6ejn5uXk4+Lh4N/e3dzb2tnY19bV1NPS0dDPzs3My8rJyMfGxcTDwsHAv769vLu6ubi3trW0s7KxsK+urayrqqmop6alpKOioaCfnp2cm5qZmJeWlZSTkpGQj46NjIuKiYiHhoWEg4KBgH9+fXx7enl4d3Z1dHNycXBvbm1sa2ppaGdmZWRjYmFgX15dXFtaWVhXVlVUU1JRUE9OTUxLSklIR0ZFRENCQUA/Pj08Ozo5ODc2NTQzMjEwLy4tLCsqKSgnJiUkIyIhIB8eHRwbGhkYFxYVFBMSERAPDg0MCwoJCAcGBQQDAgEAACH5BAEAAAkALAAAAAASABIAAARDMMlJq704661B+SAIXAVhnKhBFKSZnmv7wqxVzmpd3Uff5zKEUAi0uV4xm4DAbBIEOkohMKhaB4HoxBMKjTjgsFgSAQA7);
- width: 18px;
- cursor: pointer;
-}
-.gantt_tree_icon.gantt_blank {
- width: 18px;
-}
-.gantt_tree_icon.gantt_folder_open {
- background-image: url(data:image/gif;base64,R0lGODlhEgASAJECAJeXl7Gvrf///wAAACH/C1hNUCBEYXRhWE1QPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS4wLWMwNjAgNjEuMTM0Nzc3LCAyMDEwLzAyLzEyLTE3OjMyOjAwICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IFdpbmRvd3MiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NTdDRDM3QzVDMDZEMTFFMUJGMzhFMDhCN0RGRjBGQ0YiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NTdDRDM3QzZDMDZEMTFFMUJGMzhFMDhCN0RGRjBGQ0YiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo1N0NEMzdDM0MwNkQxMUUxQkYzOEUwOEI3REZGMEZDRiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo1N0NEMzdDNEMwNkQxMUUxQkYzOEUwOEI3REZGMEZDRiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PgH//v38+/r5+Pf29fTz8vHw7+7t7Ovq6ejn5uXk4+Lh4N/e3dzb2tnY19bV1NPS0dDPzs3My8rJyMfGxcTDwsHAv769vLu6ubi3trW0s7KxsK+urayrqqmop6alpKOioaCfnp2cm5qZmJeWlZSTkpGQj46NjIuKiYiHhoWEg4KBgH9+fXx7enl4d3Z1dHNycXBvbm1sa2ppaGdmZWRjYmFgX15dXFtaWVhXVlVUU1JRUE9OTUxLSklIR0ZFRENCQUA/Pj08Ozo5ODc2NTQzMjEwLy4tLCsqKSgnJiUkIyIhIB8eHRwbGhkYFxYVFBMSERAPDg0MCwoJCAcGBQQDAgEAACH5BAEAAAIALAAAAAASABIAAAIzlI+pywcPm3mhWgkCsjBOvVkimElG9ZlCBlXd+2XjjLKg5GqoeZXqvsOQXK/ijUZTKVUFADs=);
-}
-.gantt_tree_icon.gantt_folder_closed {
- background-image: url(data:image/gif;base64,R0lGODlhEgASAJECAJeXl7Gvrf///wAAACH/C1hNUCBEYXRhWE1QPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS4wLWMwNjAgNjEuMTM0Nzc3LCAyMDEwLzAyLzEyLTE3OjMyOjAwICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IFdpbmRvd3MiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NTAyMTU1RTNDMDZEMTFFMUJGNzZCRThBRkFCRjg4MTIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NTAyMTU1RTRDMDZEMTFFMUJGNzZCRThBRkFCRjg4MTIiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo1MDIxNTVFMUMwNkQxMUUxQkY3NkJFOEFGQUJGODgxMiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo1MDIxNTVFMkMwNkQxMUUxQkY3NkJFOEFGQUJGODgxMiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PgH//v38+/r5+Pf29fTz8vHw7+7t7Ovq6ejn5uXk4+Lh4N/e3dzb2tnY19bV1NPS0dDPzs3My8rJyMfGxcTDwsHAv769vLu6ubi3trW0s7KxsK+urayrqqmop6alpKOioaCfnp2cm5qZmJeWlZSTkpGQj46NjIuKiYiHhoWEg4KBgH9+fXx7enl4d3Z1dHNycXBvbm1sa2ppaGdmZWRjYmFgX15dXFtaWVhXVlVUU1JRUE9OTUxLSklIR0ZFRENCQUA/Pj08Ozo5ODc2NTQzMjEwLy4tLCsqKSgnJiUkIyIhIB8eHRwbGhkYFxYVFBMSERAPDg0MCwoJCAcGBQQDAgEAACH5BAEAAAIALAAAAAASABIAAAIwlI+pywcPm3mhWgkCsjBOvVkimElG9ZlCuYIY6TYs+6bmHDO4igfdD3GNhheV0VQAADs=);
-}
-.gantt_tree_icon.gantt_file {
- background-image: url(data:image/gif;base64,R0lGODlhEgASAJECAJeXl7Gvrf///wAAACH/C1hNUCBEYXRhWE1QPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS4wLWMwNjAgNjEuMTM0Nzc3LCAyMDEwLzAyLzEyLTE3OjMyOjAwICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IFdpbmRvd3MiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NzkxQzI4RjZDMDZEMTFFMTgwRjhBQURDQzI3NDU3QUEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NzkxQzI4RjdDMDZEMTFFMTgwRjhBQURDQzI3NDU3QUEiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo3OTFDMjhGNEMwNkQxMUUxODBGOEFBRENDMjc0NTdBQSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo3OTFDMjhGNUMwNkQxMUUxODBGOEFBRENDMjc0NTdBQSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PgH//v38+/r5+Pf29fTz8vHw7+7t7Ovq6ejn5uXk4+Lh4N/e3dzb2tnY19bV1NPS0dDPzs3My8rJyMfGxcTDwsHAv769vLu6ubi3trW0s7KxsK+urayrqqmop6alpKOioaCfnp2cm5qZmJeWlZSTkpGQj46NjIuKiYiHhoWEg4KBgH9+fXx7enl4d3Z1dHNycXBvbm1sa2ppaGdmZWRjYmFgX15dXFtaWVhXVlVUU1JRUE9OTUxLSklIR0ZFRENCQUA/Pj08Ozo5ODc2NTQzMjEwLy4tLCsqKSgnJiUkIyIhIB8eHRwbGhkYFxYVFBMSERAPDg0MCwoJCAcGBQQDAgEAACH5BAEAAAIALAAAAAASABIAAAIylI+pwN16QJiUQiFThRlJm3RRFYSlR5qXMKmXaMDuuMoyOi8n/e6xn8NMHETgh5RaKQsAOw==);
-}
-.gantt_grid_head_cell .gantt_sort {
- position: absolute;
- right: 5px;
- top: 8px;
- width: 7px;
- height: 13px;
- background-repeat: no-repeat;
- background-position: center center;
-}
-.gantt_grid_head_cell .gantt_sort.gantt_asc {
- background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAANCAYAAABlyXS1AAAARUlEQVR4nGNgQAKGxib/GbABkIS7b8B/DAUwCRiGK0CXwFBAb1DfP/U/LszwHwi2X7qFgUEArBtdAVwCBmAKMCSQFSDzAWXXaOHsXeqkAAAAAElFTkSuQmCC);
-}
-.gantt_grid_head_cell .gantt_sort.gantt_desc {
- background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAANCAYAAABlyXS1AAAARUlEQVR42mNgQAL1/VP/M2ADIIntF2/9x1AAlrh0C47hCmA60DFYwX88gIFGwNDY5D8uDFbg7hvwHx2jmIBTAlkB0e4BAEjlaNtBWJPnAAAAAElFTkSuQmCC);
-}
-.gantt_inserted,
-.gantt_updated {
- font-weight: bold;
-}
-.gantt_deleted {
- text-decoration: line-through;
-}
-.gantt_invalid {
- background-color: FFE0E0;
-}
-.gantt_error {
- color: red;
-}
-.gantt_status {
- right: 1px;
- padding: 5px 10px;
- background: rgba(155, 155, 155, 0.1);
- position: absolute;
- top: 1px;
- -webkit-transition: opacity 0.2s;
- transition: opacity 0.2s;
- opacity: 0;
-}
-.gantt_status.gantt_status_visible {
- opacity: 1;
-}
-#gantt_ajax_dots span {
- -webkit-transition: opacity 0.2s;
- transition: opacity 0.2s;
- background-repeat: no-repeat;
- opacity: 0;
-}
-#gantt_ajax_dots span.gantt_dot_visible {
- opacity: 1;
-}
-.dhtmlx_message_area {
- position: fixed;
- right: 5px;
- width: 250px;
- z-index: 1000;
-}
-.dhtmlx-info {
- min-width: 120px;
- padding: 4px 4px 4px 20px;
- font-family: "Arial";
- z-index: 10000;
- margin: 5px;
- margin-bottom: 10px;
- -webkit-transition: all .5s ease;
- -moz-transition: all .5s ease;
- -o-transition: all .5s ease;
- transition: all .5s ease;
-}
-.dhtmlx-info.hidden {
- height: 0px;
- padding: 0px;
- border-width: 0px;
- margin: 0px;
- overflow: hidden;
-}
-.dhtmlx_modal_box {
- overflow: hidden;
- display: inline-block;
- min-width: 250px;
- width: 250px;
- text-align: center;
- position: fixed;
- z-index: 20000;
- box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.07);
- font-family: "Arial";
- border-radius: 6px;
- border: 1px solid #cecece;
- background: #ffffff;
-}
-.dhtmlx_popup_title {
- border-top-left-radius: 6px;
- border-top-right-radius: 6px;
- border-width: 0px;
-}
-.dhtmlx_button,
-.dhtmlx_popup_button {
- border: 1px solid #cecece;
- height: 30px;
- line-height: 30px;
- display: inline-block;
- margin: 0 5px;
- border-radius: 4px;
- background: #fff;
-}
-.dhtmlx-info,
-.dhtmlx_popup_button,
-.dhtmlx_button {
- user-select: none;
- -webkit-user-select: none;
- -moz-user-select: -moz-none;
- cursor: pointer;
-}
-.dhtmlx_popup_text {
- overflow: hidden;
-}
-.dhtmlx_popup_controls {
- border-radius: 6px;
- padding: 10px;
-}
-.dhtmlx_popup_button {
- min-width: 100px;
-}
-div.dhx_modal_cover {
- background-color: #000;
- cursor: default;
- filter: progid:DXImageTransform.Microsoft.Alpha(opacity=20);
- opacity: 0.2;
- position: fixed;
- z-index: 19999;
- left: 0px;
- top: 0px;
- width: 100%;
- height: 100%;
- border: none;
- zoom: 1;
-}
-.dhtmlx-info img,
-.dhtmlx_modal_box img {
- float: left;
- margin-right: 20px;
-}
-.dhtmlx-alert-error,
-.dhtmlx-confirm-error {
- border: 1px solid #ff0000;
-}
-/*Skin section*/
-.dhtmlx_button input,
-.dhtmlx_popup_button div {
- border-radius: 4px;
- font-size: 14px;
- -moz-box-sizing: content-box;
- box-sizing: content-box;
- padding: 0px;
- margin: 0px;
- vertical-align: top;
-}
-.dhtmlx_popup_title {
- color: #fff;
- text-shadow: 1px 1px #000;
- height: 40px;
- line-height: 40px;
- font-size: 20px;
-}
-.dhtmlx_popup_text {
- margin: 15px 15px 5px 15px;
- font-size: 14px;
- color: #000;
- min-height: 30px;
- border-radius: 6px;
-}
-.dhtmlx-info,
-.dhtmlx-error {
- font-size: 14px;
- color: #000;
- box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.07);
- padding: 0px;
- background-color: #FFF;
- border-radius: 3px;
- border: 1px solid #ffffff;
-}
-.dhtmlx-info div {
- padding: 5px 10px 5px 10px;
- background-color: #fff;
- border-radius: 3px;
- border: 1px solid #cecece;
-}
-.dhtmlx-error {
- background-color: #d81b1b;
- border: 1px solid #ff3c3c;
- box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.07);
-}
-.dhtmlx-error div {
- background-color: #d81b1b;
- border: 1px solid #940000;
- color: #FFF;
-}
-.gantt_grid div,
-.gantt_data_area div {
- -ms-touch-action: none;
- -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
-}
-.gantt_data_area {
- position: relative;
- overflow-x: hidden;
- overflow-y: hidden;
- -moz-user-select: -moz-none;
- -webkit-user-select: none;
- -user-select: none;
-}
-.gantt_links_area {
- position: absolute;
- left: 0px;
- top: 0px;
-}
-.gantt_task_content,
-.gantt_task_progress,
-.gantt_side_content {
- line-height: inherit;
- overflow: hidden;
- height: 100%;
-}
-.gantt_task_content {
- font-size: 12px;
- color: #ffffff;
- width: 100%;
- top: 0;
- position: absolute;
- white-space: nowrap;
- text-align: center;
-}
-.gantt_task_progress {
- text-align: center;
- z-index: 0;
- background: #299cb4;
-}
-.gantt_task_line {
- -webkit-border-radius: 2px;
- -moz-border-radius: 2px;
- border-radius: 2px;
- position: absolute;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
- background-color: #3db9d3;
- border: 1px solid #2898b0;
- -webkit-user-select: none;
- -moz-user-select: none;
- -moz-user-select: -moz-none;
-}
-.gantt_task_line.gantt_drag_move div {
- cursor: move;
-}
-.gantt_touch_move,
-.gantt_touch_progress .gantt_touch_resize {
- -moz-transform: scale(1.02, 1.1);
- -o-transform: scale(1.02, 1.1);
- -webkit-transform: scale(1.02, 1.1);
- transform: scale(1.02, 1.1);
- -moz-transform-origin: 50%;
- -o-transform-origin: 50%;
- -webkit-transform-origin: 50%;
- transform-origin: 50%;
-}
-.gantt_touch_progress .gantt_task_progress_drag,
-.gantt_touch_resize .gantt_task_drag {
- -moz-transform: scaleY(1.3);
- -o-transform: scaleY(1.3);
- -webkit-transform: scaleY(1.3);
- transform: scaleY(1.3);
- -moz-transform-origin: 50%;
- -o-transform-origin: 50%;
- -webkit-transform-origin: 50%;
- transform-origin: 50%;
-}
-.gantt_side_content {
- position: absolute;
- white-space: nowrap;
- color: #6e6e6e;
- bottom: 7px;
- font-size: 11px;
-}
-.gantt_side_content.gantt_left {
- right: 100%;
- padding-right: 15px;
-}
-.gantt_side_content.gantt_right {
- left: 100%;
- padding-left: 15px;
-}
-.gantt_side_content.gantt_link_crossing {
- bottom: 8.75px;
-}
-.gantt_task_link .gantt_line_wrapper,
-.gantt_link_arrow {
- position: absolute;
- cursor: pointer;
-}
-.gantt_line_wrapper div {
- background-color: #ffa011;
-}
-.gantt_task_link:hover .gantt_line_wrapper div {
- box-shadow: 0 0 5px 0px #ffa011;
-}
-.gantt_task_link div.gantt_link_arrow {
- background-color: transparent;
- border-style: solid;
- width: 0px;
- height: 0px;
-}
-.gantt_link_control {
- position: absolute;
- width: 13px;
- top: 0px;
-}
-.gantt_link_control div {
- display: none;
- cursor: pointer;
- box-sizing: border-box;
- position: relative;
- top: 50%;
- margin-top: -7.5px;
- vertical-align: middle;
- border: 1px solid #929292;
- -webkit-border-radius: 6.5px;
- -moz-border-radius: 6.5px;
- border-radius: 6.5px;
- height: 13px;
- width: 13px;
- background-color: #f0f0f0;
-}
-.gantt_link_control div:hover {
- background-color: #ffffff;
-}
-.gantt_link_control.task_left {
- left: -13px;
-}
-.gantt_link_control.task_right {
- right: -13px;
-}
-.gantt_task_line.gantt_selected .gantt_link_control div,
-.gantt_task_line:hover .gantt_link_control div {
- display: block;
-}
-.gantt_link_target .gantt_link_control div {
- display: block;
-}
-.gantt_link_source,
-.gantt_link_target {
- box-shadow: 0px 0px 3px #3db9d3;
-}
-.gantt_link_target.link_start_allow,
-.gantt_link_target.link_finish_allow {
- box-shadow: 0px 0px 3px #ffbf5e;
-}
-.gantt_link_target.link_start_deny,
-.gantt_link_target.link_finish_deny {
- box-shadow: 0px 0px 3px #e87e7b;
-}
-.link_start_allow .gantt_link_control.task_left div,
-.link_finish_allow .gantt_link_control.task_right div {
- background-color: #ffbf5e;
- border-color: #ffa011;
-}
-.link_start_deny .gantt_link_control.task_left div,
-.link_finish_deny .gantt_link_control.task_right div {
- background-color: #e87e7b;
- border-color: #dd3e3a;
-}
-.gantt_link_arrow_right {
- border-width: 4px 0 4px 6px;
- border-top-color: transparent !important;
- border-right-color: transparent !important;
- border-bottom-color: transparent !important;
- border-left-color: #ffa011;
- margin-top: -1px;
-}
-.gantt_link_arrow_left {
- border-width: 4px 6px 4px 0;
- margin-top: -1px;
- border-top-color: transparent !important;
- border-right-color: #ffa011;
- border-bottom-color: transparent !important;
- border-left-color: transparent !important;
-}
-.gantt_link_arrow_top {
- border-width: 0 4px 6px 4px;
- border-color: transparent transparent #ffa011 transparent;
- border-top-color: transparent !important;
- border-right-color: transparent !important;
- border-bottom-color: #ffa011;
- border-left-color: transparent !important;
-}
-.gantt_link_arrow_down {
- border-width: 4px 6px 0 4px;
- border-top-color: #ffa011;
- border-right-color: transparent !important;
- border-bottom-color: transparent !important;
- border-left-color: transparent !important;
-}
-.gantt_task_drag,
-.gantt_task_progress_drag {
- cursor: w-resize;
- height: 100%;
- display: none;
- position: absolute;
-}
-.gantt_task_line.gantt_selected .gantt_task_progress_drag,
-.gantt_task_line:hover .gantt_task_progress_drag,
-.gantt_task_line.gantt_selected .gantt_task_drag,
-.gantt_task_line:hover .gantt_task_drag {
- display: block;
-}
-.gantt_task_drag {
- width: 6px;
- background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAACCAYAAAB7Xa1eAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3QYDDjkw3UJvAwAAABRJREFUCNdj/P//PwM2wASl/6PTAKrrBf4+lD8LAAAAAElFTkSuQmCC);
- z-index: 1;
- top: 0px;
-}
-.gantt_task_drag.task_left {
- left: 0px;
-}
-.gantt_task_drag.task_right {
- right: 0px;
-}
-.gantt_task_progress_drag {
- height: 8px;
- width: 8px;
- bottom: -4px;
- margin-left: -4px;
- background-position: bottom;
- background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAALCAYAAAB24g05AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MkY3Rjk0RUVDMkYzMTFFMkI1OThEQTA3ODU0OTkzMEEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MkY3Rjk0RUZDMkYzMTFFMkI1OThEQTA3ODU0OTkzMEEiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoyRjdGOTRFQ0MyRjMxMUUyQjU5OERBMDc4NTQ5OTMwQSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDoyRjdGOTRFREMyRjMxMUUyQjU5OERBMDc4NTQ5OTMwQSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PobPBzIAAADkSURBVHjaYpk2bRoDDsAExL1QdjEQ/8OmiAWHZk4gXqymqhQM4ty6fU8OSMUA8XdiDBAB4k0a6iqWRga6EKcwMQXduHlnL5DpB8Rv0J2JDFSA+JiOtgZcMwiA2CAxkBxUDVYDLEAKgIpV9XQ0MZwFEgPJAZnHoWpRDAgC4n2W5saiQKfjClQGkBxQDciL+6B6wAbkA/EqJwdrTkUFOQZCAKQGpBbIXA3SCzJggo+XK7OEuBgDsQCkFqgHrBfsBT5eHgZSAUwP2IBfv36TbABMDygdtK1Zv6UESLORaAbIhG6AAAMAKN8wE24DXWcAAAAASUVORK5CYII=);
- background-repeat: no-repeat;
- z-index: 2;
-}
-.gantt_link_tooltip {
- box-shadow: 3px 3px 3px #888888;
- background-color: #ffffff;
- border-left: 1px dotted #cecece;
- border-top: 1px dotted #cecece;
- font-family: Tahoma;
- font-size: 8pt;
- color: #444444;
- padding: 6px;
- line-height: 20px;
-}
-.gantt_link_direction {
- height: 0px;
- border: 0px none #ffa011;
- border-bottom-style: dashed;
- border-bottom-width: 2px;
- transform-origin: 0% 0%;
- -ms-transform-origin: 0% 0%;
- -webkit-transform-origin: 0% 0%;
- z-index: 2;
- margin-left: 1px;
- position: absolute;
-}
-.gantt_grid_data .gantt_row.gantt_selected,
-.gantt_grid_data .gantt_row.odd.gantt_selected {
- background-color: #fff3a1;
-}
-.gantt_task_row.gantt_selected {
- background-color: #fff3a1;
-}
-.gantt_task_row.gantt_selected .gantt_task_cell {
- border-right-color: #ffec6e;
-}
-.gantt_task_line.gantt_selected {
- box-shadow: 0 0 5px #299cb4;
-}
-.gantt_task_line.gantt_project.gantt_selected {
- box-shadow: 0 0 5px #46ad51;
-}
-.gantt_task_line.gantt_milestone {
- visibility: hidden;
- background-color: #d33daf;
- border: 0px solid #61164f;
- box-sizing: content-box;
- -moz-box-sizing: content-box;
-}
-.gantt_task_line.gantt_milestone div {
- visibility: visible;
-}
-.gantt_task_line.gantt_milestone .gantt_task_content {
- background: inherit;
- border: inherit;
- border-width: 1px;
- border-radius: inherit;
- box-sizing: border-box;
- -moz-box-sizing: border-box;
- -webkit-transform: rotate(45deg);
- -moz-transform: rotate(45deg);
- -ms-transform: rotate(45deg);
- -o-transform: rotate(45deg);
- transform: rotate(45deg);
-}
-.gantt_task_line.gantt_task_inline_color {
- border-color: #999999;
-}
-.gantt_task_line.gantt_task_inline_color .gantt_task_progress {
- background-color: #363636;
- opacity: 0.2;
-}
-.gantt_task_line.gantt_task_inline_color.gantt_selected {
- box-shadow: 0 0 5px #999999;
-}
-.gantt_task_line.gantt_task_inline_color.gantt_project.gantt_selected {
- box-shadow: 0 0 5px #999999;
-}
-.gantt_task_link.gantt_link_inline_color:hover .gantt_line_wrapper div {
- box-shadow: 0 0 5px 0px #999999;
-}
-.gantt_critical_task {
- background-color: #e63030;
- border-color: #9d3a3a;
-}
-.gantt_critical_task .gantt_task_progress {
- background-color: rgba(0, 0, 0, 0.4);
-}
-.gantt_critical_link .gantt_line_wrapper > div {
- background-color: #e63030;
-}
-.gantt_critical_link .gantt_link_arrow {
- border-color: #e63030;
-}
-.gantt_unselectable,
-.gantt_unselectable div {
- -webkit-user-select: none;
- -moz-user-select: none;
- -moz-user-select: -moz-none;
-}
-.gantt_cal_light {
- -webkit-tap-highlight-color: transparent;
- background: #fff;
- border-radius: 6px;
- font-family: "Arial";
- font-size: 13px;
- border: 1px solid #cecece;
- color: #6b6b6b;
- font-size: 12px;
- position: absolute;
- z-index: 10001;
- width: 550px;
- height: 250px;
- box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.07);
-}
-.gantt_cal_light_wide {
- width: 650px;
-}
-.gantt_cal_light select {
- font-family: "Arial";
- border: 1px solid #cecece;
- font-size: 13px;
- padding: 2px;
- margin: 0px;
-}
-.gantt_cal_ltitle {
- padding: 7px 10px;
- overflow: hidden;
- white-space: nowrap;
- -webkit-border-top-left-radius: 6px;
- -webkit-border-bottom-left-radius: 0;
- -webkit-border-top-right-radius: 6px;
- -webkit-border-bottom-right-radius: 0;
- -moz-border-radius-topleft: 6px;
- -moz-border-radius-bottomleft: 0;
- -moz-border-radius-topright: 6px;
- -moz-border-radius-bottomright: 0;
- border-top-left-radius: 6px;
- border-bottom-left-radius: 0;
- border-top-right-radius: 6px;
- border-bottom-right-radius: 0;
-}
-.gantt_cal_ltitle span {
- white-space: nowrap;
-}
-.gantt_cal_lsection {
- color: #727272;
- font-weight: bold;
- padding: 12px 0px 5px 10px;
-}
-.gantt_cal_lsection .gantt_fullday {
- float: right;
- margin-right: 5px;
- font-size: 12px;
- font-weight: normal;
- line-height: 20px;
- vertical-align: top;
- cursor: pointer;
-}
-.gantt_cal_lsection {
- font-size: 13px;
-}
-.gantt_cal_ltext {
- padding: 2px 10px;
- overflow: hidden;
-}
-.gantt_cal_ltext textarea {
- overflow: auto;
- font-family: "Arial";
- font-size: 13px;
- -moz-box-sizing: border-box;
- -webkit-box-sizing: border-box;
- box-sizing: border-box;
- border: 1px solid #cecece;
- height: 100%;
- width: 100%;
- outline: none !important;
- resize: none;
-}
-.gantt_time {
- font-weight: bold;
-}
-.gantt_cal_light .gantt_title {
- padding-left: 10px;
-}
-.gantt_cal_larea {
- border: 1px solid #cecece;
- border-left: none;
- border-right: none;
- background-color: #fff;
- overflow: hidden;
- height: 1px;
-}
-.gantt_btn_set {
- margin: 10px 7px 5px 10px;
- padding: 5px 15px 5px 10px;
- float: left;
- -webkit-border-radius: 4px;
- -moz-border-radius: 4px;
- border-radius: 4px;
- border-width: 0;
- border-color: #cecece;
- border-style: solid;
- height: 32px;
- font-weight: bold;
- background: #fff;
- -moz-box-sizing: border-box;
- -webkit-box-sizing: border-box;
- box-sizing: border-box;
- cursor: pointer;
-}
-.gantt_btn_set div {
- float: left;
- font-size: 13px;
- height: 22px;
- line-height: 22px;
- background-repeat: no-repeat;
- vertical-align: middle;
-}
-.gantt_save_btn {
- 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=);
- margin-top: 2px;
- width: 21px;
-}
-.gantt_cancel_btn {
- margin-top: 2px;
- background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MDkzMDA3MzlDMzA0MTFFMjg2QTVFMzFEQzgwRkJERDYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MDkzMDA3M0FDMzA0MTFFMjg2QTVFMzFEQzgwRkJERDYiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDowOTMwMDczN0MzMDQxMUUyODZBNUUzMURDODBGQkRENiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDowOTMwMDczOEMzMDQxMUUyODZBNUUzMURDODBGQkRENiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PmYuYOUAAAEdSURBVHjaYvz//z8DJYAFXWDlypU8QKoIiD2A2AwqfAqIdwBxX3h4+Bdk9YzILgBqtgdS84FYEYeF94E4EWjIQZgAE5LmQCB1AKoZZKMPEAtAMYh9GSp3AKjWD8UFQAEhIPshEIOc3wHENUBb/qJ57SyQMoJyPwKxElDNO1gYFEE17wMKVmIJlzNQzeegrjaA6qmBecEbSvfh0GwMxGeBhoPoemQ9MAO0kEIbl2YTqPAFKK2IbMB3AjabYIkRZmQD7kNpMyI0G0PpO8gGbIUFJj7NQDk2INWIrIcJKfBAKcwJqvkcDs0TgFgXGo19KCkRmpDWQdWDEk0NUoCBoq0FqhkE/IEWbKJKUmZEz43QzFSKIzN1481M5ACAAAMAlfl/lCwRpagAAAAASUVORK5CYII=);
- width: 20px;
-}
-.gantt_delete_btn {
- background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MjFENzI3NUNDMzA0MTFFMjhBNjJGQTc3MUIyQzYzNEYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MjFENzI3NURDMzA0MTFFMjhBNjJGQTc3MUIyQzYzNEYiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoyMUQ3Mjc1QUMzMDQxMUUyOEE2MkZBNzcxQjJDNjM0RiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDoyMUQ3Mjc1QkMzMDQxMUUyOEE2MkZBNzcxQjJDNjM0RiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PmUD0gAAAABvSURBVHjaYvz//z8DIyMjAxYQicReji4J0ofKQNP8HwmgGQbXB8IsWGwDSSwDuioKjY9uBthVjFAXYHUGAQA2kYmBUoAUBpGk0LAwgBvwH+YX4mkwptgLowYMRgOITUyYKRFIN/wnDjQgJySAAAMApryKzL8wjfUAAAAASUVORK5CYII=);
- margin-top: 2px;
- width: 20px;
-}
-.gantt_cal_cover {
- width: 100%;
- height: 100%;
- position: absolute;
- z-index: 10000;
- top: 0px;
- left: 0px;
- background-color: black;
- opacity: 0.1;
- filter: progid:DXImageTransform.Microsoft.Alpha(opacity=10);
-}
-.gantt_custom_button {
- padding: 0px 3px 0px 3px;
- font-family: "Arial";
- font-size: 13px;
- font-weight: normal;
- margin-right: 10px;
- margin-top: -5px;
- cursor: pointer;
- float: right;
- height: 21px;
- width: 90px;
- border: 1px solid #CECECE;
- text-align: center;
- -webkit-border-radius: 4px;
- -moz-border-radius: 4px;
- -ms-border-radius: 4px;
- -o-border-radius: 4px;
- border-radius: 4px;
-}
-.gantt_custom_button div {
- cursor: pointer;
- float: none;
- height: 21px;
- line-height: 21px;
- vertical-align: middle;
-}
-.gantt_custom_button div:first-child {
- display: none;
-}
-.gantt_cal_light_wide {
- width: 580px;
- padding: 2px 4px;
-}
-.gantt_cal_light_wide .gantt_cal_larea {
- -moz-box-sizing: border-box;
- -webkit-box-sizing: border-box;
- box-sizing: border-box;
- border: 1px solid #cecece;
-}
-.gantt_cal_light_wide .gantt_cal_lsection {
- border: 0px;
- float: left;
- text-align: right;
- width: 80px;
- height: 20px;
- padding: 5px 10px 0px 0px;
-}
-.gantt_cal_light_wide .gantt_wrap_section {
- position: relative;
- padding: 10px 0;
- overflow: hidden;
- border-bottom: 1px solid #ebebeb;
-}
-.gantt_cal_light_wide .gantt_section_time {
- overflow: hidden;
- padding-top: 2px !important;
- padding-right: 0px;
- height: 20px !important;
-}
-.gantt_cal_light_wide .gantt_cal_ltext {
- padding-right: 0px;
-}
-.gantt_cal_light_wide .gantt_cal_larea {
- padding: 0 10px;
- width: 100%;
-}
-.gantt_cal_light_wide .gantt_section_time {
- background: transparent;
-}
-.gantt_cal_light_wide .gantt_cal_checkbox label {
- padding-left: 0px;
-}
-.gantt_cal_light_wide .gantt_cal_lsection .gantt_fullday {
- float: none;
- margin-right: 0px;
- font-weight: bold;
- cursor: pointer;
-}
-.gantt_cal_light_wide .gantt_custom_button {
- position: absolute;
- top: 0;
- right: 0;
- margin-top: 2px;
-}
-.gantt_cal_light_wide .gantt_repeat_right {
- margin-right: 55px;
-}
-.gantt_cal_light_wide.gantt_cal_light_full {
- width: 738px;
-}
-.gantt_cal_wide_checkbox input {
- margin-top: 8px;
- margin-left: 14px;
-}
-.gantt_cal_light input {
- font-size: 13px;
-}
-.gantt_section_time {
- background-color: white;
- white-space: nowrap;
- padding: 2px 10px 5px;
- padding-top: 2px !important;
-}
-.gantt_section_time .gantt_time_selects {
- float: left;
- height: 25px;
-}
-.gantt_section_time .gantt_time_selects select {
- height: 23px;
- padding: 2px;
- border: 1px solid #cecece;
-}
-.gantt_duration {
- width: 100px;
- height: 23px;
- float: left;
- white-space: nowrap;
- margin-left: 20px;
- line-height: 23px;
-}
-.gantt_duration .gantt_duration_value,
-.gantt_duration .gantt_duration_dec,
-.gantt_duration .gantt_duration_inc {
- -moz-box-sizing: border-box;
- -webkit-box-sizing: border-box;
- box-sizing: border-box;
- text-align: center;
- vertical-align: top;
- height: 100%;
- border: 1px solid #cecece;
-}
-.gantt_duration .gantt_duration_value {
- width: 40px;
- padding: 3px 4px;
- border-left-width: 0;
- border-right-width: 0;
-}
-.gantt_duration .gantt_duration_dec,
-.gantt_duration .gantt_duration_inc {
- width: 20px;
- padding: 1px;
- padding-bottom: 3px;
- background: #fff;
-}
-.gantt_duration .gantt_duration_dec {
- -moz-border-top-left-radius: 4px;
- -moz-border-bottom-left-radius: 4px;
- -webkit-border-top-left-radius: 4px;
- -webkit-border-bottom-left-radius: 4px;
- border-top-left-radius: 4px;
- border-bottom-left-radius: 4px;
-}
-.gantt_duration .gantt_duration_inc {
- margin-right: 4px;
- -moz-border-top-right-radius: 4px;
- -moz-border-bottom-right-radius: 4px;
- -webkit-border-top-right-radius: 4px;
- -webkit-border-bottom-right-radius: 4px;
- border-top-right-radius: 4px;
- border-bottom-right-radius: 4px;
-}
-/* Quick info */
-.gantt_cal_quick_info {
- border: 1px solid #cecece;
- border-radius: 6px;
- position: absolute;
- z-index: 300;
- box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.07);
- background-color: #ffffff;
- width: 300px;
- transition: left 0.5s ease, right 0.5s;
- -moz-transition: left 0.5s ease, right 0.5s;
- -webkit-transition: left 0.5s ease, right 0.5s;
- -o-transition: left 0.5s ease, right 0.5s;
-}
-.gantt_no_animate {
- transition: none;
- -moz-transition: none;
- -webkit-transition: none;
- -o-transition: none;
-}
-.gantt_cal_quick_info.gantt_qi_left .gantt_qi_big_icon {
- float: right;
-}
-.gantt_cal_qi_title {
- -webkit-border-top-left-radius: 6px;
- -webkit-border-bottom-left-radius: 0;
- -webkit-border-top-right-radius: 6px;
- -webkit-border-bottom-right-radius: 0;
- -moz-border-radius-topleft: 6px;
- -moz-border-radius-bottomleft: 0;
- -moz-border-radius-topright: 6px;
- -moz-border-radius-bottomright: 0;
- border-top-left-radius: 6px;
- border-bottom-left-radius: 0;
- border-top-right-radius: 6px;
- border-bottom-right-radius: 0;
- padding: 5px 0px 8px 12px;
- color: #454545;
- background-color: #fff;
- border-bottom: 1px solid #cecece;
-}
-.gantt_cal_qi_tdate {
- font-size: 14px;
- font-weight: bold;
-}
-.gantt_cal_qi_tcontent {
- font-size: 13px;
-}
-.gantt_cal_qi_content {
- padding: 16px 8px;
- font-size: 13px;
- color: #454545;
- overflow: hidden;
-}
-.gantt_cal_qi_controls {
- -webkit-border-top-left-radius: 0;
- -webkit-border-bottom-left-radius: 6px;
- -webkit-border-top-right-radius: 0;
- -webkit-border-bottom-right-radius: 6px;
- -moz-border-radius-topleft: 0;
- -moz-border-radius-bottomleft: 6px;
- -moz-border-radius-topright: 0;
- -moz-border-radius-bottomright: 6px;
- border-top-left-radius: 0;
- border-bottom-left-radius: 6px;
- border-top-right-radius: 0;
- border-bottom-right-radius: 6px;
- padding-left: 7px;
-}
-.gantt_cal_qi_controls .gantt_menu_icon {
- margin-top: 6px;
- background-repeat: no-repeat;
-}
-.gantt_cal_qi_controls .gantt_menu_icon.icon_edit {
- width: 20px;
- background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAB3RJTUUH3QYFCjI5ZQj5bAAAAFNJREFUOMvt0zEOACAIA0DkwTymH8bJTRTKZGJXyaWEKPKTCQAH4Ls37cItcDUzsxHNDLZNhCq7Gt1wh9ErV7EjyGAhyGLphlnsClWuS32rn0czAV+vNGrM/LBtAAAAAElFTkSuQmCC);
-}
-.gantt_cal_qi_controls .gantt_menu_icon.icon_delete {
- width: 20px;
- background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MjFENzI3NUNDMzA0MTFFMjhBNjJGQTc3MUIyQzYzNEYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MjFENzI3NURDMzA0MTFFMjhBNjJGQTc3MUIyQzYzNEYiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoyMUQ3Mjc1QUMzMDQxMUUyOEE2MkZBNzcxQjJDNjM0RiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDoyMUQ3Mjc1QkMzMDQxMUUyOEE2MkZBNzcxQjJDNjM0RiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PmUD0gAAAABvSURBVHjaYvz//z8DIyMjAxYQicReji4J0ofKQNP8HwmgGQbXB8IsWGwDSSwDuioKjY9uBthVjFAXYHUGAQA2kYmBUoAUBpGk0LAwgBvwH+YX4mkwptgLowYMRgOITUyYKRFIN/wnDjQgJySAAAMApryKzL8wjfUAAAAASUVORK5CYII=);
-}
-.gantt_qi_big_icon {
- font-size: 13px;
- border-radius: 4px;
- font-weight: bold;
- background: #fff;
- margin: 5px 9px 8px 0px;
- min-width: 60px;
- line-height: 32px;
- vertical-align: middle;
- padding: 0px 10px 0px 5px;
- cursor: pointer;
- border: 1px solid #cecece;
-}
-.gantt_cal_qi_controls div {
- float: left;
- height: 32px;
- text-align: center;
- line-height: 32px;
-}
-.gantt_tooltip {
- box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.07);
- background-color: white;
- border-left: 1px solid rgba(0, 0, 0, 0.07);
- border-top: 1px solid rgba(0, 0, 0, 0.07);
- font-family: "Arial";
- font-size: 8pt;
- color: #454545;
- padding: 10px;
- position: absolute;
- z-index: 50;
-}
-.gantt_marker {
- height: 100%;
- width: 2px;
- top: 0;
- position: absolute;
- text-align: center;
- background-color: rgba(255, 0, 0, 0.4);
- -moz-box-sizing: border-box;
- -webkit-box-sizing: border-box;
- box-sizing: border-box;
-}
-.gantt_marker .gantt_marker_content {
- padding: 5px;
- background: inherit;
- color: white;
- position: absolute;
- font-size: 12px;
- line-height: 12px;
- opacity: 0.8;
-}
-.gantt_marker_area {
- position: absolute;
- top: 0;
- left: 0;
-}
-.gantt_noselect {
- -moz-user-select: -moz-none;
- -webkit-user-select: none;
- -user-select: none;
-}
-.gantt_drag_marker {
- position: absolute;
- font-family: "Arial";
- font-size: 13px;
-}
-.gantt_drag_marker .gantt_tree_indent,
-.gantt_drag_marker .gantt_tree_icon.gantt_blank,
-.gantt_drag_marker .gantt_tree_icon.gantt_open,
-.gantt_drag_marker .gantt_tree_icon.gantt_close {
- display: none;
-}
-.gantt_drag_marker,
-.gantt_drag_marker .gantt_row.odd {
- background-color: #ffffff;
-}
-.gantt_drag_marker .gantt_row {
- border-left: 1px solid #d2d2d2;
- border-top: 1px solid #d2d2d2;
-}
-.gantt_drag_marker .gantt_cell {
- border-color: #d2d2d2;
-}
-.gantt_row.gantt_over,
-.gantt_task_row.gantt_over {
- background-color: #0070fe;
-}
-.gantt_row.gantt_transparent .gantt_cell {
- opacity: 0.7;
-}
-.gantt_task_row.gantt_transparent {
- background-color: #f8fdfd;
-}
-.dhtmlx_popup_button.dhtmlx_delete_button {
- background: #3db9d3;
- text-shadow: 0 -1px 0 #248a9f;
- color: #fff;
- font-weight: bold;
- border-width: 0;
-}