/* Site-owned base styles and the small layout vocabulary used by this website. */
html { line-height: 1.15; -webkit-text-size-adjust: 100%; -webkit-tap-highlight-color: transparent; }
*, *::before, *::after { box-sizing: border-box; }
body { margin: 0; font-weight: 400; line-height: 1.5; }
h1, h2, h3, h4, h5, h6 { font-family: inherit; font-weight: 500; line-height: 1.2; color: inherit; }
h4 { font-size: 1.5rem; } h5 { font-size: 1.25rem; } h6 { font-size: 1rem; }
p, ul, ol { margin-top: 0; margin-bottom: 1rem; }
ul ul, ul ol, ol ul, ol ol { margin-bottom: 0; }
b, strong { font-weight: bolder; }
a { color: #007bff; text-decoration: none; background-color: transparent; }
a:hover { color: #0056b3; text-decoration: underline; }
img { vertical-align: middle; border: 0; }
hr { box-sizing: content-box; overflow: visible; }
table { border-collapse: collapse; }
th { text-align: inherit; }
label { display: inline-block; margin-bottom: .5rem; }
button, select, input, textarea { margin: 0; font: inherit; }
button, select { text-transform: none; }
.layout-container { width: 100%; margin-inline: auto; padding-inline: 15px; }
.layout-row { display: flex; flex-wrap: wrap; margin-inline: -15px; }
.column-quarter, .column-three-quarters, .column-sm-quarter, .column-sm-three-quarters { position: relative; width: 100%; min-height: 1px; padding-inline: 15px; }
.column-quarter { flex: 0 0 25%; max-width: 25%; }
.column-three-quarters { flex: 0 0 75%; max-width: 75%; }
.outline-border { border: 1px solid #dee2e6 !important; }
.clearfix::after { display: block; clear: both; content: ''; }
.sort-control { position: relative; }
.sort-select { display: inline-block; padding: .375rem .75rem; border: 1px solid #6c757d; border-radius: .25rem; color: #fff; background: #6c757d; font-size: 1rem; font-weight: 400; line-height: 1.5; vertical-align: middle; text-align: center; white-space: nowrap; cursor: pointer; }
.sort-select:hover { background: #5a6268; border-color: #545b62; }
.sort-select:focus-visible { outline: 2px solid #fff; box-shadow: 0 0 0 .2rem rgba(108,117,125,.5); }
@media (min-width: 576px) {
  .layout-container { max-width: 540px; }
  .column-sm-quarter { flex: 0 0 25%; max-width: 25%; }
  .column-sm-three-quarters { flex: 0 0 75%; max-width: 75%; }
}
@media (min-width: 768px) { .layout-container { max-width: 720px; } }
@media (min-width: 992px) { .layout-container { max-width: 960px; } }
@media (min-width: 1200px) { .layout-container { max-width: 1140px; } }
