/* =========================
   SKYHAWK CUSTOM THEME CSS
   Clean rebuild
========================= */

/* ---------- Top header ---------- */

#navbar-top {
  background: #f8f9fa !important;
  border-bottom: 1px solid #d6dce2;
  padding: .25rem .75rem !important;
}

#navbar-top .container {
  max-width: none !important;
  width: 100% !important;
  display: grid !important;
  grid-template-columns: 160px 1fr 390px !important;
  align-items: center !important;
  gap: 1rem !important;
  padding-left: .5rem !important;
  padding-right: .5rem !important;
}

.skyhawk-top-left {
  justify-self: start !important;
}

.skyhawk-login-link a {
  color: #003b5c !important;
  font-weight: 700;
  text-decoration: none;
}

.skyhawk-login-link a:hover {
  text-decoration: underline;
}

.skyhawk-top-branding {
  justify-self: center !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: .75rem !important;
  min-width: 0 !important;
}

.skyhawk-top-branding .navbar-brand {
  display: flex !important;
  align-items: center !important;
  gap: .65rem !important;
  margin: 0 !important;
  padding: 0 !important;
}

.skyhawk-top-branding .navbar-brand img {
  max-height: 44px !important;
  width: auto !important;
}

.skyhawk-top-branding .site-name,
.skyhawk-top-branding .navbar-brand .site-title {
  font-size: 1.55rem !important;
  line-height: 1 !important;
  color: #003b5c !important;
  font-weight: 800 !important;
}

.skyhawk-site-title {
  font-size: .9rem !important;
  font-weight: 600;
  color: #445b71;
  white-space: nowrap;
}

#navbar-top .navbar-form,
#navbar-top .region-top-header-form,
#navbar-top .region-top-header-form form,
#navbar-top form.search-form,
#navbar-top form {
  justify-self: end !important;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: .5rem !important;
  margin: 0 !important;
  width: auto !important;
}

#navbar-top .form-item,
#navbar-top .form-actions {
  margin: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
}

#navbar-top input.form-search,
#navbar-top input[type="search"],
#navbar-top input[type="text"] {
  width: 240px !important;
  max-width: 240px !important;
  height: 36px !important;
  margin: 0 !important;
}

#navbar-top button,
#navbar-top input[type="submit"],
#navbar-top .form-submit {
  height: 36px !important;
  margin: 0 !important;
  white-space: nowrap !important;
}

/* ---------- Main menu ---------- */

#navbar-main {
  padding-top: 0 !important;
  background: #2f6f9f !important;
  border-bottom: 1px solid #1f557d;
}

#navbar-main .container {
  justify-content: center !important;
}

#navbar-main .navbar-toggler {
  display: none !important;
}

#CollapsingNavbar,
#CollapsingNavbar.collapse:not(.show) {
  display: flex !important;
  width: 100%;
  background: #2f6f9f;
  justify-content: center !important;
}

.skyhawk-menu-row {
  width: 100%;
  display: flex;
  justify-content: center;
}

.skyhawk-menu-row .navbar-nav {
  display: flex !important;
  flex-direction: row !important;
  justify-content: center;
  flex-wrap: wrap;
  width: 100%;
  gap: .15rem;
}

.skyhawk-menu-row .nav-link {
  color: #fff !important;
  font-weight: 700;
  padding: .65rem .9rem !important;
}

.skyhawk-menu-row .nav-link:hover,
.skyhawk-menu-row .nav-link:focus {
  background: rgba(255,255,255,.15);
  color: #fff !important;
}

.navbar .dropdown-menu {
  background: #fff !important;
  border: 1px solid rgba(0,0,0,.15) !important;
  box-shadow: 0 6px 14px rgba(0,0,0,.18) !important;
}

.navbar .dropdown-menu a,
.navbar .dropdown-menu .dropdown-item {
  color: #003b5c !important;
  font-weight: 600 !important;
}

.navbar .dropdown-menu a:hover,
.navbar .dropdown-menu .dropdown-item:hover {
  background: #e9f5fb !important;
  color: #001f33 !important;
}

header .contextual,
header .contextual-links {
  display: none !important;
}

/* ---------- Homepage ---------- */

body.path-frontpage .region-featured-top {
  max-width: 960px;
  margin: 1.5rem auto;
}

body.path-frontpage .region-featured-top .block {
  background: #f4f4f4;
  color: #073642;
  border-radius: 14px;
  padding: 1.25rem 1.75rem;
  margin: 1.1rem 0;
  text-align: center;
  box-shadow: 0 4px 14px rgba(0,0,0,.18);
}

body.path-frontpage .region-featured-top .block h2 {
  color: #003b66;
  font-size: 1.55rem !important;
  margin-bottom: .5rem;
}

body.path-frontpage .region-featured-top .block p {
  font-size: 1rem;
  line-height: 1.35;
}

body.path-frontpage #skyhawkCarousel {
  max-width: 920px;
  margin: 1rem auto 1.5rem auto;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 3px 14px rgba(0,0,0,.18);
}

body.path-frontpage #skyhawkCarousel .carousel-item,
body.path-frontpage #skyhawkCarousel img {
  height: 340px;
}

body.path-frontpage #skyhawkCarousel img {
  width: 100%;
  object-fit: cover;
  object-position: center;
}

#skyhawkCarousel .carousel-caption {
  background: rgba(0,0,0,.38);
  padding: .5rem .85rem;
  border-radius: 8px;
}

#skyhawkCarousel .carousel-caption h3 {
  font-size: 1.3rem !important;
  color: #fff;
  margin-bottom: .2rem;
}

#skyhawkCarousel .carousel-caption p {
  font-size: .9rem;
  color: #fff;
  margin-bottom: 0;
}

body:not(.path-frontpage) #skyhawkCarousel {
  display: none !important;
}

/* ---------- Interior pages ---------- */

body:not(.path-frontpage) #main-wrapper {
  background: #eef3f7;
  padding: 1rem 0 !important;
}

body:not(.path-frontpage) main .section {
  max-width: 1000px !important;
  margin: 0 auto;
  background: #fff;
  padding: 1.25rem 1.5rem !important;
  border-radius: 8px !important;
  box-shadow: 0 3px 12px rgba(0,0,0,.08);
}

body {
  font-size: 16px;
  line-height: 1.45;
}

body:not(.path-frontpage) h1,
body:not(.path-frontpage) .page-title,
body:not(.path-frontpage) .node__title {
  font-size: 1.65rem !important;
  margin: .25rem 0 .75rem 0 !important;
  color: #003b5c;
}

body:not(.path-frontpage) h2 {
  font-size: 1.35rem !important;
  color: #003b5c;
}

body:not(.path-frontpage) h3 {
  font-size: 1.15rem !important;
  color: #003b5c;
}

body:not(.path-frontpage) p,
body:not(.path-frontpage) li,
body:not(.path-frontpage) td,
body:not(.path-frontpage) th {
  font-size: .92rem !important;
  line-height: 1.3 !important;
}

body:not(.path-frontpage) img {
  max-width: 100%;
  height: auto;
}

/* ---------- Skyhawk filesystem galleries ---------- */

.skyhawk-gallery-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  gap: 1rem;
  margin-top: 1.5rem;
}

.skyhawk-gallery-item {
  background: #fff;
  border-radius: 8px;
  overflow: hidden;
  text-align: center;
  box-shadow: 0 2px 8px rgba(0,0,0,.12);
  height: 220px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.skyhawk-gallery-item a {
  display: block;
  height: 160px;
  overflow: hidden;
  background: #f2f2f2;
}

.skyhawk-gallery-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.skyhawk-gallery-caption {
  font-size: .75rem;
  line-height: 1.2;
  padding: .45rem;
  word-break: break-word;
  height: 60px;
  overflow: hidden;
}

/* ---------- Views table pages: Gabby + Journal Index ---------- */

body.path-gabby-s-histories main .section,
body.path-skyhawk-journal-index main .section,
body.path-public-skyhawk-journal-index main .section {
  max-width: 96vw !important;
  padding: .75rem !important;
  overflow-x: auto !important;
}

body.path-gabby-s-histories .view,
body.path-skyhawk-journal-index .view,
body.path-public-skyhawk-journal-index .view {
  overflow-x: auto !important;
}

body.path-gabby-s-histories table,
body.path-skyhawk-journal-index table,
body.path-public-skyhawk-journal-index table {
  width: auto !important;
  min-width: 1200px !important;
  table-layout: auto !important;
  border-collapse: collapse !important;
  font-size: .78rem !important;
}

body.path-gabby-s-histories th,
body.path-gabby-s-histories td,
body.path-skyhawk-journal-index th,
body.path-skyhawk-journal-index td,
body.path-public-skyhawk-journal-index th,
body.path-public-skyhawk-journal-index td {
  font-size: .78rem !important;
  line-height: 1.15 !important;
  padding: .22rem .35rem !important;
  vertical-align: top !important;
  border: 1px solid #cfd8e3 !important;
  white-space: normal !important;
}

body.path-gabby-s-histories th,
body.path-skyhawk-journal-index th,
body.path-public-skyhawk-journal-index th {
  background: #dfe7f2 !important;
  color: #003b5c !important;
  font-weight: 700 !important;
}

body.path-gabby-s-histories tr:nth-child(even) td,
body.path-skyhawk-journal-index tr:nth-child(even) td,
body.path-public-skyhawk-journal-index tr:nth-child(even) td {
  background: #f7f9fb !important;
}

body.path-gabby-s-histories input,
body.path-gabby-s-histories select,
body.path-skyhawk-journal-index input,
body.path-skyhawk-journal-index select,
body.path-public-skyhawk-journal-index input,
body.path-public-skyhawk-journal-index select {
  font-size: .85rem !important;
  height: 30px !important;
  padding: .2rem .4rem !important;
}

body.path-gabby-s-histories input[type="submit"],
body.path-skyhawk-journal-index input[type="submit"],
body.path-public-skyhawk-journal-index input[type="submit"] {
  height: 30px !important;
  padding: .2rem .65rem !important;
}

/* ---------- Mobile basic containment ---------- */

@media (max-width: 991px) {
  #navbar-top .container {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: .5rem !important;
  }

  .skyhawk-login-link {
    align-self: flex-end;
    font-size: .9rem;
  }

  .skyhawk-top-branding {
    flex-direction: column !important;
    text-align: center;
  }

  .skyhawk-top-branding .navbar-brand {
    flex-direction: column !important;
  }

  .skyhawk-top-branding .navbar-brand img {
    max-height: 58px !important;
  }

  .skyhawk-site-title {
    white-space: normal !important;
    font-size: .85rem !important;
  }

  #navbar-top .navbar-form,
  #navbar-top .region-top-header-form,
  #navbar-top form {
    justify-content: center !important;
    width: 100% !important;
  }

  #navbar-top input.form-search,
  #navbar-top input[type="search"],
  #navbar-top input[type="text"] {
    width: 180px !important;
  }

  .skyhawk-menu-row .nav-link {
    font-size: .8rem !important;
    padding: .45rem .55rem !important;
  }
}


/* ===== FULL WIDTH LEGACY ARTICLE FIX ===== */

/* kill bootstrap width limits for article/node pages */
.path-node .container,
.path-node .container-fluid,
.page-node-type-page .container,
.page-node-type-article .container {
    max-width: 100% !important;
    width: 98% !important;
}

/* expand the primary content column */
.path-node main .row > div,
.page-node-type-page main .row > div,
.page-node-type-article main .row > div {
    flex: 0 0 100% !important;
    max-width: 100% !important;
}

/* make legacy inline images truly large */
.field--name-body img,
.field__item img {
    width: auto !important;
    max-width: 1400px !important;
    min-width: 900px !important;
    height: auto !important;
    display: block !important;
    margin: 0 auto !important;
}

/* mobile sanity */
@media (max-width: 991px) {
    .field--name-body img,
    .field__item img {
        min-width: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
    }
}
/* Admin edit form / CKEditor rescue pass */
.node-form,
.node-form .form-wrapper,
.node-form .field--name-body,
.node-form .ck-editor,
.node-form .ck-editor__main,
.node-form .ck-editor__editable,
.node-form .ck-content {
  width: 100% !important;
  max-width: none !important;
}

.node-form .ck-editor__editable,
.node-form .ck-content {
  min-height: 650px !important;
  white-space: pre-wrap !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}

.node-form textarea,
.node-form .form-textarea,
.node-form .form-textarea-wrapper textarea {
  width: 100% !important;
  max-width: none !important;
  min-height: 650px !important;
  font-family: Consolas, Monaco, monospace !important;
  font-size: 15px !important;
  white-space: pre !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}

.node-form .layout-region-node-main,
.node-form .layout-region-node-footer {
  width: 100% !important;
  max-width: none !important;
}

.node-form .layout-region-node-secondary {
  width: 100% !important;
  max-width: none !important;
}

@media (min-width: 992px) {
  .path-node .main-content,
  .path-node .region-content,
  .path-node form.node-form {
    width: 100% !important;
    max-width: none !important;
  }
}



/* =========================================================
   Skyhawk main menu: classic hover dropdowns
   Stored in safe custom repository, loaded by skyhawk_site_fixes.
   ========================================================= */

#navbar-main,
#navbar-main .container,
#navbar-main .navbar-collapse,
#navbar-main .navigation,
#navbar-main .block-menu,
#navbar-main .skyhawk-menu-row,
#navbar-main ul,
#navbar-main li {
  overflow: visible !important;
}

#navbar-main .dropdown {
  position: relative !important;
}

#navbar-main .dropdown-menu {
  display: none !important;
  position: absolute !important;
  top: 100% !important;
  left: 0 !important;
  z-index: 99999 !important;
  min-width: 260px !important;
  width: auto !important;
  max-height: none !important;
  background: #2f6f9f !important;
  border: 1px solid #1f557d !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: 0 6px 14px rgba(0,0,0,.25) !important;
}

#navbar-main .dropdown:hover > .dropdown-menu,
#navbar-main .dropdown:focus-within > .dropdown-menu {
  display: block !important;
}

#navbar-main .dropdown-menu li,
#navbar-main .dropdown-menu .dropdown-item {
  display: block !important;
  width: 100% !important;
  float: none !important;
  clear: both !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
}

#navbar-main .dropdown-menu a,
#navbar-main .dropdown-menu .dropdown-item > a {
  display: block !important;
  width: 100% !important;
  color: #ffffff !important;
  padding: 10px 14px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  background: transparent !important;
}

#navbar-main .dropdown-menu a:hover,
#navbar-main .dropdown-menu a:focus,
#navbar-main .dropdown-menu .dropdown-item:hover > a {
  background: #1f557d !important;
  color: #ffffff !important;
}

/* Nested flyouts */

#navbar-main .dropdown-menu .dropdown {
  position: relative !important;
}

#navbar-main .dropdown-menu .dropdown-menu {
  top: 0 !important;
  left: 100% !important;
}


/* =========================================================
   YP Memorial page restore
   ========================================================= */

body.path-memories-of-yp .yp-memories-wrap {
  max-width: 900px !important;
  margin: 0 auto !important;
  padding: 30px 20px 90px 20px !important;
}

body.path-memories-of-yp .yp-memory-submit {
  text-align: center !important;
  margin: 0 0 50px 0 !important;
}

body.path-memories-of-yp .yp-memory-submit a {
  display: inline-block !important;
  padding: 16px 28px !important;
  background: #17324d !important;
  color: #fff !important;
  text-decoration: none !important;
  border-radius: 10px !important;
  font-weight: bold !important;
  font-size: 22px !important;
}

body.path-memories-of-yp .yp-memory-card {
  display: block !important;
  clear: both !important;
  background: #fff !important;
  border: 4px solid #b8c8d8 !important;
  border-radius: 18px !important;
  padding: 30px !important;
  margin: 0 0 120px 0 !important;
  box-shadow: 0 6px 18px rgba(0,0,0,.18) !important;
}

body.path-memories-of-yp .yp-memory-photo {
  display: block !important;
  text-align: center !important;
  margin: 0 0 35px 0 !important;
  padding: 0 !important;
}

body.path-memories-of-yp .yp-memory-photo img {
  display: block !important;
  width: 100% !important;
  max-width: 700px !important;
  height: auto !important;
  margin: 0 auto !important;
  padding: 0 !important;
  border-radius: 14px !important;
  box-shadow: 0 4px 14px rgba(0,0,0,.18) !important;
}

body.path-memories-of-yp .yp-memory-name {
  font-size: 32px !important;
  font-weight: bold !important;
  color: #17324d !important;
  margin: 0 0 10px 0 !important;
}

body.path-memories-of-yp .yp-memory-date {
  font-size: 16px !important;
  color: #666 !important;
  margin: 0 0 24px 0 !important;
}

body.path-memories-of-yp .yp-memory-text {
  font-size: 22px !important;
  line-height: 1.7 !important;
  color: #333 !important;
  margin: 0 !important;
}

body.path-memories-of-yp .yp-memory-empty {
  text-align: center !important;
  font-size: 22px !important;
  color: #666 !important;
  margin-top: 50px !important;
}



/* ===================================================== */
/* EXTRACTED FROM LEGACY BOOTSTRAP_BARRIO PAGE TWIG      */
/* Migration timestamp: 1779539532                         */
/* ===================================================== */


/* =========================
   SEARCH BAR
========================= */

#block-bootstrap-barrio-search-form-narrow form,
#block-bootstrap-barrio-search-form-narrow #search-block-form {
  display:flex;
  align-items:center;
  gap:.5rem;
  flex-wrap:nowrap;
}

#block-bootstrap-barrio-search-form-narrow .form-item,
#block-bootstrap-barrio-search-form-narrow .form-actions {
  margin:0 !important;
}

#block-bootstrap-barrio-search-form-narrow input[type="search"] {
  width:220px !important;
  min-width:160px !important;
  background:#fff !important;
  border:1px solid #666 !important;
}

/* =========================
   TOP HEADER
========================= */

#region-top-header-form,
.region-top-header-form {
  width:100%;
  display:flex !important;
  justify-content:space-between !important;
  align-items:center !important;
  padding:.5rem 1rem !important;
}

#block-bootstrap-barrio-account-menu ul {
  display:flex !important;
  list-style:none !important;
  margin:0 !important;
  padding:0 !important;
  gap:1rem !important;
}

#block-bootstrap-barrio-search-form-narrow {
  margin-left:auto !important;
}

/* =========================
   MAIN NAVBAR
========================= */

#navbar-main {
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
}

.skyhawk-branding-row {
  width:100%;
  display:flex;
  justify-content:center;
  text-align:center;
}

#block-bootstrap-barrio-site-branding,
.navbar-brand {
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  margin:1rem auto !important;
}

#block-bootstrap-barrio-site-branding img {
  max-width:135px;
  margin-bottom:.5rem;
}

#block-bootstrap-barrio-site-branding a {
  font-size:2rem;
  color:#fff;
  text-decoration:none;
}

#CollapsingNavbar {
  width:100%;
  display:flex !important;
  justify-content:center !important;
}

.skyhawk-menu-row {
  width:100%;
  display:flex;
  justify-content:center;
}

#CollapsingNavbar .navbar-nav {
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  flex-wrap:wrap !important;
  gap:2rem !important;
  margin:0 auto !important;
}

#CollapsingNavbar .nav-item {
  white-space:nowrap;
}

/* =========================
   DROPDOWN HOVER
========================= */

@media (min-width:992px) {

  .dropdown:hover > .dropdown-menu {
    display:block;
    margin-top:0;
  }

  .dropdown:hover .dropdown-toggle::after {
    transform:rotate(180deg);
  }

  .navbar-toggler {
    display:none !important;
  }
}

/* =========================
   MOBILE
========================= */

@media (max-width:991px) {

  #block-bootstrap-barrio-site-branding img {
    max-width:110px;
  }

  #block-bootstrap-barrio-site-branding a {
    font-size:1.6rem;
  }

  #CollapsingNavbar {
    display:block !important;
  }

  #CollapsingNavbar .navbar-nav {
    gap:1rem !important;
  }
}

/* Homepage feature blocks */
body.path-frontpage .region-featured-top {
  max-width: 960px;
  margin: 2rem auto;
}

body.path-frontpage .region-featured-top .block {
  background: #f4f4f4;
  color: #073642;
  border-radius: 14px;
  padding: 1.75rem 2rem;
  margin: 1.5rem 0;
  text-align: center;
  box-shadow: 0 4px 14px rgba(0,0,0,.25);
}

body.path-frontpage .region-featured-top .block h2 {
  color: #003b66;
  font-size: 1.8rem;
  margin-bottom: .75rem;
}

body.path-frontpage .region-featured-top .block p {
  font-size: 1.15rem;
  line-height: 1.45;
}

body.path-frontpage .region-featured-top .block a {
  color: #005ea8;
  font-weight: 700;
}

body.path-frontpage article.node {
  max-width: 980px;
  margin: 2rem auto;
  background: rgba(255,255,255,.04);
  padding: 2rem;
  border-radius: 14px;
}

/* Phase 1: Yeti dropdown readability */
.navbar .dropdown-menu {
  background: #ffffff !important;
  border: 1px solid rgba(0, 0, 0, .15) !important;
  box-shadow: 0 6px 14px rgba(0, 0, 0, .18) !important;
}

.navbar .dropdown-menu .dropdown-item,
.navbar .dropdown-menu a {
  color: #003b5c !important;
  font-weight: 600 !important;
}

.navbar .dropdown-menu .dropdown-item:hover,
.navbar .dropdown-menu .dropdown-item:focus,
.navbar .dropdown-menu a:hover,
.navbar .dropdown-menu a:focus {
  background: #e9f5fb !important;
  color: #001f33 !important;
  text-decoration: none !important;
}

.navbar .nav-link,
.navbar .navbar-nav .nav-link {
  padding-left: 1rem !important;
  padding-right: 1rem !important;
}

/* Phase 1: separate identity area from menu bar */

/* Top utility bar: login left, search right */
#navbar-top {
  background: #f8f9fa !important;
  border-bottom: 1px solid #d6dce2;
  padding: .35rem 0;
}

#navbar-top .container {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.skyhawk-login-link {
  font-weight: 600;
}

.skyhawk-login-link a {
  color: #003b5c;
  text-decoration: none;
}

.skyhawk-login-link a:hover {
  text-decoration: underline;
}



/* Menu bar below branding */
#CollapsingNavbar {
  width: 100%;
  background: #2c6f9f;
  justify-content: center !important;
}

.skyhawk-menu-row {
  width: 100%;
  display: flex;
  justify-content: center;
}

.skyhawk-menu-row .navbar-nav {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: .25rem;
}

.skyhawk-menu-row .nav-link {
  color: #ffffff !important;
  font-weight: 600;
  padding: .85rem 1.05rem !important;
}

.skyhawk-menu-row .nav-link:hover,
.skyhawk-menu-row .nav-link:focus {
  background: rgba(255,255,255,.15);
  color: #ffffff !important;
}

/* Branding area */
#navbar-main {
  display: flex !important;
  flex-direction: column !important;
  background: #f4f6f8 !important;
  border-bottom: 1px solid #cfd8e3;
  padding-top: .25rem;
}

.skyhawk-branding-row {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: .25rem .75rem .35rem .75rem;
}

.skyhawk-branding-row .navbar-brand {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  gap: .65rem;
  margin: 0 auto !important;
  text-decoration: none;
  color: #003b5c !important;
  white-space: nowrap;
}

.skyhawk-branding-row .navbar-brand img {
  max-width: 58px;
  height: auto;
  margin: 0 !important;
}

.skyhawk-branding-row .site-title-group {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
}

.skyhawk-branding-row .site-name {
  font-size: 1.75rem;
  font-weight: 800;
  line-height: 1.05;
  color: #003b5c;
}

.skyhawk-branding-row .site-slogan {
  font-size: .95rem;
  font-weight: 600;
  color: #4b5f73;
  margin-top: .15rem;
  line-height: 1.15;
  white-space: normal;
}

/* Hide hamburger and keep nav visible */
#navbar-main .navbar-toggler {
  display: none !important;
}

#CollapsingNavbar {
  display: flex !important;
  width: 100%;
  background: #2f6f9f;
  justify-content: center !important;
  height: auto !important;
}

.skyhawk-menu-row {
  width: 100%;
  display: flex;
  justify-content: center;
}

.skyhawk-menu-row .navbar-nav {
  display: flex !important;
  flex-direction: row !important;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: .15rem;
  width: 100%;
}

.skyhawk-menu-row .nav-link {
  color: #ffffff !important;
  font-weight: 600;
  padding: .65rem .85rem !important;
}

.skyhawk-menu-row .nav-link:hover,
.skyhawk-menu-row .nav-link:focus {
  background: rgba(255,255,255,.15);
  color: #ffffff !important;
}

/* Mobile */
@media (max-width: 991px) {
  .skyhawk-branding-row {
    padding: .25rem .5rem;
  }

  .skyhawk-branding-row .navbar-brand {
    flex-direction: row !important;
    gap: .45rem;
    white-space: normal;
  }

  .skyhawk-branding-row .navbar-brand img {
    max-width: 42px;
  }

  .skyhawk-branding-row .site-name {
    font-size: 1.15rem;
    line-height: 1.05;
  }

  .skyhawk-branding-row .site-slogan {
    font-size: .7rem;
    line-height: 1.1;
  }

  #CollapsingNavbar {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  #CollapsingNavbar.collapse:not(.show) {
    display: flex !important;
  }

  .skyhawk-menu-row .navbar-nav {
    flex-direction: row !important;
    flex-wrap: wrap;
    justify-content: center;
    text-align: center;
    padding: .25rem 0;
  }

  .skyhawk-menu-row .nav-link {
    font-size: .82rem;
    padding: .45rem .55rem !important;
  }

  .navbar .dropdown-menu {
    text-align: center;
    border-radius: 0;
  }
}

/* Header utility row: login left, brand center, search right */
#navbar-top .container {
  display: grid !important;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 1rem;
}

.skyhawk-login-link {
  justify-self: start;
  padding-left: .75rem;
}

#navbar-top .navbar-form,
#navbar-top .region-top-header-form,
#navbar-top form {
  justify-self: end;
  display: flex !important;
  align-items: center !important;
  gap: .5rem;
  margin: 0 !important;
}

#navbar-top input.form-search,
#navbar-top input[type="search"],
#navbar-top input[type="text"] {
  width: 240px;
  max-width: 240px;
}

#navbar-top .form-actions,
#navbar-top .form-submit {
  margin: 0 !important;
}

/* Move branding into compact inline style */
.skyhawk-branding-row {
  padding: .35rem 0 !important;
}

.skyhawk-branding-row .navbar-brand {
  flex-direction: row !important;
  gap: .55rem !important;
}

.skyhawk-branding-row .navbar-brand img {
  max-width: 48px !important;
}

.skyhawk-branding-row .site-name {
  font-size: 1.45rem !important;
  white-space: nowrap;
}

.skyhawk-branding-row .site-slogan {
  font-size: .78rem !important;
  white-space: nowrap;
}

/* Hide admin contextual edit menu clutter in header */
header .contextual,
header .contextual-links,
header .contextual-region .contextual {
  display: none !important;
}

/* Keep nav bar below */
#CollapsingNavbar {
  margin-top: 0 !important;
}

/* Compact top header: login left, brand center, search right */
#navbar-top {
  background: #f8f9fa !important;
  border-bottom: 1px solid #d6dce2;
  padding: .35rem 0 !important;
}

#navbar-top .container {
  display: grid !important;
  grid-template-columns: 1fr auto 1fr;
  align-items: center !important;
  gap: 1rem;
}

.skyhawk-top-left {
  justify-self: start;
}

.skyhawk-login-link a {
  color: #003b5c !important;
  font-weight: 700;
  text-decoration: none;
}

.skyhawk-login-link a:hover {
  text-decoration: underline;
}

/* Center compact branding */
.skyhawk-top-branding {
  justify-self: center;
  text-align: center;
}

.skyhawk-top-brand-link {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  text-decoration: none !important;
  color: #003b5c !important;
  white-space: nowrap;
}

.skyhawk-top-brand-link img {
  max-height: 42px;
  width: auto;
}

.skyhawk-top-title {
  font-size: 1.35rem;
  font-weight: 800;
  line-height: 1;
}

.skyhawk-top-slogan {
  font-size: .78rem;
  font-weight: 600;
  color: #4b5f73;
  margin-left: .35rem;
}

/* Search inline on right */
#navbar-top .navbar-form,
#navbar-top .region-top-header-form,
#navbar-top form {
  justify-self: end;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: .5rem;
  margin: 0 !important;
}

#navbar-top input.form-search,
#navbar-top input[type="search"],
#navbar-top input[type="text"] {
  width: 230px;
  max-width: 230px;
  height: 38px;
}

#navbar-top .form-actions,
#navbar-top .form-submit,
#navbar-top button {
  margin: 0 !important;
  white-space: nowrap;
}

/* Main nav now menu-only */
#navbar-main {
  padding-top: 0 !important;
  background: #2f6f9f !important;
  border-bottom: 1px solid #1f557d;
}

#navbar-main .container {
  justify-content: center !important;
}

#CollapsingNavbar {
  width: 100%;
  background: #2f6f9f;
  justify-content: center !important;
}

.skyhawk-menu-row {
  width: 100%;
  display: flex;
  justify-content: center;
}

.skyhawk-menu-row .navbar-nav {
  display: flex !important;
  flex-direction: row !important;
  justify-content: center;
  flex-wrap: wrap;
  width: 100%;
}

.skyhawk-menu-row .nav-link {
  color: #fff !important;
  font-weight: 700;
  padding: .75rem 1rem !important;
}

/* Hide hamburger for now */
#navbar-main .navbar-toggler {
  display: none !important;
}

/* Header admin contextual clutter */
header .contextual,
header .contextual-links {
  display: none !important;
}

/* MOBILE HEADER REBUILD */
@media (max-width: 991px) {

  #navbar-top {
    padding: .5rem .75rem !important;
  }

  #navbar-top .container {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: .75rem !important;
  }

  /* login/logout */
  .skyhawk-login-link {
    align-self: flex-end;
    font-size: .9rem;
    margin-bottom: -.25rem;
  }

  /* branding */
  .skyhawk-top-branding {
    width: 100%;
    display: flex;
    justify-content: center;
  }

  .skyhawk-top-branding .navbar-brand {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    gap: .35rem !important;
    white-space: normal !important;
  }

  .skyhawk-top-branding .navbar-brand img {
    max-height: 58px !important;
    width: auto !important;
  }

  .skyhawk-top-branding .site-name,
  .skyhawk-top-branding .navbar-brand .site-title {
    font-size: 1.5rem !important;
    line-height: 1.15 !important;
    color: #003b5c !important;
  }

  .skyhawk-site-title,
  .skyhawk-top-slogan {
    font-size: .9rem !important;
    line-height: 1.25 !important;
    text-align: center;
    max-width: 90%;
    color: #445b71;
  }

  /* search */
  #navbar-top .navbar-form,
  #navbar-top .region-top-header-form,
  #navbar-top form {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: .35rem !important;
    width: 100%;
  }

  #navbar-top input.form-search,
  #navbar-top input[type="search"],
  #navbar-top input[type="text"] {
    width: 180px !important;
    height: 38px !important;
  }

  #navbar-top button,
  #navbar-top .form-submit {
    height: 38px !important;
  }

  /* nav menu */
  .skyhawk-menu-row .navbar-nav {
    display: flex !important;
    flex-wrap: wrap !important;
    flex-direction: row !important;
    justify-content: center !important;
    gap: .2rem;
  }

  .skyhawk-menu-row .nav-link {
    font-size: .82rem !important;
    padding: .45rem .55rem !important;
  }

  /* remove hamburger forever */
  .navbar-toggler {
    display: none !important;
  }

  #CollapsingNavbar {
    display: flex !important;
  }
}


/* Final top header alignment pass */
#navbar-top .container {
  max-width: none !important;
  width: 100% !important;
  padding-left: .5rem !important;
  padding-right: .75rem !important;
  display: grid !important;
  grid-template-columns: 180px 1fr 420px !important;
  align-items: center !important;
  column-gap: 1rem !important;
}

.skyhawk-top-left {
  justify-self: start !important;
  margin: 0 !important;
  padding: 0 !important;
}

.skyhawk-login-link {
  margin: 0 !important;
  padding: 0 !important;
}

.skyhawk-top-branding {
  justify-self: center !important;
  min-width: 0 !important;
}

#navbar-top .form-inline,
#navbar-top .navbar-form,
#navbar-top .region-top-header-form,
#navbar-top .region-top-header-form form,
#navbar-top form.search-form,
#navbar-top form {
  justify-self: end !important;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: .5rem !important;
  margin: 0 !important;
  width: auto !important;
}

#navbar-top .form-item,
#navbar-top .form-actions {
  margin: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
}

#navbar-top input.form-search,
#navbar-top input[type="search"],
#navbar-top input[type="text"] {
  width: 250px !important;
  max-width: 250px !important;
  height: 38px !important;
  margin: 0 !important;
}

#navbar-top button,
#navbar-top input[type="submit"],
#navbar-top .form-submit {
  height: 38px !important;
  margin: 0 !important;
  white-space: nowrap !important;
}

/* keep logo/title compact */
.skyhawk-top-branding .navbar-brand img {
  max-height: 46px !important;
  width: auto !important;
}

.skyhawk-top-branding .site-name {
  font-size: 1.65rem !important;
  line-height: 1 !important;
}

.skyhawk-site-title {
  font-size: .95rem !important;
  white-space: nowrap !important;
}


/* Interior page cleanup: all pages except homepage */
body:not(.path-frontpage) #main-wrapper {
  background: #eef3f7;
  padding: 2rem 0;
}

body:not(.path-frontpage) main .section {
  max-width: 1100px;
  margin: 0 auto;
  background: #ffffff;
  padding: 2rem;
  border-radius: 12px;
  box-shadow: 0 3px 12px rgba(0,0,0,.08);
}

body:not(.path-frontpage) h1,
body:not(.path-frontpage) h2,
body:not(.path-frontpage) h3 {
  color: #003b5c;
  line-height: 1.2;
  margin-top: 1.25rem;
  margin-bottom: .75rem;
}

body:not(.path-frontpage) p,
body:not(.path-frontpage) li {
  font-size: 1.05rem;
  line-height: 1.55;
}

body:not(.path-frontpage) img {
  max-width: 100%;
  height: auto;
}

body:not(.path-frontpage) table {
  max-width: 100%;
  background: #ffffff;
}

body:not(.path-frontpage) .field--name-body {
  overflow-x: auto;
}

body:not(.path-frontpage) hr {
  margin: 1.5rem 0;
  opacity: .25;
}

/* Image listing / thumbnail cleanup */
body:not(.path-frontpage) .field--name-body img,
body:not(.path-frontpage) main .section img {
  max-width: 100%;
  height: auto;
}

body:not(.path-frontpage) main .section form img {
  width: 110px;
  height: 82px;
  object-fit: cover;
  display: block;
  margin-bottom: .35rem;
  border-radius: 4px;
  box-shadow: 0 2px 6px rgba(0,0,0,.15);
}

body:not(.path-frontpage) main .section form td,
body:not(.path-frontpage) main .section form .form-item {
  vertical-align: top;
}

body:not(.path-frontpage) main .section form label,
body:not(.path-frontpage) main .section form a {
  word-break: break-word;
}

body:not(.path-frontpage) main .section form {
  overflow-x: auto;
}

.skyhawk-gallery-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  gap: 1rem;
  margin-top: 1.5rem;
}

.skyhawk-gallery-item {
  background: #fff;
  border-radius: 8px;
  overflow: hidden;
  text-align: center;
  box-shadow: 0 2px 8px rgba(0,0,0,.12);
  height: 220px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.skyhawk-gallery-item a {
  display: block;
  height: 160px;
  overflow: hidden;
  background: #f2f2f2;
}

.skyhawk-gallery-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.skyhawk-gallery-caption {
  font-size: .75rem;
  line-height: 1.2;
  padding: .45rem;
  word-break: break-word;
  height: 60px;
  overflow: hidden;
}

/* Homepage carousel only */
body.path-frontpage #skyhawkCarousel {
  margin: 1rem auto 2rem auto;
  max-width: 1400px;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 4px 18px rgba(0,0,0,.2);
}

body.path-frontpage #skyhawkCarousel .carousel-item {
  height: 420px;
}

body.path-frontpage #skyhawkCarousel img {
  width: 100%;
  height: 420px;
  object-fit: cover;
  object-position: center;
  display: block;
}

body:not(.path-frontpage) #skyhawkCarousel {
  display: none !important;
}

/* ===== Global typography cleanup ===== */

body {
  font-size: 16px;
  line-height: 1.45;
}

h1,
.node__title,
.page-title {
  font-size: 2.2rem !important;
  line-height: 1.15;
  font-weight: 600;
}

h2 {
  font-size: 1.7rem !important;
}

h3 {
  font-size: 1.35rem !important;
}

p,
li,
div,
span {
  font-size: 1rem;
}

/* tighten giant content cards */
.block,
.node,
.views-row,
main section {
  margin-bottom: 1rem;
}

/* ===== Homepage carousel cleanup ===== */

body.path-frontpage #skyhawkCarousel {
  max-width: 920px;
  margin: 1rem auto 1.5rem auto;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 3px 14px rgba(0,0,0,.18);
}

body.path-frontpage #skyhawkCarousel .carousel-item {
  height: 360px;
}

body.path-frontpage #skyhawkCarousel img {
  width: 100%;
  height: 360px;
  object-fit: cover;
  object-position: center;
}

/* smaller caption */
#skyhawkCarousel .carousel-caption {
  background: rgba(0,0,0,.38);
  padding: .5rem .85rem;
  border-radius: 8px;
}

#skyhawkCarousel .carousel-caption h3 {
  font-size: 1.4rem !important;
  margin-bottom: .2rem;
  color: #fff;
}

#skyhawkCarousel .carousel-caption p {
  font-size: .95rem;
  margin-bottom: 0;
  color: #fff;
}

/* Tighten interior content pages */
body:not(.path-frontpage) #main-wrapper {
  padding: 1rem 0 !important;
}

body:not(.path-frontpage) main .section {
  max-width: 960px !important;
  padding: 1.25rem 1.5rem !important;
  border-radius: 8px !important;
}

body:not(.path-frontpage) h1,
body:not(.path-frontpage) .page-title,
body:not(.path-frontpage) .node__title {
  font-size: 1.65rem !important;
  margin: .25rem 0 .75rem 0 !important;
}

body:not(.path-frontpage) p,
body:not(.path-frontpage) li,
body:not(.path-frontpage) td,
body:not(.path-frontpage) th {
  font-size: .92rem !important;
  line-height: 1.3 !important;
}

/* Legacy table/image pages */
body:not(.path-frontpage) table {
  width: 100% !important;
  max-width: 100% !important;
}

body:not(.path-frontpage) table img {
  max-width: 220px !important;
  height: auto !important;
}

/* Unit patch/article image grids */
body[class*="article-unit"] main .section img,
body.path-article-unit main .section img,
body:not(.path-frontpage) .field--name-body img {
  max-width: 240px !important;
  height: auto !important;
}

/* Reduce admin/view tabs bulk */
body:not(.path-frontpage) .tabs,
body:not(.path-frontpage) .nav-tabs {
  margin-bottom: .75rem !important;
}

body:not(.path-frontpage) .nav-tabs .nav-link {
  padding: .35rem .7rem !important;
  font-size: .9rem !important;
}

/* ===== GLOBAL TYPOGRAPHY TIGHTENING ===== */

body {
  font-size: 16px;
  line-height: 1.45;
}

h1 {
  font-size: 2.2rem !important;
}

h2 {
  font-size: 1.8rem !important;
}

h3 {
  font-size: 1.5rem !important;
}

.node__content,
.field,
.region-content {
  font-size: 1rem;
}

table {
  font-size: .95rem;
}

.views-row,
.card,
.block,
.node {
  margin-bottom: 1.25rem;
}

/* Gabby's Histories: stop table squeeze */
body.path-gabby-s-histories .field--name-body {
  overflow-x: auto !important;
}

body.path-gabby-s-histories table {
  width: auto !important;
  min-width: 1200px !important;
  table-layout: auto !important;
  display: table !important;
}

body.path-gabby-s-histories th,
body.path-gabby-s-histories td {
  white-space: normal !important;
  min-width: 70px !important;
}

body.path-gabby-s-histories td:nth-child(7),
body.path-gabby-s-histories td:nth-child(8) {
  min-width: 260px !important;
}

body.path-gabby-s-histories th:nth-child(7),
body.path-gabby-s-histories th:nth-child(8) {
  min-width: 260px !important;
}

/* Gabby's Histories table cleanup */
body.path-gabby-s-histories main .section {
  max-width: 1060px !important;
  padding: 1rem !important;
}

body.path-gabby-s-histories h1 {
  font-size: 1.8rem !important;
  margin-bottom: .75rem !important;
}

body.path-gabby-s-histories table {
  width: 100% !important;
  border-collapse: collapse !important;
  font-size: .82rem !important;
}

body.path-gabby-s-histories th,
body.path-gabby-s-histories td {
  font-size: .82rem !important;
  line-height: 1.18 !important;
  padding: .25rem .35rem !important;
  vertical-align: top !important;
  border: 1px solid #cfd8e3 !important;
}

body.path-gabby-s-histories th {
  background: #dfe7f2 !important;
  color: #003b5c !important;
  font-weight: 700 !important;
  text-align: center !important;
}

body.path-gabby-s-histories tr:nth-child(even) td {
  background: #f7f9fb !important;
}

body.path-gabby-s-histories .field--name-body {
  overflow-x: auto !important;
}

body.path-gabby-s-histories input[type="text"] {
  height: 30px !important;
  font-size: .9rem !important;
  padding: .25rem .4rem !important;
}

body.path-gabby-s-histories input[type="submit"],
body.path-gabby-s-histories button {
  padding: .25rem .65rem !important;
  font-size: .85rem !important;
}

/* Undo global image shrink weirdness on Gabby table if any images exist */
body.path-gabby-s-histories table img {
  max-width: 100% !important;
  height: auto !important;
}

/* CKEditor/edit-form rescue: keep public page styling out of editor screens */
body.path-node form.node-form main .section,
body.path-node form.node-form,
body.path-node .layout-region-node-main,
body.path-node .form-wrapper,
body.path-node .ck-editor,
body.path-node .ck-editor__main,
body.path-node .ck-content {
  max-width: none !important;
  width: auto !important;
  padding: initial !important;
  margin: initial !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  background: transparent !important;
}

.ck-editor__editable,
.ck-editor__editable_inline,
.ck-content {
  min-height: 500px !important;
  width: 100% !important;
  max-width: none !important;
}

textarea.form-textarea,
.form-textarea-wrapper textarea {
  min-height: 500px !important;
  width: 100% !important;
  max-width: none !important;
}

/* =========================================================
   GLOBAL DAMAGE CONTROL OVERRIDES
   Added during upstream Barrio restoration cleanup
========================================================= */

/* Stop global section spacing from distorting layout */
main section {
  margin-bottom: initial !important;
}

/* Stop legacy tables from being forcibly compressed */
body.path-board-of-directors table,
body.path-board-photos table,
body.path-gabby-s-histories table {
  width: auto !important;
  max-width: none !important;
  table-layout: auto !important;
}

/* Stop global image shrinking on legacy content pages */
body.path-board-of-directors .field--name-body img,
body.path-board-photos .field--name-body img,
body.path-gabby-s-histories .field--name-body img {
  max-width: none !important;
  width: auto !important;
  height: auto !important;
}

/* Normalize logged-out top header geometry */
#navbar-top .container {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: nowrap !important;
}

/* Keep branding centered */
.skyhawk-top-branding {
  flex: 1 1 auto !important;
  text-align: center !important;
  justify-content: center !important;
}

/* Keep login area stable */
.skyhawk-top-left {
  flex: 0 0 auto !important;
}

/* Keep search area stable */
.region-top-header-form {
  flex: 0 0 auto !important;
}

/* =========================================================
   FOCUSED STABILIZATION AFTER UPSTREAM BARRIO RESTORE
   Goals:
   1. Do not disturb YP memorial page.
   2. Fix legacy table/image pages.
   3. Normalize top header.
========================================================= */

/* Never let broad legacy fixes alter Jack / YP memorial cards */
body.path-memories-of-yp .yp-memories-wrap,
body.path-memories-of-yp .yp-memory-card,
body.path-memories-of-yp .yp-memory-photo,
body.path-memories-of-yp .yp-memory-text {
  all: revert-layer;
}

/* Re-assert the memorial styling explicitly */
body.path-memories-of-yp .yp-memories-wrap {
  max-width: 900px !important;
  margin: 0 auto !important;
  padding: 30px 20px 90px 20px !important;
}

body.path-memories-of-yp .yp-memory-card {
  display: block !important;
  clear: both !important;
  background: #fff !important;
  border: 4px solid #b8c8d8 !important;
  border-radius: 18px !important;
  padding: 30px !important;
  margin: 0 0 120px 0 !important;
  box-shadow: 0 6px 18px rgba(0,0,0,.18) !important;
}

body.path-memories-of-yp .yp-memory-photo {
  display: block !important;
  text-align: center !important;
  margin: 0 0 35px 0 !important;
  padding: 0 !important;
}

body.path-memories-of-yp .yp-memory-photo img {
  display: block !important;
  width: 100% !important;
  max-width: 700px !important;
  height: auto !important;
  margin: 0 auto !important;
  padding: 0 !important;
  border-radius: 14px !important;
  box-shadow: 0 4px 14px rgba(0,0,0,.18) !important;
}

body.path-memories-of-yp .yp-memory-name {
  font-size: 32px !important;
  font-weight: bold !important;
  color: #17324d !important;
  margin: 0 0 10px 0 !important;
}

body.path-memories-of-yp .yp-memory-date {
  font-size: 16px !important;
  color: #666 !important;
  margin: 0 0 24px 0 !important;
}

body.path-memories-of-yp .yp-memory-text {
  font-size: 22px !important;
  line-height: 1.7 !important;
  color: #333 !important;
  margin: 0 !important;
}

/* Header: force stable three-zone top row */
#navbar-top .container {
  max-width: none !important;
  width: 100% !important;
  display: grid !important;
  grid-template-columns: 180px minmax(260px, 1fr) 360px !important;
  align-items: center !important;
  gap: 1rem !important;
}

#navbar-top .region-top-header {
  justify-self: start !important;
}

#navbar-top .navbar-brand,
#navbar-top .site-branding,
#navbar-top .skyhawk-top-branding {
  justify-self: center !important;
  text-align: center !important;
}

#navbar-top .region-top-header-form,
#navbar-top .navbar-form {
  justify-self: end !important;
  width: auto !important;
}

/* Search form: keep it on one line */
#navbar-top form,
#navbar-top #search-block-form {
  display: flex !important;
  align-items: center !important;
  gap: .45rem !important;
  margin: 0 !important;
  flex-wrap: nowrap !important;
}

#navbar-top .form-item,
#navbar-top .form-actions {
  margin: 0 !important;
}

#navbar-top input[type="search"],
#navbar-top input.form-search {
  width: 230px !important;
  max-width: 230px !important;
}

/* Legacy table pages: stop image/table compression */
body.path-board-of-directors .field--name-body,
body.path-board-photos .field--name-body,
body.path-directors .field--name-body {
  overflow-x: auto !important;
}

body.path-board-of-directors table,
body.path-board-photos table,
body.path-directors table {
  width: auto !important;
  max-width: none !important;
  table-layout: auto !important;
  border-collapse: collapse !important;
}

body.path-board-of-directors table img,
body.path-board-photos table img,
body.path-directors table img {
  max-width: none !important;
  width: auto !important;
  height: auto !important;
}

/* Keep old table cells readable without globally crushing every table */
body.path-board-of-directors th,
body.path-board-of-directors td,
body.path-board-photos th,
body.path-board-photos td,
body.path-directors th,
body.path-directors td {
  vertical-align: top !important;
  white-space: normal !important;
}

@media (max-width: 991px) {
  #navbar-top .container {
    grid-template-columns: 1fr !important;
    text-align: center !important;
  }

  #navbar-top .region-top-header,
  #navbar-top .region-top-header-form,
  #navbar-top .navbar-form {
    justify-self: center !important;
  }

  #navbar-top form,
  #navbar-top #search-block-form {
    justify-content: center !important;
  }
}


/* =========================================================
   FINAL FAST FIX: top header branding + Directors page
   No memorial selectors touched.
========================================================= */

/* Top header band: login left, branding center, search right */
#navbar-top {
  background: #f8f9fa !important;
  border-bottom: 1px solid #d6dce2 !important;
  padding: 10px 24px !important;
}

#navbar-top > .container {
  max-width: none !important;
  width: 100% !important;
  display: grid !important;
  grid-template-columns: 220px minmax(360px, 1fr) 420px !important;
  align-items: center !important;
  gap: 18px !important;
}

/* Account menu / login-left */
#navbar-top .region-secondary-menu {
  grid-column: 1 !important;
  justify-self: start !important;
}

#navbar-top .menu--account ul,
#navbar-top .menu--account .nav {
  display: flex !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

/* Branding center */
#navbar-top .region-header {
  grid-column: 2 !important;
  justify-self: center !important;
  text-align: center !important;
}

#navbar-top #block-bootstrap-barrio-site-branding,
#navbar-top .navbar-brand {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;
  margin: 0 !important;
  padding: 0 !important;
  text-decoration: none !important;
}

#navbar-top #block-bootstrap-barrio-site-branding img,
#navbar-top .navbar-brand img {
  max-height: 58px !important;
  width: auto !important;
  margin: 0 !important;
}

#navbar-top .site-name,
#navbar-top .navbar-brand .site-title,
#navbar-top .navbar-brand span {
  color: #003b5c !important;
  font-size: 1.75rem !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

/* Search right */
#navbar-top .navbar-form,
#navbar-top .region-top-header-form {
  grid-column: 3 !important;
  justify-self: end !important;
  width: auto !important;
  margin: 0 !important;
}

#navbar-top form,
#navbar-top #search-block-form {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 10px !important;
  margin: 0 !important;
  flex-wrap: nowrap !important;
}

#navbar-top .form-item,
#navbar-top .form-actions {
  margin: 0 !important;
}

#navbar-top input[type="search"],
#navbar-top input.form-search {
  width: 280px !important;
  max-width: 280px !important;
}

/* Main blue nav: menu only, no branding */
#navbar-main {
  background: #2f76a6 !important;
  padding: 0 !important;
}

#navbar-main .region-header,
#navbar-main #block-bootstrap-barrio-site-branding {
  display: none !important;
}

#navbar-main .navbar-nav {
  margin: 0 auto !important;
}

/* Directors page: exact page is node 730 */
body.page-node-730 main .section {
  max-width: 1000px !important;
  padding: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  background: transparent !important;
}

body.page-node-730 .field--name-body {
  overflow-x: visible !important;
}

body.page-node-730 table.table,
body.page-node-730 .field--name-body table {
  display: table !important;
  width: 960px !important;
  max-width: 960px !important;
  table-layout: auto !important;
  border-collapse: collapse !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.page-node-730 table td,
body.page-node-730 table th {
  display: table-cell !important;
  vertical-align: top !important;
  text-align: center !important;
  padding: 4px !important;
}

body.page-node-730 table img {
  max-width: none !important;
  width: auto !important;
  height: auto !important;
}

@media (max-width: 991px) {
  #navbar-top > .container {
    grid-template-columns: 1fr !important;
    text-align: center !important;
  }

  #navbar-top .region-secondary-menu,
  #navbar-top .region-header,
  #navbar-top .navbar-form,
  #navbar-top .region-top-header-form {
    grid-column: 1 !important;
    justify-self: center !important;
  }

  #navbar-top input[type="search"],
  #navbar-top input.form-search {
    width: 220px !important;
    max-width: 220px !important;
  }

  body.page-node-730 .field--name-body {
    overflow-x: auto !important;
  }
}


/* =========================================================
   HARD FIX: header structure + directors legacy table
   page.html.twig now places branding in #navbar-top.
========================================================= */

/* Top utility/header band */
#navbar-top {
  background: #f8f9fa !important;
  border-bottom: 1px solid #d6dce2 !important;
  padding: 10px 24px !important;
}

#navbar-top > .container {
  max-width: none !important;
  width: 100% !important;
  display: grid !important;
  grid-template-columns: 220px minmax(420px, 1fr) 420px !important;
  align-items: center !important;
  gap: 20px !important;
}

#navbar-top .skyhawk-top-left {
  grid-column: 1 !important;
  justify-self: start !important;
}

#navbar-top .skyhawk-top-branding {
  grid-column: 2 !important;
  justify-self: center !important;
  text-align: center !important;
}

#navbar-top .skyhawk-top-branding #block-bootstrap-barrio-site-branding,
#navbar-top .skyhawk-top-branding .navbar-brand {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;
  margin: 0 !important;
  padding: 0 !important;
}

#navbar-top .skyhawk-top-branding img {
  max-height: 58px !important;
  width: auto !important;
  margin: 0 !important;
}

#navbar-top .skyhawk-top-branding .site-name,
#navbar-top .skyhawk-top-branding .navbar-brand,
#navbar-top .skyhawk-top-branding a {
  color: #003b5c !important;
  font-size: 1.65rem !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

/* Search right */
#navbar-top .navbar-form,
#navbar-top .region-top-header-form {
  grid-column: 3 !important;
  justify-self: end !important;
  width: auto !important;
  margin: 0 !important;
}

#navbar-top form,
#navbar-top #search-block-form {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 10px !important;
  margin: 0 !important;
  flex-wrap: nowrap !important;
}

#navbar-top .form-item,
#navbar-top .form-actions {
  margin: 0 !important;
}

#navbar-top input[type="search"],
#navbar-top input.form-search {
  width: 280px !important;
  max-width: 280px !important;
}

/* Blue menu bar: menu only */
#navbar-main {
  background: #2f76a6 !important;
  padding: 0 !important;
}

#navbar-main #block-bootstrap-barrio-site-branding,
#navbar-main .region-header,
#navbar-main .navbar-brand {
  display: none !important;
}

#navbar-main .navbar-nav {
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Directors page: exact page node 730 */
body.page-node-730 main .section {
  max-width: 980px !important;
  width: 980px !important;
  padding: 0 !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  background: transparent !important;
}

body.page-node-730 .field--name-body {
  overflow-x: visible !important;
}

body.page-node-730 .field--name-body table,
body.page-node-730 table.table {
  display: table !important;
  width: 960px !important;
  max-width: 960px !important;
  table-layout: fixed !important;
  border-collapse: collapse !important;
  margin: 0 auto 18px auto !important;
}

body.page-node-730 .field--name-body tr {
  display: table-row !important;
}

body.page-node-730 .field--name-body td,
body.page-node-730 .field--name-body th {
  display: table-cell !important;
  width: 320px !important;
  max-width: 320px !important;
  vertical-align: top !important;
  text-align: center !important;
  padding: 6px !important;
  border: 1px solid #d0d0d0 !important;
}

body.page-node-730 .field--name-body img {
  width: auto !important;
  max-width: 300px !important;
  height: auto !important;
}

body.page-node-730 .field--name-body h3 {
  font-size: 1.15rem !important;
  margin: 6px 0 !important;
}

body.page-node-730 .field--name-body p {
  margin: 6px 0 !important;
}

@media (max-width: 991px) {
  #navbar-top > .container {
    grid-template-columns: 1fr !important;
    text-align: center !important;
  }

  #navbar-top .skyhawk-top-left,
  #navbar-top .skyhawk-top-branding,
  #navbar-top .navbar-form,
  #navbar-top .region-top-header-form {
    grid-column: 1 !important;
    justify-self: center !important;
  }

  body.page-node-730 main .section {
    width: 100% !important;
    max-width: 100% !important;
  }

  body.page-node-730 .field--name-body {
    overflow-x: auto !important;
  }
}


/* =========================================================
   HARD FIX: header structure + directors legacy table
   page.html.twig now places branding in #navbar-top.
========================================================= */

/* Top utility/header band */
#navbar-top {
  background: #f8f9fa !important;
  border-bottom: 1px solid #d6dce2 !important;
  padding: 10px 24px !important;
}

#navbar-top > .container {
  max-width: none !important;
  width: 100% !important;
  display: grid !important;
  grid-template-columns: 220px minmax(420px, 1fr) 420px !important;
  align-items: center !important;
  gap: 20px !important;
}

#navbar-top .skyhawk-top-left {
  grid-column: 1 !important;
  justify-self: start !important;
}

#navbar-top .skyhawk-top-branding {
  grid-column: 2 !important;
  justify-self: center !important;
  text-align: center !important;
}

#navbar-top .skyhawk-top-branding #block-bootstrap-barrio-site-branding,
#navbar-top .skyhawk-top-branding .navbar-brand {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;
  margin: 0 !important;
  padding: 0 !important;
}

#navbar-top .skyhawk-top-branding img {
  max-height: 58px !important;
  width: auto !important;
  margin: 0 !important;
}

#navbar-top .skyhawk-top-branding .site-name,
#navbar-top .skyhawk-top-branding .navbar-brand,
#navbar-top .skyhawk-top-branding a {
  color: #003b5c !important;
  font-size: 1.65rem !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

/* Search right */
#navbar-top .navbar-form,
#navbar-top .region-top-header-form {
  grid-column: 3 !important;
  justify-self: end !important;
  width: auto !important;
  margin: 0 !important;
}

#navbar-top form,
#navbar-top #search-block-form {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 10px !important;
  margin: 0 !important;
  flex-wrap: nowrap !important;
}

#navbar-top .form-item,
#navbar-top .form-actions {
  margin: 0 !important;
}

#navbar-top input[type="search"],
#navbar-top input.form-search {
  width: 280px !important;
  max-width: 280px !important;
}

/* Blue menu bar: menu only */
#navbar-main {
  background: #2f76a6 !important;
  padding: 0 !important;
}

#navbar-main #block-bootstrap-barrio-site-branding,
#navbar-main .region-header,
#navbar-main .navbar-brand {
  display: none !important;
}

#navbar-main .navbar-nav {
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Directors page: exact page node 730 */
body.page-node-730 main .section {
  max-width: 980px !important;
  width: 980px !important;
  padding: 0 !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  background: transparent !important;
}

body.page-node-730 .field--name-body {
  overflow-x: visible !important;
}

body.page-node-730 .field--name-body table,
body.page-node-730 table.table {
  display: table !important;
  width: 960px !important;
  max-width: 960px !important;
  table-layout: fixed !important;
  border-collapse: collapse !important;
  margin: 0 auto 18px auto !important;
}

body.page-node-730 .field--name-body tr {
  display: table-row !important;
}

body.page-node-730 .field--name-body td,
body.page-node-730 .field--name-body th {
  display: table-cell !important;
  width: 320px !important;
  max-width: 320px !important;
  vertical-align: top !important;
  text-align: center !important;
  padding: 6px !important;
  border: 1px solid #d0d0d0 !important;
}

body.page-node-730 .field--name-body img {
  width: auto !important;
  max-width: 300px !important;
  height: auto !important;
}

body.page-node-730 .field--name-body h3 {
  font-size: 1.15rem !important;
  margin: 6px 0 !important;
}

body.page-node-730 .field--name-body p {
  margin: 6px 0 !important;
}

@media (max-width: 991px) {
  #navbar-top > .container {
    grid-template-columns: 1fr !important;
    text-align: center !important;
  }

  #navbar-top .skyhawk-top-left,
  #navbar-top .skyhawk-top-branding,
  #navbar-top .navbar-form,
  #navbar-top .region-top-header-form {
    grid-column: 1 !important;
    justify-self: center !important;
  }

  body.page-node-730 main .section {
    width: 100% !important;
    max-width: 100% !important;
  }

  body.page-node-730 .field--name-body {
    overflow-x: auto !important;
  }
}


/* =========================================================
   TARGETED CORRECTIONS
========================================================= */

/* ---------------------------------------------------------
   Restore visible login/logout area
--------------------------------------------------------- */

#navbar-top .block-system-menu-blockaccount,
#navbar-top .menu--account,
#navbar-top .region-secondary-menu,
#navbar-top .region-top-header {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

#navbar-top .skyhawk-top-left {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  min-width: 180px !important;
}

#navbar-top .skyhawk-top-left ul,
#navbar-top .skyhawk-top-left .nav {
  display: flex !important;
  flex-direction: row !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

#navbar-top .skyhawk-top-left li {
  margin: 0 !important;
  padding: 0 !important;
}

#navbar-top .skyhawk-top-left a {
  color: #003b5c !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  font-size: 1.1rem !important;
}

/* ---------------------------------------------------------
   Directors page image containment
--------------------------------------------------------- */

body.page-node-730 .field--name-body table {
  width: 100% !important;
  max-width: 1000px !important;
  table-layout: fixed !important;
}

body.page-node-730 .field--name-body td {
  width: 33.33% !important;
  max-width: 33.33% !important;
  overflow: hidden !important;
  vertical-align: top !important;
}

/* Kill giant inline image sizing from ancient content */
body.page-node-730 .field--name-body img,
body.page-node-730 .field--name-body td img {
  display: block !important;
  width: 100% !important;
  max-width: 280px !important;
  height: auto !important;
  margin-left: auto !important;
  margin-right: auto !important;
  object-fit: contain !important;
}

/* Prevent text overflow */
body.page-node-730 .field--name-body td p,
body.page-node-730 .field--name-body td div,
body.page-node-730 .field--name-body td span {
  overflow-wrap: break-word !important;
  word-break: normal !important;
}

/* Tighten Directors page overall */
body.page-node-730 main .section {
  max-width: 1040px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}


/* =========================================================
   DIRECTORS PAGE IMAGE CONTAINMENT - EXACT PAGE NODE 730
========================================================= */

/* Let the table stay old-school, but force cells to clip nothing weird */
body.page-node-730 .field--name-body table {
  width: 960px !important;
  max-width: 960px !important;
  table-layout: fixed !important;
}

/* Hard cell sizing */
body.page-node-730 .field--name-body table td {
  width: 320px !important;
  max-width: 320px !important;
  min-width: 320px !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

/* Override Drupal/Bootstrap responsive image behavior and legacy attributes */
body.page-node-730 .field--name-body table td p img,
body.page-node-730 .field--name-body table td img,
body.page-node-730 article img {
  display: block !important;
  width: 260px !important;
  max-width: 260px !important;
  min-width: 0 !important;
  height: auto !important;
  max-height: 310px !important;
  object-fit: contain !important;
  margin: 8px auto !important;
}

/* If Bootstrap/Yeti makes images fluid, beat it here only */
body.page-node-730 img.img-fluid,
body.page-node-730 img.image-style-none,
body.page-node-730 .field--name-body img {
  width: 260px !important;
  max-width: 260px !important;
  height: auto !important;
  object-fit: contain !important;
}

