/* -------------------------------------------------------------------------
   Typography scale
   -------------------------------------------------------------------------
   The theme sets html { font-size: 9px } and steps it down to 6px at 992px,
   so every rem-based .mil-fs-* utility rendered far below its intended size
   (.mil-fs-16 came out at 14.4px on desktop and 9.6px on phones).

   Sizes are decoupled from that rem ramp and expressed in px, so the ramp
   keeps driving layout (padding, gaps, control heights) while text reads at
   the size its class name advertises. Loaded after style.css / responsive.css
   / pages.css so it wins on equal specificity.
   ------------------------------------------------------------------------- */

.mil-fs-11 { font-size: 13px; }
.mil-fs-12 { font-size: 13px; }
.mil-fs-13 { font-size: 13px; }
.mil-fs-14 { font-size: 15px; }
.mil-fs-15 { font-size: 15px; }
.mil-fs-16 { font-size: 16px; }
.mil-fs-17 { font-size: 17px; }
.mil-fs-18 { font-size: 18px; }
.mil-fs-19 { font-size: 19px; }
.mil-fs-20 { font-size: 20px; }
.mil-fs-22 { font-size: clamp(20px, 19.42px + 0.16vw, 22px); }
.mil-fs-24 { font-size: clamp(20px, 18.84px + 0.32vw, 24px); }
.mil-fs-26 { font-size: clamp(20px, 18.26px + 0.48vw, 26px); }
.mil-fs-28 { font-size: clamp(20px, 17.68px + 0.65vw, 28px); }
.mil-fs-30 { font-size: clamp(20px, 17.1px + 0.81vw, 30px); }
.mil-fs-32 { font-size: clamp(20px, 16.52px + 0.97vw, 32px); }
.mil-fs-34 { font-size: clamp(20.4px, 16.45px + 1.1vw, 34px); }
.mil-fs-36 { font-size: clamp(21.6px, 17.42px + 1.16vw, 36px); }
.mil-fs-38 { font-size: clamp(22.8px, 18.39px + 1.23vw, 38px); }
.mil-fs-40 { font-size: clamp(24px, 19.35px + 1.29vw, 40px); }
.mil-fs-44 { font-size: clamp(26.4px, 21.29px + 1.42vw, 44px); }
.mil-fs-48 { font-size: clamp(28.8px, 23.23px + 1.55vw, 48px); }
.mil-fs-52 { font-size: clamp(31.2px, 25.16px + 1.68vw, 52px); }
.mil-fs-58 { font-size: clamp(34.8px, 28.06px + 1.87vw, 58px); }
.mil-fs-72 { font-size: clamp(43.2px, 34.84px + 2.32vw, 72px); }
.mil-fs-86 { font-size: clamp(51.6px, 41.61px + 2.77vw, 86px); }
.mil-fs-100 { font-size: clamp(60px, 48.39px + 3.23vw, 100px); }

/* Body defaults ---------------------------------------------------------- */

body {
  font-size: 17px;
  line-height: 1.65;
}

p,
li {
  line-height: 1.7;
}

/* Never below the 16px mobile-zoom threshold. */
input,
textarea,
select,
button {
  font-size: 16px;
}

/* Components sized in rem outside the .mil-fs-* utilities ----------------- */

/* Buttons and inline links: 1.4rem resolved to 11.2px on desktop, 6.6px on
   phones. The class is repeated to outrank the card-scoped compound selectors
   in responsive.css (e.g. `.mil-service-card-long .mil-link`) without
   resorting to !important. */
.mil-btn.mil-btn,
.mil-link.mil-link {
  font-size: 14px;
}

/* Form controls. Below 16px iOS Safari zooms the page on focus. */
.mil-input-frame input,
.mil-input-frame textarea,
.mil-input-frame .mil-select-button,
.mil-input-frame .mil-select-button .mil-selected-value,
.mil-custom-radio,
.mil-room-btn {
  font-size: 16px;
}

/* Navigation. */
.mil-main-menu ul li a,
.mil-main-menu ul li ul li a {
  font-size: 15px;
}

.mil-top-panel .mil-tp-content .mil-tp-phone a {
  font-size: 16px;
}

/* Uppercase micro-labels: tracked caps stay small but legible. */
.mil-up-text {
  font-size: 13px;
}

.post-card-tag {
  font-size: 12px;
}

.post-card-link {
  font-size: 15px;
}

.mil-breadcrumbs li,
.mil-breadcrumbs li a,
.mil-hero-inner .mil-breadcrumbs li,
.mil-hero-inner .mil-breadcrumbs li a {
  font-size: 14px;
}

@media (max-width: 1200px) {
  .mil-lg-fs-11 { font-size: 13px; }
  .mil-lg-fs-12 { font-size: 13px; }
  .mil-lg-fs-13 { font-size: 13px; }
  .mil-lg-fs-14 { font-size: 15px; }
  .mil-lg-fs-15 { font-size: 15px; }
  .mil-lg-fs-16 { font-size: 16px; }
  .mil-lg-fs-17 { font-size: 17px; }
  .mil-lg-fs-18 { font-size: 18px; }
  .mil-lg-fs-19 { font-size: 19px; }
  .mil-lg-fs-20 { font-size: 20px; }
  .mil-lg-fs-22 { font-size: clamp(20px, 19.42px + 0.16vw, 22px); }
  .mil-lg-fs-24 { font-size: clamp(20px, 18.84px + 0.32vw, 24px); }
  .mil-lg-fs-26 { font-size: clamp(20px, 18.26px + 0.48vw, 26px); }
  .mil-lg-fs-28 { font-size: clamp(20px, 17.68px + 0.65vw, 28px); }
  .mil-lg-fs-30 { font-size: clamp(20px, 17.1px + 0.81vw, 30px); }
  .mil-lg-fs-32 { font-size: clamp(20px, 16.52px + 0.97vw, 32px); }
  .mil-lg-fs-34 { font-size: clamp(20.4px, 16.45px + 1.1vw, 34px); }
  .mil-lg-fs-36 { font-size: clamp(21.6px, 17.42px + 1.16vw, 36px); }
  .mil-lg-fs-38 { font-size: clamp(22.8px, 18.39px + 1.23vw, 38px); }
  .mil-lg-fs-40 { font-size: clamp(24px, 19.35px + 1.29vw, 40px); }
  .mil-lg-fs-44 { font-size: clamp(26.4px, 21.29px + 1.42vw, 44px); }
  .mil-lg-fs-48 { font-size: clamp(28.8px, 23.23px + 1.55vw, 48px); }
  .mil-lg-fs-52 { font-size: clamp(31.2px, 25.16px + 1.68vw, 52px); }
  .mil-lg-fs-58 { font-size: clamp(34.8px, 28.06px + 1.87vw, 58px); }
  .mil-lg-fs-72 { font-size: clamp(43.2px, 34.84px + 2.32vw, 72px); }
  .mil-lg-fs-86 { font-size: clamp(51.6px, 41.61px + 2.77vw, 86px); }
  .mil-lg-fs-100 { font-size: clamp(60px, 48.39px + 3.23vw, 100px); }
}

@media (max-width: 992px) {
  .mil-md-fs-11 { font-size: 13px; }
  .mil-md-fs-12 { font-size: 13px; }
  .mil-md-fs-13 { font-size: 13px; }
  .mil-md-fs-14 { font-size: 15px; }
  .mil-md-fs-15 { font-size: 15px; }
  .mil-md-fs-16 { font-size: 16px; }
  .mil-md-fs-17 { font-size: 17px; }
  .mil-md-fs-18 { font-size: 18px; }
  .mil-md-fs-19 { font-size: 19px; }
  .mil-md-fs-20 { font-size: 20px; }
  .mil-md-fs-22 { font-size: clamp(20px, 19.42px + 0.16vw, 22px); }
  .mil-md-fs-24 { font-size: clamp(20px, 18.84px + 0.32vw, 24px); }
  .mil-md-fs-26 { font-size: clamp(20px, 18.26px + 0.48vw, 26px); }
  .mil-md-fs-28 { font-size: clamp(20px, 17.68px + 0.65vw, 28px); }
  .mil-md-fs-30 { font-size: clamp(20px, 17.1px + 0.81vw, 30px); }
  .mil-md-fs-32 { font-size: clamp(20px, 16.52px + 0.97vw, 32px); }
  .mil-md-fs-34 { font-size: clamp(20.4px, 16.45px + 1.1vw, 34px); }
  .mil-md-fs-36 { font-size: clamp(21.6px, 17.42px + 1.16vw, 36px); }
  .mil-md-fs-38 { font-size: clamp(22.8px, 18.39px + 1.23vw, 38px); }
  .mil-md-fs-40 { font-size: clamp(24px, 19.35px + 1.29vw, 40px); }
  .mil-md-fs-44 { font-size: clamp(26.4px, 21.29px + 1.42vw, 44px); }
  .mil-md-fs-48 { font-size: clamp(28.8px, 23.23px + 1.55vw, 48px); }
  .mil-md-fs-52 { font-size: clamp(31.2px, 25.16px + 1.68vw, 52px); }
  .mil-md-fs-58 { font-size: clamp(34.8px, 28.06px + 1.87vw, 58px); }
  .mil-md-fs-72 { font-size: clamp(43.2px, 34.84px + 2.32vw, 72px); }
  .mil-md-fs-86 { font-size: clamp(51.6px, 41.61px + 2.77vw, 86px); }
  .mil-md-fs-100 { font-size: clamp(60px, 48.39px + 3.23vw, 100px); }
}

@media (max-width: 768px) {
  .mil-sm-fs-11 { font-size: 13px; }
  .mil-sm-fs-12 { font-size: 13px; }
  .mil-sm-fs-13 { font-size: 13px; }
  .mil-sm-fs-14 { font-size: 15px; }
  .mil-sm-fs-15 { font-size: 15px; }
  .mil-sm-fs-16 { font-size: 16px; }
  .mil-sm-fs-17 { font-size: 17px; }
  .mil-sm-fs-18 { font-size: 18px; }
  .mil-sm-fs-19 { font-size: 19px; }
  .mil-sm-fs-20 { font-size: 20px; }
  .mil-sm-fs-22 { font-size: clamp(20px, 19.42px + 0.16vw, 22px); }
  .mil-sm-fs-24 { font-size: clamp(20px, 18.84px + 0.32vw, 24px); }
  .mil-sm-fs-26 { font-size: clamp(20px, 18.26px + 0.48vw, 26px); }
  .mil-sm-fs-28 { font-size: clamp(20px, 17.68px + 0.65vw, 28px); }
  .mil-sm-fs-30 { font-size: clamp(20px, 17.1px + 0.81vw, 30px); }
  .mil-sm-fs-32 { font-size: clamp(20px, 16.52px + 0.97vw, 32px); }
  .mil-sm-fs-34 { font-size: clamp(20.4px, 16.45px + 1.1vw, 34px); }
  .mil-sm-fs-36 { font-size: clamp(21.6px, 17.42px + 1.16vw, 36px); }
  .mil-sm-fs-38 { font-size: clamp(22.8px, 18.39px + 1.23vw, 38px); }
  .mil-sm-fs-40 { font-size: clamp(24px, 19.35px + 1.29vw, 40px); }
  .mil-sm-fs-44 { font-size: clamp(26.4px, 21.29px + 1.42vw, 44px); }
  .mil-sm-fs-48 { font-size: clamp(28.8px, 23.23px + 1.55vw, 48px); }
  .mil-sm-fs-52 { font-size: clamp(31.2px, 25.16px + 1.68vw, 52px); }
  .mil-sm-fs-58 { font-size: clamp(34.8px, 28.06px + 1.87vw, 58px); }
  .mil-sm-fs-72 { font-size: clamp(43.2px, 34.84px + 2.32vw, 72px); }
  .mil-sm-fs-86 { font-size: clamp(51.6px, 41.61px + 2.77vw, 86px); }
  .mil-sm-fs-100 { font-size: clamp(60px, 48.39px + 3.23vw, 100px); }

  body {
    font-size: 16px;
  }

  /* Panel and footer copy: the theme steps these down to 13-14px here. */
  .mil-panel p {
    font-size: 16px;
  }
}

@media (max-width: 576px) {

  /* Matches the selectors responsive.css uses at this breakpoint, so the
     copy stops shrinking below the readable floor on small phones. */
  .mil-panel p {
    font-size: 16px;
  }

  footer .mil-footer-bottom p {
    font-size: 14px;
  }
}
