@font-face {
  font-family: "Source-Serif-Pro";
  font-style: bold;
  src: url("../fonts/source-serif-pro/SourceSerifPro-Bold.ttf");
}

@font-face {
  font-family: "Lato";
  font-style: normal;
  src: url("../fonts/Lato/Lato-Regular.ttf");
}

:root {
  --bg-body: #f5f5f5;
  --bg-body-dark: #eaecf0;
  --color-border: #e1e1e1;
  --bg-white: #ffffff;
  --link-active: #d6ac6e;
  --water-mater: #10ae4f;
  --water-mater-light: #fcdb58;
  --water-mater-warning: #ffa000;
  --water-mater-danger: #e03d3d;
  --water-mater-extreem: #34005c;
  --water-mater-blue: #5197d8;
  --water-mater-brown: #d6ac6e;
  --rain-cloud: #f5f5f5;
  --rain-light: #88caf9;
  --rain-medium: #fad493;
  --rain-heavy: #f7b57b;
  --rain-very-heavy: #f59896;
  --rain-ekstream: #a999b5;
  --bg-hover: #a3d4f7;
  --blue-btn: #0094ff;
  --ews-normal: #2338f1;
  --ews-siaga: #25ea13;
  --ews-waspada: #f9fe0d;
  --ews-awas: #f6a611;
  --ews-bahaya: #d31515;
  --water-normal: #0169cd;
  --bg-status-water: #f6ecde;
  --device-on: #ecfdf3;
  --device-off: #fef3f2;
  --bg-device-on: #d1fadf;
  --bg-device-off: #fee4e2;
  --number-on: #039855;
  --number-off: #f04438;
}

.hero {
  height: 100vh;
  background-image: url(../img/hero_image.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

.hero .hero-title {
  font-family: Source-Serif-Pro;
  font-size: 40px;
}

.hero .hero-description {
  font-family: Lato;
  font-size: 16px;
}

.hero .container-card {
  bottom: -81px;
}

#cardDashboard,
#cardEWS,
#cardWaterBalance {
  cursor: pointer;
}

.hero .container-card {
  gap: 32px;
}

.hero .card-nav-hero {
  border-radius: 12px;
}

.hero .cards {
  width: 402.67px;
  height: 163px;
  padding: 24px;
  background-color: var(--bg-white);
}

.hero .cards img {
  width: 70px;
  height: 70px;
}

.hero .cards a {
  color: var(--link-active);
  font-family: Lato;
  font-size: 24px;
}

.about-section {
  background-color: var(--bg-body);
  padding-top: 130px;
  padding-bottom: 102.5px;
}

.about-section .info-text-container {
  padding-top: 61.5px;
}

.about-section h2.information-title {
  color: var(--link-active);
  font-family: Source-Serif-Pro;
}

.about-section .list-informasi {
  font-family: Lato;
  font-size: 20px;
}

.about-section .info-text-container img {
  width: 32px;
  height: 32px;
}

.about-section .map-about img {
  width: 591px;
  height: 415.66px;
}

.about-section .bg-gradient-map {
  background: linear-gradient(
    282.05deg,
    var(--link-active) -60.27%,
    rgba(214, 172, 110, 0) 77.2%
  );
  /* width: 121%; */
  width: calc(100% + 110px);
  height: 253px;
  position: absolute;
  bottom: 0px;
  z-index: -1;
}

.overview-device-section {
  background-color: var(--bg-body);
  padding-top: 100px;
  padding-bottom: 68px;
}

.overview-device-heading {
  color: var(--link-active);
  font-family: Source-Serif-Pro;
  font-size: 36px;
}
.overview-device-section .device-decription {
  font-family: Lato;
  font-size: 20px;
  margin-bottom: 50px;
}

.overview-device-section .container-cards-device {
  /* gap: 32px; */
}

.overview-device-section .card-device {
  background-color: var(--bg-white);
  height: 138px;
  margin-bottom: 12px;
  /* width: 402px; */
  padding: 18px;
  gap: 14px;
  border-radius: 12px !important;
}

.overview-device-section .card-device:hover {
  box-shadow: 0px 16px 32px -8px #0c0c0d66;
}

.overview-device-section .count-device {
  background-color: #fdf2df;
  color: var(--link-active);
  padding: 15px 21.5px;
  font-family: Lato;
  font-weight: 700;
  font-size: 40px;
}

.wadahtotal {
  width: 89.41px;
}

.overview-device-section .device-name {
  font-family: Lato;
  font-size: 24px;
}

.overview-device-section .container-total {
  gap: 12px;
}

.overview-device-section .count-on {
  background-color: var(--device-on);
  max-width: 116px;
  height: 36px;
  padding-left: 12px;
  padding-right: 17px;
  padding-top: 6px;
  padding-bottom: 6px;
}

.overview-device-section .total-on {
  background-color: var(--bg-device-on);
  padding: 2.5px 7px;
  font-size: 16px;
  width: 24px;
  height: 24px;
  border-radius: 8px;
  color: var(--number-on);
  margin-left: 16px;
}

.overview-device-section .count-off {
  background-color: var(--device-off);
  max-width: 116px;
  height: 36px;
  padding-left: 12px;
  padding-right: 15px;
}

.overview-device-section .total-off {
  background-color: var(--bg-device-off);
  padding: 2.5px 7px;
  font-size: 16px;
  width: 24px;
  height: 24px;
  border-radius: 8px;
  color: var(--number-off);
  margin-left: 16px;
}

.update-informasi {
  padding-bottom: 100px;
}

.update-informasi h2.update-informasi-title {
  color: var(--link-active);
  font-family: Source-Serif-Pro;
  font-size: 36px;
  padding-top: 100px;
  margin-bottom: 50px;
}

.update-informasi .update-informasi-row {
  gap: 54px;
}

.status-normal {
  background-color: var(--water-normal);
  color: var(--bg-white);
}

.status-standby {
  background-color: var(--water-normal);
  color: var(--bg-white);
}

.status-surplus {
  background-color: var(--water-mater);
  color: var(--bg-white);
}

.update-informasi .parent-accordion-container {
  width: 590px;
  gap: 17px;
}

.badge-meter-normal {
  background-color: var(--ews-normal);
  color: white;
}
.badge-meter-siaga {
  background-color: var(--ews-siaga);
  color: white;
}
.badge-meter-waspada {
  background-color: var(--ews-waspada);
  color: white;
}
.badge-meter-awas {
  background-color: var(--ews-awas);
  color: white;
}
.badge-meter-bahaya {
  background-color: var(--ews-bahaya);
  color: white;
}
.badge-meter-surplus {
  background-color: var(--ews-siaga);
  color: white;
}
.badge-meter-defisit {
  background-color: var(--ews-bahaya);
  color: white;
}

button.parent-accordion {
  font-weight: 500;
}

/* .parent-accordion-container .accordion-item {
  border: 1px solid #333;
} */

.parent-accordion-container .accordion-item:not(.accordion-item-collapse) {
  border: 1px solid var(--bg-white);
  margin-bottom: 5px;
  border-radius: 8px;
}

.update-informasi .status-water {
  height: 34px;
  padding: 6px 16px;
  font-family: Lato;
  font-size: 14px;
  text-transform: capitalize;
}

.update-informasi .sub-accordion-container {
  padding: 4px 8px 8px 8px;
  background-color: var(--bg-body);
  gap: 4px;
  display: flex;
  flex-direction: column;
}

.update-informasi .sub-accordion-container h2 {
  height: 40px;
}

.accordion-button:focus {
  box-shadow: none;
}

.update-informasi .sub-accordion-button {
  background-color: var(--link-active);
  margin-bottom: 4px;
  padding-top: 8px;
  padding-bottom: 8px;
  font-weight: 500;
}

.accordion-button.parent-accordion:not(.collapsed) {
  background-color: var(--bg-white);
}

.accordion-button.sub-accordion-button:not(.collapsed)::after {
  background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"><path d="M6 9L12 15L18 9" stroke="%23101828" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><path d="M6 9L12 15L18 9" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>');
  width: 24px;
  height: 24px;
  background-size: cover;
  color: #fff;
}

.accordion-button.sub-accordion-button::after {
  background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"><path d="M6 9L12 15L18 9" stroke="%23101828" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><path d="M6 9L12 15L18 9" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>');
  width: 24px;
  height: 24px;
  background-size: cover;
  color: #fff;
}

.accordion-button.parent-accordion:not(.collapsed)::after {
  background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"><rect width="24" height="24" rx="12" fill="%23FFF0D6"/><path d="M5 12H19" stroke="%23D6AC6E" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>');
  width: 24px;
  height: 24px;
  background-size: 24px;
}

.accordion-button.parent-accordion::after {
  background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"><rect width="24" height="24" rx="12" fill="%23FFF0D6"/><path d="M12 5V19M5 12H19" stroke="%23D6AC6E" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>');
  width: 24px;
  height: 24px;
  background-size: 24px;
}

.accordion-button:not(.collapsed) {
  box-shadow: none;
}

.update-informasi .container-status {
  background-color: var(--bg-status-water);
  height: 36px;
  padding-top: 1px;
  padding-bottom: 1px;
  padding-right: 1px;
  border-radius: 6px;
}

.update-informasi .container-status .wilayah {
  font-weight: 500;
}

.update-informasi #map {
  height: 635px;
  width: 635px;
}

footer {
  background-image: url(../img/Union.png);
  /* height: 405px; */
  background-repeat: no-repeat;
  background-position: top;
  background-size: cover;
  padding-top: 131px;
}

footer .balai-wilayah {
  font-size: 20px;
  font-family: Lato;
}

footer .logo-footer-pupr {
  margin-bottom: 16px;
}

footer .pupr-name {
  font-size: 14px;
  font-family: Lato;
  margin-bottom: 16px;
}

footer .list-menu-footer {
  font-family: Lato;
  list-style: none;
  font-size: 14px;
}

footer .parent-list-menu .list-menu-footer:nth-child(3),
footer .parent-list-menu .list-menu-footer:nth-child(2) {
  margin-bottom: 16px;
}

footer .menu-title-footer {
  font-family: Lato;
  font-size: 20px;
  margin-bottom: 20px;
}

footer .navigasi-footer {
  font-family: Lato;
}

footer .menu-title-footer a {
  font-family: Lato;
}

footer .alamat-footer-title {
  font-family: Lato;
  font-size: 20px;
  margin-bottom: 20px;
}

footer .alamat-footer {
  font-family: Lato;
  font-size: 14px;
}

footer .copyright hr.garis-copyright {
  height: 0.1px;
}

footer .copyright {
  /* padding-top: 32px; */
}

.footer-atas {
  padding-bottom: 22px;
}

footer .container-menu-footer {
}

footer .container-alamat {
  /* width: auto; */
}

footer .copyright p {
  padding-top: 24px;
  padding-bottom: 24px;
  border-top: 1px solid rgba(255, 255, 255, 0.2);
}

@media screen and (max-width: 1400px) {
  .overview-device-section .card-device .count-device {
    font-size: 35px;
  }

  .overview-device-section .card-device .device-name {
    font-size: 20px;
  }

  .overview-device-section .container-total {
    gap: 10px;
  }

  .overview-device-section .count-on {
    max-width: 116px;
    height: 36px;
    padding-left: 10px;
    padding-right: 14px;
    padding-top: 6px;
    padding-bottom: 6px;
  }

  .overview-device-section .total-on {
    padding: 2.5px 7px;
    border-radius: 8px;
    margin-left: 12px;
  }

  .overview-device-section .count-off {
    max-width: 116px;
    height: 36px;
    padding-left: 10px;
    padding-right: 13px;
  }

  .overview-device-section .total-off {
    padding: 2.5px 7px;
    border-radius: 8px;
    margin-left: 12px;
  }

  footer .container-menu-footer {
    align-items: center;
  }
}

@media screen and (min-width: 4815px) {
  .hero-title {
    font-size: 80px !important;
  }

  .hero-description {
    font-size: 32px !important;
  }

  #cardDashboard a,
  #cardEWS a,
  #cardWaterBalance a {
    font-size: 48px !important;
  }

  #cardDashboard,
  #cardEWS,
  #cardWaterBalance {
    width: 805px;
    height: 336px;
    padding: 48px;
  }

  #cardDashboard img,
  #cardEWS img,
  #cardWaterBalance img {
    width: 140px;
    height: 140px;
  }

  .information-title {
    font-size: 72px !important;
  }

  .list-informasi {
    font-size: 40px !important;
  }

  .about-section .info-text-container img {
    width: 64px;
    height: 64px;
  }
  .about-section .container {
    max-width: 2640px;
  }

  .about-section .map-about img {
    width: 1182px !important;
    height: 830.66px !important;
  }

  .about-section .bg-gradient-map {
    height: 50% !important;
  }

  .overview-device-heading {
    font-size: 72px;
  }

  .overview-device-section .container {
    max-width: 2450px;
  }

  .device-decription {
    font-size: 40px !important;
  }

  .container-total {
    font-size: 18px;
  }

  .total-on,
  .total-off {
    font-size: 18px !important;
  }

  .cards-alat-terinstalasi {
    zoom: 2;
  }

  .update-informasi {
    zoom: 2;
  }

  footer {
    zoom: 2;
  }
}
