:root {
    --color-primary-deep-blue: #002C5F;
    --color-primary-red-orange: #E53215;
    --color-white: #FFFFFF;
    --color-secondary-mid-blue: #1175BB;
    --color-dark-gray: #363636;
    --color-soft-orange: #F1612D;
    --color-light-blue: #e6f1fa;
}

/* HFHO Footer Branding Overrides */
.hfho-footer-wrapper {
    background: linear-gradient(90deg, var(--color-primary-deep-blue) 70%, var(--color-secondary-mid-blue) 100%) !important;
    background-color: var(--color-primary-deep-blue) !important;
    color: var(--color-white) !important;
    font-family: 'Nunito Sans', 'Figtree', Arial, sans-serif !important;
    border-top: 0;
}
.hfho-footer-wrapper > * {
    background: transparent !important;
}
.hfho-footer-wrapper a {
    color: var(--color-light-blue) !important;
    text-decoration: none;
    transition: color 0.18s;
}
.hfho-footer-wrapper a:hover, .hfho-footer-wrapper a:focus {
    color: var(--color-soft-orange) !important;
    text-decoration: underline;
}
.hfho-footer-wrapper .gdlr-core-social-network-icon {
    background: var(--color-primary-red-orange) !important;
    color: var(--color-white) !important;
    border-radius: 50%;
    font-size: 1.3em;
    margin-right: 0.5em;
    transition: background 0.18s, color 0.18s;
}
.hfho-footer-wrapper .gdlr-core-social-network-icon:hover {
    background: var(--color-white) !important;
    color: var(--color-primary-red-orange) !important;
}
.hfho-footer-wrapper .gdlr-core-footer-column-title {
    color: var(--color-white) !important;
    font-weight: 800;
    letter-spacing: 0.5px;
    font-size: 1.1rem;
}
.hfho-footer-wrapper .gdlr-core-footer-custom-menu li a {
    color: var(--color-light-blue) !important;
    font-weight: 600;
    opacity: 0.92;
}
.hfho-footer-wrapper .gdlr-core-footer-custom-menu li a:hover {
    color: var(--color-soft-orange) !important;
    opacity: 1;
}
.hfho-footer-wrapper .gdlr-core-footer-column-content {
    color: var(--color-white) !important;
    opacity: 0.85;
    font-size: 1rem;
}
.hfho-footer-wrapper .gdlr-core-footer-list li:before {
    color: var(--color-primary-red-orange) !important;
}
.hfho-footer-wrapper .gdlr-core-footer-list li {
    color: var(--color-white) !important;
}
.hfho-footer-wrapper .gdlr-core-footer-list li a {
    color: var(--color-light-blue) !important;
}
.hfho-footer-wrapper .gdlr-core-footer-list li a:hover {
    color: var(--color-soft-orange) !important;
}
.hfho-footer-wrapper .gdlr-core-footer-list-icon {
    color: var(--color-primary-red-orange) !important;
}
.hfho-footer-wrapper .gdlr-core-footer-list-address {
    color: var(--color-white) !important;
    opacity: 0.85;
}
.hfho-footer-wrapper .gdlr-core-footer-list-phone {
    color: var(--color-white) !important;
    opacity: 0.85;
}
.hfho-footer-wrapper .gdlr-core-footer-list-email {
    color: var(--color-white) !important;
    opacity: 0.85;
}
.hfho-footer-wrapper .gdlr-core-footer-list-email a {
    color: var(--color-light-blue) !important;
    text-decoration: underline;
}
.hfho-footer-wrapper .gdlr-core-footer-list-email a:hover {
    color: var(--color-soft-orange) !important;
}
.hfho-footer-wrapper .gdlr-core-footer-logo img,
#footer-logo {
    background: #fff !important;
    border-radius: 16px !important;
    box-shadow: 0 2px 16px 0 rgba(0,44,95,0.13) !important;
    padding: 8px !important;
    max-height: 64px !important;
    display: block;
    border: none !important;
    /* For smooth, modern look */
    transition: box-shadow 0.18s, border-radius 0.18s;
}
.hfho-footer-wrapper .gdlr-core-footer-copyright {
    border-top: 1px solid rgba(255,255,255,0.13) !important;
    color: var(--color-white) !important;
    opacity: 0.7;
    font-size: 0.98rem;
    text-align: center;
    margin-top: 2.5rem;
    padding-top: 1.2rem;
}
.hfho-footer-wrapper .gdlr-core-footer-copyright a {
    color: var(--color-primary-red-orange) !important;
    background: #fff;
    border-radius: 2rem;
    font-weight: 900;
    padding: 0.3rem 1.1rem;
    box-shadow: 0 2px 8px rgba(229,50,21,0.10);
    text-decoration: none;
    display: inline-block;
    margin-right: 1.2rem;
    transition: background 0.18s, color 0.18s;
}
.hfho-footer-wrapper .gdlr-core-footer-copyright a:hover {
    background: var(--color-soft-orange);
    color: #fff !important;
}
.hfho-footer-container {
    background: transparent !important;
}

/* --- HFHO Copyright Section: White Background, Branded Icons --- */
.hfho-copyright-wrapper {
    background: #fff !important;
    color: var(--color-primary-deep-blue) !important;
    font-family: 'Nunito Sans', 'Figtree', Arial, sans-serif !important;
    font-size: 1rem;
    border-top: 1px solid rgba(0,44,95,0.10);
    margin-top: 0;
    padding: 0.7rem 0 0.2rem 0;
    box-shadow: 0 2px 12px 0 rgba(0,44,95,0.04);
}
.hfho-copyright-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 2rem;
    gap: 0.5rem;
}
.hfho-copyright-left {
    color: var(--color-primary-deep-blue);
    font-weight: 600;
    letter-spacing: 0.2px;
    opacity: 0.95;
    font-size: 1rem;
    flex: 1 1 220px;
    min-width: 180px;
    text-align: left;
}
.hfho-copyright-right {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.2rem;
    flex: 1 1 220px;
    min-width: 180px;
    flex-wrap: nowrap;
}
.hfho-copyright-right .gdlr-core-social-network-item {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 0.1em;
}
.hfho-copyright-right .gdlr-core-social-network-icon {
    background: var(--color-primary-deep-blue) !important;
    color: var(--color-primary-red-orange) !important;
    border-radius: 50%;
    font-size: 19px;
    margin-right: 0.15em;
    transition: background 0.18s, color 0.18s;
    box-shadow: 0 2px 8px rgba(0,44,95,0.10);
    width: 2.1em;
    height: 2.1em;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid var(--color-primary-deep-blue);
}
.hfho-copyright-right .gdlr-core-social-network-icon:last-child {
    margin-right: 0;
}
.hfho-copyright-right .gdlr-core-social-network-icon:hover {
    background: var(--color-primary-red-orange) !important;
    color: #fff !important;
    border-color: var(--color-primary-red-orange);
}
/* --- HFHO Donate Button Highlight --- */
.hfho-donate-highlight {
    background: linear-gradient(90deg, var(--color-primary-red-orange) 60%, var(--color-primary-deep-blue) 100%) !important;
    color: #fff !important;
    font-weight: 800;
    border-radius: 2rem;
    padding: 0.35em 1.3em;
    box-shadow: 0 2px 8px rgba(229,50,21,0.13);
    text-decoration: none !important;
    display: inline-block;
    margin: 0.2em 0;
    letter-spacing: 0.5px;
    border: none;
    transition: background 0.18s, color 0.18s, box-shadow 0.18s;
}
.hfho-donate-highlight:hover, .hfho-donate-highlight:focus {
    background: var(--color-primary-deep-blue) !important;
    color: var(--color-primary-red-orange) !important;
    box-shadow: 0 4px 16px rgba(0,44,95,0.13);
    text-decoration: none !important;
}

/* --- HFHO Donate Button Highlight (Header) --- */
.hfho-header-donate-highlight .hfho-header-donate {
  background: linear-gradient(90deg, var(--color-primary-red-orange) 60%, var(--color-primary-deep-blue) 100%) !important;
  color: #fff !important;
  font-weight: 800;
  border-radius: 2rem;
  padding: 0.38em 1.35em;
  box-shadow: 0 2px 8px rgba(229,50,21,0.13);
  text-decoration: none !important;
  display: inline-block;
  margin: 0.16em 0;
  letter-spacing: 0.5px;
  border: none;
  font-size: 1.13em;
  transition: background 0.18s, color 0.18s, box-shadow 0.18s;
}
.hfho-header-donate-highlight .hfho-header-donate:hover, 
.hfho-header-donate-highlight .hfho-header-donate:focus {
  background: var(--color-primary-deep-blue) !important;
  color: var(--color-primary-red-orange) !important;
  box-shadow: 0 4px 16px rgba(0,44,95,0.13);
  text-decoration: none !important;
}

/* --- Modern Dropdown Menu Styling --- */
.sf-menu .sub-menu {
  background: #fff;
  border-radius: 1rem;
  box-shadow: 0 8px 32px rgba(0,44,95,0.13), 0 1.5px 6px rgba(17,117,187,0.07);
  padding: 0.3em 0.1em;
  min-width: 190px;
  border: none;
  margin-top: 0.5em;
  z-index: 1001;
  transition: box-shadow 0.18s;
}
.sf-menu .sub-menu .menu-item > a {
  color: var(--color-primary-deep-blue);
  font-weight: 700;
  padding: 0.45em 0.9em;
  border-radius: 0.6em;
  font-size: 1em;
  transition: background 0.16s, color 0.16s;
  display: block;
}
.sf-menu .sub-menu .menu-item > a:hover, 
.sf-menu .sub-menu .menu-item > a:focus {
  background: var(--color-light-blue);
  color: var(--color-primary-red-orange);
}
.sf-menu .menu-item-has-children > a:after {
  content: '\25BC';
  font-size: 0.7em;
  margin-left: 0.4em;
  color: var(--color-primary-red-orange);
  vertical-align: middle;
}

/* Remove default border/shadow for main menu dropdowns if present */
.sf-menu .sub-menu, .sf-menu .sub-menu li {
  border: none !important;
  box-shadow: none !important;
}

/* Ensure dropdowns are above sticky header */
.hfho-header-wrap {
  z-index: 1100;
}

.hfho-header-container-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 0;
  padding: 0;
}
.hfho-logo {
  display: flex;
  align-items: center;
  margin: 0;
  padding: 0 1.2em 0 0;
}
.hfho-logo-inner img {
  display: block;
  max-height: 72px;
  margin: 0;
  padding: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  border: none;
}
.hfho-navigation {
  display: flex;
  align-items: center;
  height: 100%;
  margin: 0;
  padding: 0;
}
.hfho-main-menu {
  display: flex;
  align-items: center;
  height: 100%;
}

@media (max-width: 600px) {
  .hfho-footer-wrapper .gdlr-core-footer-logo img,
  #footer-logo {
    max-height: 48px !important;
    padding: 4px !important;
    border-radius: 12px !important;
  }
}

/* --- HFHO Services Section Modern Styling --- */
.hfho-service-content {
    font-size: 1.08rem;
    color: var(--color-dark-gray);
    background: var(--color-light-blue);
    border-radius: 1.1rem;
    padding: 1.2rem 1.3rem 1.1rem 1.3rem;
    box-shadow: 0 2px 12px 0 rgba(0,44,95,0.07);
    margin-top: 0.7rem;
    margin-bottom: 0.2rem;
    min-height: 120px;
    transition: box-shadow 0.18s, background 0.18s;
}
.hfho-service-content p {
    margin-bottom: 1.1rem;
    color: var(--color-primary-deep-blue);
    font-weight: 500;
}
.hfho-service-link {
    display: inline-block;
    background: linear-gradient(90deg, var(--color-primary-red-orange) 60%, var(--color-primary-deep-blue) 100%);
    color: #fff !important;
    font-weight: 700;
    border-radius: 2rem;
    padding: 0.5em 1.5em;
    box-shadow: 0 2px 8px rgba(229,50,21,0.13);
    text-decoration: none !important;
    font-size: 1.05em;
    letter-spacing: 0.5px;
    transition: background 0.18s, color 0.18s, box-shadow 0.18s;
}
.hfho-service-link:hover, .hfho-service-link:focus {
    background: var(--color-primary-deep-blue);
    color: var(--color-primary-red-orange) !important;
    box-shadow: 0 4px 16px rgba(0,44,95,0.13);
    text-decoration: none !important;
}

/* --- HFHO About Section Styling --- */
.hfho-about-section {
    position: relative;
    overflow: hidden;
}
.hfho-about-logo-bg {
    background: var(--color-white);
    border-radius: 18px;
    padding: 18px 18px 14px 18px;
    display: inline-block;
    box-shadow: 0 4px 24px 0 rgba(0,44,95,0.09);
}
.hfho-about-logo-img {
    display: block;
    border-radius: 8px;
    background: transparent;
    margin: 0 auto;
    max-width: 100%;
    height: auto;
}
.hfho-about-title {
    font-size: 2.1rem;
    font-weight: 700;
    letter-spacing: 0.5px;
    color: var(--color-soft-orange);
    margin-bottom: 0.5em;
    text-shadow: 0 2px 8px rgba(0,44,95,0.08);
}
.hfho-about-lead {
    font-size: 1.3rem;
    color: var(--color-light-blue);
    font-weight: 500;
    margin-bottom: 1.1em;
}
.hfho-about-desc {
    font-size: 1.1rem;
    color: var(--color-white);
    font-weight: 400;
    margin-bottom: 1.5em;
}
.hfho-about-donate-btn {
    background: linear-gradient(90deg, var(--color-primary-red-orange) 60%, var(--color-primary-deep-blue) 100%);
    color: #fff !important;
    font-weight: 700;
    border-radius: 2rem;
    padding: 0.7em 2.2em;
    font-size: 1.1em;
    letter-spacing: 1px;
    box-shadow: 0 2px 8px rgba(229,50,21,0.13);
    text-decoration: none !important;
    transition: background 0.18s, color 0.18s, box-shadow 0.18s;
    border: none;
}
.hfho-about-donate-btn:hover, .hfho-about-donate-btn:focus {
    background: var(--color-primary-deep-blue);
    color: var(--color-primary-red-orange) !important;
    box-shadow: 0 4px 16px rgba(0,44,95,0.13);
    text-decoration: none !important;
}
@media (max-width: 991px) {
    .hfho-about-section .gdlr-core-pbf-wrapper-container {
        flex-direction: column;
        align-items: center;
    }
    .hfho-about-title {
        font-size: 1.5rem;
    }
    .hfho-about-lead, .hfho-about-desc {
        font-size: 1rem;
    }
}

/* --- HFHO Impact Section Styling --- */
.hfho-impact-section {
    position: relative;
    overflow: hidden;
}
.hfho-impact-card {
    min-height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}
.hfho-impact-card-inner {
    background: rgba(0,44,95,0.80);
    border-radius: 1.2em;
    box-shadow: 0 4px 24px 0 rgba(0,44,95,0.09);
    padding: 2.2em 1.2em 1.5em 1.2em;
    min-height: 320px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
}
.hfho-impact-icon i {
    font-size: 2.7rem;
    color: #ffd700;
    background: rgba(0,44,95,0.85);
    border-radius: 50%;
    padding: 18px;
    box-shadow: 0 2px 8px #002C5F;
    margin-bottom: 1.1em;
}
.hfho-impact-title {
    color: var(--color-white);
    font-size: 1.25em;
    font-weight: 700;
    margin-bottom: 0.7em;
    letter-spacing: 0.5px;
    text-shadow: 0 2px 8px rgba(0,44,95,0.08);
}
.hfho-impact-caption {
    font-size: 1.08em;
    color: var(--color-light-blue);
    font-weight: 500;
    margin-bottom: 1.1em;
}
.hfho-impact-btn {
    display: inline-block;
    background: linear-gradient(90deg, var(--color-primary-red-orange) 60%, var(--color-primary-deep-blue) 100%);
    color: #fff !important;
    font-weight: 700;
    border-radius: 2rem;
    padding: 0.6em 1.7em;
    font-size: 1.08em;
    letter-spacing: 0.5px;
    box-shadow: 0 2px 8px rgba(229,50,21,0.13);
    text-decoration: none !important;
    margin-top: 1.2em;
    transition: background 0.18s, color 0.18s, box-shadow 0.18s;
    border: none;
}
.hfho-impact-btn:hover, .hfho-impact-btn:focus {
    background: var(--color-primary-deep-blue);
    color: var(--color-primary-red-orange) !important;
    box-shadow: 0 4px 16px rgba(0,44,95,0.13);
    text-decoration: none !important;
}
@media (max-width: 991px) {
    .hfho-impact-section .gdlr-core-pbf-wrapper-container {
        flex-direction: column;
        align-items: center;
    }
    .hfho-impact-card-inner {
        min-height: 220px;
        padding: 1.2em 0.7em 1em 0.7em;
    }
}

/* --- HFHO Slider Section Styling --- */
.hfho-slider-section {
    background: var(--color-primary-deep-blue);
}
.hfho-slider-title {
    font-family: 'Playfair Display', serif !important;
    font-size: 4.2rem !important;
    font-weight: 700 !important;
    color: var(--color-white) !important;
    letter-spacing: 0.5px;
    text-shadow: 0 4px 24px rgba(0,44,95,0.18);
    line-height: 1.1;
}
.hfho-slider-subtitle {
    font-family: 'Poppins', sans-serif !important;
    font-size: 2.1rem !important;
    font-weight: 400 !important;
    color: var(--color-light-blue) !important;
    letter-spacing: 0.5px;
    margin-bottom: 0.7em;
    text-shadow: 0 2px 8px rgba(0,44,95,0.13);
}
.hfho-slider-desc {
    font-family: 'Open Sans', sans-serif !important;
    font-size: 1.2rem !important;
    color: var(--color-white) !important;
    font-weight: 500;
    margin-top: 1.2em;
    margin-bottom: 1.2em;
    text-shadow: 0 2px 8px rgba(0,44,95,0.13);
}
.hfho-slider-btn {
    display: inline-block !important;
    background: linear-gradient(90deg, var(--color-primary-red-orange) 60%, var(--color-primary-deep-blue) 100%) !important;
    color: #fff !important;
    font-weight: 700 !important;
    border-radius: 2rem !important;
    padding: 0.7em 2.2em !important;
    font-size: 1.1em !important;
    letter-spacing: 1px !important;
    box-shadow: 0 2px 8px rgba(229,50,21,0.13) !important;
    text-decoration: none !important;
    border: none !important;
    transition: background 0.18s, color 0.18s, box-shadow 0.18s;
}
.hfho-slider-btn:hover, .hfho-slider-btn:focus {
    background: var(--color-primary-deep-blue) !important;
    color: var(--color-primary-red-orange) !important;
    box-shadow: 0 4px 16px rgba(0,44,95,0.13) !important;
    text-decoration: none !important;
}
@media (max-width: 991px) {
    .hfho-slider-title {
        font-size: 2.2rem !important;
    }
    .hfho-slider-subtitle {
        font-size: 1.1rem !important;
    }
    .hfho-slider-desc {
        font-size: 1rem !important;
    }
}
.hfho-slider-title,
.hfho-slider-subtitle,
.hfho-slider-desc,
.hfho-slider-btn {
    z-index: 20 !important;
    position: relative;
}

/* --- HFHO Events & News Section Styling --- */
.hfho-events-news-section {
    background: #f7f9fc;
}
.hfho-section-title {
    font-size: 2rem;
    font-weight: 700;
    color: var(--color-primary-deep-blue);
    margin-bottom: 0.2em;
    letter-spacing: 0.5px;
}
.hfho-section-divider {
    border-bottom: 2px solid #dcdcdc;
    width: 60px;
    margin: 0.5em 0 0.5em 0;
}
.hfho-section-link {
    color: var(--color-primary-red-orange);
    font-weight: 600;
    font-size: 1em;
    text-decoration: none;
    margin-left: 1.2em;
    transition: color 0.18s;
}
.hfho-section-link:hover,
.hfho-section-link:focus {
    color: var(--color-primary-deep-blue);
    text-decoration: underline;
}
.hfho-news-title {
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--color-primary-deep-blue);
    letter-spacing: 0.2px;
}
.hfho-donate-newsletter-section {
    background: #f7f9fc;
}
.hfho-donate-title {
    font-size: 1.4rem;
    font-weight: 700;
    color: var(--color-primary-deep-blue);
    margin-bottom: 0.2em;
}
.hfho-donate-caption {
    font-size: 1em;
    color: #444;
    margin-top: 0.7em;
    margin-bottom: 1.2em;
}
.hfho-donate-btn {
    background: linear-gradient(90deg, var(--color-primary-red-orange) 60%, var(--color-primary-deep-blue) 100%);
    color: #fff !important;
    font-weight: 700;
    border-radius: 2rem;
    padding: 0.7em 2.2em;
    font-size: 1.1em;
    letter-spacing: 1px;
    box-shadow: 0 2px 8px rgba(229,50,21,0.13);
    text-decoration: none !important;
    border: none;
    transition: background 0.18s, color 0.18s, box-shadow 0.18s;
    display: inline-block;
}
.hfho-donate-btn:hover, .hfho-donate-btn:focus {
    background: var(--color-primary-deep-blue);
    color: var(--color-primary-red-orange) !important;
    box-shadow: 0 4px 16px rgba(0,44,95,0.13);
}
.hfho-newsletter-title {
    font-size: 1.2rem;
    font-weight: 700;
    color: var(--color-primary-deep-blue);
    margin-bottom: 0.2em;
}
.hfho-newsletter-caption {
    font-size: 1em;
    color: #444;
    margin-top: 0.5em;
    margin-bottom: 1.2em;
}
.newsletter-submit {
    background: linear-gradient(90deg, var(--color-primary-red-orange) 60%, var(--color-primary-deep-blue) 100%);
    color: #fff !important;
    font-weight: 700;
    border-radius: 2rem;
    padding: 0.6em 1.7em;
    font-size: 1em;
    border: none;
    cursor: pointer;
    transition: background 0.18s, color 0.18s, box-shadow 0.18s;
}
.newsletter-submit:hover, .newsletter-submit:focus {
    background: var(--color-primary-deep-blue);
    color: var(--color-primary-red-orange) !important;
}

/* Branded search form for both desktop and mobile */
.hfho-top-search-row,
.hfho-top-search-row form > div {
    display: flex !important;
    align-items: center;
    gap: 0.5em;
    justify-content: center;
    min-height: 80px;
}

.hfho-top-search-cell {
    width: 100%;
    max-width: 420px;
}

.search-field.hfho-title-font {
    flex: 1;
    border-radius: 2em;
    border: none;
    padding: 0.85em 1.2em;
    font-size: 1.1em;
    background: #fff;
    color: #002C5F;
    box-shadow: 0 2px 8px rgba(0,44,95,0.10);
}

.hfho-top-search-submit {
    background: linear-gradient(90deg, #E53215 60%, #002C5F 100%);
    color: #fff;
    border: none;
    border-radius: 2em;
    padding: 0.7em 1.4em;
    font-weight: 700;
    font-size: 1.1em;
    cursor: pointer;
    box-shadow: 0 2px 8px rgba(229,50,21,0.13);
    display: flex;
    align-items: center;
    transition: background 0.18s, color 0.18s;
}
.hfho-top-search-submit:hover,
.hfho-top-search-submit:focus {
    background: #002C5F;
    color: #E53215;
}

.hfho-top-search-submit span {
    margin-left: 0.5em;
}

/* Ensure search input and button are always in a row */
.hfho-top-search-row form > div,
.hfho-top-search-row {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 0.5em !important;
    justify-content: center !important;
    width: 100%;
}

.hfho-top-search-submit {
    display: flex !important;
    align-items: center !important;
    flex-shrink: 0 !important;
    white-space: nowrap;
}

@media (max-width: 400px) {
    .hfho-top-search-row,
    .hfho-top-search-row form > div {
        flex-direction: column;
        gap: 0.7em;
    }
    .hfho-top-search-submit {
        width: 100%;
        justify-content: center;
    }
}

@media (max-width: 600px) {
    .hfho-top-search-row form > div,
    .hfho-top-search-row {
        flex-direction: row !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 0.5em !important;
    }
    .hfho-top-search-submit {
        width: auto !important;
        min-width: 0 !important;
        justify-content: center !important;
    }
    .search-field.hfho-title-font {
        min-width: 0 !important;
        width: 1px;
        flex: 1 1 0%;
    }
}

@media (max-width: 991px) {
    .hfho-slider-title {
        font-size: 1.3rem !important;
        line-height: 1.15 !important;
        text-align: center !important;
        word-break: break-word;
    }
    .hfho-slider-subtitle {
        font-size: 0.95rem !important;
        line-height: 1.2 !important;
        text-align: center !important;
        word-break: break-word;
        margin-bottom: 0.5em !important;
    }
    .hfho-slider-desc {
        font-size: 0.95rem !important;
        line-height: 1.3 !important;
        text-align: center !important;
        margin-top: 0.7em !important;
        margin-bottom: 0.7em !important;
        word-break: break-word;
    }
    .tp-caption, .tp-resizeme {
        max-width: 95vw !important;
        left: 2vw !important;
        right: 2vw !important;
    }
}

/* For extra small screens */
@media (max-width: 600px) {
    .hfho-slider-title {
        font-size: 1.05rem !important;
    }
    .hfho-slider-subtitle,
    .hfho-slider-desc {
        font-size: 0.85rem !important;
    }
    .tp-caption, .tp-resizeme {
        max-width: 98vw !important;
        left: 1vw !important;
        right: 1vw !important;
    }
}

/* Fade-in animation for slider captions */
@keyframes hfhoFadeIn {
    from { opacity: 0; transform: translateY(20px);}
    to { opacity: 1; transform: translateY(0);}
}

.hfho-slider-title,
.hfho-slider-subtitle,
.hfho-slider-desc,
.hfho-slider-btn {
    animation: hfhoFadeIn 1.2s cubic-bezier(0.4,0,0.2,1);
    /* Optional: stagger animation for more interactivity */
    animation-delay: 0.2s;
    animation-fill-mode: both;
}

/* Optional: stagger delays for each type */
.hfho-slider-subtitle { animation-delay: 0.1s; }
.hfho-slider-title { animation-delay: 0.3s; }
.hfho-slider-desc { animation-delay: 0.5s; }
.hfho-slider-btn { animation-delay: 0.7s; }

/* --- Branded Top Bar Styling --- */
.branded-top-bar {
    background: linear-gradient(90deg, var(--color-primary-deep-blue) 70%, var(--color-primary-red-orange) 100%);
    color: #fff;
    font-size: 1.1rem;
    font-family: 'Poppins', Arial, sans-serif;
    letter-spacing: 0.01em;
    padding: 0.3em 0;
}

.hfho-top-bar-contact {
    margin-right: 2em;
    display: inline-flex;
    align-items: center;
    gap: 0.4em;
    color: #fff;
    font-weight: 500;
}

.hfho-top-bar-contact i {
    color: #ffd700;
    font-size: 1.1em;
}

.hfho-top-bar-contact a {
    color: #fff;
    text-decoration: none;
    transition: color 0.18s;
}
.hfho-top-bar-contact a:hover {
    color: #ffd700;
}

.hfho-top-bar-right-social a {
    color: #fff;
    margin: 0 0.3em;
    font-size: 1.1em;
    transition: color 0.18s;
}
.hfho-top-bar-right-social a:hover {
    color: var(--color-primary-red-orange);
}

.branded-donate-btn {
    background: linear-gradient(90deg, var(--color-primary-red-orange) 60%, var(--color-primary-deep-blue) 100%);
    color: #fff !important;
    font-weight: 700;
    border-radius: 2em;
    padding: 0.5em 1.5em;
    margin-left: 1em;
    display: inline-flex;
    align-items: center;
    gap: 0.5em;
    border: none;
    box-shadow: 0 2px 8px rgba(229,50,21,0.13);
    transition: background 0.18s, color 0.18s;
    text-decoration: none;
    font-size: 1em;
}
/* --- HFHO Mobile Menu Z-Index & Branding --- */
.hfho-mobile-header-wrap {
  z-index: 1202 !important;
  position: fixed !important;
  top: 0; left: 0; right: 0;
  width: 100vw;
  pointer-events: auto;
}
.hfho-mobile-header {
  z-index: 1203 !important;
  position: fixed !important;
  top: 0; left: 0; right: 0;
  width: 100vw;
  background: linear-gradient(90deg, #fff 30%, var(--color-primary-red-orange) 60%, var(--color-primary-deep-blue) 100%) !important;
  box-shadow: 0 2px 12px 0 rgba(0,44,95,0.13);
  color: var(--color-white) !important;
}
.hfho-mm-menu-wrap {
  z-index: 1204 !important;
  position: fixed !important;
  top: 0; right: 0;
  width: 85vw;
  max-width: 420px;
  height: 100vh;
  background: linear-gradient(180deg, var(--color-primary-deep-blue) 80%, var(--color-secondary-mid-blue) 100%) !important;
  box-shadow: -4px 0 32px 0 rgba(0,44,95,0.18);
  color: var(--color-white) !important;
  border-top-left-radius: 1.2em;
  border-bottom-left-radius: 1.2em;
  overflow-y: auto;
  padding-top: 1.5em;
  padding-bottom: 2em;
  transition: right 0.3s cubic-bezier(0.4,0,0.2,1);
}
.hfho-mm-menu-wrap ul.m-menu {
  list-style: none;
  margin: 0;
  padding: 0 1.2em;
}
.hfho-mm-menu-wrap ul.m-menu > li.menu-item > a {
  color: var(--color-white) !important;
  font-weight: 700;
  font-size: 1.13em;
  padding: 0.9em 0.7em;
  border-radius: 1.2em;
  display: block;
  margin-bottom: 0.2em;
  background: transparent;
  transition: background 0.18s, color 0.18s;
}
.hfho-mm-menu-wrap ul.m-menu > li.menu-item > a:hover,
.hfho-mm-menu-wrap ul.m-menu > li.menu-item > a:focus {
  background: var(--color-primary-red-orange);
  color: #fff !important;
}
.hfho-mm-menu-wrap ul.m-menu > li.menu-item-has-children > a:after {
  content: '\25BC';
  font-size: 0.8em;
  margin-left: 0.5em;
  color: var(--color-soft-orange);
  vertical-align: middle;
}
.hfho-mm-menu-wrap ul.m-menu .sub-menu {
  background: rgba(0,44,95,0.92);
  border-radius: 0.8em;
  margin: 0.2em 0 0.7em 1.2em;
  padding: 0.3em 0.7em;
  box-shadow: 0 2px 8px rgba(0,44,95,0.10);
}
.hfho-mm-menu-wrap ul.m-menu .sub-menu .menu-item > a {
  color: var(--color-light-blue) !important;
  font-size: 1em;
  font-weight: 600;
  padding: 0.5em 0.7em;
  border-radius: 0.7em;
  display: block;
  margin-bottom: 0.1em;
  background: transparent;
  transition: background 0.18s, color 0.18s;
}
.hfho-mm-menu-wrap ul.m-menu .sub-menu .menu-item > a:hover,
.hfho-mm-menu-wrap ul.m-menu .sub-menu .menu-item > a:focus {
  background: var(--color-primary-red-orange);
  color: #fff !important;
}
.hfho-header-donate-highlight .hfho-header-donate {
  background: linear-gradient(90deg, var(--color-primary-red-orange) 60%, var(--color-primary-deep-blue) 100%) !important;
  color: #fff !important;
  font-weight: 800;
  border-radius: 2rem;
  padding: 0.38em 1.35em;
  box-shadow: 0 2px 8px rgba(229,50,21,0.13);
  text-decoration: none !important;
  display: inline-block;
  margin: 0.16em 0;
  letter-spacing: 0.5px;
  border: none;
  font-size: 1.13em;
  transition: background 0.18s, color 0.18s, box-shadow 0.18s;
}
.hfho-header-donate-highlight .hfho-header-donate:hover, 
.hfho-header-donate-highlight .hfho-header-donate:focus {
  background: var(--color-primary-deep-blue) !important;
  color: var(--color-primary-red-orange) !important;
  box-shadow: 0 4px 16px rgba(0,44,95,0.13);
  text-decoration: none !important;
}
.hfho-mobile-menu-button, .hfho-mm-menu-button {
  z-index: 1205 !important;
  position: relative;
  background: var(--color-primary-red-orange) !important;
  border-radius: 50%;
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 8px rgba(229,50,21,0.13);
  border: none;
  transition: background 0.18s, box-shadow 0.18s;
}
.hfho-mobile-menu-button span, .hfho-mm-menu-button span {
  display: block;
  width: 28px;
  height: 4px;
  background: #fff;
  border-radius: 2px;
  margin: 0 auto;
  position: relative;
  transition: background 0.18s;
}
.hfho-mobile-menu-button:hover, .hfho-mm-menu-button:hover {
  background: var(--color-primary-deep-blue) !important;
  box-shadow: 0 4px 16px rgba(0,44,95,0.13);
}
.hfho-mm-menu-wrap .hfho-header-donate {
  margin-top: 1.2em;
  margin-bottom: 1.2em;
  display: block;
  text-align: center;
}
/* Overlay for mobile menu (if used) */
.hfho-mm-menu-overlay {
  z-index: 1201 !important;
  position: fixed !important;
  top: 0; left: 0; right: 0; bottom: 0;
  width: 100vw; height: 100vh;
  background: rgba(0,44,95,0.45);
  pointer-events: auto;
  transition: opacity 0.18s;
}
@media (max-width: 991px) {
  .hfho-header-wrap { z-index: 1100 !important; }
  .hfho-mobile-header_wrap, .hfho-mobile-header, .hfho-mm-menu_wrap, .hfho-mm-menu-overlay {
    z-index: 1201 !important;
  }
  /* Spacer below mobile header to prevent slider from being hidden */
  .hfho-header-spacer-mobile {
    display: block;
    width: 100%;
    height: 120px; /* Increased to ensure full slider is visible */
    min-height: 90px;
  }
}
@media (max-width: 600px) {
  .hfho-header-spacer-mobile {
    height: 90px;
    min-height: 70px;
  }
}