/*
Theme Name: Exterior Cleaning NWFL
Theme URI: https://www.exteriorcleaningnwfl.com/
Author: Jump Start Marketing, Inc.
Author URI: https://jsmcorp.com
Description: Custom WordPress theme for Emerald Coast Exterior Cleaning (exteriorcleaningnwfl.com), providing bespoke design and functionality for their exterior cleaning services across Northwest Florida.
Version: 1.0
Text Domain: exteriorcleaningnwfl

*/

/* ===== WPForms Modern Styling ===== */
.wpforms-container {
    max-width: 800px;
    margin: 0 auto;
}

/* Form Wrapper */
.wpforms-container .wpforms-form {
    background: #ffffff;
    padding: 30px;
    border-radius: 10px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.08);
}

/* Labels */
.wpforms-container .wpforms-form label {
    font-weight: 600;
    color: #333;
    margin-bottom: 6px;
}

/* Inputs & Textareas */
.wpforms-container input[type="text"],
.wpforms-container input[type="email"],
.wpforms-container input[type="tel"],
.wpforms-container textarea,
.wpforms-container select {
    width: 100%;
    padding: 12px 14px;
    border-radius: 6px;
    border: 1px solid #ddd;
    font-size: 15px;
    transition: all 0.2s ease-in-out;
}

/* Focus State */
.wpforms-container input:focus,
.wpforms-container textarea:focus,
.wpforms-container select:focus {
    border-color: #0d6efd;
    box-shadow: 0 0 0 2px rgba(13,110,253,0.15);
    outline: none;
}

/* Field spacing */
.wpforms-container .wpforms-field {
    margin-bottom: 18px;
}

/* Submit Button */
.wpforms-container .wpforms-submit {
    background: linear-gradient(135deg, #00787f, #00787f);
    color: #fff;
    border: none;
    padding: 14px 26px;
    font-size: 16px;
    font-weight: 600;
    border-radius: 6px;
    transition: all 0.3s ease;
    width: 100%;
}

/* Button Hover */
.wpforms-container .wpforms-submit:hover {
    background: linear-gradient(135deg, #0b5ed7, #0a58ca);
    transform: translateY(-1px);
}

/* Error Messages */
.wpforms-container .wpforms-error {
    color: #dc3545;
    font-size: 13px;
}

/* Success Message */
.wpforms-container .wpforms-confirmation-container {
    background: #e9f7ef;
    color: #198754;
    padding: 15px;
    border-radius: 6px;
}

/* Responsive */
@media (max-width: 768px) {
    .wpforms-container .wpforms-form {
        padding: 20px;
    }
}




.jsm-btn {background-color: #00787f !important; color: #fff !important;border:solid 1px #ccc !important;}
.container p {font-size: 1.2rem;}
.content-box figure {float: right;margin-left: 50px;border: solid 1px #ccc;}
.text-muted {color: #fff !important;}

#jsm-header-15 {background-color:#00787f; color:#fff;}
#jsm-header-15 a {text-decoration:none !important; color:#fff !important;}
#jsm-header-15 .row .col-last {text-align: right;}

#jsm-footer-7 {background-color: #000; color: #fff;}
#jsm-footer-7 a.nav-link{color: #fff;}

footer a {
    color: #fff !important;
    text-decoration: none;
    margin-left: 10px;
}

@media only screen and (max-width: 992px) {
    #jsm-header-15 .col {width:100%;margin-left:auto;margin-right:auto;text-align:center;}
}

#jsm-header-16 {position:relative;}
#jsm-header-16 header {position: absolute;width: 100%; z-index: 1000;}
#jsm-header-16 .navbar {background-color: #0000009c;padding: 15px 0;color: #fff;}
#jsm-header-16 button.navbar-toggler {background-color: #fff;}
#jsm-header-16 .navbar .navbar-brand img {max-height: 100px; }
#jsm-header-16 .navbar-nav .nav-item .nav-link {
  color: #fff;  
  font-weight: 500;
  margin: 0 15px;
  transition: color 0.3s;
  text-transform: uppercase;
  font-size: 1.3rem;
}
#jsm-header-16 .navbar-nav .nav-item .nav-link:hover {color: #ccc; background-color: #00787f;}
#jsm-header-16 .btn-danger {
  background-color: #00787f; /* Button styling */
  border: none;
}

#jsm-header-16 .carousel-inner img {
  height: 500px; /* Consistent height for slides */
  object-fit: cover; /* Adjust to fit properly */
}
#jsm-header-16 .carousel-control-prev-icon,
#jsm-header-16 .carousel-control-next-icon {
  background-color: rgba(0, 0, 0, 0.5); /* Semi-transparent background for controls */
}

#jsm-header-16 #slideInImage {
  position: absolute;
  right: 0;
  bottom: 50px;
  animation: slideIn 2s ease-in-out;
}
 
#jsm-header-16 #content-section .content-slide-in {
  opacity: 0;
  animation: fadeIn 2s forwards;
  animation-delay: 1s;
}
 
 
.fortress-cta {
  background-color: #2b2b2b; /* dark gray like the original */
 
}
.fortress-cta h2,
.fortress-cta p {
  text-shadow: 1px 1px 2px rgba(0,0,0,0.5); /* make white text readable on dark background */
} 
	
#jsm-section-33 {height:650px;}
#jsm-section-33 h1 {font-size: 4rem;font-weight: 700; text-shadow: 1px 1px #00787f;background-color: #0000004f; border-radius: 10px; padding: 10px 20px;}
#jsm-section-33 .slider1 { 
background-image:url('https://www.exteriorcleaningnwfl.com/wp-content/uploads/2026/03/slider-bg-bna.webp'); 
background-position: center center;
background-repeat: no-repeat;
background-size: cover;   
height:650px;
}
#jsm-section-33 .slider2 { 
background-image:url('https://www.exteriorcleaningnwfl.com/wp-content/uploads/2026/03/slider-bg2-bna.webp'); 
background-position: center center;
background-repeat: no-repeat;
background-size: cover;   
height:650px;
}  
#jsm-section-33 .slider3 { 
background-image:url('https://www.exteriorcleaningnwfl.com/wp-content/uploads/2026/03/slider-bg3-bna.webp'); 
background-position: center center;
background-repeat: no-repeat;
background-size: cover;   
height:650px;
}  
#jsm-section-33 .carousel-caption {top: 30%; }
#jsm-section-33 .carousel-caption p {font-size: 2rem; text-shadow: 1px 1px #00787f;}  
#jsm-section-33 .carousel-caption a {background-color: #00787f; color: #fff;}


ul.list-unstyled{background-color: #333;color: #fff;text-align: center;}

.h-100.p-4.border.rounded-3 {
    background-color: #000;
    color: #fff;
    text-align: center;
	width:100%;
}

@media only screen and (max-width: 992px) {
	#jsm-section-33 .slider1, #jsm-section-33 .slider2, #jsm-section-33 .slider3 {height:680px !important;}
    #jsm-section-33 .carousel-caption {top: 25% !important;} 
    #jsm-section-33 .carousel-caption h1 {font-size: 2.3rem;text-align: center;} 
    #jsm-section-33 .carousel-caption p {font-size: 1.4rem; text-align: center;} 

	.col-5, .col-6 {width: 100% !important; padding: 3rem !important;}

}

/* ==========================================================================
   RECENT BLOG POST CARDS (home page) + shared card styling
   ========================================================================== */
:root {
    --ec-teal: #00787f;
    --ec-green: #0b6b56;
    --ec-dark: #14212b;
    --ec-muted: #5a6b74;
    --ec-bg-soft: #f4f8f8;
}

.section-heading {
    font-size: 2.25rem;
    font-weight: 700;
    color: var(--ec-green);
}
.section-subheading {
    font-size: 1.15rem;
    color: var(--ec-muted);
    max-width: 640px;
    margin: 0.5rem auto 0;
}

.ecnwfl-recent-posts {
    background-color: var(--ec-bg-soft);
}

/* Card */
.ecnwfl-post-card {
    border-radius: 14px !important;
    overflow: hidden;
    background: #fff;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.ecnwfl-post-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 16px 34px rgba(0, 120, 127, 0.18) !important;
}
.ecnwfl-post-card__imglink {
    display: block;
    overflow: hidden;
    aspect-ratio: 16 / 10;
    background: #dfeaea;
}
.ecnwfl-post-card__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease;
}
.ecnwfl-post-card:hover .ecnwfl-post-card__img {
    transform: scale(1.05);
}
.ecnwfl-post-card__img--placeholder {
    display: block;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, var(--ec-teal), var(--ec-green));
}
.ecnwfl-post-card .card-body {
    padding: 1.25rem 1.35rem 1.4rem;
}
.ecnwfl-post-card__cat {
    display: inline-block;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--ec-teal);
    margin-bottom: 0.5rem;
}
.ecnwfl-post-card__title {
    font-weight: 700;
    line-height: 1.3;
    margin-bottom: 0.6rem;
}
.ecnwfl-post-card__title a {
    color: var(--ec-dark);
    text-decoration: none;
}
.ecnwfl-post-card__title a:hover {
    color: var(--ec-teal);
}
.ecnwfl-post-card__excerpt {
    font-size: 0.95rem !important;
    color: var(--ec-muted);
    margin-bottom: 1rem;
}
.ecnwfl-post-card__meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 0.82rem;
    color: var(--ec-muted);
}
.ecnwfl-post-card__more {
    font-weight: 600;
    color: var(--ec-teal);
    text-decoration: none;
    white-space: nowrap;
}
.ecnwfl-post-card__more:hover {
    text-decoration: underline;
}

/* ==========================================================================
   SINGLE ARTICLE (article details) PAGE
   ========================================================================== */
.ecnwfl-article {
    background: #fff;
}
.ecnwfl-article__hero {
    background: linear-gradient(160deg, #f4f8f8 0%, #e3efef 100%);
    padding: 3.25rem 0 2.25rem;
    border-bottom: 1px solid #e2ebeb;
}
.ecnwfl-breadcrumb ol {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    padding: 0;
    margin: 0 0 1rem;
    font-size: 0.85rem;
    color: var(--ec-muted);
}
.ecnwfl-breadcrumb li:not(:last-child)::after {
    content: "/";
    margin-left: 0.4rem;
    color: #a9bcbc;
}
.ecnwfl-breadcrumb a {
    color: var(--ec-teal);
    text-decoration: none;
}
.ecnwfl-breadcrumb li[aria-current="page"] {
    color: var(--ec-muted);
}
.ecnwfl-article__eyebrow {
    display: inline-block;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #fff;
    background: var(--ec-teal);
    padding: 0.3rem 0.75rem;
    border-radius: 999px;
    text-decoration: none;
    margin-bottom: 1rem;
}
.ecnwfl-article__title {
    font-size: clamp(1.9rem, 4vw, 3rem);
    font-weight: 800;
    line-height: 1.15;
    color: var(--ec-dark);
    max-width: 900px;
    margin: 0 0 1rem;
}
.ecnwfl-article__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.6rem;
    color: var(--ec-muted);
    font-size: 0.92rem;
}
.ecnwfl-article__meta .ecnwfl-dot {
    color: #b7c7c7;
}
.ecnwfl-article__featured {
    margin: 2.5rem 0 0;
}
.ecnwfl-article__featured-img {
    width: 100%;
    max-height: 520px;
    object-fit: cover;
    border-radius: 16px;
    box-shadow: 0 20px 45px rgba(20, 33, 43, 0.15);
    margin-top: 0;
}
.ecnwfl-article__layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 2.5rem;
    max-width: 820px;
    margin: 0 auto;
    padding: 3rem 0 1rem;
}
.ecnwfl-article__content {
    font-size: 1.12rem;
    line-height: 1.8;
    color: #2c3a43;
}
.ecnwfl-article__content h2 {
    font-size: 1.7rem;
    font-weight: 700;
    color: var(--ec-dark);
    margin: 2.2rem 0 0.9rem;
}
.ecnwfl-article__content h3 {
    font-size: 1.35rem;
    font-weight: 700;
    color: var(--ec-dark);
    margin: 1.8rem 0 0.75rem;
}
.ecnwfl-article__content p {
    margin-bottom: 1.35rem;
}
.ecnwfl-article__content img {
    max-width: 100%;
    height: auto;
    border-radius: 12px;
    margin: 1.5rem 0;
}
.ecnwfl-article__content a {
    color: var(--ec-teal);
    text-decoration: underline;
}
.ecnwfl-article__content ul,
.ecnwfl-article__content ol {
    margin: 0 0 1.35rem 1.25rem;
}
.ecnwfl-article__content li {
    margin-bottom: 0.5rem;
}
.ecnwfl-article__content blockquote {
    border-left: 4px solid var(--ec-teal);
    background: var(--ec-bg-soft);
    padding: 1rem 1.4rem;
    margin: 1.6rem 0;
    border-radius: 0 10px 10px 0;
    font-style: italic;
    color: #33454f;
}
.ecnwfl-article__tags {
    margin-top: 2rem;
    font-size: 0.9rem;
    color: var(--ec-muted);
}
.ecnwfl-article__tags a {
    display: inline-block;
    background: var(--ec-bg-soft);
    color: var(--ec-teal);
    padding: 0.25rem 0.7rem;
    border-radius: 999px;
    text-decoration: none;
    margin: 0 0.3rem 0.4rem 0;
    font-size: 0.82rem;
}
.ecnwfl-tags-label {
    font-weight: 700;
    color: var(--ec-dark);
    margin-right: 0.35rem;
}
.ecnwfl-article__cta {
    background: linear-gradient(135deg, var(--ec-teal), var(--ec-green));
    color: #fff;
    border-radius: 16px;
    padding: 2.25rem;
    text-align: center;
    margin: 3rem 0 1rem;
}
.ecnwfl-article__cta h2 {
    color: #fff;
    font-weight: 800;
    margin-bottom: 0.6rem;
}
.ecnwfl-article__cta p {
    color: rgba(255, 255, 255, 0.92);
    margin-bottom: 1.4rem;
    font-size: 1.05rem;
}
.ecnwfl-article__cta .jsm-btn {
    background-color: #fff !important;
    color: var(--ec-teal) !important;
    border: none !important;
    font-weight: 700;
}
.ecnwfl-related {
    background: var(--ec-bg-soft);
    border-top: 1px solid #e2ebeb;
}

@media (max-width: 575px) {
    .ecnwfl-article__hero { padding: 2.25rem 0 1.75rem; }
    .ecnwfl-article__cta { padding: 1.75rem 1.25rem; }
}


/* ==========================================================================
   INTERIOR PAGES — keep header in normal flow (no slider to sit over)
   On the home page (body.home) the nav stays absolutely positioned so it
   overlays the hero slider. On every other page it becomes a solid bar in
   normal flow so page content starts cleanly below the header.
   ========================================================================== */
body:not(.home) #jsm-header-16 {
    position: static;
    background-color: #14212b;
}
body:not(.home) #jsm-header-16 header {
    position: static;
    background-color: #14212b;
}
body:not(.home) #jsm-header-16 .navbar {
    background-color: #14212b;
}


/* ==========================================================================
   ARCHIVE / CATEGORY / SEARCH LISTINGS + pagination
   ========================================================================== */
.ecnwfl-archive {
    background: #fff;
}
.ecnwfl-archive .section-subheading {
    max-width: 720px;
}
.ecnwfl-archive .ecnwfl-post-card__title a {
    color: var(--ec-dark);
    text-decoration: none;
}
.ecnwfl-archive .ecnwfl-post-card__title a:hover {
    color: var(--ec-teal);
}

/* Pagination */
.ecnwfl-pagination .nav-links,
.ecnwfl-pagination .pagination {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.5rem;
}
.ecnwfl-pagination .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    height: 44px;
    padding: 0 0.9rem;
    border-radius: 8px;
    border: 1px solid #d8e3e3;
    background: #fff;
    color: var(--ec-dark);
    text-decoration: none;
    font-weight: 600;
    transition: all 0.2s ease;
}
.ecnwfl-pagination .page-numbers:hover {
    border-color: var(--ec-teal);
    color: var(--ec-teal);
}
.ecnwfl-pagination .page-numbers.current {
    background: var(--ec-teal);
    border-color: var(--ec-teal);
    color: #fff;
}
.ecnwfl-pagination .page-numbers.dots {
    border-color: transparent;
}

/* Prevent minor horizontal overflow (full-width footer rows with negative gutters) */
html, body { overflow-x: hidden; }
.container-flex { padding-left: 12px; padding-right: 12px; }

/* Section headings (Latest Articles, From Our Blog, Related Articles) use brand teal */
.section-heading { color: #00787f; }
