/* Static stand-ins for widgets that only rendered through JavaScript on the
   original site (scripts are stripped from this archive restore). */
html, body { overflow-x: hidden; }
/* Measure full-bleed sections against the content box, not 100vw (which includes the scrollbar). */
#content { container-type: inline-size; }

/* Entrance animations start hidden and wait for JS. */
.wpb_animate_when_almost_visible, .elementor-invisible { opacity: 1 !important; visibility: visible !important; animation: none !important; }

/* VC full-width rows are stretched by JS. */
.vc_row[data-vc-full-width] { position: relative !important; width: 100cqw; max-width: 100cqw; left: 50% !important; margin-left: -50cqw !important; margin-right: 0 !important; padding-left: max(15px, calc(50cqw - 560px)); padding-right: max(15px, calc(50cqw - 560px)); box-sizing: border-box; }
.vc_row[data-vc-full-width][data-vc-stretch-content] { padding-left: 0; padding-right: 0; }

/* Ultimate VC spacers. */
.ult-spacer { height: var(--h, 0); }
@media (max-width: 767px) { .ult-spacer { height: var(--hm, var(--h, 0)); } }

/* Revolution Slider replacement. */
.nojs-hero { position: relative; width: 100cqw; left: 50%; margin-left: -50cqw; min-height: 800px; background: #212121; color: #fff; display: flex; align-items: center; justify-content: center; text-align: center; font-family: 'Montserrat', sans-serif; padding: 190px 15px 110px; box-sizing: border-box; }
.nojs-hero-inner { max-width: 1200px; }
.nojs-hero p, .nojs-hero h2 { color: #fff; margin: 0; font-family: 'Montserrat', sans-serif; }
.nojs-hero-pre { font-size: 50px !important; line-height: 1.2; letter-spacing: 10px; font-weight: 700; }
.nojs-hero-title { font-size: 64px !important; line-height: 1.5; letter-spacing: 8px; font-weight: 800; }
.nojs-hero-sub { font-size: 45px !important; line-height: 1.6; letter-spacing: 1px; font-weight: 400; }
.nojs-hero-btns { margin-top: 30px; display: flex; gap: 23px; justify-content: center; flex-wrap: wrap; }
.nojs-btn { display: inline-block; font-size: 18px; line-height: 40px; letter-spacing: 1px; font-weight: 700; padding: 10px 40px; color: #fff !important; text-decoration: none; }
.nojs-btn-blue { background: #015492; }
.nojs-btn-green { background: #64b991; border: 1px solid #64b991; }
.nojs-btn-green:hover { background: #fff; color: #64b991 !important; }
@media (max-width: 1024px) {
  .nojs-hero { min-height: 600px; }
  .nojs-hero-pre { font-size: 35px !important; letter-spacing: 7px; }
  .nojs-hero-title { font-size: 57px !important; letter-spacing: 8px; }
  .nojs-hero-sub { font-size: 32px !important; }
}
@media (max-width: 767px) {
  .nojs-hero { min-height: 560px; padding: 150px 15px 70px; }
  .nojs-hero-pre { font-size: 25px !important; letter-spacing: 3px; }
  .nojs-hero-title { font-size: 35px !important; line-height: 1.3; letter-spacing: 3px; margin: 8px 0; }
  .nojs-hero-sub { font-size: 25px !important; line-height: 1.3; }
  .nojs-btn { font-size: 16px; padding: 6px 22px; }
}

/* Ultimate VC carousels shown as static grids. */
.nojs-car { visibility: visible !important; opacity: 1 !important; }
.nojs-car > div { display: flex; flex-wrap: wrap; justify-content: center; margin: 0 -15px; }
.nojs-car > div > .ult-item-wrap { box-sizing: border-box; padding: 0 15px 30px; flex: 0 0 25%; max-width: 25%; display: block !important; }
.nojs-car.nojs-n6 > div > .ult-item-wrap { flex-basis: 16.666%; max-width: 16.666%; }
.nojs-car.nojs-n5 > div > .ult-item-wrap { flex-basis: 20%; max-width: 20%; }
.nojs-car.nojs-n3 > div > .ult-item-wrap { flex-basis: 33.333%; max-width: 33.333%; }
.nojs-car.nojs-n2 > div > .ult-item-wrap { flex-basis: 50%; max-width: 50%; }
.nojs-car.nojs-tes > div > .ult-item-wrap { flex-basis: 33.333%; max-width: 33.333%; }
.nojs-car.nojs-team > div > .ult-item-wrap { flex-basis: 25%; max-width: 25%; }
.nojs-car .ult-item-wrap .ult-item-wrap, .nojs-car .ult-item-wrap .vc_row { flex: none; max-width: none; padding: 0; }
@media (max-width: 1024px) {
  .nojs-car.nojs-n6 > div > .ult-item-wrap, .nojs-car.nojs-n5 > div > .ult-item-wrap { flex-basis: 33.333%; max-width: 33.333%; }
  .nojs-car.nojs-team > div > .ult-item-wrap, .nojs-car.nojs-tes > div > .ult-item-wrap { flex-basis: 50%; max-width: 50%; }
}
@media (max-width: 767px) {
  .nojs-car.nojs-n6 > div > .ult-item-wrap, .nojs-car.nojs-n5 > div > .ult-item-wrap { flex-basis: 50%; max-width: 50%; }
  .nojs-car.nojs-tes > div > .ult-item-wrap { flex-basis: 100%; max-width: 100%; }
}

/* VC tabs and accordions: show every panel, since nothing can toggle them. */
.vc_tta-tabs-container { display: none !important; }
.vc_tta.vc_general .vc_tta-panel-heading { display: block !important; }
.vc_tta.vc_general .vc_tta-panel-body { display: block !important; height: auto !important; overflow: visible !important; }
.vc_tta-controls-icon { display: none !important; }

/* Astra's mobile menu opens through JS: show the top-level links as a static row instead. */
@media (max-width: 921px) {
  .ast-mobile-menu-buttons { display: none !important; }
  .main-header-bar-navigation { display: block !important; width: 100%; }
  .main-header-bar .ast-main-header-bar-alignment { display: block !important; width: 100%; }
  #primary-menu { display: flex !important; flex-wrap: wrap; justify-content: center; gap: 4px 0; padding: 8px 0 12px; border: 0; background: transparent; }
  #primary-menu > li { width: auto !important; border: 0 !important; }
  #primary-menu > li > a.menu-link { padding: 6px 10px !important; font-size: 14px; border: 0 !important; }
  #primary-menu .sub-menu, #primary-menu .ast-menu-toggle, #primary-menu .sub-arrow { display: none !important; }
}
@media (max-width: 767px) {
  .vc_row[data-vc-stretch-content] .tile-text > .vc_column-inner { padding-left: 20px !important; padding-right: 20px !important; }
}

/* Team cards whose photo was never set on the original site: show the bio instead of a black box. */
.ult-team-member-image img[src=""] { display: none; }
.ult-team-member-image:has(img[src=""]) .ult-team-member-description { opacity: 1; position: static; transform: none; margin: 0; }

/* ---- Well Move Fitness brand ---- */
.wmj-logo { display: inline-flex; align-items: center; gap: 12px; text-decoration: none; line-height: 1; }
.wmj-mark { width: 46px; height: 46px; flex: none; }
.wmj-word { font-family: 'Fraunces', Georgia, serif; font-weight: 600; font-size: 25px; letter-spacing: -0.2px; color: #2e2233; white-space: nowrap; }
.wmj-word span { color: #d9572f; }
.ast-custom-footer .wmj-word { color: #fff; }
@media (min-width: 922px) { .home .site-header .wmj-word { color: #fff; } }
.ast-custom-footer .wmj-word span { color: #fbd2c3; }
@media (max-width: 767px) { .wmj-mark { width: 38px; height: 38px; } .wmj-word { font-size: 21px; } }
.wmj-notice { position: relative; z-index: 10000; background: #2e2233; color: #fff; font: 500 14px/1.4 Inter, system-ui, sans-serif; text-align: center; padding: 8px 16px; }
.wmj-footnote { background: #1f1723; color: #e9e1ec; padding: 18px 16px 22px; }
.wmj-footnote p { max-width: 1120px; margin: 0 auto; font: 13px/1.6 system-ui, sans-serif; color: #e9e1ec; }
.wmj-footnote a { color: #fbd2c3; text-decoration: underline; }

/* Elementor footer menus collapse to a JS toggle on small screens: keep the list visible instead. */
.ast-custom-footer .elementor-menu-toggle, .ast-custom-footer .elementor-nav-menu--dropdown { display: none !important; }
.ast-custom-footer .elementor-nav-menu--main { display: block !important; }
.ast-custom-footer .elementor-nav-menu a, .ast-custom-footer .elementor-nav-menu a.elementor-item-active { color: #fff !important; }
.ast-custom-footer .elementor-top-section { background-color: #2e2233 !important; background-image: none !important; }
.ast-custom-footer .elementor-top-section:last-of-type { background-color: #241a28 !important; }
.ast-custom-footer .wmj-mark { width: 36px; height: 36px; } .ast-custom-footer .wmj-word { font-size: 19px; }
