@charset "UTF-8";
/* ==========================================================================
   Burton Law - custom styling (child of Cassiopeia). Primary: #006892
   Loaded AFTER cassiopeia/css/template.min.css.
   ========================================================================== */

:root {
  --bl-primary: #006892;
  --bl-primary-dark: #004d6b;
  --bl-dark: #363839;
  --bl-light: #f5f5f5;
}

body.site { font-family: "Open Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: #333; }
h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6 { font-family: "Raleway", -apple-system, BlinkMacSystemFont, sans-serif; color: #303030; }
h1,.h1 { font-weight: 200; }
h2,.h2 { font-weight: 300; }
a { color: var(--bl-primary); }
a:hover, a:focus { color: var(--bl-primary-dark); }

/* --------------------------------------------------------------- Buttons */
.btn-primary, a.btn.btn-primary {
  --bs-btn-bg: var(--bl-primary); --bs-btn-border-color: var(--bl-primary);
  --bs-btn-hover-bg: var(--bl-primary-dark); --bs-btn-hover-border-color: var(--bl-primary-dark);
  --bs-btn-active-bg: var(--bl-primary-dark); --bs-btn-active-border-color: var(--bl-primary-dark);
  background-color: var(--bl-primary); border-color: var(--bl-primary); color: #fff;
}
.btn-primary:hover, .btn-primary:focus { background-color: var(--bl-primary-dark); border-color: var(--bl-primary-dark); color: #fff; }
.btn-outline-primary { --bs-btn-color: var(--bl-primary); --bs-btn-border-color: var(--bl-primary); --bs-btn-hover-bg: var(--bl-primary); --bs-btn-hover-border-color: var(--bl-primary); }

/* --------------------------------------------------------------- Header (white) */
.container-header,
.container-header.sticky-top {
  background-color: #fff !important;
  background-image: none !important;
  box-shadow: 0 1px 6px rgba(0,0,0,.10);
}
.container-header .navbar-brand,
.container-header .navbar-brand a,
.container-header .site-description { color: var(--bl-primary); }
.container-header .navbar-brand img, .container-header .brand-logo img { max-height: 62px; width: auto; }

/* Menu links: dark blue on white */
.container-header .mod-menu,
.container-header .mod-menu .nav-link,
.container-header .mod-menu > li > a,
.container-header .metismenu-item > a,
.container-header .metismenu-item > button { color: var(--bl-primary) !important; font-weight: 600; }
.container-header .mod-menu .nav-link:hover,
.container-header .mod-menu .active > .nav-link,
.container-header .metismenu-item > a:hover { color: var(--bl-primary-dark) !important; }
/* dropdown submenu panel */
.container-header .mod-menu .mod-menu__sub,
.container-header .dropdown-menu { background: #fff; box-shadow: 0 6px 18px rgba(0,0,0,.12); }
/* search + toggler icons dark */
.container-header .container-search .icon-search,
.container-header button,
.container-header .fa,
.container-header .navbar-toggler { color: var(--bl-primary); }
.container-header .navbar-toggler { border-color: var(--bl-primary); }

/* Top bar (contact strip) */
.container-topbar { background-color: var(--bl-dark); color: #d4d4d4; font-size: .85rem; }
.container-topbar a { color: #d4d4d4; text-decoration: none; }
.container-topbar a:hover { color: #fff; }
.container-topbar .bl-topbar { display: flex; flex-wrap: wrap; gap: 1.25rem; justify-content: flex-end; align-items: center; padding: 6px 0; }
.container-topbar .bl-topbar span.sep { opacity: .4; }

/* --------------------------------------------------------------- Full-bleed helper */
.bl-bleed { margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); }
.bl-container { max-width: 1140px; margin: 0 auto; padding: 0 20px; }
.bl-section { padding: 60px 0; }
.bl-section.bl-shaded, .bl-shaded { background-color: var(--bl-light); }
.bl-band { color: #fff; text-align: center; padding: 70px 20px; background-size: cover; background-position: center; position: relative; }
.bl-band::before { content:""; position:absolute; inset:0; background: rgba(0,80,110,.72); }
.bl-band > * { position: relative; z-index: 1; }
.bl-band h2 { color:#fff; font-weight:300; max-width: 900px; margin: 0 auto; }

/* --------------------------------------------------------------- Hero */
.bl-hero { position: relative; color:#fff; text-align:center; padding: 90px 20px; background-size:cover; background-position:center; background-repeat:no-repeat; }
.bl-hero::before { content:""; position:absolute; inset:0; background: linear-gradient(45deg, rgba(0,104,146,.78), rgba(0,45,70,.78)); }
.bl-hero > * { position: relative; z-index: 1; }
.bl-hero h1, .bl-hero h2 { color:#fff; font-weight:300; margin-bottom:.5rem; }
.bl-hero p { font-size:1.15rem; max-width:760px; margin:0 auto; }
.bl-hero .btn { margin-top:1.5rem; }

/* --------------------------------------------------------------- Cards / team */
.bl-team { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:1.75rem; margin-top:1.5rem; }
.bl-card { background:#fff; border:1px solid #eee; border-radius:6px; overflow:hidden; box-shadow:0 2px 10px rgba(0,0,0,.05); }
.bl-card img { width:100%; height:auto; display:block; }
.bl-card .bl-card-body { padding:1.1rem 1.25rem; }
.bl-card h3 { margin:0 0 .25rem; font-size:1.25rem; }
.bl-card .role { color:var(--bl-primary); font-weight:600; font-size:.9rem; }
.bl-card p { margin:.5rem 0 0; font-size:.9rem; }

/* --------------------------------------------------------------- Feature boxes */
.bl-features { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:1.5rem; }
.bl-feature { padding:1.5rem; border-radius:6px; background:#fff; border-top:3px solid var(--bl-primary); box-shadow:0 2px 10px rgba(0,0,0,.05); }
.bl-feature h3 { color:var(--bl-primary); font-size:1.2rem; }

/* --------------------------------------------------------------- Services sidebar layout */
.bl-svc-layout { display:grid; grid-template-columns:270px 1fr; gap:2.5rem; align-items:start; margin-top:1.5rem; }
.bl-svc-nav { position:sticky; top:110px; }
.bl-svc-nav ul { list-style:none; margin:0; padding:0; border:1px solid #e3e3e3; border-radius:6px; overflow:hidden; background:#fff; }
.bl-svc-nav li a { display:block; padding:.7rem 1rem; color:var(--bl-primary); text-decoration:none; border-bottom:1px solid #eee; font-weight:600; font-family:"Raleway",sans-serif; }
.bl-svc-nav li:last-child a { border-bottom:0; }
.bl-svc-nav li a::before { content:"\203A"; margin-right:.5rem; color:var(--bl-primary); }
.bl-svc-nav li a:hover { background:var(--bl-primary); color:#fff; }
.bl-svc-nav li a:hover::before { color:#fff; }
.bl-svc-content section { scroll-margin-top:110px; margin-bottom:2.5rem; }
.bl-svc-content h2 { color:#303030; border-bottom:2px solid var(--bl-primary); padding-bottom:.35rem; margin-bottom:1rem; }
.bl-svc-content h3 { color:var(--bl-primary); font-size:1.1rem; text-transform:uppercase; letter-spacing:.02em; }
@media (max-width:800px){ .bl-svc-layout{ grid-template-columns:1fr; } .bl-svc-nav{ position:static; } }

/* --------------------------------------------------------------- Contact block */
.bl-contact-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:1.5rem; }

/* --------------------------------------------------------------- Latest news (home): full-width grey band with roomy cards */
.container-bottom-a {
  margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw);
  background: var(--bl-light);
  padding: 55px 0 60px;
  margin-top: 40px;
}
.container-bottom-a .card { border:0; background:transparent; max-width:1180px; margin:0 auto; padding:0 20px; }
.container-bottom-a .card-header {
  background:transparent; border:0; text-align:center;
  font-family:"Raleway",sans-serif; font-weight:300; font-size:1.7rem; color:#303030; padding:0 0 2rem;
}
.container-bottom-a .card-body { padding:0; }
.container-bottom-a .mod-articlesnews { display:grid; grid-template-columns:repeat(3,1fr); gap:2rem; list-style:none; margin:0; padding:0; }
.container-bottom-a .mod-articlesnews__item {
  background:#fff; border:1px solid #ececec; border-radius:8px; overflow:hidden;
  box-shadow:0 3px 14px rgba(0,0,0,.06); padding:0 0 1.4rem; margin:0; display:flex; flex-direction:column;
}
.container-bottom-a .mod-articlesnews__item img { width:100%; height:190px; object-fit:cover; display:block; margin:0 0 1rem; }
.container-bottom-a .mod-articlesnews__item figure { margin:0 0 1rem; }
.container-bottom-a .mod-articlesnews__item > *:not(img):not(figure) { padding-left:1.4rem; padding-right:1.4rem; }
.container-bottom-a .newsflash-title { font-size:1.08rem; line-height:1.35; margin:.3rem 0 .6rem; }
.container-bottom-a .newsflash-title a { color:#303030; }
.container-bottom-a .newsflash-title a:hover { color:var(--bl-primary); }
.container-bottom-a .mod-articlesnews__item p { font-size:.92rem; color:#555; line-height:1.55; margin:0 0 .6rem; display:-webkit-box; -webkit-line-clamp:4; line-clamp:4; -webkit-box-orient:vertical; overflow:hidden; }
.container-bottom-a .mod-articlesnews__item .readmore { margin-top:auto; padding-top:.4rem; }
@media (max-width:900px){ .container-bottom-a .mod-articlesnews{ grid-template-columns:repeat(2,1fr);} }
@media (max-width:576px){ .container-bottom-a .mod-articlesnews{ grid-template-columns:1fr;} }

/* --------------------------------------------------------------- Footer */
.container-footer { background-color: var(--bl-dark); color:#b0b0b0; }
.container-footer a { color:#d6d6d6; }
.container-footer a:hover { color:#fff; }
.container-footer h1,.container-footer h2,.container-footer h3,.container-footer h4,.container-footer h5 { color:#fff; }
.container-footer .grid-child { display:block; justify-content:normal; align-items:stretch; padding:2.5rem 20px 1.5rem; }
.bl-footer-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:2.5rem; max-width:1140px; margin:0 auto; }
.bl-footer-copyright { border-top:1px solid rgba(255,255,255,.12); padding:14px 0 0; margin:1.5rem auto 0; max-width:1140px; font-size:.85rem; text-align:center; }
@media (max-width:768px){ .bl-footer-grid{ grid-template-columns:1fr; gap:1.5rem; } }

/* Women's Refuge partner strip */
.bl-partner { display:flex; gap:1.25rem; align-items:center; flex-wrap:wrap; background:var(--bl-light); padding:1.25rem; border-radius:6px; }
.bl-partner img { max-width:180px; height:auto; }

/* --------------------------------------------------------------- News category blog: uniform card grid */
.view-category .com-content-category-blog__items { display:grid !important; grid-template-columns:repeat(3,1fr); gap:1.75rem; column-count:auto !important; column-gap:1.75rem; margin-top:1rem; }
.view-category .com-content-category-blog__item { break-inside:avoid; }
.view-category .blog-item { background:#fff; border:1px solid #eee; border-radius:6px; overflow:hidden; box-shadow:0 2px 10px rgba(0,0,0,.05); display:flex; flex-direction:column; height:100%; }
.view-category .blog-item .item-image { float:none; margin:0; padding:0; display:block; }
.view-category .blog-item .item-image img { width:100%; height:185px; object-fit:cover; display:block; }
.view-category .blog-item .item-content { padding:1.1rem 1.25rem 1.25rem; display:flex; flex-direction:column; flex:1 1 auto; }
.view-category .blog-item .page-header { margin:0; }
.view-category .blog-item .page-header h2 { font-size:1.1rem; line-height:1.3; margin:.1rem 0 .35rem; }
.view-category .blog-item .page-header h2 a { color:#303030; }
.view-category .blog-item .page-header h2 a:hover { color:var(--bl-primary); }
.view-category .blog-item .bl-item-date { font-size:.8rem; margin-bottom:.6rem; }
.view-category .blog-item .bl-teaser { font-size:.92rem; color:#555; margin:0 0 1rem; }
.view-category .blog-item .bl-readmore { margin-top:auto; font-weight:600; font-size:.9rem; text-decoration:none; }
.view-category .com-content-category-blog__navigation { margin-top:2rem; }
@media (max-width:900px){ .view-category .com-content-category-blog__items{ grid-template-columns:repeat(2,1fr);} }
@media (max-width:576px){ .view-category .com-content-category-blog__items{ grid-template-columns:1fr;} }

/* --------------------------------------------------------------- Contact page (com_contact) */
.view-contact .com-contact { max-width:1140px; margin:0 auto; }
.view-contact .contact-name { display:none; } /* page heading already says Contact */
.view-contact .com-contact__container {
  display:grid; grid-template-columns:1fr 1.25fr; gap:2rem 3.5rem; align-items:start;
  background:var(--bl-light); padding:2.5rem; border-radius:8px;
}
.view-contact .com-contact__position { grid-area:1 / 1 / 2 / 2; margin:0 0 .5rem; }
.view-contact .com-contact__info { grid-area:2 / 1 / 3 / 2; }
.view-contact .com-contact__form { grid-area:1 / 2 / 3 / 3; }
.view-contact .com-contact__info dl, .view-contact .com-contact__address { margin:0; }
.view-contact .com-contact__info dd { margin:0 0 .6rem; display:flex; gap:.5rem; align-items:flex-start; }
.view-contact .com-contact__info .icon-envelope, .view-contact .com-contact__info .fa,
.view-contact .com-contact__info [class^="icon-"] { color:var(--bl-primary); }
.view-contact .com-contact__form .well { background:#fff; border:1px solid #e3e3e3; border-radius:8px; padding:1.75rem; }
.view-contact .com-contact__form .control-group { margin-bottom:1rem; }
.view-contact .com-contact__form label { font-weight:600; font-size:.9rem; margin-bottom:.25rem; display:block; }
.view-contact .com-contact__form .form-control { width:100%; }
.view-contact .com-contact__form textarea.form-control { min-height:150px; }
.view-contact h3 { color:#303030; border-bottom:2px solid var(--bl-primary); padding-bottom:.3rem; }
@media (max-width:800px){ .view-contact .com-contact__container{ grid-template-columns:1fr; } .view-contact .com-contact__form{ grid-area:auto; } .view-contact .com-contact__position,.view-contact .com-contact__info{ grid-area:auto; } }

#back-top { background: var(--bl-primary); }
.bl-lead { font-size:1.1rem; }
.bl-center { text-align:center; }
