/* =========================
   Headings & Hero Text
   ========================= */
/* Hero / H1 */
h1, .fr-h1 {
  font-size: 2.875rem !important;     /* 46px */
  line-height: 1.25 !important;   
  letter-spacing: 0 !important;
  font-weight: 700 !important;
}
/* H2 (Section Headings) */
h2, .fr-h2 {
  font-size: 2.25rem !important;  
  line-height: 2.736875rem !important;   /* scales to exactly 53.36px */
  letter-spacing: 0 !important;
  font-weight: 700 !important;
}
/* H3 (Card Titles) */
h3, .fr-h3 {
  font-size: 1.5rem !important;  
  line-height: 1.75rem !important; 
  letter-spacing: 0 !important;
  font-weight: 700 !important;
}
/* H4 (Optional) */
h4, .fr-h4 {
  font-size: 1.8125rem !important;         /* 29px */
  line-height: 1.3 !important;   
  letter-spacing: 0 !important;
  font-weight: 700 !important;
}
/* H5 */
h5, .fr-h5 {
  font-size: 1.625rem !important;    /* 26px */
  line-height: 1.3 !important;  
  letter-spacing: 0 !important;
  font-weight: 500 !important;
}
/* H6 */
h6, .fr-h6 {
  font-size: 1.4375rem !important;    /* 23px */
  line-height: 1.4 !important; 
  letter-spacing: 0 !important;
  font-weight: 400 !important;
}
/* =========================
   Headings Part Two
   ========================= */

h1, h2, .fr-h1, .fr-h2 { 
  margin-bottom: 0rem;
}

:root {
  --heading-gap: 2rem;
}

/*h1, .fr-h1 {*/
/*  --fs: 4.125rem;*/
/*  --lh: calc(1.245 * var(--fs)); */

/*  font-size: var(--fs);*/
/*  line-height: var(--lh);*/
/*}*/

/*h2, .fr-h2 {*/
/*  --fs: 2.5625rem;*/
/*  --lh: 3.335rem;*/

/*  font-size: var(--fs);*/
/*  line-height: var(--lh);*/
/*}*/

/*h1:has(+ p),*/
/*h2:has(+ p),*/
/*.fr-h1:has(+ p),*/
/*.fr-h2:has(+ p) {*/
/*  margin-bottom: 18px;*/
/*}*/

/* deprecated 
h1:has(+ p.subheading),
h2:has(+ p.subheading),
.fr-h1:has(+ p.subheading),
.fr-h2:has(+ p.subheading) {
  margin-bottom: 1rem;
} */

.p-before-cta{
    margin-bottom: 2rem !important;
}

/* Timeline section */
.container-timeline .timeline-entry {
    display: flex;
    align-items: baseline;
    gap: 50px;
}

.container-timeline .timeline-year {
    font-size: 29px;
    font-weight: 700;
    line-height: 130%;
    white-space: nowrap;
    flex-shrink: 0;
    flex-basis: 200px;
    min-width: 200px;
    text-align: right;
}

.container-timeline .timeline-year--highlight {
    background: radial-gradient(458.04% 172.33% at 50.85% 119.78%, #490BE8 36%, rgba(49, 7, 156, 0) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

@media (max-width: 767.98px) {
    .container-timeline .timeline-entry {
        flex-direction: column;
        gap: 0;
    }

    .container-timeline .timeline-year {
        flex-basis: auto;
        min-width: auto;
        text-align: left;
        margin-bottom: 0.25rem;
    }
}

.mt-2rem {
    margin-top: 2rem !important;
}

.pre-header-mb,
#hero-section p:has(+ h1) {
    margin-bottom: 0 !important;
    font-size: 1rem !important;         /* 16px */
    line-height: 1.4 !important;        /* 22.4px / 16px */
    letter-spacing: 0.08rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
}

article h3.mb-4,
article .fr-h3.mb-4 {
    margin-bottom: 2rem !important; /* security section article hack */
}

   
/* =========================
   Overline Text
   ========================= */

.fr-overline-regular {
  font-size: 1rem !important;         /* 16px */
  line-height: 1.4 !important;        /* 22.4px / 16px */
  letter-spacing: 0.08rem !important;
  font-weight: 400 !important;
  text-transform: uppercase !important;
}

.fr-overline {
  font-size: 1rem !important;         /* 16px */
  line-height: 1.4 !important;        /* 22.4px / 16px */
  letter-spacing: 0.08rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
}
.fr-overline-nav {
  font-size: 0.5625rem !important;         /* 9px */
  line-height: 1.4 !important;        /* 22.4px / 16px */
  letter-spacing: 0.08rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
}
/* =========================
   Titles & Body Text
   ========================= */
.fr-title, .accordion-button, .search-title-link {
  font-size: 1.25rem !important;      /* 20px */
  line-height: 1.25 !important;
  font-weight: 700 !important;
}
.fr-title-tablet {
  font-size: 1.5rem !important;       /* h3: 24px */
  line-height: 1.75rem !important;
  letter-spacing: 0 !important;
  font-weight: 700 !important;
}

.fr-title-grant-advance {
    font-size: 1.5rem !important;
    line-height: 1.75rem !important;
    letter-spacing: 0 !important;
    font-weight: 500 !important;
}

@media (max-width: 991.98px) {
  .fr-title-tablet {
    font-size: 1.25rem !important;    /* fr-title: 20px */
    line-height: 1.25 !important;
  }
}
.fr-body-1 {
  font-size: 1.125rem !important;     /* 18px */
  line-height: 1.5 !important;        /* 27px / 18px */
}
.fr-body-2 {
  font-size: 1rem !important;         /* 16px */
  line-height: 1.5 !important;        /* 24px / 16px */
}


.fr-body-2-original {
  font-size: 1rem !important;         /* 16px */
  line-height: 1.4 !important;        /* 24px / 16px */
}

.fr-body-3 {
  font-size: 0.875rem !important;     /* 14px */
  line-height: 1.2857 !important;        /* 18px / 14px */
}
.fr-body-4 {
  font-size: 0.8125rem !important;    /* 13px */
  line-height: 1.5 !important;        /* 19.5px / 13px */
}

.fr-article-title {
    font-size: 36px !important; /* 36px */
    line-height: 42px !important;  /* 28px */
}

.fr-article-subtitle {
    font-size: 24px !important; /* Web */
    line-height: 28px !important;  /* */
    font-weight: 700 !important;
    margin-bottom: 1rem;
}


@media (max-width: 1365px) {
    .fr-article-subtitle {
        font-size: 20px !important; /* Mobile */
        line-height: 24px !important;
        font-weight: 700 !important;
        margin-bottom: 1rem;
    }
}

/*h2.fr-article-subtitle,*/
/*.fr-h2.fr-article-subtitle {*/
/*  margin-bottom: 1rem;*/
/*}*/

.fr-article-ordered-list {  /* Web */
    font-size: 18px !important;
    line-height: 27px !important;
    font-weight: 700 !important;
}

@media (max-width: 1365px) {
    .fr-article-ordered-list {
        font-size: 16px !important; /* Mobile */
        line-height: 24px !important;
        font-weight: 700 !important;
    }
}

.fr-article-text-bold {  /* for bold texts */
    font-size: 18px !important;  /* Web */
    line-height: 27px !important;
    font-weight: 700 !important;
}

@media (max-width: 1365px) {
    .fr-article-text-bold {
        font-size: 16px !important; /* Mobile */
        line-height: 24px !important;
        font-weight: 700 !important;
    }
}

/* for bullet points */

li.fr-body-2 {
  margin-bottom: 1rem;
}

ul.fr-body-2 {
  margin-top: 1rem;
  margin-bottom: 1rem;
}

ol.fr-body-2 {
  margin-top: 1rem;
  margin-bottom: 1rem;
}

/* =========================
   Inputs
   ========================= */

input::placeholder{
    font-size: 1rem !important;
}

/* =========================
   Buttons
   ========================= */
.fr-button-1, .show-more-btn {
  font-size: 1rem !important;   
  line-height: 1.4 !important;      
}
.fr-button-2 {
  font-size: 0.8125rem !important;  
  line-height: 1.5rem !important;     
}
.fr-button-1-bold {
  font-size: 1rem !important;  
  line-height: 1.5rem !important;  
  font-weight: 700 !important;
}
.fr-button-2-bold, .filter-btn {
  font-size: 0.8125rem !important;  
  line-height: 1.5rem !important;      
  font-weight: 700 !important;
}
/* =========================
   Text Link for Global
   ========================= */
.text-link-consumer {
  color: var(--han-purple);
}

.text-link-consumer:hover,
.text-link-consumer:focus {
  color: var(--han-purple);
  text-decoration: underline;
}

.text-link-consumer:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 2px;
}
/* =========================
   Desktop Media Query
   ========================= */
@media (min-width: 85.375em) { /* 1366px+ */
  h1, .fr-h1 {
    font-size: 4.125rem !important; 
    line-height: 1.245 !important;  
  }
  h2, .fr-h2 {
    font-size: 2.5625rem !important;
    line-height: 3.335rem !important;  
  }
  h3, .fr-h3 {
    font-size: 1.5rem !important;  
    line-height: 1.75rem !important; 
  }
  h4, .fr-h4 {
    font-size: 2rem !important; 
    line-height: 1.25 !important;
  }
  h5, .fr-h5 {
    font-size: 1.8125rem !important;
    line-height: 1.3 !important;
  }
  h6, .fr-h6 {
    font-size: 1.625rem !important;
    line-height: 1.3 !important;
  }
  .fr-body-2, p {
      font-size: 1.125rem !important;     /* 18px */
      line-height: 1.5 !important;        /* 27px / 18px */
  }
}


/* =========================
   Help & Support Font 
   ========================= */
.fr-help-title {
    font-size: 24px !important;  
    line-height: 28px !important;      
    font-weight: 700 !important;
}

.fr-help-link {
    font-size: 18px !important;  
    line-height: 18px !important;     
    font-weight: 400 !important;
}



.fr-help-breadcrumbs {
    font-size: 12.64px !important;  
    line-height: 17px !important;
    font-weight:400 !important;
}


.fr-help-side-link{
    font-size: 14px !important;  
    line-height: 22.4px !important;
    font-weight:400 !important;
}

.fr-help-question-title {
    font-size: 18px !important;  
    line-height: 25px !important;      
    font-weight: 700 !important;
}

.fr-help-question-card-title{
    font-size: 18px !important;  
    line-height: 25px !important;      
    font-weight: 700 !important;
}

.fr-help-question-card-link {
    font-size: 18px !important;  
    line-height: 18px !important;      
    font-weight: 400 !important;
}

.fr-help-link:hover, .fr-help-question-card-link:hover, .fr-help-question-title:hover, .fr-help-breadcrumbs.text-body{
    color:var(--custom-btn-tertiary-hover-color) !important;
}

.fr-help-question-title.mb-4.d-none.d-lg-block:hover{
    color: unset !important;
}

.fr-help-side-link:not(.bg-aqua):hover{
    background-color:var(--custom-btn-tertiary-hover-color) !important;
    color:white !important;
}

@media only screen and (max-width: 992px) {
    .fr-help-title {
        font-size: 20px !important;  
        line-height: 24px !important;      
    }
    
    .apple-pay-tnc{
        font-size: 0.75rem !important;
    }

    body{
        font-size: 1rem;
    }
}
