* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  scroll-behavior: smooth;
}

/* <!-- SUB-NAVBAR ---------------------------------------------------------------------------------------------> */
.sub-navbar {
  position: fixed;
  /* Initially positioned relative to the page */
  top: 60%;
  /* Adjust to the point where the navbar should appear */
  left: 2.5%;
  /* Adjust horizontal position */
  display: flex;
  flex-direction: column;
  /* Stack circles vertically */
  gap: 0.625rem;
  /* Space between circles */
  z-index: 1000;
}

/* Sticky behavior */
.sub-navbar.sticky {
  position: fixed;
  /* Makes it stick to the viewport when scrolling */
  top: 60%;
  /* Distance from the top of the screen when sticky */
}

/* Individual circles */
.nav-circle {
  width: 1.875rem;
  height: 1.875rem;
  background-color: #ffffff;
  /* Default color */
  opacity: 25%;
  border-radius: 50%;
  /* Makes it a circle */
  transition: background-color 0.3s ease;
  /* Smooth transition for color changes */
}

/* Change circle color when entering WHITE sections */
.nav-circle.highlighted {
  background-color: #1C449B;
  /* Highlighted color */
}

/* Highlighted circle */
.nav-circle.active {
  opacity: 100%;
}

/* <!-- HERO SECTION ---------------------------------------------------------------------------------------------> */
.hero {
  background: linear-gradient(to right, #1C449B 25%, #1C449B00 60%, #ffffff00), url('/assets/images/homepage_top.jpg');
  /* Gradient + Background Image */
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
  color: white;
}

/* <!-- HERO SECTION Mission Statement ----------------!> */
.mission {
  position: relative;
  display: flex;
  flex-direction: column;
  padding: 10rem 3rem 10rem 3rem;
}

.mission .content {
  margin-top: 3.125rem;
  margin-left: 7.5rem;
}

/* Mission Statement Text */
.mission h1 {
  margin-left: 7.5rem;
}

.mission .content p {
  width: 50%;
}

/* <!-- HERO SECTION Buttons ----------------!> */
.mission .buttons {
  display: grid;
  grid-template-columns: 1fr 1fr;
  /* 2 columns */
  grid-column-gap: 9.375rem;
  grid-row-gap: 3.125rem;
  justify-content: center;
  width: 100%;
  margin-top: 3.125rem;
  padding: 0 5rem 0 5rem;
}

.mobile-image{
  display: none;
}

.mobile-image img{
  width: 100vw;
  height: 100%;
  object-fit: cover;
}

/* <!-- PRIORITIES SECTION ---------------------------------------------------------------------------------------------> */
.priorities {
  display: flex;
  flex-direction: column;
  padding: 10rem 3rem 10rem 3rem;
  color: #1C449B;
  text-align: right;
}

.priorities .content {
  display: grid;
  grid-template-rows: repeat(4, 1fr);
  grid-row-gap: 1rem;
  justify-items: center;
  align-items: start;
  margin-top: 3.125rem;
  margin-left: 1rem;
}

.priorities .content .priority {
  display: flex;
  flex-direction: row;
  align-items: center;
  text-align: left;
  justify-content: center;
}

.priorities .content .info {
  width: 75%;
}

.priorities .content .info.left {
  text-align: left;
  padding-left: 1.5rem;
  padding-right: 10rem;
}

.priorities .content .info.right {
  text-align: right;
  padding-right: 1.5rem;
  padding-left: 10rem;
}

/* ------------------------------------------------------------------------------------------------- */
.icon-placeholder {
  width: 11rem;
  /* Width of the circle */
  height: 11rem;
  /* background-color: #1C449B;
  border-radius: 50%; */
  font-size: 11rem;
  display: flex!important;
  justify-content: center;
  align-items: center;
}

/* Priorities Text */
.priorities .content h3 {
  margin-top: 1.5rem;
}

.priorities .content p {
  font-size: 1.5rem;
  font-weight: 300;
  margin-top: 1.5rem;
}

/* Priorities Buttons */
.priorities .buttons {
  display: flex;
  justify-content: center;
  width: 100%;
  margin-top: 2rem;
}

/* <!-- EVENTS SECTION ---------------------------------------------------------------------------------------------> */
.events {
  background: linear-gradient(to left, #1C449B 25%, #1C449B00 60%, #ffffff00), url('/assets/images/CAMPAIGN.jpg');
  /* Gradient + Background Image */
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
  display: flex;
  flex-direction: column;
  padding: 10rem 3rem 10rem 3rem;
  color: white;
}

.events .content {
  text-align: right;
}

.events .content p {
  padding-left: 40%;
}

/* Events Buttons */
.details {
  display: flex;
  justify-content: center;
  margin-left: 60%;
}

.events .buttons {
  display: grid;
  justify-content: center;
  width: 100%;
  margin-top: 5rem;
}

/* <!-- DISTRICT SECTION ---------------------------------------------------------------------------------------------> */
.district {
  background: linear-gradient(to left, #ffffff 25%, #ffffff00 60%, #ffffff00), url('/assets/images/DISTRICT.png');
  /* Gradient + Background Image */
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
  display: flex;
  flex-direction: column;
  padding: 10rem 3rem 10rem 3rem;
  color: #1C449B;
  text-align: right;
}

.district .content {
  margin-top: 1em;
}

.district .content .column-list {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 2rem;
  justify-items: start;
  padding-left: 45%;
}

.district .content .list {
  padding: 0;
  margin: 0;
}

.district .content .list li {
  text-align: left;
  font-size: 1.75rem;
  letter-spacing: 0.125rem;
}

.district .content p {
  padding-left: 40%;
}

/* <!-- MEDIA QUERIES ---------------------------------------------------------------------------------------------> */
/* <!-- Laptop ----------------!> */
@media only screen and (min-width: 1025px) and (max-width: 1440px),
only screen and (min-width: 853px) and (max-width: 1280px) {
  .mission .content {
    margin-top: 2.5rem;
  }

  .priorities .content {
    grid-column-gap: 5rem;
  }

  .icon-placeholder {
    width: 10rem;
    /* Width of the circle */
    height: 10rem;
    /* Height of the circle (should match width for a perfect circle) */
    font-size: 10rem;
  }

  .priorities .content p {
    font-size: 1.3rem;
  }

  .district .content .list li {
    font-size: 1.5rem;
  }
}

/* <!-- Desktop/Laptop + Upscale (125% Scale) ----------------!> */
@media (max-width: 1536px) and (min-width: 1535px) and (min-resolution: 120dpi) and (max-resolution: 121dpi) {
  .nav-circle {
    width: 1.75rem;
    height: 1.75rem;
  }

  .mission {
    padding: 8rem 3rem 8rem 3rem;
  }

  .mission .content {
    margin-top: 1rem;
  }

  .mission .buttons {
    margin-top: 2rem;
    padding: 0 2rem 0 2rem;
  }

  .priorities {
    padding: 8rem 3rem 8rem 3rem;
  }

  .icon-placeholder {
    width: 8rem;
    /* Width of the circle */
    height: 8rem;
    /* Height of the circle (should match width for a perfect circle) */
    font-size: 8rem;
  }

  .priorities .content p {
    font-size: 1.25rem;
    margin-top: 0.5rem;
  }

  .events {
    padding: 8rem 3rem 8rem 3rem;
  }

  .events .buttons {
    margin-top: 2.5rem;
  }

  .district {
    padding: 8rem 3rem 8rem 3rem;
  }

  .district .content .list li {
    font-size: 1.5rem;
  }
}

/* <!-- Desktop + Scale (150% Scale) ----------------!> */
@media (max-width: 1280px) and (min-width: 1279px) and (min-resolution: 144dpi) and (max-resolution: 145dpi) {
  .sub-navbar {
    top: 50%
  }

  .sub-navbar.sticky {
    top: 50%
  }

  .nav-circle {
    width: 1.5rem;
    height: 1.5rem;
  }

  .mission {
    padding: 6rem 3rem 6rem 3rem;
  }

  .mission .content {
    margin-top: 1rem;
  }

  .mission .buttons {
    margin-top: 2rem;
    padding: 0 2rem 0 2rem;
  }

  .priorities {
    padding: 6rem 3rem 6rem 3rem;
  }

  .icon-placeholder {
    width: 7.5rem;
    /* Width of the circle */
    height: 7.5rem;
    /* Height of the circle (should match width for a perfect circle) */
    font-size: 7.5rem;
  }

  .priorities .content p {
    font-size: 1rem;
  }

  .events {
    padding: 6rem 3rem 6rem 3rem;
  }

  .events .buttons {
    margin-top: 2.5rem;
  }

  .district {
    padding: 6rem 3rem 6rem 3rem;
  }

  .district .content .list li {
    font-size: 1rem;
  }
}

/* <!-- Mobile ----------------!> */
@media only screen and (max-width: 767px),
only screen and (orientation: portrait) {

  /* <!-- Mission Section -----> */
  .sub-navbar {
    top: 50%;
    left: 2.5%;
    gap: 0.625rem;
    z-index: 999;
  }

  .sub-navbar.sticky {
    position: fixed;
    top: 50%;
  }

  .nav-circle {
    width: 1.5rem;
    height: 1.5rem;
  }

  .hero {
    background: linear-gradient(#1c449b, #1c449b), url('/assets/images/homepage_top.jpg');
    /* Gradient + Background Image */
    background-size: cover;
    background-position: 80%;
    background-attachment: none;
  }

  .mission {
    padding: 7rem 1rem 0 1rem;
  }

  .mission .content {
    margin-top: 2rem;
    margin-left: 3rem;
  }

  .mission h1 {
    margin-left: 0;
  }

  .mission .content p {
    width: 100%;
  }

  .mission .buttons {
    grid-template-columns: 1fr;
    grid-column-gap: 0;
    grid-row-gap: 1.5rem;
    margin-top: 1.5rem;
    padding: 0;
    justify-content: flex-start;
    margin-left: -1rem;
  }

  .mobile-image{
    display: flex;
    justify-content: center;
    padding-top: 2.5rem;
  }

  /* <!-- Priorities Section -----> */
  .priorities {
    padding: 7rem 1rem 7rem 1rem;
  }

  .priorities h1 {
    text-align: center;
    font-size: 4rem;
  }

  .priorities .content {
    display: grid;
    grid-template-rows: repeat(4, 1fr);
    grid-row-gap: 0;
    justify-items: center;
    align-items: center;
    margin-top: 1rem;
    margin-left: 1.5rem;
  }

  .priorities .content p {
    font-size: 1rem;
  }

  .icon-placeholder {
    width: 5rem;
    height: 5rem;
    font-size: 5rem;
  }

  .info {
    width: 100%;
  }

  .priorities .content .info.left {
    text-align: left;
    padding-left: 1rem;
    padding-right: 0;
  }

  .priorities .content .info.right {
    text-align: right;
    padding-right: 1rem;
    padding-left: 0;
  }

  /* <!-- Events Section -----> */
  .events {
    background: linear-gradient(#1c449bc7, #1c449bc7), url('/assets/images/EVENTS.jpg');
    /* Gradient + Background Image */
    background-size: cover;
    background-position: 50%;
    background-attachment: none;
    padding: 7rem 1rem 7rem 1rem;
  }

  .events h1 {
    text-align: center;
    font-size: 4rem;
  }

  .events .content {
    margin-top: 1.5rem;
    padding: 0 1.25rem;
  }

  .events .content p {
    padding-left: 0;
  }

  .details {
    display: flex;
    justify-content: center;
    margin-left: 0;
  }

  .events .buttons {
    display: grid;
    justify-content: center;
    width: 100%;
    margin-top: 3rem;
  }

  /* <!-- District 6 Section -----> */
  .district {
    background: linear-gradient(#ffffffd4, #ffffffd4), url('/assets/images/DISTRICT.png');
    /* Gradient + Background Image */
    background-size: cover;
    background-position: 25%;
    background-attachment: none;
    padding: 7rem 1rem 7rem 1rem;
  }

  .district h1 {
    text-align: center;
    font-size: 4rem;
  }

  .district .content {
    text-align: left;
    padding: 0 0 0 5rem;
  }

  .district .content .column-list {
    display: flex;
    flex-direction: column;
    gap: 0;
    justify-items: start;
    padding-left: 0;
  }

  .district .content .list li {
    font-size: 1.5rem;
  }

  .district .content p {
    padding-left: 10%;
  }
}
