/* ABKS inner pages: title band + readable content (Oct 2026) */
.abp-band { width: 100%; float: left; background: #243960; padding: 44px 0 40px; margin: 0 0 36px; font-family: open_sansregular, Arial, sans-serif; }
.abp-band .ab-wrap { display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.abp-band h1 { font-family: playfair_displayregular, Georgia, serif; font-weight: 400; font-size: 42px; line-height: 1.15; color: #fff; margin: 0 0 8px; padding: 0; background: none; }
.abp-band p { font-size: 18px; line-height: 1.5; color: #d5dce9; margin: 0; max-width: 46em; }
.abp-band a.abp-call { flex: none; display: inline-block; background: #fff; color: #1a2b4a; font-family: open_sansbold, Arial, sans-serif; font-size: 16px; text-decoration: none; padding: 12px 22px; border-radius: 4px; }
.abp-band a.abp-call:hover { background: #e3e8f1; }
.abp-band a:focus-visible { outline: 3px solid #9fb6dc; outline-offset: 3px; }
section.content.paddingTop { background: #fff; padding-bottom: 48px; }

/* readable content inside the old page container */
.innerpagecontainer { font-family: open_sansregular, Arial, sans-serif; }
.innerpagecontainer p, .innerpagecontainer li, .innerpagecontainer td, .innerpagecontainer span { font-size: 17px !important; line-height: 1.65 !important; color: #3a3d42; }
.innerpagecontainer p { max-width: 75ch; margin: 0 0 16px !important; }
.innerpagecontainer center, .innerpagecontainer [align="center"] { text-align: left; }
.innerpagecontainer h2, .innerpagecontainer h3, .innerpagecontainer h4 { font-family: playfair_displayregular, Georgia, serif !important; font-weight: 400 !important; color: #1f2430 !important; float: none !important; width: auto !important; text-align: left !important; }
.innerpagecontainer h2 { font-size: 30px !important; margin: 28px 0 12px !important; padding: 0 !important; }
.innerpagecontainer h3 { font-size: 24px !important; margin: 24px 0 10px !important; }
.innerpagecontainer h4 { font-size: 21px !important; margin: 20px 0 10px !important; }
.innerpagecontainer h2 a, .innerpagecontainer h3 a { color: #243960 !important; }
.innerpagecontainer p.nomargin, .innerpagecontainer h3 p.nomargin { font-family: open_sansbold, Arial, sans-serif; color: #243960; }
.innerpagecontainer a { color: #243960; text-decoration: underline; text-underline-offset: 3px; }
.innerpagecontainer img { max-width: 100%; height: auto; }
.innerpagecontainer .media-left img { border-radius: 3px; }
.innerpagecontainer iframe[src*="youtube"] { display: block; width: 100% !important; max-width: 720px; height: auto !important; aspect-ratio: 16 / 9; border: 0; margin: 12px 0 24px; border-radius: 4px; }
.innerpagecontainer ul { padding-left: 1.2em; }
.innerpagecontainer li { margin-bottom: 4px; }
.innerpagecontainer font { font-size: inherit !important; }
.innerpagecontainer table { max-width: 100%; }
@media (max-width: 767px) {
  .abp-band { padding: 30px 0 26px; margin-bottom: 24px; }
  .abp-band h1 { font-size: 32px; }
  .abp-band p { font-size: 16px; }
  .abp-band a.abp-call { width: 100%; text-align: center; }
  .innerpagecontainer table, .innerpagecontainer tbody, .innerpagecontainer tr, .innerpagecontainer td { display: block; width: 100% !important; }
}

/* long text that sits in a <span> instead of a paragraph (Permit Now) */
.innerpagecontainer > span, .innerpagecontainer center > span { display: block; max-width: 75ch; margin-bottom: 16px; }
/* testimonials as quote cards */
.innerpagecontainer p.colon { background: #f4f6f9 !important; border-left: 4px solid #243960; border-radius: 3px; padding: 18px 20px 18px 22px !important; margin: 0 0 6px !important; font-family: playfair_displayitalic, Georgia, serif !important; font-size: 19px !important; color: #1f2430 !important; max-width: 70ch; }
.innerpagecontainer p.colon + div { font-size: 15px !important; padding-left: 26px !important; color: #243960; margin-bottom: -10px; }

/* Gallery page (Oct 2026) */
.abg { width: 100%; float: left; background: #fff; padding-bottom: 56px; font-family: open_sansregular, Arial, sans-serif; }
.abg * { box-sizing: border-box; }
.abg .abg-intro { font-size: 17px; line-height: 1.65; color: #3a3d42; max-width: 75ch; margin: 0 0 28px; }
.abg a { color: #243960; }
.abg-group { margin: 0 0 40px; }
.abg h2 { font-family: playfair_displayregular, Georgia, serif; font-weight: 400; font-size: 28px; color: #1f2430; margin: 0 0 16px; padding: 0; background: none; }
.abg-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 18px; }
.abg-grid li { margin: 0; padding: 0; float: none; background: none; }
.abg-item { display: block; text-decoration: none; border: 1px solid #dde2ea; border-radius: 4px; overflow: hidden; background: #fff; height: 100%; }
.abg-item img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; background: #eef1f5; transition: transform .25s; }
.abg-item span { display: block; padding: 10px 12px 12px; font-size: 15px; line-height: 1.4; color: #2b2d31; }
.abg-item:hover img { transform: scale(1.03); }
.abg-item:hover span { color: #243960; text-decoration: underline; }
.abg-item:focus-visible { outline: 3px solid #4a78c2; outline-offset: 2px; }
.abg-box { border: 0; padding: 0; background: transparent; max-width: 94vw; max-height: 92vh; overflow: visible; }
.abg-box::backdrop { background: rgba(10, 16, 28, 0.88); }
.abg-box figure { margin: 0; text-align: center; }
.abg-box img { display: block; max-width: 90vw; max-height: 80vh; width: auto; height: auto; margin: 0 auto; border-radius: 3px; background: #fff; }
.abg-box figcaption { color: #fff; font-family: open_sansregular, Arial, sans-serif; font-size: 16px; padding: 12px 0 0; }
.abg-box button { position: fixed; background: rgba(255,255,255,0.14); color: #fff; border: 0; border-radius: 50%; width: 48px; height: 48px; font-size: 32px; line-height: 44px; cursor: pointer; }
.abg-box button:hover, .abg-box button:focus-visible { background: rgba(255,255,255,0.3); outline: 2px solid #fff; }
.abg-close { top: 16px; right: 16px; }
.abg-prev { left: 16px; top: 50%; transform: translateY(-50%); }
.abg-next { right: 16px; top: 50%; transform: translateY(-50%); }
@media (max-width: 600px) {
  .abg-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .abg-item span { font-size: 14px; }
  .abg-prev, .abg-next { top: auto; bottom: 16px; transform: none; }
}

/* About page: text that isn't inside a paragraph gets the same size */
.innerpagecontainer .media, .innerpagecontainer .media-body { font-size: 17px; line-height: 1.65; color: #3a3d42; }
.abp-band.abp-flush { margin-bottom: 0; }
.abg { padding-top: 36px; }
