/* Shared additions to the site copy: homepage banner timing and the phone contact bar. */
.banner-swiper .swiper-slide-active .animated1,
.banner-swiper .swiper-slide-active .animated2,
.banner-swiper .swiper-slide-active .animated3,
.banner-swiper .swiper-slide-active .animated4 { animation-duration: .8s; animation-delay: .1s; }

.home-strengths { padding: 40px 0 10px; }
.home-strengths-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.home-strengths a { display: flex; align-items: center; gap: 20px; padding: 24px; border-radius: 30px; background: #fff; color: #031B4E; transition: transform .2s; }
.home-strengths a:hover { transform: translateY(-3px); color: #031B4E; }
.home-strengths img { width: 96px; height: auto; flex: none; }
.home-strengths strong { display: block; margin-bottom: 4px; font-size: 20px; line-height: 1.3; }
.home-strengths-icon { display: grid; place-items: center; flex: none; width: 96px; height: 72px; border-radius: 20px; background: #01BAEB; color: #fff; font-size: 26px; font-weight: 700; }

.banner-text h1, .banner-text h2.banner-h1 { font-size: clamp(38px, 4.8vw, 62px) !important; line-height: 1.15 !important; font-weight: 600; color: #fff; }
h2.as-h3, h3.as-h3 { font-size: 32px; line-height: 44px; font-weight: 600; }
h2.as-h4, h3.as-h4 { font-size: 26px; line-height: 38px; font-weight: 600; }
h2.as-h5, h3.as-h5, h4.as-h5 { font-size: 22px; line-height: 32px; font-weight: 600; }
.related-links { margin: 32px 0; padding: 24px; border-radius: 30px; background: #f1f1fb; }
.related-links .related-title { margin: 0 0 8px; font-size: 22px; font-weight: 600; color: #031B4E; }
.related-links ul { margin: 0; padding-left: 20px; }
.related-links a { color: #0a6f8c; text-decoration: underline; }

.legal-page { max-width: 820px; }
.legal-page h2 { margin: 32px 0 12px; font-size: 26px; }
.legal-draft { padding: 12px 16px; border-radius: 10px; background: #fff3cd; font-weight: 700; }

.contact-bar { display: none; }

@media (max-width: 767px) {
  .home-strengths-grid { grid-template-columns: 1fr; }
  h2.as-h3, h3.as-h3 { font-size: 26px; line-height: 36px; }
  h2.as-h4, h3.as-h4 { font-size: 22px; line-height: 32px; }
  #button-contact-vr { display: none !important; }
  .contact-bar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 9999; display: grid; grid-template-columns: 1fr 2fr; background: #fff; box-shadow: 0 -2px 10px rgba(3, 27, 78, .15); }
  .contact-bar a { padding: 15px 8px; text-align: center; font-weight: 700; color: #031B4E; text-decoration: none; }
  .contact-bar .contact-bar-main { background: #128C4B; color: #fff; }
  body { padding-bottom: 54px; }
  .scroll-top { bottom: 66px !important; }
  [id^="gt_float"], .gt_float_switcher { bottom: 66px !important; }
}

.rewritten h2 { margin: 32px 0 12px; font-size: 32px; line-height: 44px; font-weight: 600; }
.rewritten ol, .rewritten ul { margin-bottom: 16px; }
.rewritten li { margin-bottom: 8px; }
.rewritten a { color: #0a6f8c; text-decoration: underline; }

@media (min-width: 992px) {
  #nav_menu-3 ul.menu { max-height: 340px; overflow-y: auto; padding-right: 6px; }
}

.page-form { margin: 24px 0; padding: 32px; border-radius: 30px; background: #01BAEB; color: #031B4E; }
.page-form h2 { margin: 0 0 4px; font-size: 32px; line-height: 44px; font-weight: 600; color: #031B4E; }
.page-form > p { margin: 0 0 20px; }
.page-form input:not([type="submit"]), .page-form textarea { background: #fff; }
.page-form .wpcf7-response-output { background: #fff; color: #031B4E; }
.page-form input[type="submit"] { background: #031B4E; color: #fff; }
.page-form .wpcf7-spinner { display: none; }

.service-swiper .service-image img { width: 100%; aspect-ratio: 7 / 6; object-fit: cover; }

.doctor-bio, .doctor-bio h3, .doctor-bio strong { color: #fff; }
.doctor-bio .doctor-lead { font-size: 20px; line-height: 1.5; font-weight: 600; }
.doctor-bio h3 { margin: 32px 0 12px; font-size: 26px; line-height: 38px; font-weight: 600; }
.doctor-bio li { margin-bottom: 8px; }
.doctor-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.doctor-btn { display: inline-block; padding: 14px 24px; border: 2px solid #fff; border-radius: 999px; color: #fff; font-weight: 700; }
.doctor-btn:hover { background: #fff; color: #031B4E; }
.doctor-btn-main { background: #fff; color: #031B4E; }
.doctor-btn-main:hover { background: #01BAEB; border-color: #01BAEB; color: #031B4E; }
.doctor-bio { max-width: 860px; margin: 0 auto; }

.doctor-bio a:not(.doctor-btn) { color: #fff; text-decoration: underline; }
.listing-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.listing-card { display: block; overflow: hidden; border-radius: 30px; background: #fff; color: #031B4E; font-weight: 600; transition: transform .2s; }
.listing-card:hover { transform: translateY(-3px); color: #031B4E; }
.listing-card img { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
.listing-card span { display: block; padding: 16px 20px 20px; font-size: 18px; line-height: 1.35; }
@media (max-width: 991px) { .listing-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 575px) { .listing-grid { grid-template-columns: 1fr; } }

h2.post-h2, h3.post-h2 { margin: 28px 0 10px; font-size: 28px; line-height: 38px; font-weight: 600; }
.elementor-widget-container a[href="/contact-us/"], .elementor-widget-container a[href="/get-free-a-second-opinion/"] { text-decoration: underline; }
@media (max-width: 767px) { h2.post-h2, h3.post-h2 { font-size: 24px; line-height: 32px; } }

/* The counter sizes digits from the width of an 8, which is narrower than a 0 in this font. */
.odometer.odometer-auto-theme .odometer-digit .odometer-digit-spacer { padding: 0 .06em; }
.odometer.odometer-auto-theme .odometer-digit .odometer-value { width: 100%; text-align: center; }
.odometer.odometer-auto-theme .odometer-digit .odometer-digit-inner { height: 1.25em; }
.counter .counter-desc { line-height: 1.25; white-space: nowrap; }
