:root {
    --completed: #51eb0d;
    --delayed: #ff0000;
    --open: #ffff00;
    --not_started: #d9d9d9;
    --in_progress: #4dd0e1;
    --on_hold: #f7cb4d;
    --cancelled: #85200c;
}

body {
    -background-color: #EDF2F4;
}

body.login-page {
    background: #333333;
}

h1 {
    width: 300px;
    font-size: 1.4em;
    padding-left: 0 !important;
}

h1 i.hamburger-menu {
    margin-right: 20px;
    margin-left: 10px;
    cursor: pointer;
    color: #d4d4d4;
    transition: all .5s ease;
}

h1 i.hamburger-menu:hover {
    color: white;
}

h1 .highlight {
    color: #4fd6ff;
}

h2 {
    font-size: 1em;
}

h2.object-title {
    color: #4fd6ff;
    background: #333333;
    display: inline-block;
    padding: 15px 15px 15px 25px;
    margin-left: 5px;
    text-transform: uppercase;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
    width: calc(100% - 15px);
    height: 50px;
    border-radius: 50px;
}

header {
    background-color: #333;
    height: 50px;
    padding: 10px;
    color: white;
    position: fixed;
    top: 0;
    left:0;
    width: 100%;
    margin: 0 !important;
    z-index: 99;
}

#overview-title{
    margin-bottom: 10px;
    margin-left: 15px;
    margin: -10px 0 0;
    padding: 5px;
    font-size: 0.8em;
    font-weight: bold;
    color: #3887a5;
}

.main-quick-search {
    background-color: rgba(255,255,255,.2);
    border-radius: 100px;
    height: 30px;
    transition: all ease .5s;
}

.main-quick-search:hover {
    background-color: rgba(255,255,255,.25);
}

.main-quick-search input {
    border: none;
    background-color: transparent;
    height: 30px;
    color: white !important;
    width: calc(100% - 45px);
}

.main-quick-search input:focus {
    background-color: transparent;
    box-shadow: none;
}

.main-quick-search .btn {
    padding: 2px 0;
    color: #e5e5e5;
}

.main-quick-search .btn:hover {
    padding: 2px 0;
    color: white;
}

.main-quick-search input::placeholder {
    color: #aeaeae;
}

.date-and-time {
    font-size: 1.4em;
    color: white;
}

.date-and-time .ampm {
    font-size: 0.8em;
}

.profile-img {
    border-radius: 100%;
    margin-right: 10px;
}

.profile-img.xsmall {
    width: 30px;
}

.profile-info {
    font-size: 0.8em;
    text-align: right;
}

nav#profile-sub-menu {
    position: absolute;
    top: 50px;
    right: 0;
    background: #333;
    width: 200px;
    display: none;
}

nav#profile-sub-menu.extended {
    display: block;
}

nav#main-nav {
    background-color: #EEF2F5;
    width: 150px;
    position: fixed;
    top: 50px;
    left: 0;
    height: 100%;
    transition: all .5s ease;
    box-shadow: 0 0 10px #585858;
    z-index: 9;
}

body.menu-sm nav#main-nav {
    width: 50px;
    overflow: hidden;
}

nav#main-nav li.separator  {
    border-top:1px solid #a2a2a2;
}

nav#main-nav li > a > span {
    transition: all .1s ease;
}

body.menu-sm nav#main-nav li > a > span {
    display: none;
}

nav#main-nav ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

nav#main-nav li {
    border-bottom: 1px solid white;
    width: 150px;
    font-size: 0.95em;
}

nav#main-nav li > a {
    display: inline-block;
    width: 100%;
    padding: 10px;
    text-decoration: none;
    color: #2b2b2b;
    border-left: 5px solid transparent;
    transition: all .5s ease;
}

nav#main-nav li:hover > a {
    background-color: #efefef;
    color: #2787a5;
}

nav#main-nav li.selected > a {
    -background-color: #4fd6ff;
    background-color: #d0d3d7;
    background-color: #fff;
    border-left: 5px solid #4fd6ff;
    color: #063240;
    color: #2787a5;
}

#content {
    margin-left: 150px;
    margin-top: 50px;
    padding: 20px;
    height: 100%;
}

body.menu-sm #content {
    margin-left: 50px;
    transition: all .5s ease;
}

.quick-number > div {
    background-color: #f8f8f8;
    color: white;
    height: 140px;
    margin: 10px;
    padding: 10px;
    border-radius: 3px;
}

.quick-number > div .indicator-title {
    font-size: 0.8em;
    display: block;
    margin: -10px -10px 10px;
    background: #e8e8e8;
    padding: 5px;
    color: black;
    border-radius: 3px;
}

.quick-number > div .indicator-type {
    display: inline-block;
    width: 50px;
    height: 50px;
    background-color: #0c5460;
    color: white;
    padding: 5px;
    border-radius: 100%;
    text-align: center;
    font-size: 1.5em;
}

.quick-number > div .indicator-number {
    display: inline-block;
    height: 50px;
    color: #404040;
    padding: 5px;
    border-radius: 100%;
    text-align: right;
    font-size: 1.5em;
    float: right;
}

.quick-number > div .indicator-number small {
    font-size: 0.8em;
}

.indicator-target {
    margin-top: 10px;
    font-size: 0.8em;
}


.progress-bar, .progress-bar-value {
    height: 10px;
    border-radius: 5px;
    background-color: #e2e2e2;
}

.progress-blue {
    color: cornflowerblue;
}

.progress-blue .progress-bar-value {
    background-color: cornflowerblue;
}


.progress-green {
    color: var(--completed);
}

.progress-green .progress-bar-value {
    background-color: var(--completed);
}

.map {
    width: calc(100% - 150px);
    height: 100% !important;
    position: fixed !important;
    left: 150px;
    top: 50px;
    transition: all .5s ease;
}

body.menu-sm .map {
    left: 50px;
    width: calc(100% - 50px);
}

#projects-list {
    position: fixed;
    top: 50px;
    left: 150px;
    width: 250px;
    height: 100%;
    border-right: 1px solid;
    border-left: 1px solid;
    background: #1f1f1f;
    padding: 10px;
    z-index: 9;
    transition: all .5s ease;
    overflow: hidden;
    overflow-y: auto;
    resize: horizontal;
}


a.level0,  a.level1 {
    font-weight: bold;
}

#projects-details {
    margin-left: 220px;
    transition: all .5s ease;
}

body.menu-sm #projects-list  {
    left: 50px;
}

.nav-tabs .nav-link {
    color: #2f2f2f;
}


.nav-tabs .nav-link.active,
.nav-tabs .nav-item.show .nav-link {
    box-shadow: inset 0 10px 5px #33474c14;
    color:#3887a5;
}

.nav-tabs .dropdown-menu .nav-link {
    box-shadow: none !important;
}

.tab-content {
    margin: 10px 25px;
    text-align: justify;
}

.tab-content .description > i {
    float: left;
    font-size: 2em;
}

.tab-content .description > p {
    margin-left: 50px;
}

#element-description {
    height: 100px;
    min-height: 100px;
    overflow: hidden;
    transition: all .5s ease;
}

#element-description.extended {
    height: auto;
    margin-bottom: 50px;
}

.tab-content .over-shadow {
    height: 50px;
    margin-top: -70px;
    background: rgb(255,255,255);
    background: linear-gradient(0deg, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 15%, rgba(0,212,255,0) 100%);
    position: relative;
}

.tab-pane .btn-expand {
    display: inline-block;
}

.tab-pane .btn-compress {
    display: none;
}

.tab-pane.full-screen {
    position: absolute;
    left: 0;
    top: 0;
    background: white;
    z-index: 99;
    width: 100%;
    min-height: 100%;
}

.tab-pane.full-screen .btn-expand {
    display: none;
}

.tab-pane.full-screen .btn-compress {
    display: inline-block;
    margin-top: 10px;
    margin-right: 10px;
}

.legend {
    margin: 0 0 10px;
}

.legend > span {
    display: inline-block;
    margin: 5px 10px;
}

table td.fill {
    -background: #1b1b1b;
    box-shadow: inset 0 10px 0 #1b1b1b;
}


/* ====================>
/* Status Color/Style

/* Open Status */
span.open i.fas {
    color: var(--open);
}

table tr.open td.fill {
    box-shadow: inset 0 10px 0 var(--open);
}

/* Completed Status */
span.completed i.fas {
    color: var(--completed);
}

table tr.completed td.fill {
    box-shadow: inset 0 10px 0 var(--completed);
}

/* In Progress Status */
span.in_progress i.fas {
    color: var(--in_progress);
}

table tr.in_progress td.fill {
    box-shadow: inset 0 10px 0 var(--in_progress);
}

/* Not Started Status */
span.not_started i.fas {
    color: var(--not_started);
}


table tr.not_started td.fill {
    box-shadow: inset 0 10px 0 var(--not_started);
}

/* Delay Status */
span.delayed i.fas {
    color: var(--delayed);
}

table tr.delayed td.fill {
    box-shadow: inset 0 10px 0 var(--delayed);
}

/* On Hold Status */
span.on_hold i.fas {
    color: var(--on_hold);
}

table tr.on_hold td.fill {
    box-shadow: inset 0 10px 0 var(--on_hold);
}

/* Cancel Status */
span.cancel i.fas {
    color: var(--cancelled);
}

table tr.cancel td.fill {
    box-shadow: inset 0 10px 0 var(--cancelled);
}



table th.separator, table td.separator {
    -box-shadow: inset -1px 0 0 black;
    border-right: 1px dotted black !important;
}

table#workplan-tbl th, table#workplan-tbl td {
    width: 60px;
    text-align: left;
}

table#workplan-tbl thead.sticky, table.table-sticky thead.sticky {
    position: fixed;
    top: 55px;
    background: white;
    z-index: 9;
}

table#workplan-tbl tbody tr.sel_node {
    font-weight: bold;
}

table.dotted td, table.dotted th {
    border-right: 1px dotted silver;
}

.box-overview {
    padding: 10px;
    font-size: 0.8em;
}

.box-overview > div {
    box-shadow: 0 0 10px rgba(100,100,100,.1);
    padding: 10px;
}

.box-overview.no-shadow > div  {
    box-shadow: none;
}

.box-overview h3 {
    border-bottom: 1px solid #e4e4e4;
    margin: 0 -10px 10px;
    padding: 0 10px 10px;
    box-shadow: 0 10px 10px #ececec;
    font-size: 1em;
}

.box-overview label {
    font-weight: bold;
}


.view {
  margin: auto;
  width: 600px;
}

.wrapper {
  position: relative;
  overflow: auto;
  -border: 1px solid black;
  white-space: nowrap;
}

.sticky-col {
    position: -webkit-sticky;
    position: sticky;
    background-color: white;
    white-space: initial;
}

.first-col {
    width: 300px;
    min-width: 300px;
    max-width: 300px;
    left: 0px;
    box-shadow: inset -1px 0 0 black;
}

.second-col {
  width: 300px;
  min-width: 300px;
  max-width: 300px;
  left: 120px;
}

.third-col {
  width: 100px;
  min-width: 100px;
  max-width: 100px;
  left: 420px;
  box-shadow: inset -1px 0 0 black;
}

.login-form {
    margin: 100px auto 0;
    width: 350px;
    background: #fdfdfd;
    border-radius: 5px;
    padding: 20px;
    box-shadow: 0 10px 10px #1d1d1d;
    border: 1px solid white;
}

.login-form .logo {
    margin: 20px auto;
    width: 150px;
    display: block;

}

.input-group-text.left {
    border-radius: 0.25rem 0 0 0.25em;
    border-right: none;
}

.form-group {
    padding: 0 5px 5px;
}

.form-group label {
    font-size: 0.9em;
    font-weight: 500;
    color: #386f7e;
    text-align: left;
}

.form-group textarea {
    height: 80px;
    resize: none;
}

.form-group input, .form-group select, .form-group textarea {
    border: none;
    -border-bottom: 1px solid #dadada;
    border-radius: 0;
    background-color: #f5f5f5;
    transition: all 0.5s ease;
}

.form-group input:hover, .form-group select:hover, .form-group textarea:hover {
    background-color: #ebfbff;
}

.form-group input:focus, .form-group select:focus, .form-group textarea:focus{
    background-color: #ebfbff;
    outline: 0;
    box-shadow: none;
}

.input-group-prepend.input-group-append .input-group-text{
    border: 0;
    background: #dedede;
}

.add-form, .history-viewer {
    padding: 20px;
    display: none;
}

.history-viewer {
   padding-top: 0px;
}

.history-viewer hr {
   margin: 5px 0;
}

.history-viewer .body {
   padding-top: 20px;
}

.history-viewer .row {
    margin-bottom: 20px;
}

.history-viewer .index {
    display: block;
    background-color: #4e555b;
    color: white;
    padding: 5px 10px;
    border-radius: 3px;
    margin-top: 0;
}

.history-viewer .index:after {
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    content: "\f0da";
    float: right;
    margin-right: -18px;
    color: #4e555b;
    font-size: 1.5em;
    margin-top: -6px;
}

.history-viewer .details {
    background: #e6e6e6;
    border-radius: 5px;
    color: #424242;
    padding: 10px 20px;
}

.history-viewer .row .details .history-btn {
    display: none;
}

.history-viewer .row:hover .details .history-btn {
    display: inline-block;
}

.add-form .tab-content {
    margin: 10px 2px;
}

.add-form .path {
    font-size: 0.8em;
    color: gray;
}

.add-form .path .mainpart {
    color: #4299b6;
}

.add-sub-obj-form {
    padding: 0;
}

fieldset {
    border: 1px solid #b6cacf;
    padding: 0 10px;
    -border-radius: 3px;
    margin-bottom: 10px;
}

fieldset legend {
    display: inline-block;
    width: auto;
    padding: 0 10px;
    color: #343a40;
    font-size: 1em;
    font-weight: bold;
    text-transform: uppercase;
}

#div_id_hierarchy, #div_id_order {
    display: none;
}

.btn-close {
    font-size: 1.2em;
    transition: all .5s ease;
}

.btn-close:hover {
    font-size: 1.2em;
    transform: rotate(90deg);
    color: #a52a2a;
}

.btn-question{
    font-size: 1em;
    transition: all .5s ease;
}

.btn-question:hover {
    font-size: 1.1em;
    color: #4772f3;
}

.btn-round {
    border-radius: 50px;
    min-width: 50px;
    height: 50px;
}

.btn-round span {
    -font-size: 0;
    transition: all .5s ease;
}

.btn-round:hover {
    border-radius: 50px;
    min-width: 50px;
    height: 50px;
}

.btn-round:hover span {
    -font-size: 1em;
}

input.hidden {
    -display: none;
}

.action-btn-sub-obj {
    margin-bottom: 10px;
}

#loader {
    background: #ffc905;
    position: fixed;
    right: 0;
    bottom: 0;
    width: 200px;
    padding: 10px 20px;
    color: #65500e;
    border-radius: 4px 0 0 0;
    display: none;
}

.pagination-bar {
    margin: 5px 0;
}

.pagination-bar input, .pagination-bar select, .pagination-bar button {
    height: 30px;
    display: inline-block;
    width: auto;
}

.pagination-bar .input-group {
    width: 200px;
    margin-bottom: 0 !important;
}

.pagination-bar input[name="page-number"] {
    width: 60px;
    text-align: right;
    border-radius: 0;
    border: 1px solid #343a40;
    background: #424a52;
    color: white;
}

.pagination-bar .btn-first{
    width: 32px;
    border-radius: 3px 0 0 3px;
}

.pagination-bar .btn-last{
    width: 32px;
    border-radius: 0 3px 3px 0;
}

.pagination-bar .btn-next, .pagination-bar .btn-prev {
    width: 32px;
    border-radius: 0 !important;
}

.pagination-bar .nbr-row {
    margin-left: 15px;
}

.table-lst tbody tr.selected {
    color: #0B61A4;
}

.table-lst tfoot {
    font-size: 0.8em;
    color: #1d2124;
}


.popup {
    position: fixed;
    top: 60px;
    background: white;
    width: 100%;
    max-width: 500px;
    height: calc(100% - 120px);
    min-height: 200px;
    left: 0;
    right: 0;
    margin: auto;
    z-index: 999;
    border-radius: 5px;
    box-shadow: 0 0 20px #676767c4;
    display: none;
}

.popup h6 {
    background: #1f1f1f !important;
    color: #4fd6ff;
    padding: 10px 5px !important;
}

.popup h6, .popup  .action-btn {
    height: 45px;
    margin: 0;
    box-sizing: border-box;
    padding: 5px;
    background: #d7d7d7;
}

.popup .body {
    height: calc(100% - 90px);
    box-sizing: border-box;
    padding: 10px;
    overflow-y: auto;
    background: white;
}

#popup-mask {
    position: fixed;
    top:0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,.8);
    z-index: 998;
    display: none;
}

#quick-report {
    max-width: 100%;
    width: calc(100% - 20px);
    height: calc(100% - 20px);
    top: 10px;
}

.main-btn-form {
    position: fixed;
    right:0;
}

.select2-container {
    width: 100% !important;
}

.filter-sub-obj .select2-container {
    width: 200px !important;
}

.select2-selection {
    height: 40px !important;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 38px;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 38px;
    width: 30px;
}

.icon_selector {
    display: none;
}

.hide {
    display: none;
}

.target-icon {
    font-size: 2em;
    color: #59C9EE;
}

.target-number {
    font-size: 1.5em;
    color: #386F7E;
}

.clustered-markers  {
    border-radius: 50%;
    text-align: center;
    width: 50px;
    height: 50px;
    padding: 5px;
    font-size: 1.2em;
    text-shadow: -1px -1px 0 #fff, 1px -1px 0 #fff, -1px 1px 0 #fff, 1px 1px 0 #fff;
}

.clustered-markers .qt {
    display: inline-block;
    border-radius: 5px;
    background: #ffffffd9;
    text-align: center;
    min-width: 30px;
    padding: 0 5px;
    font-weight: bold;
    box-shadow: 0 0 0px 2px #ffffff;
    font-size: 0.8em;
}

.clustered-markers i.fas {

}

.leaflet-div-icon {
     background: none;
     border: none;
}

.map-icon-color-in_progress {
    color: #006499;
}

.map-icon-color-completed {
    color: #307e00;
}

.map-icon-color-open {
    color: #4f4f4f;
}

.map-icon-color-cancel {
    color: #5f0202;
}

.leaflet-control-easyPrint {
    margin-top: 100px !important;
}

#map-activities-filter {
    position: fixed;
    top: 50px;
    left: 0;
    right: 0;
    margin: auto;
    width: 300px;
    background: white;
    box-shadow: 0 0 10px #6f6f6f;
    padding: 10px;
    border-radius: 0 0 4px 4px;
    display: none;
    transition: opacity .5s ease;
}

#map-filter-display-btn.has_filter {
    color: #65500e;
}

#map-filter-display-btn.has_filter:after {
    content: ".";
    color: red;
    font-size: 64px;
    position: absolute;
    top: -64px;
    right: -9px;
}

.select2-selection.select2-selection--multiple {
    height: auto !important;
}

.marker-label {
    border: none;
    text-shadow: -1px -1px 0 #ffffff, 1px -1px 0 #ffffff, -1px 1px 0 #ffffff, 1px 1px 0 #ffffff;
    background: transparent;
    box-shadow: none;
    font-size: 1.2em;
    font-weight: bold;
    color: #1f1f1f;
}

.marker-label:before {
    display: none;
}

.status_filter {
    display: inline-block;
    background-color: #f6f6f6;
    padding: 3px 10px;
    border-radius: 3px;
    margin-right: 0 !important;
    cursor: pointer;
}

.status_filter:hover {
    background-color: #eeeeee;
}

.status_filter.selected {
    background-color: #afafaf;
	box-shadow: inset 2px 2px 2px #929292;
    color: #1f1f1f;
}


.custom_tag {
    display: inline-block;
    padding: 3px 10px;
    background-color: #efefef;
    border-radius: 3px;
    margin-right: 5px;
    margin-bottom: 2px;
}

.action-btn-sub-obj .btn-search.extended{
    padding-bottom: 20px;
    background-color: #dae0e5;
    box-shadow: none !important;
    border: none !important;
}

.filter-sub-obj {
    background-color: #dae0e5;
    padding: 10px;
    display: none;
    text-align: right;
    border-radius: 5px;
}

.filter-sub-obj.extended {
    display: block;
}

.filter-sub-obj input, .filter-sub-obj select {
    display: inline-block;
    width: auto;
}

.quill-editor {
    display: none;
}

.history-data {

}

.display-none {
    display: none;
}

.note-editor {
    background-color: white;
}

.note-editor .panel-heading {
    border-bottom: 1px solid silver;
    background: #f7f7f7;
}

.note-editor .dropdown-toggle::after {
    display: none;
}

.datepicker {
	transform: translate(0, 3.1em);
}

.group-element {
    margin: 0 10px 20px;
    border-left: 3px solid #acc3c9;
    padding-top: 5px;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.list-group.compact .list-group-item {
    padding: 5px 10px;
}

.list-group.compact .list-group-item .form-group {
    margin: 0;
}

.list-group.compact .list-group-item.list-group-item-action.active {
    box-shadow: inset 0 -1px 0 #3797ff;
}

.nav-tabs .nav-link {
    font-size: 0.95em;
    padding: 5px 10px;
}

.gantt_grid_scale, .gantt_task_scale, .gantt_task_vscroll {
    background-color: #333;
}

.gantt_grid_scale .gantt_grid_head_cell {
    color: #5fd6fb;
}

table.quick-fill tbody tr label, table.quick-fill tbody tr small.form-text.text-muted{
    display: none;
}

table.quick-fill tbody tr .form-control {
    height: calc(1.5em + .5rem + 2px);
    padding: .25rem .5rem;
    font-size: .875rem;
    line-height: 1.5;
    border-radius: .2rem;
}

table.quick-fill tbody tr .form-group {
    margin-bottom: 0;
}

.table-hover tbody tr:hover {
    color: #3f8ba5;
    background-color: rgba(0,0,0,0);
}


.no-margin {
    margin: 0;
}

@media print {
    .full-screen-print {
        position: fixed;
        top: 0;
        left: 0;
        background: white;
        z-index: 99;
        width: 100%;
        height: 100%;
    }

    .btn {
        display: none;
    }
	
	body nav#main-nav {
		width: 0px;
		overflow: hidden;
	}
	
	body div#content {
		width: 100%;
		margin-left: 5px;
	}
		
}