/*
 Theme Name:   Bootscore Child
 Description:  Bootscore Child Theme
 Author:       Bootscore
 Author URI:   https://bootscore.me
 Template:     bootscore
 Version:      6.0.0-beta1
 Requires at least: 5.0
 Tested up to: 6.5.2
 Requires PHP: 7.4
 License: MIT License
 License URI: https://github.com/bootscore/bootscore-child/blob/main/LICENSE
 Text Domain:  bootscore
*/

/* 
All style editing is done via /assets/scss/_bootscore_custom.scss
*/

@media (min-width: 1400px) {

    .container,
    .container-sm,
    .container-md,
    .container-lg,
    .container-xl,
    .container-xxl {
        max-width: 1265px;
    }
}

/* latin-ext */
@font-face {
    font-family: 'Sora';
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/sora/v12/xMQOuFFYT72X5wkB_18qmnndmScMnk-DKQJRBg.woff2) format('woff2');
    unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* latin */
@font-face {
    font-family: 'Sora';
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/sora/v12/xMQOuFFYT72X5wkB_18qmnndmScMnk-NKQI.woff2) format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* latin-ext */
@font-face {
    font-family: 'Sora';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/sora/v12/xMQOuFFYT72X5wkB_18qmnndmSe1mU-DKQJRBg.woff2) format('woff2');
    unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* latin */
@font-face {
    font-family: 'Sora';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/sora/v12/xMQOuFFYT72X5wkB_18qmnndmSe1mU-NKQI.woff2) format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* latin-ext */
@font-face {
    font-family: 'Sora';
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/sora/v12/xMQOuFFYT72X5wkB_18qmnndmSeMmU-DKQJRBg.woff2) format('woff2');
    unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* latin */
@font-face {
    font-family: 'Sora';
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/sora/v12/xMQOuFFYT72X5wkB_18qmnndmSeMmU-NKQI.woff2) format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}







/* latin-ext */
@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_fjbvMwCp504jAa25L7W0I5nvwUgHU.woff2) format('woff2');
    unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* latin */
@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_fjbvMwCp504jAa1ZL7W0I5nvwU.woff2) format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* latin-ext */
@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_fjbvMwCp50BTca25L7W0I5nvwUgHU.woff2) format('woff2');
    unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* latin */
@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_fjbvMwCp50BTca1ZL7W0I5nvwU.woff2) format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}


/* latin-ext */
@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 800;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_fjbvMwCp50Yjca25L7W0I5nvwUgHU.woff2) format('woff2');
    unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* latin */
@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 800;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_fjbvMwCp50Yjca1ZL7W0I5nvwU.woff2) format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}


body {
    --bs-body-font-family: 'Plus Jakarta Sans', 'Sora', sans-serif;
}

:root,
::selection {
    --bs-primary: #061735;
}


/* header top menu */
.header-top-menu ul {
    padding-left: 0;
    padding-right: 0;
    margin-left: 0;
    margin-right: 0;
    list-style-type: none;
}

.header-top-menu .container-menu {
    width: 100vw;
    background: #061735;
    position: fixed;
    top: 48px;
    left: 0;
    height: auto;
    right: 0;
    z-index: 99;
    margin: 0 auto;
    padding-top: 34px;
    padding-bottom: 66px;
    /* Slide + fade (no scaleY — scaling warped the text). */
    opacity: 0;
    visibility: hidden;
    transform: translateY(-8px);
    pointer-events: none;
    transition: opacity .22s ease, transform .22s ease, visibility 0s linear .22s;
}

.header-top-menu .container-menu.active {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    pointer-events: auto;
    transition: opacity .22s ease, transform .22s ease, visibility 0s;
}

.admin-bar .header-top-menu .container-menu {
    top: 80px;
}

header #nav-main .container {
    padding-left: 36px;
    padding-right: 41px;
}

header .navbar-expand-lg .navbar-nav .nav-link {
    padding: 8px 8px;
}

.header-top-menu .menu {
    display: flex;
    gap: 16px;
    justify-content: flex-end;
    padding-right: 41px;
    padding-left: 41px;
    margin-bottom: 0;
	align-items: center;
}

.header-top-menu {
    background: var(--Primary-100, #061735);
}


.header-top-menu ul.menu li a {
    padding: 12px 0 12px 0;
    color: var(--Text-White, #FCFCFC);
    text-align: center;
    font-size: 15px;
    font-weight: 600;
    line-height: 20px;
    display: flex;
    text-decoration: none;
    align-items: center;
    gap: 12px;
}

.header-top-menu ul#menu-header-top.menu>li.menu-item-has-children>a::after {
    content: '';
    color: #fff;
    background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M20.7071 7.29289C21.0976 7.68342 21.0976 8.31658 20.7071 8.70711L12.7071 16.7071C12.3166 17.0976 11.6834 17.0976 11.2929 16.7071L3.29289 8.70711C2.90237 8.31658 2.90237 7.68342 3.29289 7.29289C3.68342 6.90237 4.31658 6.90237 4.70711 7.29289L12 14.5858L19.2929 7.29289C19.6834 6.90237 20.3166 6.90237 20.7071 7.29289Z' fill='%23FCFCFC'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100%;
    width: 24px;
    height: 24px;
    display: flex;
}

.header-top-menu ul#menu-header-top.menu>li.menu-item-has-children.active>a::after {
    background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M3.29289 16.7071C2.90237 16.3166 2.90237 15.6834 3.29289 15.2929L11.2929 7.29289C11.6834 6.90237 12.3166 6.90237 12.7071 7.29289L20.7071 15.2929C21.0976 15.6834 21.0976 16.3166 20.7071 16.7071C20.3166 17.0976 19.6834 17.0976 19.2929 16.7071L12 9.41421L4.70711 16.7071C4.31658 17.0976 3.68342 17.0976 3.29289 16.7071Z' fill='%23FCFCFC'/%3e%3c/svg%3e");
}

.header-top-menu ul#menu-header-top.menu>li.menu-item-has-children {
    position: relative;
}

.menu-item-description {
    color: #fff;
}



@media (min-width: 992px) {
    .header-top-menu ul#menu-header-top.menu>li.menu-item-has-children:hover .container-menu {
        display: flex;
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
        pointer-events: auto;
        transition: opacity .22s ease, transform .22s ease, visibility 0s;
    }

    .header-top-menu ul#menu-header-top.menu>li.menu-item-has-children:hover>a::after {
        background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M3.29289 16.7071C2.90237 16.3166 2.90237 15.6834 3.29289 15.2929L11.2929 7.29289C11.6834 6.90237 12.3166 6.90237 12.7071 7.29289L20.7071 15.2929C21.0976 15.6834 21.0976 16.3166 20.7071 16.7071C20.3166 17.0976 19.6834 17.0976 19.2929 16.7071L12 9.41421L4.70711 16.7071C4.31658 17.0976 3.68342 17.0976 3.29289 16.7071Z' fill='%23FCFCFC'/%3e%3c/svg%3e");
    }

    .navbar-expand-lg .navbar-nav {
        gap: 32px;
    }

    .navbar-expand-lg {
        padding-top: 15px;
        padding-bottom: 15px;
        background-color: #fff;
    }
}

.display-h1 {
    color: var(--Text-White, #FCFCFC);
    font-size: 64px;
    font-style: normal;
    font-weight: 700;
    line-height: 70px;
}


h1,
.h1 {
    color: var(--Primary-100, #061735);
    font-size: 48px;
    font-style: normal;
    font-weight: 800;
    line-height: 54px;
    /* 135% */
}

h2,
.h2 {
    color: var(--Primary-100, #061735);
    font-size: 40px;
    font-style: normal;
    font-weight: 700;
    line-height: 54px;
    /* 135% */
}


h3,
.h3 {
    color: var(--Primary-100, #061735);
    font-size: 32px;
    font-style: normal;
    font-weight: 700;
    line-height: 42px;
}

.subtitle {
    color: var(--Primary-100, #061735);
    font-size: 24px;
    font-style: normal;
    font-weight: 700;
    line-height: 31px;
}

.subtitle:hover {
    color: #cf2b24;
}


label {
    display: flex;
    flex-direction: column;
    font-size: 16px;
    font-weight: 600;
    line-height: 20px;
    gap: 8px;
    max-width: 100%;
    width: 100%;
}

input,
select {
    border-radius: 24px;
    border: 1px solid var(--Primary-15, #061735);
    color: var(--Text-80, #4F5158);
    font-size: 16px;
    font-style: normal;
    font-weight: 300;
    line-height: 22px;
    padding: 12px 24px;
    max-width: 100%;
}

button,
input[type="submit"] {
    display: flex;
    padding: 12px 24px;
    justify-content: center;
    align-items: center;
    border-radius: 32px;
    color: var(--Text-White, #FCFCFC);
    text-align: center;
    font-size: 16px;
    font-style: normal;
    font-weight: 600;
    line-height: 20px;
    width: 100%;
    background-color: var(--bs-primary);
    border: none;
}



.wpcf7 form .wpcf7-response-output {
    margin: 0;
}

.button {
    color: var(--Text-White, #FCFCFC);
    font-size: 16px;
    font-style: normal;
    font-weight: 600;
    line-height: 20px;
    display: inline-flex;
    padding: 14px 23px;
    justify-content: center;
    align-items: center;
    border-radius: 32px;
    background: var(--Primary-100, #061735);
    text-decoration: none;
    text-align: center;
    width: fit-content;
}

.button:hover,
input[type="submit"]:hover,
button:hover {
    background: var(--Primary-90, linear-gradient(0deg, rgba(255, 255, 255, 0.10) 0%, rgba(255, 255, 255, 0.10) 100%), #061735);
}

input[type="search"] {
    background-image: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M2 6.33333C2 3.9401 3.9401 2 6.33333 2C8.72657 2 10.6667 3.9401 10.6667 6.33333C10.6667 7.2894 10.357 8.17316 9.8326 8.88979L13.1381 12.1953C13.3984 12.4556 13.3984 12.8777 13.1381 13.1381C12.8777 13.3984 12.4556 13.3984 12.1953 13.1381L8.88979 9.8326C8.17316 10.357 7.2894 10.6667 6.33333 10.6667C3.9401 10.6667 2 8.72657 2 6.33333ZM6.33333 3.33333C4.67648 3.33333 3.33333 4.67648 3.33333 6.33333C3.33333 7.99019 4.67648 9.33333 6.33333 9.33333C7.99019 9.33333 9.33333 7.99019 9.33333 6.33333C9.33333 4.67648 7.99019 3.33333 6.33333 3.33333Z' fill='%234F5158'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: 24px center;
    background-size: auto;
    padding-left: 56px;
}

.archive.category input[type="search"] {
    border-radius: 24px;
    border: 1px solid var(--Primary-15, #061735);
    background-color: var(--Text-White, #FCFCFC);
}

p {
    font-style: normal;
    font-weight: 300;
    line-height: 22px;
}

.background_text {
    color: rgba(207, 43, 36, 0.04);
    font-family: Inter;
    font-size: 500px;
    font-style: normal;
    font-weight: 800;
    position: absolute;
    right: -87px;
    top: 0;
    line-height: 364px;
    z-index: -1;
}

.single-gallery .background_text {
    font-size: 568.395px;
    right: -90px;
    top: -49px;
    line-height: 424px;
}

.single-gallery #content {
    overflow: hidden;
    position: relative;
}


.archive {
    position: relative;
}


footer.bootscore-footer .footer-block-sidebar {
    background-color: var(--Primary-100, #061735);
    color: #fff;
    padding-top: 100px;
    padding-bottom: 100px;
}

footer.bootscore-footer .footer_widget a {
    color: #fff;
    text-decoration: none;
}

footer.bootscore-footer .footer_widget .menu {
    list-style-type: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 24px;
}

footer.bootscore-footer .footer_widget .widget-title {
    font-size: 18px;
    font-weight: 600;
    line-height: 24px;
    margin-bottom: 32px;
}

footer.bootscore-footer .footer_widget .block-1-footer {
    display: flex;
    flex-direction: column;
    gap: 40px;
}

footer.bootscore-footer .footer_widget .block-1-footer .title {
    font-style: normal;
    font-weight: 600;
    line-height: 20px;
    color: rgba(255, 255, 255, .7);
}

footer.bootscore-footer .footer_widget .block-1-footer .description {
    font-style: normal;
    font-weight: 300;
    line-height: 22px;
    color: rgba(255, 255, 255, .7);
}

/* Extra right padding on the under-logo paragraph — desktop only. */
@media (min-width: 992px) {
    footer.bootscore-footer .footer_widget .block-1-footer .description {
        padding-right: 40px;
    }
}

/* Catalogues heading (lone <p> before the pills) + "Follow Us" title share one
   look so the two footer sub-headings match. */
footer.bootscore-footer .footer_widget:has(+ .footer_widget ol.wp-block-list) p,
footer.bootscore-footer .footer_widget .social_network .title {
    font-size: 16px;
    font-weight: 700;
    line-height: 24px;
    margin-bottom: 4px;
    color: #fff;
}

/* Content links (paragraphs / lists in blocks & post content, incl. FAQ/
   accordion bodies): brand red, no underline, underline-on-hover offset 3px.
   Excludes button-style links. */
.site-main :where(p, li) a:not(.button):not(.wp-element-button),
.site-main .accordion-body a:not(.button):not(.wp-element-button) {
    color: var(--Secondary-100, #CF2B24);
    font-weight: 600;
    text-decoration: none;
}
.site-main :where(p, li) a:not(.button):not(.wp-element-button):hover,
.site-main .accordion-body a:not(.button):not(.wp-element-button):hover {
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* Footer catalogues: turn the numbered List block into download pills. */
footer.bootscore-footer .footer_widget ol.wp-block-list {
    list-style: none;
    margin: 18px 0 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    counter-reset: none;
}
footer.bootscore-footer .footer_widget ol.wp-block-list li {
    margin: 0;
    padding: 0;
    list-style: none;
}
footer.bootscore-footer .footer_widget ol.wp-block-list li::before {
    content: none; /* kill the block-list ordered counter */
}
footer.bootscore-footer .footer_widget ol.wp-block-list li > a {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.2;
    color: #fff;
    text-decoration: none;
    background: rgba(255, 255, 255, .08);
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 999px;
    transition: background-color .18s ease, border-color .18s ease, transform .18s ease;
}
footer.bootscore-footer .footer_widget ol.wp-block-list li > a::before {
    content: "";
    width: 13px;
    height: 13px;
    flex-shrink: 0;
    background: no-repeat center / contain
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/%3E%3Cpolyline points='7 10 12 15 17 10'/%3E%3Cline x1='12' y1='15' x2='12' y2='3'/%3E%3C/svg%3E");
}
footer.bootscore-footer .footer_widget ol.wp-block-list li > a:hover {
    background: var(--Secondary-100, #CF2B24);
    border-color: var(--Secondary-100, #CF2B24);
    transform: translateY(-1px);
}

/* Footer catalogues spacing tweaks on mobile (columns stacked < 992px):
   tighten the gap between the social links and the catalogues heading, and
   add room below the pills before the next stacked column. */
@media (max-width: 991.98px) {
    footer.bootscore-footer .footer_widget .wp-block-spacer {
        height: 10px !important;
    }
    footer.bootscore-footer .footer_widget .social-networks {
        margin-bottom: 18px;
    }
    footer.bootscore-footer .footer_widget ol.wp-block-list {
        margin-bottom: 36px;
    }
}

footer.bootscore-footer .bootscore-footer-info {
    background-color: var(--Primary-100, #061735);
    color: #fff;
}

footer.bootscore-footer .bootscore-footer-info a {
    color: #fff;
    text-decoration: none;
}

footer.bootscore-footer .bootscore-copyright {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    color: #fff;
    padding-top: 32px;
    padding-bottom: 32px;
    border-top: 1px solid rgba(255, 255, 255, .95);
    font-size: 13px;
}
footer.bootscore-footer .bootscore-copyright a {
    font-size: 13px;
}

footer.bootscore-footer .footer_widget .social-networks {
    display: flex;
    gap: 32px;
    padding-top: 16px;
    margin-bottom: 14px;
}

footer.bootscore-footer .footer_widget .social-networks a:hover>svg path {
    fill: var(--Secondary-100, #CF2B24);
}

footer.bootscore-footer a:hover {
    color: var(--Secondary-100, #CF2B24);
}

footer.bootscore-footer #footer-menu li a {
    padding: 0;
}

footer.bootscore-footer #footer-menu {
    display: flex;
    gap: 40px;
}



.btn-primary-top {
    background-color: rgb(217, 217, 217);
    border-radius: 16px;
    height: 48px;
    padding: 16px 22px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.btn-primary-top:active,
.btn-primary-top:hover {
    background-color: var(--Secondary-100, #CF2B24);
}

.btn-primary-top:hover i {
    color: #fff;
}

.description p {
    font-weight: 400;
    line-height: 24px;
}

.description p:last-child {
    margin-bottom: 0;
}


input,
select {
    background-repeat: no-repeat;
    background-position: 24px center;
}

select {
    background-size: auto;
}

input[name="your-name"] {
    background-image: url('assets/img/user.svg');
    padding-left: 56px;
}


input[name="your-email"],
input[type="email"] {
    background-image: url('assets/img/mail.svg');
    padding-left: 56px;
}

input[type="tel"] {
    background-image: url('assets/img/phone.svg');
    padding-left: 56px;
}

input.location,
select.location {
    background-image: url('assets/img/location.svg');
    padding-left: 56px;
}

input.need {
    background-image: url('assets/img/frame.svg');
    padding-left: 56px;
}

input.message {
    background-image: url('assets/img/edit.svg');
    padding-left: 56px;
}

@media screen and (max-width:992px) {
    .container.g-0 .order-lg-first.order-first li ul.sub-menu:not(.active) {
        display: none;
    }

    .button.but-red {
        display: none;
    }

    footer div.footer_widget>div:nth-child(2) {
        margin-bottom: 32px;
    }

    .container,
    .container-fluid,
    .container-sm,
    .container-md,
    .container-lg,
    .container-xl,
    .container-xxl {
        padding-right: 16px;
        padding-left: 16px;
    }

    .background_text {
        display: none;
    }

    .display-h1 {
        font-size: 40px;
        line-height: 54px;
    }

    h2,
    .h2 {
        font-size: 32px;
        font-style: normal;
        line-height: 42px;
    }

    .top-bar-widget ul.menu li a {
        padding: 12px 0 12px 0;
    }

    /*header #nav-main .container {
        padding: 1px 24px;
        padding-right: 16px;
    }*/
	
	header #nav-main .container {
		padding: 1px 15px;
        padding-right: 15px;
	}

    footer.bootscore-footer .footer-block-sidebar {
        padding-top: 80px;
        padding-bottom: 80px;
    }

    footer.bootscore-footer .footer_widget .block-1-footer {
        gap: 32px;
    }

    footer.bootscore-footer .footer_widget>div:nth-child(2) {
        display: none;
    }

    footer.bootscore-footer .footer_widget .widget-title::after {
        cursor: pointer;
        background-image: url('data:image/svg+xml,<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M13.8047 4.86323C14.0651 5.12358 14.0651 5.54569 13.8047 5.80604L8.4714 11.1394C8.21105 11.3997 7.78894 11.3997 7.5286 11.1394L2.19526 5.80604C1.93491 5.54569 1.93491 5.12358 2.19526 4.86323C2.45561 4.60288 2.87772 4.60288 3.13807 4.86323L8 9.72516L12.8619 4.86323C13.1223 4.60288 13.5444 4.60288 13.8047 4.86323Z" fill="%23FCFCFC"/></svg>');
        background-repeat: no-repeat;
        background-position: 100% center;
        width: fit-content;
        padding-right: 32px;
        content: '';
    }

    footer.bootscore-footer .footer_widget .widget-title.open::after {
        background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cg id='icons/outline/arrow-up-simple'%3e%3cpath id='Icon (Stroke)' fill-rule='evenodd' clip-rule='evenodd' d='M2.19526 11.138C1.93491 10.8776 1.93491 10.4555 2.19526 10.1952L7.5286 4.86185C7.78895 4.6015 8.21106 4.6015 8.4714 4.86185L13.8047 10.1952C14.0651 10.4555 14.0651 10.8776 13.8047 11.138C13.5444 11.3983 13.1223 11.3983 12.8619 11.138L8 6.27606L3.13807 11.138C2.87772 11.3983 2.45561 11.3983 2.19526 11.138Z' fill='%23CF2B24'/%3e%3c/g%3e%3c/svg%3e ");
    }

    footer.bootscore-footer .footer_widget .widget-title.open {
        color: var(--Secondary-100, #CF2B24);
    }

    /*footer.bootscore-footer .footer_widget .menu-contact-us-footer-container {
        display: flex !important;
    }*/

    footer.bootscore-footer .footer_widget .social_network {
        margin-bottom: 24px;
    }

    /*footer.bootscore-footer div.col-12:nth-child(5)>div:nth-child(1)>div:nth-child(1)::after {
        content: none;
    }*/

    .h2-m {
        font-size: 40px;
        font-weight: 700;
    }

    .header-top-menu ul#menu-header-top.menu>li.menu-item-has-children ul li.menu-item> :where(a, p) {
        display: none;
    }

    .header-top-menu ul#menu-header-top.menu>li.menu-item-has-children ul li.menu-item>a:first-child::after {
        content: '';
        width: 24px;
        height: 24px;
        background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M20.7071%207.29289C21.0976%207.68342%2021.0976%208.31658%2020.7071%208.70711L12.7071%2016.7071C12.3166%2017.0976%2011.6834%2017.0976%2011.2929%2016.7071L3.29289%208.70711C2.90237%208.31658%202.90237%207.68342%203.29289%207.29289C3.68342%206.90237%204.31658%206.90237%204.70711%207.29289L12%2014.5858L19.2929%207.29289C19.6834%206.90237%2020.3166%206.90237%2020.7071%207.29289Z%22%20fill%3D%22%23061735%22%2F%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M20.7071%207.29289C21.0976%207.68342%2021.0976%208.31658%2020.7071%208.70711L12.7071%2016.7071C12.3166%2017.0976%2011.6834%2017.0976%2011.2929%2016.7071L3.29289%208.70711C2.90237%208.31658%202.90237%207.68342%203.29289%207.29289C3.68342%206.90237%204.31658%206.90237%204.70711%207.29289L12%2014.5858L19.2929%207.29289C19.6834%206.90237%2020.3166%206.90237%2020.7071%207.29289Z%22%20fill%3D%22white%22%20fill-opacity%3D%220.7%22%2F%3E%3C%2Fsvg%3E");
        background-repeat: no-repeat;
        background-position: right center;
        background-size: contain;
    }

    .header-top-menu ul#menu-header-top.menu>li.menu-item-has-children ul li.menu-item>a.active:first-child::after {
        background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M3.29289%2016.7071C2.90237%2016.3166%202.90237%2015.6834%203.29289%2015.2929L11.2929%207.29289C11.6834%206.90237%2012.3166%206.90237%2012.7071%207.29289L20.7071%2015.2929C21.0976%2015.6834%2021.0976%2016.3166%2020.7071%2016.7071C20.3166%2017.0976%2019.6834%2017.0976%2019.2929%2016.7071L12%209.41421L4.70711%2016.7071C4.31658%2017.0976%203.68342%2017.0976%203.29289%2016.7071Z%22%20fill%3D%22%23061735%22%2F%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M3.29289%2016.7071C2.90237%2016.3166%202.90237%2015.6834%203.29289%2015.2929L11.2929%207.29289C11.6834%206.90237%2012.3166%206.90237%2012.7071%207.29289L20.7071%2015.2929C21.0976%2015.6834%2021.0976%2016.3166%2020.7071%2016.7071C20.3166%2017.0976%2019.6834%2017.0976%2019.2929%2016.7071L12%209.41421L4.70711%2016.7071C4.31658%2017.0976%203.68342%2017.0976%203.29289%2016.7071Z%22%20fill%3D%22white%22%20fill-opacity%3D%220.7%22%2F%3E%3C%2Fsvg%3E");
    }

    .header-top-menu ul#menu-header-top.menu>li.menu-item-has-children ul li.menu-item>a:first-child,
    .header-top-menu ul#menu-header-top.menu>li.menu-item-has-children ul li.menu-item> :where(a, p).active {
        display: flex;
        justify-content: space-between;
    }

    .header-top-menu .menu {
        padding-left: 0;
        margin-bottom: 0;
    }

    .header-top-menu .container-menu {
        padding-bottom: 50px;
        top: 47px;
    }
}

@media screen and (max-width:768px) {
    .bootscore-copyright div #footer-menu a {
        display: flex;
        margin-top: 24px;
        margin-bottom: 24px;
    }
}


input.wpcf7-not-valid {
    border-color: var(--Secondary-100, #CF2B24);
}

.wpcf7-form-control-wrap {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.wpcf7-not-valid-tip {
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 20px;
    color: var(--Alert-Main-Red, #DA1E28);
}


/* single */
section.blog-header {
    margin-top: 51px;
}

.post-meta {
    gap: 16px;
    display: flex;
    margin-bottom: 40px;
}

.post-meta .author-avatar {
    border-radius: 50px;
    overflow: hidden;
    max-width: 56px;
    max-height: 56px;
}

.post-meta .author-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.post-meta .author-name a,
.post-meta .author-name {
    color: var(--Text-100, #040611);
    font-size: 16px;
    font-style: normal;
    font-weight: 600;
    line-height: 20px;
    text-decoration: none;
}

.post-meta .post-date {
    font-weight: 300;
    line-height: 22px;
}

.post-meta .author-information {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.blog-header .back-to {
    color: var(--Primary-100, #061735);
    text-align: center;
    font-size: 16px;
    font-style: normal;
    font-weight: 600;
    line-height: 20px;
    text-decoration: none;
    display: flex;
    justify-content: center;
    align-items: center;
    width: fit-content;
    gap: 12px;
    padding: 16px;
    margin-left: -20px;
    border-radius: 32px;
    transition: background 0.3s ease, color 0.3s ease;
}

.blog-header .back-to:hover svg path {
    fill: var(--Secondary-100, #CF2B24);
    transition: fill 0.3s ease;
}

.blog-header .back-to:hover {
    color: var(--Secondary-100, #CF2B24);
}

.blog-header h1 {
    margin-top: 16px;
    margin-bottom: 16px;
}

.tags-links {
    gap: 16px;
    display: flex;
    margin-top: 24px;
    flex-wrap: wrap;
}

.button-tag {
    display: flex;
    width: fit-content;
    padding: 8px 12px;
    justify-content: center;
    align-items: center;
    color: var(--Text-100, #040611);
    font-feature-settings: 'liga' off, 'clig' off;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 20px;
    border-radius: 32px;
    background: var(--Primary-5, linear-gradient(0deg, rgba(255, 255, 255, 0.95) 0%, rgba(255, 255, 255, 0.95) 100%), #061735);
    overflow: hidden;
    transition: background 0.3s ease, color 0.3s ease;
}

.button-tag:hover {
    background: var(--Primary-50, linear-gradient(0deg, rgba(255, 255, 255, 0.50) 0%, rgba(255, 255, 255, 0.50) 100%), #061735);
    color: #fff;
}

.blog-header .description p:not(:last-child) {
    margin-bottom: 24px;
}

.blog-bacground {
    margin-top: 40px;
}

.blog-bacground img {
    border-radius: 32px;
}

/* ============================================================
   Blog single — clean editorial layout.
   Breadcrumb bar on white, then the featured image as the hero
   with title + meta set on a navy scrim. Flat, generous rhythm
   in the article body; every content element styled.
   ============================================================ */

/* Hero spans the full container; article body gets a wider (~1000px) column. */
@media (min-width: 992px) {
    .single .blog-header .col-lg-8 {
        flex: 0 0 auto;
        width: 100%;
        max-width: none;
    }
    .single .content-single-post .col-lg-8 {
        flex: 0 0 auto;
        width: 83.33333%;
        max-width: 1020px;
    }
}

/* --- nav row (back link + breadcrumbs), laid over the hero image --- */
.single .blog-header__nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
}
.single .blog-header__nav .back-to {
    padding: 8px 12px;
    margin-left: -12px;
}
.single .blog-header__nav #breadcrumbs {
    margin: 0;
    padding: 0 !important;   /* wp-custom-css adds a global 32px padding-top that broke vertical alignment */
    font-size: 14px;
    line-height: 20px;
    color: rgba(6, 23, 53, .55);
}
.single .blog-header__nav #breadcrumbs a {
    color: rgba(6, 23, 53, .8);
    font-weight: 600;
    text-decoration: none;
}
.single .blog-header__nav #breadcrumbs a:hover {
    color: var(--Secondary-100, #CF2B24);
}
/* Over the image: pin to the top, switch to white */
.single .blog-hero--image .blog-header__nav {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 2;
    padding: 24px 48px;
}
.single .blog-hero--image .blog-header__nav .back-to {
    color: #fff;
}
.single .blog-hero--image .blog-header__nav .back-to svg path {
    fill: #fff;
    transition: fill .3s ease;
}
.single .blog-hero--image .blog-header__nav .back-to:hover {
    color: var(--Secondary-100, #CF2B24);
}
.single .blog-hero--image .blog-header__nav .back-to:hover svg path {
    fill: var(--Secondary-100, #CF2B24);
}
.single .blog-hero--image .blog-header__nav #breadcrumbs {
    color: rgba(255, 255, 255, .75);
}
.single .blog-hero--image .blog-header__nav #breadcrumbs a {
    color: rgba(255, 255, 255, .95);
}
/* Plain variant keeps the nav on white above the title */
.single .blog-hero--plain .blog-header__nav {
    margin-bottom: 24px;
}

/* --- hero: featured image with title/meta on a navy scrim --- */
.single .blog-hero--image {
    position: relative;
    overflow: hidden;
    border-radius: 24px;
    min-height: 420px;
    display: flex;
    align-items: flex-end;
}
.single .blog-hero__image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 0;
    margin: 0;
}
.single .blog-hero__scrim {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg,
        rgba(6, 23, 53, .66) 0%,
        rgba(6, 23, 53, .28) 24%,
        rgba(6, 23, 53, .28) 40%,
        rgba(6, 23, 53, .72) 68%,
        rgba(6, 23, 53, .94) 100%);
}
.single .blog-hero__content {
    position: relative;
    z-index: 1;
    padding: 48px;
    width: 100%;
}
.single .blog-hero--image h1 {
    margin: 0 0 20px;
    color: #fff;
    font-size: 44px;
    line-height: 1.15;
    letter-spacing: -.01em;
    max-width: 22ch;
}

/* Plain variant when the post has no featured image */
.single .blog-hero--plain .blog-hero__content {
    padding: 8px 0 24px;
    border-bottom: 1px solid rgba(6, 23, 53, .1);
}
.single .blog-hero--plain h1 {
    margin: 0 0 20px;
    color: var(--Primary-100, #061735);
    font-size: 44px;
    line-height: 1.15;
    letter-spacing: -.01em;
}
.single .blog-hero--plain .blog-hero__meta { color: rgba(6, 23, 53, .8); }
.single .blog-hero--plain .blog-hero__category { margin-bottom: 16px; }

/* Category chip */
.single .blog-hero__category {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    padding: 7px 16px;
    margin-bottom: 18px;
    border-radius: 32px;
    background: var(--Secondary-100, #CF2B24);
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    text-decoration: none;
    transition: background .3s ease;
}
.single .blog-hero__category:hover {
    background: #fff;
    color: var(--Secondary-100, #CF2B24);
}

/* Meta row: author / date / read time with icons */
.single .blog-hero__meta {
    display: flex;
    align-items: center;
    gap: 12px 28px;
    flex-wrap: wrap;
    color: rgba(255, 255, 255, .92);
    font-size: 15px;
    font-weight: 500;
}
.single .blog-hero__meta-item {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    line-height: 1;
    white-space: nowrap;
}
.single .blog-hero__meta-item svg {
    color: var(--Secondary-100, #CF2B24);
    flex-shrink: 0;
}
.single .blog-hero--image .blog-hero__meta-item svg {
    color: #fff;
    opacity: .85;
}
.single .blog-hero__avatar {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    object-fit: cover;
    box-shadow: 0 0 0 2px rgba(255, 255, 255, .6);
}

/* Optional short description under the hero */
.single .blog-header__description {
    margin-top: 28px;
    max-width: 70ch;
    font-size: 18px;
    line-height: 1.6;
    color: rgba(6, 23, 53, .8);
}

/* ============================================================
   Blog single — article body rhythm & element styling
   ============================================================ */
.single .content-single-post .container {
    padding-top: 56px;
    padding-bottom: 24px;
}

/* Content images: flat corners, breathing room */
.single .content-single-post .container img {
    border-radius: 0;
    margin: 8px 0 16px;
    max-width: 100%;
    height: auto;
}

/* Headings rhythm (h2 brand red comes from the template rule) */
.single .content-single-post :where(h2, h3, h4) {
    margin-top: 48px;
    margin-bottom: 20px;
    line-height: 1.25;
}
.single .content-single-post :where(h2):first-child {
    margin-top: 0;
}

/* Blockquotes: navy panel with red spine */
.single .content-single-post blockquote {
    margin: 40px 0;
    padding: 28px 32px;
    background: #f5f7fb;
    border-left: 4px solid var(--Secondary-100, #CF2B24);
    color: var(--Primary-100, #061735);
    font-size: 18px;
    line-height: 1.6;
}
.single .content-single-post blockquote p {
    margin-bottom: 12px;
}
.single .content-single-post blockquote p:last-child {
    margin-bottom: 0;
}
.single .content-single-post blockquote cite {
    display: block;
    margin-top: 8px;
    font-style: normal;
    font-size: 14px;
    font-weight: 600;
    color: rgba(6, 23, 53, .6);
}

/* Post buttons: brand pill (beats the inline bg + btn-primary classes) */
.single .content-single-post .wp-block-button__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 14px 28px;
    border-radius: 32px !important;
    border: none;
    background-color: var(--Secondary-100, #CF2B24) !important;
    color: #fff !important;
    font-size: 16px;
    font-weight: 600;
    line-height: 20px;
    text-decoration: none;
    box-shadow: none;
    transition: background-color .3s ease;
}
.single .content-single-post .wp-block-button__link:hover {
    background-color: var(--Primary-100, #061735) !important;
    color: #fff !important;
}
.single .content-single-post .wp-block-buttons {
    margin: 32px 0 40px;
}

/* Table of contents box.
   The plugin ships `display:table; width:auto`, which makes the box
   shrink-wrap (and so "warp") when the list is toggled closed — force a
   stable block box and background in both open and minimized states. */
.single .content-single-post #toc_container,
.single .content-single-post #toc_container.contracted {
    display: block !important;
    width: 100% !important;
    margin: 0 0 40px;
    padding: 28px 32px;
    background: #f5f7fb !important;
    border: 1px solid rgba(6, 23, 53, .08);
    border-radius: 16px;
    font-size: 15px;
}
.single .content-single-post #toc_container .toc_title {
    margin-bottom: 12px;
    font-size: 18px;
    font-weight: 700;
    color: var(--Primary-100, #061735);
    text-align: left;
}
.single .content-single-post #toc_container .toc_list li {
    margin-bottom: 6px;
}
.single .content-single-post #toc_container a {
    color: var(--Primary-100, #061735);
    text-decoration: none;
}
.single .content-single-post #toc_container a:hover {
    color: var(--Secondary-100, #CF2B24);
}
.single .content-single-post #toc_container .toc_number {
    color: var(--Secondary-100, #CF2B24);
    font-weight: 700;
}

/* FAQ (accordion block) inside a post: clear, balanced separation from
   the article body — the block ships page-level 100px paddings that read
   wrong inside the reading column. */
.single .content-single-post .block-cbg-accordion {
    margin-top: 56px;
}
.single .content-single-post .block-cbg-accordion .container {
    padding-top: 56px;
    padding-bottom: 56px;
}

@media (max-width: 991px) {
    .single .blog-hero--image {
        min-height: 340px;
        border-radius: 16px;
    }
    .single .blog-hero__content {
        padding: 24px;
    }
    .single .blog-hero--image .blog-header__nav {
        padding: 12px 24px;
    }
    .single .blog-hero--image h1,
    .single .blog-hero--plain h1 {
        font-size: 30px;
    }
    .single .blog-hero__meta {
        font-size: 14px;
        gap: 10px 20px;
    }
    .single .content-single-post .container {
        padding-top: 40px;
    }
}

/* ============================================================
   Blog single — related posts cards
   ============================================================ */
.single .related-posts .container {
    padding-top: 48px;
    padding-bottom: 100px;
}
.single .related-posts .related-card {
    position: relative;          /* anchor for the stretched title link */
    display: flex;
    flex-direction: column;
    height: 100%;
    background: #fff;
    border: 1px solid rgba(6, 23, 53, .1);
    border-radius: 24px;
    overflow: hidden;
    transition: border-color .3s ease;
}
/* Whole tile clickable: the title link stretches over the card */
.single .related-posts .related-card__title::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
}
.single .related-posts .related-card:hover {
    border-color: rgba(6, 23, 53, .3);
}
.single .related-posts .related-card:hover .related-card__title {
    color: var(--Secondary-100, #CF2B24);
}
.single .related-posts .related-card:hover .related-card__more svg {
    transform: translateX(4px);
}
.single .related-posts .related-card__image {
    display: block;
    aspect-ratio: 16 / 9;
    overflow: hidden;
}
.single .related-posts .related-card__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 0;
    margin: 0;
    transition: transform .4s ease;
}
.single .related-posts .related-card:hover .related-card__image img {
    transform: scale(1.04);
}
.single .related-posts .related-card__body {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    gap: 12px;
    padding: 24px;
}
.single .related-posts .related-card__meta {
    display: flex;
    align-items: center;
    gap: 8px 20px;
    flex-wrap: wrap;
    font-size: 13px;
    font-weight: 500;
    color: rgba(6, 23, 53, .65);
}
.single .related-posts .related-card__meta span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    line-height: 1;
    white-space: nowrap;
}
.single .related-posts .related-card__meta svg {
    color: var(--Secondary-100, #CF2B24);
    flex-shrink: 0;
}
.single .related-posts .related-card__title {
    display: block;
    color: var(--Primary-100, #061735);
    font-size: 20px;
    font-weight: 700;
    line-height: 1.3;
    text-decoration: none;
    transition: color .3s ease;
}
.single .related-posts .related-card__title:hover {
    color: var(--Secondary-100, #CF2B24);
}
.single .related-posts .related-card__excerpt {
    color: rgba(6, 23, 53, .7);
    font-size: 15px;
    line-height: 1.55;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.single .related-posts .related-card__excerpt p {
    margin: 0;
}
.single .related-posts .related-card__more {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: auto;
    padding-top: 4px;
    color: var(--Secondary-100, #CF2B24);
    font-size: 15px;
    font-weight: 700;
    text-decoration: none;
}
.single .related-posts .related-card__more svg {
    transition: transform .3s ease;
}
.single .related-posts .related-card__more:hover svg {
    transform: translateX(4px);
}
/* Equal-height slides in the slick slider */
.single .related-posts-slider .slick-track {
    display: flex;
}
.single .related-posts-slider .slick-slide {
    height: auto;
}
.single .related-posts-slider .slick-slide > div {
    height: 100%;
}

/* .container-filling {
    background: var(--Primary-100, #061735);
    height: 296px;
    width: 100%;
    margin-top: calc(-296px + 56px);
} */


.related-posts .container {
    padding-top: 100px;
    padding-bottom: 100px;
}

.related-posts .container .h1 {
    margin-bottom: 56px;
}

.related-posts img {
    border-radius: 32px;
    margin-bottom: 32px;
}

#breadcrumbs a {
    color: black;
    font-weight: 700;
    text-decoration: none;
}

.related-posts .tags-links {
    margin-top: 16px;
}

.related-posts :where(.description, .post-meta) {
    margin-top: 24px;
}

.related-posts-slider .slick-slide {
    margin: 0 12px;
}

.archive h1 {
    margin-bottom: 40px;
}

.archive .cart-product {
    display: flex;
    flex-direction: column;
    border-radius: 32px;
    background: var(--Primary-5, linear-gradient(0deg, rgba(255, 255, 255, 0.95) 0%, rgba(255, 255, 255, 0.95) 100%), #061735);
    gap: 12px;
    padding: 35px;
    align-items: center;
    height: 100%;
    justify-content: center;
}

.archive #content.archive {
    padding-top: 80px;
    padding-bottom: 100px;
}

.archive #content.archive-project .related-posts,
.archive #content.archive-product .related-posts,
.row.related-posts.archive {
    row-gap: 24px;
}

.archive #content.archive-project .related-posts .card .card-body .button,
.archive #content.archive-product .related-posts .cart-product .button,
.row.related-posts.archive .cart-product .button {
    background: var(--Secondary-100, #CF2B24);
    margin-top: 12px;
}

.archive #content.archive-project .related-posts .card .card-body .button:hover,
.archive #content.archive-product .related-posts .cart-product .button:hover,
.row.related-posts.archive .cart-product .button:hover,
.block-cbg-ready-start-project .background_picture .button:hover {
    background: var(--Secondary-100, #b22d27);
}

.archive #content.archive-product .related-posts .cart-product img {
    margin-bottom: 0;
}

.archive #content.archive-project .related-posts .card img {
    border-radius: 0;
    margin-bottom: 0;
}

.archive #content.archive-project .related-posts .card .card-body {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.archive #content.archive-project .related-posts .card {
    --bs-card-border-radius: 32px;
    overflow: hidden;
    background: var(--Primary-5, linear-gradient(0deg, rgba(255, 255, 255, 0.95) 0%, rgba(255, 255, 255, 0.95) 100%), #061735);
    border: none;
}


/* pagination */
.pagination {
    margin-top: 64px;
    border: none !important;
    --bs-pagination-border-width: 0;
}

.pagination .page-item {
    border-radius: 8px;
    overflow: hidden;
    height: fit-content;
}

.pagination .page-link.active,
.pagination .active>.page-link {
    background: var(--Primary-15, linear-gradient(0deg, rgba(255, 255, 255, 0.85) 0%, rgba(255, 255, 255, 0.85) 100%), #061735) !important;
    border: none;
    --bs-pagination-active-color: var(--Text-100, #040611);
}

.pagination .page-link {
    font-style: normal;
    font-weight: 600;
    line-height: 20px;
    --bs-pagination-font-size: 16px;
    --bs-pagination-color: var(--Text-80, #4F5158);
    width: 40px;
    height: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0;
}

.page-link:hover {
    --bs-pagination-hover-color: var(--Text-100, #040611);
    background: var(--Primary-5, linear-gradient(0deg, rgba(255, 255, 255, 0.95) 0%, rgba(255, 255, 255, 0.95) 100%), #061735);
}

/* end pagination */

@media (max-width: 992px) {
    .related-posts-slider.slick-slider .slick-prev {
        display: none;
    }

    section.blog-header {
        margin-top: 60px;
    }

    section.blog-header .back-to {
        margin-left: -16px;
    }

    .blog-header h1 {
        font-weight: 700;
    }

    section.blog-bacground {
        margin-top: 48px;
    }

    section.blog-bacground img {
        border-radius: 24px;
    }

    section.related-posts .container {
        padding-top: 64px;
        padding-bottom: 64px;
    }

    section.related-posts .container .h1 {
        font-weight: 700;
    }

    .pagination {
        margin-top: 48px;
    }
}


#menu-header-menu {
    display: flex;
    align-items: center;
    gap: 1px;
    list-style-type: none;
    margin: 0;
    padding: 0;
    margin-left: auto;
}

#menu-header-menu>li>.mega-menu {
    display: none;
}

#menu-header-menu>li.menu-item {
    padding: 8px 8px;
    position: relative;
}

#menu-header-menu>li.menu-item a {
    color: var(--Text-100, #040611);
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 24px;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
}

#menu-header-menu>li.menu-item-object-custom>a:nth-child(1) {
    border-radius: 32px;
    padding: 8px 12px;
}

#menu-header-menu>li.menu-item-object-custom:not(.button.but-red)>a:nth-child(1):hover {
    background: #f3f4f5;
}

#menu-header-menu>li.menu-item-has-children>a::after {
    content: '';
    background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M13.8047 4.86128C14.0651 5.12163 14.0651 5.54374 13.8047 5.80409L8.4714 11.1374C8.21105 11.3978 7.78894 11.3978 7.5286 11.1374L2.19526 5.80409C1.93491 5.54374 1.93491 5.12163 2.19526 4.86128C2.45561 4.60093 2.87772 4.60093 3.13807 4.86128L8 9.72321L12.8619 4.86128C13.1223 4.60093 13.5444 4.60093 13.8047 4.86128Z' fill='%23040611'/%3e%3c/svg%3e");
    width: 16px;
    height: 16px;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    background-position: center;
    background-size: auto;
    margin-left: 8px;
}

#menu-header-menu>li.menu-item-has-children:hover>a::after {
    background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cg id='icons/outline/arrow-up-simple'%3e%3cpath id='Icon (Stroke)' fill-rule='evenodd' clip-rule='evenodd' d='M2.19526 11.1381C1.93491 10.8778 1.93491 10.4557 2.19526 10.1953L7.5286 4.86197C7.78895 4.60162 8.21106 4.60162 8.4714 4.86197L13.8047 10.1953C14.0651 10.4557 14.0651 10.8778 13.8047 11.1381C13.5444 11.3985 13.1223 11.3985 12.8619 11.1381L8 6.27618L3.13807 11.1381C2.87772 11.3985 2.45561 11.3985 2.19526 11.1381Z' fill='%23CF2B24'/%3e%3c/g%3e%3c/svg%3e ");
}

#menu-header-menu>li.menu-item-has-children:hover>a {
    color: var(--Secondary-100, #CF2B24);
}

ul#menu-header-menu .container-menu {
    width: 100vw;
    position: fixed;
    left: 0;
    right: 0;
    top: 113px;
    z-index: 9;
	padding-top: 22px;
}

.admin-bar ul#menu-header-menu .container-menu {
    top: 145px;
}

ul#menu-header-menu .container-menu>.container.g-0 {
    border-radius: 32px;
    border: 1px solid var(--Primary-15, #061735);
    background: var(--Text-White, #FCFCFC);
    box-shadow: -386px 428px 161px 0px rgba(128, 128, 128, 0.00), -247px 274px 147px 0px rgba(128, 128, 128, 0.01), -139px 154px 124px 0px rgba(128, 128, 128, 0.02), -62px 68px 92px 0px rgba(128, 128, 128, 0.03), -15px 17px 51px 0px rgba(128, 128, 128, 0.04);
    padding-top: 40px;
    padding-bottom: 40px;
}

ul#menu-header-menu .container-menu>.container li.menu-item a {
    text-decoration: none;
    color: var(--Primary-100, #061735);
    text-align: center;
    font-family: 'Plus Jakarta Sans', 'Sora', sans-serif;
    font-size: 16px;
    font-style: normal;
    font-weight: 600;
    line-height: 20px;
    text-align: left;
	transition: 0.3s;
}

ul#menu-header-menu .container-menu>.container li.menu-item a:hover {
	color: #cf2b24;
}

#menu-header-menu ul {
    list-style-type: none;
    margin: 0;
    padding: 0;
}

#menu-header-menu .sub-menu.row {
    row-gap: 10px;
}

#menu-header-menu>li.menu-item ul.order-lg-first a,
#menu-header-menu .sub-menu.row li>a.nav-link {
    height: 48px;
    padding: 16px;
    justify-content: center;
    align-items: center;
    border-radius: 32px;
    display: flex;
    width: fit-content;
    color: var(--Primary-100, #061735);
    font-size: 16px;
    font-style: normal;
    font-weight: 600;
    line-height: 20px;
}

#menu-header-menu>li.menu-item ul.order-lg-first a.nav-link.active,
#menu-header-menu .sub-menu.row li>a.nav-link.active {
    background: var(--Secondary-15, linear-gradient(0deg, rgba(255, 255, 255, 0.85) 0%, rgba(255, 255, 255, 0.85) 100%), #CF2B24);
	margin-left: 16px;
	margin-right: 16px;
}

#menu-header-menu>li.menu-item ul.order-lg-first a:hover {
    color: #CF2B24;
}

#menu-header-menu .sub-menu.row .tab-pane {
    display: none !important;
}

#menu-header-menu .sub-menu.row .tab-pane.active.show {
    display: flex !important;
    position: relative;
}

#menu-header-menu .container-menu ul.order-lg-first {
    position: relative;
}

#menu-header-menu .container-menu ul.order-lg-first::after {
    content: '';
    background: var(--Primary-15, linear-gradient(0deg, rgba(255, 255, 255, 0.85) 0%, rgba(255, 255, 255, 0.85) 100%), #061735);
    width: 1px;
    height: 100%;
    display: flex;
    right: 0;
    top: 0;
    position: absolute;
}

#menu-header-menu .container-menu {
  opacity: 0; /* Initially hidden */
  transition: opacity 0.5s ease; /* Smooth fade transition */
  pointer-events: none; /* Prevent interaction when hidden */
  position: absolute;
  top: 100%; /* Position it below the parent link */
  left: 0;
  width: 100%; /* Adjust as needed */
}

/* Show mega menu on hover of the parent menu item */
#menu-header-menu .menu-item-has-children:hover .container-menu {
  opacity: 1; /* Fade in when parent is hovered */
  pointer-events: auto; /* Enable interaction */
}


/* #menu-header-menu .container-menu {
    //transform-origin: top;
    //transform: scaleY(0);
    transition: transform 0.5s ease-out;
}

#menu-header-menu>li.menu-item-has-children:hover .container-menu {
    transform: scaleY(1);
} */

#menu-header-menu li.button.but-red {
    padding: 14px 24px;
    border-radius: 32px;
    background: var(--Secondary-100, #CF2B24);
    cursor: pointer;
    margin-left: 20px;
}

#menu-header-menu>li.button.but-red a {
    color: var(--Text-White, #FCFCFC);
    font-weight: 600;
    line-height: 20px;
    background: none;
    padding: 0;
}

#menu-header-menu li.button.but-red:hover {
    background: var(--Primary-90, linear-gradient(0deg, rgba(255, 255, 255, 0.10) 0%, rgba(255, 255, 255, 0.10) 100%), #061735);
}

#menu-header-menu>li.active>a:nth-child(1) {
    color: var(--Secondary-100, #CF2B24);
    font-weight: 600;
    line-height: 20px;
}


.btn-close {
    position: absolute;
    right: 20px;
    top: 20px;
    z-index: 99;
}

.btn-close:hover {
    background: var(--bs-btn-close-bg);
    padding: 0.25em 0.25em;
}

.modal-body .wpcf7-form {
    display: flex !important;
    flex-direction: column;
    gap: 24px;
    align-items: center;
    padding: 15px;
}

.modal-content {
    --bs-modal-bg: var(--Text-White, #FCFCFC);
    --bs-modal-border-radius: 32px;
    --bs-modal-border-width: 1px;
    --bs-modal-border-color: var(--Primary-15, #061735);
}

.modal-content .h3 span {
    color: var(--Secondary-100, #CF2B24);
}

.modal-content .h3 {
    border-bottom: 1px solid var(--Primary-15, #061735);
    padding-bottom: 20px;
}

@media screen and (max-width:992px) {
    #menu-header-menu {
        flex-direction: column;
        gap: 24px;
        align-items: flex-start;
    }

    #menu-header-menu>li.menu-item-object-custom>a:nth-child(1) {
        border-radius: 0;
        padding: 0;
    }

    #menu-header-menu>li.menu-item-object-custom:not(.button.but-red)>a:nth-child(1):hover {
        background: none;
    }

    #menu-header-menu>li.menu-item {
        padding: 0;
    }

    ul#menu-header-menu .container-menu {
        width: 100%;
        position: static;
    }

    ul#menu-header-menu .container-menu>.container.g-0 {
        border: none;
        background: none;
        border-radius: 0;
        box-shadow: none;
        padding: 0;
        margin: 0;
    }

    #menu-header-menu .container-menu {
        height: 0;
    }

    #menu-header-menu>li.menu-item ul.order-lg-first a.nav-link.active {
        background-color: transparent;
        color: var(--Secondary-100, #CF2B24);
    }

    #menu-header-menu .container-menu ul.order-lg-first::after {
        content: none;
    }

    #menu-header-menu>li.menu-item-has-children:hover .container-menu {
        transform: scaleY(0);
    }

    #menu-header-menu .container-menu.active {
        height: auto !important;
        transform: scaleY(1) !important;
    }

    #menu-header-menu .sub-menu.row li>a.nav-link.active {
        /* background: ; */
    }

    a.nav-link[data-bs-toggle="tab"]::after {
        content: '';
        background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M13.8047 4.86128C14.0651 5.12163 14.0651 5.54374 13.8047 5.80409L8.4714 11.1374C8.21105 11.3978 7.78894 11.3978 7.5286 11.1374L2.19526 5.80409C1.93491 5.54374 1.93491 5.12163 2.19526 4.86128C2.45561 4.60093 2.87772 4.60093 3.13807 4.86128L8 9.72321L12.8619 4.86128C13.1223 4.60093 13.5444 4.60093 13.8047 4.86128Z' fill='%23040611'/%3e%3c/svg%3e");
        width: 16px;
        height: 20px;
        display: inline-flex;
        justify-content: center;
        align-items: center;
        background-position: center bottom;
        background-size: auto;
        margin-left: 8px;
    }

    #menu-header-menu .sub-menu.row li>a.nav-link.active {
        background: none;
        color: var(--Secondary-100, #CF2B24);
        font-weight: 700;
    }

    #menu-header-menu .sub-menu.row li>a.nav-link {
        padding: 0;
        height: auto;
        font-weight: 300;
    }

    ul#menu-header-menu .container-menu>.container li.menu-item a {
        font-weight: 300;
    }

    #menu-header-menu .sub-menu.row {
        row-gap: 10px;
    }

    .sub-menu .main-sub-menu a:first-child {
        margin-top: 24px;
    }
}

.single figure {
    width: fit-content;
    display: inline-flex;
    gap: 10px;
    padding: 5px;
}

#nav-main .background-red {
    background: var(--Secondary-100, #CF2B24);
}

@media screen and (max-width:390px) {
    a.navbar-brand img.d-td-none.me-2 {
        width: 75px;
    }

    #nav-main .background-red {
        background: var(--Secondary-100, #CF2B24);
        padding: 10px;
        font-size: 14px;
    }

    #nav-main .navbar-brand {
        --bs-navbar-brand-margin-end: 0;
    }
}

.modal-body .fieldset-cf7mls.cf7mls_current_fs {
    display: flex !important;
    flex-direction: column;
    gap: 24px;
    align-items: center;
    padding: 15px;
}

.wpcf7-form .spinner-border {
    display: none
}

.wpcf7-form.submitting .spinner-border {
    display: inline-block;
}

.wpcf7-form .cf7mls_back {
    background: none;
    color: #061735;
}

form.wpcf7-form .two-buttons button {
    width: fit-content;
    gap: 12px;
}

form.wpcf7-form .two-buttons {
    display: flex;
    width: 100%;
    justify-content: space-between;
}

ul#menu-header-menu .container-menu>.container li.menu-item.current-menu-item a {
    color: var(--Secondary-100, #CF2B24);
}

.header-nav-menu .sub-menu .sub-menu .menu-item.menu-item-type-taxonomy.menu-item-object-product_category a {
    padding: 12px 22px;
    border-radius: 32px;
    background: var(--Secondary-100, #CF2B24);
    color: white !important;
}

.header-nav-menu .sub-menu .sub-menu .menu-item a {
    padding: 12px 0;
}

select.postform {
	background-size: 12px;
    background-position: right 20px center;
}






@media (min-width: 767px) {
	.custom-form-location-page  { 
		display: none;
	}
}

.custom-form-location-page  {
	border-radius: 32px;
    border: 1px solid #DADCE1;
    background: var(--Text-White, #FCFCFC);
    padding: 40px;
	
	margin-left: 15px;
	margin-right: 15px;
}

.custom-form-location-page form.wpcf7-form .fieldset-cf7mls, 
.custom-form-location-page form.wpcf7-form {
    display: flex !important;
    flex-direction: column;
    gap: 24px;
    align-items: center;
}


/* 19 Feb 2025 corrections */


/* Header is opaque white at ALL times — prevents the hero flashing through the
   transparent header before it pins, and the see-through gap above the mega
   menu when opened just before the sticky state kicks in. */
header#masthead {
	background-color: #fff;
}

header#masthead.fixed {
	width: 100%;
	position:fixed;
	top:44px;
	background:white;
	z-index:999;
	/* visible separation from the white page + soft depth */
	border-bottom: 1px solid rgba(6, 23, 53, .12);
	box-shadow: 0 6px 20px -10px rgba(6, 23, 53, .28);
}

header#masthead.fixed  + div {
	padding-top: 136px;
}

@media (max-width: 390px) {
	header#masthead.fixed  + div {
		padding-top: 124px;
	}
}

.header-top-menu.fixed {
	width: 100%;
	position:fixed;
	top:0;
	z-index:99999;
}

.fixed ul#menu-header-menu .container-menu {
	padding-top: 16px;
}

@media (min-width: 992px) and (max-width: 1200px) {
	header #nav-main .container {
		padding-left: 15px;
		padding-right: 15px;
	}

	#menu-header-menu>li.menu-item-object-custom>a:nth-child(1),
	#menu-header-menu>li.menu-item-object-custom>span.menu-link.main-menu-link,
	#menu-header-menu>li.menu-item-object-page>a:nth-child(1) {
    	padding-left: 0px;
    	padding-right: 0px;
    	font-size: 15px;
	}

	/* Keep every top-level item on a single line and tighten the row so it
	   fits between 992px and the desktop layout without wrapping. */
	#menu-header-menu > li.menu-item {
		margin-left: 14px;
		margin-right: 14px;
	}
	#menu-header-menu > li.menu-item > a {
		white-space: nowrap;
	}
	/* Trim the CTA so it doesn't crowd the links at this width */
	#menu-header-menu li.button.but-red,
	#nav-main .button.but-red {
		padding: 12px 18px;
		margin-left: 12px;
	}
}

/* Never let a top-level item break mid-word on desktop */
@media (min-width: 992px) {
	#menu-header-menu > li.menu-item > a {
		white-space: nowrap;
	}

	/* Keep the logo at its natural size — stop the flex row from squishing it
	   (brand doesn't shrink) without overriding its dimensions. */
	#nav-main .navbar-brand {
		flex: 0 0 auto;
	}
	a.navbar-brand img.d-td-none.me-2 {
		flex-shrink: 0;
	}
}

/* Tightest desktop band — shrink a touch more so 6 items + logo + CTA fit.
   Match the same high-specificity selectors so the font size actually wins. */
@media (min-width: 992px) and (max-width: 1080px) {
	#menu-header-menu>li.menu-item-object-custom>a:nth-child(1),
	#menu-header-menu>li.menu-item-object-custom>span.menu-link.main-menu-link,
	#menu-header-menu>li.menu-item-object-page>a:nth-child(1),
	#menu-header-menu>li.menu-item > a {
		font-size: 14px;
	}
	#menu-header-menu > li.menu-item {
		margin-left: 8px;
		margin-right: 8px;
	}
	#menu-header-menu li.button.but-red,
	#nav-main .button.but-red {
		padding: 11px 16px;
		margin-left: 10px;
	}
}

@media screen and (max-width:992px) { 
	#nav-main .button.but-red {
		//display: none !important;
		
		font-size: 10px;
		padding: 10px 16px
	}
	
	header.header-sticky-top.fixed #nav-main .button.but-red {
		display: block !important;
	}
	
	.display-h1 {
        font-size: 32px;
        line-height: 1.2;
		margin-bottom: 0px;
    }
	
	.custom-form-location-page {
		padding: 30px 15px;
	}
	
	.custom-form-location-page .h3 {
		font-size: 24px;
	}
	
	.button {
		font-size: 14px;
	}
	
	input:focus-visible {
		outline: none;
	}
	
    h2, .h2, .h1 {
        font-size: 26px !important;
        line-height: 34px !important;
		margin-bottom: 20px !important;
    }
	
	header .header-actions button i{
		font-size: 22px;
	}
	
	a.navbar-brand img.d-td-none.me-2 {
		width: 83px;
	}
}



.phone-number-topbar {
	padding: 14px 0 14px 0;
    color: var(--Text-White, #FCFCFC);
    text-align: center;
    font-size: 16px;
    font-weight: 600;
    line-height: 20px;
    display: flex;
    text-decoration: none;
    align-items: center;
    gap: 12px;
	justify-content: center;
}

.grecaptcha-badge {
	display: none !important;
}

.custom-form-location-page .h3 span {
	color: var(--Secondary-100, #CF2B24);
}

/*
 * =================TEMP==========================================
 * */
@media (max-width: 767px) {
	div.header-top-menu {
		display: none;
	}
	
	header#masthead.fixed {
    	top: 0px;
	}
}
/*
 * ================================================================
 * */

@media (min-width: 767px) {
	.header-phone-menu,
	.header-phone-button {
		display: none;
	}
}

.header-phone-button {
	border-radius: 32px;
	background: var(--Secondary-Primary-100, #061735);
	padding: 7px 16px 9px 16px;
}

.header-phone-menu .container > div {
	display: flex;
    flex-direction: column;
    margin-bottom: 20px;
}

.header-phone-menu .container > div a {
	color: var(--Text-100, #040611);
    font-size: 16px;
    font-style: normal;
}

.header-phone-menu .container {
	padding-top: 20px;
}

.header-phone-button img {
	width: 16px;
	height: 16px;
}

#masthead:not(.fixed) .header-phone-button {
	//margin-left: 27%;
	//display: none;
}

/* youtube embed fix */

.youtube-embed {
	max-width: 850px;
	margin: 0 auto;
}

.youtube-embed iframe {
	width: 100vw;
	aspect-ratio: 16 / 9;
	height: 500px;
}

/*
#offcanvas-navbar-phone
#offcanvas-navbar-phone-button
*/


/* Section Styling */
.quote-block-v2 {
    background-size: cover;
    background-position: center;
    position: relative;
    padding: 20px 0;
    color: #fff;
    background-size: cover;
    background-position: center;
    border-radius: 20px;
    overflow: hidden;
    padding-left: 36px;
    padding-right: 41px;
}



.quote-block-v2 .container {
  position: relative;
  z-index: 2;
}

/* Text Section */
.quote-text h1,
.quote-text h2,
.quote-text h3 {
  font-weight: 700;
  margin-bottom: 15px;
  line-height: 1.3;
}

.quote-text h3 {
  font-weight: 400;
  font-size: 1.2rem;
      color: white;
}

.quote-text ul {
  list-style: none;
  padding-left: 0;
  margin-top: 20px;
}

.quote-text li {
  margin-bottom: 10px;
  font-size: 1rem;
  display: flex;
  align-items: center;
}

.quote-text li::before {
  content: "✔";
  margin-right: 10px;
  color: #6cb800; /* soft green */
  font-weight: bold;
}

/* Form Container */
/*.quote-form {
  background: #fff;
  border-radius: 16px;
  padding: 35px 30px;
  max-width: 420px;
  margin-left: auto;
  color: #000;
  box-shadow: 0 6px 24px rgba(0, 0, 0, 0.15);
  min-height: 440px;
} 

.quote-form h4 {
  font-size: 1.5rem;
  margin-bottom: 25px;
  font-weight: 600;
}

/* Form Fields */
/* .quote-form input,
.quote-form textarea {
  width: 100%;
  padding: 12px 16px 12px 42px;
  border: 1px solid #ccc;
  margin-bottom: 16px;
  border-radius: 8px;
  font-size: 1rem;
  background-color: #f9f9f9;
  position: relative;
}
 */
/* Form Field Icons - Optional Font Awesome or Inline SVG */
.quote-form input[type="text"],
.quote-form input[type="email"],
.quote-form input[type="tel"] {
  background-repeat: no-repeat;
  background-position: 12px center;
  background-size: 18px;
}

.quote-form input[type="text"] {
  background-image: url('data:image/svg+xml;utf8,<svg fill="%23999" height="20" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"><path d="M12 12c2.21 0 4-1.79 4-4S14.21 4 12 4 8 5.79 8 8s1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z"/></svg>');
}



.quote-form input[type="tel"] {
  background-image: url('data:image/svg+xml;utf8,<svg fill="%23999" height="20" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"><path d="M6.62 10.79a15.534 15.534 0 006.59 6.59l2.2-2.2a1 1 0 011.11-.27c1.21.48 2.53.74 3.88.74a1 1 0 011 1v3.5a1 1 0 01-1 1C10.07 21.5 2.5 13.93 2.5 4a1 1 0 011-1H7a1 1 0 011 1c0 1.35.25 2.67.74 3.88a1 1 0 01-.27 1.11l-2.2 2.2z"/></svg>');
}

/* Submit Button */
.quote-form input[type="submit"],
.quote-form button {
  background-color: #6cb800;
  color: #fff;
  font-weight: 600;
  padding: 12px;
  border: none;
  width: 100%;
  border-radius: 50px;
  transition: background 0.3s ease;
}

.quote-form input[type="submit"]:hover {
  background-color: #5aa500;
  cursor: pointer;
}

.quote-form small {
  display: block;
  margin-top: 12px;
  font-size: 0.85rem;
  color: #555;
}

/* Mobile */
@media (max-width: 768px) {
  .quote-block-v2 {
  padding: 16px 15px;
  }
	
	.awards-section {
	  justify-content: center;
	  display: flex;
	  gap: 8px;
	}
  
  .award-item {
    /*max-width: 42px !important;*/
}
  
  .quote-text {
    text-align: left;
    margin: 0 auto;
  }


  .quote-form {
    margin-top: 40px;
  }
}
.awards-section {
  gap: 20px;
  flex-wrap: wrap;
  align-items: center;
}

.award-item {
  display: inline-block;
  max-width: 80px;
  text-align: center;
}

.award-img {
  max-height: 60px;
  object-fit: contain;
  transition: transform 0.3s ease;
  display: block;
  margin: 0 auto;
}

.award-img:hover {
  transform: scale(1.05);
}

.award-title {
  color: #fff;
  font-size: 0.85rem;
  margin-top: 6px;
}

.quote-block-v2 .quote-text ul {
    list-style: none;
    padding-left: 0;
    margin-top: 20px;
    margin-bottom: 30px;
}

.cbg-header-bg {
    background-image: linear-gradient(rgba(0, 0, 0, 0.65), rgba(0, 0, 0, 0.65)), var(--bg-url);
    background-size: cover;
    background-position: center;
    border-radius: 32px;
    padding: 80px 48px;
    aspect-ratio: 16 / 9;
  	width: 100%;
  	height: auto;
}

.cbg-header {
	align-items: center;
    height: auto;
}

.cbg-header .col-md-5 {
	min-height: 500px;
}

.quote-form .wpcf7 {
	    border-radius: 32px;
    border: 1px solid #DADCE1;
    background: var(--Text-White, #FCFCFC);
    padding: 40px;
	max-width: 496px;

}

/* Mobile */
@media (max-width: 768px) {
    .cbg-header-bg {
    background-image: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), var(--bg-url);
    background-size: cover;
    background-position: center;
    border-radius: 25px;
    padding: 32px;
    aspect-ratio: 16 / 9; /* Keeps height consistent */
}
	
	.quote-form .wpcf7 {
		padding: 24px;
	}
}

@media (max-width: 767px) {
  .cbg-form {
    display: none !important;
  }
}
/* ===== Mega menu — rebuilt tab structure (tablist column + .tab-content panels) ===== */

/* Desktop: only the active province panel is visible */
#menu-header-menu .tab-content > .tab-pane {
    display: none;
}

#menu-header-menu .tab-content > .tab-pane.active.show {
    display: block;
}

/* City list inside a panel is the flex grid (was previously the pane itself) */
#menu-header-menu .tab-pane > ul.sub-menu.row {
    display: flex;
}

/* Keyboard focus outline for tabs and panels */
#menu-header-menu a[role="tab"]:focus-visible,
#menu-header-menu .tab-pane:focus-visible {
    outline: 2px solid #CF2B24;
    outline-offset: 2px;
}

@media screen and (max-width: 992px) {
    /* custom.js moves the tapped panel out of .tab-content into the
       province <li>; hide it there unless Bootstrap marked it active */
    .container.g-0 .order-lg-first.order-first li .tab-pane:not(.active) {
        display: none;
    }

    .container.g-0 .order-lg-first.order-first li .tab-pane.active {
        display: block;
    }

    /* Opened menu must not depend on :hover for visibility (keyboard /
       assistive-tech activation doesn't always set hover) */
    #menu-header-menu .container-menu.active {
        opacity: 1;
        pointer-events: auto;
    }
}

/* ===== Mega menu — modern left-column design (desktop) ===== */
@media (min-width: 1200px) {

    /* --- Sidebar: distinct tinted block, inset in the panel --- */
    #menu-header-menu .container-menu ul.order-lg-first {
        display: flex;
        flex-direction: column;
        gap: 8px;
        background: rgba(6, 23, 53, 0.05);
        border-radius: 24px;
        padding: 20px 16px;
        align-self: flex-start;
    }

    #menu-header-menu .tab-content {
        padding-left: 36px;
    }

    /* Kill the old vertical divider line */
    #menu-header-menu .container-menu ul.order-lg-first::after {
        content: none;
    }

    /* Sidebar item: label left, arrow right; identical box in every state */
    #menu-header-menu > li.menu-item ul.order-lg-first a {
        width: 100%;
        height: auto;
        margin: 0;
        padding: 13px 16px;
        justify-content: space-between;
        gap: 12px;
        border-radius: 12px;
        background: transparent;
        font-size: 15px;
        font-weight: 700;
        letter-spacing: 0.5px;
        transition: background-color .18s ease, color .18s ease, box-shadow .18s ease;
    }

    #menu-header-menu > li.menu-item ul.order-lg-first a::after {
        content: '';
        flex: none;
        width: 16px;
        height: 16px;
        background-color: var(--Secondary-100, #CF2B24);
        -webkit-mask: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M8.47 3.53a.75.75 0 0 1 1.06-1.06l4.667 4.666a.75.75 0 0 1 0 1.061L9.53 12.864a.75.75 0 1 1-1.06-1.061l3.386-3.387H2.667a.75.75 0 0 1 0-1.5h9.189L8.47 3.53z' fill='%23000'/%3e%3c/svg%3e") center / contain no-repeat;
        mask: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M8.47 3.53a.75.75 0 0 1 1.06-1.06l4.667 4.666a.75.75 0 0 1 0 1.061L9.53 12.864a.75.75 0 1 1-1.06-1.061l3.386-3.387H2.667a.75.75 0 0 1 0-1.5h9.189L8.47 3.53z' fill='%23000'/%3e%3c/svg%3e") center / contain no-repeat;
        opacity: 0;
        transform: translateX(-4px);
        transition: opacity .18s ease, transform .18s ease;
    }

    #menu-header-menu > li.menu-item ul.order-lg-first a:hover {
        background: rgba(252, 252, 252, 0.7);
        color: var(--Primary-100, #061735);
    }

    #menu-header-menu > li.menu-item ul.order-lg-first a:hover::after,
    #menu-header-menu > li.menu-item ul.order-lg-first a.nav-link.active::after {
        opacity: 1;
        transform: translateX(0);
    }

    /* Active sidebar item: white card, soft shadow — like the reference */
    #menu-header-menu > li.menu-item ul.order-lg-first a.nav-link.active {
        margin: 0;
        background: var(--Text-White, #FCFCFC);
        color: var(--Primary-100, #061735);
        box-shadow: 0 2px 10px rgba(6, 23, 53, 0.08);
    }

    /* --- Panel lists: responsive grid — columns size to content width,
       so dense city lists pack tighter and short lists with long labels
       (e.g. calculators) get wide single-line columns --- */
    #menu-header-menu .tab-pane > ul.sub-menu.row {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
        gap: 6px 20px;
        align-content: start;
    }

    #menu-header-menu .tab-pane > ul.sub-menu.row > li {
        width: auto;
        max-width: none;
        padding: 0;
    }

    /* menu_text footer strip spans the full grid width, stays last */
    #menu-header-menu .tab-pane > ul.sub-menu.row > li.col-lg-12 {
        grid-column: 1 / -1;
    }

    #menu-header-menu .tab-pane .sub-menu.row li > a {
        display: inline-flex;
        align-items: center;
        padding: 10px 14px;
        border-radius: 12px;
        transition: background-color .18s ease, color .18s ease;
    }

    #menu-header-menu .tab-pane .sub-menu.row li > a::after {
        content: '';
        flex: none;
        width: 0;
        height: 14px;
        margin-left: 0;
        background-color: var(--Secondary-100, #CF2B24);
        -webkit-mask: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M8.47 3.53a.75.75 0 0 1 1.06-1.06l4.667 4.666a.75.75 0 0 1 0 1.061L9.53 12.864a.75.75 0 1 1-1.06-1.061l3.386-3.387H2.667a.75.75 0 0 1 0-1.5h9.189L8.47 3.53z' fill='%23000'/%3e%3c/svg%3e") center / contain no-repeat;
        mask: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M8.47 3.53a.75.75 0 0 1 1.06-1.06l4.667 4.666a.75.75 0 0 1 0 1.061L9.53 12.864a.75.75 0 1 1-1.06-1.061l3.386-3.387H2.667a.75.75 0 0 1 0-1.5h9.189L8.47 3.53z' fill='%23000'/%3e%3c/svg%3e") center / contain no-repeat;
        opacity: 0;
        transform: translateX(-4px);
        transition: width .18s ease, margin-left .18s ease, opacity .18s ease, transform .18s ease;
    }

    #menu-header-menu .tab-pane .sub-menu.row li > a:hover {
        background: rgba(207, 43, 36, 0.06);
        color: var(--Primary-100, #061735);
    }

    #menu-header-menu .tab-pane .sub-menu.row li > a:hover::after {
        width: 14px;
        margin-left: 10px;
        opacity: 1;
        transform: translateX(0);
    }

    /* --- Hover-intent: menu must survive the diagonal move from the nav
       link into the panel. Close is delayed (grace period) and the panel
       stays hit-testable during it, so re-entering re-opens seamlessly.
       Uses visibility (not pointer-events) so the hidden panel never
       intercepts clicks. --- */
    #menu-header-menu .container-menu {
        opacity: 0;
        visibility: hidden;
        pointer-events: auto;
        transition: opacity .18s ease .28s, visibility 0s linear .46s;
    }

    /* Open-intent: a brief delay before opening, so skimming across other
       nav items on the way into an open panel doesn't swap menus */
    #menu-header-menu .menu-item-has-children:hover .container-menu,
    #menu-header-menu .menu-item-has-children:focus-within .container-menu {
        opacity: 1;
        visibility: visible;
        transition: opacity .15s ease .14s, visibility 0s linear .14s;
    }

    /* Attach the panel to the header: panel top edge sits exactly on the
       header's bottom edge (1px tuck for a seamless joint), so the menu
       reads as one piece with the navigation instead of floating below it.
       Header height is 88px; top bar 48px. */
    /* Header seam: transparent border is always there (no 1px jump),
       tints in sync with the menu's open delay for a smooth joint */
    header#masthead {
        border-bottom: 1px solid transparent;
        transition: border-color .15s ease .14s;
    }

    header#masthead:has(#menu-header-menu .menu-item-has-children:hover),
    header#masthead:has(#menu-header-menu .menu-item-has-children:focus-within) {
        border-bottom-color: rgba(6, 23, 53, 0.08);
    }

    ul#menu-header-menu .container-menu {
        top: 135px; /* aligns with header bottom */
        padding-top: 0;
    }

    /* Dim the page behind the open panel — separates dropdown from content.
       pointer-events:none so it never traps hover; top:inherit tracks the
       menu offset in normal / fixed / admin-bar states automatically. */
    ul#menu-header-menu .container-menu::before {
        content: '';
        position: fixed;
        left: 0;
        right: 0;
        top: inherit;
        height: 100vh;
        background: rgba(6, 23, 53, 0.35);
        z-index: -1;
        pointer-events: none;
    }

    .admin-bar ul#menu-header-menu .container-menu {
        top: 167px;
    }

    /* Scrolled state: header#masthead.fixed sits at top:44px, 88px tall */
    .fixed ul#menu-header-menu .container-menu {
        top: 131px;
        padding-top: 0;
    }

    /* Panel: full rounded rect, subtle border, soft drop shadow */
    ul#menu-header-menu .container-menu > .container.g-0 {
        border: 1px solid rgba(6, 23, 53, 0.08);
        border-top: none;
        border-radius: 0 0 32px 32px;
        box-shadow: 0 24px 48px -12px rgba(6, 23, 53, 0.18),
                    0 4px 12px rgba(6, 23, 53, 0.06);
        padding: 32px;
    }
}

/* .nav class (needed by Bootstrap Tab) defaults to a flex row —
   keep the mobile sidebar stacked */
@media screen and (max-width: 1199.98px) {
    #menu-header-menu .container-menu ul.order-lg-first.nav {
        flex-direction: column;
    }
}

/* Current page reflected in the mega menu: soft-red background only (no
   arrow). The arrow is reserved for hover, added by the base hover rule. */
#menu-header-menu .tab-pane .sub-menu.row li.current-menu-item > a {
    background: rgba(207, 43, 36, 0.06);
    color: var(--Secondary-100, #CF2B24);
    font-weight: 600;
}

/* ===== Mega menu content heading (editable "panel_title") ===== */
@media (min-width: 1200px) {
    #menu-header-menu .mega-right {
        position: relative;
    }

    /* Heading pinned to the top edge of the left box (both start at the
       column top). Absolute so it doesn't push the links down. */
    #menu-header-menu .mega-panel-title {
        position: absolute;
        top: 0;
        left: 36px;
        margin: 0;
        padding: 0;
        line-height: 20px;
        font-size: 13px;
        font-weight: 600;
        letter-spacing: 1px;
        text-transform: uppercase;
        color: rgba(6, 23, 53, 0.45);
    }

    /* Links start on the same row as the left box's first link (the box has
       a 20px top padding), top-aligned — not centered. */
    #menu-header-menu .mega-right > .tab-content {
        padding-top: 20px;
        padding-left: 0;
    }

    #menu-header-menu .mega-right > .tab-content > .tab-pane {
        padding-left: 36px;
    }
}

/* Mobile accordion: heading would clutter the stacked list — hide it */
@media (max-width: 1199.98px) {
    #menu-header-menu .mega-panel-title {
        display: none;
    }
}






/* Footer links: uniform 15px; tighter vertical rhythm in the four menu
   columns (not the first/brand column, which keeps its spacing). */
footer.bootscore-footer .footer_widget a {
    font-size: 15px;
}

footer.bootscore-footer .bootscore-footer-columns .row > div:not(:first-child) .footer_widget .menu {
    row-gap: 14px;
}

/* ============================================================
   Mobile drill-down menu (< 992px)
   Nested panels slide in from the right (CodePen-style), each
   level covers the previous; a back row returns. Long lists
   (cities) scroll within the offcanvas instead of expanding
   the whole menu in place.
   ============================================================ */
@media (max-width: 1199.98px) {

    /* Hide the desktop mega-menu source once the drill-down is built */
    #menu-header-menu.m-nav-hidden {
        display: none !important;
    }

    .m-nav {
        position: relative;
        overflow: hidden;
    }

    .m-nav ul {
        list-style: none;
        margin: 0;
        padding: 0;
    }

    /* Row: shared look for drill buttons and link items */
    /* Flat rows — no inherited pill radius / shadow (CTA keeps its pill) */
    .m-nav__row:not(.m-nav__cta),
    .m-nav__back {
        border-radius: 0;
        box-shadow: none;
    }

    .m-nav__row {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        width: 100%;
        padding: 15px 2px;
        margin: 0;
        font-family: inherit;
        font-size: 16px;
        font-weight: 600;
        line-height: 1.3;
        color: var(--Primary-100, #061735);
        background: transparent;
        border: 0;
        border-bottom: 1px solid rgba(6, 23, 53, 0.08);
        text-align: left;
        text-decoration: none;
        cursor: pointer;
    }
    a.m-nav__row {
        font-weight: 500;
        font-size: 15px;
        padding-top: 9px;
        padding-bottom: 9px;
        border-bottom-color: rgba(6, 23, 53, 0.05);
    }
    .m-nav__row:hover { color: var(--Secondary-100, #CF2B24); }

    /* Right chevron on drill rows */
    .m-nav__row .m-nav__chev {
        flex: none;
        width: 16px;
        height: 16px;
        background-color: var(--Secondary-100, #CF2B24);
        -webkit-mask: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M5.53 3.53a.75.75 0 0 0 0 1.06L8.94 8l-3.41 3.41a.75.75 0 1 0 1.06 1.06l3.94-3.94a.75.75 0 0 0 0-1.06L6.59 3.53a.75.75 0 0 0-1.06 0z' fill='%23000'/%3e%3c/svg%3e") center/contain no-repeat;
        mask: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M5.53 3.53a.75.75 0 0 0 0 1.06L8.94 8l-3.41 3.41a.75.75 0 1 0 1.06 1.06l3.94-3.94a.75.75 0 0 0 0-1.06L6.59 3.53a.75.75 0 0 0-1.06 0z' fill='%23000'/%3e%3c/svg%3e") center/contain no-repeat;
    }

    /* Only the active panel is in layout; it slides in. Keeping just one
       panel rendered avoids absolute-overlap/containing-block issues. */
    .m-nav__list.is-hidden { display: none; }
    .m-nav__sub { display: none; background: #fff; }
    .m-nav__sub.is-current { display: block; }

    @keyframes mnav-in-right {
        from { transform: translateX(100%); opacity: .5; }
        to   { transform: translateX(0);    opacity: 1;  }
    }
    @keyframes mnav-in-left {
        from { transform: translateX(-35%); opacity: .5; }
        to   { transform: translateX(0);    opacity: 1;  }
    }
    .m-nav .slide-right { animation: mnav-in-right .28s ease; }
    .m-nav .slide-left  { animation: mnav-in-left  .28s ease; }

    /* Back row */
    .m-nav__back {
        display: flex;
        align-items: center;
        justify-content: flex-end;
        gap: 8px;
        width: 100%;
        padding: 12px 2px;
        margin-bottom: 4px;
        font-size: 14px;
        font-weight: 600;
        letter-spacing: .3px;
        color: rgba(6, 23, 53, 0.55);
        background: transparent;
        border: 0;
        border-bottom: 1px solid rgba(6, 23, 53, 0.08);
        text-align: left;
        cursor: pointer;
    }
    .m-nav__back .m-nav__backicon {
        flex: none;
        width: 16px;
        height: 16px;
        background-color: currentColor;
        -webkit-mask: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M10.47 3.53a.75.75 0 0 1 0 1.06L7.06 8l3.41 3.41a.75.75 0 1 1-1.06 1.06L5.47 8.53a.75.75 0 0 1 0-1.06l3.94-3.94a.75.75 0 0 1 1.06 0z' fill='%23000'/%3e%3c/svg%3e") center/contain no-repeat;
        mask: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M10.47 3.53a.75.75 0 0 1 0 1.06L7.06 8l3.41 3.41a.75.75 0 1 1-1.06 1.06L5.47 8.53a.75.75 0 0 1 0-1.06l3.94-3.94a.75.75 0 0 1 1.06 0z' fill='%23000'/%3e%3c/svg%3e") center/contain no-repeat;
    }

    /* Panel section title (e.g. "Ontario") — the current location */
    .m-nav__title {
        padding: 6px 2px 10px;
        font-size: 20px;
        font-weight: 700;
        letter-spacing: -.01em;
        color: var(--Primary-100, #061735);
    }

    /* Section heading inside a panel (e.g. "Cities") */
    .m-nav__heading {
        padding: 14px 2px 6px;
        font-size: 12px;
        font-weight: 600;
        letter-spacing: 1px;
        text-transform: uppercase;
        color: rgba(6, 23, 53, 0.45);
    }

    /* "Get a Free Quote" CTA row */
    .m-nav__cta {
        justify-content: center;
        margin-top: 14px;
        padding: 14px 20px;
        border: 0;
        border-radius: 32px;
        background: var(--Secondary-100, #CF2B24);
        color: #fff;
        font-weight: 600;
    }
    .m-nav__cta:hover { color: #fff; }
}

/* ============================================================
   Plain content pages (Privacy Policy, Terms, etc.)
   Raw Gutenberg blocks render as bare children of .site-main
   with no container. Constrain them to a readable, centered
   column that matches the site aesthetic. ACF-built pages use
   <section class="block-cbg-*"> children instead, so they are
   untouched by these direct-child selectors.
   ============================================================ */
.site-main > p,
.site-main > ul,
.site-main > ol,
.site-main > blockquote,
.site-main > figure,
.site-main > table,
.site-main > pre,
.site-main > address,
.site-main > .wp-block-heading,
.site-main > .wp-block-list,
.site-main > .wp-block-quote,
.site-main > .wp-block-table,
.site-main > .wp-block-image,
.site-main > .wp-block-buttons {
    max-width: 880px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 20px;
    padding-right: 20px;
}

/* Vertical rhythm */
.site-main > p,
.site-main > ul,
.site-main > ol,
.site-main > blockquote,
.site-main > .wp-block-list {
    margin-top: 0;
    margin-bottom: 18px;
    font-size: 16px;
    line-height: 1.7;
    color: var(--Primary-100, #061735);
}

.site-main > .wp-block-heading {
    margin-top: 40px;
    margin-bottom: 14px;
    color: var(--Primary-100, #061735);
    line-height: 1.25;
}
.site-main > h1.wp-block-heading { font-size: 40px; letter-spacing: -.02em; }
.site-main > h2.wp-block-heading { font-size: 28px; }
.site-main > h3.wp-block-heading { font-size: 22px; }

/* Breathing room top & bottom of the article */
.site-main > .wp-block-heading:first-child,
.site-main > p:first-child {
    margin-top: 56px;
}
.site-main > p:last-child,
.site-main > ul:last-child,
.site-main > ol:last-child,
.site-main > .wp-block-list:last-child,
.site-main > .wp-block-heading:last-child {
    margin-bottom: 72px;
}

/* Lists: proper indentation + spacing */
.site-main > ul,
.site-main > ol,
.site-main > .wp-block-list {
    padding-left: 40px;
}
.site-main > ul li,
.site-main > ol li,
.site-main > .wp-block-list li {
    margin-bottom: 8px;
}

/* Links in body copy use the brand red */
.site-main > p a,
.site-main > ul a,
.site-main > ol a,
.site-main > .wp-block-list a {
    color: var(--Secondary-100, #CF2B24);
    text-decoration: underline;
    text-underline-offset: 2px;
}

@media (max-width: 767px) {
    .site-main > h1.wp-block-heading { font-size: 30px; }
    .site-main > h2.wp-block-heading { font-size: 24px; }
    .site-main > .wp-block-heading:first-child,
    .site-main > p:first-child { margin-top: 32px; }
}

/* Privacy Policy + Terms: faded-blue hero heading (matches Sitemap style). */
.page-id-19753 .site-main > h1.wp-block-heading:first-child,
.page-id-19756 .site-main > h1.wp-block-heading:first-child {
    max-width: 1241px; /* header container 1265 minus its 12px gutters — aligns with header content edge like the sitemap hero */
    background: #e9eef6;
    color: var(--Primary-100, #061735);
    text-align: center;
    border-radius: 24px;
    padding: 56px 24px;
    margin: 32px auto 40px;
    font-size: 44px;
    line-height: 1.1;
    font-weight: 700;
    letter-spacing: -.02em;
}
@media (max-width: 767px) {
    .page-id-19753 .site-main > h1.wp-block-heading:first-child,
    .page-id-19756 .site-main > h1.wp-block-heading:first-child {
        font-size: 32px;
        padding: 40px 20px;
        margin: 20px auto 32px;
    }
}

/* Restore comfortable header height (was looking cramped after breakpoint work) */
@media (min-width: 1200px) {
    header#masthead #nav-main {
        padding-top: 14px;
        padding-bottom: 14px;
    }
}


/* ============================================================
   Gutenberg content tables — brand styling.
   bootscore 6.4 rewrites <figure class="wp-block-table"> into
   <figure class="table-responsive"><table class="table">, so we style BOTH
   the old markup and the new Bootstrap-wrapped one. Selectors on the new
   markup are deliberately specific (3 classes) to beat Bootstrap's own
   `.table > :not(caption) > * > *` cell rules. Scoped to .site-main so real
   Bootstrap UI tables (cart etc.) are untouched.
   ============================================================ */
.wp-block-table,
.site-main figure.table-responsive {
    margin: 44px auto;               /* spacer above + below the table */
    border-radius: 16px;
    overflow: hidden;                /* clip rounded corners (2-col tables fit) */
    box-shadow: 0 2px 16px rgba(6, 23, 53, .08);
    border: 1px solid rgba(6, 23, 53, .08);
}
.wp-block-table table,
.site-main figure.table-responsive table.table {
    width: 100%;
    margin: 0;
    border-collapse: collapse;
    background: #fff;
    font-size: 15px;
    color: var(--Primary-100, #061735);
    --bs-table-bg: transparent;
    --bs-table-accent-bg: transparent;
    --bs-table-color: var(--Primary-100, #061735);
}
/* Cells (override Bootstrap's cell box-shadow/bg) */
.wp-block-table td,
.wp-block-table th,
.site-main figure.table-responsive table.table > :not(caption) > * > * {
    padding: 13px 20px;
    border: none;
    border-bottom: 1px solid rgba(6, 23, 53, .08);
    color: var(--Primary-100, #061735);
    background-color: #fff;
    box-shadow: none;
    vertical-align: middle;
}
/* Header row: real <thead>, or the first <tr> when there's no thead */
.wp-block-table thead td,
.wp-block-table thead th,
.wp-block-table:not(:has(thead)) tr:first-child td,
.site-main figure.table-responsive table.table > thead > tr > th,
.site-main figure.table-responsive table.table > tbody > tr:first-child > td {
    background-color: var(--Primary-100, #061735);
    color: #fff;
    font-weight: 700;
    letter-spacing: .01em;
}
.wp-block-table thead td strong,
.wp-block-table thead th strong,
.wp-block-table:not(:has(thead)) tr:first-child td strong,
.site-main figure.table-responsive table.table > thead > tr > th strong,
.site-main figure.table-responsive table.table > tbody > tr:first-child > td strong {
    color: #fff;
}
/* Zebra striping on body rows */
.wp-block-table:not(:has(thead)) tbody tr:nth-child(odd):not(:first-child) td,
.wp-block-table:has(thead) tbody tr:nth-child(even) td,
.site-main figure.table-responsive table.table > tbody > tr:nth-child(odd):not(:first-child) > td {
    background-color: #f5f7fb;
}
.wp-block-table tbody tr:last-child td,
.site-main figure.table-responsive table.table > tbody > tr:last-child > td {
    border-bottom: none;
}
.wp-block-table tbody tr:not(:first-child):hover td,
.site-main figure.table-responsive table.table > tbody > tr:not(:first-child):hover > td {
    background-color: #eef2f8;
}

/* Breathing room after a table block group before the next section. */
.wp-block-group:has(.wp-block-table),
.wp-block-group:has(figure.table-responsive) {
    padding-bottom: 56px;
}

/* ============================================================
   Gravity Forms — collapse invisible utility fields.
   HandL UTM Grabber fields render as normal .gfield wrappers whose
   only content is an <input type="hidden">. The wrappers are
   zero-height but still occupy rows in the .gform_fields grid
   (gap: 24px), so every one of them adds a phantom 24px gap —
   e.g. a ~72px hole between the "Get a Free Quote" heading and
   the Name field. Hide the wrappers so spacing stays even.
   ============================================================ */
.gform_fields .gfield[class*="gfield--type-handlfree_utm"],
.gform_fields .gfield[class*="gfield--type-handl_utm"] {
    display: none !important;
}

/* ============================================================
   Blog post tables — keep them inside the content column.
   Two upstream rules made them break out of the column:
   1. `.single figure { display:inline-flex; width:fit-content }`
      (meant for image figures) let the table figure grow to the
      table's intrinsic width instead of the column width.
   2. bootscore's `.table-responsive .table { white-space:nowrap }`
      stopped cell text from wrapping, blowing that intrinsic width
      up past the column. Restore normal wrapping and let genuinely
      wide tables scroll horizontally instead of overflowing.
   ============================================================ */
.single .content-single-post figure.table-responsive {
    display: block;
    width: auto;
    max-width: 100%;
    padding: 0;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
}
.single .content-single-post figure.table-responsive table.table {
    white-space: normal;
    width: 100%;
}
/* On phones keep columns readable — table scrolls sideways instead
   of crushing three columns into 100px slivers. */
@media (max-width: 767px) {
    .single .content-single-post figure.table-responsive table.table > :not(caption) > * > * {
        padding: 10px 14px;
        font-size: 14px;
        min-width: 120px;
    }
}

/* Image-left / text-right blocks: give the text column extra left padding on
   desktop so the copy isn't squished against the image. */
@media (min-width: 992px) {
    .welcome-content.order-lg-2 {
        padding-left: 48px;
    }
}


/* ============================================================
   Location pages — "service areas near {City}" module
   ============================================================ */
.location-nearby {
    padding: 56px 0 72px;
}
/* plain section — no card/panel */
.location-nearby__inner {
    padding: 0;
}
.location-nearby__head {
    margin-bottom: 34px;
}
.location-nearby__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--Primary-100, #061735);   /* brand dark blue */
    margin-bottom: 10px;
}
.location-nearby__eyebrow::before {
    content: "";
    width: 15px;
    height: 15px;
    background: no-repeat center / contain
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23061735' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E");
}
.location-nearby__title {
    font-size: 27px;
    font-weight: 700;
    line-height: 1.2;
    color: var(--Primary-100, #061735);
    margin: 0 0 8px;
    letter-spacing: -.01em;
}
.location-nearby__intro {
    font-size: 15.5px;
    color: rgba(6, 23, 53, .72);
    margin: 0;
}
.location-nearby__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
.location-nearby__list li {
    margin: 0;
}
/* NB: specificity raised (.site-main .location-nearby …) to beat the
   content-link rule ".site-main :where(p,li) a:not()…" which is (0,3,1). */
.site-main .location-nearby .location-nearby__list a {
    display: inline-flex;
    align-items: center;
    padding: 9px 18px;
    font-size: 14px;
    font-weight: 600;
    color: var(--Primary-100, #061735);   /* dark blue text */
    background: #e8eef8;                    /* light dusty blue */
    border: 1px solid rgba(6, 23, 53, .10);
    border-radius: 999px;
    text-decoration: none;
    transition: background-color .16s ease, color .16s ease, border-color .16s ease, transform .16s ease;
}
.site-main .location-nearby .location-nearby__list a:hover,
.site-main .location-nearby .location-nearby__list a:focus-visible {
    background: var(--Secondary-100, #CF2B24);   /* red pill */
    border-color: var(--Secondary-100, #CF2B24);
    color: #fff;                                 /* white text */
    text-decoration: none;
    transform: translateY(-1px);
}
@media (max-width: 767px) {
    .location-nearby {
        padding: 40px 0 56px;
    }
    .location-nearby__title {
        font-size: 22px;
    }
}


/* ============================================================
   Sitemap page (page-id-19738 — [html_sitemap] output)
   ============================================================ */
.page-id-19738 .entry-content {
    max-width: 1265px; /* match the site header container */
    margin: 0 auto;
    padding: 0 12px 80px;
}

/* Hero band for the page title — faded blue, dark text */
.page-id-19738 .entry-content > h1:first-child {
    text-align: center;
    background: #e9eef6;
    color: var(--Primary-100, #061735);
    border-radius: 24px;
    padding: 60px 24px;
    margin: 32px 0 56px;
    font-size: 44px;
    line-height: 1.1;
    font-weight: 700;
}

/* Section headings (Posts / Post Categories / Pages) */
.page-id-19738 .entry-content h2 {
    font-size: 24px;
    font-weight: 700;
    color: var(--Primary-100, #061735);
    margin: 48px 0 20px;
    padding-bottom: 12px;
    border-bottom: 2px solid rgba(6, 23, 53, .12);
}
.page-id-19738 .entry-content h2:first-of-type {
    margin-top: 0;
}

/* Link lists → tidy multi-column layout */
.page-id-19738 .entry-content ul {
    list-style: none;
    margin: 0 0 8px;
    padding: 0;
    columns: 3 260px;
    column-gap: 40px;
}
.page-id-19738 .entry-content ul li {
    margin: 0 0 12px;
    padding: 0;
    break-inside: avoid;
    line-height: 1.4;
}
.page-id-19738 .entry-content ul li a {
    color: var(--Primary-100, #061735);
    font-weight: 500;
    font-size: 15px;
    text-decoration: none;
}
.page-id-19738 .entry-content ul li a:hover {
    color: var(--Secondary-100, #CF2B24);
    text-decoration: underline;
    text-underline-offset: 3px;
}

@media (max-width: 767px) {
    .page-id-19738 .entry-content > h1:first-child {
        font-size: 32px;
        padding: 44px 20px;
        margin: 20px 0 40px;
    }
    .page-id-19738 .entry-content ul {
        columns: 1;
    }
}
