/* Mobile foundation: retain current sizing and utility semantics.
   Load before layout/components/site styles. Typography retains existing root sizes and used heading defaults. */
html { box-sizing: border-box; }
*, *::before, *::after { box-sizing: inherit; }
body { margin: 0; }
img { border-style: none; }
/* Match the existing left-only reset; do not change RTL list indentation here. */
ul:not(.browser-default) { padding-left: 0; list-style-type: none; }
ul:not(.browser-default) > li { list-style-type: none; }
a { background-color: transparent; color: #039be5; text-decoration: none; -webkit-tap-highlight-color: transparent; }
.left { float: left !important; }
.right { float: right !important; }
.right-align { text-align: right; }
.center, .center-align { text-align: center; }

/* Preserve rem geometry and inherited type before site/page overrides. */
html {
  font-size: 14px;
  line-height: 1.5;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
  font-weight: normal;
  color: rgba(0,0,0,.87);
}
@media only screen and (min-width: 992px) { html { font-size: 14.5px; } }
@media only screen and (min-width: 1200px) { html { font-size: 15px; } }
h1, h2, h3, h4, h5 { font-weight: 400; line-height: 110%; }
h1 a, h2 a, h3 a, h4 a, h5 a { font-weight: inherit; }
h1 { font-size: 4.2rem; margin: 2.8rem 0 1.68rem; }
h2 { font-size: 3.56rem; margin: 2.3733333333rem 0 1.424rem; }
h3 { font-size: 2.92rem; margin: 1.9466666667rem 0 1.168rem; }
h4 { font-size: 2.28rem; margin: 1.52rem 0 .912rem; }
h5 { font-size: 1.64rem; margin: 1.0933333333rem 0 .656rem; }
b { font-weight: bolder; }
strong { font-weight: 500; }
small { font-size: 75%; }

/* Form normalization still inherited by live inputs and fieldsets.
   Component rules later in the cascade keep their explicit fonts and sizes. */
button, input, optgroup, select, textarea {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
  font-size: 100%;
  line-height: 1.15;
  margin: 0;
}
button, input { overflow: visible; }
button, select { text-transform: none; }
fieldset { padding: .35em .75em .625em; }
textarea { overflow: auto; }
label { font-size: .8rem; color: #9e9e9e; }

/* Forecast/car and sea tables: retain the remaining vendor cell defaults.
   style.css owns collapsed borders and RTL alignment; hourly/sea overrides
   retain their own padding. Do not duplicate those page rules here. */
table { width: 100%; }
td, th {
  padding: 15px 5px;
  vertical-align: middle;
  border-radius: 2px;
}