/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Sep 28 2026 | 11:00:56 */
/* =========================================================
   COACH SARAH — GLOBAL FOOTER
   FINAL ASTRA OVERRIDE
   ========================================================= */


/* =========================================================
   1. ASTRA
   Remove the width restrictions around HTML 1
   ========================================================= */

.site-primary-footer-wrap,
.site-primary-footer-wrap[data-section="section-primary-footer-builder"] {
  padding: 0 !important;
}

.site-primary-footer-wrap .ast-builder-grid-row-container-inner,
.site-primary-footer-wrap .ast-builder-grid-row,
.site-primary-footer-wrap .site-footer-section,
.site-primary-footer-wrap .ast-footer-html-1,
.site-primary-footer-wrap .ast-builder-html-element {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.site-primary-footer-wrap .ast-builder-grid-row {
  display: block !important;
}

.site-primary-footer-wrap .site-footer-section {
  display: block !important;
}

.site-primary-footer-wrap .ast-footer-html-1,
.site-primary-footer-wrap .ast-builder-html-element {
  text-align: left !important;
}


/* =========================================================
   2. FOOTER BASE
   ========================================================= */

.csfooter,
.csfooter * {
  box-sizing: border-box;
}

.csfooter {
  --cs-navy: #073765;
  --cs-coral: #e94f43;
  --cs-white: #ffffff;
  --cs-muted: rgba(255, 255, 255, 0.66);
  --cs-soft: rgba(255, 255, 255, 0.82);
  --cs-line: rgba(255, 255, 255, 0.16);

  position: relative;

  /*
   * This makes the footer span the viewport even when
   * Astra places HTML 1 inside a constrained container.
   */
  width: 100vw;
  max-width: 100vw;

  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);

  padding: 0;

  background: var(--cs-navy);
  color: var(--cs-white);

  text-align: left;
  overflow: hidden;
}


/* =========================================================
   3. INNER SHELL
   ========================================================= */

.csfooter-shell {
  width: calc(100% - 96px);
  max-width: 1240px;

  margin: 0 auto;
  padding: 72px 0 0;
}


/* =========================================================
   4. MAIN GRID
   ========================================================= */

.csfooter-grid {
  display: grid;

  grid-template-columns:
    minmax(260px, 1.05fr)
    minmax(190px, 0.70fr)
    minmax(310px, 1.15fr);

  column-gap: clamp(52px, 6vw, 92px);

  align-items: start;
}


/* =========================================================
   5. BRAND
   ========================================================= */

.csfooter-brand {
  min-width: 0;
}

.csfooter-logo {
  display: inline-block;

  width: 142px;
  max-width: 100%;

  margin: 0 0 26px;

  text-decoration: none !important;
}

.csfooter-logo img {
  display: block;

  width: 100%;
  height: auto;

  margin: 0;
}

.csfooter-brand-copy {
  max-width: 330px;

  margin: 0 0 22px !important;

  color: var(--cs-muted) !important;

  font-size: 14px;
  line-height: 1.75;
  font-weight: 400;
}

.csfooter-brand-note {
  color: var(--cs-soft);

  font-size: 9px;
  line-height: 1.4;
  font-weight: 700;

  letter-spacing: 0.16em;
}


/* =========================================================
   6. LABELS
   ========================================================= */

.csfooter-label {
  margin: 2px 0 24px;

  color: var(--cs-coral);

  font-size: 10px;
  line-height: 1;
  font-weight: 700;

  letter-spacing: 0.18em;
}


/* =========================================================
   7. NAVIGATION
   ========================================================= */

.csfooter-navigation {
  min-width: 0;
}

.csfooter-nav {
  display: flex;
  flex-direction: column;

  align-items: flex-start;

  gap: 15px;
}

.csfooter-nav a {
  display: grid;

  grid-template-columns: 24px minmax(0, 1fr);

  align-items: baseline;

  gap: 9px;

  width: 100%;

  color: var(--cs-soft) !important;

  text-decoration: none !important;

  transition:
    color 0.25s ease,
    transform 0.25s ease;
}

.csfooter-nav a span {
  color: var(--cs-coral);

  font-size: 8px;
  line-height: 1;
  font-weight: 700;

  letter-spacing: 0.08em;
}

.csfooter-nav a strong {
  color: inherit;

  font-size: 13px;
  line-height: 1.45;
  font-weight: 500;

  white-space: normal;
  word-break: normal;
  overflow-wrap: normal;
}

.csfooter-nav a:hover {
  color: var(--cs-white) !important;
  transform: translateX(4px);
}


/* =========================================================
   8. CONTACT
   ========================================================= */

.csfooter-connect {
  min-width: 0;
}

.csfooter-connect h2 {
  max-width: 430px;

  margin: 0 0 20px !important;

  color: var(--cs-white) !important;

  font-family: Georgia, "Times New Roman", serif;

  font-size: clamp(29px, 2.1vw, 36px);
  line-height: 1.12;
  font-weight: 400;

  letter-spacing: -0.025em;
}

.csfooter-connect h2 em {
  display: block;

  color: var(--cs-coral);

  font-weight: 400;
}

.csfooter-connect-copy {
  max-width: 390px;

  margin: 0 0 26px !important;

  color: var(--cs-muted) !important;

  font-size: 13px;
  line-height: 1.7;
}


/* =========================================================
   9. EMAILS
   ========================================================= */

.csfooter-contact-list {
  margin: 0 0 27px;
}

.csfooter-email {
  display: block;

  width: fit-content;
  max-width: 100%;

  margin: 0 0 16px;

  text-decoration: none !important;
}

.csfooter-email:last-child {
  margin-bottom: 0;
}

.csfooter-email span {
  display: block;

  margin: 0 0 4px;

  color: var(--cs-coral);

  font-size: 8px;
  line-height: 1.3;
  font-weight: 700;

  letter-spacing: 0.15em;
}

.csfooter-email strong {
  display: block;

  color: var(--cs-white);

  font-size: 13px;
  line-height: 1.45;
  font-weight: 500;

  overflow-wrap: anywhere;

  transition: color 0.25s ease;
}

.csfooter-email:hover strong {
  color: var(--cs-coral);
}


/* =========================================================
   10. CTA BUTTON
   ========================================================= */

.csfooter-button {
  display: inline-flex;

  align-items: center;
  justify-content: space-between;

  gap: 34px;

  min-width: 192px;

  padding: 14px 18px;

  border: 1px solid rgba(255, 255, 255, 0.30);

  background: transparent;

  color: var(--cs-white) !important;

  text-decoration: none !important;

  font-size: 10px;
  line-height: 1;
  font-weight: 700;

  letter-spacing: 0.13em;

  transition:
    background 0.25s ease,
    border-color 0.25s ease;
}

.csfooter-button span:last-child {
  color: var(--cs-coral);

  font-size: 17px;
  line-height: 1;

  transition:
    color 0.25s ease,
    transform 0.25s ease;
}

.csfooter-button:hover {
  background: var(--cs-coral);
  border-color: var(--cs-coral);
}

.csfooter-button:hover span:last-child {
  color: var(--cs-white);
  transform: translateX(4px);
}


/* =========================================================
   11. BOTTOM LINE
   ========================================================= */

.csfooter-bottom {
  margin-top: 58px;

  padding: 22px 0 24px;

  border-top: 1px solid var(--cs-line);

  display: grid;

  grid-template-columns:
    minmax(0, 1fr)
    auto
    minmax(0, 1fr);

  align-items: center;

  gap: 28px;

  color: rgba(255, 255, 255, 0.46);

  font-size: 8px;
  line-height: 1.4;
  font-weight: 600;

  letter-spacing: 0.14em;
}

.csfooter-bottom > span:last-child {
  text-align: right;
}

.csfooter-bottom-center {
  display: flex;

  align-items: center;
  justify-content: center;

  gap: 12px;

  color: rgba(255, 255, 255, 0.64);
}

.csfooter-bottom-center i {
  display: block;

  width: 22px;
  height: 1px;

  background: var(--cs-coral);
}


/* =========================================================
   12. TABLET
   ========================================================= */

@media (max-width: 1024px) {

  .csfooter-shell {
    width: calc(100% - 64px);

    padding-top: 64px;
  }

  .csfooter-grid {
    grid-template-columns:
      minmax(210px, 1fr)
      minmax(160px, 0.7fr)
      minmax(260px, 1fr);

    column-gap: 40px;
  }

  .csfooter-logo {
    width: 128px;
  }

  .csfooter-brand-copy {
    font-size: 13px;
  }

  .csfooter-connect h2 {
    font-size: 28px;
  }

  .csfooter-bottom {
    margin-top: 50px;
  }
}


/* =========================================================
   13. SMALL TABLET
   ========================================================= */

@media (max-width: 850px) {

  .csfooter-grid {
    grid-template-columns: 1fr 1fr;

    gap: 48px 56px;
  }

  .csfooter-brand {
    grid-column: 1 / -1;

    max-width: 520px;
  }

  .csfooter-brand-copy {
    max-width: 470px;
  }

  .csfooter-bottom {
    grid-template-columns: 1fr 1fr;
  }

  .csfooter-bottom-center {
    display: none;
  }
}


/* =========================================================
   14. MOBILE
   ========================================================= */

@media (max-width: 767px) {

  .csfooter-shell {
    width: auto;

    margin: 0;

    padding:
      52px
      24px
      0;
  }

  .csfooter-grid {
    grid-template-columns: 1fr;

    gap: 40px;
  }

  .csfooter-brand {
    grid-column: auto;
  }

  .csfooter-logo {
    width: 118px;

    margin-bottom: 22px;
  }

  .csfooter-brand-copy {
    max-width: 100%;

    font-size: 13px;
  }

  .csfooter-label {
    margin-bottom: 19px;
  }

  .csfooter-nav {
    gap: 13px;
  }

  .csfooter-nav a {
    width: auto;
  }

  .csfooter-nav a strong {
    font-size: 14px;
  }

  .csfooter-connect h2 {
    max-width: 420px;

    font-size: 29px;
  }

  .csfooter-connect-copy {
    max-width: 100%;
  }

  .csfooter-bottom {
    margin-top: 42px;

    padding: 20px 0 22px;

    display: flex;
    flex-direction: column;

    align-items: flex-start;

    gap: 9px;
  }

  .csfooter-bottom-center {
    display: none;
  }

  .csfooter-bottom > span:last-child {
    text-align: left;
  }
}


/* =========================================================
   15. SMALL MOBILE
   ========================================================= */

@media (max-width: 420px) {

  .csfooter-shell {
    padding-left: 20px;
    padding-right: 20px;
  }

  .csfooter-connect h2 {
    font-size: 27px;
  }

}


/* =========================================================
   16. ACCESSIBILITY
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

  .csfooter a,
  .csfooter a * {
    transition: none !important;
  }

}