.es1 {
  --pale: #dde3e6;
  --mist: #c1d4da;
  --sky: #9fbfc6;
  --calm: #7aaabc;
  --teal: #28626d;
  --tide: #006c7f;
  --navy: #09142a;
  --ink: #09142a;
  --ink2: #4a5c6e;
  --ink3: #7b8a97;
  --line: #e2e8eb;
  font-family: "Inter", system-ui, sans-serif;
  font-weight: 400;
  color: var(--ink2);
  background: #fff;
  line-height: 1.75;
  -webkit-font-smoothing: antialiased;
}

.es1, .es1 * { box-sizing: border-box; }
.es1 a { color: inherit; text-decoration: none; }
.es1 img { max-width: 100%; display: block; }
.es1-wrap { width: min(1200px, 90vw); margin-inline: auto; }
.es1-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 14.5px;
  font-weight: 500;
  padding: 15px 30px;
  border-radius: 2px;
  border: 1px solid transparent;
  transition: .2s;
}
.es1-solid { background: var(--teal); color: #fff; }
.es1-solid:hover { background: var(--tide); color: #fff; }
.es1-head {
  background: #fff;
  position: sticky;
  top: 0;
  z-index: 1000;
  border-bottom: 1px solid var(--line);
}
.es1-head .es1-wrap {
  display: flex;
  align-items: center;
  gap: 34px;
  padding: 16px 0;
}
.es1-logo { height: 74px; width: auto; flex: none; }
.es1-nav {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 34px;
}
.es1-nav a {
  font-size: 14.5px;
  color: var(--ink);
  padding-bottom: 4px;
  border-bottom: 1px solid transparent;
  transition: .2s;
}
.es1-nav a:hover { color: var(--teal); border-bottom-color: var(--teal); }
.es1 a.es1-solid, .es1 a.es1-solid:hover { color: #fff; }
.es1 .es1-nav a { color: var(--ink); }
.es1 .es1-nav a:hover { color: var(--teal); }

body.has-espumps-banner {
  margin: 0 !important;
  padding: 0 !important;
  background-color: #fff !important;
  background-image: none !important;
}
.espumps-calculator-content {
  box-sizing: border-box;
  width: 100%;
  padding: 20px 12px 40px;
  overflow-x: auto;
}

.calculator-switcher {
  box-sizing: border-box;
  display: flex;
  flex-wrap: nowrap;
  align-items: stretch;
  width: min(900px, calc(100% - 24px));
  margin: 0 auto 16px;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  scroll-snap-type: x proximity;
  scrollbar-width: thin;
  scrollbar-color: #a9c8e2 #3576ab;
  border: 2px solid #3576ab;
  border-radius: 2px;
  background: #3576ab;
  font-family: "Inter", system-ui, sans-serif;
}

.calculator-switcher::-webkit-scrollbar { height: 6px; }
.calculator-switcher::-webkit-scrollbar-track { background: #3576ab; }
.calculator-switcher::-webkit-scrollbar-thumb { background: #a9c8e2; border-radius: 3px; }

.calculator-switcher a {
  display: flex;
  flex: 1 0 auto;
  min-height: 44px;
  min-width: max-content;
  align-items: center;
  justify-content: center;
  padding: 8px 14px;
  border-right: 1px solid rgba(255, 255, 255, .28);
  background: #3576ab;
  color: #fff !important;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.15;
  white-space: nowrap;
  text-align: center;
  text-decoration: none;
  scroll-snap-align: start;
  transition: background-color .15s ease, color .15s ease;
}

.calculator-switcher a:last-child { border-right: 0; }
.calculator-switcher a:hover { background: #4287c0; color: #fff !important; }
.calculator-switcher a:active { background: #2b6293; color: #fff !important; }
.calculator-switcher a.is-active,
.calculator-switcher a.is-active:hover {
  background: #fff;
  color: #3576ab !important;
  font-weight: 700;
  box-shadow: inset 0 0 0 2px #3576ab;
}

/* ESC form-bar treatment: #3576ab with white Inter text. */
.espumps-calculator-content > div[style*="background:#666666"] {
  background: #3576ab !important;
  color: #fff !important;
  border-radius: 2px;
}
.espumps-calculator-content > div[style*="background:#666666"] a {
  color: #fff !important;
  font-family: "Inter", sans-serif !important;
  font-weight: 500;
}
.espumps-calculator-content td[bgcolor="#FF9900"],
.espumps-calculator-content td[bgcolor="#666666"],
.espumps-calculator-content td[bgcolor="#3576ab"],
.espumps-calculator-content td[bgcolor="#DFDFDF"][colspan] {
  background: #3576ab !important;
  color: #fff !important;
}
.espumps-calculator-content td[bgcolor="#FF9900"] *,
.espumps-calculator-content td[bgcolor="#666666"] *,
.espumps-calculator-content td[bgcolor="#3576ab"] *,
.espumps-calculator-content td[bgcolor="#DFDFDF"][colspan] * {
  color: #fff !important;
  font-family: "Inter", sans-serif !important;
}
.espumps-calculator-content td[bgcolor="#FF9900"],
.espumps-calculator-content td[bgcolor="#666666"] {
  padding-top: 10px !important;
  padding-bottom: 10px !important;
}

@media (max-width: 980px) {
  .es1-head .es1-wrap { flex-wrap: wrap; gap: 14px; padding: 14px 0; }
  .es1-head { position: static; }
  .es1-logo { height: 48px; }
  .es1-nav {
    margin-left: 0;
    order: 3;
    width: 100%;
    gap: 22px;
    flex-wrap: wrap;
    border-top: 1px solid var(--line);
    padding-top: 12px;
  }
  .es1-nav a { font-size: 13.5px; }
  .es1-btn { padding: 13px 22px; font-size: 14px; }
  .calculator-switcher a { padding: 8px 12px; font-size: 12.5px; }
}

@media (max-width: 520px) {
  .es1-nav { justify-content: space-between; gap: 10px; }
  .espumps-calculator-content { padding-inline: 8px; }
  .calculator-switcher { width: 100%; }
  .calculator-switcher a { padding: 8px 10px; font-size: 12px; }
}

/*
 * Regulator-sizing wizard
 *
 * The Conbix theme intentionally gives ordinary site forms large, touch-sized
 * fields and bordered table cells.  The original sizing wizard is a compact
 * engineering worksheet, so restore its 900px canvas and dense table rhythm
 * while retaining the ESPumps header and blue/white section bars.
 */
body.regulator-sizing-page .espumps-calculator-content {
  color: #000;
  font-family: "Times New Roman", Times, serif;
  font-size: 16px;
  line-height: 15px;
  padding: 20px 12px 40px;
}

body.regulator-sizing-page .espumps-calculator-content > table,
body.regulator-sizing-page .espumps-calculator-content > form > table {
  width: 900px !important;
  max-width: 900px !important;
  margin: 0 auto !important;
  background: #fff;
}

body.regulator-sizing-page .espumps-calculator-content table {
  border: 0 !important;
  border-collapse: separate !important;
  box-shadow: none !important;
  table-layout: auto !important;
}

body.regulator-sizing-page .espumps-calculator-content table[cellspacing="0"] {
  border-spacing: 0 !important;
}

body.regulator-sizing-page .espumps-calculator-content table[cellspacing="2"] {
  border-spacing: 2px !important;
}

body.regulator-sizing-page .espumps-calculator-content table[cellspacing="4"] {
  border-spacing: 4px !important;
}

body.regulator-sizing-page .espumps-calculator-content td,
body.regulator-sizing-page .espumps-calculator-content th {
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  color: inherit;
  font-family: inherit;
  font-size: inherit;
  line-height: 15px;
  vertical-align: middle;
}

body.regulator-sizing-page .espumps-calculator-content table[cellpadding="2"] > tbody > tr > td,
body.regulator-sizing-page .espumps-calculator-content table[cellpadding="2"] > tr > td {
  padding: 2px !important;
}

body.regulator-sizing-page .espumps-calculator-content table[cellpadding="4"] > tbody > tr > td,
body.regulator-sizing-page .espumps-calculator-content table[cellpadding="4"] > tr > td {
  padding: 4px !important;
}

body.regulator-sizing-page .espumps-calculator-content td[bgcolor="#FF9900"],
body.regulator-sizing-page .espumps-calculator-content td[bgcolor="#666666"],
body.regulator-sizing-page .espumps-calculator-content td[bgcolor="#3576ab"],
body.regulator-sizing-page .espumps-calculator-content td[bgcolor="#DFDFDF"][colspan] {
  padding: 3px 4px !important;
  background: #3576ab !important;
  color: #fff !important;
}

body.regulator-sizing-page .espumps-calculator-content #title {
  display: block;
  color: #fff;
  font-family: "Times New Roman", Times, serif !important;
  font-size: 24px !important;
  font-weight: 700;
  line-height: 26px;
  letter-spacing: 0;
  text-align: center;
}

body.regulator-sizing-page .espumps-calculator-content #sub_title {
  display: block;
  color: #fff;
  font-family: "Times New Roman", Times, serif !important;
  font-size: 16px;
  font-weight: 700;
  line-height: 18px;
}

body.regulator-sizing-page .espumps-calculator-content .title {
  height: 15px !important;
  padding: 0 0 0 8px !important;
}

body.regulator-sizing-page .espumps-calculator-content hr {
  height: 0;
  margin: 8px 0 12px;
  border: 0;
  border-top: 1px solid #aaa;
  opacity: 1;
}

body.regulator-sizing-page .espumps-calculator-content input[type="text"],
body.regulator-sizing-page .espumps-calculator-content input[type="number"],
body.regulator-sizing-page .espumps-calculator-content select {
  display: inline-block !important;
  width: auto !important;
  height: 22px !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 1px 4px !important;
  border: 1px solid #8f8f9d !important;
  border-radius: 2px !important;
  outline: none;
  background: #fff !important;
  box-shadow: none !important;
  color: #000 !important;
  font: 13px/18px Arial, Helvetica, sans-serif !important;
}

body.regulator-sizing-page .espumps-calculator-content input[size="10"] {
  width: 84px !important;
}

body.regulator-sizing-page .espumps-calculator-content input[size="8"] {
  width: 70px !important;
}

body.regulator-sizing-page .espumps-calculator-content input[size="6"] {
  width: 58px !important;
}

body.regulator-sizing-page .espumps-calculator-content input[type="radio"],
body.regulator-sizing-page .espumps-calculator-content input[type="checkbox"] {
  display: inline-block !important;
  width: 13px !important;
  height: 13px !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  vertical-align: middle;
  accent-color: #0b64d8;
}

body.regulator-sizing-page .espumps-calculator-content input[type="submit"],
body.regulator-sizing-page .espumps-calculator-content input[type="button"],
body.regulator-sizing-page .espumps-calculator-content button {
  display: inline-block !important;
  width: auto !important;
  height: 24px !important;
  min-height: 0 !important;
  margin: 0 2px !important;
  padding: 2px 9px !important;
  border: 1px solid #9b9b9b !important;
  border-radius: 2px !important;
  background: #f1f1f1 !important;
  box-shadow: none !important;
  color: #111 !important;
  font: 13px/18px Arial, Helvetica, sans-serif !important;
  text-transform: none !important;
}

body.regulator-sizing-page .espumps-calculator-content input[type="submit"]:hover,
body.regulator-sizing-page .espumps-calculator-content input[type="button"]:hover,
body.regulator-sizing-page .espumps-calculator-content button:hover {
  background: #e5e5e5 !important;
  color: #111 !important;
}

body.regulator-sizing-page .espumps-calculator-content img {
  height: auto;
}

body.regulator-sizing-page .espumps-calculator-content img[src*="Engineered_Solutions_logo"] {
  width: 450px;
  max-width: 50%;
}

body.regulator-sizing-page .espumps-calculator-content img[src*="RegulatorWith"] {
  max-width: 100%;
}

@media (max-width: 930px) {
  body.regulator-sizing-page .espumps-calculator-content {
    overflow-x: auto;
  }

  body.regulator-sizing-page .espumps-calculator-content > table,
  body.regulator-sizing-page .espumps-calculator-content > form > table {
    min-width: 900px !important;
  }
}


/*
 * Standalone calculators (Cv Gas/Liquid/Steam, Heating Air/Liquid/Water,
 * Steam Flow Through Orifice)
 *
 * These are legacy table-layout worksheets ported 1:1 from the old JSP pages,
 * which rendered with NO stylesheet of their own (browser defaults: Times
 * serif, left-aligned table cells, presentational align/valign/face/bgcolor
 * attributes doing the layout).  The Conbix WordPress theme loaded for the
 * shared ESPumps header breaks all of that: it centers td text, forces its
 * Manrope font onto every element (defeating <font face> attributes), blows
 * inputs up to ~60px touch controls, and left-aligns width-limited <hr>s.
 * Everything below restores browser-default rendering inside the calculator
 * content, verified against the original pages on the old Tomcat server.
 */
body.calculator-page .espumps-calculator-content {
  color: #000;
  font-family: "Times New Roman", Times, serif;
  font-size: 16px;
  line-height: 1.35;
  padding: 20px 12px 40px;
}

body.calculator-page .espumps-calculator-content table {
  border: 0 !important;
  border-collapse: separate !important;
  box-shadow: none !important;
  table-layout: auto !important;
}

/* The theme centers all td text; legacy default is left. Cells keep their
   HTML alignment where the pages ask for it: <div align="center"> wrappers
   (HeatingAir) carry their own presentational hint and still center, and
   explicit align/valign attributes are re-honored below. */
body.calculator-page .espumps-calculator-content td,
body.calculator-page .espumps-calculator-content th {
  height: auto !important;
  min-height: 0 !important;
  padding: 1px !important;      /* every calculator table is cellpadding="1" */
  border: 0 !important;
  text-align: left !important;
  vertical-align: middle;       /* legacy td default */
  font-size: 16px !important;
  line-height: 1.35 !important;
}

body.calculator-page .espumps-calculator-content td[align="center" i],
body.calculator-page .espumps-calculator-content th[align="center" i] {
  text-align: center !important;
}

body.calculator-page .espumps-calculator-content td[align="right" i] {
  text-align: right !important;
}

body.calculator-page .espumps-calculator-content td[valign="top" i] {
  vertical-align: top !important;
}

body.calculator-page .espumps-calculator-content td[valign="bottom" i] {
  vertical-align: bottom !important;
}

/* The theme forces its webfont onto every element, which defeats the legacy
   <font face="..."> attributes. Restore: Times for plain/unknown faces
   (matching the old pages' browser default), Arial where the HTML asks. */
body.calculator-page .espumps-calculator-content font {
  font-family: "Times New Roman", Times, serif !important;
}

body.calculator-page .espumps-calculator-content font[face="Arial" i] {
  font-family: Arial, Helvetica, sans-serif !important;
}

/* Legacy default link look for in-content links ("click here."). */
body.calculator-page .espumps-calculator-content a {
  color: #0000ee;
  text-decoration: underline;
}

/* ...but never for the calculator-switcher tabs or the legacy gray nav bar. */
body.calculator-page .espumps-calculator-content .calculator-switcher a,
body.calculator-page .espumps-calculator-content div[style*="background:#666666"] a {
  color: #fff;
  text-decoration: none;
}

body.calculator-page .espumps-calculator-content .calculator-switcher a.is-active,
body.calculator-page .espumps-calculator-content .calculator-switcher a.is-active:hover {
  color: #3576ab;
}

/* <hr width="777" noshade>: Bootstrap's hr margins un-center a width-limited
   rule and fade it; restore the centered solid line. */
body.calculator-page .espumps-calculator-content hr {
  height: 0;
  margin: 8px auto;
  border: 0;
  border-top: 1px solid #444;
  opacity: 1;
}

body.calculator-page .espumps-calculator-content input[type="text" i],
body.calculator-page .espumps-calculator-content input[type="number" i],
body.calculator-page .espumps-calculator-content select {
  display: inline-block !important;
  width: auto !important;
  height: 22px !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 1px 4px !important;
  border: 1px solid #8f8f9d !important;
  border-radius: 2px !important;
  outline: none;
  background: #fff !important;
  box-shadow: none !important;
  color: #000 !important;
  font: 13px/18px Arial, Helvetica, sans-serif !important;
}

body.calculator-page .espumps-calculator-content input[size="10"] {
  width: 84px !important;
}

body.calculator-page .espumps-calculator-content input[type="radio" i],
body.calculator-page .espumps-calculator-content input[type="checkbox" i] {
  display: inline-block !important;
  width: 13px !important;
  height: 13px !important;
  min-height: 0 !important;
  margin: 0 3px 0 0 !important;
  padding: 0 !important;
  vertical-align: middle;
  accent-color: #28626d;
}

body.calculator-page .espumps-calculator-content input[type="submit" i],
body.calculator-page .espumps-calculator-content input[type="button" i],
body.calculator-page .espumps-calculator-content button {
  display: inline-block !important;
  width: auto !important;
  height: 24px !important;
  min-height: 0 !important;
  margin: 0 2px !important;
  padding: 2px 10px !important;
  border: 1px solid transparent !important;
  border-radius: 3px !important;
  box-shadow: none !important;
  font: 13px/18px Arial, Helvetica, sans-serif !important;
  text-transform: none !important;
  cursor: pointer;
}

body.calculator-page .espumps-calculator-content input[type="submit" i] {
  background: #28626d !important;
  color: #fff !important;
}

body.calculator-page .espumps-calculator-content input[type="submit" i]:hover {
  background: #006c7f !important;
  color: #fff !important;
}

body.calculator-page .espumps-calculator-content input[type="button" i],
body.calculator-page .espumps-calculator-content button {
  background: #f1f1f1 !important;
  border-color: #9b9b9b !important;
  color: #111 !important;
}

body.calculator-page .espumps-calculator-content input[type="button" i]:hover,
body.calculator-page .espumps-calculator-content button:hover {
  background: #e5e5e5 !important;
  color: #111 !important;
}

body.calculator-page .espumps-calculator-content img {
  height: auto;
  max-width: 100%;
}

/* SteamFlowThroughOrifice has its own responsive flex layout with an inline
   stylesheet that intentionally centers everything - let it win. */
body.orifice-page .espumps-calculator-content td,
body.orifice-page .espumps-calculator-content th {
  text-align: center !important;
}

body.orifice-page .espumps-calculator-content .container,
body.orifice-page .espumps-calculator-content .column {
  font-family: Arial, Helvetica, sans-serif;
}

/* Regulator wizard: long labels that must stay on one line. */
body.regulator-sizing-page .espumps-calculator-content .rs-nowrap,
body.regulator-sizing-page .espumps-calculator-content .rs-nowrap font {
  white-space: nowrap;
}
