.elementor-kit-15{--e-global-color-primary:#102348;--e-global-color-secondary:#0A0A0C;--e-global-color-text:#0A0A0C;--e-global-color-accent:#F1AF39;--e-global-color-934ffdb:#102348;--e-global-color-285252f:#F7F7F7;--e-global-color-1fe9ef0:#0A0A0C;--e-global-color-3d2d6a9:#F1AF39;--e-global-color-edfd470:#FFFFFF;--e-global-color-a59dbe7:#000000;--e-global-color-eef7f82:#0062AB;--e-global-color-5597350:#E8A22E;--e-global-color-c6a2917:#F1AF3912;--e-global-color-1929b31:#C9881D;--e-global-color-cf8ec47:#2C4A82;--e-global-color-d9900ab:#1C3563;--e-global-color-cffb3e3:#0062AB14;--e-global-color-bdeefaf:#EEEEEF;--e-global-color-2505967:#44464B;--e-global-color-c3fb4f7:#6B6E75;--e-global-color-eb5186a:#0A0A0C1A;--e-global-color-1c056a2:#0A0A0C2E;--e-global-typography-primary-font-family:"Source Serif 4";--e-global-typography-primary-font-weight:400;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Source Serif 4";--e-global-typography-text-font-size:1em;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.6em;--e-global-typography-accent-font-family:"JetBrains Mono";--e-global-typography-accent-font-weight:500;--e-global-typography-45e702b-font-family:"Oswald";--e-global-typography-45e702b-font-size:clamp(3rem, 2.5385rem + 2.0513vw, 4rem);--e-global-typography-45e702b-font-weight:700;--e-global-typography-45e702b-text-transform:uppercase;--e-global-typography-45e702b-line-height:1.15em;--e-global-typography-45e702b-letter-spacing:-0.1px;--e-global-typography-8b485c1-font-family:"Oswald";--e-global-typography-8b485c1-font-size:clamp(2.4rem, 2.1231rem + 1.2308vw, 3rem);--e-global-typography-8b485c1-font-weight:700;--e-global-typography-8b485c1-text-transform:uppercase;--e-global-typography-8b485c1-line-height:1.18em;--e-global-typography-8b485c1-letter-spacing:-0.1px;--e-global-typography-7f71dda-font-family:"Oswald";--e-global-typography-7f71dda-font-size:clamp(2.1rem, 1.9154rem + 0.8205vw, 2.5rem);--e-global-typography-7f71dda-font-weight:700;--e-global-typography-7f71dda-text-transform:uppercase;--e-global-typography-7f71dda-line-height:1.22em;--e-global-typography-7f71dda-letter-spacing:-0.1px;--e-global-typography-a391e5c-font-family:"Oswald";--e-global-typography-a391e5c-font-size:clamp(1.8rem, 1.7077rem + 0.4103vw, 2rem);--e-global-typography-a391e5c-font-weight:700;--e-global-typography-a391e5c-text-transform:uppercase;--e-global-typography-a391e5c-line-height:1.25em;--e-global-typography-a391e5c-letter-spacing:-0.1px;--e-global-typography-dea93e3-font-family:"Oswald";--e-global-typography-dea93e3-font-size:clamp(1.6rem, 1.5308rem + 0.3077vw, 1.75rem);--e-global-typography-dea93e3-font-weight:700;--e-global-typography-dea93e3-text-transform:uppercase;--e-global-typography-dea93e3-line-height:1.3em;--e-global-typography-dea93e3-letter-spacing:-0.1px;--e-global-typography-0c65354-font-family:"Oswald";--e-global-typography-0c65354-font-size:clamp(1.4rem, 1.3538rem + 0.2051vw, 1.5rem);--e-global-typography-0c65354-font-weight:700;--e-global-typography-0c65354-text-transform:uppercase;--e-global-typography-0c65354-line-height:1.33em;--e-global-typography-0c65354-letter-spacing:-0.1px;--e-global-typography-3162951-font-family:"Oswald";--e-global-typography-3162951-font-size:clamp(1.2rem, 1.1769rem + 0.1026vw, 1.25rem);--e-global-typography-3162951-font-weight:700;--e-global-typography-3162951-text-transform:uppercase;--e-global-typography-3162951-line-height:1.55em;--e-global-typography-3162951-letter-spacing:-0.1px;--e-global-typography-e760944-font-size:1.2em;--e-global-typography-7e67195-font-size:0.9em;--e-global-typography-f3ad9b9-font-family:"Bebas Neue";--e-global-typography-f3ad9b9-font-size:1.05rem;--e-global-typography-f3ad9b9-font-weight:500;--e-global-typography-f3ad9b9-line-height:0em;--e-global-typography-f3ad9b9-letter-spacing:0.18em;--e-global-typography-bc3dd8f-font-family:"Source Serif 4";--e-global-typography-bc3dd8f-font-size:0em;--e-global-typography-bc3dd8f-font-weight:700;--e-global-typography-bc3dd8f-letter-spacing:0.1em;background-color:var( --e-global-color-285252f );color:var( --e-global-color-1fe9ef0 );font-family:var( --e-global-typography-text-font-family ), Serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-15 button,.elementor-kit-15 input[type="button"],.elementor-kit-15 input[type="submit"],.elementor-kit-15 .elementor-button{background-color:#F1AF39;font-family:"Oswald", Serif;font-size:1em;font-weight:700;text-transform:uppercase;line-height:1.65em;letter-spacing:0.07em;color:#102348;border-style:solid;border-width:2px 2px 2px 2px;border-color:#C9881D;border-radius:0px 0px 0px 0px;padding:0.85rem 2rem 0.85rem 2rem;}.elementor-kit-15 button:hover,.elementor-kit-15 button:focus,.elementor-kit-15 input[type="button"]:hover,.elementor-kit-15 input[type="button"]:focus,.elementor-kit-15 input[type="submit"]:hover,.elementor-kit-15 input[type="submit"]:focus,.elementor-kit-15 .elementor-button:hover,.elementor-kit-15 .elementor-button:focus{background-color:#E8A22E;color:var( --e-global-color-934ffdb );}.elementor-kit-15 e-page-transition{background-color:#FFBC7D;}.elementor-kit-15 p{margin-block-end:0px;}.elementor-kit-15 a{color:var( --e-global-color-eef7f82 );font-family:"Source Serif 4", Serif;font-size:1em;font-weight:700;line-height:1.6em;}.elementor-kit-15 a:hover{color:var( --e-global-color-5597350 );}.elementor-kit-15 h2{color:var( --e-global-color-934ffdb );font-family:var( --e-global-typography-7f71dda-font-family ), Serif;font-size:var( --e-global-typography-7f71dda-font-size );font-weight:var( --e-global-typography-7f71dda-font-weight );text-transform:var( --e-global-typography-7f71dda-text-transform );line-height:var( --e-global-typography-7f71dda-line-height );letter-spacing:var( --e-global-typography-7f71dda-letter-spacing );}.elementor-kit-15 h3{color:var( --e-global-color-934ffdb );font-family:var( --e-global-typography-a391e5c-font-family ), Serif;font-size:var( --e-global-typography-a391e5c-font-size );font-weight:var( --e-global-typography-a391e5c-font-weight );text-transform:var( --e-global-typography-a391e5c-text-transform );line-height:var( --e-global-typography-a391e5c-line-height );letter-spacing:var( --e-global-typography-a391e5c-letter-spacing );}.elementor-kit-15 h4{color:var( --e-global-color-934ffdb );font-family:var( --e-global-typography-dea93e3-font-family ), Serif;font-size:var( --e-global-typography-dea93e3-font-size );font-weight:var( --e-global-typography-dea93e3-font-weight );text-transform:var( --e-global-typography-dea93e3-text-transform );line-height:var( --e-global-typography-dea93e3-line-height );letter-spacing:var( --e-global-typography-dea93e3-letter-spacing );}.elementor-kit-15 label{color:var( --e-global-color-primary );font-family:"Oswald", Serif;font-size:1em;font-weight:700;text-transform:uppercase;letter-spacing:0.05em;}.elementor-kit-15 input:not([type="button"]):not([type="submit"]),.elementor-kit-15 textarea,.elementor-kit-15 .elementor-field-textual{font-family:var( --e-global-typography-secondary-font-family ), Serif;font-weight:var( --e-global-typography-secondary-font-weight );color:var( --e-global-color-a59dbe7 );background-color:var( --e-global-color-285252f );border-style:solid;border-color:var( --e-global-color-1c056a2 );border-radius:0px 0px 0px 0px;padding:1rem 1rem 1rem 1rem;}.elementor-kit-15 input:focus:not([type="button"]):not([type="submit"]),.elementor-kit-15 textarea:focus,.elementor-kit-15 .elementor-field-textual:focus{accent-color:var( --e-global-color-3d2d6a9 );background-color:var( --e-global-color-edfd470 );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1280px;}.e-con{--container-max-width:1280px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){--kit-widget-spacing:1.5rem;}.elementor-element{--widgets-spacing:1.5rem 1.5rem;--widgets-spacing-row:1.5rem;--widgets-spacing-column:1.5rem;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1366px){.elementor-kit-15{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-15 h2{font-size:var( --e-global-typography-7f71dda-font-size );line-height:var( --e-global-typography-7f71dda-line-height );letter-spacing:var( --e-global-typography-7f71dda-letter-spacing );}.elementor-kit-15 h3{font-size:var( --e-global-typography-a391e5c-font-size );line-height:var( --e-global-typography-a391e5c-line-height );letter-spacing:var( --e-global-typography-a391e5c-letter-spacing );}.elementor-kit-15 h4{font-size:var( --e-global-typography-dea93e3-font-size );line-height:var( --e-global-typography-dea93e3-line-height );letter-spacing:var( --e-global-typography-dea93e3-letter-spacing );}}@media(max-width:1024px){.elementor-kit-15{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-15 h2{font-size:var( --e-global-typography-7f71dda-font-size );line-height:var( --e-global-typography-7f71dda-line-height );letter-spacing:var( --e-global-typography-7f71dda-letter-spacing );}.elementor-kit-15 h3{font-size:var( --e-global-typography-a391e5c-font-size );line-height:var( --e-global-typography-a391e5c-line-height );letter-spacing:var( --e-global-typography-a391e5c-letter-spacing );}.elementor-kit-15 h4{font-size:var( --e-global-typography-dea93e3-font-size );line-height:var( --e-global-typography-dea93e3-line-height );letter-spacing:var( --e-global-typography-dea93e3-letter-spacing );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-15{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-15 h2{font-size:var( --e-global-typography-7f71dda-font-size );line-height:var( --e-global-typography-7f71dda-line-height );letter-spacing:var( --e-global-typography-7f71dda-letter-spacing );}.elementor-kit-15 h3{font-size:var( --e-global-typography-a391e5c-font-size );line-height:var( --e-global-typography-a391e5c-line-height );letter-spacing:var( --e-global-typography-a391e5c-letter-spacing );}.elementor-kit-15 h4{font-size:var( --e-global-typography-dea93e3-font-size );line-height:var( --e-global-typography-dea93e3-line-height );letter-spacing:var( --e-global-typography-dea93e3-letter-spacing );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* ============================================
   ROOT & BASE
   ============================================ */

:root {
  font-size: 18px;
}


/* ============================================
   SECTION PADDING — sm / md / lg
   Applied to inner content containers
   Calculated at 18px root
   ============================================ */

.section-sm { padding: 2.5rem 0; }   /* 45px */
.section-md { padding: 5rem 0; }     /* 90px */
.section-lg { padding: 8rem 0; }     /* 144px */


/* ============================================
   RESPONSIVE SECTION PADDING
   ============================================ */

@media (max-width: 1366px) {
  .section-sm { padding: 2.5rem 0; }   /* 45px — no change */
  .section-md { padding: 4.5rem 0; }   /* ~80px */
  .section-lg { padding: 6.25rem 0; }  /* ~112px */
}

@media (max-width: 1024px) {
  .section-sm { padding: 1.75rem 0; }  /* ~32px */
  .section-md { padding: 3.5rem 0; }   /* ~63px */
  .section-lg { padding: 4.5rem 0; }   /* ~81px */
}

@media (max-width: 767px) {
  .section-sm { padding: 1.25rem 0; }  /* ~22px */
  .section-md { padding: 2.5rem 0; }   /* 45px */
  .section-lg { padding: 3rem 0; }     /* 54px */
}


/* ============================================
   BOXED CONTENT CONTAINER
   Equivalent of .wrap in Landing Page.html
   Apply to inner content containers
   Gutter mirrors clamp(24px, 4vw, 64px)
   from the HTML reference — Elementor linter
   will flag clamp() here but it works fine
   ============================================ */

.w-boxed {
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  padding-left: clamp(24px, 4vw, 64px);
  padding-right: clamp(24px, 4vw, 64px);
}


/* ============================================
   V3 TEXT EDITOR — PARAGRAPH SPACING
   ============================================ */

.elementor-widget-text-editor p ,
.elementor-widget-theme-post-content p {
  margin-bottom: 1em;
  line-height: 1.65;
}


/* ============================================
   HERO OFFSET
   Adjust px value to match your sticky nav height
   ============================================ */

.hero-offset {
  scroll-margin-top: 80px;
}

.grecaptcha-badge { visibility: hidden; }

.noline p {
    /*line-height:1.2em;*/
    margin:0;
}
.dark, .dark h2 {color: #fff;}

/* ==========================
cheat to make blog card for custom loop template link for entire card and not just parts of it
**/
.card-wrapper {
  position: relative;
}

.card-overlay-link {
  position: absolute;
  inset: 0;
  z-index: 1;
}

/* ============================================
BLOG POST CSS
   ============================================ */
   
.wp-block-button .wp-block-button__link {
  background-color: #F1AF39;
  border: 2px solid #C9881D;
  border-radius: 0;
  color: #102348 !important;
  padding: 0.85rem 2rem;
  font-family: 'Oswald', sans-serif;
  font-size: 1rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  text-decoration: #102348;
  transition: background-color 0.2s ease, border-color 0.2s ease;
}

.wp-block-button .wp-block-button__link:hover {
  background-color: #E8A22E;
  border-color: #C9881D;
  color: #102348 !important;
}

.wp-block-quote {
  padding: 30px;
  border-left: 4px solid #f1af39;
  background-color: rgba(241, 175, 57, 0.07);
  margin: 1.5rem 0;
}

.wp-block-quote .wp-block-paragraph {
  color: #3f444b;
  margin-bottom: 0;
}


/* ============================================
SCHOOL AND PROJECT CONTAINERS HIDE IF EMPTY
   ============================================ */
/* School single template */
body.no-completed-projects  #school-phase-completed-container  { display: none; }
body.no-inprogress-projects #school-phase-inprogress-container { display: none; }
body.no-future-projects     #school-phase-future-container     { display: none; }

/* Project single template */
body.no-completed-schools  #project-phase-completed-container  { display: none; }
body.no-inprogress-schools #project-phase-inprogress-container { display: none; }
body.no-future-schools     #project-phase-future-container     { display: none; }
body.hide-project-custom-content #project-custom-container {
    display: none;
}

/* ============================================
Weird Nav stacking work-around
   ============================================ */
.elementor-element-ec8d828 ul.elementor-nav-menu {
  flex-wrap: nowrap !important;
}/* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Source Serif 4';
	font-style: normal;
	font-weight: 400;
	font-display: auto;
	src: url('https://halfpennypromise.com/wp-content/uploads/2026/06/source-serif-4-v14-latin-regular.woff2') format('woff2');
}
@font-face {
	font-family: 'Source Serif 4';
	font-style: italic;
	font-weight: 400;
	font-display: auto;
	src: url('https://halfpennypromise.com/wp-content/uploads/2026/06/source-serif-4-v14-latin-italic.woff2') format('woff2');
}
@font-face {
	font-family: 'Source Serif 4';
	font-style: normal;
	font-weight: 500;
	font-display: auto;
	src: url('https://halfpennypromise.com/wp-content/uploads/2026/06/source-serif-4-v14-latin-500.woff2') format('woff2');
}
@font-face {
	font-family: 'Source Serif 4';
	font-style: normal;
	font-weight: 600;
	font-display: auto;
	src: url('https://halfpennypromise.com/wp-content/uploads/2026/06/source-serif-4-v14-latin-600.woff2') format('woff2');
}
@font-face {
	font-family: 'Source Serif 4';
	font-style: normal;
	font-weight: 700;
	font-display: auto;
	src: url('https://halfpennypromise.com/wp-content/uploads/2026/06/source-serif-4-v14-latin-700.woff2') format('woff2');
}
/* End Custom Fonts CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Oswald';
	font-style: normal;
	font-weight: 400;
	font-display: auto;
	src: url('https://halfpennypromise.com/wp-content/uploads/2026/06/oswald-v57-latin-regular.woff2') format('woff2');
}
@font-face {
	font-family: 'Oswald';
	font-style: normal;
	font-weight: 600;
	font-display: auto;
	src: url('https://halfpennypromise.com/wp-content/uploads/2026/06/oswald-v57-latin-600.woff2') format('woff2');
}
@font-face {
	font-family: 'Oswald';
	font-style: normal;
	font-weight: 700;
	font-display: auto;
	src: url('https://halfpennypromise.com/wp-content/uploads/2026/06/oswald-v57-latin-700.woff2') format('woff2');
}
/* End Custom Fonts CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Bebas Neue';
	font-style: normal;
	font-weight: 400;
	font-display: auto;
	src: url('https://halfpennypromise.com/wp-content/uploads/2026/06/bebas-neue-v16-latin-regular.woff2') format('woff2');
}
/* End Custom Fonts CSS */