/* ===================================
    BCBT - site theme (palette from the BCBT logo: lime #d5d52b, grey #868683, ink #3f3d3d)
====================================== */
/* font */
@import url('https://fonts.googleapis.com/css2?family=Urbanist:wght@300;400;500;600;700;800;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;700&display=swap');
/* variable */
:root {     
    --base-color: #d5d52b;
    --base-color-text: #8c8c10;
    --medium-gray:#868683;
    --dark-gray:#3f3d3d;
    --bcbt-lime: #d5d52b;
    --bcbt-grey: #868683;
    --bcbt-ink: #3f3d3d;
    --alt-font: 'Urbanist', sans-serif;
    --primary-font: 'DM Sans', sans-serif;
}  
body {
    font-size: 17px;
    line-height: 30px;
}
a:hover {
    color: var(--dark-gray);
    text-decoration: none;
}
.google-maps-link a:hover {
    color: var(--white);
}
/* custom cursor */
.custom-cursor .circle-cursor-inner {
    background-color: var(--dark-gray);
}
.custom-cursor .circle-cursor-inner.cursor-link-hover {
    background-color: var(--dark-gray);
}
.custom-cursor .circle-cursor-outer {
    border: 1px solid var(--dark-gray);
    opacity: .3;
}
/* header */
header .navbar-brand img {
    height: 60px;
    max-height: none;
    width: auto;
}
footer .footer-logo img {
    height: 66px;
    width: auto;
}
@media (max-width: 575px) {
    header .navbar-brand img { height: 44px; }
}
.navbar .navbar-nav .nav-link {
    font-size: 18px;
    font-weight: 600;
}
header .left-nav .navbar-nav:before {
    background-color: var(--medium-gray);
    opacity: 0.3;  
}
.btn.btn-switch-text.btn-large > span {
    padding:7px 14px;
}
/* bg color */
.bg-cabaret-red {
    background-color: #868683;
}
.bg-ghost-white{
    background-color: #f1f1ee;
}
.bg-cosmic-latte-white{
    background-color: #f6f6dc;
}
.bg-chablis-red{
    background-color: #ececE8;
}
.bg-lavender-violet{
    background-color: #fafae6;
}
.bg-clear-green {
    background-color: #efefd2;
}
.bg-linen-white {
    background-color: #f4f4f0;
}
.bg-lavender-violet-light {
    background-color: #f8f8ea;
}
.bg-midnight-blue {
    background-color: #3f3d3d;
}
.bg-gradient-flamingo-amethyst-green {
    background-image: linear-gradient(to right, #3f3d3d, #868683 60%, #d5d52b);
}
.bg-gradient-very-light-gray {
    background-image: linear-gradient(to bottom, #f3f3d2, #f6f6dc, #fafae9, #fdfdf6, #ffffff);
}
.bg-gradient-very-ghost-white {
    background-image: linear-gradient(to bottom, #f1f1ee, #f6f6f3, #fafaf8, #fdfdfc, #ffffff);
}
/* text gradient color */
.text-gradient-orange-sky-blue {
    background-image: linear-gradient(to right, #3f3d3d, #868683 55%, #d5d52b);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
/* heading */
h1, .h1 {
    line-height: 4.1rem;
}
h2 {
    line-height: 3.2rem;
}
/* btn */
.btn.btn-hover-animation-switch.btn-link {
    padding-top: 0;
}
.btn i {
    margin-left: 4px;
}
.btn { 
    text-transform: inherit;
    font-weight: 600;
    letter-spacing: 0;
}
.btn.btn-extra-large {
    font-size: 18px;
    padding: 16px 32px;
}
.btn.btn-large {
    font-size: 17px;
    padding: 14px 28px;
}
.btn.btn-medium {
    font-size: 16px; 
    padding: 12px 24px;
}
.btn.btn-small {
    font-size: 15px; 
    padding: 10px 18px;
}
.btn.btn-very-small {
    font-size: 14px; 
    padding: 9px 20px;
}
.btn.btn-link {
    padding: 0 0 2px;
}
/* left right top */
.top-20 {
    top: 20%;
}
.top-30 {
    top: 30%;
}
.top-minus-180px {
    top: -180px;
}
.left-40 {
    left: 40%;
}
.right-10 {
    right: 10%;
}
/* pricing table style 04 */
.pricing-table-style-04 .accordion-item.active-accordion {
    background-color: var(--dark-gray) !important;
}
/* process-step style 05 */
.process-step-style-05 .progress-step-separator {
    bottom: inherit;
    height: 100%;
}
.team-style-01 figure figcaption .social-icon a {
    margin: 0 7px;
}
/* page title style */
.page-title-button-style h1 {
    padding: 5px 20px;
    display: inline-block;
    font-size: 12px;
}
.page-title-extra-small h2 {
    font-size: 3.438rem;
    line-height: 3.2rem;
}
/* footer */
footer {
    padding-top: 100px;
    padding-bottom: 30px;
}
footer .nav-link {
    color: var(--dark-gray);
    padding: 10px 20px;
}
footer .elements-social ul li:last-child {
    margin-right: 0;
}
@media (max-width: 1350px) {
    .navbar .navbar-nav .nav-link {
        padding-left: 16px;
        padding-right: 16px;
    }
}
@media (max-width: 1279px) {
    .navbar .navbar-nav .nav-link {
        padding-left: 10px;
        padding-right: 10px;
    }
}
@media (max-width: 1199px) {
    .navbar .navbar-nav .nav-link {
        padding-left: 8px;
        padding-right: 8px;
    }
    footer {
        padding-top: 80px;
    }
}
@media (max-width: 991px) {
    footer {
        padding-top: 65px;
    }
    .md-bottom-5 {
        bottom: 5% !important;
    }
    footer .nav-link {
        padding: 5px 15px;
    }
}
@media (max-width: 767px) {
    footer {
        padding-top: 50px;
    }
}
@media (max-width: 575px) {
    .xs-mt-minus-40px {
        margin-top: -40px !important;
    }
    .accordion .accordion-item .accordion-header .accordion-title {
        line-height: 28px;
    }
}

/* long-form articles (policies, guides) */
.bru-article h2 { font-size: 30px; line-height: 38px; font-weight: 700; margin: 50px 0 18px; letter-spacing: -.5px; scroll-margin-top: 110px; }
.bru-article h2:first-child { margin-top: 0; }
.bru-article h3 { font-size: 22px; line-height: 30px; font-weight: 700; margin: 34px 0 12px; scroll-margin-top: 110px; }
.bru-article h4 { font-size: 18px; line-height: 28px; font-weight: 700; margin: 26px 0 8px; color: var(--dark-gray); }
.bru-article p { margin-bottom: 18px; }
.bru-article ul, .bru-article ol { margin: 0 0 22px; padding: 0; list-style: none; }
.bru-article ul > li { position: relative; padding-left: 30px; margin-bottom: 10px; }
.bru-article ul > li::before { content: ""; position: absolute; left: 4px; top: 11px; width: 9px; height: 9px; border-radius: 50%; background: var(--base-color); }
.bru-article ol { counter-reset: bru-ol; }
.bru-article ol > li { position: relative; padding-left: 44px; margin-bottom: 14px; counter-increment: bru-ol; }
.bru-article ol > li::before { content: counter(bru-ol); position: absolute; left: 0; top: 1px; width: 28px; height: 28px; border-radius: 50%; background: #E9F6F5; color: var(--dark-gray); font: 700 14px/28px var(--alt-font); text-align: center; }
.bru-article ul ul { margin: 10px 0 0; }
.bru-article a { text-decoration: underline; text-decoration-color: var(--base-color); text-underline-offset: 3px; color: var(--dark-gray); }
.bru-article .bru-meta { font-size: 15px; color: var(--medium-gray); border-left: 4px solid var(--base-color); padding: 6px 0 6px 18px; margin-bottom: 34px; }
.bru-article h2, .bru-article h3 { color: var(--dark-gray); font-family: var(--alt-font); }

/* page title: grow with long titles / lead text instead of clipping at the template's fixed 300px */
.page-title-button-style .extra-small-screen { height: auto !important; min-height: 300px; padding-bottom: 40px; }


/* ---- BCBT palette adjustments (lime is a light colour: dark text on lime, olive for lime-coloured text) ---- */
.bg-base-color, .bg-base-color.text-white, .bg-base-color .text-white, .btn-base-color { color: var(--dark-gray) !important; }
.text-base-color, .text-base-color i { color: var(--base-color-text) !important; }
.header-top-bar.bg-gradient-flamingo-amethyst-green { background-image: linear-gradient(to right, #3f3d3d, #4d4b4a 55%, #686865) !important; }
.header-top-bar .btn-link-gradient, .header-top-bar a { color: #fff; }
.header-top-bar a:hover { color: var(--base-color); }
.page-title-button-style h1.bg-base-color { color: var(--dark-gray) !important; }
a:hover { color: var(--bcbt-grey); }
.accordion-style-02 .accordion-title i, .tab-style-04 .nav-link.active { color: var(--dark-gray); }
::selection { background: var(--base-color); color: var(--dark-gray); }
.nav-tabs .nav-link { color: var(--bcbt-grey); }
.nav-tabs .nav-link.active, .nav-tabs .nav-link:hover { color: var(--dark-gray); }
.scroll-progress .scroll-line .scroll-point { background: var(--base-color); }
.top-220px { top: 220px; }

/* one calm, gentle motion for the decorative floaters (no circling, no scroll-driven movement) */
.bcbt-bob { animation: bcbt-bob 7s ease-in-out infinite; }
@keyframes bcbt-bob { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }
@media (prefers-reduced-motion: reduce) { .bcbt-bob { animation: none; } }
