*,
*:focus,
*:visited {
    outline: none !important;
    border: 0px solid {{ COLOR_SCHEME['bg'] }};
    -webkit-box-shadow: 0 0px 0px rgb(0,0,0,0) !important;
    -moz-box-shadow: 0 0px 0px rgb(0,0,0,0) !important;
    box-shadow: 0 0px 0px rgb(0,0,0,0) !important;
    border-radius: 0px;
}

body {
    background: {{ COLOR_SCHEME['bg'] }};
    margin: 0px;
    padding: 0px;
}

/* Dummy elements */
.dummy {
    display: none !important;
}

/* Icon */
#icon {
    height: 25px;
    background: {{ COLOR_SCHEME['dark2'] }};
    padding: 2px 7px 2px 7px;
}

/* Tabs */
#tabs-container {
    display: flex;
    position: fixed;
    z-index: 10;
}

#tabs {
    background: {{ COLOR_SCHEME['bg'] }};
}

#tabs .tab {
    color: {{ COLOR_SCHEME['light1'] }};
    background: {{ COLOR_SCHEME['bg'] }};
    min-width: 200px;
    padding: 4px;
    border: 0px;
    border-right: 2px solid {{ COLOR_SCHEME['grey1'] }} !important;
}

#tabs .tab:hover {
    background: {{ COLOR_SCHEME['grey2'] }} !important;
    color: {{ COLOR_SCHEME['green2'] }} !important;
}

#tabs .tab--selected {
    background: {{ COLOR_SCHEME['grey1'] }} !important;
    color: {{ COLOR_SCHEME['green2'] }} !important;
    padding: 4px;
    border: 0px;
}

#tabs .tab--selected:hover {
    background: {{ COLOR_SCHEME['grey1'] }} !important;
    color: {{ COLOR_SCHEME['green2'] }} !important;
}

/*  Scrollbar */
.scrollbar {
    display: none;
}

/* Text Input */
input {
    color: {{ COLOR_SCHEME['green2'] }} !important;
    background: {{ COLOR_SCHEME['grey1'] }} !important;
    caret-color: {{ COLOR_SCHEME['green2'] }};
    /* -webkit-appearance: none; */
    /* -webkit-text-fill-color: {{ COLOR_SCHEME['green2'] }} !important; */
}

/* Button */
button {
    background: {{ COLOR_SCHEME['grey1'] }};
    color: {{ COLOR_SCHEME['green2'] }};
    font-family: {{ FONT_FAMILY }};
    font-size: medium !important;
}

button:hover {
    background: {{ COLOR_SCHEME['grey2'] }};
    color: {{ COLOR_SCHEME['green2'] }};
}

button:active {
    background: {{ COLOR_SCHEME['green2'] }};
    color: {{ COLOR_SCHEME['grey2'] }};
}

#init-button {
    color: {{ COLOR_SCHEME['orange2'] }};
}

#update-button {
    color: {{ COLOR_SCHEME['cyan2'] }};
}

#create-button {
    color: {{ COLOR_SCHEME['green2'] }};
}

#export-button {
    color: {{ COLOR_SCHEME['blue2'] }};
}

#delete-button {
    color: {{ COLOR_SCHEME['red2'] }};
}

#upload-button {
    height: 27px !important;
    color: {{ COLOR_SCHEME['cyan2'] }};
}

#save-button {
    height: 27px !important;
    color: {{ COLOR_SCHEME['red2'] }};
}

/* Tabs */
.tabs {
    z-index: 1;
    height: 27px;
    width: 100%;
    padding: 0px;
    position: fixed;
}

/* Menubar */
#searchbar,
#configbar {
    font-size: 13px;
}

.spacer {
    width: 4px;
}

.expander {
    background: {{ COLOR_SCHEME['grey1'] }};
    flex-grow: 1;
}

.query {
    color: {{ COLOR_SCHEME['green2'] }} !important;
    background: {{ COLOR_SCHEME['grey1'] }} !important;
    flex-grow: 10;
    font-size: 15px;
    padding-left: 10px;
}

.menubar .row {
    display: flex;
    min-height: 27px;
}

#configbar .row {
    height: 27px;
}

.menubar .row-spacer {
    background: {{ COLOR_SCHEME['bg'] }};
    height: 4px;
}

.menubar {
    z-index: 1;
    top: 27px;
    position: fixed;
    background: {{ COLOR_SCHEME['bg'] }};
    color: {{ COLOR_SCHEME['green2'] }};
    border-width: 4px 0px 4px 0px;
    border-color: {{ COLOR_SCHEME['bg'] }};
    font-family: {{ FONT_FAMILY }};
    text-align: left;
    width: 100vw;
}

/* Content */
.content {
    color: {{ COLOR_SCHEME['green2'] }} !important;
    background: {{ COLOR_SCHEME['bg'] }} !important;
    font-family: {{ FONT_FAMILY }};
    opacity: 50%;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-evenly;
    text-align: center;
    overflow-x: hidden;
    padding-top: 56px;
    z-index: 0;
}

.dash-dot-spinner > div {
    background: {{ COLOR_SCHEME['green2'] }} !important;
}

#lower-content {
    z-index: 0;
    display: flex;
    justify-content: space-evenly;
    flex-wrap: wrap;
    width: 100%;
    padding-top: 60px;
}

#layout {
    background: {{ COLOR_SCHEME['bg'] }};
    color: {{ COLOR_SCHEME['green2'] }};
    font-family: {{ FONT_FAMILY }};
    text-align: center;
    height: 100vh;
    width: 100vw;
}

/* Plot */
#plots-content {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    align-content: stretch;
    background: {{ COLOR_SCHEME['grey1'] }};
}

.plot {
    flex-grow: 1;
    flex-basis: 33%;
    padding: 2px;
}

.plot-error {
    min-height: 300px;
}

.plot-error-container {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    background: {{ COLOR_SCHEME['bg']}};
}

.plot-error-message {
    color: {{ COLOR_SCHEME['red2'] }};
    font-size: 50px;
}

.column-header--sort {
    color: {{ COLOR_SCHEME['green2'] }} !important;
    padding-right: 4px;
}

/* ScrollBar */
::-webkit-scrollbar {
    width: 5px;
    height: 5px;
    display: none;
}

::-webkit-scrollbar-track {
  background: {{ COLOR_SCHEME['dark2'] }};
}

::-webkit-scrollbar-thumb {
  background: {{ COLOR_SCHEME['grey2'] }};
}

::-webkit-scrollbar-thumb:hover {
  background: {{ COLOR_SCHEME['green2'] }};
}

/* DataTable */
#data-content,
#config-content {
    width: 100%;
    z-index: 0;
}

#datatable .dash-spreadsheet,
#config-table .dash-spreadsheet,
#status-table .dash-spreadsheet,
#error-table .dash-spreadsheet {
    max-height: unset;
}

/* header */
#datatable .row.row-0,
#config-table .row.row-0,
#status-table .row.row-0,
#error-table .row.row-0 {
    min-height: 0px !important;
}

#datatable .dash-header,
#config-table .dash-header,
#status-table .dash-header,
#error-table .dash-header {
    color: {{ COLOR_SCHEME['light2'] }};
    background: {{ COLOR_SCHEME['bg'] }};
    font-weight: bold;
    border: 0px !important;
    text-align: left;
    padding-top: 0px !important;
    padding-bottom: 0px !important;
    border-bottom: 2px solid {{ COLOR_SCHEME['green1'] }} !important;
}

/* body */
#datatable .dt-table-container__row-1,
#config-table .dt-table-container__row-1,
#status-table .dt-table-container__row-1,
#error-table .dt-table-container__row-1 {
    z-index: 0;
    max-width: 100%;
    overflow-x: auto;
    overflow-y: auto;
    border-color: {{ COLOR_SCHEME['grey1'] }};
}

#datatable .dt-table-container__row-1 {
    max-height: 90vh;
}

#datatable tr:nth-child(even) td.dash-cell,
#config-table tr:nth-child(even) td.dash-cell,
#status-table tr:nth-child(even) td.dash-cell,
#error-table tr:nth-child(even) td.dash-cell {
    background: {{ COLOR_SCHEME['bg'] }} !important;
}

#datatable tr:nth-child(odd) td.dash-cell,
#config-table tr:nth-child(odd) td.dash-cell,
#status-table tr:nth-child(odd) td.dash-cell,
#error-table tr:nth-child(odd) td.dash-cell {
    background: {{ COLOR_SCHEME['grey1'] }} !important;
}

/* cell */
#datatable td.dash-cell,
#config-table td.dash-cell,
#status-table td.dash-cell,
#error-table td.dash-cell {
    color: {{ COLOR_SCHEME['light2'] }};
    height: auto;
    width: auto;
    min-width: 75px;
    max-width: 300px;
    border: 0px !important;
    padding: 3px 10px 3px 10px;
    text-align: left;
    white-space: normal;
}

#datatable td.dash-cell.cell--selecte,
#config-table td.dash-cell.cell--selected,
#status-table td.dash-cell.cell--selected,
#error-table td.dash-cell.cell--selected,
#datatable td.dash-cell.cell--selected.focused,
#config-table td.dash-cell.cell--selected.focused,
#status-table td.dash-cell.cell--selected.focused,
#error-table td.dash-cell.cell--selected.focused {
    background: {{ COLOR_SCHEME['grey2'] }} !important;
}

#datatable .input-active,
#config-table .input-active,
#status-table .input-active,
#error-table .input-active {
    color: {{ COLOR_SCHEME['green2'] }} !important;
    text-align: left !important;
}

#datatable .dash-cell div.dash-cell-value,
#config-table .dash-cell div.dash-cell-value,
#status-table .dash-cell div.dash-cell-value,
#error-table .dash-cell div.dash-cell-value {
    display: inline;
    white-space: inherit;
    overflow: inherit;
    text-overflow: inherit;
}

#datatable .dash-cell.focused,
#config-table .dash-cell.focused,
#status-table .dash-cell.focused,
#error-table .dash-cell.focused {
    background: {{ COLOR_SCHEME['grey2'] }} !important;
    color: {{ COLOR_SCHEME['green2'] }} !important;
    border: 0px solid {{ COLOR_SCHEME['bg'] }} !important;
}

#datatable .dash-filter input,
#config-table .dash-filter input,
#status-table .dash-filter input,
#error-table .dash-filter input {
    color: {{ COLOR_SCHEME['green2'] }};
    padding: 0px 5px 0px 5px;
    border-left: 1px solid {{ COLOR_SCHEME['grey1'] }};
    border-right: 1px solid {{ COLOR_SCHEME['grey1'] }};
}

#datatable .sort,
#config-table .sort,
#status-table .sort,
#error-table .sort {
    color: {{ COLOR_SCHEME['green2'] }};
    transform: translateY(-6px);
}

#datatable .previous-page,
#config-table .previous-page,
#status-table .previous-page,
#error-table .previous-page {
    border-right: 3px solid {{ COLOR_SCHEME['bg'] }};
}

#datatable .dash-delete-cell,
#config-table .dash-delete-cell,
#status-table .dash-delete-cell,
#error-table .dash-delete-cell {
    color: {{ COLOR_SCHEME['green2'] }} !important;
}

#datatable .dash-delete-cell:hover,
#config-table .dash-delete-cell:hover,
#status-table .dash-delete-cell:hover,
#error-table .dash-delete-cell:hover {
    color: {{ COLOR_SCHEME['red2'] }} !important;
}

#datatable .dash-spreadsheet-container .dash-spreadsheet-inner table,
#config-table .dash-spreadsheet-container .dash-spreadsheet-inner table,
#status-table .dash-spreadsheet-container .dash-spreadsheet-inner table,
#error-table .dash-spreadsheet-container .dash-spreadsheet-inner table {
    border-collapse: collapse;
    font-family: monospace;
    --accent: transparent  !important;
    --border: transparent !important;
    --text-color: transparent !important;
    --hover: transparent !important;
    --background-color-ellipses: transparent !important;
    --faded-text: transparent !important;
    --faded-text-header: transparent !important;
    --selected-background: transparent !important;
    --faded-dropdown: transparent !important;
    --muted: transparent !important;
}

/* paginator */
#datatable .page-number,
#config-table .page-number,
#status-table .page-number,
#error-table .page-number {
    color: {{ COLOR_SCHEME['light1'] }};
}

#datatable input,
#config-table input,
#status-table input,
#error-table input {
    color: {{ COLOR_SCHEME['green2'] }} !important;
    background: {{ COLOR_SCHEME['grey2'] }} !important;
    border: 0px !important;
    -webkit-text-fill-color: {{ COLOR_SCHEME['green2'] }} !important;
    font-weight: bold;
}

#datatable .previous-next-container button,
#config-table .previous-next-container button,
#status-table .previous-next-container button,
#error-table .previous-next-container button {
    color: {{ COLOR_SCHEME['light2'] }};
    background: {{ COLOR_SCHEME['grey1'] }};
}

#datatable .previous-next-container button:hover,
#config-table .previous-next-container button:hover,
#status-table .previous-next-container button:hover,
#error-table .previous-next-container button:hover {
    color: {{ COLOR_SCHEME['green2'] }};
    background: {{ COLOR_SCHEME['grey2'] }};
}

/* Key value table */
.key-value-table-container {
    flex-grow: 1;
    border-left: 2px solid {{ COLOR_SCHEME['green2'] }};
    border-right: 2px solid {{ COLOR_SCHEME['green2'] }};
    border-bottom: 2px solid {{ COLOR_SCHEME['green2'] }};
}

#config-table tr:first-child,
#status-table tr:first-child,
#error-table tr:first-child {
    display: none;
}

.key-value-table-header {
    color: {{ COLOR_SCHEME['dark1'] }};
    background: {{ COLOR_SCHEME['green2'] }};
    font-size: 13pt;
    font-weight: bold;
    padding: 2px 0px 2px 0px;
    text-align: center;
}

#config-table td.dash-cell:first-child,
#status-table td.dash-cell:first-child,
#error-table td.dash-cell:first-child {
    color: {{ COLOR_SCHEME['light1'] }};
    border-right: 2px solid {{ COLOR_SCHEME['green2'] }} !important;
}

#config-table td.dash-cell:first-child,
#config-table td.dash-cell:first-child .input-active,
#status-table td.dash-cell:first-child,
#status-table td.dash-cell:first-child .input-active,
#error-table td.dash-cell:first-child,
#error-table td.dash-cell:first-child .input-active {
    text-align: right !important;
}

/* Error Key Value Table */
#error {
    border-left: 2px solid {{ COLOR_SCHEME['red2'] }};
    border-right: 2px solid {{ COLOR_SCHEME['red2'] }};
    border-bottom: 2px solid {{ COLOR_SCHEME['red2'] }};
}

#error .key-value-table-header {
    background: {{ COLOR_SCHEME['red2'] }};
}

#error input {
    color: {{ COLOR_SCHEME['red2'] }} !important;
    -webkit-text-fill-color: {{ COLOR_SCHEME['red2'] }} !important;
}

#error .input-active,
#error .dash-cell.focused,
#error .dash-filter input,
#error .sort,
#error .dash-delete-cell,
#error .previous-next-container button:hover {
    color: {{ COLOR_SCHEME['red2'] }} !important;
}

#error td.dash-cell:first-child {
    border-right: 2px solid {{ COLOR_SCHEME['red2'] }} !important;
}

/* Status Key Value Table */
#status {
    border-left: 2px solid {{ COLOR_SCHEME['orange2'] }};
    border-right: 2px solid {{ COLOR_SCHEME['orange2'] }};
    border-bottom: 2px solid {{ COLOR_SCHEME['orange2'] }};
}

#status .key-value-table-header {
    background: {{ COLOR_SCHEME['orange2'] }};
}

#status input {
    color: {{ COLOR_SCHEME['orange2'] }} !important;
    -webkit-text-fill-color: {{ COLOR_SCHEME['orange2'] }} !important;
}

#status .input-active,
#status .dash-cell.focused,
#status .dash-filter input,
#status .sort,
#status .dash-delete-cell,
#status .previous-next-container button:hover {
    color: {{ COLOR_SCHEME['orange2'] }} !important;
}

#status td.dash-cell:first-child {
    border-right: 2px solid {{ COLOR_SCHEME['orange2'] }} !important;
}

/* Config */
.config-row {
    display: flex;
    height: 27px;
    width: 100%;
    padding-bottom: 2px;
}

.config-key {
    background: {{ COLOR_SCHEME['grey2'] }};
    color: {{ COLOR_SCHEME['light1'] }};
    padding: 4px 8px 4px 8px;
    min-width: 200px;
    text-align: right;
    border-right: 2px solid {{ COLOR_SCHEME['bg'] }};
}

.config-value {
    background: {{ COLOR_SCHEME['grey1'] }};
    color: {{ COLOR_SCHEME['green2'] }};
    flex-grow: 10;
    font-size: 15px;
    padding-left: 10px;
}
