/*!
 * Megafactory custom styles
 *
 * This file compiles to assets/css/custom.css.
 * Keep vendor/theme CSS in the existing files and add project overrides here.
 */
/* Third-party plugin and vendor overrides. */
/* Project-level global styles. Keep broad resets in the original theme CSS. */
/* WordPress core, editor, and content defaults. */
/* Header and masthead overrides. */
/* Footer layout overrides. */
/* Layout grid and section spacing overrides. */
/* Button component overrides. */
/* Form component overrides. */
/* Navigation component overrides. */
/* Home page overrides. */
/* Blog and archive page overrides. */
/* Utility helper classes. */
html,
body {
  overscroll-behavior-y: auto !important;
}

.tf-hero {
  margin-bottom: 30px;
}
@media all and (max-width: 1023px) {
  .tf-hero {
    margin: 0 -15px;
  }
}

.tf-hero-slider {
  margin-bottom: 50px;
}
.tf-hero-slider .tf-slider-arrow {
  padding: 8px 20px 12px 20px;
  max-width: 48px;
  font-size: 30px;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
  margin: auto;
}
.tf-hero-slider .tf-slider-arrow.tf-slider-prev {
  margin-left: 30px;
}
.tf-hero-slider .tf-slider-arrow.tf-slider-next {
  margin-right: 30px;
}

.tfh-main .tfh-nav > span {
  display: flex;
}
.tfh-main .tfh-nav > span button svg {
  width: 16px;
  height: 16px;
}
.tfh-main .tfh-nav a {
  font-size: 14px !important;
  padding-left: 5px !important;
  padding-right: 5px !important;
}
.tfh-main .mega-promo .pbtn {
  line-height: normal;
  padding: 15px !important;
}

.tf-truststrip {
  margin-bottom: 30px;
  border: none !important;
}

.services_container_h3 {
  margin-bottom: 50px;
}

.tfh-mobtn .tfh-burger:hover span {
  background-color: #fff !important;
}

#tfDrawer .tfd-close {
  display: flex;
  align-items: center;
  justify-content: center;
}

.tf-section .tf-packages .tfp-grid {
  gap: 30px;
}
.tf-section .tf-h2 {
  margin-bottom: 30px;
}

.post-230 .tf-hero {
  margin-bottom: 30px;
}

#tf-main-content.page-id-8 .megafactory-wrapper .megafactory-content-inner .tftr .tr-hero.tf-hub-hero .tr-h1 {
  color: #02264A !important;
}

.page-id-18075 .megafactory-content-inner #page-18075 .sec .tffr-band h2 {
  color: #fff;
}

.megafactory-content.megafactory-blog {
  padding-top: 30px !important;
}

.post-17921 .tfrv .tfw {
  padding: 0 50px;
}
@media all and (max-width: 1023px) {
  .post-17921 .tfrv .tfw {
    padding: 0 15px;
  }
}
.post-17921 .tfrv .tfw .rv-band h3 {
  color: #fff !important;
}

.page-id-16863 .megafactory-wrapper #page-16863 #tfsdList .tfsd-cat-body {
  padding: 25px;
}

.tfd .tfd-cta a {
  padding: 12px;
  font-size: 14px;
}

.tf-btn-primary {
  border-color: #22b6e6;
}

#tf-livechat #tf-cc-ask #tf-cc-qbtn {
  display: flex;
  align-items: center;
  justify-content: center;
}

/* =========================================================
   TRANSIT & FLOW - APPROVED FOOTER V3
   ========================================================= */
.footer_main_container {
  --tff-navy: #29415a;
  --tff-blue: #1596d0;
  --tff-muted: #64798a;
  --tff-line: #dce7ee;
  --tff-pale: #f3f8fc;
  background: #ffffff;
  color: var(--tff-navy);
  font-family: Arial, Helvetica, sans-serif;
  /* =======================================================
   MAIN FOOTER
   ======================================================= */
}
.footer_main_container .tff-main {
  background: #ffffff;
}
.footer_main_container .tff-container {
  max-width: 1260px;
  margin: 0 auto;
  padding: 58px 38px 52px;
}
.footer_main_container {
  /* =======================================================
   TWO COLUMN LAYOUT
   ======================================================= */
}
.footer_main_container .tff-grid {
  display: grid;
  grid-template-columns: 0.9fr 1.8fr;
  gap: 75px;
  align-items: start;
}
.footer_main_container {
  /* =======================================================
   LOGO
   ======================================================= */
}
.footer_main_container .tff-logo {
  display: inline-block;
  text-decoration: none;
  line-height: 0;
}
.footer_main_container .tff-logo img {
  display: block;
  width: 264px;
  height: auto;
  max-width: 100%;
}
.footer_main_container {
  /* =======================================================
   DESCRIPTION
   ======================================================= */
}
.footer_main_container .tff-description {
  max-width: 430px;
  margin: 17px 0 20px;
  color: var(--tff-muted);
  font-size: 14px;
  line-height: 1.65;
}
.footer_main_container {
  /* =======================================================
   BADGES
   ======================================================= */
}
.footer_main_container .tff-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.footer_main_container .tff-badge {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 8px 13px;
  border: 1px solid #dbeaf2;
  background: #f5fafd;
  border-radius: 24px;
  color: #3d5a70;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
}
.footer_main_container {
  /* =======================================================
   CONTACT
   ======================================================= */
}
.footer_main_container .tff-contact {
  display: grid;
  gap: 10px;
  margin-top: 20px;
}
.footer_main_container .tff-contact .tff-contact-item {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  color: var(--tff-muted);
  font-size: 13px;
  line-height: 1.45;
}
.footer_main_container .tff-contact .tff-contact-item a {
  color: #173b60;
  font-weight: 700;
  text-decoration: none;
}
.footer_main_container .tff-contact .tff-contact-item a:hover {
  color: var(--tff-blue);
}
.footer_main_container .tff-icon {
  flex: 0 0 23px;
  width: 23px;
  color: var(--tff-blue);
  line-height: 1;
}
.footer_main_container .tff-icon svg {
  display: block;
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.footer_main_container {
  /* =======================================================
   SOCIAL
   ======================================================= */
}
.footer_main_container .tff-social {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 19px;
}
.footer_main_container .tff-social a {
  display: grid;
  width: 35px;
  height: 35px;
  place-items: center;
  border: 1px solid #e0ebf1;
  border-radius: 9px;
  background: var(--tff-pale);
  color: #5c7386;
  text-decoration: none;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}
.footer_main_container .tff-social a:hover {
  background: #ffffff;
  border-color: var(--tff-blue);
  color: var(--tff-blue);
  transform: translateY(-2px);
}
.footer_main_container .tff-social a svg {
  display: block;
  width: 16px;
  height: 16px;
  fill: currentColor;
}
.footer_main_container {
  /* =======================================================
   RIGHT SIDE
   ======================================================= */
}
.footer_main_container .tff-right {
  min-width: 0;
}
.footer_main_container {
  /* =======================================================
   NAVIGATION
   ======================================================= */
}
.footer_main_container .tff-nav {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 24px;
  align-items: flex-start;
}
.footer_main_container .tff-nav .tff-nav-group {
  min-width: 0;
}
.footer_main_container .tff-nav .tff-nav-group h4 {
  margin: 0 0 13px;
  color: var(--tff-navy);
  font-size: 12px;
  font-weight: 800;
  line-height: 1.3;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}
.footer_main_container .tff-nav .tff-nav-group a {
  display: block;
  margin: 9px 0;
  color: var(--tff-muted);
  font-size: 13px;
  line-height: 1.4;
  padding: 5px 0;
  text-decoration: none;
  transition: color 0.2s ease;
  border-radius: 0;
  white-space: break-spaces;
}
.footer_main_container .tff-nav .tff-nav-group a:hover {
  color: var(--tff-blue);
  background-color: transparent;
}
.footer_main_container {
  /* =======================================================
   CTA
   ======================================================= */
}
.footer_main_container .tff-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-top: 30px;
  padding: 17px 20px;
  border: 1px solid #d9eaf3;
  border-radius: 12px;
  background: #f3f9fc;
}
.footer_main_container .tff-cta .tff-cta-content {
  min-width: 0;
}
.footer_main_container .tff-cta .tff-cta-content strong {
  display: block;
  color: var(--tff-navy);
  font-size: 14px;
  font-weight: 800;
  line-height: 1.4;
}
.footer_main_container .tff-cta .tff-cta-content span {
  display: block;
  margin-top: 4px;
  color: var(--tff-muted);
  font-size: 12px;
  line-height: 1.5;
}
.footer_main_container .tff-cta .tff-cta-button {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 16px;
  border-radius: 7px;
  background: var(--tff-blue);
  color: #ffffff;
  font-size: 12px;
  font-weight: 800;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
  transition: background-color 0.2s ease, transform 0.2s ease;
}
.footer_main_container .tff-cta .tff-cta-button:hover {
  background: #117fac;
  color: #ffffff;
  transform: translateY(-1px);
}
.footer_main_container {
  /* =======================================================
   PROOF / REVIEWS
   ======================================================= */
}
.footer_main_container .tff-proof {
  margin-top: 25px;
  padding-top: 24px;
  border-top: 1px solid var(--tff-line);
}
.footer_main_container .tff-proof .tff-proof-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 9px;
}
.footer_main_container {
  /* =======================================================
   GOOGLE REVIEW
   ======================================================= */
}
.footer_main_container .tff-review,
.footer_main_container .tff-partner {
  display: flex;
  align-items: center;
  gap: 9px;
  min-height: 48px;
  padding: 0 16px;
  border: 1px solid var(--tff-line);
  border-radius: 28px;
  background: #ffffff;
  color: #5e7282;
  font-size: 12px;
  line-height: 1;
  white-space: nowrap;
}
.footer_main_container .tff-google {
  color: #4285f4;
  font-size: 18px;
  font-weight: 700;
}
.footer_main_container .tff-stars {
  color: #f5a900;
  font-size: 16px;
  letter-spacing: 1px;
}
.footer_main_container .tff-review strong {
  color: #183c60;
  font-size: 18px;
}
.footer_main_container {
  /* =======================================================
   PARTNERS
   ======================================================= */
}
.footer_main_container .tff-partner {
  height: 48px;
  background: #fbfdfe;
  color: #617789;
  font-weight: 700;
  text-decoration: none;
  transition: border-color 0.2s ease, color 0.2s ease, background-color 0.2s ease;
}
.footer_main_container .tff-partner:hover {
  border-color: #c5e0ed;
  background: #ffffff;
  color: var(--tff-blue);
}
.footer_main_container .tff-bbb {
  padding: 0 13px;
}
.footer_main_container .tff-bbb img {
  display: block;
  width: 120px;
  height: 34px;
  object-fit: contain;
}
.footer_main_container {
  /* =======================================================
   BOTTOM BAR
   ======================================================= */
}
.footer_main_container .tff-bottom {
  border-top: 1px solid var(--tff-line);
  background: #ffffff;
}
.footer_main_container .tff-bottom .tff-bottom-inner {
  max-width: 1260px;
  margin: 0 auto;
  padding: 20px 38px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 25px;
}
.footer_main_container .tff-copy {
  max-width: 700px;
  color: #8193a1;
  font-size: 11.5px;
  line-height: 1.55;
}
.footer_main_container .tff-legal {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 21px;
}
.footer_main_container .tff-legal a {
  color: #64798a;
  font-size: 12px;
  line-height: 1.4;
  text-decoration: none;
  transition: color 0.2s ease;
}
.footer_main_container .tff-legal a:hover {
  color: var(--tff-blue);
}

/* =========================================================
   TABLET
   ========================================================= */
@media all and (max-width: 1100px) {
  .footer_main_container .tff-grid {
    grid-template-columns: 1fr;
    gap: 45px;
  }
  .footer_main_container .tff-description {
    max-width: 600px;
  }
  .footer_main_container .tff-nav {
    gap: 25px;
  }
}
/* =========================================================
   SMALL TABLET
   ========================================================= */
@media all and (max-width: 950px) {
  .footer_main_container .tff-container {
    padding: 45px 25px;
  }
  .footer_main_container .tff-grid {
    gap: 40px;
  }
  .footer_main_container .tff-nav {
    grid-template-columns: repeat(2, 1fr);
    gap: 30px 40px;
  }
  .footer_main_container .tff-bottom .tff-bottom-inner {
    padding: 20px 25px;
    flex-direction: column;
    align-items: flex-start;
  }
  .footer_main_container .tff-legal {
    justify-content: flex-start;
  }
}
/* =========================================================
   MOBILE
   ========================================================= */
@media all and (max-width: 600px) {
  .footer_main_container .tff-container {
    padding: 35px 20px;
  }
  .footer_main_container .tff-logo img {
    width: 235px;
  }
  .footer_main_container .tff-description {
    font-size: 13px;
  }
  .footer_main_container .tff-nav {
    grid-template-columns: 1fr;
    gap: 27px;
  }
  .footer_main_container .tff-cta {
    align-items: flex-start;
    flex-direction: column;
  }
  .footer_main_container .tff-cta .tff-cta-button {
    width: 100%;
  }
  .footer_main_container .tff-proof .tff-proof-row {
    align-items: stretch;
  }
  .footer_main_container .tff-review,
  .footer_main_container .tff-partner {
    width: 100%;
    justify-content: flex-start;
  }
  .footer_main_container .tff-bottom .tff-bottom-inner {
    padding: 20px;
  }
  .footer_main_container .tff-legal {
    gap: 12px 18px;
  }
}
/* =========================================================
   VERY SMALL MOBILE
   ========================================================= */
@media all and (max-width: 400px) {
  .footer_main_container .tff-badges {
    display: grid;
    grid-template-columns: 1fr;
  }
  .footer_main_container .tff-badge {
    justify-content: center;
  }
  .footer_main_container .tff-logo img {
    width: 210px;
  }
}

/*# sourceMappingURL=custom.css.map */