/*
Theme Name:   Crawlspace Revival Child
Theme URI:    https://crawlspacerevivalga.com
Description:  Twenty Seventeen Child Theme for Crawlspace Revival, LLC
Author:       Custom Design
Template:     twentyseventeen
Version:      1.0.0
License:      GNU General Public License v2 or later
Text Domain:  crawlspace-revival-child
*/

@import url("../twentyseventeen/style.css");

:root {
  --cr-black:      #111111;
  --cr-darkgray:   #1c1c1c;
  --cr-red:        #cc1010;
  --cr-red-dark:   #a50d0d;
  --cr-green:      #2d8a2d;
  --cr-green-dark: #1f6b1f;
  --cr-white:      #ffffff;
  --cr-offwhite:   #f4f4f4;
  --cr-gray:       #555555;
}

/* Hide default Twenty Seventeen header/footer on front page */
body.page-template-front-page .site-header,
body.page-template-front-page .site-footer { display: none; }
body.page-template-front-page .entry-header,
body.page-template-front-page .page-title  { display: none; }
body.page-template-front-page .site-content,
body.page-template-front-page .entry-content { padding: 0; margin: 0; max-width: 100%; }
body.page-template-front-page article.page { padding: 0; }

body { font-family: 'Open Sans', sans-serif; }
h1,h2,h3,h4 { font-family: 'Oswald', sans-serif; }

/* TOP BAR */
.cr-top-bar { background:#111; color:#fff; padding:8px 20px; display:flex; justify-content:space-between; align-items:center; font-size:.85rem; flex-wrap:wrap; gap:6px; }
.cr-top-bar .cr-top-phone { color:#cc1010; font-weight:700; font-size:.95rem; font-family:'Oswald',sans-serif; letter-spacing:1px; }
.cr-top-bar .cr-top-phone a, .cr-top-bar .cr-top-right a { color:inherit; text-decoration:none; }
.cr-top-bar .cr-top-right { display:flex; gap:16px; align-items:center; }
.cr-top-bar .cr-top-right a { color:#ccc; transition:color .2s; }
.cr-top-bar .cr-top-right a:hover { color:#2d8a2d; }

/* NAV */
.cr-nav { background:#1c1c1c; position:sticky; top:0; z-index:999; box-shadow:0 2px 8px rgba(0,0,0,.5); }
.cr-nav-inner { max-width:1100px; margin:0 auto; display:flex; justify-content:space-between; align-items:center; padding:12px 20px; flex-wrap:wrap; gap:10px; }
.cr-nav-logo { font-family:'Oswald',sans-serif; font-size:1.4rem; font-weight:700; color:#fff; text-decoration:none; }
.cr-nav-logo .cr-red { color:#cc1010; } .cr-nav-logo .cr-green { color:#2d8a2d; }
.cr-nav ul { list-style:none; display:flex; gap:6px; flex-wrap:wrap; margin:0; padding:0; }
.cr-nav ul li a { color:#ccc; font-size:.82rem; font-family:'Oswald',sans-serif; letter-spacing:1px; text-transform:uppercase; padding:6px 10px; border-radius:3px; text-decoration:none; transition:background .2s,color .2s; display:block; }
.cr-nav ul li a:hover { background:#2d8a2d; color:#fff; }
.cr-nav .cr-nav-cta { background:#cc1010 !important; color:#fff !important; padding:8px 14px !important; font-weight:700 !important; }
.cr-nav .cr-nav-cta:hover { background:#a50d0d !important; }

/* HERO */
.cr-hero { background:linear-gradient(135deg,#0a0a0a 0%,#1a1a1a 60%,#0d1f0d 100%); color:#fff; text-align:center; padding:80px 20px 70px; }
.cr-hero .cr-hero-logo img { max-width:280px; margin:0 auto 20px; }
.cr-hero h1 { font-size:clamp(2rem,5vw,3.2rem); font-weight:700; color:#fff; text-transform:uppercase; line-height:1.1; margin-bottom:8px; font-family:'Oswald',sans-serif; }
.cr-hero h1 .cr-green { color:#2d8a2d; }
.cr-hero .cr-hero-tagline { font-family:'Oswald',sans-serif; font-size:clamp(1rem,2.5vw,1.3rem); color:#ccc; letter-spacing:3px; text-transform:uppercase; margin-bottom:14px; }
.cr-hero .cr-hero-sub { font-size:clamp(.95rem,2vw,1.15rem); color:#bbb; max-width:600px; margin:0 auto 28px; }
.cr-hero-btns { display:flex; gap:14px; justify-content:center; flex-wrap:wrap; margin-bottom:28px; }
.cr-hero .cr-hero-phone { font-family:'Oswald',sans-serif; font-size:clamp(1.6rem,4vw,2.2rem); color:#cc1010; letter-spacing:2px; margin-bottom:6px; }
.cr-hero .cr-hero-phone a { color:inherit; text-decoration:none; }
.cr-hero .cr-hero-badges { display:flex; justify-content:center; gap:28px; flex-wrap:wrap; margin-top:26px; padding-top:26px; border-top:1px solid rgba(255,255,255,.1); }
.cr-badge-item { display:flex; align-items:center; gap:8px; font-size:.82rem; color:#aaa; font-family:'Oswald',sans-serif; letter-spacing:1px; text-transform:uppercase; }

/* BUTTONS */
.cr-btn { display:inline-block; padding:13px 28px; border-radius:4px; font-family:'Oswald',sans-serif; font-size:.92rem; letter-spacing:1.5px; text-transform:uppercase; font-weight:600; cursor:pointer; transition:transform .15s,box-shadow .15s; border:none; text-decoration:none; }
.cr-btn:hover { transform:translateY(-2px); box-shadow:0 6px 20px rgba(0,0,0,.3); }
.cr-btn-red { background:#cc1010; color:#fff; }
.cr-btn-red:hover { background:#a50d0d; color:#fff; }
.cr-btn-green { background:#2d8a2d; color:#fff; }
.cr-btn-green:hover { background:#1f6b1f; color:#fff; }
.cr-btn-outline-white { background:transparent; color:#fff; border:2px solid #fff; }
.cr-btn-outline-white:hover { background:#fff; color:#111; }
.cr-btn-white { background:#fff; color:#cc1010; font-weight:700; }
.cr-btn-white:hover { background:#eee; color:#a50d0d; }

/* SHARED SECTION */
.cr-section { padding:70px 20px; }
.cr-section-inner { max-width:1100px; margin:0 auto; }
.cr-section-label { font-family:'Oswald',sans-serif; font-size:.78rem; letter-spacing:3px; text-transform:uppercase; color:#2d8a2d; margin-bottom:8px; }
.cr-section-title { font-size:clamp(1.8rem,4vw,2.6rem); font-weight:700; text-transform:uppercase; margin-bottom:12px; line-height:1.1; font-family:'Oswald',sans-serif; }
.cr-section-title .cr-red { color:#cc1010; } .cr-section-title .cr-green { color:#2d8a2d; }
.cr-divider { width:60px; height:4px; background:#cc1010; margin:0 0 22px; border-radius:2px; }
.cr-divider.center { margin:0 auto 22px; }
.cr-section-lead { font-size:1.02rem; color:#555; max-width:680px; margin-bottom:36px; }

/* SERVICES */
.cr-services { background:#f4f4f4; }
.cr-services-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:22px; margin-top:36px; }
.cr-service-card { background:#fff; border-radius:6px; padding:28px 18px 22px; text-align:center; box-shadow:0 2px 12px rgba(0,0,0,.07); border-top:4px solid #2d8a2d; transition:transform .2s,box-shadow .2s; }
.cr-service-card:hover { transform:translateY(-5px); box-shadow:0 8px 24px rgba(0,0,0,.12); }
.cr-svc-icon { width:62px; height:62px; background:#111; border-radius:50%; display:flex; align-items:center; justify-content:center; margin:0 auto 14px; font-size:1.6rem; }
.cr-service-card h3 { font-size:.95rem; font-weight:700; text-transform:uppercase; letter-spacing:.5px; margin-bottom:8px; color:#111; font-family:'Oswald',sans-serif; }
.cr-service-card p { font-size:.86rem; color:#555; line-height:1.6; }

/* TAGLINE BAND */
.cr-tagline-band { background:#2d8a2d; color:#fff; text-align:center; padding:26px 20px; }
.cr-tagline-band h2 { font-size:clamp(1.5rem,4vw,2.5rem); font-weight:700; text-transform:uppercase; letter-spacing:2px; font-family:'Oswald',sans-serif; margin:0; }

/* WHY US */
.cr-why-us { background:#111; color:#fff; }
.cr-why-us .cr-section-lead { color:#aaa; }
.cr-why-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:24px; margin-top:36px; }
.cr-why-card { background:#1c1c1c; border-radius:6px; padding:24px 20px; border-left:4px solid #cc1010; display:flex; gap:14px; align-items:flex-start; }
.cr-why-icon { font-size:1.8rem; flex-shrink:0; margin-top:2px; }
.cr-why-card h3 { font-size:.93rem; color:#2d8a2d; text-transform:uppercase; letter-spacing:1px; margin-bottom:6px; font-family:'Oswald',sans-serif; }
.cr-why-card p { font-size:.84rem; color:#aaa; }

/* GALLERY */
.cr-gallery { background:#f4f4f4; }
.cr-ba-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:24px; margin-top:36px; }
.cr-ba-card { background:#fff; border-radius:6px; overflow:hidden; box-shadow:0 2px 12px rgba(0,0,0,.08); }
.cr-ba-images { display:grid; grid-template-columns:1fr 1fr; }
.cr-ba-side { position:relative; overflow:hidden; min-height:180px; }
.cr-ba-side img { width:100%; height:100%; object-fit:cover; display:block; }
.cr-ba-label { position:absolute; bottom:8px; left:8px; background:rgba(0,0,0,.7); color:#fff; font-family:'Oswald',sans-serif; font-size:.72rem; letter-spacing:1.5px; text-transform:uppercase; padding:3px 8px; border-radius:3px; }
.cr-ba-side.cr-after .cr-ba-label { background:#2d8a2d; }
.cr-ba-caption { padding:14px 16px; }
.cr-ba-caption h4 { font-size:.93rem; text-transform:uppercase; color:#111; margin-bottom:4px; font-family:'Oswald',sans-serif; }
.cr-ba-caption p { font-size:.82rem; color:#555; }

/* CTA BAND */
.cr-cta-band { background:#cc1010; color:#fff; text-align:center; padding:48px 20px; }
.cr-cta-band h2 { font-size:clamp(1.7rem,4vw,2.7rem); font-weight:700; text-transform:uppercase; margin-bottom:10px; font-family:'Oswald',sans-serif; }
.cr-cta-band p { font-size:1.02rem; margin-bottom:22px; color:rgba(255,255,255,.85); }
.cr-cta-phone { font-family:'Oswald',sans-serif; font-size:clamp(1.8rem,5vw,3rem); letter-spacing:2px; margin-bottom:20px; }
.cr-cta-phone a { color:#fff; text-decoration:none; }
.cr-cta-btns { display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }

/* SERVICE AREA */
.cr-service-area { background:#fff; }
.cr-area-layout { display:grid; grid-template-columns:1fr 1fr; gap:38px; margin-top:36px; align-items:start; }
.cr-map-wrap { border-radius:8px; overflow:hidden; box-shadow:0 4px 20px rgba(0,0,0,.12); height:380px; }
.cr-map-wrap iframe { width:100%; height:100%; border:none; display:block; }
.cr-area-info h3 { font-size:1.05rem; text-transform:uppercase; margin-bottom:13px; color:#111; font-family:'Oswald',sans-serif; }
.cr-area-list { list-style:none; display:grid; grid-template-columns:1fr 1fr; gap:7px; padding:0; margin:0; }
.cr-area-list li { display:flex; align-items:center; gap:7px; font-size:.84rem; color:#555; }
.cr-area-list li::before { content:'✔'; color:#2d8a2d; font-weight:bold; flex-shrink:0; }
.cr-area-note { margin-top:18px; padding:13px 16px; background:#f4f4f4; border-left:4px solid #2d8a2d; border-radius:0 4px 4px 0; font-size:.84rem; color:#555; }
.cr-area-note a { color:#2d8a2d; font-weight:700; text-decoration:none; }

/* CONTACT */
.cr-contact { background:#1c1c1c; color:#fff; }
.cr-contact .cr-section-label { color:#2d8a2d; }
.cr-contact .cr-section-title { color:#fff; }
.cr-contact .cr-section-lead { color:#aaa; }
.cr-contact-layout { display:grid; grid-template-columns:1fr 1.4fr; gap:44px; margin-top:36px; align-items:start; }
.cr-contact-info { display:flex; flex-direction:column; gap:20px; }
.cr-ci-item { display:flex; gap:13px; align-items:flex-start; }
.cr-ci-icon { width:44px; height:44px; background:#cc1010; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:1.1rem; flex-shrink:0; }
.cr-ci-text h4 { font-family:'Oswald',sans-serif; font-size:.78rem; letter-spacing:2px; text-transform:uppercase; color:#2d8a2d; margin-bottom:3px; }
.cr-ci-text p, .cr-ci-text a { font-size:.9rem; color:#ccc; text-decoration:none; }
.cr-ci-text a:hover { color:#2d8a2d; }
.cr-ci-text .cr-phone-big { font-family:'Oswald',sans-serif; font-size:1.15rem; color:#cc1010; letter-spacing:1px; }
.cr-fb-link { display:inline-flex; align-items:center; gap:8px; background:#1877f2; color:#fff !important; border-radius:4px; padding:8px 13px; font-size:.82rem; font-family:'Oswald',sans-serif; letter-spacing:1px; text-transform:uppercase; transition:opacity .2s; }
.cr-fb-link:hover { opacity:.85; }

.cr-estimate-form { display:flex; flex-direction:column; gap:12px; }
.cr-form-row { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.cr-form-field label { display:block; font-size:.74rem; font-family:'Oswald',sans-serif; letter-spacing:1.5px; text-transform:uppercase; color:#aaa; margin-bottom:4px; }
.cr-form-field input, .cr-form-field select, .cr-form-field textarea { width:100%; background:#9d9d9d; border:1px solid #3a3a3a; border-radius:4px; color:#fff; font-family:'Open Sans',sans-serif; font-size:.88rem; padding:11px 12px; transition:border-color .2s; outline:none; -webkit-appearance:none; }
.cr-form-field input:focus, .cr-form-field select:focus, .cr-form-field textarea:focus { border-color:#2d8a2d; }
.cr-form-field textarea { resize:vertical; min-height:100px; }
.cr-form-field select option { background:#9d9d9d; }
.cr-form-submit { text-align:right; margin-top:4px; }
.cr-form-note { font-size:.74rem; color:#555; margin-top:6px; }

/* FOOTER */
.cr-footer { background:#0a0a0a; color:#777; padding:38px 20px 18px; }
.cr-footer-inner { max-width:1100px; margin:0 auto; }
.cr-footer-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:28px; padding-bottom:26px; border-bottom:1px solid #1c1c1c; margin-bottom:18px; }
.cr-footer-brand .cr-brand-name { font-family:'Oswald',sans-serif; font-size:1.3rem; font-weight:700; color:#fff; margin-bottom:7px; }
.cr-footer-brand .cr-brand-name span { color:#2d8a2d; }
.cr-footer-brand p { font-size:.83rem; line-height:1.7; }
.cr-footer-brand .cr-tagline-small { font-family:'Oswald',sans-serif; font-size:.7rem; letter-spacing:2px; text-transform:uppercase; color:#cc1010; margin-top:8px; }
.cr-footer h4 { font-family:'Oswald',sans-serif; font-size:.8rem; letter-spacing:2px; text-transform:uppercase; color:#fff; margin-bottom:11px; }
.cr-footer ul { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:6px; }
.cr-footer ul li a { font-size:.82rem; color:#555; text-decoration:none; transition:color .2s; }
.cr-footer ul li a:hover { color:#2d8a2d; }
.cr-footer-contact p { font-size:.82rem; margin-bottom:6px; }
.cr-footer-contact a { color:#888; text-decoration:none; transition:color .2s; }
.cr-footer-contact a:hover { color:#2d8a2d; }
.cr-footer .cr-phone-big { font-family:'Oswald',sans-serif; font-size:1.1rem; color:#cc1010; letter-spacing:1px; }
.cr-copyright { font-size:.74rem; text-align:center; color:#333; }
.cr-copyright a { color:#3a3a3a; text-decoration:none; }
.cr-copyright a:hover { color:#2d8a2d; }

/* RESPONSIVE */
@media (max-width:900px) {
  .cr-area-layout, .cr-contact-layout { grid-template-columns:1fr; }
}
@media (max-width:600px) {
  .cr-nav ul { display:none; }
  .cr-form-row, .cr-area-list { grid-template-columns:1fr; }
  .cr-hero { padding:50px 16px 44px; }
}
