/*!*************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./node_modules/sass-loader/dist/cjs.js!./wp-content/themes/cainco/src/scss/style.scss ***!
  \*************************************************************************************************************************************************************************************************************/
/*!
Theme Name: cainco
Theme URI: https://cain-co.com/
Author: Gary Hunt
Author URI: https://cain-co.com/
Description: Minimal theme for Cain & Co.
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: cainco
Tested up to: 6.7
Requires PHP: 7.0
*/
/* 
 * Main stylesheet for the Cainco theme.
 * Includes only the styles needed for this theme build.
 * Built with a focus on optimization and clarity.
 */
/* Bootstrap is loaded in full via CDN in functions.php; no partial SCSS imports here to avoid duplication. */
/* Variables */
/* Typography */
/* Avenir Roman (normal) */
@font-face {
    font-family: 'Avenir';
    src: url('fonts/AvenirLTStd-Roman.woff2') format('woff2'),
    url('fonts/AvenirLTStd-Roman.woff') format('woff'),
    url('fonts/AvenirLTStd-Roman.ttf') format('truetype'),
    url('fonts/AvenirLTStd-Roman.eot'); /* IE fallback */
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

/* Avenir Light */
@font-face {
    font-family: 'Avenir';
    src: url('fonts/AvenirLTStd-Light.woff2') format('woff2'),
    url('fonts/AvenirLTStd-Light.woff') format('woff'),
    url('fonts/AvenirLTStd-Light.ttf') format('truetype'),
    url('fonts/AvenirLTStd-Light.eot');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

/* Avenir Heavy */
@font-face {
    font-family: 'Avenir';
    src: url('fonts/AvenirLTStd-Heavy.woff2') format('woff2'),
    url('fonts/AvenirLTStd-Heavy.woff') format('woff'),
    url('fonts/AvenirLTStd-Heavy.ttf') format('truetype'),
    url('fonts/AvenirLTStd-Heavy.eot');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

/* Minion Pro (regular OTF — may want to convert to WOFF/WOFF2 later) */
@font-face {
    font-family: 'MinionPro';
    src: url('../MinionPro-Regular.otf') format('opentype');
    font-style: normal;
    font-display: swap;
}
html{
    overflow-x:hidden;
}
/* Apply fonts */
h1, h2, h3, h4, h5, h6 {
    font-family: 'Avenir', sans-serif;
}

body, p, li, span, a, input, textarea {
    font-family: 'Avenir', sans-serif;
}


body {
    font-family: "Helvetica Neue", Arial, sans-serif;
    font-size: 1.2rem;
    line-height: 1.6;
    color: #333;
    overflow-x:hidden;
}

h1, h2, h3, h4, h5, h6 {
    margin-bottom: 0.5rem;
    font-weight: 500;
    line-height: 1.2;
}
p{
    font-size:1.2rem;
}

/* Header */
.header-init.navbar.navbar-default {
    display: none;
}

/* Header Styles */
.header-wrapper {
    background: url("/wp-content/themes/cainco/assets/images/bgs/Navigation_Background.jpg");
    background-size: cover;
    padding: 15px 0;
    position: relative;
    z-index: 1000;
}

.header-wrapper .container-fluid {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 20px;
}

.logo a {
    font-weight: 700;
    color: #000;
    text-decoration: none;
    display: inline-block;
    padding: 2px 10px;
    font-size: 18px;
    letter-spacing: 0.5px;
    font-family: "Helvetica Neue", sans-serif;
    line-height: 1.2;
}

.logo a img {
    width: 100%;
}

.tagline {
    font-size: 14px;
    color: #333;
    font-family: "Helvetica Neue", sans-serif;
    margin-left: 10px;
}

.header-left {
    display: flex;
    align-items: center;
    gap: 10px;
    flex: 1;
    min-width: 0;
}

.header-right {
    display: flex;
    align-items: center;
    gap: 20px;
}

.nav-menu,
.mobile-nav-menu {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    gap: 20px;
}

.nav-menu li,
.mobile-nav-menu li {
    list-style-type: none;
}

.nav-menu li a,
.mobile-nav-menu li a {
    text-transform: uppercase;
    color: #000;
    font-size: 14px;
    text-decoration: none;
    font-weight: 500;
    font-family: "Helvetica Neue", sans-serif;
}

.contact-btn {
    border: 1px solid #000;
    padding: 5px 15px;
    border-radius: 25px;
    text-transform: uppercase;
    font-size: 14px;
    text-decoration: none;
    color: #000;
    font-weight: 500;
    font-family: "Helvetica Neue", sans-serif;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    transition: all 0.2s ease;
}

.contact-btn:hover {
    background: #000;
    color: #fff;
}

.menu-toggle {
    width: 50px;
    height: 50px;
    background: none;
    border: none;
    cursor: pointer;
    position: relative;
    display: inline-block;
}

.menu-toggle::before,
.menu-toggle::after,
.menu-toggle span {
    content: "";
    display: block;
    position: absolute;
    left: 10px;
    right: 10px;
    height: 5px;
    background-color: #000;
    border-radius: 2px;
    transition: all 0.3s ease-in-out;
}

.menu-toggle::before {
    top: 12px;
}

.menu-toggle span {
    top: 22px;
}

.menu-toggle::after {
    top: 32px;
}

/* Close Button Style */
#mobile-menu-close {
    align-self: flex-end;
    width: 40px;
    height: 40px;
    background: none;
    border: none;
    position: relative;
    margin-bottom: 20px;
    cursor: pointer;
    top: 20px;
}

#mobile-menu-close::before,
#mobile-menu-close::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    height: 4px;
    background-color: #000;
    transform-origin: center;
}

#mobile-menu-close::before {
    transform: rotate(45deg);
}

#mobile-menu-close::after {
    transform: rotate(-45deg);
}

/* Slide-in Menu Modernized */
#mobile-slide-menu {
    position: fixed;
    top: 0;
    right: -100%;
    width: 320px;
    height: 100%;
    background: linear-gradient(to bottom, #fefefe 0%, #f4f4f4 100%);
    transition: right 0.4s ease-in-out;
    padding: 30px 20px;
    z-index: 9999;
    box-shadow: -4px 0 16px rgba(0, 0, 0, 0.15);
    display: flex;
    flex-direction: column;
    gap: 20px;
    border-left: 1px solid #ddd;
}

#mobile-slide-menu.active {
    right: 0;
}

#mobile-slide-menu ul {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

#mobile-slide-menu li a {
    font-size: 16px;
    font-weight: 600;
    padding: 10px 0;
    color: #111;
    border-bottom: 1px solid #e2e2e2;
    transition: color 0.2s ease;
}

#mobile-slide-menu li a:hover {
    color: #0073e6;
}

.v-rule {
    width: 1px;
    height: 100px;
    margin-inline: auto;
    background-color: #000;
}

@media (max-width: 768px) {
    .nav-menu {
        display: none !important;
    }
    .menu-toggle {
        display: inline-block;
    }
    .tagline {
        font-size: 12px;
    }
    .logo a {
        font-size: 16px;
        padding: 2px 8px;
    }
    .header-wrapper .container-fluid {
        flex-direction: row;
        flex-wrap: nowrap;
        align-items: center;
        justify-content: space-between;
    }
    .header-left {
        flex: 1;
        justify-content: space-between;
        display: flex;
        align-items: center;
    }
    .tagline {
        display: none;
    }
    .header-right {
        gap: 15px;
    }
}
/* Breadcrumbs */
.breadcrumbs-row {
    position: relative;
    display: block;
    background: black;
}

.pine_breadcrumbs {
    background: black;
    padding: 1rem;
}

.pine_breadcrumbs a:nth-child(6n+1),
.pine_breadcrumbs span:nth-child(6n+1) {
    color: #00aeef;
}

.pine_breadcrumbs a:nth-child(6n+2),
.pine_breadcrumbs span:nth-child(6n+2) {
    color: #ec008c;
}

.pine_breadcrumbs a:nth-child(6n+3),
.pine_breadcrumbs span:nth-child(6n+3) {
    color: #fff200;
}

/* Footer Styles */
.site-footer {
    background-color: #000;
    color: white;
    padding-top: 40px;
    padding-bottom: 40px;
}

.site-footer a {
    color: white;
    text-decoration: none;
}

.site-footer a:hover {
    text-decoration: underline;
}

.site-footer .btn-outline-light {
    border-color: white;
    color: white;
    border-radius: 20px;
    padding: 0.5rem 2rem;
    margin-top: 20px;
}

.site-footer .btn-outline-light:hover {
    background-color: white;
    color: black;
}

.site-footer .footer-menu li {
    list-style: none;
    margin-left: 0;
    text-transform: uppercase;
}

.site-footer .fa-lg {
    font-size: 1.25rem;
}

.site-footer .d-inline-flex a {
    padding: 0.5rem;
}

.d-flex {
    display: flex !important;
}

/* NEW: Social row layout and spacing */
.site-footer .social-row {
    display: flex;
    justify-content: space-around;
    max-width: 300px;
    margin: 40px auto 20px auto;
    padding: 0 20px;
}

/* NEW: Bottom copyright/policy row */
.site-footer .footer-bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: 1040px;
    margin: 0 auto;
    padding: 0 20px;
    font-size: 0.875rem;
    flex-wrap: wrap;
}

.copyright {
    max-width: 600px;
    margin: auto;
}

.d-flex {
    display: flex !important;
}

.d-inline-flex {
    display: inline-flex !important;
}

.flex-row {
    flex-direction: row !important;
}

.flex-column {
    flex-direction: column !important;
}

.justify-content-start {
    justify-content: flex-start !important;
}

.justify-content-end {
    justify-content: flex-end !important;
}

.justify-content-center {
    justify-content: center !important;
}

.justify-content-between {
    justify-content: space-between !important;
}

.justify-content-around {
    justify-content: space-around !important;
}

.justify-content-evenly {
    justify-content: space-evenly !important;
}

.align-items-start {
    align-items: flex-start !important;
}

.align-items-end {
    align-items: flex-end !important;
}

.align-items-center {
    align-items: center !important;
}

.align-items-baseline {
    align-items: baseline !important;
}

.align-items-stretch {
    align-items: stretch !important;
}

.align-self-start {
    align-self: flex-start !important;
}

.align-self-end {
    align-self: flex-end !important;
}

.align-self-center {
    align-self: center !important;
}

.align-self-baseline {
    align-self: baseline !important;
}

.align-self-stretch {
    align-self: stretch !important;
}

/* Layout */
.container {
    width: 100%;
    padding-right: 15px;
    padding-left: 15px;
    margin-right: auto;
    margin-left: auto;
    max-width: 1140px;
}

/* Components */
.btn {
    display: inline-block;
    font-weight: 400;
    text-align: center;
    vertical-align: middle;
    cursor: pointer;
    padding: 0.375rem 0.75rem;
    font-size: 1rem;
    line-height: 1.5;
    border-radius: 0.25rem;
    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out;
}

.btn-primary {
    color: #fff;
    background-color: #007bff;
    border-color: #007bff;
}

/* === Shared arrow icon (uses assets/icons/arrow-up-right.svg) === */
.arrow-icon {
    display: inline-block;
    width: 1em;
    height: 1em;
    margin-left: 0.4em;
    background-color: currentColor; /* inherits text color: black in header, white in footer */
    -webkit-mask: url(ddc858911876f740dc2a.svg) no-repeat center;
    -webkit-mask-size: contain;
    mask: url(ddc858911876f740dc2a.svg) no-repeat center;
    mask-size: contain;
    transition: transform 0.3s ease;
}

.contact-btn:hover .arrow-icon,
.btn:hover .arrow-icon {
    transform: translateX(4px) translateY(-2px);
}

/* Header version: black text = black arrow */
.header-wrapper .contact-btn {
    color: #000;
}

.header-wrapper .contact-btn:hover {
    color: #fff;
}

/* Footer version: white text = white arrow */
.site-footer .btn-outline-light {
    color: #fff;
    border-color: #fff;
}

/* Animations */
.fade-in {
    animation: fadeIn 0.5s ease-in-out;
}

/* Cain & Co post grid brand title cycling */
.cainco-post-grid .card-title .title-cycle { text-decoration: none; }
.cainco-post-grid .col-12:nth-child(4n+1) .card-title .title-cycle { color: #09BFF2; } /* cyan */
.cainco-post-grid .col-12:nth-child(4n+2) .card-title .title-cycle { color: #EB3273; } /* magenta */
.cainco-post-grid .col-12:nth-child(4n+3) .card-title .title-cycle { color: #FFDD00; } /* yellow */
.cainco-post-grid .col-12:nth-child(4n+4) .card-title .title-cycle { color: #000000; } /* black */

.cainco-post-grid .card-title .title-cycle:hover,
.cainco-post-grid .card-title .title-cycle:focus { text-decoration: underline; }

/* Optional: ensure card border + shadow feel on brand */
.cainco-post-grid .card {
    border: 1px solid rgba(0,0,0,.06);
    border-radius: .5rem;
}
/* 1) Kill side padding for full-width “stretch content” rows (e.g., your hero band) */
.vc_row[data-vc-stretch-content="true"] > .vc_column_container > .vc_column-inner {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* 2) Utility: add class "cno-gutters" to any VC Row to force zero LR padding */
.vc_row.cno-gutters > .vc_column_container > .vc_column-inner {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* 3) Auto-detect your components and remove padding on their columns */
.vc_column_container > .vc_column-inner:has(> .wpb_wrapper > .branded-cta-wave),
.vc_column_container > .vc_column-inner:has(> .wpb_wrapper > .service-band) {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Optional: keep vertical padding tidy for those edge-to-edge bands */
.branded-cta-wave,
.service-band {
    margin-left: 0;
    margin-right: 0;
}
/* ===== Proof grid (under "What Good Marketing Looks Like") ===== */
.c-proof-grid {
    /* tighten the vertical rhythm a bit */
    margin-top: 12px;
}

/* equal-height columns + remove inner column padding issues */
.c-proof-grid .wpb_column > .vc_column-inner { height: 100%; }
.c-proof-grid .ult-content-box { height: 100%; display: flex; flex-direction: column; }

/* card styling */
.c-proof-card {
    position: relative;
    background: #0B0B0D;
    border-top: 10px solid var(--accent);
    border-radius: 0 0 12px 12px;
    padding: 28px !important;
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.22);
    color: rgba(255, 255, 255, 0.9);
}
.c-proof-card h2{
    font-size:20px;
}

/* body text and links on dark */
.c-proof-card p,
.c-proof-card .vc_column_text {
    color: rgba(255,255,255,0.84);
    margin: 0;
}
.c-proof-card a { color: #fff; text-decoration: underline; }

/* clean heading */
.c-proof-card .uvc-main-heading {
    color: #fff !important;
    font-weight: 700;
    font-size: clamp(20px, 2.1vw, 28px);
    line-height: 1.15;
    margin: 0 0 12px;
}
/* hide Ultimate Heading plugin's default underline since we do our own accent */
.c-proof-card .uvc-headings-line { display: none !important; }


/* brand accents */
.c-proof-card--cyan    { --accent: #09BFF2; }
.c-proof-card--magenta { --accent: #EB3273; }
.c-proof-card--yellow  { --accent: #FFDD00; }
/* ===== Cain & Co — Legacy .back-black Fixup (SCOPED) ===== */

/* Turn legacy "black" sections into clean branded bands */
.back-black {
    background: #f5f7f9;      /* soft neutral brand surface */
    color: #111;
    padding: 40px 20px;
    border-radius: 10px;
    margin: 2rem 0;
}

/* Inner width & spacing (JS adds .bb-inner; if not, safe to apply to direct child content) */
.back-black .bb-inner { max-width: 960px; margin: 0 auto; }

/* Headings */
.back-black h1, .back-black .blog-title,
.back-black h2, .back-black h3, .back-black h4 {
    color: #000;
    font-weight: 800;
    line-height: 1.22;
    margin: 1.4rem 0 .6rem;
}
.back-black h1, .back-black .blog-title { font-size: 2.1rem; }
.back-black h2 { font-size: 1.7rem; }
.back-black h3 { font-size: 1.35rem; }
.back-black h4 { font-size: 1.12rem; }

/* Brand underline on subheads */
.back-black h2, .back-black h3, .back-black h4 {
    position: relative; padding-bottom: .3rem;
}
.back-black h2::after, .back-black h3::after, .back-black h4::after {
    content:""; position:absolute; left:0; bottom:0; height:3px; width:72px;
    background-image: linear-gradient(90deg,#09BFF2,#EB3273,#FFDD00);
    border-radius:2px;
}

/* Typography */
.back-black p { margin: .8rem 0; line-height: 1.75; }
.back-black .pfirst { font-size: 1.0625rem; }
.back-black a { color:#09BFF2; text-decoration:none; border-bottom:2px solid rgba(9,191,242,.25); }
.back-black a:hover { border-bottom-color: rgba(235,50,115,.5); }

/* Lists (repair spacing for long items) */
.back-black ol, .back-black ul { margin: .9rem 0 1.1rem 1.25rem; }
.back-black li { margin: .45rem 0; }
.back-black ol { counter-reset: bb-counter; }
.back-black ol > li { list-style:none; counter-increment: bb-counter; position:relative; padding-left:2rem; }
.back-black ol > li::before {
    content: counter(bb-counter) ".";
    position:absolute; left:0; top:0; font-weight:800;
    background: linear-gradient(90deg,#09BFF2,#EB3273,#FFDD00);
    -webkit-background-clip:text; background-clip:text; color:transparent;
}

/* Blockquotes */
.back-black blockquote {
    border-left:5px solid #FFDD00; padding:.8rem 1rem; margin:1.2rem 0;
    background:#fffbea; color:#333; border-radius:4px;
}

/* Images/tables (common in imported posts) */
.back-black img { max-width:100%; height:auto; border-radius:6px; }
.back-black table { width:100%; border-collapse:collapse; margin:1rem 0; font-size:.95rem; }
.back-black th, .back-black td { border:1px solid #e6e6e6; padding:.6rem .75rem; }
.back-black thead th { background:#f6f8fa; }

/* Kill legacy Bootstrap grid noise INSIDE .back-black content */
.back-black :where(.container,.container-fluid,.row){ margin-left:0 !important; margin-right:0 !important; }
.back-black :where([class*="col-"]){ padding-left:0 !important; padding-right:0 !important; }

/* Hide junk from bad pastes */
.back-black :where(p,div,span,li):empty { display:none !important; }

/* De-italicize <i> wrappers that got used as containers (visual only; JS also unwraps) */
.back-black i { font-style: italic; }
.back-black i:has(> a), .back-black i:has(> p), .back-black i:has(> div), .back-black i:has(> ul), .back-black i:has(> li) { font-style: normal; }

/* Center helper for old "text-center p-3" blobs */
.back-black .text-center { text-align:center; }
.back-black .p-3 { padding: 1rem; }

/* spacing between columns on small screens */
@media (max-width: 991.98px) {
    .c-proof-grid .wpb_column { margin-bottom: 20px; }
}

/* optional: subtle hover lift on desktop */
@media (hover:hover) {
    .c-proof-card { transition: transform .18s ease, box-shadow .18s ease; }
    .c-proof-card:hover {
        transform: translateY(-2px);
        box-shadow: 0 10px 24px rgba(0,0,0,0.28);
    }
}


@keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}
/* Responsive utilities */
@media (min-width: 576px) {
    .container {
        max-width: 540px;
    }
}
@media (min-width: 768px) {
    .container {
        max-width: 720px;
    }
}
@media (min-width: 992px) {
    .container {
        max-width: 960px;
    }
}
@media (min-width: 1200px) {
    .container {
        max-width: 1140px;
    }
}

/*# sourceMappingURL=style.css.map*/