﻿@charset "UTF-8";
@import url("https://fonts.googleapis.com/css?family=Roboto:300,400,500,700");
@import url("https://fonts.googleapis.com/css?family=Roboto:300,400,500,700");
div.picIBColor {
  border-radius: 5px;
  align-self: flex-end;
}

div.picFeature div.picIBColor {
  width: calc(100% - 3.75rem);
}

div.picDashboard[data-hidethemes=false] div.picLight[data-haslighttheme=true] > label,
div.picDashboard[data-hidethemes=false] div.picLight[data-haslighttheme=true] > i,
div.picLightGroup > label,
div.picLightGroup > i {
  align-self: center;
  margin-top: -10px;
}

label,
span,
div:not(.picIBColor) {
  line-height: 1;
}

div.picBody > div {
  padding-right: 0;
}

div.picTabs {
  background-color: white;
  border-top-left-radius: 3px;
  border-top-right-radius: 3px;
  border: none;
  border-top: solid 1px silver;
  border-left: solid 1px silver;
  border-right: solid 1px silver;
}

div.picTab {
  border: none;
}

div.picTab > .picTabText {
  margin-bottom: 0.4rem;
}

div.tab-contents {
  border-top: none;
}

div.picTab.picTabSelected > span.picTabText {
  border-bottom: solid 2px teal;
}

div.picTab:not(.picTabSelected) {
  border-color: silver;
  color: silver;
}

div.picConfigTabContents {
  background-color: white;
}

div.picConfigPage {
  margin-top: 0.4rem;
}

div.picController {
  padding: 0px;
}

/* div.picFeatureGrid {
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    display: grid; 
    width: 100%;
} */
div.picFeatures {
  display: block;
}

div.picSchedule,
div.picPump,
div.picChlorinator,
div.chemControllerDiv,
div.chemDoserDiv,
div.picPumpCircuit,
div.picBodyFilter,
div.picLightThemes {
  display: flex;
  flex-wrap: wrap;
}

div.picIBColorSelector > div.picToggleButton > div.picIndicator {
  margin-left: 0.15em;
  margin-right: -0.19em;
  margin-top: -0.47em;
}

div.picSchedule > span, div.picSchedule > label, div.picChemistry label, div.picChemistry span {
  line-height: 2;
}

div.picChlorinator {
  justify-content: space-between;
}

div.picChemistry {
  width: 100%;
}

div.picIBColorSelector {
  display: flex;
}

div.picBodyFilter:not(:last-child),
div.picBody:not(:last-child),
div.picChlorinator:not(:last-child),
div.picSchedule:not(:last-child),
div.picPump:not(:last-child) {
  border-bottom: solid 1px rgba(0, 0, 0, 0.125);
  margin-bottom: 5px;
}

span.picFilterPercentage {
  text-align: right;
}

span.picPressureValue,
span.picFilterPercent,
span.picCurrentOutput,
div.picEnergy,
div.picBodySetpoints,
label.picSchedDays,
table.picSchedDays,
label.picPumpPrograms,
table.picPumpPrograms,
span.saturationIndex,
div.picRelay,
div.picProgram,
span.picFilterPercentage,
label.picIBThemeLabel {
  margin-right: auto;
}

label.picIBThemeLabel {
  width: 100%;
  margin-left: 10px;
}

div.picChlorStatus,
div.picSuperChlor {
  order: 20;
}

div.picFeature,
div.picCircuit,
div.picVirtualCircuit {
  display: flex;
}

div.picFeature > label,
div.picCircuit > label,
div.picVirtualCircuit > label {
  top: 6px;
  margin-right: auto;
}

div.picToggleButton {
  order: 10;
  margin-right: auto;
}

div.picPopoverHeader,
div.picCircuitTitle {
  flex: 1 1 100%;
}

div.picAmbientTemp label {
  color: white;
}

div.picController > div.picControllerTitle {
  margin: 0px;
}

div.pover-icon:hover {
  color: orange;
  text-shadow: 3px 3px 16px #272634;
}

div.picSaltReqd {
  padding: 0.2rem;
  border-bottom: solid 1px gainsboro;
  margin-bottom: 0.4rem;
}

div.picBody[data-ison=false] div.picBodyTemp {
  color: silver;
}

span.picUnits {
  color: gray;
}

div.picAccordian-title {
  border: solid 1px gray;
  border-top-left-radius: 3px;
  border-top-right-radius: 3px;
}

div.pnl-scheduleDays {
  margin-top: 0.2rem;
}

div.pnl-scheduleDays > div.table {
  border-top-left-radius: 3px;
  border-top-right-radius: 3px;
}

div.pnl-scheduleDays div.table-caption {
  border-top-left-radius: 3px;
  border-top-right-radius: 3px;
  border: solid 1px gray;
  color: white;
  background: #7bff9d;
  background: linear-gradient(180deg, #7bff9d, #7bff9d);
}

div.pnl-scheduleDays div.table-row.dayheader {
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
}

div.pnl-scheduleDays div.table-cell.dayheader {
  text-align: center;
  width: 2.4rem;
  border: solid 1px gray;
  font-weight: bold;
  color: white;
}

div.pnl-scheduleDays div.table-row.dayheader {
  background: white;
  background: #007bff linear-gradient(180deg, #007bff, #007bff);
  color: black;
  font-weight: bold;
}

div.pnl-scheduleDays div.table-cell.day:hover {
  background: #88acda;
}

div.pnl-scheduleDays div.table-cell.day:not(.disabled):active {
  color: white;
  background: #2196F3;
  background: linear-gradient(180deg, #42a6f5, #2196F3);
}

div.pnl-scheduleDays div.table-cell.day {
  text-align: center;
  font-size: 2rem;
  border: solid 1px gainsboro;
  cursor: pointer;
}

div.pnl-scheduleDays div.table-cell.day {
  text-align: center;
  font-size: 2rem;
  cursor: pointer;
  font-family: "Font Awesome 5 Free";
}

div.pnl-scheduleDays div.table-cell.day[data-selected=true]:before {
  content: "\f057";
  font-weight: 900;
}

div.pnl-scheduleDays div.table-cell.day:not([data-selected=true]):before {
  content: "\f111";
  font-weight: 400;
}

div.picSelector {
  display: flex;
  flex-direction: column;
}

div.picOption {
  width: 100%;
  margin-bottom: 10px;
  display: flex;
  align-items: center;
}

div.picOption > label {
  margin-right: auto;
}

div.picOption:first-child {
  margin-top: 10px;
}

i.picDropdownButton {
  margin-right: 10px;
}

div.picVirtualCircuit {
  padding-left: 0.5em;
  display: flex;
}

div.picBodyFilter > label.picFilterName,
div.picChlorinator > label.picChlorinatorName,
div.picChemController label.picControllerName {
  overflow-y: hidden;
}

div.picSpinner-up, div.picSpinner-down {
  line-height: 1.4rem !important;
}

div.picModules > table > tbody > tr:nth-child(n+1) > td {
  color: rgba(0, 0, 0, 0.125);
}

span.picCircuitEndTime {
  position: unset;
  right: unset;
}

span.picLightEndTime {
  margin-top: -10px;
  margin-right: 5px;
  position: unset;
  right: unset;
}

div.picBody[data-covered=true]:before {
  text-align: right;
  display: block;
  position: absolute;
  left: -3.25em;
  top: 2.5em;
}

span.picFilterPercentage,
span.picFilterPressure {
  width: 5rem;
  text-align: right;
}

.test {
  color: white;
}

@media screen and (max-width: 744px) {
  div.picChlorStatus,
  div.picSuperChlor {
    order: 4;
    margin-right: auto;
  }
  span.picCurrentOutput {
    margin-right: inherit;
  }
  div.dashOuter {
    justify-content: unset;
  }
}
body {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  background-image: url("background.jpg");
  font-size: 1rem;
}

select,
input[type=text] {
  font-size: 1rem;
  border-top: none;
  border-left: none;
  border-right: none;
  border-width: 1px;
}

fieldset {
  font-size: 1rem;
  border-radius: 3px;
}

.disabled {
  opacity: 0.5;
}

.popover,
.control-panel {
  vertical-align: top;
  display: inline-block;
  margin-top: 0.4rem;
  margin-right: 0.2rem;
  padding: 0.4em;
  border: solid 1px silver;
  border-radius: 3px;
  background: rgb(255, 255, 255);
  background: -webkit-linear-gradient(90deg, rgb(255, 255, 255) 0%, rgb(255, 255, 255) 100%);
  background: linear-gradient(0deg, rgb(255, 255, 255) 0%, rgb(255, 255, 255) 100%);
  box-shadow: 2px 2px 2px rgba(27, 27, 27, 0.4);
  -webkit-box-shadow: 2px 2px 2px rgba(27, 27, 27, 0.4);
  -moz-box-shadow: 2px 2px 2px rgba(27, 27, 27, 0.4);
}

.control-panel-title {
  white-space: nowrap;
  border-bottom: solid 1px gray;
  margin-left: -0.4rem;
  margin-right: -0.4rem;
  margin-top: -0.4rem;
  padding-top: 0.4rem;
  color: white;
  padding-left: 0.4rem;
  padding-right: 0.2rem;
  padding-bottom: 0.2rem;
  margin-bottom: 0.2rem;
  border-top-left-radius: 3px;
  border-top-right-radius: 3px;
  background: #007bff linear-gradient(180deg, #007bff, #007bff);
  box-shadow: 2px 2px 5px rgba(27, 27, 27, 0.4);
  -webkit-box-shadow: 2px 2px 5px rgba(27, 27, 27, 0.4);
  -moz-box-shadow: 2px 2px 5px rgba(27, 27, 27, 0.4);
}

.body-text {
  font-family: Arial;
}

.fld-value {
  border-bottom: solid 1px gray;
}

.fld-value-combo {
  border-bottom: solid 1px gray;
  background-color: white;
  color: black;
}

.fld-value-center {
  border-bottom: solid 1px gray;
}

.btn-border {
  white-space: nowrap;
  border: solid 1px gray;
  border-radius: 3px;
  display: inline-block;
  padding-top: 0.4rem;
  padding-bottom: 0.4rem;
  padding-right: 0.2rem;
  padding-left: 0px;
  margin: 0.1rem;
}

.btn {
  white-space: nowrap;
  border-bottom: solid 1px rgba(0, 0, 0, 0.125);
  display: inline-block;
  padding-top: 0.4rem;
  padding-bottom: 0.4rem;
  padding-right: 0.2rem;
  padding-left: 0.5rem;
  margin: 0.1rem;
  color: #212529;
  transition: box-shadow ease-in 0.2s, transform ease-in 0.2s, color ease-in 0.2s;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

.btn:after {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  margin-left: 0;
  background-image: radial-gradient(circle, #fff 10%, transparent 10.01%);
  background-repeat: no-repeat;
  background-size: 1000% 1000%;
  background-position: 50%;
  border: none;
  opacity: 0;
  pointer-events: none;
  transition: background 0.5s, opacity 1s;
}

.btn-stateonly {
  background: rgb(255, 255, 255);
  background: -webkit-linear-gradient(90deg, rgb(255, 255, 255) 0%, rgb(255, 255, 255) 100%);
  background: linear-gradient(0deg, rgb(255, 255, 255) 0%, rgb(255, 255, 255) 100%);
}

.btn-stateonly > label {
  color: gray;
  font-style: italic;
}

.btn-panel {
  padding: 0.2rem;
  margin-top: 0.2rem;
  text-align: right;
  border-top: solid 3px gainsboro;
}

.fld-btn-right {
  color: #2196f3;
  border-top-left-radius: 0px;
  border-bottom-left-radius: 0px;
}

.fld-btn-left {
  color: #2196f3;
}

.btn-toggle:not([disabled]):not(.disabled):hover,
.fld-btn-left:not([disabled]):not(.disabled):hover,
.fld-btn-left:not([disabled]):not(.disabled).hover,
.fld-btn-right:not([disabled]):not(.disabled):hover,
.fld-btn-right:not([disabled]):not(.disabled).hover {
  color: #0c7cd5;
}

.btn-border:not([disabled]):not(.disabled):hover,
.btn-border:not([disabled]):not(.disabled).hover,
.btn:not([disabled]):not(.disabled):hover,
.btn:not([disabled]):not(.disabled).hover {
  color: white;
  background: #88acda;
}

.btn-toggle:not([disabled]):not(.disabled):active,
.fld-btn-left:not([disabled]):not(.disabled):active,
.fld-btn-left:not([disabled]):not(.disabled).active,
.fld-btn-right:not([disabled]):not(.disabled):active,
.fld-btn-right:not([disabled]):not(.disabled).active,
.btn-border:not([disabled]):not(.disabled):active,
.btn-border:not([disabled]):not(.disabled).active,
.btn:not([disabled]):not(.disabled):active,
.btn:not([disabled]):not(.disabled).active {
  color: white;
  background: #2196F3;
  background: linear-gradient(180deg, #42a6f5, #2196F3);
  opacity: 0.5;
}

.tab-contents {
  border: solid 1px silver;
  border-bottom-right-radius: 3px;
  border-bottom-left-radius: 3px;
  border-top-right-radius: 3px;
}

.tab-item {
  border: solid 1px silver;
  border-top-right-radius: 3px;
  border-top-left-radius: 3px;
  background-color: white;
}

.dropdown-panel {
  background-color: white;
  border: solid 1px silver;
  border-radius: 3px;
}

.header-background {
  color: white;
  background: #007bff linear-gradient(180deg, #007bff, #007bff);
}

table.optOuter {
  border-radius: 3px;
  color: black;
}

tr.optHeader > td {
  border-bottom: solid 2px black;
  border-top-right-radius: 3px;
  border-top-left-radius: 3px;
}

table.optBody > tbody > tr > td:last-child,
table.optHeader > tbody > tr > td:last-child {
  border: none;
}

table.optBody td,
table.optHeader td {
  border-right: solid 1px gray;
}

table.crud-table > tbody > tr.selected > td:not(.btn-remove, .btn-edit),
table.optBody > tbody > tr.selected {
  background: #2196F3 linear-gradient(180deg, #42a6f5, #2196F3);
  color: white;
}

table.crud-table > tbody > tr:hover > td:not(.btn-remove, .btn-edit),
table.optBody > tbody > tr:hover {
  background: #88acda;
  color: white;
}

div.picBody {
  display: flex;
}

div.picBodyTemp {
  order: 1;
  margin-left: auto;
}

div.picBodySetpoints {
  order: 2;
}

div.picBodyIcon {
  order: 3;
  margin-left: 0;
}

div.picBodyIcon > div:first-child {
  margin-bottom: 2px;
}

div.picControllerStatus > div.picIndicator {
  display: inline-block;
  border: solid 1px silver;
  background: white;
  vertical-align: text-top;
  border-radius: 25%;
  background-color: #007bff;
  border-color: #007bff;
  width: 1em;
  height: 1em;
}

div.picIndicator {
  display: inline-block;
  vertical-align: text-top;
  border-radius: 0.25rem;
  width: 2.5em;
  height: 2em;
  color: white;
  background-color: #007bff;
  border-color: #007bff;
  order: 10;
}

div.picIndicator[data-status=on],
div.picIndicator[data-status=ready],
div.picControllerStatus > div.picIndicator[data-status=ready],
div.picIndicator[data-status=selected],
div.picIndicator[data-status=true] {
  background-color: #28a745;
  border-color: #28a745;
}

div.picIndicator[data-status=delayoff],
div.picIndicator[data-status=delay] {
  background-color: rgb(255, 255, 28);
  border-color: rgb(255, 255, 28);
  color: rgba(27, 27, 27, 0.4);
  /* animation: blinker 1s linear infinite;
  -webkit-animation: blinker 1s infinite linear; */
}

div.picIndicator[data-status=delayon] {
  color: white;
  background-color: #007bff;
  border-color: #007bff;
  animation: blinker 1s linear infinite;
  -webkit-animation: blinker 1s infinite linear;
}

div.picIndicator[data-status=selected]::before {
  content: "✔";
  position: relative;
  top: calc(0.5rem - 5px);
  left: calc(0.8rem - 5px);
}

div.picIndicator[data-status=on]::before,
div.picIndicator[data-status=true]::before {
  content: "On";
  position: relative;
  top: calc(0.8rem - 5px);
  left: calc(0.8rem - 5px);
}

div.picIndicator[data-status=off]::before,
div.picIndicator[data-status=false]::before {
  content: "Off";
  position: relative;
  top: calc(0.8rem - 5px);
  left: calc(0.8rem - 5px);
}

div.picIndicator[data-status=delayoff]::before {
  content: "Del";
  position: relative;
  top: calc(0.8rem - 5px);
  left: calc(0.8rem - 5px);
}

div.picIndicator[data-status=delayon]::before {
  content: "Del";
  position: relative;
  top: calc(0.8rem - 5px);
  left: calc(0.8rem - 5px);
}

div.picIndicator[data-status=delay]::before {
  content: "Del";
  position: relative;
  top: calc(0.8rem - 5px);
  left: calc(0.8rem - 5px);
}

div.picBodyIcon > div.picIndicator::before {
  left: calc(0.3rem - 5px);
  top: 0.75em;
}

div.picIndicator[data-status=pending],
div.piscIndicator[data-status=timeout] {
  background: -moz-radial-gradient(center, ellipse cover, rgb(255, 255, 28) 0%, rgb(204, 201, 73) 85%, rgb(196, 192, 81) 100%);
  background: -webkit-radial-gradient(center, ellipse cover, rgb(255, 255, 28) 0%, rgb(204, 201, 73) 85%, rgb(196, 192, 81) 100%);
  background: -o-radial-gradient(center, ellipse cover, rgb(255, 255, 28) 0%, rgb(204, 201, 73) 85%, rgb(196, 192, 81) 100%);
  background: -ms-radial-gradient(center, ellipse cover, rgb(255, 255, 28) 0%, rgb(204, 201, 73) 85%, rgb(196, 192, 81) 100%);
  background: radial-gradient(ellipse farthest-corner at center, rgb(255, 255, 28) 0%, rgb(204, 201, 73) 85%, rgb(196, 192, 81) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr="nth(nth($color-stops, 1), 1)", endColorstr="nth(nth($color-stops, 2), 1)", GradientType=1);
}

div.picIndicator[data-status=loading] {
  background: -moz-radial-gradient(center, ellipse cover, rgb(255, 175, 75) 0%, rgb(255, 146, 10) 100%);
  background: -webkit-radial-gradient(center, ellipse cover, rgb(255, 175, 75) 0%, rgb(255, 146, 10) 100%);
  background: -o-radial-gradient(center, ellipse cover, rgb(255, 175, 75) 0%, rgb(255, 146, 10) 100%);
  background: -ms-radial-gradient(center, ellipse cover, rgb(255, 175, 75) 0%, rgb(255, 146, 10) 100%);
  background: radial-gradient(ellipse farthest-corner at center, rgb(255, 175, 75) 0%, rgb(255, 146, 10) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr="nth(nth($color-stops, 1), 1)", endColorstr="nth(nth($color-stops, 2), 1)", GradientType=1);
}

div.picIndicator[data-status=error] {
  background: -moz-radial-gradient(center, ellipse cover, rgb(255, 173, 41) 0%, rgb(255, 0, 0) 100%);
  background: -webkit-radial-gradient(center, ellipse cover, rgb(255, 173, 41) 0%, rgb(255, 0, 0) 100%);
  background: -o-radial-gradient(center, ellipse cover, rgb(255, 173, 41) 0%, rgb(255, 0, 0) 100%);
  background: -ms-radial-gradient(center, ellipse cover, rgb(255, 173, 41) 0%, rgb(255, 0, 0) 100%);
  background: radial-gradient(ellipse farthest-corner at center, rgb(255, 173, 41) 0%, rgb(255, 0, 0) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr="nth(nth($color-stops, 1), 1)", endColorstr="nth(nth($color-stops, 2), 1)", GradientType=1);
}

.btn-toggle.fld-btn-left {
  color: black;
}

.btn-toggle.fld-btn-right {
  color: black;
}

.btn-toggle.fld-btn-center {
  color: black;
}

.btn-toggle[data-selected=true] {
  color: cornflowerblue;
  border-bottom: solid 1px black;
}

.picHeaterStatusIcon {
  order: 0;
  margin-top: 20px;
}

div.picModules {
  margin-bottom: 5px;
}

div.picCircuit.btn, div.picFeature.btn, div.picCircuitGroup.btn,
div.picFilters > *,
div.picPumps > *, div.picVirtualCircuit.btn {
  align-items: center;
}
