/* Shared structural styles. Campaign artwork remains in the page stylesheets. */
*, *::before, *::after { box-sizing: border-box; }
body { margin: 0; font-weight: 400; line-height: 1.5; color: #212529; }
h1, h2, h3, h4, h5, h6 { margin-top: 0; }
h1 { font-size: 2.5rem; } h2 { font-size: 2rem; }
p { margin-top: 0; } a { color: #0d6efd; text-decoration: none; }
button, input, select, textarea { font: inherit; } button { cursor: pointer; }
button { text-transform: none; } img, svg { vertical-align: middle; }
small { font-size: .875em; } ul { margin-top: 0; }
button:focus-visible, a:focus-visible { outline: 3px solid #0f67e1; outline-offset: 4px; }
.site-container { width: 100%; max-width: 1200px; margin-inline: auto; padding-inline: 12px; }
.site-fluid { width: 100%; padding-inline: 12px; }
.navbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; padding: .5rem 0; }
.navbar > .site-fluid { display: flex; flex-wrap: inherit; align-items: center; justify-content: space-between; }
.navbar-brand { display: inline-block; padding-block: .3125rem; margin-right: 1rem; font-size: 1.25rem; white-space: nowrap; }
.navbar-nav { display: flex; flex-direction: column; padding-left: 0; margin-bottom: 0; list-style: none; }
.nav-link { display: block; padding: .5rem 1rem; color: #0d6efd; }
.navbar-light .nav-link { color: rgba(0,0,0,.55); }
.navbar-toggler { padding: .25rem .75rem; font-size: 1.25rem; line-height: 1; background: transparent; border: 1px solid rgba(0,0,0,.1); border-radius: .25rem; color: rgba(0,0,0,.55); }
.navbar-toggler-icon { display: inline-block; width: 1.5em; height: 1.5em; background: linear-gradient(currentColor,currentColor) center 25%/24px 2px no-repeat,linear-gradient(currentColor,currentColor) center/24px 2px no-repeat,linear-gradient(currentColor,currentColor) center 75%/24px 2px no-repeat; }
.navbar-collapse { flex-basis: 100%; flex-grow: 1; align-items: center; }
.collapse:not(.show) { display: none; }
.nav { display: flex; flex-wrap: wrap; padding-left: 0; margin-bottom: 0; list-style: none; }
.nav-link { border: 0; background: none; }
.nav-pills .nav-link { border-radius: .25rem; }
.tab-content > .tab-pane:not(.active) { display: none !important; }
.fade:not(.show) { opacity: 0; }
.accordion-button { position: relative; display: flex; align-items: center; width: 100%; padding: 1rem 1.25rem; text-align: left; background: #fff; border: 0; border-radius: 0; color: #212529; }
.accordion-button::after { content: ''; flex-shrink: 0; width: 1.25rem; height: 1.25rem; margin-left: auto; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23212529' stroke-width='1.5' d='m2 5 6 6 6-6'/%3E%3C/svg%3E") center/contain no-repeat; }
.accordion-button:not(.collapsed)::after { transform: rotate(180deg); }
.accordion-header { margin-bottom: 0; }
.accordion-item { background: #fff; border: 1px solid rgba(0,0,0,.125); }
.accordion-body { padding: 1rem 1.25rem; }
@media (min-width: 992px) {
  .navbar-expand-lg { flex-wrap: nowrap; }
  .navbar-expand-lg .navbar-nav { flex-direction: row; }
  .navbar-expand-lg .navbar-collapse { display: flex !important; flex-basis: auto; }
  .navbar-expand-lg .navbar-toggler { display: none; }
  .navbar-expand-lg .navbar-nav .nav-link { padding-inline: .5rem; }
}
.top-50 { top: 50% !important; }
.start-50 { left: 50% !important; }
.translate-middle { transform: translate(-50%, -50%) !important; }
.translate-middle-y { transform: translateY(-50%) !important; }
.tw-absolute { position: absolute !important; }
