html,
body {
    margin: 0;
    padding: 0;
    width: 100%;
    max-width: 100%;
    display: block;
}
html * { box-sizing: border-box; }
#wp-site-blocks > .wp-block-group,
#testimonials-section > .sitewidth > .wp-block-group {
    width: 100%;
    clear: both;
    margin: 0;
    padding: 0;
    display: block;
}
#hero {
    height: 500px;
    display: block;
}
.columns,
.row,
#wp-site-blocks #services-list-section .sitewidth { 
    display: flex;
    flex-direction: column;
}
#masthead {
    background-color: #fff;
    display: block;
    clear: both;
    width: 100%;
    height: auto;
    overflow: visible;
}
#three-icons-section .third,
body #wp-site-blocks .third {
    text-align: center;
    width: 33.3%;
}
#three-icons-section .third *, body .third > * { text-align: center; }
#footer-nav-menus { display: none; visibility: hidden; }
#main-footer ul li a,
#social-media-links a {
    color: #fff;
    text-decoration: none;
    display: block;
}
#main-footer > .sitewidth > div:first-child {
    padding-bottom: 30px;
    margin-bottom: 30px;
    border-bottom: 2px solid #888;
}
.heroform .wp-block-group { padding-left: 0; padding-right: 0; }
#all-services > ul {
    padding: 0;
    display: inline-block;
    width: 100%;
    position: relative;
}
#all-services > ul > li { display: block; }
#all-services {
    justify-content: space-between;
    align-items: flex-start;
}
#core-values  .sitewidth,
body .sitewidth.flex-column { align-items: flex-start; }
#core-values .sitewidth .wp-block-columns { justify-content: middle; }
#core-values .leftside,
#core-values .rightside {
    text-align: center;
    max-width: 350px;
}
#core-values .leftside .wp-block-group.is-content-justification-center,
#core-values .rightside figure.aligncenter {
    justify-content: center;
    align-items: center;
}
#services-list-section #all-services > ul > li > a {
    font-size: 20px;
    font-weight: bold;
    color: #fff;
    padding: 2px 3px;
    margin: 0;
}
#wp-site-blocks .faq-section > .sitewidth,
#core-values .sitewidth {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    text-align: left;
}
#wp-site-blocks .sitewidth.flex-column { flex-direction: column; }
.sitewidth h2.wp-block-heading,
.sitewidth .heading-design {
    clear: both;
    display: block;
    position: relative;
}
.wp-block-group.faq.accordion,
.wte-section .accordion {
    clear: both;
    width: 100%;
    float: none;
    max-width: 100%;
}
#wp-site-blocks .wp-block-group.wte-content,
#wp-site-blocks .wp-block-group.wte-content .wp-block-columns {
    width: 100%;
    max-width: 100%;
    display: block;
}
#wp-site-blocks .wp-image-1155 {
    max-height: 80px;
    max-width: 80px;
    width: 100%;
    height: auto;
}
#footer-nav-menus ul li {
    display: block;
    width: 100%;
    clear: both;
    padding: 0;
}
#footer-nav-menus ul li a {
    padding: 0 0 0 0;
    transition: all 0.2s ease;
}
#footer-nav-menus ul li:hover > a { padding-left: 8px; }
#cta-section-1 .wp-block-button.cat-button a,
#cta-section-2 .wp-block-button.cat-button a,
.cta-section .wp-block-button.cat-button a { color: #fff !important; }
#social-media-links > div a {
    display: flex;
    width: 100%;
    justify-content: flex-start;
    gap: 0;
    align-items: center;
    font-weight: bold;
    flex-wrap: nowrap;
}
#social-media-links a::before {
    content: '';
    display: inline-block;
    width: 32px;
    height: 32px;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 22px auto;
    margin-right: 8px;
    filter: invert(100%) sepia(100%) saturate(2%) hue-rotate(77deg) brightness(108%) contrast(100%);
}
#facebook-link a::before { background-image: url('https://cdn.profitfill.com/img/facebook.svg'); }
#twitter-link a::before { background-image: url('https://cdn.profitfill.com/img/twitter.svg'); }
#linkedin-link a::before { background-image: url('https://cdn.profitfill.com/img/linkedin.svg'); }
#pinterest-link a::before { background-image: url('https://cdn.profitfill.com/img/pinterest.svg'); }
#instagram-link a::before { background-image: url('https://cdn.profitfill.com/img/instagram.svg'); }
#houzz-link a::before { background-image: url('https://cdn.profitfill.com/img/houzz.svg'); }
#yelp-link a::before { background-image: url('https://cdn.profitfill.com/img/yelp.svg'); }
#tiktok-link a::before { background-image: url('https://cdn.profitfill.com/img/tiktok.svg'); }
#secondary-nav { display: none; visibility: hidden; }
#wp-site-blocks #testimonials-section .is-content-justification-space-between {
    gap: 30px;
    display: flex;
    flex-direction: column;
}
div.faq-section > .sitewidth > div {
    align-items: flex-start;
    justify-content: flex-start;
}
div.faq-section > .sitewidth > div.row { display: block; }
#hero-banner,
#hero-banner h1,
#hero-banner h2,
#hero-banner h3 { color: #fff; }
body .has-global-padding { padding-left: 0; padding-right: 0; }
div.cat-button > a.wp-element-button {
    padding-left: 10px; padding-right: 10px;
}
#wp-site-blocks .third.flex-column { flex-direction: column; }
#hero .wp-block-cover__inner-container {
    position: absolute;
    top: 0; left: 50%;
    transform: translate(-50%,0);

}
body #wp-site-blocks > #hero {
    height: auto;
    overflow-x: hidden;
}
#hero > img {
    opacity: 0.4;
    vertical-align: baseline;
    margin-top: 20px;
    margin-bottom: -8px;
}
.accordion-header::before {
    display: inline-block;
    content: '+';
    width: 32px;
    height: 32px;
    margin-right: 10px;
    border-radius: 16px;
    color: #fff;
    background-color: #777;
    line-height: 32px;
    text-align: center;
    transform: rotate(0deg);
    transition: all 0.2s ease;
}
.accordion.open .accordion-header::before {
    transform: rotate(45deg);
}
.accordion .accordion-header figure {
    display: none !important;
    visibility: hidden !important;
}
#checkmark-columns {
    padding-bottom: 0 !important;
}
#checkmark-columns > .sitewidth {
    border-bottom: 2px solid #ccc;
    padding-bottom: 40px !important;
}
#three-icons-section > .sitewidth > .wp-block-group {
    align-items: flex-start;
}
#social-media-links > .wp-block-group {
    flex-direction: column;
}


@media All and (max-width: 650px){
    .desktop,
    #contact-section figure.wp-block-image,
    #membership-section figure.wp-block-image,
    #three-icons-section figure.wp-block-image {
        display: none !important;
        visibility: hidden !important;
    }
    #wp-site-blocks #main-footer > .sitewidth > div:first-child {
        margin-bottom: 0;
        padding-bottom: 0;
        border-bottom: 0;
    }
    .sitewidth,
    body .is-nowrap {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        gap: 0px;
    }
    body #wp-site-blocks > .wp-block-group:not(#hero) .rightside {
        margin-top: 20px;
    }
    body .wp-block-buttons {
        justify-content: center;
    }
    
    #hero .sitewidth {
        width: 80%;
        margin-left: auto;
        margin-right: auto;
    }
    #all-services > ul > li > em {
        font-weight: bold;
        font-size: 20px;
        margin-bottom: 10px;
    }
    #all-services > ul > li {
        margin-top: 30px;
    }
    #all-services > ul > li > ul,
    #all-services > ul > li > ul  > li {
        padding: 0;
        display: block;
        
    }
    #circle-images-section figure,
    #circle-images-section figure img { width: 75px !important; }
    body img,
    body .sitewidth .leftside,
    body .sitewidth .rightside { max-width: 100%; }
    #main-footer > .sitewidth > .wp-block-group > .wp-block-group,
    #main-footer > .sitewidth > .wp-block-group > .wp-block-group > .wp-block-group {
        justify-content: center;
        align-items: center;
    }
    #main-footer > .sitewidth > .row > .wp-block-group { flex-direction: column; }
    #main-footer > .sitewidth > .row > .wp-block-group > .is-nowrap {
        flex-direction: column;
        flex-wrap: nowrap;
    }
    #masthead > .wp-block-group:first-child {
        padding-top: 50px !important;
        align-items: center;
        justify-content: center;
    }
    body #wp-site-blocks #hero { height: 350px; }
    #wp-site-blocks #three-icons-section .third, body #wp-site-blocks .wp-block-group .third {
        width: 100%;
        max-width: 100%;
    }
    body #wp-site-blocks #circle-images-section .sitewidth.grid-half { display: block; }
    
    #circle-images-section figure,
    #circle-images-section figure img {
        max-width: 100%;
        min-width: 40px;
        width: auto;
    }
    body #cta-section-1 > .sitewidth > .wp-block-group,
    body #cta-section-2 > .sitewidth > .wp-block-group {
        text-align: center;
        align-items: center;
    }
    body #cta-section-1 > .sitewidth > .wp-block-group > div,
    body #cta-section-2 > .sitewidth > .wp-block-group > div {
        width: 100%;
        justify-content: center;
        align-items: center;
    }
    body #cta-section-1 > .sitewidth > .wp-block-group .wp-block-buttons,
    body #cta-section-2 > .sitewidth > .wp-block-group .wp-block-buttons { width: 100%; }
    .wp-block-cover > img,
    body #hero .sitewidth > .rightside,
    body #wp-site-blocks.contact-2 #hero .wp-block-buttons {
        display: none !important;
        visibility: hidden !important;
    }
     
    body #wp-site-blocks.contact-2 #hero  {
        height: auto;
        max-height: auto;

    }
    body #wp-site-blocks.contact-2 #hero .sitewidth > .rightside {
        display: block !important;
        visibility: visible !important;
    }
    body #wp-site-blocks.contact-2 #hero .sitewidth > .rightside .heroform {
        position: relative;
        left: 0;

    }
    body #wp-site-blocks.contact-2 #hero .sitewidth {
        flex-wrap: wrap;
    }
    #menu-toggle {
        background-image: url(/img/bars.svg);
        background-size: 20px auto;
        background-position: center center;
        background-repeat: no-repeat;
    }
    body.mobile-menu-open #menu-toggle {
        background-image: url(/img/times.svg);
    }
    body #social-media-links {
        margin-top: 30px;
        gap: 0;
    }
    body #footer-address {
        text-align: center;
    }
    body #hero .wp-block-cover__inner-container {
        position: relative !important;
        left: auto;
        top: auto;
        padding-top: 40px;
        padding-bottom: 30px;
        transform: none !important;
    }
    body #masthead > .wp-block-group:first-child {
        padding-top: 20px !important;
    }
    .wp-block-cover .wp-block-cover__inner-container, .wp-block-cover-image .wp-block-cover__inner-container {
        margin-top: 0 !important;
        height: auto !important;
    }
    body #hero,
    body #hero .sitewidth {
        flex-direction: column;
        display: flex;
        height: 100%;
        vertical-align: middle;
        justify-content: center;
    }
    body #hero .sitewidth > .leftside {
        text-align: center;
    }
    body #hero .sitewidth > .leftside .wp-block-buttons {
        justify-content: center;
    }
    body #circle-images-section .sitewidth .row.grid-half {
        gap: 30px;
        display: flex;
        flex-wrap: wrap;
    }
    body #wp-site-blocks .accordion-header::before {
        float: left; clear: none;
    }
}

@media All and (min-width: 651px) and (max-width: 1050px){
    body img { max-width: 100%; }
    body div#wp-site-blocks div#hero .sitewidth { padding-top: 0; }
    body #wp-site-blocks #masthead { position: relative !important; }
    body #wp-site-blocks > div {
        max-width: 100%;
        width: 100%;
    }
    #wp-site-blocks .sitewidth,
    body #wp-site-blocks #main-footer .sitewidth { max-width: 90%; }
    #masthead .sitewidth nav,
    #masthead #secondary-nav,
    #wp-site-blocks #main-footer #footer-nav-menus {
        display: none;
        visibility: hidden;
    }
    #wp-site-blocks #circle-images-section .sitewidth .grid-half { display: block; }
    #wp-site-blocks #hero {
        height: auto;
        min-height: 400px;
    }
}

@media All and (min-width: 650px) {
    .mobile {
        display: none !important;
        visibility: hidden !important;
    }
    #wp-site-blocks .justify-center { justify-content: center; }
    .columns, 
    .row {
        display: flex;
        flex-direction: row;
        gap: 20px;
        width: 100%;
        justify-content: space-between;
    }
    .sitewidth {
        max-width: 1140px;
        width: 94%;
        margin-left: auto;
        margin-right: auto;
        float: none;
        clear: both;
    }
    body .sitewidth > .wp-block-columns {
        gap: 30px;
    }
    #wp-site-blocks .wte-section .sitewidth,
    #content-section-ac-2 .sitewidth,
    #financing-benefits .sitewidth,
    .sitewidth,
    #wp-site-blocks .sitewidth.flex-columns,
    #wp-site-blocks .sitewidth.flex-column {
        flex-direction: column;
        align-items: flex-start;
    }
    #wp-site-blocks .sitewidth .accordion:not(.row) {
        padding: 20px;
        border-radius: 20px;
        display: block;
        box-sizing: border-box;
        width: 100%;
        max-width: 100%;
    }
    #hero .wp-block-cover__inner-container > .sitewidth {
        flex-wrap: nowrap;
    }
    #wp-site-blocks .faq-section .sitewidth .accordion {
        padding: 0;
        margin-bottom: 10px;
    }
    #wp-site-blocks .sitewidth .accordion:not(.row) h2.accordion-header {
        font-size: 20px;
    }
    #wp-site-blocks header.accordion-header,
    .wp-block-columns {
        padding: 0;
        margin: 0;
        width: 100%;
    }
    .wte-section > .sitewidth > div:not(.heading-design) {
        width: 100%;
        max-width: 100%;
    }
    #wp-site-blocks .sitewidth .accordion:not(.row) .accordion-header {
       /*  background-color: transparent !important; */
       padding: 10px;
    }
    .service-list-section .sitewidth,
    #wp-site-blocks #testimonials-section .is-content-justification-space-between,
    #wp-site-blocks .sitewidth .wp-block-columns { flex-direction: row; }
    div.faq-section > .sitewidth > div.heading-design { float: left; }
    #secondary-nav {
        display: block;
        visibility: visible;
        margin-top: 0;
        margin-bottom: 0;
    }
    #secondary-nav ul.menu {
        display: flex;
        align-content: center;
        justify-content: space-between;
        width: 100%;
        max-width: 1140px;
        text-align: center;
        margin: 0 auto;
        padding: 0;
    }
    #secondary-nav ul.menu li {
        display: inline-block;
        width: auto;
        margin: 0;
        padding: 0;
    }
    #secondary-nav ul.menu li a {
        display: block;
        margin: 0;
        padding: 0;
        position: relative;
        text-align: center;
        color: #fff;
        font-weight: 500;
        text-transform: uppercase;
        font-size: 15px;
    }
    #footer-nav-menus {
        display: grid;
        grid-template-columns: 25% 25% 25% 25%;
        visibility: visible;
    }
    #footer-nav-menus > ul {
        padding: 0;
        max-width: 90%;
        min-width: 150px;
        display: inline-block;
    }
    #footer-nav-menus ul ul,
    #all-services > ul > li > ul {
        padding: 10px 0 0 0;
        display: inline-block;
    }
    #footer-nav-menus ul.wp-block-list li {
        display: inline-block;
        clear: both;
        float: left;
        margin: 0;
    }
    #footer-nav-menus ul.wp-block-list li a { padding: 3px 2px; }
    #footer-nav-menus > ul.wp-block-list > li > strong,
    #footer-nav-menus > ul.wp-block-list > li > a { margin-bottom: 10px; }
    #footer-nav-menus > ul > li,
    #all-services > ul > li > em {
        font-weight: bold;
        text-transform: uppercase;
        width: 100%;
        display: block;
    }
    #all-services > ul > li > em, #footer-nav-menus > ul > li > em, #footer-nav-menus > ul > li > strong  { display: block; width: 100%; clear: both; }
    #footer-nav-menus > ul > li > ul > li,
    #all-services > ul > li > ul > li {
        font-weight: normal;
        text-transform: none;
        display: block;
        font-size: 16px;
        transition: all 0.2s ease;
    }
    #footer-nav-menus > ul.wp-block-list ul.block-list,
    #all-services > ul > li > ul { padding-top: 10px; }
    #footer-nav-menus a {
        color: #fff;
        text-decoration: none;
    }
    #wp-site-blocks #masthead ul.wp-block-navigation__submenu-container {
        background-color: transparent;
        padding: 0;
        border-radius: 0;
    }
    #wp-site-blocks #masthead ul.wp-block-navigation__submenu-container > li > a { background-color: #fff; }
    #masthead nav ul li.has-child > a:hover,
    #masthead nav ul.menu > li > a {
        transform: none;
        box-shadow: none;
    }
    #masthead nav #modal-1-content {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        width: 100%;
    }
    #masthead nav #modal-1-content ul.menu {
        display: inline-block;
        width: 100%;
        max-width: 100%;
    }
    #masthead nav #modal-1-content ul.menu > li {
        display: inline-block;
        clear: both;
        width: auto;
        max-width: 100%;
    }
    #masthead nav ul.menu > li > a {
        line-height: 40px; 
        height: 40px;
        font-size: 15px;
        font-weight: 600;
        text-transform: uppercase;
        position: relative;
        display: block;
        text-align: center;
        font-family: inherit;
    }
    #masthead nav ul.menu > li {
        display: inline-block;
        width: 100%;
        position: relative;
        margin: 0 5px;
        padding: 0;
    }
    #masthead nav ul.menu > li > ul.sub-menu {
        display: none;
        visibility: hidden;
        position: absolute;
        width: 220px;
        height: 0;
        margin-top: 0;
        margin-left: 0;
        border: 2px solid #ddd;
        background-color: #fff;
        transition: height 0.3s ease;
    }
    #masthead nav ul.menu > li > ul.sub-menu > li > a {
        display: block;
        width: 100%;
        background-color: #fff;
        box-sizing: border-box;
        padding: 6px 10px;
        text-align: left;
    }
    #masthead nav ul.menu > li:hover > ul.sub-menu {
        display: block;
        visibility: visible;
        position: absolute;
        margin-top: 0;
        margin-left: 0;
        background-color: #fff;
        padding: 0;
        z-index: 9999;
        width: 220px;
        height: auto;
    }
    #masthead nav ul.menu > li:hover > ul.sub-menu > li {
        display: block;
        clear: both;
        margin: 0;
        padding: 0;
        position: relative;
    }
    #wp-site-blocks .faq-section .wp-block-group.is-layout-grid {
        display: grid;
        grid-template-columns: 48% 48%;
        gap: 2%;
    }
    body #wp-site-blocks div.accordion { flex-direction: column; }
    body #wp-site-blocks div.accordion header.accordion-header { width: 95%; }
    #wp-site-blocks .faq-section > .sitewidth { align-items: flex-start; }
    #wp-site-blocks .faq-section .sitewidth .wp-block-columns { justify-content: space-between; }
    #wp-site-blocks .faq-section .wp-block-columns .wp-block-column {
        flex-basis: 40%;
        max-width: 40%;
    }
    #circle-images-section h3,
    #circle-images-section p { text-align: left; }
    #masthead #secondary-nav ul.menu > li > a {
        background-color: rgba(0,0,0,0.0);
        transition: all 0.2s ease;
    }
    #masthead #secondary-nav ul.menu > li:hover > a { background-color: rgba(0,0,0,0.3); }
    #video-section .sitewidth .wp-block-group > figure {
        margin-left: 0;
        margin-right:0;
    }
    #cta-section-1 p,
    #cta-section-2 p {
        font-size: 16px;
        font-weight: 600;
    }
    body .sitewidth .rightside,
    body .sitewidth .leftside  {
        width: 50%;
    }
    body .sitewidth > .leftside figure {
        margin: 0 auto; 
        float: none;
        text-align: center;
    }
    body #wp-site-blocks #testimonials-section figure {
        margin-left: 0;
        margin-right: 0;
    }
}

@media All and (min-width: 1050px) {
    #hero > .sitewidth { padding-top: 200px !important; }
    #wp-site-blocks .sitewidth .wp-block-columns { flex-wrap: nowrap; }
    #wp-site-blocks #hero .heroform { margin-top: 40px; }
}

@media All and (max-width: 1050px) {
    #menu-toggle {
        display: block;
        z-index: 9999;
        position: fixed;
        top: 10px;
        right: 10px;
        background-color: #fff;
        color: #000;
        content: '+';
        border-radius: 20px;
        height: 40px;
        width: 40px;
        box-shadow: 0 0 4px rgba(0,0,0,0.7);
    }
    #mobile-nav {  
        display: none;
        visibility: hidden;
        position: fixed;
        top: 0;
        left: 0;
        height: 0;
        width: 100%;
        transition: all 0.3s ease;
        background-color: rgba(255,255,255,0.0);
        z-index: -1;
    }
    body.mobile-menu-open #mobile-nav {
        display: block;
        visibility: visible;
        height: 100vh;
        overflow-y: scroll;
        overflow-x: hidden;
        z-index: 999;
        background-color: #fff;
    }
    #mobile-nav ul.sub-menu {
        display: none;
        visibility: hidden;
        padding: 0;
        margin: 0;
    }
    #mobile-nav li.open > ul.sub-menu {
        display: block;
        visibility: visible;
    }
    #mobile-nav ul.menu {
        padding: 0;
        margin: 80px auto;
        width: 90%;
        max-width: 800px;
        float: none;
        display: block;
        clear: both;
    }
    #mobile-nav ul.menu > li,
    #mobile-nav ul.menu > li > .sub-menu > li {
        display: block;
        clear: both;
        width: 100%;
        height: auto;
        border-bottom: 1px dashed #ddd;
        margin: 0;
        padding: 0;
    }
    #mobile-nav ul.menu > li:last-child,
    #mobile-nav ul.menu > li > .sub-menu > li:last-child {
        border-bottom: 0;
    }
    #mobile-nav ul.menu > li.menu-item-has-children > a::after{
        content: '+';
        display: block;
        position: relative;
        right: 0;
        width: auto;
        font-size: 16px;
        color: #777;
        float: right;
        clear: right;
        transform: rotate(0deg);
        transform: all 0.2s ease;
    }
    #mobile-nav ul.menu > li.menu-item-has-children.open > a::after {
        transform: rotate(45deg);
    }
    #mobile-nav ul.menu > li {
        padding: 6px 0;
    }
    #mobile-nav ul.menu > li > a {
        padding: 4px 0;
        font-weight: bold;
    }
    #mobile-nav ul.menu > li > a:hover {
        box-shadow: none;
        background-color: transparent;
    }
    #mobile-nav ul.menu > li{
        font-size: 20px;
    }
    #mobile-nav ul.menu > li > ul > li > a {
        font-size: 16px;
        font-weight: 500;
        text-transform: none;
    }
    body #wp-site-blocks > .wp-block-group > .sitewidth {
        width: 80% !important;
    }
}