/* Small repairs around the archived Nicepage theme; original CSS owns the layout. */
header nav.u-menu-1 { opacity:1 !important; visibility:visible !important; }
#slider .u-carousel-indicators li { cursor:pointer; }
#slider .u-carousel-indicators li:focus-visible { outline:3px solid #fff; outline-offset:5px; }
.faithful-intro { padding: 75px 20px 90px; color: #fff; }
.faithful-intro h2 { font-size: clamp(2rem, 4vw, 3.4rem); color:#fff; }
.faithful-intro p { max-width: 780px; margin: 20px auto 35px; font-size: 1.25rem; }
.faithful-testimonials-note { margin: 4px auto 30px; max-width: 800px; text-align:center; color:#546879; font-size:.9rem; }
.faithful-detail, .faithful-org, .faithful-jobs { padding: 75px 20px; }
.faithful-detail h2, .faithful-org h2, .faithful-jobs h2 { font-size: clamp(2rem, 3vw, 3rem); }
.faithful-detail p, .faithful-org p, .faithful-jobs p { font-size: 1.15rem; line-height: 1.65; }
.faithful-waste > .u-sheet { max-width: 1140px; }
.faithful-waste > .u-sheet > h2 { margin: 52px 0 18px; }
.faithful-waste > .u-sheet > p:first-child { max-width: 900px; font-size: 1.3rem; }
.faithful-waste-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin-top:25px; }
.faithful-waste-steps article { min-width:0; padding:25px; background:#fff; border-top:4px solid #27b9d9; }
.faithful-waste-steps h3 { margin:0 0 12px; font-size:1.3rem; }
.faithful-waste-steps p { margin:0; }
.faithful-waste-hero > .u-sheet { display:flex !important; flex-direction:column; align-items:flex-start; justify-content:center; box-sizing:border-box; padding-top:180px !important; padding-bottom:80px !important; }
.faithful-waste-hero h1 { width:auto !important; max-width:900px; margin:0 0 24px !important; }
.faithful-waste-hero .u-btn-1 { margin:0 !important; }
.faithful-docs { padding-top: 55px; padding-bottom: 75px; }
.faithful-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:22px; margin-top:35px; }
.faithful-grid>a { color:#22303b; background:#fff; border:1px solid #d8dfe4; padding:25px; border-radius:7px; text-decoration:none; box-shadow:0 4px 14px rgba(20,40,55,.07); font-size:1.2rem; }
.faithful-grid>a:hover { border-color:#2cb8d9; transform:translateY(-3px); transition:.22s; }
.faithful-grid>a span { display:block; font-size:.88rem; color:#65727a; margin-top:9px; }
.faithful-grid img { width:100%; max-height:330px; object-fit:contain; display:block; margin-bottom:16px; }
.faithful-mail { margin:30px 0; }
.faithful-cv-note { max-width:760px; margin:28px auto; padding:18px 22px; border-left:4px solid #27b9d9; background:#f4f8fa; text-align:left; }
.faithful-cv-note h3 { margin:0 0 8px; font-size:1.25rem; }
.faithful-cv-note p { margin:0; font-size:1rem; line-height:1.55; }
.faithful-news-archive { max-width:900px; margin:48px auto 34px; padding:22px 28px; border-left:5px solid #27b9d9; background:#fff; text-align:left; }
.faithful-news-archive h2 { margin:0 0 8px; color:#243846; font-size:1.55rem; }
.faithful-news-archive p { margin:0; color:#465866; font-size:1.05rem; line-height:1.5; }
.faithful-company-intro { padding:64px 20px 70px; }
.faithful-company-intro .u-text-1 { max-width:980px; margin:0 auto !important; font-size:clamp(1.1rem,2vw,1.3rem); line-height:1.65; }
.faithful-team { padding:68px 20px 76px; background:#fff; }
.faithful-team h2 { color:#27b9d9; font-size:clamp(2.25rem,5vw,3.7rem); text-align:center; margin:0 0 34px; }
.faithful-team-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.faithful-team-grid article { padding:30px 24px; border-top:5px solid #27b9d9; background:#f4f8fa; min-width:0; }
.faithful-team-grid h3 { margin:0 0 12px; font-size:clamp(1.3rem,2vw,1.7rem); overflow-wrap:break-word; }
.faithful-team-grid p { margin:0; font-size:1.05rem; }
#sec-b6ab .u-text-3 a { color:#fff !important; text-decoration:underline; text-underline-offset:3px; }
#sec-b6ab .u-text-3 a:focus-visible { outline:2px solid #fff; outline-offset:3px; }
#sec-b6ab .u-layout-cell-2 { background:#fff; }
#sec-b6ab .u-container-layout-2 { padding:16px !important; }
.coopservice-map-panel { width:100%; color:#243846; }
.coopservice-map-panel h2 { margin:0 0 12px; font-size:1.35rem; color:#243846; }
#coopservice-map { width:100%; height:360px; background:#e5edf0; z-index:0; }
.coopservice-map-places { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:14px; }
.coopservice-map-places > div { display:flex; flex-direction:column; align-items:flex-start; gap:3px; min-width:0; font-size:.83rem; line-height:1.3; }
.coopservice-map-places strong { display:flex; align-items:center; gap:5px; font-size:.9rem; }
.coopservice-map-places a { color:#087da0; font-weight:700; text-decoration:underline; text-underline-offset:2px; }
.coopservice-map-key { display:inline-flex; align-items:center; justify-content:center; width:24px; height:24px; border-radius:50%; color:#fff; font:700 13px/1 Arial,sans-serif; }
.coopservice-map-key-one { background:#22b9da; }
.coopservice-map-key-two { background:#22394e; }
.coopservice-map-credit { margin:10px 0 0; font-size:.75rem; color:#586b76; }
.coopservice-map-pin { display:flex; align-items:center; justify-content:center; width:30px; height:30px; border:2px solid #fff; border-radius:50% 50% 50% 0; transform:rotate(-45deg); box-shadow:0 2px 7px rgba(0,0,0,.35); color:#fff; font:700 15px/1 Arial,sans-serif; }
.coopservice-map-pin span { transform:rotate(45deg); }
.coopservice-map-pin-one { background:#22b9da; }
.coopservice-map-pin-two { background:#22394e; }
@media(max-width:767px) { #coopservice-map { height:330px; } .coopservice-map-places { grid-template-columns:1fr; } }
@media(min-width:1200px) {
  .u-header .u-nav-container .u-nav-1 > li > a { padding:10px 6px !important; }
}
body.faithful-menu-open { overflow:hidden; }
body.faithful-menu-open .u-nav-container-collapse { display:block !important; position:fixed !important; inset:0 !important; width:100vw !important; height:100dvh !important; z-index:1000; background:rgba(0,0,0,.58); }
body.faithful-menu-open .u-header .u-sidenav-1 { display:block !important; position:absolute !important; left:0 !important; top:0 !important; width:min(360px,90vw) !important; height:100dvh !important; max-height:100dvh !important; overflow-y:auto !important; overscroll-behavior:contain; transform:translateX(0) !important; box-sizing:border-box; }
body.faithful-menu-open .u-header .u-sidenav-overflow { width:100% !important; height:auto !important; max-height:none !important; padding:12px 18px 24px !important; overflow:visible !important; box-sizing:border-box; }
body.faithful-menu-open .u-header .u-menu-close-1 { display:flex !important; align-items:center; justify-content:center; float:right; width:48px !important; height:48px !important; min-height:48px; margin:0 !important; padding:0 !important; border:0; background:transparent; color:#fff; font-size:32px; line-height:1; cursor:pointer; }
body.faithful-menu-open .u-header .faithful-mobile-logo { display:block; clear:both; width:180px; max-width:100%; margin:5px 0 22px; }
body.faithful-menu-open .u-header .faithful-mobile-logo img { display:block; width:100% !important; height:auto !important; margin:0 !important; }
body.faithful-menu-open .u-header .u-nav-6 { display:block !important; width:100% !important; height:auto !important; margin:0 !important; padding:0 !important; text-align:left !important; }
body.faithful-menu-open .u-header .u-nav-6 > li { display:block !important; width:100% !important; height:auto !important; min-height:0 !important; margin:0 !important; padding:0 !important; border-bottom:1px solid rgba(255,255,255,.25); }
body.faithful-menu-open .u-header .u-nav-6 > li > a { display:flex !important; align-items:center; width:100% !important; min-height:52px; padding:12px 54px 12px 8px !important; box-sizing:border-box; color:#fff !important; font-size:17px; line-height:1.3; text-align:left; text-decoration:none; }
body.faithful-menu-open .u-header .u-nav-6 > li > a:focus-visible, body.faithful-menu-open .u-header .u-nav-6 a:focus-visible, body.faithful-menu-open .u-header button:focus-visible { outline:3px solid #fff; outline-offset:-3px; }
body.faithful-menu-open .u-header .u-nav-6 > li.menu-item-has-children { position:relative; }
body.faithful-menu-open .u-header .faithful-submenu-toggle { display:flex; position:absolute; top:0; right:0; align-items:center; justify-content:center; width:52px; height:52px; padding:0; border:0; border-left:1px solid rgba(255,255,255,.25); background:transparent; color:#fff; font:700 28px/1 Arial,sans-serif; cursor:pointer; transition:transform .2s ease; }
body.faithful-menu-open .u-header .faithful-submenu-toggle[aria-expanded="true"] { transform:rotate(180deg); }
body.faithful-menu-open .u-header .u-nav-6 .u-nav-popup { display:none !important; position:static !important; width:100% !important; height:auto !important; max-height:none !important; overflow:visible !important; padding:0 0 8px 14px !important; box-sizing:border-box; background:rgba(0,0,0,.12); }
body.faithful-menu-open .u-header .u-nav-6 > li.faithful-submenu-open > .u-nav-popup { display:block !important; visibility:visible !important; pointer-events:auto !important; }
body.faithful-menu-open .u-header .u-nav-6 > li.faithful-submenu-open > .u-nav-popup * { visibility:visible !important; pointer-events:auto !important; }
body.faithful-menu-open .u-header .u-nav-6 .u-nav-popup ul { display:block !important; width:100% !important; height:auto !important; margin:0 !important; padding:0 !important; }
body.faithful-menu-open .u-header .u-nav-6 .u-nav-popup li { display:block !important; width:100% !important; height:auto !important; margin:0 !important; padding:0 !important; }
body.faithful-menu-open .u-header .u-nav-6 .u-nav-popup a { display:flex !important; align-items:center; width:100% !important; min-height:48px; padding:10px 8px !important; box-sizing:border-box; color:#fff !important; font-size:15px; line-height:1.35; text-align:left; white-space:normal; text-decoration:none; }
.faithful-menu-actions { display:none; }
@media(max-width:767px) {
  /* The site keeps its original pages; only the phone navigation is restyled. */
  body header nav.u-menu-1 .menu-collapse a { min-width:88px; height:44px; border:1px solid #d2e8ee; border-radius:24px; background:#fff; box-shadow:0 4px 18px rgba(5,30,45,.18); color:#143745; }
  body.faithful-menu-open .u-nav-container-collapse { background:rgba(4,25,37,.65) !important; }
  body.faithful-menu-open .u-header .u-sidenav-1 { left:0 !important; width:100vw !important; max-width:none !important; overflow:hidden !important; background:#fff !important; color:#183641 !important; animation:faithful-menu-enter .22s ease-out both; }
  body.faithful-menu-open .u-header .u-sidenav-overflow { display:flex !important; flex-direction:column; width:100% !important; height:100dvh !important; max-height:100dvh !important; overflow-y:auto !important; overscroll-behavior:contain; padding:20px 22px calc(26px + env(safe-area-inset-bottom)) !important; background:#fff !important; }
  body.faithful-menu-open .u-header .u-menu-close-1 { position:absolute; top:14px; right:18px; float:none; width:44px !important; height:44px !important; min-height:44px; border-radius:50%; background:#eaf5f7; color:#183641; font-size:27px; }
  body.faithful-menu-open .u-header .faithful-mobile-logo { clear:none; width:196px; margin:9px 0 26px; }
  body.faithful-menu-open .u-header .u-nav-6 { flex:none; }
  body.faithful-menu-open .u-header .u-nav-6 > li { border-bottom:1px solid #e1eaec; }
  body.faithful-menu-open .u-header .u-nav-6 > li > a { min-height:56px; padding:14px 58px 14px 4px !important; color:#173541 !important; font-size:17px; font-weight:700; line-height:1.25; }
  body.faithful-menu-open .u-header .u-nav-6 > li > a:hover, body.faithful-menu-open .u-header .u-nav-6 > li > a[aria-current="page"] { color:#087c9b !important; }
  body.faithful-menu-open .u-header .faithful-submenu-toggle { top:7px; right:1px; width:42px; height:42px; border:0; border-radius:50%; background:#eaf5f7; color:#116e89; font-size:25px; }
  body.faithful-menu-open .u-header .u-nav-6 .u-nav-popup { margin:0 0 12px !important; padding:5px 9px !important; border-radius:12px; background:#f0f7f8; }
  body.faithful-menu-open .u-header .u-nav-6 .u-nav-popup a { min-height:46px; padding:11px 12px !important; color:#24424e !important; font-size:15px; }
  body.faithful-menu-open .u-header .u-nav-6 .u-nav-popup a:hover, body.faithful-menu-open .u-header .u-nav-6 .u-nav-popup a[aria-current="page"] { color:#087c9b !important; background:#e0f0f3; border-radius:7px; }
  body.faithful-menu-open .u-header .u-nav-6 a:focus-visible, body.faithful-menu-open .u-header button:focus-visible, body.faithful-menu-open .u-header .faithful-menu-actions a:focus-visible { outline:3px solid #087c9b; outline-offset:2px; }
  body.faithful-menu-open .u-header .faithful-menu-actions { display:grid; gap:12px; margin-top:auto; padding-top:25px; }
  body.faithful-menu-open .u-header .faithful-menu-actions a { display:flex; align-items:center; justify-content:space-between; min-height:48px; padding:12px 17px; border-radius:25px; background:#26b9d8; color:#063747; font-size:15px; font-weight:700; text-align:left; text-decoration:none; }
  body.faithful-menu-open .u-header .faithful-menu-actions a:last-child { justify-content:center; border:1px solid #c9e5eb; background:#fff; color:#18404e; }
}
@keyframes faithful-menu-enter { from { transform:translateX(-12px); opacity:.5; } to { transform:translateX(0); opacity:1; } }
@media(prefers-reduced-motion:reduce) { body.faithful-menu-open .u-header .u-sidenav-1 { animation:none; } }
@media(max-width:1199px) {
  header nav.u-menu-1 { position:absolute !important; right:20px !important; top:24px !important; left:auto !important; width:auto !important; display:block !important; z-index:40; }
  header nav.u-menu-1 .u-nav-container { display:none !important; }
  header nav.u-menu-1 .menu-collapse { display:block !important; }
  header nav.u-menu-1 .menu-collapse a { display:flex !important; align-items:center; justify-content:center; gap:8px; min-width:86px; height:44px; padding:0 10px !important; border:1px solid rgba(255,255,255,.8); border-radius:4px; background:rgba(0,0,0,.35); color:#fff; box-sizing:border-box; text-decoration:none; }
  header nav.u-menu-1 .faithful-menu-label { font-size:14px; font-weight:700; }
}
@media(max-width:767px) {
  /* The archived slides have different fixed sheet heights and top margins. */
  #slider, #slider .u-carousel-inner, #slider .u-carousel-item { height:max(650px, 100svh) !important; min-height:0 !important; }
  #slider .u-carousel-item { background-size:cover !important; }
  #slider .u-carousel-item .u-sheet-1 { display:flex !important; flex-direction:column; align-items:center; justify-content:center; gap:12px; width:100%; height:100%; min-height:0 !important; padding:130px 20px 95px; box-sizing:border-box; }
  #slider .u-carousel-item .u-sheet-1 > .u-text { width:auto !important; max-width:100%; margin:0 !important; text-align:center !important; }
  #slider .u-carousel-item .u-sheet-1 > .u-btn { max-width:100%; margin:22px auto 0 !important; white-space:normal; text-align:center; }
  #slider .u-section-2-1 .u-text-1 { font-size:1.4rem; }
  #slider .u-section-2-1 .u-text-2 { font-size:2.25rem; line-height:1.12; }
  #slider .u-section-2-1 .u-text-3 { font-size:1.125rem; line-height:1.4; }
  #slider .u-section-2-2 .u-text-1, #slider .u-section-2-3 .u-text-1, #slider .u-section-2-4 .u-text-1 { font-size:2.25rem; line-height:1.15; }
  #slider .u-section-2-4 .u-text-2 { font-size:1.125rem; line-height:1.4; }
  #sec-b6ab > .u-sheet-1 { min-height:0 !important; padding-bottom:60px !important; }
  #sec-1107 > .u-sheet { min-height:600px !important; }
  .faithful-intro,.faithful-detail,.faithful-org,.faithful-jobs { padding:55px 18px; }
  .faithful-intro p { font-size:1.1rem; }
  .u-carousel-item { background-position:center !important; }
  #slider .u-carousel-control { display:flex !important; position:absolute !important; top:auto !important; bottom:18px !important; align-items:center; justify-content:center; width:48px !important; height:48px !important; margin:0 !important; border-radius:50%; background:rgba(0,0,0,.45); z-index:8; }
  #slider .u-carousel-control-prev { left:18px !important; }
  #slider .u-carousel-control-next { right:18px !important; }
  .faithful-company-intro { padding:45px 18px 52px; }
  .faithful-news-archive { margin:28px 12px 24px; padding:18px; }
  .faithful-team { padding:50px 18px 55px; }
  .faithful-team-grid { grid-template-columns:1fr; gap:14px; }
  .faithful-team-grid article { padding:23px 20px; }
  .faithful-waste-steps { grid-template-columns:1fr; gap:14px; }
  .faithful-waste-steps article { padding:22px; }
  .faithful-waste-hero > .u-sheet { padding:135px 18px 55px !important; }
  .faithful-waste-hero h1 { font-size:clamp(2.2rem,8vw,3.3rem) !important; }
}
