/* Remnant Investigations LLC
   Palette and type taken from the Regan Bail theme (mjwp/style.css):
   #008747 accent, #1c1c1c footer, #666 sub-header, rgba(0,0,0,.5) overlay. */

:root{
  color-scheme: light;
  --green:#008747;         /* links, hero block, accents */
  --green-dk:#00713b;
  --green-alt:#008000;     /* their service-icon green */
  --footer:#1c1c1c;
  --ink:#212529;
  --ink-2:#666666;         /* .sub-header */
  --ink-3:#8a8a8a;
  --rule:#e6e6e6;
  --bar:#000000;           /* h3:after */
  --bg:#ffffff;
  --bg-2:#f7f7f7;
  --grey-btn:#666666;
  --body:"Open Sans",Georgia,"Source Sans Pro",sans-serif;
  --ui:Roboto,"Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    color-scheme: dark;
    --green:#25b06c; --green-dk:#42c684;
    --footer:#101010;
    --ink:#e8e8e8; --ink-2:#a9a9a9; --ink-3:#848484;
    --rule:#2c2c2c; --bar:#e8e8e8;
    --bg:#151515; --bg-2:#1e1e1e;
  }
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;padding:0;background:var(--bg);color:var(--ink);
  font-size:12pt;font-family:var(--body);line-height:1.7;
}
img{max-width:100%}
[hidden]{display:none!important}
a{color:var(--green);text-decoration:none;transition:all 1s}
a:hover{color:var(--green);text-decoration:underline}
a:focus-visible{outline:2px solid var(--green);outline-offset:2px}

h1,h2,h3,h4,h5{margin:0;line-height:1.3}
h3{
  font-size:2em;font-weight:700;text-transform:uppercase;position:relative;
  letter-spacing:.005em;
}
h3:after{
  content:' ';display:block;position:absolute;left:50%;bottom:-5px;
  height:2px;width:50px;background-color:var(--bar);transform:translate(-50%,0);
}
h5{font-size:1.4em;font-weight:700;text-transform:uppercase}
p{margin:0 0 1em}
p:last-child{margin-bottom:0}
p.sub-header{color:var(--ink-2);font-size:1.33em;line-height:1.55;font-weight:400}

.container{max-width:1140px;margin:0 auto;padding-left:18px;padding-right:18px}
.narrow{max-width:760px;margin-left:auto;margin-right:auto}
.text-center{text-align:center}
.margin-top-1x{margin-top:1em}
.margin-top-2x{margin-top:2em}
.margin-top-5x{margin-top:5em}
.margin-bottom-4x{margin-bottom:4em}
@media (max-width:768px){ .margin-top-5x{margin-top:3em} }

/* navbar — white uppercase over the hero, dark once scrolled */
#nav-header{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  padding-top:calc(env(safe-area-inset-top,0px) + 15px);padding-bottom:15px;
  transition:background-color .3s ease, box-shadow .3s ease;
}
#nav-header .container{display:flex;align-items:center;gap:10px 16px;flex-wrap:wrap;position:relative}
.navbar-brand{margin-right:auto;color:#fff;font-family:var(--ui);line-height:1.15}
.navbar-brand b{display:block;font-size:21px;font-weight:700;letter-spacing:-.005em}
.navbar-brand i{display:block;font-style:normal;font-size:10px;letter-spacing:.15em;text-transform:uppercase;opacity:.75;margin-top:3px}
.navbar-nav{list-style:none;display:flex;margin:0;padding:0;flex-wrap:wrap;font-family:var(--ui)}
.navbar-nav .nav-link{
  display:inline-block;color:rgba(255,255,255,1);font-size:14px;font-weight:400;
  padding:.5em .9em;text-transform:uppercase;
}
.navbar-nav .nav-link:hover{color:rgba(255,255,255,.5);text-decoration:none}
.navbar-nav .nav-link[aria-current="page"]{box-shadow:inset 0 -2px 0 var(--green)}
.brand-contact-number{
  color:#fff;font-size:18px;font-family:var(--ui);font-weight:300;padding-left:10px;white-space:nowrap;
}
.brand-contact-number a{color:#fff}
.brand-contact-number a:hover{color:rgba(255,255,255,.5);text-decoration:none}

#nav-header.scrolled{background:#fff;box-shadow:0 1px 8px rgba(0,0,0,.12)}
#nav-header.scrolled .navbar-brand,
#nav-header.scrolled .navbar-nav .nav-link,
#nav-header.scrolled .brand-contact-number,
#nav-header.scrolled .brand-contact-number a{color:rgba(0,0,0,.7)}
#nav-header.scrolled .navbar-nav .nav-link:hover,
#nav-header.scrolled .brand-contact-number a:hover{color:rgba(0,0,0,.45)}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]) #nav-header.scrolled{background:var(--bg);box-shadow:0 1px 8px rgba(0,0,0,.6)}
  :root:not([data-theme="light"]) #nav-header.scrolled .navbar-brand,
  :root:not([data-theme="light"]) #nav-header.scrolled .navbar-nav .nav-link,
  :root:not([data-theme="light"]) #nav-header.scrolled .brand-contact-number,
  :root:not([data-theme="light"]) #nav-header.scrolled .brand-contact-number a{color:rgba(255,255,255,.85)}
}
@media (max-width:768px){
  .navbar-nav{width:100%;justify-content:center}
  .navbar-nav .nav-link{font-size:.9em;font-weight:700;padding:.7em .7em}
  .brand-contact-number{width:100%;text-align:center;font-size:16px;padding-left:0}
  .navbar-brand{margin-right:0;width:100%;text-align:center}
}

/* hero */
.header{
  width:100%;min-height:100vh;position:relative;display:flex;align-items:center;
  background:#fff linear-gradient(160deg,#2a2f33 0%,#16191c 55%,#0c0e10 100%) bottom no-repeat;
  background-size:cover;
  padding-top:calc(env(safe-area-inset-top,0px) + 150px);padding-bottom:90px;
}
.header .overlay{
  position:absolute;top:0;left:0;width:100%;height:100%;z-index:90;
  background-color:rgba(0,0,0,.5);
}
.header-center{position:relative;z-index:100;text-align:center;width:100%;color:#fff}
.baseline-wrapper h1{
  background-color:var(--green);color:#fff;
  font-size:2.10em;font-weight:400;font-family:"Open Sans",sans-serif;
  line-height:1.5em;padding:15px;max-width:600px;margin:0 auto;
}
.baseline-wrapper p{color:#fff;margin-top:20px;font-family:"Open Sans",sans-serif;font-size:1.15em}
.header-center .eyebrow{
  color:rgba(255,255,255,.75);font-family:var(--ui);font-size:12px;
  letter-spacing:.18em;text-transform:uppercase;margin:0 0 22px;
}
@media (max-width:480px){
  .baseline-wrapper h1{font-size:1.4em;padding:5px}
  .baseline-wrapper p{margin-top:8px;font-size:14px}
}

/* full-width band with overlay */
.container-background{
  z-index:80;padding:5em 3em;position:relative;color:#fff;
  background:#1f2427 linear-gradient(140deg,#242a2e,#121517) center no-repeat;
  background-size:cover;
}
.container-background .overlay{
  position:absolute;top:0;left:0;width:100%;height:100%;z-index:90;
  background-color:rgba(0,0,0,.5);
}
.container-background > .container{color:#fff;z-index:100;position:relative;text-align:center}
.container-background h3:after{display:none}
.container-background .sub-header{color:#fff}
@media (max-width:768px){ .container-background{padding:3em 1.2em} }

/* content */
ul.list{padding-left:20px;margin:0 0 1em;text-align:left}
ul.list li{margin-bottom:.55em}
.btn{
  display:inline-block;background:var(--green);color:#fff;font-family:var(--ui);
  font-size:1em;font-weight:400;padding:12px 28px;border:0;line-height:2;
  text-transform:none;transition:all .25s;
}
.btn:hover{background:var(--green-dk);color:#fff;text-decoration:none}
.btn.grey{background:var(--grey-btn)}
.btn.grey:hover{background:var(--green-alt)}

table.info{border-collapse:collapse;width:100%;margin:1.5em 0 0;font-size:.95em;text-align:left}
table.info th,table.info td{padding:11px 14px 11px 0;border-bottom:1px solid var(--rule);vertical-align:top}
table.info th{width:220px;font-family:var(--ui);font-weight:700;color:var(--ink-2);white-space:nowrap}
@media (max-width:560px){
  table.info th,table.info td{display:block;width:auto}
  table.info th{border-bottom:0;padding-bottom:2px;font-size:.85em}
}

.panel{background:var(--bg-2);border:1px solid var(--rule);padding:26px;text-align:left}
.panel h5{margin-bottom:6px;font-size:1.15em}
.panel .meta{color:var(--ink-3);font-size:.9em;margin:0 0 1em}

blockquote.scripture{
  margin:0 0 1.5em;padding:0 0 0 20px;border-left:3px solid var(--green);
  font-size:1.1em;font-style:italic;color:var(--ink-2);text-align:left;
}
blockquote.scripture cite{display:block;margin-top:8px;font-style:normal;font-size:.8em;color:var(--ink-3)}

.pdfview{margin:2em 0 0}
.pdfview iframe{width:100%;height:74vh;min-height:500px;border:1px solid var(--rule);display:block;background:var(--bg-2)}
@media (max-width:700px){.pdfview{display:none}}

/* legal pages */
.legal{text-align:left}
.legal h3{text-align:center}
.legal h1{
  font-size:2em;font-weight:700;text-transform:uppercase;
  letter-spacing:.005em;position:relative;margin:0 0 .45em;padding-bottom:14px;
}
.legal h1:after{
  content:' ';display:block;position:absolute;left:0;bottom:0;
  height:2px;width:50px;background-color:var(--bar);
}
.legal h2{font-size:1.2em;font-weight:700;margin:1.9em 0 .6em;text-transform:none}
.legal p,.legal li{color:var(--ink-2);font-size:.98em}
.legal strong{color:var(--ink)}
.legal ul{padding-left:20px}
.stamp{color:var(--ink-3);font-size:.9em;margin:0 0 1.8em}
.editnote{border:1px dashed var(--green);padding:15px 17px;margin:0 0 1.8em}
.editnote p{margin:0;font-size:.9em;color:var(--ink-2)}

/* footer */
.footer{
  color:#fff;padding:3em 0 calc(3em + env(safe-area-inset-bottom,0px));
  background-color:var(--footer);margin-top:5em;text-align:center;
}
.footer h5{color:#fff;margin-top:30px;margin-bottom:.6em}
.footer h5:first-child{margin-top:0}
.footer p{color:#fff;font-size:.95em;margin:0 0 1em}
.footer a{color:#fff}
.footer a:hover{color:#fff}
.footer .vcard strong{color:#fff}
.footer .flinks{margin-top:1.4em;font-size:.9em;font-family:var(--ui);text-transform:uppercase}
.footer .flinks a{display:inline-block;margin:0 9px;color:#fff}
.footer .flinks a:hover{color:rgba(255,255,255,.6);text-decoration:none}
.footer .copyright{
  display:block;margin-top:2em;padding-top:1.2em;
  border-top:1px solid rgba(255,255,255,.15);font-size:.8em;color:#ddd;
}
.footer .copyright a{color:#ddd}

/* SMS keyword call-to-action (screenshot this for A2P opt-in proof) */
.smsbox{
  border:2px solid var(--green);background:var(--bg-2);
  padding:22px 24px;margin:28px 0 0;text-align:left;
}
.smsbox h4{
  font-family:var(--ui);font-size:12px;letter-spacing:.13em;text-transform:uppercase;
  color:var(--ink-2);margin:0 0 10px;font-weight:700;
}
.smsbox .kw{font-size:1.25em;margin:0 0 12px;color:var(--ink)}
.smsbox .kw strong{color:var(--green)}
.smsbox .disc{font-size:.82em;line-height:1.6;color:var(--ink-2);margin:0}
