/* Shared responsive tuning for Fibank-based landing pages. */
:root {
  --capital-fluid-body: clamp(15px, 0.28vw + 13.6px, 18px);
  --capital-fluid-body-line: clamp(26px, 0.95vw + 18px, 34px);
  --capital-fluid-h1: clamp(44px, 5.9vw, 120px);
  --capital-fluid-h2: clamp(30px, 4.4vw, 82px);
  --capital-fluid-h3: clamp(22px, 1.6vw + 14px, 32px);
  --capital-fluid-h4: clamp(18px, 1vw + 12px, 22px);
  --capital-fluid-button: clamp(14px, 0.45vw + 11.5px, 18px);
  --capital-fluid-button-y-top: clamp(16px, 0.9vw + 8px, 23px);
  --capital-fluid-button-y-bottom: clamp(14px, 0.8vw + 7px, 20px);
  --capital-fluid-button-x: clamp(24px, 2vw + 10px, 50px);
  --capital-sticky-side-gap: clamp(14px, 2vw, 32px);
}

body {
  font-size: var(--capital-fluid-body);
  line-height: var(--capital-fluid-body-line);
}

p,
li,
.description,
.counter-title,
.contact-form input,
.contact-form textarea,
.contact-form input::placeholder,
.contact-form textarea::placeholder,
.accordion-body,
.offset-widget p {
  font-size: var(--capital-fluid-body);
  line-height: var(--capital-fluid-body-line);
}

h1,
.h1,
.theme-banner-one .main-title {
  font-size: var(--capital-fluid-h1);
  line-height: 1.02;
}

h2,
.h2,
.title-one .title {
  font-size: var(--capital-fluid-h2);
  line-height: 1.05;
}

h3,
.h3,
.theme-banner-one .rating-box h3,
.service-wrap-1 .service-title a,
.service-wrap-2 .service-title a,
.service-wrap-3 .service-title a,
.service-wrap-4 .service-title a,
.service-wrap-5 .service-title a,
.service-wrap-6 .service-title a {
  font-size: var(--capital-fluid-h3);
  line-height: 1.18;
}

h4,
.h4 {
  font-size: var(--capital-fluid-h4);
}

.title-one .sub-title {
  font-size: clamp(14px, 0.3vw + 12px, 18px);
}

.title-one p,
.theme-banner-one .hero-description {
  font-size: clamp(17px, 0.95vw + 12px, 28px);
  line-height: clamp(29px, 1.45vw + 18px, 45px);
}

.ht-btn,
.submit-btn,
.theme-banner-one .bstyle-2,
.capital-mobile-auth-btn {
  font-size: var(--capital-fluid-button) !important;
  padding: var(--capital-fluid-button-y-top) var(--capital-fluid-button-x) var(--capital-fluid-button-y-bottom) var(--capital-fluid-button-x) !important;
  border-radius: clamp(28px, 2vw, 40px);
}

.theme-banner-one {
  padding-top: clamp(72px, 7vw, 107px);
  padding-bottom: clamp(64px, 6vw, 100px);
  padding-left: clamp(18px, 4vw, 85px);
  padding-right: clamp(18px, 4vw, 85px);
}

.theme-banner-one .hero-description {
  margin-bottom: clamp(30px, 3.6vw, 58px);
}

.theme-banner-one .main-img {
  width: min(100%, clamp(380px, 40vw, 720px));
  margin-left: auto;
}

.theme-banner-one .card-shape {
  width: min(42%, 240px);
  height: auto;
}

.theme-banner-one .rating-box h3 {
  font-size: clamp(21px, 1.1vw + 14px, 28px);
}

.logo-area img {
  max-width: clamp(120px, 8vw, 140px);
}

.mobile-logo img {
  max-width: clamp(180px, 18vw, 240px);
}

.footer-logo img {
  max-width: clamp(140px, 11vw, 180px);
}

.service-wrap-2 .icon,
.service-wrap-4 .icon,
.service-wrap-6 .icon {
  width: clamp(72px, 5vw, 90px);
  height: clamp(72px, 5vw, 90px);
}

.service-wrap-2 .icon .front-icon,
.service-wrap-2 .icon .back-icon,
.service-wrap-4 .icon .front-icon,
.service-wrap-4 .icon .back-icon,
.service-wrap-6 .icon .front-icon,
.service-wrap-6 .icon .back-icon {
  width: clamp(56px, 3.8vw, 76px);
  height: clamp(56px, 3.8vw, 76px);
}

.contact-map iframe {
  width: 100%;
  height: clamp(320px, 30vw, 450px);
}

.hero-img img,
.main-img,
.img-fluid {
  max-width: 100%;
  height: auto;
}

.theme-menu-one .sticky-menu,
.theme-menu-six .main-header-area.sticky-menu {
  left: var(--capital-sticky-side-gap);
  right: var(--capital-sticky-side-gap);
  width: auto;
}

.capital-ca-services-section .col-lg-6 {
  margin-bottom: 30px;
}

.capital-ca-services-section .service-wrap-4 {
  width: 100%;
  height: calc(100% - 10px);
  margin-bottom: 0;
}

.capital-ca-services-section .service-wrap-4 .content {
  display: flex;
  flex: 1;
  flex-direction: column;
}

.capital-ca-services-section .service-wrap-4 .more-btn {
  margin-top: auto;
  align-self: flex-start;
}

@media only screen and (max-width: 1366px) {
  .title-one {
    margin-bottom: clamp(24px, 2vw, 40px);
  }

  .counter-wrap-1 .number,
  .counter-wrap-2 .number {
    font-size: clamp(36px, 4vw, 64px);
    line-height: 1.05;
  }
}

@media only screen and (max-width: 991.98px) {
  .logo-area img {
    max-width: 200px;
  }

  .theme-menu-one .sticky-menu,
  .theme-menu-six .main-header-area.sticky-menu {
    left: 12px;
    right: 12px;
  }

  .theme-banner-one .main-img {
    width: min(100%, 560px);
  }

  .capital-ca-services-section .col-lg-6 {
    margin-bottom: 24px;
  }

  .capital-ca-services-section .service-wrap-4 {
    height: calc(100% - 24px);
  }
}

@media only screen and (max-width: 575.98px) {
  .theme-banner-one .main-title {
    font-size: clamp(34px, 11vw, 46px);
  }

  .title-one .title {
    font-size: clamp(28px, 8vw, 38px);
  }

  .theme-banner-one .hero-description,
  .title-one p {
    font-size: 16px;
    line-height: 28px;
  }

  .capital-ca-services-section .col-lg-6 {
    margin-bottom: 20px;
  }

  .capital-ca-services-section .service-wrap-4 {
    height: auto;
  }
}

