/*
Theme Name: VOF Daycare Child
Theme URI: https://voicesfaith.org/
Description: Custom Hello Elementor child theme for Voices of Faith Daycare.
Author: Bluefire Brands
Author URI: https://cts.graphics
Template: hello-elementor
Version: 2.1.2
Text Domain: vof-daycare-child
*/

:root {
  --vof-blue:#0055A5;
  --vof-navy:#102A43;
  --vof-yellow:#FFC928;
  --vof-coral:#FF6559;
  --vof-green:#52B96B;
  --vof-sky:#49BFE8;
  --vof-soft:#F5F9FD;
  --vof-white:#FFFFFF;
  --vof-text:#243B53;
  --vof-muted:#627D98;
}

body { font-family:"Nunito Sans",Arial,sans-serif; color:var(--vof-text); background:#fff; }
h1,h2,h3,h4,h5,h6,.elementor-heading-title { font-family:"Barlow Condensed",Arial,sans-serif; }
a { color:var(--vof-blue); }

/* Elementor legacy section system */
.vof-section > .elementor-container { max-width:1240px; }
.vof-section { padding:105px 30px; }
.vof-soft-bg { background:var(--vof-soft); }

/* Header */
.vof-header-utility { background:var(--vof-blue); color:#fff; padding:8px 30px; font-size:13px; font-weight:700; }
.vof-header-utility > .elementor-container, .vof-header-main > .elementor-container { max-width:1320px; }
.vof-utility-right { text-align:right; }
.vof-header-main { background:#fff; padding:13px 30px; box-shadow:0 8px 26px rgba(16,42,67,.07); position:relative; z-index:20; }
.vof-header-main .elementor-column-wrap, .vof-header-main .elementor-widget-wrap { align-items:center; }
.vof-logo-img { display:block; max-height:72px; width:auto; }
.vof-logo-light { filter:brightness(0) invert(1); }
.vof-primary-menu ul { list-style:none; margin:0; padding:0; display:flex; justify-content:center; gap:25px; align-items:center; flex-wrap:wrap; }
.vof-primary-menu a { color:var(--vof-navy); text-decoration:none; font-size:13px; font-weight:800; letter-spacing:.04em; }
.vof-primary-menu a:hover { color:var(--vof-blue); }
.vof-header-cta .elementor-button, .vof-btn-wrap .elementor-button { background:var(--vof-yellow); color:var(--vof-navy); border-radius:999px; padding:16px 28px; font-weight:900; letter-spacing:.04em; border:0; }
.vof-header-cta .elementor-button:hover, .vof-btn-wrap .elementor-button:hover { background:var(--vof-blue); color:#fff; }

/* Typography */
.vof-eyebrow .elementor-heading-title { color:var(--vof-blue); font-size:15px; letter-spacing:.14em; font-weight:800; text-transform:uppercase; }
.vof-eyebrow.light .elementor-heading-title, .vof-eyebrow.light { color:#fff; }
.vof-eyebrow.center, .vof-section-title.center, .vof-center-copy { text-align:center; }
.vof-hero-title .elementor-heading-title { font-size:78px; line-height:.91; letter-spacing:-.02em; color:var(--vof-navy); font-weight:800; }
.vof-hero-title .elementor-heading-title span { color:var(--vof-blue); }
.vof-section-title .elementor-heading-title { font-size:60px; line-height:.96; color:var(--vof-navy); font-weight:800; }
.vof-section-title.light .elementor-heading-title { color:#fff; }
.vof-inner-title .elementor-heading-title { font-size:70px; line-height:.95; color:var(--vof-navy); font-weight:800; }
.vof-lead { font-size:19px; line-height:1.7; color:#486581; }
.vof-lead.light, .vof-center-copy.light { color:rgba(255,255,255,.88); }
.vof-body-copy { font-size:17px; line-height:1.72; }
.vof-center-copy { max-width:820px; margin:0 auto; font-size:18px; line-height:1.7; }
.vof-subsection-title .elementor-heading-title { font-size:40px; color:var(--vof-navy); }

/* Buttons */
.vof-button-row { display:flex; gap:13px; align-items:center; flex-wrap:wrap; margin:28px 0 18px; }
.vof-btn { display:inline-block; text-decoration:none; border-radius:999px; padding:16px 28px; font-weight:900; font-size:14px; letter-spacing:.04em; transition:.2s ease; }
.vof-btn.primary { background:var(--vof-yellow); color:var(--vof-navy); }
.vof-btn.primary:hover,.vof-btn.yellow:hover { transform:translateY(-2px); }
.vof-btn.secondary { border:2px solid var(--vof-blue); color:var(--vof-blue); background:#fff; }
.vof-btn.yellow { background:var(--vof-yellow); color:var(--vof-navy); }
.vof-btn.white-outline { border:2px solid #fff; color:#fff; }
.vof-text-link { font-weight:900; text-decoration:none; letter-spacing:.03em; }
.center { text-align:center; }

/* Photo placeholders */
.vof-photo-placeholder { min-height:330px; border-radius:34px; background:linear-gradient(145deg,#d9edf9,#f9f4d9); display:flex; align-items:center; justify-content:center; text-align:center; padding:30px; color:var(--vof-blue); font-weight:900; letter-spacing:.06em; white-space:pre-line; border:2px dashed rgba(0,85,165,.25); }
.vof-hero-photo .vof-photo-placeholder { min-height:590px; border-radius:54% 28% 46% 36% / 34% 44% 52% 40%; background:linear-gradient(145deg,#c9e9fa,#fff2bc); }
.vof-inner-photo .vof-photo-placeholder { min-height:420px; border-radius:45px 110px 45px 45px; }
.vof-final-photo .vof-photo-placeholder { min-height:390px; background:linear-gradient(145deg,#d8f4e0,#fff2bc); }

/* Hero — full-screen, video-ready */
.vof-hero {
  min-height:100vh;
  min-height:100svh;
  width:100%;
  padding:175px 30px 130px;
  overflow:hidden;
  position:relative;
  display:flex;
  align-items:center;
  background-color:#0b3157;
  background-image:url("assets/images/vof-hero-video-placeholder.jpg");
  background-size:cover;
  background-position:center center;
  background-repeat:no-repeat;
  box-sizing:border-box;
}
.vof-hero > .elementor-container {
  width:100%;
  max-width:1240px;
  margin:0 auto;
  position:relative;
  z-index:2;
  align-items:center;
}
.vof-hero-copy-col { max-width:760px; }
.vof-hero .vof-eyebrow .elementor-heading-title { color:var(--vof-yellow); }
.vof-hero .vof-hero-title .elementor-heading-title { color:#fff; font-size:90px; text-shadow:0 3px 28px rgba(0,0,0,.18); }
.vof-hero .vof-hero-title .elementor-heading-title span { color:var(--vof-yellow); }
.vof-hero .vof-lead { color:rgba(255,255,255,.92); max-width:690px; }
.vof-hero .vof-hero-note { color:rgba(255,255,255,.88); }
.vof-hero .vof-btn.secondary { background:transparent; border-color:#fff; color:#fff; }
.vof-hero .vof-btn.secondary:hover { background:#fff; color:var(--vof-navy); }


/* Make Elementor background video truly fill the entire 16:9/full-screen hero. */
.vof-hero .elementor-background-video-container,
.vof-hero .elementor-background-video-embed,
.vof-hero .elementor-background-video-hosted {
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  overflow:hidden!important;
  z-index:0!important;
}
.vof-hero video.elementor-background-video-hosted,
.vof-hero .elementor-background-video-container video {
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}
.vof-hero .elementor-background-video-embed iframe {
  position:absolute!important;
  top:50%!important;
  left:50%!important;
  width:177.77777778vh!important;
  min-width:100%!important;
  height:56.25vw!important;
  min-height:100%!important;
  transform:translate(-50%,-50%)!important;
}

/* On the homepage, allow the Elementor/ProElements header to sit over the hero video. */
.home .elementor-location-header {
  position:absolute;
  top:0;
  left:0;
  width:100%;
  z-index:50;
}
.home .vof-header-utility { background:rgba(0,85,165,.76); }
.home .vof-header-main {
  background:rgba(5,25,46,.32);
  box-shadow:none;
  border-bottom:1px solid rgba(255,255,255,.16);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}
.home .vof-header-main .vof-primary-menu a { color:#fff; }
.home .vof-header-main .vof-primary-menu a:hover { color:var(--vof-yellow); }
.home .vof-header-main .vof-logo-img { filter:brightness(0) invert(1); }
body.admin-bar.home .elementor-location-header { top:32px; }

.vof-overlap { margin-top:-78px; position:relative; z-index:5; }
.vof-facts { padding:0 30px 45px; }
.vof-facts > .elementor-container { background:#fff; box-shadow:0 18px 45px rgba(16,42,67,.12); border-radius:24px; overflow:hidden; }
.vof-fact { padding:28px 24px; border-right:1px solid #e8eff5; }
.vof-fact:last-child { border-right:0; }
.vof-fact:before { content:""; display:block; height:5px; width:46px; border-radius:5px; background:var(--vof-yellow); margin-bottom:17px; }
.vof-fact:nth-child(2):before { background:var(--vof-coral); }
.vof-fact:nth-child(3):before { background:var(--vof-green); }
.vof-fact:nth-child(4):before { background:var(--vof-sky); }
.vof-fact-title .elementor-heading-title { font-size:25px; color:var(--vof-navy); font-weight:800; }
.vof-fact-copy { font-size:14px; color:var(--vof-muted); }

/* Welcome collage */
.vof-photo-collage { position:relative; height:520px; }
.vof-photo-collage .photo-one,.vof-photo-collage .photo-two { position:absolute; display:flex; align-items:center; justify-content:center; color:var(--vof-blue); font-weight:900; border:2px dashed rgba(0,85,165,.25); background:#dceffc; }
.vof-photo-collage .photo-one { width:72%; height:420px; left:0; top:0; border-radius:36px 100px 36px 36px; }
.vof-photo-collage .photo-two { width:48%; height:220px; right:0; bottom:0; border-radius:50%; background:#fff0b8; }
.vof-photo-collage .photo-dot { position:absolute; width:85px; height:85px; background:var(--vof-coral); border-radius:50%; right:12%; top:4%; z-index:-1; }

/* Program cards */
.vof-programs-intro { padding-bottom:35px; }
.vof-program-cards { padding-top:15px; padding-bottom:15px; }
.vof-program-cards-last { padding-bottom:105px; }
.vof-program-card { padding:18px; }
.vof-program-card > .elementor-widget-wrap, .vof-program-card > .elementor-column-wrap > .elementor-widget-wrap { background:#fff; border-radius:27px; padding:18px!important; box-shadow:0 12px 35px rgba(16,42,67,.08); overflow:hidden; border-bottom:7px solid var(--vof-blue); }
.vof-program-card.coral > .elementor-widget-wrap, .vof-program-card.coral > .elementor-column-wrap > .elementor-widget-wrap { border-bottom-color:var(--vof-coral); }
.vof-program-card.yellow > .elementor-widget-wrap, .vof-program-card.yellow > .elementor-column-wrap > .elementor-widget-wrap { border-bottom-color:var(--vof-yellow); }
.vof-program-card.green > .elementor-widget-wrap, .vof-program-card.green > .elementor-column-wrap > .elementor-widget-wrap { border-bottom-color:var(--vof-green); }
.vof-program-card.sky > .elementor-widget-wrap, .vof-program-card.sky > .elementor-column-wrap > .elementor-widget-wrap { border-bottom-color:var(--vof-sky); }
.vof-card-eyebrow .elementor-heading-title { font-size:13px; color:var(--vof-blue); letter-spacing:.1em; }
.vof-card-title .elementor-heading-title { font-size:34px; color:var(--vof-navy); font-weight:800; }

/* Dark programs */
.vof-more-programs-head,.vof-more-programs-cards,.vof-more-programs-btn,.vof-dark-section { background:var(--vof-navy); color:#fff; }
.vof-more-programs-head { padding-bottom:35px; }
.vof-more-programs-cards { padding-top:0; padding-bottom:20px; }
.vof-more-programs-btn { padding-top:15px; }
.vof-dark-card { padding:12px; }
.vof-dark-card > .elementor-widget-wrap, .vof-dark-card > .elementor-column-wrap > .elementor-widget-wrap { background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.13); border-radius:22px; padding:28px!important; min-height:240px; }
.vof-dark-card-title .elementor-heading-title { color:#fff; font-size:28px; }
.vof-dark-card-copy { color:rgba(255,255,255,.75); }
.vof-dark-section .vof-card-title .elementor-heading-title,.vof-dark-section .vof-card-copy,.vof-dark-section .vof-card-col { color:#fff; }

/* Curriculum */
.vof-learning-visual { position:relative; height:520px; background:var(--vof-soft); border-radius:42px; overflow:hidden; }
.vof-learning-visual .big-a { position:absolute; font:800 280px/1 "Barlow Condensed"; color:rgba(0,85,165,.10); left:35px; top:10px; }
.vof-learning-visual .one { position:absolute; font:800 180px/1 "Barlow Condensed"; color:rgba(255,101,89,.14); right:40px; top:32px; }
.vof-learning-visual .learn-photo { position:absolute; left:13%; right:13%; bottom:35px; height:260px; border-radius:40px; background:#dceffc; display:flex; align-items:center; justify-content:center; color:var(--vof-blue); font-weight:900; border:2px dashed rgba(0,85,165,.25); }
.vof-learning-visual .block { position:absolute; padding:11px 13px; border-radius:11px; font-weight:900; color:var(--vof-navy); z-index:3; }
.vof-learning-visual .block1 { background:var(--vof-yellow); left:8%; top:35%; transform:rotate(-8deg); }
.vof-learning-visual .block2 { background:var(--vof-green); right:6%; bottom:16%; transform:rotate(8deg); }

/* Faith */
.vof-faith { background:linear-gradient(rgba(0,65,125,.91),rgba(16,42,67,.94)),linear-gradient(135deg,#0055a5,#102a43); color:#fff; padding-top:125px; padding-bottom:125px; }

/* Tuition */
.vof-tuition-head,.vof-included,.vof-savings { background:#fff8d7; }
.vof-tuition-head { padding-bottom:25px; }
.vof-included { padding-top:10px; padding-bottom:30px; }
.vof-included-card { padding:8px; }
.vof-included-card > .elementor-widget-wrap, .vof-included-card > .elementor-column-wrap > .elementor-widget-wrap { background:#fff; min-height:120px; border-radius:18px; padding:24px!important; display:flex; align-items:center; justify-content:center; box-shadow:0 9px 24px rgba(16,42,67,.07); }
.vof-included-title .elementor-heading-title { font-size:24px; color:var(--vof-navy); text-align:center; }
.vof-savings { padding-top:35px; }
.vof-check-list { list-style:none; margin:0 0 25px; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:13px 22px; }
.vof-check-list li { padding-left:27px; position:relative; }
.vof-check-list li:before { content:"✓"; position:absolute; left:0; top:0; width:20px; height:20px; border-radius:50%; background:var(--vof-green); color:#fff; font-size:12px; font-weight:900; display:flex; align-items:center; justify-content:center; }
.vof-savings-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:30px; }
.vof-savings-grid span { background:var(--vof-soft); border-radius:18px; padding:22px; font-weight:800; text-align:center; color:var(--vof-navy); }

/* Locations / resources / generic cards */
.vof-locations-head,.vof-resources-head { padding-bottom:25px; }
.vof-locations,.vof-resources { padding-top:10px; }
.vof-location-card,.vof-resource-card,.vof-card-col { padding:14px; }
.vof-location-card > .elementor-widget-wrap,.vof-resource-card > .elementor-widget-wrap,.vof-card-col > .elementor-widget-wrap, .vof-location-card > .elementor-column-wrap > .elementor-widget-wrap,.vof-resource-card > .elementor-column-wrap > .elementor-widget-wrap,.vof-card-col > .elementor-column-wrap > .elementor-widget-wrap { background:#fff; border-radius:24px; padding:24px!important; box-shadow:0 12px 34px rgba(16,42,67,.08); }
.vof-resources-btn { padding-top:10px; }
.vof-resource-download,.vof-form-placeholder,.vof-job-placeholder { background:var(--vof-soft); border:2px dashed rgba(0,85,165,.3); min-height:150px; border-radius:22px; display:flex; align-items:center; justify-content:center; text-align:center; color:var(--vof-blue); font-weight:900; padding:25px; }
.vof-resource-download small,.vof-form-placeholder small { display:block; color:var(--vof-muted); }

/* Testimonials */
.vof-testimonials-head { padding-bottom:25px; }
.vof-testimonials { padding-top:15px; }
.vof-testimonial-col { padding:12px; }
.vof-testimonial { background:var(--vof-soft); border-radius:22px; padding:34px; min-height:180px; font-size:18px; line-height:1.6; }
.vof-testimonial span { display:block; margin-top:20px; color:var(--vof-blue); font-weight:900; font-size:13px; letter-spacing:.08em; }
.vof-placeholder-note { background:#fff3cd; border-left:5px solid var(--vof-yellow); border-radius:8px; padding:16px 18px; color:#5f4b00; }

/* Events */
.vof-events-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin:35px 0; }
.vof-event-card { background:#fff; border:1px solid #e6edf4; border-radius:22px; padding:28px; box-shadow:0 10px 30px rgba(16,42,67,.06); }
.vof-event-date { color:var(--vof-blue); font-weight:900; font-size:13px; letter-spacing:.08em; }
.vof-event-card h3 { font-size:30px; margin:8px 0 10px; color:var(--vof-navy); }
.vof-event-card p { margin:14px 0 0; line-height:1.65; color:var(--vof-text); }
.vof-event-meta { margin-top:3px; color:var(--vof-muted); font-size:14px; font-weight:700; }
.vof-event-meta-sep { color:var(--vof-sky); padding:0 3px; }
.vof-event-empty { grid-column:1 / -1; text-align:center; padding:35px; background:var(--vof-soft); border-radius:20px; color:var(--vof-muted); }

/* Final CTA / inner */
.vof-final-cta { background:var(--vof-blue); color:#fff; }
.vof-inner-hero { background:linear-gradient(180deg,#f7fbff,#fff); padding-top:80px; padding-bottom:90px; }
.vof-step { padding:14px; }
.vof-step > .elementor-widget-wrap, .vof-step > .elementor-column-wrap > .elementor-widget-wrap { background:var(--vof-soft); border-radius:22px; padding:28px!important; min-height:260px; }
.vof-step-num .elementor-heading-title { font-size:58px; color:var(--vof-yellow); }

/* Footer */
.vof-footer-main { background:var(--vof-navy); color:rgba(255,255,255,.80); padding:75px 30px 55px; }
.vof-footer-main > .elementor-container,.vof-footer-bottom-section > .elementor-container { max-width:1240px; }
.vof-footer-logo .vof-logo-img { max-height:95px; margin-bottom:20px; }
.vof-footer-title .elementor-heading-title { color:#fff; font-size:25px; }
.vof-footer-links { list-style:none; margin:0; padding:0; }
.vof-footer-links li { margin:9px 0; }
.vof-footer-links a,.vof-footer-main a { color:rgba(255,255,255,.8); text-decoration:none; }
.vof-footer-bottom-section { background:#0a2136; color:rgba(255,255,255,.65); padding:18px 30px; font-size:13px; }
.vof-footer-bottom { display:flex; justify-content:space-between; gap:20px; }
.vof-footer-bottom a { color:rgba(255,255,255,.75); }

@media(max-width:1024px){
  .vof-section{padding:80px 25px}.vof-hero .vof-hero-title .elementor-heading-title{font-size:72px}.vof-section-title .elementor-heading-title{font-size:50px}.vof-inner-title .elementor-heading-title{font-size:58px}.vof-primary-menu ul{gap:13px}.vof-primary-menu a{font-size:12px}.vof-savings-grid{grid-template-columns:1fr 1fr}.vof-events-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:767px){
  .vof-section{padding:62px 20px}.vof-header-utility{display:none}.vof-header-main{padding:10px 18px}.vof-header-main .elementor-column:nth-child(1){width:55%!important}.vof-header-main .elementor-column:nth-child(2){display:none}.vof-header-main .elementor-column:nth-child(3){width:45%!important}.vof-logo-img{max-height:58px}.vof-header-cta .elementor-button{padding:12px 16px;font-size:11px}
  .vof-hero{min-height:100svh;padding:125px 20px 105px}.vof-hero .vof-hero-title .elementor-heading-title{font-size:52px}.vof-section-title .elementor-heading-title{font-size:43px}.vof-inner-title .elementor-heading-title{font-size:48px}.vof-lead{font-size:17px}.vof-hero-photo .vof-photo-placeholder{min-height:420px;margin-top:30px}.vof-overlap{margin-top:-65px}.vof-facts{padding-left:20px;padding-right:20px}.vof-fact{width:50%!important;border-bottom:1px solid #e8eff5}.vof-fact:nth-child(2){border-right:0}.vof-photo-collage{height:420px;margin-bottom:30px}.vof-photo-collage .photo-one{height:340px}.vof-program-card,.vof-dark-card,.vof-location-card,.vof-resource-card,.vof-testimonial-col,.vof-step{width:100%!important}.vof-check-list{grid-template-columns:1fr}.vof-savings-grid,.vof-events-grid{grid-template-columns:1fr}.vof-included-card{width:50%!important}.vof-button-row{align-items:stretch}.vof-btn{width:100%;text-align:center}.vof-footer-bottom{flex-direction:column}.vof-learning-visual{height:430px;margin-top:30px}.vof-inner-photo .vof-photo-placeholder{margin-top:30px;min-height:330px}.home .vof-header-main{background:rgba(5,25,46,.48)}body.admin-bar.home .elementor-location-header{top:46px}
}


/* v1.3 native WordPress header/footer (no Theme Builder import required) */
.vof-site-header{width:100%;z-index:100;position:relative;font-family:"Nunito Sans",Arial,sans-serif}
.vof-site-header .vof-native-wrap{max-width:1320px;margin:0 auto;padding-left:30px;padding-right:30px}
.vof-site-utility{background:var(--vof-blue);color:#fff;font-size:13px;font-weight:800}
.vof-site-utility .vof-native-wrap{min-height:34px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.vof-site-nav{background:#fff;box-shadow:0 8px 26px rgba(16,42,67,.07)}
.vof-site-nav .vof-native-wrap{height:92px;display:flex;align-items:center;gap:28px}
.vof-site-logo img{display:block;max-height:72px;width:auto}
.vof-site-menu{margin-left:auto}
.vof-site-menu ul{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:24px}
.vof-site-menu li{margin:0;padding:0}
.vof-site-menu a{color:var(--vof-navy);text-decoration:none;font-size:13px;font-weight:900;letter-spacing:.04em;white-space:nowrap}
.vof-site-menu a:hover{color:var(--vof-blue)}
.vof-site-tour{display:inline-block;background:var(--vof-yellow);color:var(--vof-navy)!important;text-decoration:none;border-radius:999px;padding:16px 26px;font-size:13px;font-weight:900;letter-spacing:.04em;white-space:nowrap}
.vof-menu-toggle{display:none;background:transparent;border:0;padding:8px;margin-left:auto;color:inherit;font-size:28px;line-height:1;cursor:pointer}
.vof-mobile-menu-head,.vof-mobile-menu-bottom,.vof-menu-backdrop{display:none}
.vof-scroll-menu-toggle{
  display:none;
  position:fixed;
  top:20px;
  right:24px;
  z-index:100005;
  align-items:center;
  gap:10px;
  min-width:104px;
  height:46px;
  padding:0 15px;
  border:0;
  border-radius:7px;
  background:var(--vof-blue);
  color:#fff;
  box-shadow:0 10px 28px rgba(16,42,67,.24);
  cursor:pointer;
  opacity:0;
  visibility:hidden;
  transform:translateY(-10px);
  transition:opacity .24s ease,transform .24s ease,visibility .24s ease,background .2s ease;
}
.vof-scroll-menu-toggle:hover{background:#064985}
.vof-scroll-menu-label{font-family:"Nunito Sans",Arial,sans-serif;font-size:10px;line-height:1;font-weight:900;letter-spacing:.13em}
.vof-scroll-menu-icon{display:flex;flex-direction:column;gap:4px;width:22px}
.vof-scroll-menu-icon span{display:block;width:22px;height:2px;border-radius:2px;background:#fff}
@media(min-width:1051px){
  body.vof-desktop-scrolled .vof-scroll-menu-toggle{display:flex;opacity:1;visibility:visible;transform:translateY(0)}
  body.vof-desktop-scrolled.vof-menu-open .vof-scroll-menu-toggle{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-8px)}
  body.admin-bar.vof-desktop-scrolled .vof-scroll-menu-toggle{top:52px}
  body.vof-desktop-scrolled.vof-menu-open{overflow:hidden}
  body.vof-scroll-menu-switching .vof-site-menu{transition:none!important}
  body.vof-desktop-scrolled .vof-site-menu{
    display:flex;
    flex-direction:column;
    position:fixed;
    top:0;
    right:0;
    bottom:0;
    left:auto;
    width:300px;
    height:100dvh;
    margin:0;
    padding:0;
    background:linear-gradient(180deg,#083f73 0%,#0055A5 48%,#102A43 100%);
    border-radius:0;
    box-shadow:-22px 0 55px rgba(16,42,67,.28);
    overflow-y:auto;
    z-index:100003;
    visibility:hidden;
    transform:translateX(105%);
    transition:transform .34s cubic-bezier(.2,.8,.2,1),visibility .34s ease;
  }
  body.vof-desktop-scrolled .vof-site-menu.is-open{visibility:visible;transform:translateX(0)}
  body.vof-desktop-scrolled .vof-mobile-menu-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:26px 24px 18px;border-bottom:1px solid rgba(255,255,255,.16)}
  body.vof-desktop-scrolled .vof-mobile-menu-logo img{display:block;max-height:68px;width:auto;filter:brightness(0) invert(1)}
  body.vof-desktop-scrolled .vof-menu-close{display:grid;place-items:center;flex:0 0 auto;width:42px;height:42px;padding:0;border:1px solid rgba(255,255,255,.34);border-radius:50%;background:rgba(255,255,255,.08);color:#fff;cursor:pointer}
  body.vof-desktop-scrolled .vof-mobile-menu-links{padding:16px 24px 12px}
  body.vof-desktop-scrolled .vof-site-menu ul{display:block}
  body.vof-desktop-scrolled .vof-site-menu li{margin:0;border-bottom:1px solid rgba(255,255,255,.12)}
  body.vof-desktop-scrolled .vof-site-menu li:last-child{border-bottom:0}
  body.vof-desktop-scrolled .vof-site-menu a{display:block;padding:15px 2px;color:#fff!important;font-family:"Barlow Condensed",Arial,sans-serif;font-size:16px;line-height:1.15;font-weight:800;letter-spacing:.03em}
  body.vof-desktop-scrolled .vof-site-menu a:hover{color:var(--vof-yellow)!important}
  body.vof-desktop-scrolled .vof-mobile-menu-bottom{display:block;margin-top:auto;padding:18px 24px 28px;border-top:1px solid rgba(255,255,255,.14)}
  body.vof-desktop-scrolled .vof-mobile-social{display:flex;align-items:center;gap:10px;margin-bottom:16px}
  body.vof-desktop-scrolled .vof-mobile-social a{display:grid!important;place-items:center;width:38px;height:38px;padding:0!important;border:1px solid rgba(255,255,255,.34);border-radius:50%;background:rgba(255,255,255,.08);color:#fff!important}
  body.vof-desktop-scrolled .vof-mobile-social a:hover{background:rgba(255,255,255,.16);color:var(--vof-yellow)!important}
  body.vof-desktop-scrolled .vof-mobile-addresses{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:17px}
  body.vof-desktop-scrolled .vof-mobile-addresses p{margin:0;color:rgba(255,255,255,.76);font-size:10.5px;line-height:1.45}
  body.vof-desktop-scrolled .vof-mobile-addresses strong{color:#fff;font-size:11px;letter-spacing:.03em}
  body.vof-desktop-scrolled .vof-mobile-enroll{display:block!important;width:100%;padding:14px 18px!important;border-radius:999px;background:var(--vof-yellow);color:var(--vof-navy)!important;text-align:center;font-family:"Nunito Sans",Arial,sans-serif!important;font-size:13px!important;font-weight:900!important;letter-spacing:.06em!important}
  body.vof-desktop-scrolled .vof-menu-backdrop{display:block;position:fixed;inset:0;z-index:100002;width:100%;height:100%;border:0;background:rgba(7,31,54,.48);opacity:0;visibility:hidden;cursor:pointer;transition:opacity .3s ease,visibility .3s ease}
  body.vof-desktop-scrolled.vof-menu-open .vof-menu-backdrop{opacity:1;visibility:visible}
}
.home .vof-site-header{position:absolute;top:0;left:0}
.home .vof-site-utility{background:rgba(0,85,165,.76)}
.home .vof-site-nav{background:transparent;box-shadow:none;border-bottom:0;backdrop-filter:none;-webkit-backdrop-filter:none}
.home .vof-site-logo img{filter:brightness(0) invert(1)}
.home .vof-site-menu a{color:#fff}
.home .vof-site-menu a:hover{color:var(--vof-yellow)}
.home .vof-menu-toggle{color:#fff}
body.admin-bar.home .vof-site-header{top:32px}
.vof-native-footer{background:var(--vof-navy);color:rgba(255,255,255,.80);padding:72px 30px 0}
.vof-native-footer .vof-footer-wrap{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:1.35fr .8fr 1fr 1fr;gap:45px;padding-bottom:55px}
.vof-native-footer img{max-height:95px;width:auto;filter:brightness(0) invert(1);margin-bottom:20px}
.vof-native-footer h3{font-size:25px;color:#fff;margin:0 0 14px}
.vof-native-footer p{line-height:1.7;margin:.4em 0}
.vof-native-footer ul{list-style:none;margin:0;padding:0}
.vof-native-footer li{margin:9px 0}
.vof-native-footer a{color:rgba(255,255,255,.82);text-decoration:none}
.vof-native-footer a:hover{color:var(--vof-yellow)}
.vof-native-footer-bottom{background:#0a2136;margin-left:-30px;margin-right:-30px;padding:18px 30px 12px;font-size:13px;color:rgba(255,255,255,.65)}
.vof-native-footer-bottom-inner{max-width:1240px;margin:0 auto;display:flex;justify-content:space-between;gap:20px}
.vof-bluefire-credit{max-width:1240px;margin:10px auto 0;padding-top:10px;border-top:1px solid rgba(255,255,255,.08);text-align:center;font-size:12px;color:rgba(255,255,255,.55)}
.vof-bluefire-credit a{color:#fff;font-weight:800;text-decoration:none}
.vof-bluefire-credit a:hover{color:var(--vof-yellow)}

@media(max-width:1050px){
 body.vof-menu-open{overflow:hidden}
 body.vof-menu-open .vof-site-header{z-index:100001}
 .vof-menu-toggle{display:block;position:relative;z-index:2}
 .vof-site-tour{display:none}
 .vof-site-menu{
   display:flex;
   flex-direction:column;
   position:fixed;
   top:0;
   right:0;
   bottom:0;
   left:auto;
   width:min(340px,86vw);
   height:100dvh;
   margin:0;
   padding:0;
   background:linear-gradient(180deg,#083f73 0%,#0055A5 48%,#102A43 100%);
   border-radius:0;
   box-shadow:-22px 0 55px rgba(16,42,67,.28);
   overflow-y:auto;
   z-index:3;
   visibility:hidden;
   transform:translateX(105%);
   transition:transform .34s cubic-bezier(.2,.8,.2,1),visibility .34s ease;
 }
 .home .vof-site-menu{background:linear-gradient(180deg,#083f73 0%,#0055A5 48%,#102A43 100%)}
 .vof-site-menu.is-open{visibility:visible;transform:translateX(0)}
 .vof-mobile-menu-head{
   display:flex;
   align-items:center;
   justify-content:space-between;
   gap:20px;
   padding:26px 24px 18px;
   border-bottom:1px solid rgba(255,255,255,.16);
 }
 .vof-mobile-menu-logo img{display:block;max-height:68px;width:auto;filter:brightness(0) invert(1)}
 .vof-menu-close{
   display:grid;
   place-items:center;
   flex:0 0 auto;
   width:42px;
   height:42px;
   padding:0;
   border:1px solid rgba(255,255,255,.34);
   border-radius:50%;
   background:rgba(255,255,255,.08);
   color:#fff;
   cursor:pointer;
 }
 .vof-mobile-menu-links{padding:16px 24px 12px}
 .vof-site-menu ul{display:block}
 .vof-site-menu li{margin:0;border-bottom:1px solid rgba(255,255,255,.12)}
 .vof-site-menu li:last-child{border-bottom:0}
 .vof-site-menu a,.home .vof-site-menu a{
   display:block;
   padding:15px 2px;
   color:#fff!important;
   font-family:"Barlow Condensed",Arial,sans-serif;
   font-size:20px;
   line-height:1.1;
   font-weight:800;
   letter-spacing:.03em;
 }
 .vof-site-menu a:hover,.home .vof-site-menu a:hover{color:var(--vof-yellow)!important}
 .vof-mobile-menu-bottom{
   display:block;
   margin-top:auto;
   padding:18px 24px 28px;
   border-top:1px solid rgba(255,255,255,.14);
 }
 .vof-mobile-social{display:flex;align-items:center;gap:10px;margin-bottom:16px}
 .vof-mobile-social a,.vof-mobile-social .vof-social-pending{
   display:grid!important;
   place-items:center;
   width:38px;
   height:38px;
   padding:0!important;
   border:1px solid rgba(255,255,255,.34);
   border-radius:50%;
   background:rgba(255,255,255,.08);
   color:#fff!important;
 }
 .vof-mobile-social a:hover{background:rgba(255,255,255,.16);color:var(--vof-yellow)!important}
 .vof-mobile-social .vof-social-pending{opacity:.55;cursor:default}
 .vof-mobile-addresses{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:17px}
 .vof-mobile-addresses p{margin:0;color:rgba(255,255,255,.76);font-size:10.5px;line-height:1.45}
 .vof-mobile-addresses strong{color:#fff;font-size:11px;letter-spacing:.03em}
 .vof-mobile-enroll{
   display:block!important;
   width:100%;
   padding:14px 18px!important;
   border-radius:999px;
   background:var(--vof-yellow);
   color:var(--vof-navy)!important;
   text-align:center;
   font-family:"Nunito Sans",Arial,sans-serif!important;
   font-size:13px!important;
   font-weight:900!important;
   letter-spacing:.06em!important;
 }
 .vof-mobile-enroll:hover{color:var(--vof-navy)!important;filter:brightness(1.03)}
 .vof-menu-backdrop{
   position:fixed;
   inset:0;
   z-index:2;
   width:100%;
   height:100%;
   border:0;
   background:rgba(7,31,54,.48);
   opacity:0;
   visibility:hidden;
   cursor:pointer;
   transition:opacity .3s ease,visibility .3s ease;
 }
 body.vof-menu-open .vof-menu-backdrop{display:block;opacity:1;visibility:visible}
 .vof-native-footer .vof-footer-wrap{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
 .vof-site-utility .vof-native-wrap{padding-top:7px;padding-bottom:7px;display:block;text-align:center;line-height:1.5}
 .vof-site-nav .vof-native-wrap{height:76px;padding-left:20px;padding-right:20px}
 .vof-site-logo img{max-height:58px}
 .vof-site-menu{width:min(330px,88vw)}
 .vof-mobile-menu-head{padding:22px 20px 16px}
 .vof-mobile-menu-links{padding:12px 20px 8px}
 .vof-mobile-menu-bottom{padding:16px 20px 24px}
 .vof-native-footer .vof-footer-wrap{grid-template-columns:1fr}
 .vof-native-footer{padding-left:20px;padding-right:20px}
 .vof-native-footer-bottom{margin-left:-20px;margin-right:-20px;padding-left:20px;padding-right:20px}
 .vof-native-footer-bottom-inner{display:block;text-align:center}
 body.admin-bar.home .vof-site-header{top:46px}
}


/* v1.4 — match the approved index-v1.2 visual and support Elementor 3.x optimized DOM. */
.vof-page-content{margin:0;padding:0;overflow:hidden}
.home .vof-page-content{padding:0!important}
.vof-preview-photo{min-height:470px;border-radius:38px 100px 38px 38px;background:linear-gradient(145deg,#c9e9fa,#fff2bc);display:flex;align-items:center;justify-content:center;text-align:center;font-weight:900;color:var(--vof-blue);border:2px dashed rgba(0,85,165,.25);padding:30px}
.vof-program-cards-five{padding-top:15px;padding-bottom:105px}
.vof-program-cards-five > .elementor-container{max-width:1240px;display:flex;align-items:stretch;flex-wrap:nowrap}
.vof-program-cards-five .vof-program-card{width:20%!important;padding:9px}
.vof-program-cards-five .vof-program-card > .elementor-widget-wrap,.vof-program-cards-five .vof-program-card > .elementor-column-wrap > .elementor-widget-wrap{height:100%;display:flex;flex-direction:column;align-content:flex-start}
.vof-program-cards-five .vof-photo-placeholder{min-height:160px;border-radius:18px}
.vof-program-cards-five .vof-card-title .elementor-heading-title{font-size:30px}
.vof-more-programs-head{background:var(--vof-navy);color:#fff;padding-bottom:15px}
.vof-more-programs-cards{background:var(--vof-navy);color:#fff;padding-top:15px;padding-bottom:105px}
.vof-more-programs-head .elementor-heading-title,.vof-more-programs-cards .elementor-heading-title{color:#fff}
.vof-more-programs-head .vof-lead{color:rgba(255,255,255,.8)}
.vof-faith{background:linear-gradient(135deg,#0055A5,#102A43)}
.vof-tuition-head{padding-bottom:25px}
.vof-included{padding-top:10px;padding-bottom:105px}
.vof-locations-head{padding-bottom:25px}
.vof-locations{padding-top:10px;padding-bottom:105px}
.vof-final-cta{padding-top:105px;padding-bottom:105px}
@media(max-width:1024px){.vof-program-cards-five > .elementor-container{flex-wrap:wrap}.vof-program-cards-five .vof-program-card{width:50%!important}}
@media(max-width:767px){.vof-program-cards-five .vof-program-card{width:100%!important}.vof-preview-photo{min-height:390px;margin-bottom:30px}.vof-program-cards-five{padding-bottom:62px}}

/* Rendering hardening consolidated from the former setup/recovery plugins. */
body .vof-facts {
  margin-top:-80px !important;
  padding:0 24px 45px !important;
  position:relative !important;
  z-index:30 !important;
  background:transparent !important;
}
body .vof-facts > .elementor-container,
body .vof-facts > .e-con-inner,
body .vof-facts.elementor-section > .elementor-container {
  width:100% !important;
  max-width:1240px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  display:flex !important;
  background:#fff !important;
  border-radius:24px !important;
  box-shadow:0 18px 45px rgba(16,42,67,.12) !important;
  overflow:hidden !important;
  padding:0 !important;
}
body .vof-facts .vof-fact {
  position:relative !important;
  width:25% !important;
  flex:0 0 25% !important;
  min-height:168px !important;
  padding:30px 29px 28px !important;
  background:#fff !important;
  border-right:1px solid #e8eff5 !important;
  box-sizing:border-box !important;
}
body .vof-facts .vof-fact:last-child { border-right:0 !important; }
body .vof-facts .vof-fact::before {
  content:"" !important;
  display:block !important;
  width:45px !important;
  height:5px !important;
  border-radius:5px !important;
  margin:0 0 14px 0 !important;
  background:#FFC928 !important;
}
body .vof-facts .vof-fact:nth-child(2)::before { background:#FF6559 !important; }
body .vof-facts .vof-fact:nth-child(3)::before { background:#52B96B !important; }
body .vof-facts .vof-fact:nth-child(4)::before { background:#49BFE8 !important; }
body .vof-facts .vof-fact-title,
body .vof-facts .vof-fact-title .elementor-widget-container { margin:0 !important; }
body .vof-facts .vof-fact-title .elementor-heading-title,
body .vof-facts .vof-fact h3 {
  margin:0 0 9px !important;
  color:#102A43 !important;
  font-family:"Barlow Condensed",Arial,sans-serif !important;
  font-size:25px !important;
  line-height:1.05 !important;
  font-weight:800 !important;
}
body .vof-facts .vof-fact-copy,
body .vof-facts .vof-fact-copy .elementor-widget-container,
body .vof-facts .vof-fact-copy p {
  margin:0 !important;
  color:#243B53 !important;
  font-family:"Nunito Sans",Arial,sans-serif !important;
  font-size:14px !important;
  line-height:1.35 !important;
}
body .vof-welcome .vof-eyebrow .elementor-heading-title { color:#49BFE8 !important; }
body .vof-welcome .vof-section-title .elementor-heading-title { color:#102A43 !important; }
body.home .vof-facts + .vof-welcome { padding-top:70px !important; }
@media (max-width:900px) {
  body .vof-facts > .elementor-container,
  body .vof-facts > .e-con-inner { flex-wrap:wrap !important; }
  body .vof-facts .vof-fact { width:50% !important; flex-basis:50% !important; }
  body .vof-facts .vof-fact:nth-child(2) { border-right:0 !important; }
  body .vof-facts .vof-fact:nth-child(-n+2) { border-bottom:1px solid #e8eff5 !important; }
}
@media (max-width:600px) {
  body .vof-facts { margin-top:-55px !important; padding-left:16px !important; padding-right:16px !important; }
  body .vof-facts .vof-fact { padding:20px 18px !important; min-height:145px !important; }
  body .vof-facts .vof-fact-title .elementor-heading-title { font-size:21px !important; }
}

/* Full-screen video-ready interior heroes, consolidated from the former helper plugin. */
body.vof-video-header-page .vof-site-header,
body.vof-video-header-page .elementor-location-header{position:absolute;top:0;left:0;width:100%;z-index:100}
body.vof-video-header-page .vof-site-utility,
body.vof-video-header-page .vof-header-utility{background:rgba(0,85,165,.76)!important;color:#fff}
body.vof-video-header-page .vof-site-nav,
body.vof-video-header-page .vof-header-main{background:transparent!important;box-shadow:none!important;border-bottom:0;backdrop-filter:none;-webkit-backdrop-filter:none}
body.vof-video-header-page .vof-site-logo img,
body.vof-video-header-page .vof-logo-img{filter:brightness(0) invert(1)}
body.vof-video-header-page .vof-site-menu a,
body.vof-video-header-page .vof-primary-menu a{color:#fff!important}
body.vof-video-header-page .vof-site-menu a:hover,
body.vof-video-header-page .vof-primary-menu a:hover{color:#FFC928!important}
body.vof-video-header-page .vof-menu-toggle{color:#fff}
body.admin-bar.vof-video-header-page .vof-site-header,
body.admin-bar.vof-video-header-page .elementor-location-header{top:32px}
.vof-subpage-video-hero{min-height:100vh!important;min-height:100svh!important;width:100%!important;padding:175px 30px 110px!important;overflow:hidden;position:relative;display:flex;align-items:center;box-sizing:border-box}
.vof-subpage-video-hero > .elementor-container{width:100%!important;max-width:1240px!important;margin:0 auto!important;position:relative;z-index:2;align-items:center}
.vof-subpage-video-hero .vof-subpage-hero-copy{width:100%!important;max-width:780px!important}
.vof-subpage-video-hero .vof-eyebrow .elementor-heading-title{color:#FFC928!important;font-size:15px;letter-spacing:.14em;font-weight:800;text-transform:uppercase}
.vof-subpage-video-hero .vof-inner-title .elementor-heading-title{color:#fff!important;font-size:86px!important;line-height:.93!important;letter-spacing:-.02em;font-weight:800;text-shadow:0 3px 28px rgba(0,0,0,.18)}
.vof-subpage-video-hero .vof-lead,.vof-subpage-video-hero .vof-lead p{color:rgba(255,255,255,.92)!important;max-width:700px;font-size:19px;line-height:1.7}
.vof-subpage-video-hero .elementor-button{background:#FFC928!important;color:#102A43!important;border-radius:999px!important;font-weight:900!important}
.vof-subpage-video-hero .elementor-background-video-container,
.vof-subpage-video-hero .elementor-background-video-embed,
.vof-subpage-video-hero .elementor-background-video-hosted{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;overflow:hidden!important;z-index:0!important}
.vof-subpage-video-hero video.elementor-background-video-hosted,
.vof-subpage-video-hero .elementor-background-video-container video{width:100%!important;height:100%!important;object-fit:cover!important}
.vof-subpage-video-hero .elementor-background-video-embed iframe{position:absolute!important;top:50%!important;left:50%!important;width:177.77777778vh!important;min-width:100%!important;height:56.25vw!important;min-height:100%!important;transform:translate(-50%,-50%)!important}
/* Interior hero media, spacing and overlay are controlled natively in Elementor. */
@media(max-width:767px){
 body.admin-bar.vof-video-header-page .vof-site-header,body.admin-bar.vof-video-header-page .elementor-location-header{top:46px}
 .vof-subpage-video-hero,body.vof-video-header-page .elementor[data-elementor-type="wp-page"] > .elementor-section:first-child{padding:145px 20px 85px!important}
 .vof-subpage-video-hero .vof-inner-title .elementor-heading-title,body.vof-video-header-page .elementor[data-elementor-type="wp-page"] > .elementor-section:first-child .vof-inner-title .elementor-heading-title{font-size:52px!important;line-height:.96!important}
 .vof-subpage-video-hero .vof-lead,.vof-subpage-video-hero .vof-lead p,body.vof-video-header-page .elementor[data-elementor-type="wp-page"] > .elementor-section:first-child .vof-lead,body.vof-video-header-page .elementor[data-elementor-type="wp-page"] > .elementor-section:first-child .vof-lead p{font-size:17px!important}
 body.vof-video-header-page .vof-site-menu{background:rgba(5,25,46,.97)!important}
}

/* Final interior transparent-header guard so Events and Contact match the other hero pages. */
body.vof-video-header-page .vof-site-header{
  position:absolute!important;
  top:0!important;
  left:0!important;
  width:100%!important;
  z-index:100!important;
}
body.admin-bar.vof-video-header-page .vof-site-header{
  top:32px!important;
}
@media(max-width:782px){
  body.admin-bar.vof-video-header-page .vof-site-header{
    top:46px!important;
  }
}
body.vof-video-header-page .vof-site-nav{
  background:transparent!important;
  box-shadow:none!important;
  border-bottom:0!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
body.vof-video-header-page .vof-site-menu a{
  color:#fff!important;
}
body.vof-video-header-page .vof-site-menu a:hover,
body.vof-video-header-page .vof-site-menu .current-menu-item>a:hover{
  color:#FFC928!important;
}
body.vof-video-header-page .vof-site-menu .current-menu-item>a{
  color:#fff!important;
}

/* Kids Learning Zone — match the transparent interior hero header. */
body.page-id-268 .vof-site-header{
  position:absolute!important;
  top:0!important;
  left:0!important;
  width:100%!important;
  z-index:100!important;
}
body.admin-bar.page-id-268 .vof-site-header{
  top:32px!important;
}
body.page-id-268 .vof-site-nav{
  background:transparent!important;
  box-shadow:none!important;
  border-bottom:0!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
body.page-id-268 .vof-site-logo img{
  filter:brightness(0) invert(1);
}
body.page-id-268 .vof-site-menu a{
  color:#fff!important;
}
body.page-id-268 .vof-site-menu a:hover{
  color:#FFC928!important;
}
body.page-id-268 .vof-menu-toggle{
  color:#fff!important;
}
@media(max-width:782px){
  body.admin-bar.page-id-268 .vof-site-header{
    top:46px!important;
  }
}
@media(max-width:767px){
  body.page-id-268 .vof-site-menu{
    background:rgba(5,25,46,.97)!important;
  }
}
