.dbspinner {
  display: inline-block;
  position: relative;
  width: 64px;
  height: 64px;
	margin-bottom: -80px;
	margin-left: 40%;
	z-index: -1;
}
.dbspinner div {
  display: inline-block;
  position: absolute;
  left: 6px;
  width: 13px;
  background: #B5A147;
  animation: dbspinner 1.2s cubic-bezier(0, 0.5, 0.5, 1) infinite;
}
.dbspinner div:nth-child(1) {
  left: 6px;
  animation-delay: -0.24s;
}
.dbspinner div:nth-child(2) {
  left: 26px;
  animation-delay: -0.12s;
}
.dbspinner div:nth-child(3) {
  left: 45px;
  animation-delay: 0;
}
@keyframes dbspinner {
  0% {
    top: 6px;
    height: 51px;
  }
  50%, 100% {
    top: 19px;
    height: 26px;
  }
}
code.tve_js_placeholder { display: none; }

.sma-slider h4 { margin-top: 1.5em; }

.video-btn {
  background-color: #4f3236 !important;
  border-color: #4f3236 !important;
}
.video-btn:hover {
  background-color: #3f282b !important;
  border-color: #3f282b !important;
}

.donate-btn a {
  background-color: #4f3236 !important;
  border-color: #4f3236 !important;
}
.donate-btn a:hover {
  background-color: #3f282b !important;
  border-color: #3f282b !important;
}

/* Dropdown submenu background (e.g. "About us" flyout) */
.sub-menu {
  background-color: #4f3236 !important;
}

/* Top-level nav link hover */
.nav-primary .nav-item > a:hover,
.nav-utility .nav-item > a:hover {
  background-color: #4f3236 !important;
  color: #fff !important;
}

/* Dropdown submenu item hover */
.sub-menu .menu-item > a:hover {
  background-color: #3f282b !important;
  color: #fff !important;
}

/* Push "Read More" buttons onto their own centered line below the text */
.sma-pin .btn.btn-primary {
  display: block !important;
  margin: 1.5em auto 0 !important;
}

/* Same fix for the "Help Raise the Rafters" button */
#rtr-btn {
  display: block !important;
  margin: 1.5em auto 0 !important;
}

/* Remove the underline that appears on CTA button text */
.sma-pin a,
#rtr-lead a {
  text-decoration: none !important;
}

/* Hopkins quote only (the one quote with no attribution-position line) */
.testimonial:not(:has(.attribution-position)),
.testimonial:not(:has(.attribution-position)) span,
.testimonial:not(:has(.attribution-position)) .attribution-name {
  color: #000 !important;
}

/* "Our Commitments:" heading, white for legibility over the photo */
#vision h2 {
  color: #fff !important;
}

/* "Campus Development" label block, solid plum, aligned to the card below */
#our-campus {
  background-image: linear-gradient(#4f3236, #4f3236) !important;
  background-size: calc(83.333% - 30px) 100% !important;
  background-position: center top !important;
  background-repeat: no-repeat !important;
}
#our-campus h2 {
  color: #fff !important;
  margin-top: 0.75em !important;
  margin-bottom: 0.75em !important;
}

/* On mobile the card goes full width, so the label block should too */
@media (max-width: 576px) {
  #our-campus {
    background-size: 100% 100% !important;
  }
}
@media (max-width: 576px) {
  #our-campus {
    background-size: 100% 100% !important;
  }
}

/* Educational Vision: photo fills the section */
.home #vision {
  background-image: url(/wp-content/uploads/2026/10/IMG_3666.jpg) !important;
  background-size: auto calc(100% + 200px) !important;
background-position: center top !important;
}

/* Life + About Us: photo pinned to bottom, top edge fades into the page */
#life,
#about {
  position: relative;
  isolation: isolate;
  background-image: none !important;
}
#life::before,
#about::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  max-height: 100%;
  z-index: -1;
  pointer-events: none;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center bottom;
  -webkit-mask-image: linear-gradient(to bottom, transparent 0%, #000 30%);
  mask-image: linear-gradient(to bottom, transparent 0%, #000 30%);
}
#life::before {
  background-image: url(/wp-content/uploads/2026/10/IMG_3633.jpg);
  aspect-ratio: 4032 / 3024; /* replace with IMG_3633 width / height */
}
#about::before {
  background-image: url(/wp-content/uploads/2026/10/IMG_3743-e1791491937944.jpg);
  aspect-ratio: 4032 / 3024; /* replace with IMG_3743 width / height */
}
/* Quote legibility over photos (desktop only, skips the black Hopkins quote) */
@media (min-width: 768px) {
  .testimonial:has(.attribution-position),
  .testimonial:has(.attribution-position) * {
    text-shadow: 0 1px 3px rgba(0,0,0,.6), 0 0 18px rgba(0,0,0,.45);
  }
}
@media (min-width: 768px) {
  .testimonial .attribution-name,
  .testimonial .attribution-position {
    text-shadow: 0 1px 2px rgba(0,0,0,.8), 0 0 10px rgba(0,0,0,.6);
  }
}
/* Email sign-up pop-up */
#sma-pop {
  position: fixed; inset: 0; z-index: 10000;
  display: none; align-items: center; justify-content: center;
  padding: 16px; background: rgba(0,0,0,.55);
}
#sma-pop.is-open { display: flex; }
#sma-pop .sma-pop-box {
  position: relative; width: 100%; max-width: 440px;
  background: #4f3236; color: #fff; border: 4px solid #fff;
  box-shadow: 0 10px 40px rgba(0,0,0,.3);
  padding: 2.5em 2em 2em; text-align: center;
}
#sma-pop h3 {
  font-family: Ovo, Georgia, serif; text-transform: uppercase;
  font-size: 1.75rem; margin: 0 0 .5em; color: #fff;
}
#sma-pop p { font-size: .9rem; margin-bottom: 1.25em; }
#sma-pop input[type=text],
#sma-pop input[type=email] {
  display: block; width: 100%; margin-bottom: .75em;
  padding: .6em .75em; border: 0; border-radius: 4px; font-size: 1rem;
}
#sma-pop button[type=submit] {
  width: 100%; margin-top: .5em; padding: .5em 1em;
  background: transparent; color: #fff; border: 2px solid #fff; border-radius: 1em;
  font-family: Ovo, Georgia, serif; text-transform: uppercase; font-size: 1rem;
  cursor: pointer; transition: all .2s ease-in-out;
}
#sma-pop button[type=submit]:hover { background: #fff; color: #4f3236; }
#sma-pop .sma-pop-close {
  position: absolute; top: .25em; right: .5em;
  background: none; border: 0; color: #fff; font-size: 2rem; line-height: 1; cursor: pointer;
}
#sma-pop .sma-pop-msg { margin-top: 1em; font-size: .9rem; min-height: 1.2em; }
#sma-pop .sma-hp { position: absolute; left: -5000px; }

/* reCAPTCHA: hide Google's floating badge, style the credit line in the pop-up */
.grecaptcha-badge { visibility: hidden; }
#sma-pop .sma-pop-legal { margin: 1em 0 0; font-size: .7rem; opacity: .75; }
#sma-pop .sma-pop-legal a { color: #fff; text-decoration: underline; }