@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@100;200;300;400;500;600;700;800;900&display=swap");

* {
  padding: 0;
  margin: 0;
  list-style: none;
  text-decoration: none;
  box-sizing: border-box;
  font-family: "Poppins", sans-serif;
}

html {
  scroll-behavior: smooth;
}

body {
  width: 100%;
  position: relative;
  padding: 0px;
  margin: 0px;
}
main {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.h1wrap {
  width: 100%;
  display: flex;
  height: 55px;
  justify-content: center;
  align-items: center;
}
.mainh1 {
  display: flex;
  width: 1520px;
  justify-content: center;
  align-items: center;
  color: #fff;
  font-size: 23px;
  font-weight: bold;
}
.mainSection {
  width: 100%;
  display: flex;
  flex-direction: row;
  justify-content: center;
  background: #fff;
}
.mainSection .column1 {
  width: 360px;
  border: 5px solid black;
  background-color: rgba(233, 233, 233, 0.855);
}
.mainSection .column2 {
  width: 1160px;
  padding: 15px 0px 15px 0px;
  display: flex;
  gap: 0.8em;
  flex-wrap: wrap;
  border: 5px solid black;
  align-items: center;
  justify-content: space-evenly;
}
.orgChartWrap {
  width: 1253px;
  max-width: 1300px;
  display: flex;
  justify-content: space-evenly;
  gap: 3em;
  flex-wrap: wrap;
  margin: 4% 0%;
}
.mainSection .announcement {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.announcement .announceContainer {
  display: flex;
  gap: 1em;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 15px 20px 0px;
}
.announceContainer .announcement1,
.announceContainer .announcement2,
.announceContainer .announcement3,
.announceContainer .announcement4 {
  width: 100%;
  height: 210px;
  cursor: pointer;
}
.announceContainer h6 {
  width: 100%;
  padding: 5px;
  font-size: 20px;
  color: rgb(219, 219, 219);
  text-align: center;
  background-color: rgba(0, 89, 179, 1);
}
.mainSection .materialTesting,
.mainSection .accreditation,
.mainSection .documentLinks,
.mainSection .constructionMaterials {
  width: 330px;
  height: 270px;
  background-color: rgba(233, 233, 233, 0.855);
  border-radius: 10px;
  overflow: hidden;
}
.mainSection div h6 {
  padding: 5px;
  font-size: 20px;
  color: rgb(219, 219, 219);
  text-align: center;
  background-color: rgba(0, 89, 179, 1);
}
.ePImg-wrap,
.acImg-wrap {
  height: 270px;
  width: 100%;
}
.ePImg,
.qaimsImg {
  height: 96.5%;
  width: 100%;
}
.dl-wrap,
.cm-wrap {
  height: auto;
  width: 100%;
  margin: 10px 0px;
  display: grid;
  justify-content: center;
  gap: 0.5rem;
}
.dl-wrap a,
.cm-wrap a {
  width: 300px;
  padding: 5px;
  font-size: 16px;
  text-align: center;
  color: #fff;
  background: rgb(43, 75, 113);
  border-radius: 1px;
  text-decoration: none;
  box-shadow: 0 0 10px rgb(0, 0, 0, 0.2);
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: box-shadow, transform;
  transition-property: box-shadow, transform;
}
.dl-wrap a:hover,
a:focus,
a:active {
  box-shadow: 0 0 20px rgb(0, 0, 0, 0.7);
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
}
.cm-wrap a:hover,
a:focus,
a:active {
  box-shadow: 0 0 20px rgb(0, 0, 0, 0.7);
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
}
#viewer {
    width: 80%;
    height: 90vh;
}

@media (max-width: 768px) {

  /* ===== GLOBAL SAFETY ===== */
  html, body {
    height: auto !important;
    min-height: 100%;
    overflow-x: hidden;
  }

  body {
    position: relative;
  }

  /* ===== FIX DESKTOP WIDTH TRAPS ===== */
  .mainh1,
  .orgChartWrap,
  .mainSection .column1,
  .mainSection .column2 {
    width: 100% !important;
    max-width: 100%;
  }

  /* ===== STACK MAIN SECTIONS ===== */
  .mainSection {
    flex-direction: column;
    align-items: stretch;
  }

  .mainSection .column1,
  .mainSection .column2 {
    border: none;
  }

  /* ===== ANNOUNCEMENTS ===== */
  .announceContainer .announcement1,
  .announceContainer .announcement2,
  .announceContainer .announcement3,
  .announceContainer .announcement4 {
    height: auto;
    min-height: 160px;
  }

  /* ===== MATERIAL / CARD BLOCKS ===== */
  .mainSection .materialTesting,
  .mainSection .accreditation,
  .mainSection .documentLinks,
  .mainSection .constructionMaterials {
    width: 100%;
    height: auto;
  }

  /* ===== IMAGE FIX ===== */
  img,
  .ePImg,
  .qaimsImg {
    max-width: 100%;
    height: auto;
  }

  /* ===== KILL VH SCROLL BUG ===== */
  #viewer {
    height: auto;
    min-height: 60vh;
  }

}
