/* Sample CSS for jsGanttImproved v1.8.0 */

div.gantt {
    font-family: tahoma, arial, verdana, Sans-serif;
    font-size: 14px;
    color: #656565;
}

.gantt table {
    border-collapse: collapse;
}

.gantt td {
    padding: 0px;
}

/* cell defaults */
.headweekends div {
    font-size: 10px;
    width: 100% !important;
    margin: 0;
}

.gmajorheading,
.gminorheading,
.gminorheadingwkend,
.gtaskcell,
.gtaskcellcurrent,
.gtaskcellwkend {
    height: 32px;
    font-size: 14px;
    border: #efefef 1px solid;
    text-align: center;
    cursor: default;
}

.gtasklist {
    height: 19px;
    min-width: 5px;
    max-width: 5px;
    width: 5px;
    border: #efefef 1px solid;
    border-right: none;
}

.gtasknolist-label {
    padding: 10px 50px;
}

/* all three width values set just to make sure - helps resizing code */

/* Additional values for some cell elements */

.gtaskheading,
.gmajorheading,
.gminorheading {
    background-color: #ffffff;
    font-weight: bold;
    font-size: 13px;
    white-space: nowrap;
}

.gtaskcellwkend,
.gtaskcellcurrent,
.gminorheadingwkend {
    background-color: #f7f7f7;
    font-weight: bold;
    font-size: 13px;
    white-space: nowrap;
}

.gtaskcellcurrent {
    background-color: #e1e0f7;
}

td.gtaskcell {
    text-align: left;
}

td.gspanning {
    border-left: none;
    border-right: none;
}

.gtaskcelldiv {
    position: relative;
}

/* Task list defaults */

.gtaskheading,
.gname,
.gtaskname,
.gres,
.gdur,
.gcomp,
.gstartdate,
.gplanstartdate,
.gplanenddate,
.gcost,
.genddate {
    height: 32px;
    white-space: nowrap;
    border: #efefef 1px solid;
}

.gtaskname:hover {
    cursor: pointer;
}

.gtaskheading div,
.gname div,
.gtaskname div,
.gres div,
.gdur div,
.gcomp div,
.gstartdate div,
.gplanstartdate div,
.gplanenddate div,
.gcost div,
.genddate div {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.gtaskbarcontainer.gplan {
    position: absolute !important;
    top: 0px;
    opacity: 0.3;
    background: white;
    z-index: 10000;
    border: 1px solid black;
}

/* Additional values for some task list elements */

/* needed for IE8 */

.gstartdate div,
.gplanstartdate,
.gplanenddate,
.gstartdate,
.genddate {
    text-align: center;
    min-width: 105px;
    width: 105px;
    max-width: 105px;
    font-size: 12px;
}

.gtaskheading {
    text-align: center;
}

.gtaskname div,
    /* needed for IE8 */

.gtaskname {
    min-width: 170px;
    max-width: 220px;
    width: 220px;
    font-size: 14px;
    border-left: none;
}

.gtaskheading,
.gtaskname {
    text-overflow: ellipsis;
    overflow: hidden;
}

.gtaskname.gtaskeditable div,
.gtaskname.gtaskeditable {
    overflow: unset;
}

.gselector {
    text-align: left;
    white-space: nowrap;
    min-width: 170px;
    max-width: 170px;
    width: 170px;
}

.gformlabel {
    position: relative;
    top: 0px;
    cursor: pointer;
    border: #ffffff 1px solid;
    margin-left: 2px;
    padding: 0 5px;
}

span.gformlabel:hover,
span.gselected {
    background-color: rgba(63, 132, 243, .2);
}

span.gfoldercollapse {
    color: #000000;
    cursor: pointer;
    font-weight: bold;
    font-size: 14px;
    font-family: Courier, "Courier New", monospace;
}

.gtasktableh,
.gtasktable {
    border-right: #efefef 1px solid;
    width: 100%;
}

.gcharttableh,
.gtasktableh,
.gtasktable,
.gcharttable {
    border-collapse: collapse;
}

.gcharttable,
.gcharttableh {
    table-layout: fixed;
}

.gcharttable {
    border: #efefef 1px solid;
}

/* for some reason firefox needs this */

/* Differentiate Group, Milestone and Ordinary task items (applied to row) */

.ggroupitem {
    background-color: #fbfbfb;
    font-weight: bold;
}

.gmileitem,
.glineitem {
    background-color: #ffffff;
}

/* highlight row (applied to row) */

.gitemhighlight td {
    background-image: none;
    background-color: #fffde5;
}

.gitemdifferent td {
    background-image: none;
    background-color: rgba(0, 0, 0, 0.05);
}

/* task bar caption text styles */

.gmilecaption,
.ggroupcaption,
.gcaption {
    font-weight: normal;
    font-size: 11px;
    text-align: left;
    white-space: nowrap;
    top: 1px;
    position: absolute;
    top: 2px;
}

.ggroupcaption,
.gcaption {
    right: -126px;
}

.ggroupcaption,
.gcaption {
    display: none;
}

/* Task complete %age bar shared attributes */

.gtaskcomplete {
    float: left;
    overflow: hidden;
}

/* Task complete %age bar */

.gtaskcomplete {
    height: 5px;
    background-color: #000000;
    margin-top: 4px;
    opacity: 0.4;
    filter: alpha(opacity=40);
}

/* Milestones */

.gmilestone {
    font-size: 16px;
    position: absolute;
    top: -2px;
}

.gmdtop {
    top: 2px;
    overflow: hidden;
    width: 0px;
    height: 0px;
    border-bottom: 5px solid black;
    border-left: 5px solid transparent;
    border-top: 5px solid transparent;
    border-right: 5px solid transparent;
}

.gmdbottom {
    top: 2px;
    overflow: hidden;
    width: 0px;
    height: 0px;
    border-top: 5px solid black;
    border-left: 5px solid transparent;
    border-bottom: 5px solid transparent;
    border-right: 5px solid transparent;
}

/* Task bar shared attributes */

.ggroupblack,
.gtaskblue,
.gtaskred,
.gtaskgreen,
.gtaskyellow,
.gtaskpurple,
.gtaskpink,
.g-custom-task{
    height: 25px;
    filter: alpha(opacity=90);
    opacity: 0.9;
    margin-top: -6px;
}

/* Task bars - ggroupblack is set as the default class on the task if it is undefined */

.ggroupblack {
    height: 7px;
    background: #000000;
    margin-top: 2px;
}

.ggroupblackendpointleft {
    overflow: hidden;
    width: 0px;
    height: 0px;
    top: 2px;
    border-top: 4px solid black;
    border-left: 4px solid transparent;
    border-bottom: 4px solid transparent;
    border-right: 4px solid transparent;
    float: left;
}

.ggroupblackendpointright {
    overflow: hidden;
    width: 0px;
    height: 0px;
    top: 2px;
    border-top: 4px solid black;
    border-left: 4px solid transparent;
    border-bottom: 4px solid transparent;
    border-right: 4px solid transparent;
    float: right;
}

.ggroupblackcomplete {
    float: left;
    overflow: hidden;
    height: 3px;
    filter: alpha(opacity=80);
    opacity: 0.8;
    background-color: #777777;
    margin-top: 2px;
    margin-bottom: 2px;
}

.g-custom-task {
    background: #3f84f3;
    box-shadow: 1px 1px 5px rgba(0, 0, 0, .05);
}

.gtaskblue {
    background: rgb(58, 132, 195);
    /* Old browsers */
    background: linear-gradient(to bottom, rgba(58, 132, 195, 1) 0%, rgba(65, 154, 214, 1) 20%, rgba(75, 184, 240, 1) 40%, rgba(58, 139, 194, 1) 70%, rgba(38, 85, 139, 1) 100%);
    /* W3C */
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#4bb8f0', endColorstr='#3a84c3', GradientType=0);
    /* IE6-9 */
}

.gtaskred {
    background: rgb(196, 58, 58);
    /* Old browsers */
    background: linear-gradient(to bottom, rgba(196, 58, 58, 1) 0%, rgba(211, 65, 65, 1) 20%, rgba(239, 76, 76, 1) 40%, rgba(196, 58, 58, 1) 70%, rgba(135, 37, 37, 1) 100%);
    /* W3C */
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ef4c4c', endColorstr='#c43a3a', GradientType=0);
    /* IE6-9 */
}

.gtaskgreen {
    background: rgb(80, 193, 58);
    /* Old browsers */
    background: linear-gradient(to bottom, rgba(80, 193, 58, 1) 0%, rgba(88, 209, 64, 1) 20%, rgba(102, 237, 75, 1) 40%, rgba(80, 193, 58, 1) 70%, rgba(53, 132, 37, 1) 100%);
    /* W3C */
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#66ED4B', endColorstr='#50c13a', GradientType=0);
    /* IE6-9 */
}

.gtaskyellow {
    background: rgb(247, 228, 56);
    /* Old browsers */
    background: linear-gradient(to bottom, rgba(247, 228, 56, 1) 0%, rgba(239, 239, 55, 1) 20%, rgba(255, 255, 58, 1) 40%, rgba(242, 236, 55, 1) 70%, rgba(241, 218, 54, 1) 100%);
    /* W3C */
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffff3a', endColorstr='#f7e438', GradientType=0);
    /* IE6-9 */
}

.gtaskpurple {
    background: rgb(193, 58, 193);
    /* Old browsers */
    background: linear-gradient(to bottom, rgba(193, 58, 193, 1) 0%, rgba(211, 65, 211, 1) 20%, rgba(239, 76, 239, 1) 40%, rgba(193, 58, 193, 1) 70%, rgba(137, 38, 137, 1) 100%);
    /* W3C */
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ef4cef', endColorstr='#892689', GradientType=0);
    /* IE6-9 */
}

.gtaskpink {
    background: rgb(249, 177, 245);
    /* Old browsers */
    background: linear-gradient(to bottom, rgba(249, 177, 245, 1) 0%, rgba(247, 192, 243, 1) 20%, rgba(247, 202, 244, 1) 40%, rgba(249, 192, 246, 1) 70%, rgba(252, 174, 247, 1) 100%);
    /* W3C */
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f7caf4', endColorstr='#fcaef7', GradientType=0);
    /* IE6-9 */
}

.gtaskbluecomplete,
.gtaskredcomplete,
.gtaskgreencomplete,
.gtaskyellowcomplete,
.gtaskpurplecomplete,
.gtaskpinkcomplete,
.g-custom-taskcomplete {
    float: left;
    overflow: hidden;
    height: 25px;
    background-color: #22c55e;
}

/*  END Task bar styles */

.glinev {
    border-left: 1px solid;
    width: 0px;
}

.glineh {
    border-top: 1px solid;
    height: 0px;
}

.gDepFS,
.gDepSS,
.gDepSF,
.gDepFF {
    border-color: #ff0000;
}

.gDepFSArw,
.gDepSSArw {
    overflow: hidden;
    width: 0px;
    height: 0px;
    border-bottom: 4px solid transparent;
    border-left: 4px solid #ff0000;
    border-top: 4px solid transparent;
    border-right: 4px solid transparent;
}

.gDepFFArw,
.gDepSFArw {
    overflow: hidden;
    width: 0px;
    height: 0px;
    border-bottom: 4px solid transparent;
    border-left: 4px solid transparent;
    border-top: 4px solid transparent;
    border-right: 4px solid #ff0000;
}

.gCurDate {
    border-color: #0000ff;
}

div.gtaskbarcontainer {
    z-index: 1;
    position: absolute;
    top: 0px;
}

.textbar {
    word-break: break-all;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    width: 40%;
    display: inline-block;
}

.JSGanttToolTip {
    position: absolute;
    display: block;
    z-index: 10000;
}

.JSGanttToolTipcont {
    font-family: tahoma, arial, verdana;
    font-size: 12px;
    display: block;
    background: #ffffff;
    color: #656565;
}

.gTaskInfo {
    background: #dbecff;
    width: 400px;
    border: #656565 1px solid;
    border-radius: 10px;
    padding: 4px 6px 4px 6px;
    float: left;
}

.gTtTitle {
    display: block;
    font-size: 14px;
    font-weight: bold;
    color: #404040;
    margin-left: 4px;
    margin-bottom: 1em;
}

.gTaskLabel {
    font-size: 13px;
    font-weight: bold;
    color: #656565;
    margin-left: 4px;
}

.gTaskText {
    position: absolute;
    left: 90px;
    padding-top: 1px;
    font-size: 12px;
    font-weight: normal;
    color: #656565;
}

.gTaskNotes {
    font-size: 13px;
    font-weight: normal;
    color: #323232;
    padding: 0 15px;
    display: block;
}

.gTIn {
    padding-top: 10px;
}

.gantt {
    min-width: 632px;
    /* 2x LC width */
}

.gchartcontainer {
    /* padding-left: 532px; LC width */
    line-height: 1;
    /* Overrides inherited CSS (e.g. from Bootstrap) */
    display: flex;
}

.gcontainercol {
    position: relative;
}

/* Add a max-height value here if wanted */

.glistgrid {
    min-width: 132px;
    /* LC width */
    float: left;
    /* LC width */
    padding-right: 0px;
    padding-left: 0px;
    padding-bottom: 0px;
    padding-top: 0px;
    background-color: #ffffff;
    overflow: hidden;
}

.glistlbl {
    min-width: 132px;
    /* LC width */
    float: left;
    /* LC width */
    padding-right: 0px;
    padding-left: 0px;
    padding-bottom: 0px;
    padding-top: 0px;
    background-color: #ffffff;
    overflow: hidden;
    flex: none;
}

.glistlbl,
.gchartgrid {
    display: flex;
    flex-direction: column;
}

.glabelfooter {
    clear: both;
}

.ggridfooter {
    clear: both;
}

.rhscrpad {
    width: 150px;
    position: absolute;
    top: 0px;
    height: 1px;
}

.gchartgrid {
    padding-right: 0px;
    padding-left: 0px;
    padding-bottom: 0px;
    padding-top: 0px;
    background-color: #ffffff;
    position: relative;
    /* overflow: auto; */
    overflow: unset;
    overflow-y: auto;
    min-height: 0%;
}

.gchartlbl {
    padding-right: 0px;
    padding-left: 0px;
    padding-bottom: 0px;
    padding-top: 0px;
    background-color: #ffffff;
    position: relative;
    overflow: hidden;
    flex: none;
}

/* Old Internet Explorer version hacks */

.gantt {
    _height: 100%;
}

/* otherwise the chart disappears! */

div .gantt {
    /* _width: 1064px; ie6 fixed width */
}

div.gchartlbl,
div.gchartgrid {
    /* _width: 532px; */
}

/* ie6 fixed width */

div.glistlbl,
div.glistgrid {
    *right: 0px;
    /* ie7 pulls the content too far left with the negative margin */
    _right: 532px;
    /* but ie6 fixed width needs this */
    _margin-left: -532px;
    /* ie6 fixed width */
    float: left;
}

div.gchartgrid {
    *padding-bottom: 20px;
    *overflow-y: hidden;
}

/* variable height design, no need for vertical scroll */

td.gmajorheading div {
    *overflow: hidden;
}

/* stops resizing fixed width columns if the text is too wide */

td.gspanning div {
    *overflow: hidden;
}

/* stops resizing fixed width columns if the text is too wide */

/* border transparency tricks */

.ggroupblackendpointleft {
    _border-top: 4px solid black;
    _border-left: 4px solid pink;
    _border-bottom: 4px solid pink;
    _border-right: 4px solid pink;
    _filter: chroma(color=pink);
}

.ggroupblackendpointright {
    _border-top: 4px solid black;
    _border-left: 4px solid pink;
    _border-bottom: 4px solid pink;
    _border-right: 4px solid pink;
    _filter: chroma(color=pink);
}

.gmdtop {
    _border-left: 5px solid pink;
    _border-top: 5px solid pink;
    _border-right: 5px solid pink;
    _filter: chroma(color=pink);
}

.gmdbottom {
    _border-left: 5px solid pink;
    _border-bottom: 5px solid pink;
    _border-right: 5px solid pink;
    _filter: chroma(color=pink);
}

.gDepFSArw,
.gDepSSArw {
    _border-bottom: 4px solid pink;
    _border-top: 4px solid pink;
    _border-right: 4px solid pink;
    _filter: chroma(color=pink);
}

.gDepFFArw,
.gDepSFArw {
    _border-bottom: 4px solid pink;
    _border-left: 4px solid pink;
    _border-top: 4px solid pink;
    _filter: chroma(color=pink);
}

/* Workaround for odd bug in old versions of Opera - no other browser needs this */

.glinediv {
    position: absolute;
    top: 0px;
    left: 0px;
    z-index: 1px;
}

.gantt-inputtable {
    max-width: 100%;
    max-height: 16px;
}

.gadditional {
    border: #efefef 1px solid;
}

.gadditional,
.gres,
.gdur,
.gcomp,
.gcost {
    text-align: center;
    width: 100px;
    max-width: 100px;
    min-width: 100px;
    font-size: 12px;
}

@media print {
    /* All your print styles go here */
    html,
    .gchartgrid {
        overflow: unset !important;
    }

    .glistgrid {
        float: none !important;
    }

    /* Hide scrollbar for Chrome, Safari and Opera */
    .gchartcontainer *::-webkit-scrollbar {
        display: none;
    }

    /* Hide scrollbar for IE, Edge and Firefox */
    .gchartcontainer * {
        -ms-overflow-style: none; /* IE and Edge */
        scrollbar-width: none; /* Firefox */
    }

    /* Hide tool-tip */
    .JSGanttToolTip {
        display: none !important;
    }

    /* This is the default css, injected by the JSGantt.printChart(width,height); function -->
    @page {
      size: ${width}mm ${height}mm;
    }

    .gchartcontainer {
      width: ${width}mm;
    }
    <-- This will be injected by the JSGantt.printChart() function */
}

/* if using setUseSingleCell(1) the following is a suggested set of CSS3 styles to recreate the table grid - won't work on old browsers
.ggrouphour td,
.gmilehour td,
.gitemhour td			{ background-size: 19px 1px; background-image: linear-gradient(to left, #efefef, transparent 1px, transparent 18px); width: 100%; height: 19px; }
.ggroupday td,
.gmileday td,
.gitemday td			{ background-size: 19px 1px, 133px 1px; background-image: linear-gradient(to left, #efefef, transparent 1px, transparent 18px), linear-gradient(to left, #f7f7f7 39px, transparent 1px, transparent 92px); width: 100%; height: 19px; }
.ggroupweek td,
.gmileweek td,
.gitemweek td			{ background-size: 37px 1px; background-image: linear-gradient(to left, #efefef, transparent 1px, transparent 36px); width: 100%; height: 19px; }
.ggroupmonth td,
.gmilemonth td,
.gitemmonth td			{ background-size: 37px 1px; background-image: linear-gradient(to left, #efefef, transparent 1px, transparent 36px); width: 100%; height: 19px; }
.ggroupquarter td,
.gmilequarter td,
.gitemquarter td		{ background-size: 19px 1px; background-image: linear-gradient(to left, #efefef, transparent 1px, transparent 18px); width: 100%; height: 19px; }
*/

.gmain {
    height: 100%;

    display: flex;
    flex-direction: column;
    /* Allow resize */
    resize: horizontal;
}

.gmainright {
    overflow: hidden;
    flex: 1 1 auto;
}

.gmainleft {
    overflow: hidden;
    flex: 0 0 20%;
    min-width: 220px;
    /* Allow side to grow and shrink */
    flex: 1 0 auto;
}

.gtasktableh tr,
.gcharttable tr,
.gcharttableh tr,
.gtasktable tr {
    height: 22px !important;
}

.gtasktableouterwrapper {
    overflow: hidden;
}

.gtasktablewrapper {
    overflow-y: scroll;
    flex: auto;
    height: 100%;
}

.chartgrid {
    overflow: auto;
    flex: auto;
}

/* .gtasktable {
  margin-bottom: 14px;
} */

/* Printer friendly styles - we could use these all the time but they are not as pretty! */

/* note that "@media print" is not supported in IE6 or 7.  Fully patched IE8 should be OK */

@media print {
    .ggroupblack {
        height: 0px;
        border-top: 7px solid;
        border-color: #000000;
    }

    .gtaskblue {
        height: 0px;
        border-top: 13px solid;
        border-color: rgb(58, 132, 195);
    }

    .gtaskred {
        height: 0px;
        border-top: 13px solid;
        border-color: rgb(196, 58, 58);
    }

    .gtaskgreen {
        height: 0px;
        border-top: 13px solid;
        border-color: rgb(80, 193, 58);
    }

    .gtaskyellow {
        height: 0px;
        border-top: 13px solid;
        border-color: rgb(247, 228, 56);
    }

    .gtaskpurple {
        height: 0px;
        border-top: 13px solid;
        border-color: rgb(193, 58, 193);
    }

    .gtaskpink {
        height: 0px;
        border-top: 13px solid;
        border-color: rgb(249, 177, 245);
    }

    .gtaskbluecomplete,
    .gtaskredcomplete,
    .gtaskgreencomplete,
    .gtaskyellowcomplete,
    .gtaskpurplecomplete,
    .gtaskpinkcomplete {
        height: 0px;
        filter: alpha(opacity=40);
        opacity: 0.4;
        margin-top: -9px;
        border-top: 5px solid;
        border-color: #000000;
    }

    .ggroupblackcomplete {
        height: 0px;
        filter: alpha(opacity=80);
        opacity: 0.8;
        margin-top: -5px;
        border-top: 3px solid;
        border-color: #777777;
    }

    .gmainright,
    .gmainleft {
        overflow: hidden;
        width: auto;
    }

    table {
        page-break-after: auto;
    }

    tr {
        page-break-inside: avoid;
        page-break-after: auto;
    }

    td {
        page-break-inside: avoid;
        page-break-after: auto;
    }

    thead {
        display: table-header-group;
    }

    tfoot {
        display: table-footer-group;
    }
}

/* Fix for OSx trackpad hiding the scroll bars*/
.frame::-webkit-scrollbar {
    -webkit-appearance: none;
}

.frame::-webkit-scrollbar:vertical {
    width: 11px;
}

.frame::-webkit-scrollbar:horizontal {
    height: 11px;
}

.frame::-webkit-scrollbar-thumb {
    border-radius: 8px;
    border: 2px solid white;
    /* should match background, can't be transparent */
    background-color: rgba(0, 0, 0, 0.5);
}

.frame::-webkit-scrollbar-track {
    background-color: #fff;
    border-radius: 8px;
}

.gscrollbar-calculation-container {
    visibility: hidden;
    overflow: scroll;
    -ms-overflow-style: scrollbar;
    display: block;
}
