* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}


.top-bar {
  height: 10%;
  width: 100%;
  text-align: left;
  /* margin: 10px 20px; */
  display: flex;
  flex-direction: row;
}

#activeMenu {
  background-color: rgb(78, 92, 110); 
  border-radius: 4px;
}

.logoImgContainer {
  width: 50%;
  display: flex;
  align-items: center;
}

.logoImgContainerSmall {
  width: 73%;
  display: flex;
  align-items: center;
}

.top-barButtonContainer {
  width: 50%;
  display: flex;
  align-items: center;
  justify-content: right;
}

.innerLogoIngContainer {
  /* background-color: rgba(255, 255, 255, 0.5); */
  text-align: center;
  width: 76px;
  /* height: 55px; */
  border-radius: 4px;
  /* padding: 5px; */
  position: fixed;
}

.innerLogoIngContainerSmall {
  /* background-color: rgba(255, 255, 255); */
  text-align: center;
  width: 76px;
  height: 55px;
  border-radius: 4px;
  /* padding: 5px; */
}

.toggleLogoSmall {
  display: none !important;
}

.logoImage {
  width: 62%;
}

.top-barButtonContainer button {
  /* display: none; */
  width: 200px;
  border: none;
  padding: 15px;
  font-family: 'Rubik', sans-serif;
  cursor: pointer;
  text-transform: uppercase;
  background: #2d3b55;
  color: white;
  border-radius: 3px;
  letter-spacing: 0.2px;
  margin-left: 10px;
}

.top-bar button a {
  text-decoration: none;
  color: white;
}

.top-bar button:hover {
  background: #717e9a;
}

.sub-form-head {
  padding: 35px 35px 0 35px;
  /* font-weight: 300; */
  text-align: center;

}

.down-bar {
  height: 90%;
  display: flex;
  flex-direction: column;
  align-items: center; /* Center horizontally */
  justify-content: center; /* Center vertically */
}

.down-bar-installer {
  padding: 50px 0;
}

.login-form {
  background: #fff;
  width: 500px;
  margin: auto auto;
  display: flex;
  flex-direction: column;
  border-radius: 4px;
  box-shadow: 0 2px 25px rgba(0, 0, 0, 0.2);
}

.login-form h1 {
  padding: 35px 35px 0 35px;
  font-weight: 300;
  text-align: left;
}

.login-form .content {
  padding: 35px;
  text-align: center;
}

.login-form .input-field {
  padding: 12px 5px;
}

.login-form .input-field input {
  display: block;
  font-family: 'Rubik', sans-serif;
  letter-spacing: 0.2px;
  font-size: 14px;
  width: 100%;
  padding: 10px 1px;
  border: 0;
  border-bottom: 1px solid #747474;
  outline: none;
  transition: all .2s;
}

.password-container {
  position: relative;
}

.password-toggle {
  position: absolute;
  top: 32%;
  right: 10px;
  cursor: pointer;
  box-sizing: border-box;
}

.password-toggle img {
  width: 17px;
  filter: grayscale(100%);
}

.input-field input::placeholder {
  text-transform: uppercase;
}

.input-field input:focus {
  border-color: #222;
}

.login-form .remember {
  text-decoration: none;
  color: #747474;
  font-size: 12px;
  letter-spacing: 0.2px;
  text-transform: uppercase;
  display: inline-block;
  margin-top: 20px;
}

.login-form .action {
  display: flex;
  flex-direction: row;
}

.login-form button {
  width: 100%;
  border: none;
  padding: 18px;
  font-family: 'Rubik', sans-serif;
  cursor: pointer;
  text-transform: uppercase;
  background: #e8e9ec;
  color: #777;
  border-bottom-left-radius: 4px;
  border-bottom-right-radius: 0;
  letter-spacing: 0.2px;
  outline: 0;
  transition: all .3s;
}

.login-form button:hover {
  background: #d8d8d8;
}

.login-form button:nth-child(2) {
  background: #2d3b55;
  color: #fff;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 4px;
}

.login-form button:nth-child(2):hover {
  background: #3c4d6d;
}

.login-form-installer {
  background: #fff;
  width: 1000px;
  margin: auto;
  display: flex;
  flex-direction: column;
  border-radius: 4px;
  box-shadow: 0 2px 25px rgba(0, 0, 0, 0.2);
}

.login-form-installer h1 {
  padding: 35px 35px 35px 35px;
  font-weight: 300;
  text-align: center;
}

.login-form-installer h5 {
  padding: 0 0 20px 0;
  font-weight: 0;
  text-align: center;
  color: #7d7b7b;
}

.login-form-installer .content {
  padding: 35px 35px 35px 35px;
  text-align: center;
}

.login-form-installer .input-field {
  padding: 12px 5px;
}

.login-form-installer .input-field input {
  /* display: block; */
  font-family: 'Rubik', sans-serif;
  letter-spacing: 0.2px;
  font-size: 14px;
  width: 100%;
  padding: 10px 0px;
  border: 0;
  border-bottom: 1px solid #747474;
  outline: none;
  transition: all .2s;
}

.input-field input::placeholder {
  text-transform: uppercase;
}

.input-field input:focus {
  border-color: #222;
}

.login-form-installer a.link {
  text-decoration: none;
  color: #747474;
  font-size: 14px;
  letter-spacing: 0.2px;
  text-transform: uppercase;
  display: inline-block;
  margin-top: 20px;
}

.login-form-installer .action {
  display: flex;
  flex-direction: row;
}

#saveButton{
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0px 35px;
}

.save-button {
  margin: 0 5px;
}

#unitTable {
  width: 100%;
  padding: 35px;
  color: #2d3b55;
}

#unitTable th{
  text-align: center;
  color: #2d3b55;
  border: 0;
  border-bottom: 1px solid #747474;
}

#unitTable td{
  text-align: center;
  color: #424b5b;
}

#unitTable th, #unitTable td {
    font-family: 'Rubik', sans-serif;
    letter-spacing: 0.2px;
    font-size: 14px;
    padding: 6px 0;
}

.pleaseNote {
  padding: 35px 35px 0 35px;
  font-weight: 300;
  font-size: 14px;
  color: #858484;
  letter-spacing: 0.2px;
  outline: 0;
  transition: all .3s;
  text-align: left;
}

.mainContainer {
  display: flex;
  height: 100vh;
}

.layoutRight {
  background-color: #e35869; /* #8e8788; */
  font-family: 'Rubik', sans-serif;
  letter-spacing: 0.2px;
  height: 100vh;
}

.menuItem {
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.menuItem img {
  padding-bottom: 20%;
}

.menuItem a {
  text-decoration: none;
  text-align: center;
  color: white;
  font-family: 'Rubik', sans-serif;
  letter-spacing: 0.2px;
  font-size: 10px;
}

.flex-item {
  flex: 1;
}

.displaySmall {
  display: none;
}

#units, #bill_cycle, #life_support, #billNo, #filterUnit, #filterStatus, #applyFilter {
  font-family: 'Rubik', sans-serif;
  letter-spacing: 0.2px;
  font-size: 14px;
  width: 100%;
  padding: 10px 0px;
  border: 0;
  border-radius: 4px;
  outline: none;
  transition: all .2s;
  background-color: rgb(78, 92, 110);
  color: white;
}

.meter_types {
  font-family: 'Rubik', sans-serif;
  letter-spacing: 0.2px;
  font-size: 14px;
  width: 100%;
  padding: 10px 0px;
  border: 0;
  border-radius: 4px;
  outline: none;
  transition: all .2s;
  background-color: rgb(78, 92, 110);
  color: white;
}

#unitTable {
  border-collapse: collapse;
}

#unitTbody, #unitTbodyDynamic, #unitTbodyUnit {
  background-color: #2d3b55;
}

#unitTbody tr td, #unitTbodyDynamic tr td, #unitTbodyUnit tr td {
  color: white;
  border-bottom: 1px solid rgb(78, 92, 110);
  padding: 6px 25px;
}

#unitTbody tr td input, #unitTbodyDynamic tr td input, #unitTbodyUnit tr td input {
  width: 100%;
  background-color: rgb(78, 92, 110);
  /* border-bottom: 1px solid white; */
  border-radius: 4px;

  border: 0;
  outline: none;
  transition: all 0.2s;
  /* border-bottom: 1px solid white; */
  padding: 10px;
  color: white;
  font-size: 14px;
}

#unitTbody tr td input::placeholder, #unitTbodyDynamic tr td input::placeholder, #unitTbodyUnit tr td input::placeholder {
  color: white;
}

#unitTable th,
#unitTable td {
  font-size: 16px !important;
}

@media only screen and (max-width: 500px) {
  .chicklist {
      padding: 50px 70px;
  }

  .login-form-installer .input-field {
      padding: 12px 22px !important;
  }
}

@media only screen and (max-width: 395px) {
  .chicklist {
      padding: 5px 35px;
      font-size: 15px;
  }
}

@media only screen and (max-width: 380px) {
  .chicklist {
      padding: 5px 35px;
      font-size: 15px;
  }

  .login-form-installer h1 {
      padding: 35px !important;
      font-size: 25px;
  }
}

@media only screen and (min-width: 960px) {

  .layoutLeft {
      display: grid;
      grid-template-columns: auto;
      background-color: #2d3b55;
      padding: 10px;
      /*  */
      flex: 0 0 auto;
      /* Don't grow or shrink, stay fixed width */
      min-width: 4vw;
      /* Adjust width as needed */
      height: 100%;
      overflow-y: auto;


  }

  .layoutRight {
      height: 100vh;
      overflow-y: auto;
      padding: 10px;
  }

  .menuItem {
      border-bottom: 1px solid #3e4b63;
  }

  /* .sub-container {
      flex: 0 0 auto;
      width: auto;
      min-width: 4vw;
      height: 100%;
  } */
}

@media only screen and (max-width: 960px) {

  .mainContainer {
      display: flex;
      flex-direction: column-reverse;
      height: 100vh;
  }

  .layoutLeft {
      display: grid;
      grid-template-columns: auto auto auto auto auto auto;
      background-color: #2d3b55;
      padding: 10px;
  }

  .layoutRight {
      overflow-y: auto;
      padding: 10px;
  }

  .menuItem {
      border-left: 1px solid #3e4b63;
  }

  .menuItem a {
      text-align: center;
  }

  .menuItem img {
      padding-bottom: 5%;
  }

  .sub-container {
      flex: 0 0 auto;
      /* Set flex-grow to 0, flex-shrink to 0, and flex-basis to auto */
      height: auto;
      /* Reset width to auto, allowing it to adjust based on content */
      min-height: 2vh;
      /* Set a minimum width using viewport width (vw) units */
  }
}

@media only screen and (max-width: 960px) {
  .displaySmall {
      display: block;
  }

  .displayBig {
      display: none;
  }

  .toggleLogoSmall {
    display: flex !important;
    justify-content: center;
  }

  .toggleLogoBig {
    display: none !important;
  }
}

@media only screen and (max-width: 300px) {
  .menuItem a p {
      display: none;
  }
}

@media only screen and (max-width: 560px) {
  .login-form {
    width: 90%;
    margin: auto auto;
    /* margin-top: 150px; */
  }
}

@media only screen and (max-width: 510px) {
  /* .login-form .input-field input {
  font-size: 12px;
} */

  .login-form a.link {
    font-size: 12px;
  }
}

@media only screen and (max-width: 1039px) {
  .login-form-installer {
    width: 90%;
    margin: auto auto;
  }
}

@media only screen and (max-width: 510px) {

  .login-form-installer a.link {
    font-size: 12px;
  }
}

.w3-button {
  width: 100%;
  border: none;
  padding: 18px;
  font-family: 'Rubik', sans-serif;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: 0.2px;
  outline: 0;
  transition: all .3s;
}

.w3-button-S {
  background: #2d3b55;
  color: #fff;
}

.w3-button-S:hover {
  background: #3c4d6d;
  color: #fff;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 4px;
  /* border: 8px solid rgb(174, 169, 169); */
}

.w3-button-M {
  background: #e8e9ec;
  color: #777;
}

.w3-button-M:hover {
  background: #d8d8d8;
  /* border: 8px solid rgb(174, 169, 169); */
}

.tablink-bar {
  display: flex;
  flex-direction: row;
}

#inlineGrid {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
}

.inlineGridLeft {
  width: 91%;
}

.inlineGridRight {
  width: 9%;
  text-align: right;
}

@media only screen and (max-width: 430px) {

  .w3-button {
    font-size: 0.6em;
  }
}

@media only screen and (max-width: 360px) {

  .w3-button {
    padding: 10px;
    font-size: 10px;
  }
}

@media only screen and (max-width: 310px) {
  .w3-button {
    padding: 10px;
    font-size: 0.5em;
  }
}