div.email > span:nth-child(2) {
	display: none;
}

.underline {
  position: relative;
  display: inline-block;
  color: inherit;
}

.underline::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px; /* Distance below the word */
  width: 100%;
  height: 10px; /* Thickness/amplitude of the squiggle */
  
  /* Hand-drawn squiggly line encoded as an inline SVG */
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 100 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M 0 10 Q 25 2, 50 10 T 100 10' fill='none' stroke='currentColor' stroke-width='4' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: 0% 100%; /* Starts hidden (0 width) */
  
  /* Automatically animates in once on load and stays visible */
  animation: drawSquiggle 0.8s ease-out forwards;
}

@keyframes drawSquiggle {
  to {
    background-size: 100% 100%; /* Expands to full width and stays there */
  }
}

.highlight {
  position: relative;
  display: inline-block;
  font-weight: bold;
  padding: 0 8px; /* Adds space for the jagged edges */
  

  background: var(--highlight-color, #dfa9ef); 
 
  
  

  
  /* Optional: slightly rotates the background for a hand-drawn feel */
  transform: rotate(-0.5deg); 
}


/* 1. The missing keyframes for the animation */
@keyframes highlightDraw {
  0% {
    width: 0;
  }
  100% {
    /* calc(100% + 4px) accounts for the left: -2px offset to cover the whole word */
    width: calc(100% + 4px); 
  }
}

/* 2. Container setup */
span.wavy-underline {
  position: relative;
  display: inline-block;
  z-index: 1;
  padding: 0 4px;
}

/* 3. The highlighter mark with animation */
span.wavy-underline::before {
  content: "";
  position: absolute;
  left: -2px;
  bottom: 10%;
  width: 0;
  height: 65%;
  background-color: #fc1271;
  z-index: -1;
  border-radius: 20% 5% 20% 5% / 5% 20% 5% 20%;
  transform: rotate(-1deg) skewX(-2deg);

  /* Trigger animation on load */
  animation: highlightDraw 1s cubic-bezier(0.65, 0, 0.35, 1) forwards;
  animation-delay: 0.3s; /* Optional delay so it starts after content appears */
}



/* Base Header - Permanent Floating State & Reveal Animation */
.hs-elevate-site-header._hs-elevate-site-header_r5rb8_1 {
  position: fixed !important;
  top: 20px;
  left: 50%;
  transform: translateX(-50%);
  width: 90%;
  max-width: 1300px;
  z-index: 9999;
  
  /* Aesthetics */
  background-color: #02306d;
  backdrop-filter: blur(20px);
  border-radius: 50px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.25);
  padding: 15px 40px;
  box-sizing: border-box;

  /* REVEAL speed (Applied when scrolling up) */
  transition: top 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
}

._hs-elevate-site-header__main-nav_r5rb8_42 li a, ._hs-elevate-site-header__main-nav_r5rb8_42 li .hs-elevate-menu__menu-item-span {
    font-weight: 650; /* Change to 400, 500, 700, etc. */
}

/* Reduce the left (12px) and right (24px) padding on menu item links and labels */
.hs-elevate-menu.hs-elevate-menu--horizontal li a,
.hs-elevate-menu.hs-elevate-menu--horizontal li span {
  padding-left: 8px !important;
  padding-right: 8px !important;
}


/* Hidden State - Hide Animation Speed */
.hs-elevate-site-header--hidden {
  top: -150px !important;
  /* HIDE speed (Applied when scrolling down - 50% slower) */
  transition: top 0.9s cubic-bezier(0.165, 0.84, 0.44, 1) !important;
}

/* Form Styling Lets Talk */
:root {
  --hsf-global__font-family: 'Nunito';
  --hsf-global__font-size: 18px;
  --hsf-global__color: #02306d;
  --hsf-heading__color:02306d;
  --hsf-global-error__color:#09204f;
  --hsf-background__background-color: #f8faf1;
  --hsf-background__border-style: none!important;
  --hsf-button__background-color: #02306d;
    --hsf-button:has(text: "Continue")__background-color: #b7ed65;
    --hsf-button__border:none;
  --hsf-button__color:white;
    --hsf-button__border-style:none;
  --hsf-button__padding: 20px;
  --hsf-field-textarea__text-align:center;
  --hsf-button__width:30%;
  --hsf-field-input__border-width:3px;
  --hsf-field-input__border-color:#09204f;
  --hsf-field-input__background-color:white;
  --hsf-field-input__placeholder-font-weight:700!important;
    --hsf-field-input__placeholder-fontweight:700!important;
  
}
form.hsfc-Form label, form.hsfc-Form h1, form.hsfc-Form h2, form.hsfc-Form h3, form.hsfc-Form .hsfc-Heading, {
  color: #02306d !important;
}

/* Center the labels */
form.hsfc-Form label {
  display: block;
  text-align: center;
  width: 100%;
}


/* Center all form titles, step headings, rich text, and labels */
form.hsfc-Form label,
form.hsfc-Form h1,
form.hsfc-Form h2,
form.hsfc-Form h3,
form.hsfc-Form .hsfc-Step__Title,
form.hsfc-Form .hsfc-Heading,
form.hsfc-Form .hsfc-RichText {
  display: block !important;
  text-align: center !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Target all button containers ending in -b within the HubSpot form */
div[id^="hs_form_target_module_"][id$="-b"] {
  display: flex !important;
  flex-direction: row !important;
  gap: 10px !important;
}

div[id^="hs_form_target_module_"][id$="-b"]:hover {
color:#fff!important;
}
/* Ensure buttons within these containers sit side-by-side */
div[id^="hs_form_target_module_"][id$="-b"] button {
  width: auto !important;
  flex: 1 !important;
}
div[id^="hs_form_target_module_"][id$="-b"] button:hover {
color:#fff!important;
}

button.hsfc-Button {
  background-color: rgb(2, 48, 109) !important;
  filter: none !important;
  box-shadow: none !important;
  opacity: 1 !important;
    transform: none !important;
  margin-top: 0 !important;
  translate: none !important;
}

button.hsfc-Button:hover {
color:#fff!important;
}

button.hsfc-Button::before, 
button.hsfc-Button::after {
  display: none !important;
}

  .hsfc-Step__Content {
  --hsf-row__vertical-spacing: 16px !important; /* Reduces 32px to 16px */
}
}


.cta_button {
  background-color: #fff; /* Replace with your specific blue hex code */
  color: #fff;            /* Makes the text white */
  padding: 10px 30px;        /* 10px top/bottom, 30px left/right */
  display: inline-block;     /* Required for vertical padding to work on <a> links */
  text-decoration: none;     /* Removes standard link underline */
  border-radius: 4px;        /* Optional: rounds the corners slightly */
  text-align: center;        /* Centers text horizontally */
}

/* Recommended: Style changes when a user hovers over the button */
.cta_button:hover {
  background-color: #0056b3; /* A slightly darker blue for the hover effect */
  text-decoration: none;
}

.sticky-footer-banner {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  background-color: #d5e0fa !important;
  color: #ffffff !important;
  border-top-left-radius: 50px;
  border-top-right-radius: 50px;
  padding: 30px 50px;
  box-sizing: border-box;
  box-shadow: 0 -5px 25px rgba(0, 0, 0, 0.2);
  z-index: 1000;
}

/* Forces a strict side-by-side two-column layout and prevents wrapping */
.sticky-footer-banner .banner-content {
  display: flex !important;
  flex-direction: row !important;
  justify-content: space-between !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  max-width: 1200px;
  margin: 0 auto;
  width: 100%;
}

/* Forces the title to be bright lime green */
.sticky-footer-banner .banner-title {
  color: #09204f !important;
  font-size: 1.3rem;
  font-weight: 800;
  margin: 0 0 8px 0;
}

/* Forces the subtitle to be crisp white */
.sticky-footer-banner .banner-subtitle {
  color: #09204f !important;
  font-size: 0.9rem;
  margin: 0;
}


/* Styles the button and prevents its contents from breaking */
.sticky-footer-banner .banner-btn {
  background-color: #09204f !important;
  color: #ffffff !important;
  border: none;
  padding: 16px 24px;
  border-radius: 30px;
  font-size: 1rem;
  font-weight: bold;
  cursor: pointer;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
}

.sticky-footer-banner .banner-btn:hover {
  background-color: #09204f !important;
}

button.banner-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center;
  gap: 10px; /* Adjust spacing as needed */
  padding: 16px 28px;
}

button.banner-btn span {
  line-height: 1; /* Prevents extra space above/below text */
  color:white!important;
}

.banner-btn {
  --hsElevate--richText__textColor: #ffffff;
  gap:8px!important;
}

button.banner-btn svg {
  display: block; /* Prevents inline alignment issues */
  flex-shrink: 0;
}

/* Only stack vertically on smaller mobile screens */
@media (max-width: 768px) {
  .sticky-footer-banner .banner-content {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 20px;
  }
  .sticky-footer-banner {
    padding: 20px;
    border-top-left-radius: 30px;
    border-top-right-radius: 30px;
  }

  .sticky-footer-banner .banner-btn {
    width: 100%;
    text-align: left;
  }
}
@media (min-width: 768px) {
  .sticky-footer-banner {
    display: none !important;
  }
}

/* Using the classes to ensure it targets the correct element */
.sticky-footer-banner.sticky-footer-banner {
  width: 100% !important;
  max-width: none !important;
  left: 0 !important;
  right: 0 !important;
}

.sticky-footer-banner .banner-content {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 20px;
}

.sticky-footer-banner .text-group {
  flex: 1 !important;
}

.sticky-footer-banner .banner-btn {
  width: auto !important;
  white-space: nowrap;
}

@keyframes slideUp {
  from {
    transform: translateY(100%);
    opacity: 0;
    visibility: hidden;
  }
  to {
    transform: translateY(0);
    opacity: 1;
    visibility: visible;
  }
}

.sticky-footer-banner {
  /* Starting state: hidden */
  transform: translateY(100%);
  opacity: 0;
  visibility: hidden;

  /* Animation: name, duration, timing-function, delay, fill-mode */
  animation: slideUp 0.6s cubic-bezier(0.25, 0.1, 0.25, 1) 20s forwards;
  
  /* Ensure the element is fixed and at the bottom */
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1000;
}
.force-full-width-wrapper,
.mobile-crop-container {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important; /* Changed from -1px */
  padding: 0 !important;
  overflow: hidden;
  line-height: 0 !important;
}

.mobile-crop-img {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  display: block !important;
  border: none !important;
  margin: 0 !important;
  padding: 0 !important;
}



  /* Nullifies HubSpot's built-in rich text image bottom margin for this wrapper */
  div:has(> .force-full-width-wrapper),
  .hs-elevate-rich-text .force-full-width-wrapper {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }

img.mobile-crop-img {
  transform: scale(1.005); 
}

input::placeholder {
  font-weight: bold!important;
  opacity:1!important;
  color:#02306d!important;
    
}

input {
  font-weight: bold!important;
  opacity:1!important;
  color:#02306d!important;
    
}
  /*
.dnd_area-row-14-padding {
  padding-left: 0 !important;
  padding-right: 0 !important;
}*/



@media (max-width: 767px) {
  .hs-elevate-site-header__mobile-menu .hs-elevate-site-header__menu-container {
    position: fixed !important;
    left: 0px !important;
    overflow: hidden!important;
    right: 0px !important;
    top: 0px !important;
    height: 500px !important; /* Ensures the background covers the full height */
    width: auto !important; 
    border-radius: 50px !important;
    margin: 0 !important;
    background-color: var(--hsElevate--mobileMenu__backgroundColor, #02306d) !important;
    z-index: 1 !important; 
    padding-top: 100px !important;
    box-sizing: border-box !important;
  }

  /* Ensures the logo and close icon stay visible above the floating background */
  .hs-elevate-site-header__hamburger-menu,
  .hs-elevate-site-header__logo-container {
    position: relative !important;
    z-index: 999 !important; 
  }
}
}

details.hs-elevate-accordion summary.hs-elevate-accordion__title span.hs-elevate-accordion__title-text {
  font-weight: 800 !important;
}._hs-elevate-accordion__title-text_1l4y8_17 {
    font-weight: 800!important;
  }

a.hs-elevate-link--primary.hs-elevate-menu__menu-item-link:hover {
  color: #a7ee49 !important;
}

/* 1. Header Menu Hover State */
.hs-elevate-menu__menu-item-link:hover {
  color: #a7ee49 !important;
  transition: color 0.3s ease;
}

/* Make all menu links bold by default */
.hs-elevate-menu__menu-item-link {
  font-weight: bold;
  font-size:16px;
}

/* Reset secondary/child links inside submenus to normal weight */
.hs-elevate-menu__submenu .hs-elevate-menu__menu-item-link {
  font-weight: 400;
}
/* Instantly offset the page jump using a CSS variable */
body[style*="position: fixed"], 
body[style*="overflow: hidden"] {
    position: fixed !important;
    width: 100% !important;
    top: calc(-1 * var(--scroll-y, 0px)) !important; 
}
/* Stop BOTH transitions and animations to prevent the awkward slide on close */
body:not([style*="position: fixed"]) .hs-elevate-site-header__mobile-menu,
body:not([style*="position: fixed"]) .hs-elevate-site-header__mobile-menu * {
    transition: none !important;
    animation: none !important;
}