.nws-weather-forecast {
  text-align: center;
  line-height: normal;
}
.nws-weather-period .symbols {
  position: relative;
  width: 100px;
  height: 55px;
  margin: 0 auto;
}
.nws-weather-period {
  position: relative;
  box-sizing: content-box;
  width: 190px;
  min-height: 115px;
  margin: 10px;
  padding: 10px;
  border: thin solid gray;
}
.nws-weather-period .period-name {
  margin: 0 0 2px 0;
  padding: 0;
  font-weight: bold;
}
.nws-weather-image.icon {
  display: block;
  margin: 0 auto;
}
.symbols .nws-weather-image.icon {
  width: 55px;
  height: auto;
}
.nws-weather-image.first-icon {
  position: absolute;
  left: 15px;
}
.nws-weather-image.last-icon {
  position: absolute;
  top: 15px;
  right: 15px;
}
.nws-weather-outlook {
  display: none;
  flex-wrap: wrap;
  width: fit-content;
  margin: 0 auto;
}
@media screen and (min-width: 1060px) {
  .nws-weather-outlook {
    display: flex;
  }
}
.nws-weather-forecast-page .nws-weather-period .period-name {
  font-size: 1.5rem;
}
.nws-weather-forecast-page .nws-weather-period {
  flex-basis: 75px;
  flex-grow: 0;
  flex-shrink: 0;
  margin: 3px;
}
.nws-weather-forecast-page .nws-weather-period {
  width: 75px;
}
.nws-weather-forecast-page .nws-weather-period .symbols {
  width: unset;
}
.nws-weather-forecast-page .nws-weather-image.first-icon {
  left: 5px;
}
.nws-weather-forecast-page .nws-weather-image.last-icon {
  right: 5px;
}
.nws-weather-forecast-page .nws-weather-prcp {
  padding: 0.5rem;
  font-size: 1.4rem;
  font-weight: bold;
}
.nws-weather-forecast-page .nws-weather-prcp .element-value {
  position: relative;
  left: 3px;
}
.nws-weather-forecast-page .nws-weather-prcp .element-unit {
  position: relative;
  right: 3px;
}
.nws-weather-forecast-page .nws-weather-temperature .element-value {
  position: relative;
  left: 3px;
  font-size: 1.3rem;
}
.nws-weather-forecast-page .nws-weather-temperature .element-unit {
  position: relative;
  top: -7px;
  right: 3px;
  font-size: 0.75rem;
}
.nws-weather-hourly {
  margin-top: 50px;
  text-align: left;
}
.nws-weather-hour-period {
  margin-bottom: 1em;
}
.hour-icon {
  display: inline;
  width: 1.5em;
  height: auto;
  vertical-align: text-bottom;
}
.nws-weather-hourly .period-date {
  font-size: 1.2em;
  font-weight: bold;
}
.nws-weather-hourly .hour-row {
  margin-bottom: 0.25em;
  padding: 0 7px;
  border-bottom: solid thin black;
}
.nws-weather-hour-period {
  margin-bottom: 1rem;
}
.nws-weather-hourly .nws-weather-element {
  display: inline-block;
}
.nws-weather-hourly .element-degree {
  position: relative;
  top: -6px;
  left: -6px;
  font-size: 0.6em;
}
.nws-weather-hourly .element-unit {
  position: relative;
  left: -4px;
}
.nws-weather-hourly .hour-name {
  display: inline-block;
  width: 5ch;
  text-align: right;
}
.nws-weather-hourly .symbols {
  display: inline-grid;
  max-height: 25px;
}
.hour-icon.first-icon {
  position: relative;
  top: -5px;
  right: 10px;
}
.hour-icon.last-icon {
  position: relative;
  bottom: 20px;
  left: 4px;
}
.nws_weather-link,
.nws_weather-link:visited,
.nws_weather-link:active,
.nws_weather-link:hover,
.nws_weather-link:focus {
  text-decoration: none;
  color: inherit;
}
.nws-weather-solar {
  text-align: left;
  font-weight: bold;
}
@media screen and (min-width: 1060px) {
  .nws-weather-solar {
    text-align: center;
  }
}
