 .weather-text-red {
     color: #b00000;
 }

 .weather-text-blue {
     color: #0645AD;
 }
 
 .weather-bg-blue {
     background-color: #DFF6FF;
 }
 
 .weather-text-brown {
     color: #8b4513;
 }
 
 .weather-text-aqua {
     color: #00838f;
 }
 
 .simpleTableFixed {
     table-layout: fixed;
 }
 
 .simpleTableBorders {
     color: black;
 }

 .simpleTableBorders th, .secondary-th {
     font-weight: bold;
     text-align: center;
     background-color: #ededed;
     color: black;
     vertical-align: top;
 }

 .simpleTableBorders tr:has(th.average) > th,
 .simpleTableBorders tr:has(th.average) > td {
    background-color: #fff9c4;
    vertical-align: top;
 }

 .simpleTableBorders caption {
     font-size: 1.2rem;
 }

 .tableOverflowWrapper table {
     overflow-x: auto;
     margin-left: auto;
     margin-right: auto;
 }
 
 .tableOverflowWrapper {
     margin-left: auto;
     margin-right: auto;
 }

 .meteorology-program-banner {
     text-align: center;
     margin: 2rem auto;
     padding: 1.5rem 2rem;
     max-width: 600px;
     background: #ededed;
     border: 1px solid #c3c3ae;
     border-radius: 8px;
     font-size: 1.3rem;
     font-weight: 600;
     font-style: italic;
 }

 .glossary {
     width: 100%;
     box-sizing: border-box;
     border: 1px solid #222;
     padding: 0.25rem;
     background: #fff;
 }

 .glossary-grid {
     list-style: none;
     margin: 0;
     padding: 0;
     display: grid;
     grid-template-columns: repeat(26, 1fr);
     gap: 0;
 }

 .glossary-grid>li {
     display: flex;
     align-items: center;
     justify-content: center;
     padding: 0.5rem 0.25rem;
     box-sizing: border-box;
     border-right: 1px solid #ddd;
     border-left: 1px solid transparent;
     min-width: 2ch;
     font-size: 1.4rem;
 }

 .glossary-grid>li:last-child {
     border-right: 1px solid transparent;
 }

 .glossary-grid a,
 .glossary-grid span {
     min-width: 1ch;
     display: inline-block;
     text-align: center;
     width: 100%;
     padding: 0.125rem 0;
 }

 .glossary-grid a {
     font-weight: 700;
 }

 .glossary-grid span {
     font-weight: 400;
 }

 .glossary-other {
     width: 100%;
     margin-top: 0.25rem;
     text-align: center;
     padding: 0.5rem 0;
     border-top: 1px solid #222;
     background: #fafafa;
 }

 .glossary-other a {
     font-weight: 700;
 }

 @media (max-width: 900px) {
     .glossary-grid {
         grid-template-columns: repeat(auto-fit, minmax(36px, 1fr));
     }
 }

 @media (max-width: 420px) {
     .glossary-grid>li {
         padding: 0.4rem 0.15rem;
     }
 }