/* ==========================================================================
   4Search — app.css
   Single consolidated stylesheet. Replaces: CDN Google Fonts, CDN Font Awesome,
   228KB Bootstrap CSS, and a 1,500-line inline <style> block.

   Order matters:
     1) Fonts (self-hosted Inter, 3 weights)
     2) Reset / reboot
     3) Bootstrap-compat layer (only the ~196 classes actually used)
     4) Icon (.ico) + share popover
     5) Site design system (migrated verbatim from the old inline <style>)
   The design-system section comes last so its overrides win, exactly as when
   Bootstrap loaded first and the inline <style> overrode it.
   ========================================================================== */

/* ---------------------------------------------------------------- 1. FONTS */
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/Inter/inter-v20-latin-regular.woff2") format("woff2");
}
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("fonts/Inter/inter-v20-latin-600.woff2") format("woff2");
}
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("fonts/Inter/inter-v20-latin-700.woff2") format("woff2");
}

/* --------------------------------------------------------------- 2. RESET */
:root {
  --bs-body-color: #0e1116;
  --bs-body-bg: #ffffff;
  --bs-secondary-color: rgba(14,17,22,.6);
  --bs-primary: #0d6efd;
  --bs-primary-rgb: 13,110,253;
  --bs-secondary: #6c757d;
  --bs-success: #198754;
  --bs-danger: #dc3545;
  --bs-warning: #ffc107;
  --bs-info: #0dcaf0;
  --bs-light: #f8f9fa;
  --bs-dark: #212529;
  --bs-border-color: #dee2e6;
}

*, *::before, *::after { box-sizing: border-box; }

p { margin-top: 0; margin-bottom: 1rem; }
ul, ol { margin-top: 0; margin-bottom: 1rem; }
button, input, optgroup, select, textarea { font-family: inherit; font-size: 100%; line-height: 1.5; margin: 0; }
button, [type="button"], [type="submit"], [type="reset"] { -webkit-appearance: button; }
button:not(:disabled) { cursor: pointer; }
img, svg { vertical-align: middle; }
img { max-width: 100%; }
address { font-style: normal; line-height: inherit; margin-bottom: 1rem; }
[hidden] { display: none !important; }

/* ------------------------------------------------ 3. BOOTSTRAP-COMPAT LAYER */

/* Containers */
.container, .container-fluid, .container-lg {
  width: 100%;
  padding-right: .75rem;
  padding-left: .75rem;
  margin-right: auto;
  margin-left: auto;
}
@media (min-width: 576px) { .container { max-width: 540px; } }
@media (min-width: 768px) { .container { max-width: 720px; } }
@media (min-width: 992px) { .container, .container-lg { max-width: 960px; } }
@media (min-width: 1200px) { .container, .container-lg { max-width: 1140px; } }
@media (min-width: 1400px) { .container, .container-lg { max-width: 1320px; } }

/* Grid */
.row {
  --gx: 1.5rem;
  --gy: 0;
  display: flex;
  flex-wrap: wrap;
  margin-top: calc(-1 * var(--gy));
  margin-right: calc(-.5 * var(--gx));
  margin-left: calc(-.5 * var(--gx));
}
.row > * {
  flex-shrink: 0;
  width: 100%;
  max-width: 100%;
  padding-right: calc(var(--gx) * .5);
  padding-left: calc(var(--gx) * .5);
  margin-top: var(--gy);
}
.g-0, .gx-0 { --gx: 0; }
.g-0 { --gy: 0; }

.col { flex: 1 0 0%; }
.col-auto { flex: 0 0 auto; width: auto; }
.col-1  { flex: 0 0 auto; width: 8.33333333%; }
.col-2  { flex: 0 0 auto; width: 16.66666667%; }
.col-3  { flex: 0 0 auto; width: 25%; }
.col-4  { flex: 0 0 auto; width: 33.33333333%; }
.col-5  { flex: 0 0 auto; width: 41.66666667%; }
.col-6  { flex: 0 0 auto; width: 50%; }
.col-7  { flex: 0 0 auto; width: 58.33333333%; }
.col-8  { flex: 0 0 auto; width: 66.66666667%; }
.col-9  { flex: 0 0 auto; width: 75%; }
.col-10 { flex: 0 0 auto; width: 83.33333333%; }
.col-11 { flex: 0 0 auto; width: 91.66666667%; }
.col-12 { flex: 0 0 auto; width: 100%; }

@media (min-width: 576px) {
  .col-sm-1{flex:0 0 auto;width:8.33333333%}.col-sm-2{flex:0 0 auto;width:16.66666667%}
  .col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.33333333%}
  .col-sm-5{flex:0 0 auto;width:41.66666667%}.col-sm-6{flex:0 0 auto;width:50%}
  .col-sm-7{flex:0 0 auto;width:58.33333333%}.col-sm-8{flex:0 0 auto;width:66.66666667%}
  .col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.33333333%}
  .col-sm-11{flex:0 0 auto;width:91.66666667%}.col-sm-12{flex:0 0 auto;width:100%}
  .order-sm-2{order:2}
}
@media (min-width: 768px) {
  .col-md-1{flex:0 0 auto;width:8.33333333%}.col-md-2{flex:0 0 auto;width:16.66666667%}
  .col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.33333333%}
  .col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-6{flex:0 0 auto;width:50%}
  .col-md-7{flex:0 0 auto;width:58.33333333%}.col-md-8{flex:0 0 auto;width:66.66666667%}
  .col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.33333333%}
  .col-md-11{flex:0 0 auto;width:91.66666667%}.col-md-12{flex:0 0 auto;width:100%}
  .order-md-1{order:1}.order-md-2{order:2}
  .mb-lg-0{}
}
@media (min-width: 992px) {
  .col-lg-1{flex:0 0 auto;width:8.33333333%}.col-lg-2{flex:0 0 auto;width:16.66666667%}
  .col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333333%}
  .col-lg-5{flex:0 0 auto;width:41.66666667%}.col-lg-6{flex:0 0 auto;width:50%}
  .col-lg-7{flex:0 0 auto;width:58.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}
  .col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.33333333%}
  .col-lg-11{flex:0 0 auto;width:91.66666667%}.col-lg-12{flex:0 0 auto;width:100%}
  .d-lg-none{display:none !important}
  .mb-lg-0{margin-bottom:0 !important}
}
@media (min-width: 1200px) {
  .col-xl-1{flex:0 0 auto;width:8.33333333%}.col-xl-2{flex:0 0 auto;width:16.66666667%}
  .col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.33333333%}
  .col-xl-5{flex:0 0 auto;width:41.66666667%}.col-xl-6{flex:0 0 auto;width:50%}
  .col-xl-7{flex:0 0 auto;width:58.33333333%}.col-xl-8{flex:0 0 auto;width:66.66666667%}
  .col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.33333333%}
  .col-xl-11{flex:0 0 auto;width:91.66666667%}.col-xl-12{flex:0 0 auto;width:100%}
}
.order-1 { order: 1; }
.order-2 { order: 2; }
.order-3 { order: 3; }

/* Display */
.d-none { display: none !important; }
.d-block { display: block !important; }
.d-flex { display: flex !important; }
.d-inline-flex { display: inline-flex !important; }
.d-grid { display: grid !important; }

/* Flex */
.flex-row { flex-direction: row !important; }
.flex-column { flex-direction: column !important; }
.flex-wrap { flex-wrap: wrap !important; }
.flex-grow-1 { flex-grow: 1 !important; }
.flex-shrink-0 { flex-shrink: 0 !important; }
.justify-content-center { justify-content: center !important; }
.justify-content-end { justify-content: flex-end !important; }
.justify-content-between { justify-content: space-between !important; }
.justify-content-evenly { justify-content: space-evenly !important; }
.align-items-start { align-items: flex-start !important; }
.align-items-center { align-items: center !important; }
.align-items-end { align-items: flex-end !important; }
.align-items-baseline { align-items: baseline !important; }
.align-items-stretch { align-items: stretch !important; }
.gap-1 { gap: .25rem !important; }
.gap-2 { gap: .5rem !important; }
.gap-3 { gap: 1rem !important; }

/* Sizing / position */
.w-100 { width: 100% !important; }
.h-100 { height: 100% !important; }
.position-relative { position: relative !important; }
.float-end { float: right !important; }
.sticky-top { position: sticky; top: 0; z-index: 1020; }

/* Spacing (0=.0 1=.25 2=.5 3=1 4=1.5 5=3 6=4.5rem) */
.m-0{margin:0 !important}.m-1{margin:.25rem !important}.m-2{margin:.5rem !important}.m-3{margin:1rem !important}
.mt-0{margin-top:0 !important}.mt-1{margin-top:.25rem !important}.mt-2{margin-top:.5rem !important}.mt-3{margin-top:1rem !important}.mt-4{margin-top:1.5rem !important}
.mb-0{margin-bottom:0 !important}.mb-1{margin-bottom:.25rem !important}.mb-2{margin-bottom:.5rem !important}.mb-3{margin-bottom:1rem !important}.mb-4{margin-bottom:1.5rem !important}.mb-6{margin-bottom:4.5rem !important}
.ms-1{margin-left:.25rem !important}.ms-2{margin-left:.5rem !important}.ms-3{margin-left:1rem !important}
.me-0{margin-right:0 !important}.me-1{margin-right:.25rem !important}.me-2{margin-right:.5rem !important}.me-3{margin-right:1rem !important}
.mx-0{margin-right:0 !important;margin-left:0 !important}.mx-1{margin-right:.25rem !important;margin-left:.25rem !important}
.my-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}
.p-0{padding:0 !important}.p-1{padding:.25rem !important}.p-2{padding:.5rem !important}.p-3{padding:1rem !important}
.pt-0{padding-top:0 !important}.pt-2{padding-top:.5rem !important}.pt-4{padding-top:1.5rem !important}
.pb-0{padding-bottom:0 !important}.pb-1{padding-bottom:.25rem !important}.pb-2{padding-bottom:.5rem !important}.pb-3{padding-bottom:1rem !important}
.ps-3{padding-left:1rem !important}
.px-3{padding-right:1rem !important;padding-left:1rem !important}
.py-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}

/* Text */
.text-center { text-align: center !important; }
.text-white { color: #fff !important; }
.text-muted, .text-body-secondary { color: #6c757d !important; }
.text-reset { color: inherit !important; }
.text-success { color: #198754 !important; }
.text-warning { color: #ffc107 !important; }
.text-uppercase { text-transform: uppercase !important; }
.text-decoration-none { text-decoration: none !important; }
.text-decoration-line-through { text-decoration: line-through !important; }
.fw-bold { font-weight: 700 !important; }
.fw-semibold { font-weight: 600 !important; }
.fs-4 { font-size: 1.5rem !important; }
.small { font-size: .875em; }
.link-underline { text-decoration: underline !important; }
.link-underline-opacity-0 { text-decoration-color: transparent !important; }

/* Backgrounds */
.bg-dark { background-color: #212529 !important; }
.bg-white { background-color: #fff !important; }
.bg-transparent { background-color: transparent !important; }
.bg-danger { background-color: #dc3545 !important; }
.bg-success { background-color: #198754 !important; }
.bg-warning { background-color: #ffc107 !important; }
.bg-opacity-10 { --bg-opacity: .1; }
.text-bg-secondary { color: #fff !important; background-color: #6c757d !important; }
.text-bg-danger { color: #fff !important; background-color: #dc3545 !important; }
.text-bg-light { color: #000 !important; background-color: #f8f9fa !important; }

/* Borders / radius / shadow */
.border { border: 1px solid #dee2e6 !important; }
.border-bottom { border-bottom: 1px solid #dee2e6 !important; }
.border-danger { border-color: #dc3545 !important; }
.border-success { border-color: #198754 !important; }
.rounded-3 { border-radius: .5rem !important; }
.shadow-sm { box-shadow: 0 .125rem .25rem rgba(0,0,0,.075) !important; }
.shadow-lg { box-shadow: 0 1rem 3rem rgba(0,0,0,.175) !important; }

/* Misc */
.img-fluid { max-width: 100%; height: auto; }
.visually-hidden {
  position: absolute !important; width: 1px !important; height: 1px !important;
  padding: 0 !important; margin: -1px !important; overflow: hidden !important;
  clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important;
}

/* Buttons (variable-driven so .btn-secondary--search etc. keep working) */
.btn {
  --bs-btn-padding-x: .75rem; --bs-btn-padding-y: .375rem; --bs-btn-font-size: 1rem;
  --bs-btn-font-weight: 400; --bs-btn-line-height: 1.5; --bs-btn-color: #212529;
  --bs-btn-bg: transparent; --bs-btn-border-width: 1px; --bs-btn-border-color: transparent;
  --bs-btn-border-radius: .375rem;
  display: inline-block; padding: var(--bs-btn-padding-y) var(--bs-btn-padding-x);
  font-family: inherit; font-size: var(--bs-btn-font-size); font-weight: var(--bs-btn-font-weight);
  line-height: var(--bs-btn-line-height); color: var(--bs-btn-color); text-align: center;
  text-decoration: none; vertical-align: middle; cursor: pointer; user-select: none;
  background-color: var(--bs-btn-bg);
  border: var(--bs-btn-border-width) solid var(--bs-btn-border-color);
  border-radius: var(--bs-btn-border-radius);
  transition: color .15s ease, background-color .15s ease, border-color .15s ease, box-shadow .15s ease;
}
.btn:hover {
  color: var(--bs-btn-hover-color, var(--bs-btn-color));
  background-color: var(--bs-btn-hover-bg, var(--bs-btn-bg));
  border-color: var(--bs-btn-hover-border-color, var(--bs-btn-border-color));
}
.btn:focus-visible { outline: 0; box-shadow: 0 0 0 .25rem rgba(13,110,253,.25); }
.btn:disabled, .btn.disabled { opacity: .65; pointer-events: none; }
.btn-sm { --bs-btn-padding-y: .25rem; --bs-btn-padding-x: .5rem; --bs-btn-font-size: .875rem; --bs-btn-border-radius: .25rem; }
.btn-lg { --bs-btn-padding-y: .5rem; --bs-btn-padding-x: 1rem; --bs-btn-font-size: 1.25rem; --bs-btn-border-radius: .5rem; }
.btn-primary { --bs-btn-color:#fff; --bs-btn-bg:#0d6efd; --bs-btn-border-color:#0d6efd; --bs-btn-hover-color:#fff; --bs-btn-hover-bg:#0b5ed7; --bs-btn-hover-border-color:#0a58ca; }
.btn-secondary { --bs-btn-color:#fff; --bs-btn-bg:#6c757d; --bs-btn-border-color:#6c757d; --bs-btn-hover-color:#fff; --bs-btn-hover-bg:#5c636a; --bs-btn-hover-border-color:#565e64; }
.btn-warning { --bs-btn-color:#000; --bs-btn-bg:#ffc107; --bs-btn-border-color:#ffc107; --bs-btn-hover-color:#000; --bs-btn-hover-bg:#ffca2c; --bs-btn-hover-border-color:#ffc720; }
.btn-light { --bs-btn-color:#000; --bs-btn-bg:#f8f9fa; --bs-btn-border-color:#f8f9fa; --bs-btn-hover-color:#000; --bs-btn-hover-bg:#d3d4d5; --bs-btn-hover-border-color:#c6c7c8; }
.btn-outline-primary { --bs-btn-color:#0d6efd; --bs-btn-border-color:#0d6efd; --bs-btn-hover-color:#fff; --bs-btn-hover-bg:#0d6efd; --bs-btn-hover-border-color:#0d6efd; }
.btn-outline-secondary { --bs-btn-color:#6c757d; --bs-btn-border-color:#6c757d; --bs-btn-hover-color:#fff; --bs-btn-hover-bg:#6c757d; --bs-btn-hover-border-color:#6c757d; }
.btn-outline-light { --bs-btn-color:#f8f9fa; --bs-btn-border-color:#f8f9fa; --bs-btn-hover-color:#000; --bs-btn-hover-bg:#f8f9fa; --bs-btn-hover-border-color:#f8f9fa; }
.btn-outline-dark { --bs-btn-color:#212529; --bs-btn-border-color:#212529; --bs-btn-hover-color:#fff; --bs-btn-hover-bg:#212529; --bs-btn-hover-border-color:#212529; }
.btn-link {
  --bs-btn-color:#0d6efd; --bs-btn-hover-color:#0a58ca; --bs-btn-border-color:transparent;
  text-decoration: underline; font-weight: 400;
}
.btn-link:hover { text-decoration: underline; }
.btn-close {
  box-sizing: content-box; width: 1em; height: 1em; padding: .25em; border: 0;
  border-radius: .375rem; background: transparent; opacity: .5; cursor: pointer;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3E%3C/svg%3E") center/1em no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3E%3C/svg%3E") center/1em no-repeat;
  background-color: currentColor;
}
.btn-close:hover { opacity: .75; }

/* Dropdowns */
.dropdown { position: relative; }
.dropdown-toggle::after {
  display: inline-block; margin-left: .255em; vertical-align: .255em; content: "";
  border-top: .3em solid; border-right: .3em solid transparent;
  border-bottom: 0; border-left: .3em solid transparent;
}
.dropdown-toggle.no-arrow::after, .no-arrow::after { display: none; }
.dropdown-menu {
  position: absolute; z-index: 1000; display: none; min-width: 10rem; padding: .5rem 0;
  margin: 0; font-size: 1rem; color: #212529; text-align: left; list-style: none;
  background-color: #fff; background-clip: padding-box;
  border: 1px solid rgba(0,0,0,.15); border-radius: .375rem;
}
.dropdown-menu.show { display: block; }
.dropdown-menu-end { right: 0; left: auto; }
.dropdown-item {
  display: block; width: 100%; padding: .25rem 1rem; clear: both; font-weight: 400;
  color: #212529; text-align: inherit; text-decoration: none; white-space: nowrap;
  background: transparent; border: 0; cursor: pointer;
}
.dropdown-item:hover, .dropdown-item:focus { background-color: #e9ecef; color: #1e2125; }
.dropdown-divider { height: 0; margin: .5rem 0; overflow: hidden; border-top: 1px solid rgba(0,0,0,.15); }

/* Nav / tabs */
.nav { display: flex; flex-wrap: wrap; padding-left: 0; margin-bottom: 0; list-style: none; }
.nav-item {}
.nav-link {
  display: block; padding: .5rem 1rem; color: #0d6efd; text-decoration: none;
  background: none; border: 0; transition: color .15s ease;
}
.nav-link:hover { color: #0a58ca; }
.nav-tabs { border-bottom: 1px solid #dee2e6; }
.nav-underline { gap: 1rem; }
.nav-underline .nav-link { padding: .25rem 0; border-bottom: 2px solid transparent; }
.nav-underline .nav-link.active { font-weight: 600; border-bottom-color: currentColor; }

/* Navbar (minimal — used only on logo bar) */
.navbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; }
.navbar-expand-lg { flex-wrap: nowrap; }

/* Card */
.card {
  position: relative; display: flex; flex-direction: column; min-width: 0;
  word-wrap: break-word; background-color: #fff; background-clip: border-box;
  border: 1px solid rgba(0,0,0,.175); border-radius: .375rem;
}
.card-body { flex: 1 1 auto; padding: 1rem; }
.card-title { margin-bottom: .5rem; }

/* Badge */
.badge {
  display: inline-block; padding: .35em .65em; font-size: .75em; font-weight: 700;
  line-height: 1; color: #fff; text-align: center; white-space: nowrap;
  vertical-align: baseline; border-radius: .375rem;
}

/* Breadcrumb */
.breadcrumb { display: flex; flex-wrap: wrap; padding: 0; margin: 0; list-style: none; }
.breadcrumb-item + .breadcrumb-item { padding-left: .5rem; }
.breadcrumb-item + .breadcrumb-item::before { float: left; padding-right: .5rem; color: #6c757d; content: "/"; }

/* Forms */
.form-control {
  display: block; width: 100%; padding: .375rem .75rem; font-size: 1rem;
  font-weight: 400; line-height: 1.5; color: #212529; background-color: #fff;
  background-clip: padding-box; border: 1px solid #ced4da; border-radius: .375rem;
  transition: border-color .15s ease, box-shadow .15s ease; appearance: none;
}
.form-control:focus { border-color: #86b7fe; outline: 0; box-shadow: 0 0 0 .25rem rgba(13,110,253,.25); }
.form-control-lg { padding: .5rem 1rem; font-size: 1.25rem; border-radius: .5rem; }
.form-select {
  display: block; width: 100%; padding: .375rem 2.25rem .375rem .75rem; font-size: 1rem;
  line-height: 1.5; color: #212529; background-color: #fff;
  border: 1px solid #ced4da; border-radius: .375rem; appearance: none;
}
.form-check { display: block; min-height: 1.5rem; padding-left: 1.5em; margin-bottom: .125rem; }
.form-check-input {
  width: 1em; height: 1em; margin-top: .25em; margin-left: -1.5em; vertical-align: top;
  background-color: #fff; border: 1px solid rgba(0,0,0,.25); appearance: none; border-radius: .25em;
}
.form-check-input:checked { background-color: #0d6efd; border-color: #0d6efd; }
.form-check-label {}
.form-floating { position: relative; }

/* Input group */
.input-group { position: relative; display: flex; flex-wrap: wrap; align-items: stretch; width: 100%; }
.input-group > .form-control, .input-group > .form-select { position: relative; flex: 1 1 auto; width: 1%; min-width: 0; }
.input-group > :not(:first-child) { margin-left: -1px; border-top-left-radius: 0; border-bottom-left-radius: 0; }
.input-group > :not(:last-child) { border-top-right-radius: 0; border-bottom-right-radius: 0; }
.input-group-lg > .form-control, .input-group-lg > .btn { padding: .5rem 1rem; font-size: 1.25rem; border-radius: .5rem; }
.input-group-sm > .form-control, .input-group-sm > .btn { padding: .25rem .5rem; font-size: .875rem; border-radius: .25rem; }

/* Alert */
.alert { position: relative; padding: 1rem; margin-bottom: 1rem; border: 1px solid transparent; border-radius: .375rem; }
.alert-secondary { color: #41464b; background-color: #e2e3e5; border-color: #d3d6d8; }

/* Collapse / tabs / fade */
.collapse:not(.show) { display: none; }
.tab-content > .tab-pane { display: none; }
.tab-content > .active { display: block; }
.fade { transition: opacity .15s linear; }
.fade:not(.show) { opacity: 0; }

/* Offcanvas (legacy markup is disabled, kept minimal for safety) */
.offcanvas { position: fixed; bottom: 0; z-index: 1045; background-color: #fff; }
.offcanvas-start { top: 0; left: 0; width: 320px; transform: translateX(-100%); }
.offcanvas-end { top: 0; right: 0; width: 320px; transform: translateX(100%); }
.offcanvas.show { transform: none; }
.offcanvas-header { display: flex; align-items: center; justify-content: space-between; padding: 1rem; }
.offcanvas-body { flex-grow: 1; padding: 1rem; overflow-y: auto; }

/* ------------------------------------------------ 4. ICONS + SHARE POPOVER */

/* Inline-SVG icons (Font Awesome replacement) */
.ico {
  display: inline-block; width: 1em; height: 1em; vertical-align: -.125em;
  fill: currentColor; flex-shrink: 0;
}
.sn-icon.ico { width: 16px; height: 16px; vertical-align: middle; }
.nav .ico, .dropdown-item .ico { vertical-align: -.15em; }
@keyframes fs-spin { to { transform: rotate(360deg); } }
.ico.spin { animation: fs-spin .8s linear infinite; }

/* Share popover — styles the actual markup emitted by custom.js
   (.share-header/.share-close/.share-copy), which the old CSS never covered. */
.share-header {
  display: flex; align-items: center; justify-content: space-between;
  gap: .5rem; font-size: .9rem; margin-bottom: .5rem; padding-bottom: .35rem;
  border-bottom: 1px solid rgba(128,128,128,.25);
}
.share-close {
  border: 0; background: transparent; color: inherit; font-size: 1.1rem;
  line-height: 1; cursor: pointer; padding: 0 .25rem; opacity: .8;
}
.share-close:hover { opacity: 1; }
.share-btn svg { width: 18px; height: 18px; fill: currentColor; }
.share-copy { display: flex; gap: .5rem; margin-top: .5rem; }
.share-copy input {
  flex: 1; min-width: 0; border-radius: .5rem; padding: .4rem .55rem; font-size: .85rem;
  border: 1px solid rgba(128,128,128,.35); background: rgba(128,128,128,.08); color: inherit;
}

/* ============================================================================
   4b. EXTENDED COMPAT — utilities used by the content/marketing pages
       (services/*, advertise, about) that the search UI does not use.
   ============================================================================ */

/* Display headings + lead + heading utility classes */
.display-1{font-size:5rem;font-weight:300;line-height:1.1}
.display-2{font-size:4.5rem;font-weight:300;line-height:1.1}
.display-3{font-size:4rem;font-weight:300;line-height:1.1}
.display-4{font-size:3.5rem;font-weight:300;line-height:1.1}
.display-5{font-size:3rem;font-weight:300;line-height:1.1}
.display-6{font-size:2.5rem;font-weight:300;line-height:1.1}
.lead{font-size:1.25rem;font-weight:400}
.h1{font-size:1.9rem;font-weight:600;line-height:1.25}
.h2{font-size:1.6rem;font-weight:600;line-height:1.25}
.h3{font-size:1.4rem;font-weight:600;line-height:1.3}
.h4{font-size:1.2rem;font-weight:600;line-height:1.3}
.h5{font-size:1.08rem;font-weight:600;line-height:1.35}
.h6{font-size:.95rem;font-weight:600;line-height:1.4}

/* Font-size / text utilities */
.fs-1{font-size:2.5rem !important}.fs-2{font-size:2rem !important}.fs-3{font-size:1.75rem !important}
.fs-5{font-size:1.25rem !important}.fs-6{font-size:1rem !important}
.text-start{text-align:left !important}.text-end{text-align:right !important}
.text-nowrap{white-space:nowrap !important}
.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.text-break{word-wrap:break-word !important;word-break:break-word !important}
.lh-1{line-height:1 !important}.lh-sm{line-height:1.25 !important}.lh-base{line-height:1.5 !important}.lh-lg{line-height:2 !important}

/* Rounded / border */
.rounded{border-radius:.375rem !important}.rounded-0{border-radius:0 !important}
.rounded-1{border-radius:.25rem !important}.rounded-2{border-radius:.375rem !important}
.rounded-4{border-radius:.75rem !important}.rounded-5{border-radius:1rem !important}
.rounded-pill{border-radius:50rem !important}.rounded-circle{border-radius:50% !important}
.border-0{border:0 !important}

/* Contextual text / bg + subtle / emphasis colors */
.text-primary{color:var(--bs-primary) !important}.text-secondary{color:var(--bs-secondary) !important}
.text-info{color:#0aa2c0 !important}.text-dark{color:#212529 !important}.text-light{color:#f8f9fa !important}
.text-body{color:var(--bs-body-color) !important}
.bg-primary{background-color:var(--bs-primary) !important}.bg-secondary{background-color:var(--bs-secondary) !important}
.bg-info{background-color:#0dcaf0 !important}.bg-light{background-color:#f8f9fa !important}.bg-body{background-color:var(--bs-body-bg) !important}
.bg-primary-subtle{background-color:#cfe2ff !important}.bg-secondary-subtle{background-color:#e2e3e5 !important}
.bg-success-subtle{background-color:#d1e7dd !important}.bg-danger-subtle{background-color:#f8d7da !important}
.bg-warning-subtle{background-color:#fff3cd !important}.bg-info-subtle{background-color:#cff4fc !important}
.bg-light-subtle{background-color:#fcfcfd !important}.bg-dark-subtle{background-color:#ced4da !important}
.text-primary-emphasis{color:#052c65 !important}.text-secondary-emphasis{color:#2b2f32 !important}
.text-success-emphasis{color:#0a3622 !important}.text-danger-emphasis{color:#58151c !important}
.text-warning-emphasis{color:#664d03 !important}.text-info-emphasis{color:#055160 !important}

/* Grid gutters + row-cols */
.g-1{--gx:.25rem;--gy:.25rem}.g-2{--gx:.5rem;--gy:.5rem}.g-3{--gx:1rem;--gy:1rem}.g-4{--gx:1.5rem;--gy:1.5rem}.g-5{--gx:3rem;--gy:3rem}
.gx-1{--gx:.25rem}.gx-2{--gx:.5rem}.gx-3{--gx:1rem}.gx-4{--gx:1.5rem}.gx-5{--gx:3rem}
.gy-1{--gy:.25rem}.gy-2{--gy:.5rem}.gy-3{--gy:1rem}.gy-4{--gy:1.5rem}.gy-5{--gy:3rem}
.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}
.row-cols-3>*{flex:0 0 auto;width:33.33333%}.row-cols-4>*{flex:0 0 auto;width:25%}
@media (min-width:576px){.flex-sm-row{flex-direction:row !important}}
@media (min-width:768px){
  .row-cols-md-1>*{width:100%}.row-cols-md-2>*{width:50%}
  .row-cols-md-3>*{width:33.33333%}.row-cols-md-4>*{width:25%}
  .flex-md-row{flex-direction:row !important}
  .align-items-md-center{align-items:center !important}
  .p-md-4{padding:1.5rem !important}.p-md-5{padding:3rem !important}
  .px-md-5{padding-left:3rem !important;padding-right:3rem !important}
  .py-md-5{padding-top:3rem !important;padding-bottom:3rem !important}
}

/* Tables */
.table{width:100%;margin-bottom:1rem;color:var(--bs-body-color);vertical-align:top;border-collapse:collapse}
.table>:not(caption)>*>*{padding:.5rem;border-bottom:1px solid var(--bs-border-color)}
.table>thead{vertical-align:bottom}
.table th{text-align:inherit;font-weight:600}
.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}
.align-middle{vertical-align:middle !important}

/* Forms (labels / help text) */
.form-label{margin-bottom:.5rem}
.form-text{margin-top:.25rem;font-size:.875em;color:#6c757d}

/* Lists */
.list-unstyled{padding-left:0;list-style:none}
.list-inline{padding-left:0;list-style:none}
.list-inline-item{display:inline-block}
.list-inline-item:not(:last-child){margin-right:.5rem}

/* Complete spacing scale — content/form pages use the full 0-5 + auto range
   (0=.0 1=.25 2=.5 3=1 4=1.5 5=3rem). Supplements the common set in section 3. */
.m-4{margin:1.5rem !important}.m-5{margin:3rem !important}.m-auto{margin:auto !important}
.mt-5{margin-top:3rem !important}.mt-auto{margin-top:auto !important}
.mb-5{margin-bottom:3rem !important}.mb-auto{margin-bottom:auto !important}
.ms-0{margin-left:0 !important}.ms-4{margin-left:1.5rem !important}.ms-5{margin-left:3rem !important}.ms-auto{margin-left:auto !important}
.me-4{margin-right:1.5rem !important}.me-5{margin-right:3rem !important}.me-auto{margin-right:auto !important}
.mx-2{margin-left:.5rem !important;margin-right:.5rem !important}.mx-3{margin-left:1rem !important;margin-right:1rem !important}
.mx-4{margin-left:1.5rem !important;margin-right:1.5rem !important}.mx-5{margin-left:3rem !important;margin-right:3rem !important}.mx-auto{margin-left:auto !important;margin-right:auto !important}
.my-0{margin-top:0 !important;margin-bottom:0 !important}.my-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-5{margin-top:3rem !important;margin-bottom:3rem !important}
.p-4{padding:1.5rem !important}.p-5{padding:3rem !important}
.pt-1{padding-top:.25rem !important}.pt-3{padding-top:1rem !important}.pt-5{padding-top:3rem !important}
.pb-4{padding-bottom:1.5rem !important}.pb-5{padding-bottom:3rem !important}
.ps-0{padding-left:0 !important}.ps-1{padding-left:.25rem !important}.ps-2{padding-left:.5rem !important}.ps-4{padding-left:1.5rem !important}.ps-5{padding-left:3rem !important}
.pe-0{padding-right:0 !important}.pe-1{padding-right:.25rem !important}.pe-2{padding-right:.5rem !important}.pe-3{padding-right:1rem !important}.pe-4{padding-right:1.5rem !important}.pe-5{padding-right:3rem !important}
.px-0{padding-left:0 !important;padding-right:0 !important}.px-1{padding-left:.25rem !important;padding-right:.25rem !important}.px-2{padding-left:.5rem !important;padding-right:.5rem !important}
.px-4{padding-left:1.5rem !important;padding-right:1.5rem !important}.px-5{padding-left:3rem !important;padding-right:3rem !important}
.py-0{padding-top:0 !important;padding-bottom:0 !important}.py-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-5{padding-top:3rem !important;padding-bottom:3rem !important}

/* btn-info + Bootstrap-3 legacy form classes (older contact-form markup) */
.btn-info{--bs-btn-color:#000;--bs-btn-bg:#0dcaf0;--bs-btn-border-color:#0dcaf0;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#31d2f2;--bs-btn-hover-border-color:#25cff2}
.form-group{margin-bottom:1rem}
.control-label{display:inline-block;margin-bottom:.5rem;font-weight:600}
.help-block{display:block;margin-top:.25rem;font-size:.875em;color:#6c757d}
.has-feedback{position:relative}
.form-control-feedback{position:absolute;right:.5rem;top:.5rem;color:#6c757d}
.glyphicon{display:inline-block;font-style:normal;line-height:1}
.glyphicon-asterisk::before{content:"*"}

/* ----------------------------------------------------------------------------
   Responsive utility overrides — declared LAST so they win over the base
   utilities at their breakpoints. (Source-order fix: earlier the base
   .order-2 followed .order-md-1 and wrongly kept the left column on the right.)
   ---------------------------------------------------------------------------- */
@media (min-width: 576px) {
  .order-sm-0{order:0}.order-sm-1{order:1}.order-sm-2{order:2}.order-sm-3{order:3}
}
@media (min-width: 768px) {
  .order-md-0{order:0}.order-md-1{order:1}.order-md-2{order:2}.order-md-3{order:3}
  .d-md-none{display:none !important}.d-md-block{display:block !important}.d-md-flex{display:flex !important}
  .mb-md-0{margin-bottom:0 !important}
}
@media (min-width: 992px) {
  .order-lg-0{order:0}.order-lg-1{order:1}.order-lg-2{order:2}.order-lg-3{order:3}
  .d-lg-none{display:none !important}.d-lg-block{display:block !important}.d-lg-flex{display:flex !important}
  .mb-lg-0{margin-bottom:0 !important}
}
@media (min-width: 1200px) {
  .order-xl-0{order:0}.order-xl-1{order:1}.order-xl-2{order:2}.order-xl-3{order:3}
}

/* ============================================================================
   5. SITE DESIGN SYSTEM
   Migrated verbatim from the previous inline <style> in head.theme.php.
   The one dynamic value (per-domain search background) is now var(--search-bg),
   set inline in <head>.
   ============================================================================ */

:root {

  --sn-oc-width: 86vw;
  --sn-oc-maxw: 380px;
  --sn-oc-z: 1075;
  --sn-oc-bp: 767.98px;


  --gcs-thumb-width: 135px;
  --gcs-thumb-max-height: 105px;
}

html,
body {
  height: 100%;
  margin: 0;
  font-family: "Inter", -apple-system, BlinkMacSystemFont,
               "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  font-size: 16px;
  font-weight: 400;
  letter-spacing: -0.1px;
  line-height: 1.5;
  background: #f7f9fc;
  color: #0e1116;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  display: flex;
  flex-direction: column;
}

p,a,li,ul,nav,main,header,footer {
  font-family: "Inter", -apple-system, BlinkMacSystemFont,
               "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;    
}

main { flex: 1; }

.header {
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:.5rem;
  font-weight:600;
  font-size:.95rem;
  background: #232F3E;
}

#search-header nav {
  background: var(--search-bg);
}

/* ==========================================
   COLLAPSING STICKY HEADER (LAYOUT-AWARE)
   ========================================== */
#search-header.is-collapsed {
  height: 0 !important;
  min-height: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  overflow: hidden;
}


.taglines-row {
  margin-top: -4px;
  text-align: center;
}

.tagline-main {
  color: #fff;
  font-size: 20px;
  font-weight: 700;
  margin: 4px 0 0;
}

.tagline-sub {
  color: #cfe0ff;
  font-size: 15px;
  font-weight: 600;
}


footer {
  background: #222933;
  color: #ffffff;
  content-visibility: auto;
  margin-top: auto;
  font-size:14px;
}

footer h4 {
  font-size:13px;
  color: #FAF9F6;
  font-weight:700;
}

footer li {
  font-size:13px;
  color: #767676;
  padding:2px;
}

footer li a {
  font-size:13px;
  color: #DDDDDD;
  padding:2px;
}

.content {
  min-height: 100%;
  display: flex;
  flex-direction: column;
}

h1, h2, h3, h4, h5, h6 {
  font-family: "Inter", sans-serif;
  font-weight: 600;
  color: #0d1117;
  letter-spacing: -0.2px;
  line-height: 1.25;
  margin-bottom: .6rem;
}

h1 { font-size: 1.8rem; }
h2 { font-size: 1.5rem; }
h3 { font-size: 1.25rem; }
h4 { font-size: 1.1rem; }
h5 { font-size: 1.05rem; }

a {
  color: #0d6efd;
  text-decoration: none;
  transition: color .15s ease, opacity .15s ease;
}
a:visited {
  color: #5b4bb7;
}
a:hover,
a:active {
  text-decoration: underline;
}

a:hover,
a:focus-visible {
  color: #002a52;
  text-decoration: underline;
}


.rtitle{
  font-size:17px;
  font-weight:400;
  line-height:1 !important;
  color:#0060a9 !important;
  text-decoration:none;
  letter-spacing:-0.15px;
  margin-bottom: 1px !important;
  display: inline;

}
.rtitle:hover{
  text-decoration:underline;
  opacity:.9;
}

.rdesc{
  font-size:14px;
  line-height:1.45;
  color:#222;
  text-decoration:none;
  margin-top: 1px !important;
  font-family: "Inter", -apple-system, BlinkMacSystemFont,
               "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;    
}

.rdesc .image-featured {
  float: right;
  display: block;
  aspect-ratio: 16 / 9;
  max-width: 165px;
  max-height: 120px;
  object-fit: cover;
  margin-left: 10px;
  margin-bottom: 2px;
  border-radius: 10px;
  overflow: hidden;
  flex-shrink: 0;
}

@media (max-width: 400px) {
  .rdesc .image-featured {
    float: none;
    display: inline-block;
    aspect-ratio: 16 / 9;
    max-width: 80px;
    max-height: 80px;
    margin: 0 0 .35rem 0;
  }
}

@media (min-width: 401px) and (max-width: 576px) {
  .rdesc .image-featured {
    float: none;
    display: inline-block;
    aspect-ratio: 16 / 9;
    max-width: 105px;
    max-height: 95px;
    margin: 0 0 .35rem 0;
  }
}

@media (min-width: 577px) and (max-width: 768px) {
  .rdesc .image-featured {
    float: none;
    display: inline-block;
    aspect-ratio: 16 / 9;
    max-width: 125px;
    max-height: 105px;
    margin: 0 0 .35rem 0;
  }
}

@media (min-width: 769px) and (max-width: 992px) {
  .rdesc .image-featured {
    float: right;
    aspect-ratio: 16 / 9;
    max-width: 145px;
    max-height: 115px;
  }
}

@media (min-width: 993px) and (max-width: 1201px) {
  .rdesc .image-featured {
    float: right;
    aspect-ratio: 16 / 9;
    max-width: 155px;
    max-height: 120px;
  }
}

@media (min-width: 1202px) {
  .rdesc .image-featured {
    float: right;
    aspect-ratio: 16 / 9;
    max-width: 165px;
    max-height: 120px;
  }
}

.rSN{
  font-size:13px;
  line-height:17px;
  color:#333;
  font-weight:600;
  text-decoration:none;
  display:inline-block;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  margin-bottom:-5px;
  padding:0;
}

.rURL{
  font-size:13px;
  line-height:16px;
  font-weight:700;
  color:#006400 !important;
  text-decoration:none;
  display:inline-block;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  margin:0;
  padding:5;
}

a.rURL,
a.rURL:hover,
a.rURL:active,
a.rURL:focus,
a.rURL:focus-visible {
  opacity: 1 !important;
  color: #006400 !important;
}


.rdate{
  font-size:14px;
  line-height:1.5;
  color:#333;
  text-decoration:none;
}

.clstree{
  font-size:14px;
  font-weight:400;
  line-height:1.5;
  color:#1155cc;
  text-decoration:none;
}

.search-result-wrapper {
  padding: 14px 18px;
  border-radius: 12px;
  margin-bottom: 14px;
  background: #ffffff;
  border: 1px solid #e4e6ea;
}

.nlnk {
  font-size: .9375rem;
  line-height: 1.125rem;
  color: #e8eef3 !important;
  text-decoration: none;
  transition: color .2s ease;
  padding: 6px;
}
.nlnk:hover {
  color: #ffffff !important;
}

:focus-visible {
  outline: 2px solid #1abc9c;
  outline-offset: 2px;
}

#scrollButton {
  position: fixed;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1000;
}

.form-row-scroll {
  display: flex;
  overflow-x: auto;
  white-space: nowrap;
}
.form-row-scroll select,
.form-row-scroll input[type="text"] {
  margin-right: 10px;
}

.custom-height,
.form-select.custom-height,
.tnf {
  height: 32px;
  line-height: normal;
  font-size: 14px;
  padding: 0 8px;
  border: 1px solid rgba(255,255,255,.25);
  border-radius: 4px;
  box-sizing: border-box;
}

.custom-height-select {
  --caret-w: 16px;
  --caret-r: 8px;
  --caret-pad: 0px;
  position: relative;
  padding: 0px;
  z-index: 1;
  display: inline-flex;
  align-items: center;
}

.custom-height-select select.form-select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-image: none;
  color: #ffffff;
  font-size: 12px;
  height: 32px;
  line-height: normal;
  padding-left: 8px;
  padding-right: 0;
  box-sizing: border-box;
  border: 1px solid rgba(255,255,255,.25);
  border-radius: 4px;
  background-clip: padding-box;
  white-space: nowrap;
  overflow: visible;
  text-overflow: clip;
  width: auto;
  max-width: none;
}

.custom-height-select::after {
  content: '';
  position: absolute;
  right: var(--caret-r);
  top: 50%;
  transform: translateY(-50%);
  width: var(--caret-w);
  height: var(--caret-w);
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" height="20" viewBox="0 -960 960 960" width="20" fill="%23e8eaed"><path d="M480-384 288-576h384L480-384Z"/></svg>') no-repeat center;
  pointer-events: none;
}

select option,
select optgroup { color:#ffffff; }
select optgroup { font-weight: bold; }
select option { text-indent: 0; }

.scroll-container {
  position: relative;
  display: flex;
  align-items: center;
  margin-top: 0;
  padding: 0 12px;
}

.scroll-row {
  display: flex;
  flex-wrap: nowrap;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  gap: 6px;
  margin: 0 6px;
  padding: 0 2px;
  scrollbar-width: thin;
}

.scroll-row::-webkit-scrollbar {
  height: 4px;
}

.scroll-row::-webkit-scrollbar-thumb {
  background: #888;
  border-radius: 10px;
}

.scroll-button {
  appearance: none;
  -webkit-appearance: none;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;

  color: #ffffff;
  width: 18px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  font-size: 16px;
  cursor: pointer;
  padding: 0;
  margin: 0;
  z-index: 2;
}

.scroll-button:hover,
.scroll-button:focus,
.scroll-button:active,
.scroll-button:focus-visible {
  background: transparent !important;
  box-shadow: none !important;
  outline: none;
}

.scroll-button svg {
  display: block;
}

.scroll-button.left { left: 2px; }
.scroll-button.right { right: 2px; }

.scroll-button svg {
  display: block;
}

.scroll-button:focus-visible {
  outline: 2px solid rgba(255,255,255,0.6);
  outline-offset: 2px;
}

/* REMOVE browser default indentation */
.sn-sidebar ul,
.sn-sidebar ul ul {
  padding-inline-start: 0 !important;
  padding-left: 0 !important;
  margin-left: 0 !important;
}


.custom-sidebar-menu{
  position:relative;
  font-size:14px;
  font-weight:500;
  color:#dee2e6;
  background:#f8f9fa;
  border-right:1px solid #dee2e6;
  padding:0;
}
.custom-menu,
.custom-submenu,
ul.mtac{ list-style:none; margin:0; padding:0; }
.custom-menu-item{ margin-bottom:2px; }
.custom-menu-item-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
}
.custom-menu-item-header a{
  text-decoration:none;
  color:#000;
  padding:5px;
  display:block;
}
.custom-submenu{ padding-left:15px; display:none; }
.custom-submenu-item a{
  text-decoration:none;
  color:#333;
  padding:5px;
  display:block;
}
.custom-submenu-toggle{
  background:none;
  border:0;
  cursor:pointer;
  font-size:12px;
  line-height:1;
}

.sn-oc-backdrop{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.35);
  opacity:0;
  visibility:hidden;
  transition:opacity .22s ease, visibility 0s linear .22s;
  z-index: calc(var(--sn-oc-z) - 1);
  pointer-events: none;
}
body.sn-oc-open .sn-oc-backdrop{
  opacity:1;
  visibility:visible;
  transition:opacity .22s ease, visibility 0s;
  pointer-events: auto;
}

@media (max-width: 767.98px){
  .custom-sidebar-menu{
    flex:0 0 0 !important;
    width:0 !important;
    max-width:0 !important;
    padding:0 !important;
    margin:0 !important;
    border:0 !important;
    min-width:0 !important;
  }
}

@media (max-width: 767.98px){
  .sn-sidebar{
    position: fixed !important;
    top: 0;
    left: 0;
    right: auto;
    height: var(--vh, 100vh);
    width: var(--sn-oc-width);
    max-width: var(--sn-oc-maxw);
    transform: translateX(-100%) !important;
    transition: transform .22s ease-in-out;
    z-index: var(--sn-oc-z);
    will-change: transform;
  }

  body.sn-oc-open .sn-sidebar{
    transform: translateX(0) !important;
  }

  body.sn-oc-open{
    overflow: hidden;
    touch-action: none;
  }
}

/* ======================================================
   DESKTOP STICKY SIDEBAR (CORRECT)
   ====================================================== */
@media (min-width: 768px) {
  .sn-sidebar {
    position: sticky !important;
    top: 0;

    height: auto;           /* JS will override when needed */
    max-height: none;       /* IMPORTANT */
    overflow-y: auto;

    align-self: flex-start;
  }
}


.sn-oc-header{
  position: sticky;
  top: 0;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 48px;
  padding: 8px 12px;
  box-shadow: 0 1px 0 rgba(255,255,255,.08);
}
.sn-oc-title{
  color:#ecf0f1;
  font-size:14px;
  font-weight:600;
  letter-spacing:.3px;
}
.sn-oc-close-btn{
  border:0;
  background:transparent;
  color:#ecf0f1;
  width:36px;
  height:36px;
  border-radius:8px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
}
.sn-oc-close-btn:hover{
  color:#1abc9c;
  background:rgba(255,255,255,.06);
}
.sn-oc-close-btn svg{
  width:18px;
  height:18px;
  display:block;
}
@media (min-width: 992px){
  .sn-oc-header{ display:none; }
}

.sn-sidebar{
  position: relative;
  height: calc(var(--vh, 100vh) - var(--search-header-height, 0px));
  overflow-y: auto;
  margin: 0;
  box-shadow: 2px 0 5px rgba(0,0,0,.1);
  background:#151922;
  scrollbar-width:thin;
  scrollbar-color: rgba(255,255,255,.4) transparent;
}
.sn-sidebar::-webkit-scrollbar{ width:6px; }
.sn-sidebar::-webkit-scrollbar-track{ background:transparent; }
.sn-sidebar::-webkit-scrollbar-thumb{
  background-color: rgba(255,255,255,.4);
  border-radius:3px;
  border:1px solid transparent;
}
.sn-sidebar ul{ list-style:none; margin:0; padding:0; }
.sn-sidebar li{ border-bottom:1px solid rgba(255,255,255,.1); }

/* ===============================
   TRUE MULTI-LEVEL INDENTATION
   =============================== */

/* Base row padding */
.sn-sidebar .sn-link{
  padding:5px 8px;
}

/* Depth-based indentation */
.sn-sidebar li[data-depth="1"] > .sn-menu-item .sn-link { padding-left:24px; }
.sn-sidebar li[data-depth="2"] > .sn-menu-item .sn-link { padding-left:40px; }
.sn-sidebar li[data-depth="3"] > .sn-menu-item .sn-link { padding-left:56px; }
.sn-sidebar li[data-depth="4"] > .sn-menu-item .sn-link { padding-left:72px; }
.sn-sidebar li[data-depth="5"] > .sn-menu-item .sn-link { padding-left:88px; }


.sn-menu-item{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0; /* IMPORTANT */
}
.sn-link{
  display:flex;
  align-items:center;
  flex:1;
  text-decoration:none;
  color:#ecf0f1;
  padding:5px 0;
  transition:color .3s;
}
.sn-link:hover{ color:#1abc9c; }
.sn-icon{
  width:18px;
  margin-right:12px;
  text-align:center;
  color:#ecf0f1;
}
.sn-text{
  flex:1;
  color:#ecf0f1;
}
.sn-sidebar > ul > li > .sn-menu-item .sn-text{
  font-size:14px;
  font-weight:500;
}

.sn-link,
.sn-text {
  font-family: "Inter", sans-serif;
  color: #d0d5dd !important;
  font-size: 14px;
}
.sn-link:hover {
  color: #52f2c4 !important;
}





/* === Submenu visibility (no height limits) === */
.sn-submenu{
  display:none;
}
.sn-sidebar li.open > .sn-submenu{
  display:block;
}





.sn-submenu li a{
  display:flex;
  align-items:center;
  padding:5px 0;
  text-decoration:none;
  color:#ecf0f1;
  transition:background .3s;
}
.sn-submenu li a:hover{ background:#3a556e; }
.sn-submenu a .sn-text{
  font-size:14px;
  color:#ecf0f1;
}

.sn-submenu {
  padding-left: 0;
}


.sn-submenu-icon{
  cursor:pointer;
  color:#ecf0f1;
  transition:transform .3s, color .3s;
}
.sn-submenu-icon:hover{ color:#1abc9c; }
.sn-sidebar li.open > .sn-menu-item .sn-submenu-icon:not(.ajax-toggle){
  transform:rotate(180deg);
}
.sn-sidebar li.open > .sn-menu-item .ajax-toggle{ transform:none; }

.sn-sidebar li.active-row > .sn-menu-item{
  background:#1abc9c;
}
.sn-sidebar li.active-row > .sn-menu-item .sn-link,
.sn-sidebar li.active-row > .sn-menu-item .sn-icon,
.sn-sidebar li.active-row > .sn-menu-item .sn-submenu-icon{
  color:#ffffff;
}

.sn-active-link{
  background:#1abc9c !important;
  color:#ffffff !important;
}

/* === DEPTH-BASED INDENTATION (UNLIMITED LEVELS) === */
.sn-sidebar li[data-depth] > .sn-menu-item {
  padding-left: calc(12px + (var(--sn-depth) * 16px));
}

/* Map depth attribute to CSS variable */
.sn-sidebar li[data-depth="0"] { --sn-depth: 0; }
.sn-sidebar li[data-depth="1"] { --sn-depth: 1; }
.sn-sidebar li[data-depth="2"] { --sn-depth: 2; }
.sn-sidebar li[data-depth="3"] { --sn-depth: 3; }
.sn-sidebar li[data-depth="4"] { --sn-depth: 4; }
.sn-sidebar li[data-depth="5"] { --sn-depth: 5; }

.sn-divider{
  height:1px;
  margin:0 0 15px;
  background:rgba(255,255,255,.15);
  list-style:none;
}

.ajax-toggle{
  cursor:pointer;
  transition:transform .2s ease;
  pointer-events:auto;
}
.ajax-toggle:hover{ opacity:.7; }
.sn-submenu.ajax-submenu{ transition:all .3s ease; }
.ajax-loading-placeholder .sn-text{ font-style:italic; opacity:.7; }
.error .sn-text{ color:#dc3545; }

@keyframes spin{
  from{ transform:rotate(0); }
  to{ transform:rotate(360deg); }
}
.fa-spinner.fa-spin{ animation:spin 1s linear infinite; }

.sn-meta{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin:4px 0 6px 28px;
}
.sn-badge{
  display:inline-flex;
  align-items:center;
  padding:2px 6px;
  border-radius:10px;
  font-size:11px;
  line-height:1;
  color:#0f1419;
  background:#e5efff;
  border:1px solid rgba(255,255,255,.16);
}
.sn-badge--ok{ background:#c9f7d1; }
.sn-badge--warn{ background:#ffe9a8; }
.sn-badge--alert{ background:#ffcdc9; }
.sn-badge--muted{ background:#e7eaef; }
.sn-badge code{
  font-family:inherit;
  font-size:11px;
  background:transparent;
  padding:0;
}
.ajax-toggle,
.sn-submenu-icon{
  -webkit-tap-highlight-color:transparent;
  touch-action:manipulation;
}

.custom-nav-tabs-container .custom-nav-link{
  color:#dcdcdc !important;
  background:transparent !important;
  padding:0;
  font-size:13px;
}
.custom-nav-tabs-container .custom-nav-link.active{
  color:#ffffff !important;
  background:transparent !important;
  border-bottom:1px solid #ffffff;
  font-weight:700;
}
.custom-nav-tabs-container .custom-nav-link:hover{
  color:#ffffff !important;
}
.custom-nav-tabs-container .custom-nav-item{
  margin-right:0;
  padding:0;
}
.custom-nav-tabs-container .dropdown-item{ color:#000000 !important; }
.custom-nav-tabs-container .dropdown-item:hover{
  color:#ffffff !important;
  background:#232f3e !important;
}

.card,
.dropdown-menu {
  border-radius: 10px !important;
  background: #ffffff !important;
  border: 1px solid #e0e2e5 !important;
}

.dropdown-menu.menu-dark{
  background:#000;
  color:#fff;
  border:1px solid #222;
}

.dropdown-menu.menu-dark .dropdown-header{ color:#bdbdbd; }
.dropdown-menu.menu-dark .dropdown-divider{ border-top-color:#333; }

.dropdown-menu.menu-dark .dropdown-item,
.dropdown-menu.menu-dark .dropdown-item:link,
.dropdown-menu.menu-dark .dropdown-item:visited,
.dropdown-menu.menu-dark .dropdown-item:active{
  color:#fff !important;
  text-decoration:none !important;
}

.dropdown-menu.menu-dark .dropdown-item i,
.dropdown-menu.menu-dark .dropdown-item:link i,
.dropdown-menu.menu-dark .dropdown-item:visited i,
.dropdown-menu.menu-dark .dropdown-item:active i{
  color:#fff !important;
  text-decoration:none !important;
}

.dropdown-menu.menu-dark .dropdown-item:hover,
.dropdown-menu.menu-dark .dropdown-item:focus,
.dropdown-menu.menu-dark .dropdown-item:focus-visible{
  background:#111 !important;
  color:#fff !important;
  text-decoration:underline !important;
}
.dropdown-menu.menu-dark .dropdown-item:hover i,
.dropdown-menu.menu-dark .dropdown-item:focus i,
.dropdown-menu.menu-dark .dropdown-item:focus-visible i{
  color:#fff !important;
  text-decoration:none !important;
}

.dropdown-menu.menu-dark .dropdown-item.active,
.dropdown-menu.menu-dark .dropdown-item.active:visited{
  background:#111 !important;
  color:#fff !important;
  text-decoration:underline !important;
}

.dropdown-menu.menu-dark .dropdown-item.disabled,
.dropdown-menu.menu-dark .dropdown-item:disabled{
  color:rgba(255,255,255,.5) !important;
  pointer-events:none;
  text-decoration:none !important;
}

#installHelp{
  position:fixed;
  inset:0;
  z-index:1055;
  display:none;
  align-items:center;
  justify-content:center;
  backdrop-filter:blur(2px);
  background:rgba(0,0,0,.55);
}
#installHelp .card{
  background:#ffffff;
  border-radius:12px;
  max-width:520px;
  width:92%;
  padding:16px 18px;
  color:#111111;
  line-height:1.45;
  box-shadow:0 10px 30px rgba(0,0,0,.35);
}

.share-pop{
  position:fixed;
  z-index:1061;
  min-width:240px;
  max-width:320px;
  border-radius:.75rem;
  box-shadow:0 10px 30px rgba(0,0,0,.25);
  padding:.5rem;
  background:#111;
  color:#fff;
}
.share-pop-light{
  background:#fff;
  color:#111;
  box-shadow:0 10px 30px rgba(0,0,0,.15);
  border:1px solid rgba(0,0,0,.08);
}
.share-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.5rem;
}
.share-btn{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.5rem;
  border-radius:.5rem;
  padding:.5rem .55rem;
  text-decoration:none;
  font-size:.9rem;
  border:1px solid rgba(255,255,255,.15);
  background:rgba(255,255,255,.06);
  color:inherit;
  white-space:nowrap;
}
.share-pop-light .share-btn{
  border:1px solid rgba(0,0,0,.1);
  background:rgba(0,0,0,.03);
}
.share-btn:hover{ filter:brightness(1.1); }
.copy-row{
  display:flex;
  gap:.5rem;
  margin-top:.5rem;
}
.copy-input{
  flex:1;
  border-radius:.5rem;
  border:1px solid rgba(255,255,255,.2);
  background:rgba(255,255,255,.08);
  color:inherit;
  padding:.4rem .55rem;
  font-size:.85rem;
}
.share-pop-light .copy-input{
  border-color:rgba(0,0,0,.15);
  background:#fafafa;
}
.copy-btn{
  border-radius:.5rem;
  padding:.4rem .65rem;
  border:1px solid rgba(255,255,255,.2);
  background:rgba(255,255,255,.08);
  color:inherit;
}
.share-pop-light .copy-btn{
  border-color:rgba(0,0,0,.15);
  background:rgba(0,0,0,.03);
}

.close-x{
  cursor:pointer;
  padding:.15rem .35rem;
  border-radius:.375rem;
}
.close-x:hover{ background:rgba(255,255,255,.1); }
.share-pop-light .close-x:hover{ background:rgba(0,0,0,.06); }

.truncate{
  overflow:hidden;
  text-overflow:ellipsis;
}
.clearfix::after{
  content:"";
  display:table;
  clear:both;
}
.rTS{ font-size:13px; line-height:14px; }
.no-arrow::after{ display:none; }
.rFQD{ overflow:hidden; margin:0; padding:0; position:relative; }
.favicon{ float:left; margin:10px 10px 0 0; }
.dropdown-container{
  float:right;
  margin-top:-40px;
  position:relative;
}
.dropdown-menu-custom{
  margin-top:-10px;
  border:1px solid #ccc;
  box-shadow:0 4px 8px rgba(0,0,0,.1);
}
.badge-secondary-custom{
  font-size:10px;
  margin-bottom:10px;
  padding:2px;
}

.svg-icon{
  width:24px;
  height:24px;
  display:inline-block;
  background-size:cover;
  background-repeat:no-repeat;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24' viewBox='0 -960 960 960' width='24' fill='%23434343'%3E<path d='M480-160q-33 0-56.5-23.5T400-240q0-33 23.5-56.5T480-320q33 0 56.5 23.5T560-240q0 33-23.5 56.5T480-160Zm0-240q-33 0-56.5-23.5T400-480q0-33 23.5-56.5T480-560q33 0 56.5 23.5T560-480q0 33-23.5 56.5T480-400Zm0-240q-33 0-56.5-23.5T400-720q0-33 23.5-56.5T480-800q33 0 56.5 23.5T560-720q0 33-23.5 56.5T480-640Z'/></svg>");
}

.svg-icon,
.sn-submenu-icon,
.ajax-toggle {
  opacity: 0.9;
}
.svg-icon:hover,
.sn-submenu-icon:hover,
.ajax-toggle:hover {
  opacity: 1;
}

.custom-btn-group .btn{
  height:23px;
  line-height:18px;
  padding:0 5px;
  font-size:13px;
  margin-bottom:5px;
  background:transparent;
  border:0;
}

.search-indexes-icon,
.search-keywords-icon,
.search-people-icon,
.search-organziations-icon,
.search-places-icon{
  display:inline-block;
  width:1em;
  height:1em;
  vertical-align:-0.125em;
  background-repeat:no-repeat;
  background-position:center;
  background-size:contain;
}

.btn-secondary.btn-secondary--search{
  --bs-btn-bg:#d9dee4;
  --bs-btn-border-color:#cbd2d9;
  --bs-btn-hover-bg:#cbd3db;
  --bs-btn-hover-border-color:#bec7d0;
  --bs-btn-active-bg:#bcc6cf;
  --bs-btn-active-border-color:#b0bac4;
  --bs-btn-disabled-bg:#e6eaee;
  --bs-btn-disabled-border-color:#d9dee4;
}

.classification-container {
  min-width: 0 !important;
  max-width: 100%;
  flex-shrink: 1 !important;
  overflow: hidden;
  text-align: left;
}

.classification-container .breadcrumb-scroll {
  display: inline-flex;
  flex-wrap: nowrap;
  white-space: nowrap;
  max-width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: none;

  margin: 0;
  padding: 0;
  background: transparent;
  font-size: 0.92rem;
  line-height: 1.3;

  --bs-breadcrumb-divider: "";
}

.classification-container .breadcrumb-scroll::-webkit-scrollbar {
  display: none;
}

.classification-container .breadcrumb-item {
  padding: 0 !important;
  margin: 0 !important;
  display: flex;
  align-items: center;
}

.classification-container .breadcrumb-item + .breadcrumb-item::before {
  content: "›" !important;
  font-size: 1em;
  padding: 0 4px;
  color: #555 !important;
}

.classification-container .breadcrumb-scroll button.js-nav,
.classification-container .breadcrumb-scroll button.js-nav:link,
.classification-container .breadcrumb-scroll button.js-nav:visited,
.classification-container .breadcrumb-scroll button.js-nav:hover,
.classification-container .breadcrumb-scroll button.js-nav:focus,
.classification-container .breadcrumb-scroll button.js-nav:active,
.classification-container .breadcrumb-scroll .btn-link,
.classification-container .breadcrumb-scroll .btn-link:hover,
.classification-container .breadcrumb-scroll .btn-link:focus,
.classification-container .breadcrumb-scroll .btn-link:active {
  color: #0060a9 !important;
  text-decoration: underline !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  font-weight: 400;
  font-size: 12px;
}

.classification-container .breadcrumb-item {
  font-weight: 500;
  color: #555;
}
/* ============================================================================
   GOOGLE CSE – THUMBNAIL 50% HEIGHT (FLUSH LEFT, CLEAN WRAP)
   ============================================================================ */

:root{
  --gcs-thumb-height: 75px;   /* half of original 150px */
}

/* --- Thumbnail Layout (inside snippet container) --- */

.gsc-table-result .gsc-table-cell-thumbnail {
  float: left !important;
  display: block !important;

  margin: 4px 12px 6px 0 !important; /* right spacing only */
  padding: 0 !important;
  margin-left: 0 !important;

  width: auto !important;
  max-width: none !important;
}

/* Remove ALL possible left indentation */
.gsc-table-cell-thumbnail,
.gs-image-box,
.gs-web-image-box,
.gsc-thumbnail {
  margin-left: 0 !important;
  padding-left: 0 !important;
  border-left: 0 !important;
  width: auto !important;
  max-width: none !important;
  height: auto !important;
  overflow: hidden !important;
  border-radius: 8px !important;
}

/* --- Image Sizing (height controlled, width auto) --- */

.gs-image img,
.gsc-thumbnail img,
.gs-image,
.gsc-image {
  height: var(--gcs-thumb-height) !important;
  width: auto !important;              /* preserve aspect ratio */
  max-height: var(--gcs-thumb-height) !important;

  object-fit: cover !important;
  border-radius: 8px !important;

  /* Override Google inline sizing */
  inline-size: auto !important;
  block-size: auto !important;
}

/* Clear float properly */
.gsc-table-result::after {
  content: "";
  display: block;
  clear: both;
}

/* --- Title Styling --- */

.gs-title a {
  font-size: 17px !important;
  font-weight: 400 !important;   /* normal weight */
  letter-spacing: -0.1px !important;
  line-height: 1.35 !important;
  color: #0060a9 !important;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, 
               "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
}

/* Only bolded search terms */
.gs-title a b {
  font-size: 17px !important;
  font-weight: 600 !important;   /* normal weight */
  letter-spacing: -0.1px !important;
  line-height: 1.35 !important;
  color: #0060a9 !important;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, 
               "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
}

.gsc-thumbnail-inside {
  margin-bottom: 2px !important;
}

/* Hide duplicate title inside snippet block */
.gsc-table-cell-snippet-close 
  > .gs-title.gsc-table-cell-thumbnail.gsc-thumbnail-left {
  display: none !important;
}

/* Force breadcrumb URL to green */
.gs-visibleUrl-breadcrumb,
.gs-visibleUrl-breadcrumb span {
  color: #0a8a38 !important;
}


hr {
  border-color: rgba(0,0,0,.08);
  margin: 1.25rem 0;
}

.dropdown-menu.menu-dark {
  background-color: #000000 !important;
  color: #ffffff !important;
  border: 1px solid #222 !important;
}

.dropdown-menu.menu-dark,
.dropdown-menu.menu-dark * {
  background-color: #000000 !important;
}

.icon-search {
  display: inline-block;
  background-color: currentColor;

  -webkit-mask-image: url("data:image/svg+xml;utf8,\
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'>\
<path d='M784-120 532-372q-30 24-69 38t-83 14q-109 0-184.5-75.5T120-580q0-109 75.5-184.5T380-840q109 0 184.5 75.5T640-580q0 44-14 83t-38 69l252 252-56 56ZM380-400q75 0 127.5-52.5T560-580q0-75-52.5-127.5T380-760q-75 0-127.5 52.5T200-580q0 75 52.5 127.5T380-400Z'/>\
</svg>");

  mask-image: url("data:image/svg+xml;utf8,\
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'>\
<path d='M784-120 532-372q-30 24-69 38t-83 14q-109 0-184.5-75.5T120-580q0-109 75.5-184.5T380-840q109 0 184.5 75.5T640-580q0 44-14 83t-38 69l252 252-56 56ZM380-400q75 0 127.5-52.5T560-580q0-75-52.5-127.5T380-760q-75 0-127.5 52.5T200-580q0 75 52.5 127.5T380-400Z'/>\
</svg>");

  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;

  vertical-align: middle;
}

.icon-arrow-down {
  display: inline-block;
  width: 40px;
  height: 40px;
  background-color: currentColor;

  -webkit-mask-image: url("data:image/svg+xml;utf8,\
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'>\
<path d='M480-360 280-559.33h400L480-360Z'/>\
</svg>");
  mask-image: url("data:image/svg+xml;utf8,\
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'>\
<path d='M480-360 280-559.33h400L480-360Z'/>\
</svg>");

  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;

  vertical-align: middle;
}

.icon-arrow-up {
  display: inline-block;
  width: 40px;
  height: 40px;
  background-color: currentColor;

  -webkit-mask-image: url("data:image/svg+xml;utf8,\
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'>\
<path d='m280-400 200-200.67L680-400H280Z'/>\
</svg>");
  mask-image: url("data:image/svg+xml;utf8,\
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'>\
<path d='m280-400 200-200.67L680-400H280Z'/>\
</svg>");

  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;

  vertical-align: middle;
}

.icon-menu {
  display: inline-block;
  width: 40px;
  height: 40px;
  background-color: currentColor;

  -webkit-mask-image: url("data:image/svg+xml;utf8,\
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'>\
<path d='M120-240v-66.67h720V-240H120Zm0-206.67v-66.66h720v66.66H120Zm0-206.66V-720h720v66.67H120Z'/>\
</svg>");
  mask-image: url("data:image/svg+xml;utf8,\
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'>\
<path d='M120-240v-66.67h720V-240H120Zm0-206.67v-66.66h720v66.66H120Zm0-206.66V-720h720v66.67H120Z'/>\
</svg>");

  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;

  vertical-align: middle;
}

.icon-home {
  display: inline-block;
  width: 40px;
  height: 40px;
  background-color: currentColor;

  -webkit-mask-image: url("data:image/svg+xml;utf8,\
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'>\
<path d='M226.67-186.67h140v-246.66h226.66v246.66h140v-380L480-756.67l-253.33 190v380ZM160-120v-480l320-240 320 240v480H526.67v-246.67h-93.34V-120H160Zm320-352Z'/>\
</svg>");
  mask-image: url("data:image/svg+xml;utf8,\
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'>\
<path d='M226.67-186.67h140v-246.66h226.66v246.66h140v-380L480-756.67l-253.33 190v380ZM160-120v-480l320-240 320 240v480H526.67v-246.67h-93.34V-120H160Zm320-352Z'/>\
</svg>");

  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;

  vertical-align: middle;
}

.icon-search.sm { width: 20px; height: 20px; }
.icon-search.md { width: 24px; height: 24px; }
.icon-search.lg { width: 28px; height: 28px; }

.btn:hover .icon-menu {
  color: #084298;
}

.btn[aria-expanded="true"] .icon-menu {
  color: #0a58ca;
}


.sn-submenu-icon.is-loading{
  opacity:.5;
  pointer-events:none;
  animation:snPulse .9s ease-in-out infinite alternate;
}

@keyframes snPulse{
  from{opacity:.35}
  to{opacity:.75}
}

.gs-stylized-error-result {
  display: none !important;
}

.gs-stylized-error-message,
.gs-stylized-error-submessage {
  display: none !important;
}

.ta-menu{
  position:absolute;
  top:100%;
  left:0;
  right:0;
  z-index:1050;
  background-color: #ffffff !important;
  background-image: none !important;
  opacity: 1 !important;
  border:1px solid rgba(0,0,0,.15);
  border-radius:.375rem;
  box-shadow:0 .5rem 1rem rgba(0,0,0,.175);
  margin-top:.25rem;
  overflow:hidden;
  display:none;
  max-height: 280px;
  overflow-y:auto;
}

.ta-item{
  padding:.5rem .75rem;
  cursor:pointer;
  line-height:1.25;
  user-select:none;
}

.ta-item:hover,
.ta-item.is-active{
  background: rgba(13,110,253,.12);
}

.ta-hint{
  color:#666;
  font-size:.85rem;
  padding:.35rem .75rem;
  border-top:1px solid rgba(0,0,0,.08);
}

.cse-loading {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  min-height: 40px;
  gap: 10px;
  color: #555;
  font-size: 14px;
}

.cse-spinner {
  width: 36px;
  height: 36px;
  border: 3px solid rgba(0,0,0,.15);
  border-top-color: #0060a9;
  border-radius: 50%;
  animation: cse-spin .8s linear infinite;
}

.cse-loading-text {
  font-weight: 500;
  letter-spacing: .2px;
}

@keyframes cse-spin {
  to { transform: rotate(360deg); }
}

