html,
body {
  overflow-x: hidden;
}

.BGOgreen {
  color: rgb(177, 210, 54) !important;
}
.BGOLpurple {
  color: rgb(171, 75, 156) !important;
}
.BGOpurple {
  color: #86328d !important;
}
.BGODpurple {
  color: rgb(96, 47, 143) !important;
}

.BGOBgreen {
  background-color: rgb(177, 210, 54) !important;
}
.BGOBLpurple {
  background-color: rgb(171, 75, 156) !important;
}
.BGOBpurple {
  background-color: #86328d !important;
}
.BGOBDpurple {
  background-color: rgb(96, 47, 143) !important;
}
.contrast {
  color: white;
}
.nomargins {
  padding: 0px !important;
  margin: 0px !important;
  border: 0px !important;
}
.stretch {
  height: 100%;
}
footer {
  text-align: left;
  padding: 0px;
  color: black;
  margin: 0px;
}
.desc {
  position: relative;
  text-align: center;
  color: rgb(96, 47, 143);
  top: 110px;
  padding-left: 10px;
  font-size: 10px;
  z-index: 3;
}
.pushbycont {
  position: fixed;
  width: 100%;
}
.forcelock {
  position: absolute;
  bottom: 0px;
  width: 100%;
}
.push-right {
  text-align: right;
}
.centre {
  text-align: center;
}
.accordian-large {
  font-size: 2rem;
}
.text-large {
  font-size: 1.5rem;
}
.text-large2 {
  font-size: 20px;
}
image {
  z-index: -1;
}
.icon {
  height: 2rem;
  aspect-ratio: initial;
}

/* --- New utility classes added during the EJS rewrite, replacing repeated inline styles --- */

/* Full-bleed background layer behind all page content (was: style="width:100%;height:100%;position:absolute" on every page) */
.bg-layer {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

/* Footer bottom image (was: style="width:100%;height:100px;position:sticky" on every page) */
.footer-bleed-img {
  width: 100%;
  height: 100px;
  position: sticky;
  display: block;
}

/* CTA buttons (was: style="color:white;font-size:25px;width:100%" / "width:100%;color:white") */
.btn-cta {
  color: #fff;
  width: 100%;
}
.btn-cta-lg {
  color: #fff;
  width: 100%;
  font-size: 25px;
}

/* YouTube/video embeds (was: style="width:100%;aspect-ratio:16/9") */
.embed-16x9 {
  width: 100%;
  aspect-ratio: 16 / 9;
}

/* Google Map embed on the contact page (was: style="height:700px") */
.map-embed {
  height: 700px;
}

/* Mobile sticky contact bar (was: style="z-index: 1040") */
.contact-bar-mobile {
  z-index: 1040;
}

/* Blog post cards */
.post-card-media {
  max-width: 100%;
  width: 100%;
  border-radius: 0.375rem;
}
