/* Global overrides — edited freely. Joins the purge input. */

/* Lock brand logo dimensions so height:auto from img-fluid cannot cause CLS */
.brand-logo {
    width: 139px;
    height: 50px;
}

:root {
    /* Primary Colors */
    --color-primary: #3bb44d;
    --color-primary-dark: #2a9a3a;

    /* Neutral Colors */
    --color-white: #FFFFFF;
    --color-black: #2D2D2D;

    /* Feedback Colors */

    /* Typography — latoblack for headers/buttons per live ezeletric.com */
    --font-primary: 'latoregular', 'Lato', sans-serif;
    --font-heading: 'latoblack', 'Lato', sans-serif;

    /* Spacing */

    /* Transition */
    --transition-base: 0.3s ease;
}

/* Reset */
*,
*::before,
*::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    scroll-behavior: smooth;
    font-size: 16px;
}

body {
    font-family: var(--font-primary);
    line-height: 1.6;
    color: var(--color-black);
    background-color: var(--color-white);
}

/* Override vendor !important Inter font on body — must beat site-components.css */
html body {
    font-family: 'latoregular', 'Lato', sans-serif !important;
}

/* Headings — latoregular per live ezeletric.com */
h1,
h2,
h3,
h4 {
    font-family: var(--font-heading);
}

ul {
    list-style: none;
}

/* Green dot bullets — applied via class on specific lists */
.custm-ul {
    list-style: none !important;
    padding-left: 0 !important;
}

.custm-ul li {
    position: relative !important;
    padding-left: 20px !important;
    margin-bottom: 10px !important;
    font-size: 16px !important;
    line-height: 23px !important;
}

.custm-ul li::before {
    content: '' !important;
    position: absolute !important;
    left: 0 !important;
    top: 7px !important;
    width: 8px !important;
    height: 8px !important;
    background-color: #148023 !important;
    border-radius: 50% !important;
}

a {
    text-decoration: none;
    color: inherit;
    transition: var(--transition-base);
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}

/* Footer copyright trust badge: must be inline-block so the parent's
   `text-md-end` (text-align: right) can right-align it. */

button,
.btn {
    cursor: pointer;
    border: none;
    outline: none;
    font-family: var(--font-heading);
    transition: var(--transition-base);
}

/* Utility Classes */
.container {
    width: 100%;
    max-width: 1140px;
    margin: 0 auto;
    padding: 0 15px;
}

@media (min-width: 768px) {
    .container {
        padding: 0 15px;
    }
}

.text-center {
    text-align: center;
}

.text-center img,
.contant_wroper .text-center img {
    margin-left: auto;
    margin-right: auto;
}

.flex {
    display: flex;
}

/* Buttons */
.btn-primary {
    background-color: var(--color-primary);
    color: var(--color-white);
    padding: 0.8rem 2rem;
    border-radius: 5px;
    font-weight: 600;
    font-size: 1rem;
    display: inline-block;
}

.btn-primary:hover {
    background-color: var(--color-primary-dark);
}

/* Performance: defer footer style/layout work until it scrolls into view. */
footer.new-footer {
    content-visibility: auto;
    contain-intrinsic-size: 0 1500px;
}

/* Text utilities */

/* Green line separator between Recent Posts and Categories */
.blog-page .display-tags.tags-title,
.blog-details .display-tags.tags-title {
    border: 2px solid #3AB54B;
    padding: 0 16px;
    border-radius: 6px;
    margin-top: 45px;
    margin-bottom: 45px;
}

/* Blog Detail Page — Recent Posts sidebar styles
   Added here because PurgeCSS strips them from blog.css when the
   classes aren't found in the HTML (they're in the minified HTML
   but PurgeCSS sometimes misses them). Placing in global.css ensures
   they're always in the purge input. */
.recent-posts.display-tags {
    border: 2px solid #e7e1e1;
    padding: 0 15px 15px;
    border-radius: 7px;
    background: #e7e1e1;
    margin-bottom: 30px;
}

.recent-posts.display-tags .aside_sections {
    padding-bottom: 15px;
    margin-bottom: 0;
    color: #202e31;
    padding-top: 15px;
    font-size: 30px;
    font-weight: 600;
    font-family: 'latoregular', 'Lato', sans-serif;
}

.recent-posts.display-tags ul.list_val {
    list-style: none;
    padding: 0;
    margin: 0;
}

.recent-posts.display-tags ul.list_val li.rec_list {
    background: #3AB54B;
    margin: 3px 0;
    padding: 8px 11px;
    border-radius: 7px;
    list-style: none;
}

.recent-posts.display-tags ul.list_val li.rec_list.white-bg {
    background: #fff;
}

.recent-posts.display-tags ul.list_val li.rec_list.white-bg .recent-link .recent-title {
    color: #3AB54B;
}

.recent-posts.display-tags .recent-link {
    display: block;
    text-decoration: none;
}

.recent-posts.display-tags .recent-title {
    color: #fff;
    font-size: 14px;
    line-height: 20px;
    margin: 0;
    padding: 0;
    font-family: 'latoregular', 'Lato', sans-serif;
}

/* Blog Details Sidebar (single post) — exact match to live site */
.blog-details .recent-posts {
    border: 2px solid #e7e1e1;
    padding: 0 15px;
    border-radius: 7px;
    background: #e7e1e1;
}

.blog-details .recent-posts.display-tags {
    padding: 0 15px;
    margin-top: 45px;
    margin-bottom: 45px;
}

.blog-details .recent-posts.display-tags ul {
    padding: 0;
}

.blog-details .recent-posts.display-tags ul.list_val {
    list-style: none;
    padding: 0;
    margin: 0;
    height: 330px;
    overflow: auto;
}

.blog-details .recent-posts.display-tags ul.list_val li.rec_list {
    padding: 0;
    background: transparent;
    margin: 3px 0;
    list-style: none;
}

.blog-details .recent-posts.display-tags ul.list_val li.rec_list.white-bg {
    background: transparent;
}

.blog-details .rec_list a {
    background: #3AB54B;
    margin: 3px 0;
    padding: 11px;
    color: #fff;
    display: block;
    float: left;
    border-radius: 7px;
    text-decoration: none;
}

.blog-details .rec_list .recent-link .recent-title {
    margin-bottom: 0;
    font-size: 14px;
    line-height: 20px;
    color: #fff;
}

.blog-details .white-bg .recent-link {
    background: #fff;
    padding: 8px 13px;
    border-radius: 11px;
    margin-right: 5px;
}

.blog-details .white-bg .recent-link .recent-title {
    margin-bottom: 0;
    font-size: 14px;
    line-height: 20px;
    color: #3AB54B !important;
}

.blog-details .display-tags.category-title {
    padding: 3px 15px 15px;
    border-radius: 7px;
    background: #e6e0e0;
    border: 2px solid #e7e1e1;
    position: initial;
    margin-top: 45px;
    margin-bottom: 45px;
}

.blog-details .display-tags.category-title .aside_sections {
    padding-bottom: 15px;
    margin-bottom: 0;
    color: #202e31;
    padding-top: 15px;
    font-size: 30px;
    font-weight: 600;
    font-family: 'latoregular', 'Lato', sans-serif;
}

.blog-details .display-tags.category-title ul {
    padding: 3px;
    background: #fff;
    border-radius: 5px;
    list-style: none;
    margin: 0;
}

.blog-details .display-tags.category-title .list_val {
    list-style: none;
    padding-left: 0;
    height: 350px;
    overflow: auto;
}

.blog-details .display-tags.category-title li.cat_list {
    margin: 5px 5px;
    list-style: none;
}

.blog-details .cat_list a {
    background: #3AB54B;
    color: #fff;
    margin: 3px 0;
    padding: 5px 14px;
    font-size: 13px;
    border-radius: 16px;
    display: inline-block;
    line-height: initial;
    text-decoration: none;
}

.blog-details .cat_list a:hover {
    background: #eee;
    color: #000;
    text-decoration: none;
    outline: none;
}

.blog-details .tag_list a,
.display-tags .tag_list a {
    font-size: 16px;
    line-height: 28.8px;
    color: #3ab54b;
    font-family: 'latoregular', 'Lato', sans-serif;
}

/* Blog Detail Page — Article content styles */
.position-center-center {
    text-align: left;
}

.position-center-center h1 {
    color: #3AB54B;
    font-size: 36px;
    font-weight: 600 !important;
    font-family: 'latoregular', 'Lato', sans-serif;
    padding: 0;
    margin: 0;
    line-height: 1.3;
}

/* Cache-bust: force new hash */

.single_banner_new {
    margin-bottom: 30px;
}

.single_banner_new img {
    width: 100%;
    max-width: 100%;
    height: auto;
    display: block;
    padding-top: 25px;
}

.contant_wroper {
    margin-top: 30px;
}

.blog_sandiego_title {
    color: #3AB54B;
    font-size: 36px;
    font-weight: 600;
    font-family: 'latoregular', 'Lato', sans-serif;
    line-height: 41px;
    padding: 20px 0;
    margin: 0;
}

.small_heading_title,
.contant_wroper .small_heading_title,
.blog-details .wpb_wrapper .small_heading_title,
.blog-details .wpb_wrapper h3.small_heading_title,
.contant_wroper h3.small_heading_title {
    font-size: 24px;
    font-weight: 600;
    color: #000000;
    padding-top: 15px;
    padding-bottom: 5px;
    font-family: 'latoregular', 'Lato', sans-serif;
    line-height: 36px;
    margin: 15px 0 10px;
    border-bottom: none;
    display: block;
}

.blog-details .wpb_wrapper p,
.contant_wroper p {
    font-size: 16px;
    line-height: 26px;
    color: #333333;
    padding: 5px 0;
    margin: 0 0 15px;
    font-family: 'latoregular', 'Lato', sans-serif;
}

.contant_wroper strong,
.blog-details .wpb_wrapper strong {
    font-size: 16px;
    line-height: 26px;
    color: #333333;
}

.blog-details .wpb_wrapper a,
.contant_wroper a {
    color: #0000ff;
    font-size: 16px;
    line-height: 26px;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.4s ease;
}

.blog-details .wpb_wrapper a:hover,
.contant_wroper a:hover {
    color: #000;
}

/* Author section - exact match to live site */
.post-author {
    background: #f7f7f7;
    padding: 20px 20px 10px;
    border-left: 4px solid #3ab54b;
    margin: 25px 0px;
}

.post-author .firstdiv-1,
.post-author .firstdiv-2 {
    font-size: 24px;
    color: #3ab54b;
    font-weight: 600;
    padding-bottom: 10px;
    display: inline-block;
    font-family: 'latoregular', 'Lato', sans-serif;
}

.post-author .firstdiv-2 a {
    color: #3ab54b;
    text-decoration: none;
}

.post-author .firstdiv-2 a:hover {
    color: #3ab54b;
    text-decoration: underline;
}

.post-author p {
    font-size: 16px;
    color: #333333;
    line-height: 26px;
    font-weight: 400;
    font-family: 'Montserrat', sans-serif;
    margin-bottom: 22px;
}


/* Related posts - exact match to live site */

.blog-details .aside_sections {
    text-align: left;
    margin-bottom: 0;
    font-size: 30px;
    font-weight: 600;
    color: #202e31;
    font-family: 'latoregular', 'Lato', sans-serif;
}

/* Related post cards - exact match to live */
.blog-details .recent-post-block {
    padding: 10px 10px 20px;
    box-shadow: 1px 2px 11px 5px #ccc;
    -webkit-transition: all 0.8s ease;
    transition: all 0.8s ease;
    margin-top: 40px;
    margin-bottom: 45px;
    border-radius: 5px;
    border: 1px solid #ccc;
    display: inline-block;
    width: 100%;
    background: #fff;
}

.blog-details .recent-post-block:hover {
    border: 1px solid #3AB54B;
    box-shadow: 0 10px 50px 0 rgba(84, 110, 122, 0.35);
    -webkit-transform: translateY(-5px);
    transform: translateY(-5px);
    -webkit-transition: all 0.8s ease;
    transition: all 0.8s ease;
}

.blog-details .recent-img {
    display: block;
    text-align: center;
}

.blog-details .recent-img img {
    display: block;
    margin: 0 auto;
    background: #fff;
    max-width: 100%;
    height: 150px;
    padding: 2px;
    position: relative;
    top: -41px;
    border-radius: 7px;
    box-shadow: 0px -1px 9px 2px #ccc;
    object-fit: cover;
}

/* Responsive for blog detail */
@media (max-width: 991px) {
    .position-center-center h1 {
        font-size: 28px;
        line-height: 34px;
    }

    .blog_sandiego_title {
        font-size: 28px;
        line-height: 34px;
    }
}

@media (max-width: 767px) {
    .position-center-center h1 {
        font-size: 24px;
        line-height: 30px;
    }

    .blog_sandiego_title {
        font-size: 26px;
        line-height: 30px;
    }

    .single_banner_new {
        margin-bottom: 20px;
    }

    .post-author {
        padding: 15px;
    }
}

@media (max-width: 480px) {
    .position-center-center h1 {
        font-size: 20px;
        line-height: 26px;
    }

    .blog_sandiego_title {
        font-size: 22px;
        line-height: 26px;
    }

    .recent-posts.display-tags .aside_sections {
        font-size: 24px;
    }
}

/* ===== HEADER — Exact match to ezeletric.com ===== */
#masthead {
    background: #FFF;
    padding: 0;
    width: 100%;
    display: block;
    z-index: 999;
    position: fixed;
    top: 0;
    left: 0;
    transition: box-shadow 0.3s ease;
}

#masthead.scrolled {
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
}

#masthead>.container {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 1140px !important;
    margin: 0 auto !important;
    padding: 0 15px !important;
}

.main_menu_header .container {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 1110px !important;
    margin: 0 auto !important;
    padding: 0 !important;
}

/* Logo */
.logo {
    float: left;
    padding: 10px 0;
}

.logo a {
    display: block;
    text-decoration: none;
}

.logo img {
    max-width: 75px !important;
    width: 75px !important;
    height: 75px !important;
    display: block;
}

.emergency-text {
    display: none;
}

/* Center time */
.head_titme {
    text-align: center;
    padding: 14px 0px 0 172px !important;
    display: inline-block;
}

.system_time,
.system_time strong {
    font-size: 21px !important;
    font-weight: 400 !important;
    color: #808080 !important;
    text-transform: uppercase !important;
    font-family: 'latoregular', 'Lato', sans-serif !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.35 !important;
}

.system_time .day,
.system_time .weekday,
.system_time em {
    color: #3ab54b !important;
    font-family: 'latoblack', sans-serif !important;
    font-weight: 700 !important;
    font-style: normal !important;
}

.toll_f_num,
.toll_f_num span {
    font-size: 21px !important;
    font-weight: 400 !important;
    text-transform: uppercase !important;
    font-family: 'latoregular', 'Lato', sans-serif !important;
    color: #808080 !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.8 !important;
}

.toll_f_num .toll_free,
.toll_f_num a {
    color: #3ab54b !important;
    text-decoration: none !important;
    font-weight: 700 !important;
    font-family: 'latoregular', 'Lato', sans-serif !important;
    line-height: 1.8 !important;
}

.toll_f_num .toll_free img {
    display: inline-block !important;
    vertical-align: middle !important;
    width: 25px !important;
    height: 25px !important;
    margin-right: 4px !important;
}

/* Right side service info */
.header-service {
    float: right;
    display: flex;
    padding: 18px 0 18px 0;
    align-items: center;
}

.sevi-logo {
    padding: 2px 0 0;
}

.header-service .sevi-logo img {
    width: 66px;
    height: 61px;
    display: block;
}

.header-service .emergency-serrvice {
    padding-left: 15px;
}

.header-service .emergency-serrvice .header-address-link {
    text-decoration: none;
    display: block;
    color: inherit;
}

.header-service .emergency-serrvice .header-address-line {
    font-size: 16px;
    color: #3ab54b;
    margin-bottom: 0;
    line-height: 22px;
    font-weight: 700;
    font-family: 'latoregular', 'Lato', sans-serif;
    white-space: nowrap;
    transition: color 0.2s ease;
    text-align: left;
}

.header-service .emergency-serrvice .header-address-link:hover .header-address-line {
    color: #2e933d;
}

.header-service .emergency-serrvice .header-phone-line {
    margin-top: 2px;
    margin-bottom: 0;
    line-height: 22px;
    text-align: left;
}

.header-service .emergency-serrvice .header-phone-link,
.header-service .emergency-serrvice p a.header-phone-link {
    display: inline-block !important;
    float: none !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #3ab54b !important;
    text-decoration: none !important;
    line-height: 22px !important;
    font-family: 'latoregular', 'Lato', sans-serif !important;
    transition: var(--transition-base);
    white-space: nowrap !important;
    text-align: left !important;
}

.header-service .emergency-serrvice .header-phone-link:hover,
.header-service .emergency-serrvice p a.header-phone-link:hover {
    color: #2e933d !important;
}

.header-service .emergency-serrvice .header-call-icon {
    display: none;
}

/* Mobile number variant (hidden on desktop) */
.header-service.mobiel_num {
    display: none !important;
}

/* Responsive toll number */
.toll_responsive {
    display: none;
    text-align: center;
    font-size: 16px;
    padding: 8px 0;
    border-top: 1px solid #e9ecef;
}

/* Clearfix for floated header elements */
#masthead>.container::after {
    content: "";
    display: table;
    clear: both;
}

/* Nav bar is now a sibling of the top container, not a child */
.main_menu_header {
    clear: both;
}

/* ===== NAVIGATION BAR ===== */
.main_menu_header {
    background: #fff;
    padding: 0;
}

.main_menu_header .container {
    background: #3ab54b;
}

.main_menu_header .container {
    width: 100% !important;
    max-width: 1110px !important;
    margin: 0 auto !important;
    padding: 0 !important;
}

/* Mobile: collapse the green nav bar — the hamburger toggle is absolutely
   positioned over the header (top-right), so the bar itself takes no space.
   This matches ezeletric.com where .main_menu_header has height 0 on mobile. */
@media (max-width: 991px) {
    .site-navigation {
        min-height: 0;
        position: static;
    }
}

@media (min-width: 992px) {
    .site-navigation {
        position: relative;
    }
}

.site-menu {
    display: flex;
    margin: 0;
    padding: 0;
    list-style: none;
    justify-content: space-between;
    align-items: flex-start;
}

/* Desktop: stretch every menu cell to the bar's full height so the green
   gradient container never shows through as a strip below shorter items
   (e.g. when one label wraps to two lines). The <li> becomes a flex column
   so its <a>/<span> stretches to fill it (default align-items: stretch) and
   the item background is flush with the bar bottom. Matches ezeletric.com.
   Scoped to >= 992px — the mobile accordion (<=991px) sets its own
   height/padding and is unaffected. */
@media (min-width: 992px) {
    .site-menu {
        align-items: stretch;
    }

    .site-menu>li {
        display: flex;
    }

    .site-menu>li>a,
    .site-menu>li>span {
        flex: 1 1 auto;
        min-height: 50px;
    }
}

.site-menu>li {
    position: relative;
    flex: 1;
    text-align: center;
    border-left: 2px solid rgba(0, 0, 0, 0.16);
}

.site-menu>li:first-child {
    border-left: none;
}

.site-menu>li>a,
.site-menu>li>span {
    display: flex;
    text-decoration: none;
    height: auto;
    align-items: center;
    min-height: 50px;
    position: relative;
    justify-content: center;
    font-size: 13px;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    color: #fff;
    cursor: pointer;
    transition: all 0.2s ease;
    padding: 9px;
    width: 100%;
    font-family: 'latoregular', 'Lato', sans-serif;
    white-space: normal;
    text-align: center;
    line-height: 1.3;
}

.site-menu>li>a:hover,
.site-menu>li>span:hover,
.site-menu>li:hover>a,
.site-menu>li:hover>span {
    background: transparent !important;
    color: #000 !important;
}

.site-menu>li.active>a,
.site-menu>li.active>span {
    background: #000 !important;
    color: #fff !important;
}

.site-menu>li:active>a,
.site-menu>li:focus>a,
.site-menu>li:active>span,
.site-menu>li:focus>span {
    background: #000 !important;
}

/* Desktop dropdown arrows — CSS-only chevron, pinned to the right edge of each
   menu cell to match the live (UberMenu) layout. Scoped to >= 992px so the
   mobile accordion ::after rule (in the max-width:991px block below) is fully
   independent and unaffected. Absolutely positioned so the chevron sits at a
   constant right offset regardless of label length; padding-right on
   .has-children targets reserves space so centered text never collides. */
@media (min-width: 992px) {

    
    .site-menu .has-children>a::after,
    .site-menu .has-children>span::after {
        content: '';
        position: absolute;
        right: 10px;
        top: 50%;
        width: 5px;
        height: 5px;
        border-right: 2px solid currentColor;
        border-bottom: 2px solid currentColor;
        transform: translateY(-50%) rotate(45deg);
        margin-top: -1px;
    }

    /* Reserve space on the right of dropdown parents so the centered label
       clears the pinned chevron — mirrors live's padding-right on has-children. */
    .site-menu>li.has-children>a,
    .site-menu>li.has-children>span {
        padding-right: 22px;
    }
}

/* Dropdown menus — fixed width overlay matching parent button cell width, never affects nav layout.
   Must use !important to override vendor CSS: .dropdown { position: relative !important; } */
.site-menu>li>.dropdown,
.site-menu .dropdown {
    display: none !important;
    position: absolute !important;
    top: 100%;
    left: 0;
    width: 100% !important;
    min-width: 100% !important;
    background: #3ab54b;
    margin: 0;
    padding: 0;
    list-style: none !important;
    z-index: 1000;
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.2);
    border: 1px solid #2f903e;
    border-top: none;
    box-sizing: border-box;
    visibility: hidden;
    opacity: 0;
    transform: translateY(10px);
    transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s ease;
    pointer-events: none;
}

@media (min-width: 992px) {
    .mobile-toggle {
        display: none !important;
    }

    .toll_responsive {
        display: none !important;
    }

    .site-menu .has-children:hover>.dropdown {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        transform: translateY(0) !important;
        pointer-events: auto !important;
    }

    /* Keep parent li link/span background transparent on hover with black text */
    .site-menu>li.has-children:hover>a,
    .site-menu>li.has-children:hover>span {
        background: transparent !important;
        color: #000 !important;
    }
}

.site-menu .dropdown li {
    border-bottom: none;
}

.site-menu .dropdown li:last-child {
    border-bottom: none;
}

.site-menu .dropdown li a {
    display: block !important;
    padding: 12px 10px !important;
    font-size: 14px !important;
    color: #fff !important;
    text-decoration: none !important;
    width: 100% !important;
    box-sizing: border-box !important;
    text-align: center !important;
    font-weight: normal !important;
    transition: color 0.2s ease !important;
    white-space: normal !important;
    line-height: 1.3 !important;
}

.site-menu .dropdown li a:hover {
    background: transparent !important;
    color: #000 !important;
}

/* Mobile toggle */
.mobile-toggle {
    display: none;
    color: #fff;
    font-size: 20px;
    padding: 10px 15px;
    cursor: pointer;
}

/* ===== RESPONSIVE HEADER — exact match to ezeletric.com live ===== */

/* 1024px breakpoint — tablet landscape */
@media (max-width: 1024px) {
    .head_titme {
        padding: 20px 0 0 80px;
    }

    .system_time,
    .system_time strong,
    .system_time .day,
    .system_time .weekday,
    .system_time em,
    .system_time span {
        font-size: 16px;
    }

    .head_titme .toll_f_num,
    .head_titme .toll_f_num span,
    .head_titme .toll_f_num a {
        font-size: 16px;
    }
}

/* 991px breakpoint — tablet portrait / mobile menu activation */
@media (max-width: 991px) {
    #masthead {
        box-shadow: -1px 3px 4px -1px rgba(0, 0, 0, 0.08);
    }

    #masthead>.container {
        max-width: 100%;
    }

    .logo {
        padding: 10px 0 5px;
    }

    .logo img {
        max-width: 65px;
        width: 65px;
        height: 65px;
    }

    .head_titme {
        display: none !important;
        padding: 0 !important;
        margin: 0 !important;
        height: 0 !important;
    }

    .system_time {
        display: none;
    }

    .head_titme .toll_f_num {
        display: none;
    }

    .toll_f_num.toll_responsive {
        display: block;
        width: 100%;
        background: #3bb44d;
        text-align: center;
        color: #fff;
        padding: 5px;
        margin: 0;
        font-size: 16px;
        border-top: none;
    }

    .toll_f_num.toll_responsive a {
        color: #fff;
    }

    .header-service {
        padding: 17px 60px 0 0;
        float: right;
        justify-content: flex-end;
    }

    /* Mobile nav */
    .mobile-toggle {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 41px !important;
        height: 35px !important;
        box-sizing: border-box !important;
        padding: 0 !important;
        position: absolute;
        right: 15px;
        top: 8px !important;
        font-weight: normal;
        color: #fff !important;
        background-color: #3ab54b;
        border-color: #3ab54b;
        transition: all 0.3s;
        z-index: 1001;
        line-height: 0;
        cursor: pointer;
        border-radius: 4px;
        border: 1px solid #3ab54b;
    }

    .mobile-toggle:hover,
    .mobile-toggle:active {
        background-color: #2f903e;
        border-color: #2f903e;
        color: #fff !important;
    }

    .mobile-toggle svg {
        display: block;
        pointer-events: none;
    }

    .mobile-toggle .icon-bars,
    .mobile-toggle.open .icon-bars {
        display: inline-block;
    }

    .mobile-toggle .icon-close,
    .mobile-toggle.open .icon-close {
        display: none !important;
    }

    .site-menu {
        display: none !important;
        flex-direction: column !important;
        position: absolute !important;
        top: 51px !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        background-color: #3ab54b !important;
        padding: 0 !important;
        margin: 0 !important;
        list-style: none !important;
        z-index: 1000 !important;
        box-sizing: border-box !important;
        max-height: calc(100vh - 51px) !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch !important;
        border: none !important;
        box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15) !important;
    }

    .site-menu.open {
        display: flex !important;
    }

    .site-menu > li {
        width: 100% !important;
        flex: none !important;
        height: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        list-style: none !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.4) !important;
        border-left: none !important;
        border-right: none !important;
        border-top: none !important;
        box-sizing: border-box !important;
        background: transparent !important;
        text-align: left !important;
    }

    .site-menu > li:last-child {
        border-bottom: none !important;
    }

    /* Active page item — solid black background, white text when not open */
    .site-menu > li.active:not(.open) {
        background-color: #000000 !important;
    }

    .site-menu > li.active:not(.open) > a,
    .site-menu > li.active:not(.open) > span {
        background-color: #000000 !important;
        color: #ffffff !important;
    }

    /* Top-level menu links */
    .site-menu > li > a,
    .site-menu > li > span {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        width: 100% !important;
        height: 50px !important;
        min-height: 50px !important;
        padding: 0 15px !important;
        color: #ffffff !important;
        font-size: 13px !important;
        font-weight: 700 !important;
        font-family: 'latoregular', 'Lato', sans-serif !important;
        text-transform: uppercase !important;
        text-decoration: none !important;
        letter-spacing: 0.5px !important;
        box-sizing: border-box !important;
        transition: background-color 0.2s ease !important;
        cursor: pointer !important;
    }

    .site-menu > li:not(.active) > a:hover,
    .site-menu > li:not(.active) > a:active {
        background-color: rgba(0, 0, 0, 0.08) !important;
        color: #ffffff !important;
    }

    /* Accordion down-indicator (chevron-down) */
    .site-menu > li.has-children > a::after,
    .site-menu > li.has-children > span::after {
        content: '' !important;
        display: inline-block !important;
        width: 8px !important;
        height: 8px !important;
        margin-left: auto !important;
        margin-right: 5px !important;
        border-right: 2px solid #ffffff !important;
        border-bottom: 2px solid #ffffff !important;
        border-top: none !important;
        border-left: none !important;
        transform: rotate(45deg) !important;
        transition: transform 0.2s ease !important;
        background: none !important;
        flex-shrink: 0 !important;
    }

    /* Accordion open indicator — crisp black × close icon matching live */
    .site-menu > li.has-children.open > a::after,
    .site-menu > li.has-children.open > span::after {
        content: '' !important;
        display: inline-block !important;
        width: 12px !important;
        height: 12px !important;
        margin-left: auto !important;
        margin-right: 3px !important;
        border: none !important;
        transform: none !important;
        background-color: transparent !important;
        background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M2 2l8 8M10 2L2 10' stroke='%23000' stroke-width='2' stroke-linecap='round' fill='none'/%3E%3C/svg%3E") !important;
        background-size: contain !important;
        background-repeat: no-repeat !important;
        background-position: center !important;
        flex-shrink: 0 !important;
    }

    /* Parent item text turns black when open, background stays transparent/green */
    .site-menu > li.has-children.open {
        background-color: transparent !important;
        height: auto !important;
        flex: none !important;
    }

    .site-menu > li.has-children.open > a,
    .site-menu > li.has-children.open > span {
        background-color: transparent !important;
        color: #000000 !important;
    }

    /* Submenu dropdown closed */
    .site-menu > li > .dropdown,
    .site-menu .dropdown {
        display: none !important;
        position: static !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        list-style: none !important;
        background-color: #3ab54b !important;
        box-shadow: none !important;
        border: none !important;
        box-sizing: border-box !important;
    }

    /* Submenu dropdown open (accordion) */
    .site-menu .has-children.open > .dropdown,
    .site-menu > li.has-children.open > .dropdown {
        display: block !important;
        position: static !important;
        visibility: visible !important;
        opacity: 1 !important;
        pointer-events: auto !important;
        transform: none !important;
        height: auto !important;
        max-height: none !important;
    }

    /* Submenu items — centered text with crisp white divider lines matching live site */
    .site-menu .dropdown li {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        list-style: none !important;
        border-top: 1px solid rgba(255, 255, 255, 0.4) !important;
        border-bottom: none !important;
        border-left: none !important;
        border-right: none !important;
        box-sizing: border-box !important;
        background: transparent !important;
        pointer-events: auto !important;
    }

    .site-menu .dropdown li a {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        padding: 10px 15px !important;
        color: #ffffff !important;
        font-size: 14px !important;
        font-weight: 400 !important;
        font-family: 'latoregular', 'Lato', sans-serif !important;
        text-align: center !important;
        text-decoration: none !important;
        text-transform: none !important;
        box-sizing: border-box !important;
        background: transparent !important;
        transition: background-color 0.15s ease !important;
        pointer-events: auto !important;
        cursor: pointer !important;
    }

    .site-menu .dropdown li a:hover,
    .site-menu .dropdown li a:active {
        background-color: rgba(0, 0, 0, 0.08) !important;
        color: #ffffff !important;
    }
}

/* 767px breakpoint — small tablet */
@media (max-width: 767px) {
    .logo {
        padding: 5px 0;
    }

    .logo img {
        max-width: 64px;
        width: 64px;
        height: 64px;
    }

    .mobile-toggle {
        right: 15px;
        top: 8px !important;
    }

    /* Live fa-bars icon is 17px at ≤767px — scale the SVG to match */
    .mobile-toggle svg {
        width: 17px;
        height: 14px;
    }

    .header-service {
        padding: 7px 0 0 0;
        justify-content: center;
        float: none;
    }

    .header-service .emergency-serrvice {
        padding-left: 8px;
    }

    .header-service .emergency-serrvice p a {
        font-size: 26px;
        line-height: 30px;
    }
}

/* 575px breakpoint — large phones — matches ezeletric.com live mobile header */
@media (max-width: 575px) {
    #masthead {
        min-height: 70px;
        height: auto;
    }

    /* Live Bootstrap container keeps 15px side gutters on mobile */
    #masthead>.container {
        padding: 0 15px;
    }

    .logo {
        padding: 8px 0 !important;
    }

    .logo img {
        max-width: 35px;
        width: 35px;
        height: 35px;
    }

    .header-service {
        padding: 7px 0 5px;
        display: inline-block;
        float: none;
        text-align: center;
        margin: 0 auto;
    }

    .header-service .emergency-serrvice {
        padding-right: 0;
        flex: none;
        display: inline-block;
        vertical-align: middle;
    }

    .header-service .emergency-serrvice p a {
        font-size: 14px;
        font-weight: 800;
    }

    .header-service .emergency-serrvice p span {
        font-size: 14px;
    }

    .sevi-logo {
        display: inline-block;
        /* Live vertically centers the 24/7 badge against the 3-line phone
           block (badge center ≈ numbers center). Middle-align both sides. */
        vertical-align: middle;
    }

    .header-service.webpage {
        display: none !important;
    }

    /* Vendor site-pages.css hides .header-service at ≤767px (visibility:hidden) as a
       CLS fix for service pages. The homepage mobile header needs the compact
       .mobiel_num phone block visible, so re-show it here. */
    .header-service.mobiel_num {
        visibility: visible !important;
        pointer-events: auto !important;
        position: absolute !important;
        right: 68px !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        flex-wrap: nowrap !important;
        float: none !important;
        padding: 0 !important;
        margin: 0 !important;
        width: auto !important;
        max-width: calc(100% - 130px) !important;
        line-height: normal !important;
        z-index: 99;
    }

    .header-service.mobiel_num .sevi-logo {
        display: inline-block !important;
        vertical-align: middle !important;
        padding: 0 !important;
        flex-shrink: 0 !important;
    }

    .header-service.mobiel_num .sevi-logo img {
        width: 44px !important;
        height: 41px !important;
        display: block !important;
    }

    .header-service.mobiel_num .emergency-serrvice {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        vertical-align: middle !important;
        padding-left: 8px !important;
        text-align: left !important;
        flex-shrink: 0 !important;
    }

    .header-service.mobiel_num .emergency-serrvice .header-address-link {
        text-decoration: none !important;
        display: block !important;
        color: inherit !important;
        text-align: left !important;
    }

    .header-service.mobiel_num .emergency-serrvice .header-address-line {
        margin: 0 !important;
        line-height: 14px !important;
        font-size: 12.5px !important;
        color: #3ab54b !important;
        font-weight: 700 !important;
        white-space: nowrap !important;
        font-family: 'latoregular', 'Lato', sans-serif !important;
        text-align: left !important;
    }

    .header-service.mobiel_num .emergency-serrvice .header-phone-line {
        margin: 0 !important;
        padding: 0 !important;
        line-height: 14px !important;
        text-align: left !important;
    }

    .header-service.mobiel_num .emergency-serrvice .header-phone-link,
    .header-service.mobiel_num .emergency-serrvice p a,
    .header-service.mobiel_num .emergency-serrvice p a.header-phone-link {
        display: inline-block !important;
        float: none !important;
        font-size: 13px !important;
        font-weight: 700 !important;
        color: #3ab54b !important;
        text-decoration: none !important;
        line-height: 14px !important;
        padding: 0 !important;
        margin: 0 !important;
        white-space: nowrap !important;
        font-family: 'latoregular', 'Lato', sans-serif !important;
        text-align: left !important;
    }

    .header-service.mobiel_num .emergency-serrvice .header-phone-link span,
    .header-service.mobiel_num .emergency-serrvice p a span,
    .header-service.mobiel_num .emergency-serrvice p span {
        display: inline !important;
        font-size: inherit !important;
        font-weight: inherit !important;
        color: inherit !important;
        line-height: inherit !important;
        float: none !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    .header-service.mobiel_num .emergency-serrvice p {
        margin: 0 !important;
        padding: 0 !important;
        line-height: 14px !important;
    }

    .header-service.mobiel_num .emergency-serrvice .header-call-icon {
        display: none !important;
    }

    .system_time {
        padding: 7px 50px 0 74px;
        margin: 0 auto;
        text-align: center;
        width: 100%;
    }

    .toll_f_num.toll_responsive span {
        font-size: 16px;
    }

    .toll_f_num.toll_responsive a.toll_free {
        font-size: 16px;
    }

    .toll-second {
        display: block;
        margin: 4px 0 5px 170px;
    }
}

/* 480px breakpoint — small phones */
@media (max-width: 480px) {
    .logo {
        padding: 8px 0 !important;
    }

    .logo img {
        max-width: 35px;
        width: 35px;
        height: 35px;
    }

    .mobile-toggle {
        top: 8px !important;
    }

    .system_time {
        padding: 0;
        margin: 0 auto;
    }
}

/* 400px breakpoint — extra small phones */
@media (max-width: 400px) {

    /* Live style.css has top:16px here, but the later-loading ≤480px inline
       rule (35px) wins on live — same result here via the !important above. */
    .mobile-toggle {
        top: 8px !important;
    }

    .header-service.mobiel_num {
        right: 64px !important;
    }

    .header-service.mobiel_num .emergency-serrvice {
        padding-left: 6px !important;
    }
}

/* 360px breakpoint — small Androids & compact phones */
@media (max-width: 360px) {
    .header-service.mobiel_num {
        right: 60px !important;
        max-width: calc(100% - 110px) !important;
    }
    .header-service.mobiel_num .sevi-logo img {
        width: 34px !important;
        height: auto !important;
    }
    .header-service.mobiel_num .emergency-serrvice {
        padding-left: 5px !important;
    }
    .header-service.mobiel_num .emergency-serrvice .header-address-line,
    .header-service.mobiel_num .emergency-serrvice .header-phone-link,
    .header-service.mobiel_num .emergency-serrvice p a {
        font-size: 11px !important;
        line-height: 13px !important;
    }
}

/* 320px breakpoint — smallest phones (iPhone SE 1st gen, etc.) */
@media (max-width: 320px) {
    .mobile-toggle {
        top: 8px !important;
        right: 12px !important;
    }
    .header-service.mobiel_num {
        right: 60px !important;
        max-width: calc(100% - 110px) !important;
    }
    .header-service.mobiel_num .sevi-logo img {
        width: 30px !important;
        height: auto !important;
    }
    .header-service.mobiel_num .emergency-serrvice {
        padding-left: 4px !important;
    }
    .header-service.mobiel_num .emergency-serrvice .header-address-line,
    .header-service.mobiel_num .emergency-serrvice .header-phone-link,
    .header-service.mobiel_num .emergency-serrvice p a {
        font-size: 10px !important;
        line-height: 12px !important;
    }
}

/* ===== WELCOME SECTION ===== */

/* ===== SERVICES SECTION ===== */

/* ===== COUPON / BADGES SECTION — shared across pages ===== */
/* Matches live site: image-based badges with green dashed border and hover */
.home-coupon {
    margin-top: 3rem;
    margin-bottom: 1rem;
}

.coupon-section {
    display: flex;
    align-items: stretch;
    justify-content: center;
    flex-wrap: wrap;
    padding: 0 15px;
    max-width: 1140px;
    margin: 0 auto;
}

.coupon-section .coupon-box {
    border: 3px dashed #148023;
    border-radius: 15px;
    display: flex;
    align-items: center;
    text-align: center;
    color: #148023;
    padding: 15px 10px;
    width: 200px;
    flex: 0 0 auto;
    justify-content: center;
    flex-direction: column;
    margin: 0 10px;
    background: #fff;
    transition: all 0.3s ease;
}

/* All badge boxes share equal left/right margins so the row stays centered.
   (The old first-child reset is no longer needed — margin is symmetric.) */
.coupon-section .coupon-box:first-child {
    margin-left: 10px;
    margin-right: 10px;
}

.coupon-section .coupon-box:hover {
    background: #148023;
    color: #fff;
    border: 3px dashed #fbfbfb;
    cursor: pointer;
}

.coupon-section .coupon-box img {
    max-width: 100%;
    height: auto;
    display: block;
}

/* Coupon responsive — matches ezeletric.com live mobile badges */
@media (max-width: 767px) {

    /* Live wrapper margins: mt-5/mb-3 computed at live's 22px root font-size.
       .home-coupon.mt-5 specificity (0,2,0) beats Bootstrap's .mt-5/.mb-3
       !important utilities (0,1,0) regardless of purged output order. */

    .home-coupon.mb-3 {
        margin-bottom: 22px !important;
    }

    /* Live Bootstrap 4 .container is 540px at 576–767px, 100% below 576px.
       Local .coupon-section plays the container role (max-width + gutters). */
    .coupon-section {
        max-width: 540px;
    }

    .home-coupon .coupon-section {
        flex-flow: wrap;
        justify-content: center;
    }

    .coupon-section {
        flex-flow: wrap;
        justify-content: center;
    }

    .home-coupon .coupon-section .coupon-box {
        width: 48%;
        margin-bottom: 20px !important;
        flex: inherit;
    }

    .home-coupon .coupon-section .coupon-box:first-child {
        margin-left: 0;
    }

    .coupon-section .coupon-box {
        width: 48%;
        margin-left: 4%;
        margin-bottom: 20px !important;
        -webkit-box-flex: 1;
        flex: auto;
    }

    /* Live: odd boxes (1st/3rd/5th rows) start flush left — no 4% margin */
    .coupon-section .coupon-box:nth-child(2n+1) {
        margin-left: 0;
    }
}

/* ===== ABOUT SECTION — exact match to ezeletric.com live site ===== */

/* Constrain about-section container to match blog-section and live site width */

/* Green underline below the title */

/* Tab content structure — no visual tabs, just content container */

/* ===== BLOGS SECTION — exact match to ezeletric.com live site ===== */

/* Single blog detail page: ensure padding-top pushes content below fixed header */
.single-blog.content-area {
    padding-top: 0px !important;
}

@media (max-width: 991px) {
    .single-blog.content-area {
        padding-top: 0px !important;
    }
}

@media (max-width: 480px) {
    .single-blog.content-area {
        padding-top: 0px !important;
    }
}

@media (max-width: 400px) {
    .single-blog.content-area {
        padding-top: 0px !important;
    }
}

/* Blog detail page container override — prevents Bootstrap/vendor .container from stretching to 1920px */
/* Use body prefix for higher specificity to beat vendor .container,.container-xl { max-width:1920px } */
body .blog-details .container,
body .blog-post-content .container,
body .single-blog .container {
    width: 100%;
    max-width: 1140px;
    margin: 0 auto;
    padding: 0 15px;
}

/* Breadcrumb bar styles for blog pages */
.breadcrum-bar {
    background: #fff;
    padding: 10px 0;
    margin-bottom: 35px !important;
    font-family: 'latoregular', 'Lato', sans-serif;
    font-weight: bold;
    color: #3bb44d;
    display: inline-block;
    width: 100%;
    margin-top: 0;
}

.breadcrum-bar .container {
    width: 100%;
    max-width: 1140px;
    margin: 0 auto;
    padding: 0 15px;
}

.breadcrum-bar a {
    color: #000;
    font-size: 16px;
    font-weight: 700;
    text-decoration: none;
}

.breadcrum-bar a:hover {
    color: #000;
    text-decoration: none;
}

.breadcrum-bar .breadcrumb_last {
    font-size: 16px;
}

@media (max-width: 991px) {
    .breadcrum-bar {
        margin-top: 0;
    }
}

/* Blog responsive */

/* ===== TESTIMONIALS SECTION — exact match to ezeletric.com live site ===== */
.testimonial {
    padding: 40px 0;
    background: #3bb44d;
    margin-bottom: 0;
}

.testimonial .container {
    width: 100%;
    max-width: 1140px;
    margin: 0 auto;
    padding: 0 15px;
}

.testimonial .carousel {
    position: relative;
    padding-bottom: 10px;
}

.testimonial .section-title p,
.testimonial .section-title {
    color: #fff;
    font-size: 34px;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
    margin: 0 0 33px;
    padding: 0;
    font-family: 'latoregular', 'Lato', sans-serif;
}

.testimonial .carousel-inner {
    text-align: center;
    position: relative;
    width: 100%;
    overflow: hidden;
    min-height: 210px;
}

.testimonial .carousel-inner::after {
    display: block;
    clear: both;
    content: "";
}

/* Bootstrap-style carousel sliding */
.testimonial .carousel-item {
    position: absolute;
    top: 0;
    left: 0;
    display: none;
    width: 100%;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transition: -webkit-transform 0.6s ease-in-out;
    transition: -webkit-transform 0.6s ease-in-out;
    -o-transition: transform 0.6s ease-in-out;
    transition: transform 0.6s ease-in-out;
    transition: transform 0.6s ease-in-out, -webkit-transform 0.6s ease-in-out;
}

.testimonial .carousel-item.active,
.testimonial .carousel-item-next,
.testimonial .carousel-item-prev {
    display: block;
}

/* Outgoing item moving left, incoming next item positioned at right */
.testimonial .active.carousel-item-end,
.testimonial .carousel-item-next:not(.carousel-item-start) {
    -webkit-transform: translateX(100%);
    -ms-transform: translateX(100%);
    transform: translateX(100%);
}

/* Outgoing item moving right, incoming prev item positioned at left */
.testimonial .active.carousel-item-start,
.testimonial .carousel-item-prev:not(.carousel-item-end) {
    -webkit-transform: translateX(-100%);
    -ms-transform: translateX(-100%);
    transform: translateX(-100%);
}

.testimonial .testi-img {
    text-align: center;
}

#testimonial .testi-img {
    display: none;
}

.testimonial .testi-img img {
    width: 52px;
    border-radius: 50%;
    border: 5px solid #fff;
    margin-bottom: 35px;
    padding: 0;
}

.testimonial .testi-content {
    position: relative;
    color: #fff;
    font-size: 18px;
    padding: 20px 50px;
    margin: 0 auto;
}

.testimonial .testi-content::after {
    position: absolute;
    left: 0;
    top: 0;
    content: "";
    width: 40px;
    height: 40px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23ffffff'%3E%3Cpath d='M14.017 21v-7.391c0-5.704 3.731-9.57 8.983-10.609l.995 2.151c-2.432.917-3.995 3.638-3.995 5.849h4v10h-9.983zm-14.017 0v-7.391c0-5.704 3.748-9.57 9-10.609l.996 2.151c-2.433.917-3.996 3.638-3.996 5.849h3.983v10h-9.983z'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
}

.testimonial .testi-content::before {
    position: absolute;
    right: 0;
    bottom: -7px;
    content: "";
    width: 40px;
    height: 40px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23ffffff'%3E%3Cpath d='M9.983 3v7.391c0 5.704-3.748 9.57-9 10.609l-.996-2.151c2.433-.917 3.996-3.638 3.996-5.849h-3.983v-10h9.983zm14.017 0v7.391c0 5.704-3.731 9.57-8.983 10.609l-.995-2.151c2.432-.917 3.995-3.638 3.995-5.849h-4v-10h9.983z'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
}

.testimonial .testi-title {
    font-size: 28px;
    color: #fff;
    font-family: 'latoheavy', 'Lato', sans-serif;
    padding-top: 15px;
    display: block;
}

.testi-slider-arrow {
    position: absolute;
    width: 100%;
    z-index: 10;
    bottom: -20px;
    text-align: center;
}

.testi-slider-arrow .carousel-control-prev,
.testi-slider-arrow .carousel-control-next {
    font-size: 40px;
    color: #fff;
    opacity: 1;
    position: initial;
    width: initial;
    display: inline-block;
    margin: 0 20px;
    text-decoration: none;
}

.testi-slider-arrow .carousel-control-prev:hover,
.testi-slider-arrow .carousel-control-next:hover {
    color: #333f50;
}

.testi-slider-arrow .carousel-control-prev svg,
.testi-slider-arrow .carousel-control-next svg {
    width: 40px;
    height: 40px;
    display: block;
}

/* ===== INSURANCE / LOGO SECTION — exact match to ezeletric.com live site ===== */
.logo-section {
    background-color: #f2f2f2;
    padding: 50px 0;
}

.logo-section .heading-title,
.logo-section .section-title p,
.logo-section .section-title {
    font-size: 32px;
    font-weight: 700;
    color: #3ab54b;
    text-align: center;
    margin: 0 0 15px;
    padding: 0 0 25px;
    font-family: 'latoregular', 'Lato', sans-serif;
}

.logo-section .logo-content {
    margin: 0;
    padding: 0;
    display: flex;
    flex-flow: wrap;
    justify-content: center;
}

.logo-section .logo-content li {
    list-style: none;
    width: 20%;
    padding: 0 10px 20px;
}

.logo-section .logo-content li img {
    max-width: 100%;
    border-radius: 10px;
    height: auto;
    display: block;
}

.logo-section .logo-content li img:hover {
    box-shadow: 0px 2px 5px #d4d1d1;
}

/* ===== INSURANCE / LOGO SECTION — constrain width to match live site ===== */
.logo-section .container {
    width: 100%;
    max-width: 1140px;
    margin: 0 auto;
    padding: 0 15px;
}

/* Testimonial & Logo responsive — breakpoints match live site (991 / 767 / 575) */
@media (max-width: 991px) {

    .logo-section .logo-content li {
        width: 25%;
    }

    .logo-section {
        padding: 30px 0 20px;
    }
}

@media (max-width: 767px) {
    .testimonial {
        padding: 25px 0 30px;
    }

    .testimonial .carousel-inner {
        height: initial;
    }

    .testimonial .testi-content {
        padding: 0 40px;
    }

    .testi-slider-arrow {
        margin-top: 10px;
    }

    .testi-slider-arrow .carousel-control-prev,
    .testi-slider-arrow .carousel-control-next {
        margin: 0 10px;
    }

    .testimonial .testi-content::after,
    .testimonial .testi-content::before {
        width: 25px;
        height: 25px;
    }

    .logo-section .logo-content li {
        width: 33.33%;
    }

    .logo-section {
        padding: 30px 0 20px;
    }
}

@media (max-width: 575px) {
    .logo-section .logo-content li {
        width: 50%;
        padding: 0 8px 15px;
    }

    .logo-section {
        padding: 20px 0 20px;
    }
}

@media (max-width: 480px) {
    .testimonial .carousel-inner {
        min-height: 410px;
    }
}

@media (max-width: 400px) {
    .testimonial .carousel-inner {
        min-height: 460px;
    }
}

@media (max-width: 374px) {
    .testimonial .carousel-inner {
        min-height: 570px;
    }
}

/* ===== FOOTER — exact match to ezeletric.com live footer ===== */
.new-footer.site-footer,
.new-footer.site-footer .footer-botm {
    background-color: #fff;
    color: #828282;
    font-family: 'latoregular', 'Lato', sans-serif;
}

/* Green inset shadow at the top of the footer — matches live ezrestorationusa.com
   (measured: rgba(58,181,75,0.41) 0px 7px 12px -2px inset). overflow:visible so the
   shadow paints without clipping. */
.new-footer.site-footer .footer-botm {
    overflow: visible;
    padding: 0;
    box-shadow: rgba(58, 181, 75, 0.41) 0px 7px 12px -2px inset;
}

/* Top padding gives the Address / Quick Links / Info headings breathing room
   below the green inset shadow at the top of the footer. */
.new-footer.site-footer .site-footer-inner {
    padding: 40px 0 0;
}

/* Force footer container to match live site's Bootstrap .container sizing
   (vendor CSS overrides .container-xl to max-width:1920px with 0 padding) */
.new-footer.site-footer .container-xl {
    width: 100%;
    max-width: 1140px;
    margin-right: auto;
    margin-left: auto;
    padding-right: 15px;
    padding-left: 15px;
    box-sizing: border-box;
}

.new-footer.site-footer .main_footer_bottam .container-xl {
    max-width: 1140px;
}

.new-footer.site-footer .footer-row {
    display: flex;
    flex-wrap: wrap;
    margin-right: -15px;
    margin-left: -15px;
}

.new-footer.site-footer .footer-col {
    position: relative;
    width: 100%;
    padding-right: 15px;
    padding-left: 15px;
    display: block !important;
}

@media (min-width: 992px) {
    .new-footer.site-footer .footer-col {
        flex: 0 0 25%;
        max-width: 25%;
    }
}

@media (min-width: 768px) and (max-width: 991px) {
    .new-footer.site-footer .footer-col {
        flex: 0 0 50%;
        max-width: 50%;
    }
}

/* Address column */
.new-footer.site-footer .foo-address {
    display: block;
}

.new-footer.site-footer .foo-address .address-title {
    color: #434264;
    font-size: 26px;
    margin-bottom: 15px;
    line-height: 30px;
    font-family: 'latoregular', 'Lato', sans-serif;
    font-weight: 400;
}

.new-footer.site-footer .foo-address .foo-title {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
}

.new-footer.site-footer .foo-address .foo-title::after {
    content: "";
    display: table;
    clear: both;
}

.new-footer.site-footer .foo-address .foo-title .text_address {
    width: 31.3%;
    float: left;
    margin-left: 15px;
    position: relative;
}

.new-footer.site-footer .foo-address .foo-title .text_address:first-child {
    margin-left: 0;
}

.new-footer.site-footer .foo-address .text_address::after {
    content: "";
    width: 2px;
    height: 100%;
    background: #828282;
    position: absolute;
    top: 0;
    left: -20px;
}

.new-footer.site-footer .foo-address .text_address:first-child::after {
    background: transparent;
}

.new-footer.site-footer .foo-address .text_address p {
    margin: 0;
    font-size: 15px;
    color: #676767;
    line-height: 26px;
    font-family: 'latoregular', 'Lato', sans-serif;
}

.new-footer.site-footer .foo-address .text_address .footer-address-link {
    text-decoration: none;
    display: block;
    color: inherit;
}

.new-footer.site-footer .foo-address .text_address .footer-address-link p {
    transition: color 0.2s ease;
}

.new-footer.site-footer .foo-address .text_address .footer-address-link:hover p {
    color: #3ab54b;
}

.new-footer.site-footer .foo-address .text_address p a {
    color: #828282;
    transition: var(--transition-base);
}

.new-footer.site-footer .foo-address .text_address p a:hover {
    color: #000;
}

/* Quick Links + Info titles */
.new-footer.site-footer .sub_menu>p {
    font-size: 26px;
    color: #434264;
    margin-bottom: 15px;
    line-height: 30px;
    font-family: 'latoregular', 'Lato', sans-serif;
    font-weight: 400;
}

.new-footer.site-footer .menu_iten {
    list-style: none;
    padding: 0;
    margin: 0;
    display: block;
}

.new-footer.site-footer .menu_iten li {
    margin-bottom: 0;
    line-height: 26px;
}

.new-footer.site-footer .menu_iten li a {
    color: #828282;
    text-decoration: none;
    font-size: 15px;
    transition: var(--transition-base);
}

.new-footer.site-footer .menu_iten li a:hover {
    color: #000;
}

/* Info / Email */
.new-footer.site-footer .email_text p {
    color: #434264;
    font-size: 18px;
    margin: 0;
    line-height: 26px;
}

.new-footer.site-footer .email_text .email-label {
    color: #434264;
    font-size: 18px;
}

.new-footer.site-footer .email_text p a {
    color: #828282;
    text-decoration: none;
    font-size: 15px;
    transition: var(--transition-base);
}

.new-footer.site-footer .email_text p a:hover {
    color: #000;
}

.new-footer.site-footer .email_text p a.start-reating {
    display: block;
    margin-top: 6px;
}

.new-footer.site-footer .email_text p a.start-reating img {
    width: 92px;
    height: 16px;
    display: block;
}

/* Social icons */
.new-footer.site-footer .footer_bg_icon {
    display: flex;
    gap: 8px;
    margin: 10px 0;
    align-items: center;
}

.new-footer.site-footer .footer_bg_icon a {
    display: block;
    line-height: 0;
    transition: var(--transition-base);
}

.new-footer.site-footer .footer_bg_icon a:hover {
    opacity: 0.85;
    transform: translateY(-2px);
}

.new-footer.site-footer .footer_bg_icon img,
.new-footer.site-footer .footer_bg_icon svg {
    width: 40px;
    height: 40px;
    display: block;
}

/* DMCA badge */
.new-footer.site-footer .dmca-badge {
    display: inline-block;
}

.new-footer.site-footer .dmca-badge img {
    width: 121px;
    height: 24px;
    display: block;
}

/* Toll-free number */
.new-footer.site-footer p.toll_f_num.new-toll-design {
    margin: -5px 0 0 0;
    font-size: 24px;
    font-weight: 800;
    text-transform: uppercase;
    font-family: 'latoblack', 'Lato', sans-serif;
    display: flex;
    align-items: center;
    gap: 10px;
    color: #808080;
}

.new-footer.site-footer p.toll_f_num.new-toll-design img {
    width: 25px;
    height: 25px;
    display: inline-block;
    vertical-align: middle;
}

.new-footer.site-footer p.toll_f_num.new-toll-design a.toll_free {
    color: #3ab54b !important;
    font-size: 24px !important;
    font-weight: 800 !important;
    text-decoration: none;
    transition: var(--transition-base);
}

.new-footer.site-footer p.toll_f_num.new-toll-design a.toll_free:hover {
    color: #000;
}

/* Copyright bottom bar — live has no extra bottom space (margin-top:0, tight padding).
   Reduced from 60px bottom padding to remove the large gap below the copyright text. */
.new-footer.site-footer .main_footer_bottam {
    padding: 13px 20px 20px;
    text-align: center;
    background-color: #fff;
    border-top: 1px solid #e8e8e8;
    margin-top: 0;
}

.new-footer.site-footer .main_footer_bottam .text_bootam_right p {
    margin-bottom: 0;
    color: #434264;
    font-size: 15px;
    line-height: 26px;
}

.new-footer.site-footer .main_footer_bottam .text_bootam_right p a {
    color: #828282;
    text-decoration: none;
    transition: var(--transition-base);
}

.new-footer.site-footer .main_footer_bottam .text_bootam_right p a:hover {
    color: #000;
}

/* Footer responsive */
@media (max-width: 991px) {
    .new-footer.site-footer .foo-address .foo-title .text_address {
        width: 31.8%;
        margin-left: 15px;
        margin-bottom: 15px;
    }

    .new-footer.site-footer .foo-address .foo-title .text_address:last-child {
        margin-left: 15px;
        margin-bottom: 15px;
    }

    .new-footer.site-footer p.toll_f_num.new-toll-design a.toll_free {
        display: block;
    }

    .new-footer.site-footer p.toll_f_num.new-toll-design {
        display: flex;
        gap: 10px;
        margin-top: 10px;
    }
}

@media (max-width: 767px) {
    .new-footer.site-footer .foo-address {
        text-align: center;
    }

    .new-footer.site-footer .foo-address .foo-title {
        display: block;
    }

    .new-footer.site-footer .foo-address .foo-title .text_address {
        width: 100%;
        margin-left: 0;
        margin-bottom: 10px;
        float: none;
    }

    .new-footer.site-footer .foo-address .foo-title .text_address:last-child {
        margin-left: 0;
        margin-bottom: 0;
    }

    .new-footer.site-footer .foo-address .text_address::after {
        height: 2px;
        background: #676767;
        position: absolute;
        top: auto;
        right: 0;
        bottom: -5px;
        left: 50%;
        width: 170px;
        transform: translate(-50%, -50%);
    }

    .new-footer.site-footer .foo-address .text_address:first-child::after {
        background: #676767;
    }

    .new-footer.site-footer .sub_menu {
        text-align: center;
        padding: 15px 0 0;
    }

    .new-footer.site-footer .sub_menu>p {
        margin-bottom: 5px;
        font-size: 24px;
        line-height: 26px;
    }

    .new-footer.site-footer .email_text {
        text-align: center;
    }

    .new-footer.site-footer .email_text p {
        font-size: 17px;
    }

    .new-footer.site-footer .email_text p a {
        font-size: 16px;
    }

    .new-footer.site-footer .email_text p a.start-reating {
        margin-left: auto;
        margin-right: auto;
    }

    .new-footer.site-footer .email_text p a.start-reating img {
        margin: 0 auto;
    }

    .new-footer.site-footer .footer_bg_icon {
        justify-content: center;
    }

    .new-footer.site-footer .dmca-badge {
        margin: 0 auto;
    }

    .new-footer.site-footer p.toll_f_num.new-toll-design {
        justify-content: center;
    }

    .new-footer.site-footer p.toll_f_num.new-toll-design img {
        height: 25px;
        width: auto;
    }

    .new-footer.site-footer .main_footer_bottam {
        padding: 13px 15px;
    }

    .new-footer.site-footer .main_footer_bottam .text_bootam_right p {
        font-size: 14px;
    }
}

/* ===== FLOATING SIDEBAR (sticky-tools) ===== */
nav.sticky-tools {
    display: block;
    position: fixed;
    bottom: calc(50% - 25px);
    right: -70px;
    z-index: 999;
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
}

nav.sticky-tools ul {
    display: flex;
    list-style: none;
    padding: 0;
    margin: 0;
}

nav.sticky-tools ul li {
    display: inline-block;
    background-color: #000;
    border: 0.5px solid #fff;
}

nav.sticky-tools ul li a {
    display: block;
    color: #fff;
    padding: 10px 20px;
    text-decoration: none;
    text-transform: uppercase;
    font-family: "Heebo", sans-serif;
    font-size: 14px;
    line-height: 1.42857143;
}

nav.sticky-tools ul li:nth-of-type(2) {
    background-color: #1eadc7;
    border-left: 0;
}

nav.sticky-tools ul li:last-of-type {
    border-left: 0;
    background-color: #ff0404;
}

nav.sticky-tools ul li:last-of-type a {
    text-indent: -99999em;
    display: block;
    width: 2rem;
    height: 40px;
    padding: 1rem 30px;
    background: url(/assets/images/ezeletric/phone-icon-white.png);
    background-position: 50% 50%;
    background-repeat: no-repeat;
    background-size: auto 40%;
}

nav.sticky-tools ul li a:hover,
nav.sticky-tools ul li a:focus {
    color: #fff;
}

nav.sticky-tools ul li:last-of-type a:hover,
nav.sticky-tools ul li:last-of-type a:focus {
    background: url(/assets/images/ezeletric/phone-icon-white.png);
    background-position: 50% 50%;
    background-repeat: no-repeat;
    background-size: auto 35%;
}

/* ===== RESPONSIVE ===== */
@media (max-width: 991px) {

    .header-service {
        display: none;
    }
}

/* ===== CALL ICON ===== */

/* ===== OFFCANVAS ===== */
.offcanvas {
    max-width: 300px;
}

/* ===== AOS ANIMATIONS (vanilla replacement) ===== */

/* ===== SITEMAP TESTIMONIALS & INSURANCE STYLES ===== */

/* Insurance Section */

/* Responsive Design */

/* Header spacing — clearance below fixed header */
#content,
main {
    margin-top: 184px !important;
}

@media (max-width: 991px) {
    main.content-area,
    main.single-blog,
    main.mid-part.content-area,
    .single-blog.content-area {
        margin-top: 130px !important;
        padding-top: 0 !important;
    }
}

/* Global Container Width Lock (Matches live ezrestorationusa.com 1110px layout) */
html body .container,
html body div.container,
html body main .container,
html body section .container,
html body footer .container {
    width: 100% !important;
    max-width: 1110px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 15px !important;
    padding-right: 15px !important;
    box-sizing: border-box !important;
}

/* ===== HOMEPAGE RESTORATION SECTIONS ===== */
/* Banner matches live ezrestorationusa.com exactly (measured 2026-08-05 at 1440x900):
   - .home-banner is a SHORT block (~520px) with padding 0 and overflow:visible
   - the row is ~500px tall, flex, align-items:center, justify-content:flex-start
   - the form column is absolutely pinned to the right edge and VERTICALLY CENTERED
     against the banner; because the form (~617px) is taller than the banner, it
     overflows below the banner into the next section (the live site's signature look).
   Live measurements: banner h=520, form w=380 h=617 left=1045 (flush right). */
.home-banner {
    position: relative;
    background-size: cover;
    background-position: 50% 0%;
    background-repeat: no-repeat;
    padding: 0;
    margin-bottom: 25px;
    overflow: visible;
    display: block;
}

.home-banner>.container {
    position: static;
    width: 100%;
}

/* The row is the short hero band; the text column lives inside it and is
   vertically centered. The form column is pulled out of flow (absolute) below. */
.home-banner .row {
    min-height: 560px;
    align-items: center !important;
    justify-content: flex-start !important;
}

/* Subheading + slider-title + button match live ezrestorationusa.com exactly
   (measured 2026-08-05). Live has NO text-shadow on hero text. */
.home-banner .subheading {
    color: #ffffff;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    margin-bottom: 8px;
    text-shadow: none;
}

.home-banner .slider-title {
    color: #ffffff;
    font-size: 60px;
    font-weight: 900;
    line-height: 72px;
    margin-bottom: 24px;
    text-shadow: none;
}

.home-banner .btn-primary {
    background-color: #3ab54b !important;
    border: 1px solid #3ab54b !important;
    color: #ffffff !important;
    font-size: 22px;
    font-weight: 400;
    padding: 8px 16px;
    height: auto !important;
    border-radius: 40px;
    transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}

/* Live hover: ghost/outline — transparent fill, green text + border */
.home-banner .btn-primary:hover {
    background: transparent !important;
    border: 1px solid #3ab54b !important;
    color: #3ab54b !important;
}

/* Text column: vertically centered inside the short row. */
.hero-text-col {
    margin-top: 0 !important;
}

/* Form column: positioned inside the banner, shifted left away from the sticky-tools,
   scaled slightly to fit cleanly within the banner height. */

/* Responsive: on tablet/mobile, release the form from absolute positioning so it
   stacks below the text and pushes content naturally (no overlap on small screens). */
@media (max-width: 991px) {
    .home-banner .row {
        min-height: auto;
        display: block;
    }

    .hero-text-col {
        margin-top: 1.5rem !important;
    }
}

/* Why Choose Cards (Equal Height, Top-Right Chamfer Cut) */

/* card-blue icon: green icon default, white icon on hover */

/* HOVER: card-blue turns fully green */

/* Service Cards Grid (7 cards — borderless, hover-only highlight) */

/* Coupon badges section — 5 cards in 1 line */
.home-coupon {
    padding: 20px 0;
}

/* Authoritative badges layout — centered, equal 10px gaps, fixed 200px boxes.
   This wins over the earlier .coupon-section block at line ~1674 by source order
   and is mirrored in index.purged.css. Live site centers the 5 badge cards. */
.coupon-section {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
}

@media (min-width: 768px) {
    .coupon-section {
        flex-wrap: nowrap !important;
        justify-content: center !important;
    }

    .coupon-box {
        flex: 0 0 200px !important;
        max-width: 200px !important;
        text-align: center;
    }
}

@media (min-width: 768px) and (max-width: 991.98px) {
    .coupon-section {
        flex-wrap: nowrap !important;
        justify-content: space-between !important;
        gap: 6px !important;
        width: 100% !important;
        max-width: 100% !important;
        overflow: hidden !important;
        padding: 0 10px !important;
    }

    .coupon-box {
        flex: 0 1 125px !important;
        max-width: 130px !important;
        min-width: 0 !important;
        padding: 8px 4px !important;
        box-sizing: border-box !important;
    }

    .coupon-box img {
        max-width: 100% !important;
        width: auto !important;
        height: auto !important;
        max-height: 95px !important;
        display: block !important;
        margin: 0 auto !important;
    }
}

.coupon-box img {
    max-width: 100%;
    height: auto;
    display: inline-block;
}

/* ===== HOMEPAGE LATEST BLOGS SECTION ===== */

/* No lift/slide hover effect on card itself */

/* Image sits inside the card with padding from all sides */

/* Green outline pill button — matches live site (2px solid border, transparent fill) */

/* Hover: fill turns green, text turns white (outline → solid) */

/* Related Posts Section - live site exact styling */
.blogSectionTitle {
    margin-bottom: 0px;
    color: #202e31;
    padding-top: 50px;
    font-size: 30px;
    font-weight: 600;
    text-align: center;
    font-family: 'latoregular', 'Lato', sans-serif;
}

/* Standalone recent-post-block card (for bottom Related Posts outside .blog-details) */
.recent-post-block {
    padding: 10px 10px 20px;
    box-shadow: 1px 2px 11px 5px #ccc;
    -webkit-transition: all 0.8s ease;
    transition: all 0.8s ease;
    margin-top: 40px;
    margin-bottom: 45px;
    border-radius: 5px;
    border: 1px solid #ccc;
    display: inline-block;
    width: 100%;
    background: #fff;
}

.recent-post-block:hover {
    border: 1px solid #3AB54B;
    box-shadow: 0 10px 50px 0 rgba(84, 110, 122, 0.35);
    -webkit-transform: translateY(-5px);
    transform: translateY(-5px);
    -webkit-transition: all 0.8s ease;
    transition: all 0.8s ease;
}

.recent-post-block .recent-img {
    display: block;
    text-align: center;
}

.recent-post-block .recent-img img {
    display: block;
    margin: 0 auto;
    background: #fff;
    max-width: 100%;
    height: 150px;
    padding: 2px;
    position: relative;
    top: -41px;
    border-radius: 7px;
    box-shadow: 0px -1px 9px 2px #ccc;
    object-fit: cover;
}

.recent-post-block .blogDetail {
    display: flex;
    flex-direction: column;
    min-height: 235px;
}

.recent-post-block .blogDetail .blogDetail-title {
    color: #3ab54b;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.4;
    text-decoration: none;
    font-family: 'latoregular', 'Lato', sans-serif;
    display: block;
    margin-bottom: 10px;
}

.recent-post-block .blogDetail .blogDetail-title:hover {
    color: #000000;
    text-decoration: none;
}

.recent-post-block .blogDetail .post_excerpt {
    font-size: 16px;
    color: #808080;
    line-height: 1.6;
    margin-bottom: 15px;
    font-family: 'latoregular', 'Lato', sans-serif;
}

.recent-post-block .blogDetail .read-more-post {
    display: inline-block;
    margin-top: auto;
    margin-bottom: 5px;
    width: 100%;
    text-align: center;
}

.recent-post-block .blogDetail .read-more-post a {
    text-transform: capitalize;
    color: #151515;
    border: 2px solid #3ab54b;
    padding: 9px 24px;
    border-radius: 22px;
    display: inline-block;
    background-color: transparent;
    position: relative;
    line-height: normal;
    text-decoration: none;
    font-family: 'latoregular', 'Lato', sans-serif;
    transition: all 0.3s ease;
}

.recent-post-block .blogDetail .read-more-post a:hover {
    color: #ffffff;
    background-color: #3ab54b;
    text-decoration: none;
}

@media (min-width: 992px) {
    .col-lg-4 {
        flex: 0 0 33.33333333% !important;
        max-width: 33.33333333% !important;
        width: 33.33333333% !important;
    }
}

/* Image sits inside the card with padding from all sides */

/* Green outline pill button — matches live site (2px solid border, transparent fill) */

/* Breadcrumb Bar Green Color — exact match to live site (#3ab54b) */
.breadcrum-bar,
.breadcrum-bar span,
.breadcrum-bar a,
.breadcrum-bar .breadcrumb_last {
    color: #3ab54b !important;
}

/* Hover: fill turns green, text turns white (outline → solid) */

@media (min-width: 992px) {
    .col-lg-4 {
        flex: 0 0 33.33333333% !important;
        max-width: 33.33333333% !important;
        width: 33.33333333% !important;
    }
}
@media (min-width: 992px) {
    .border-end-lg {
        border-right: 1px solid #dcdcdc;
    }
}


.new-footer.site-footer .footer-col ul {
    display: block !important;
}

@media only screen and (max-width: 767px) {
    .logo img,
    .brand-logo {
        max-width: 35px !important;
        width: 35px !important;
        height: 35px !important;
        display: inline !important;
    }

    #masthead {
        height: 70px !important;
    }

    .logo {
        position: static !important;
        float: left !important;
        padding: 8px 0 !important;
    }


    main.home-main,
    main:has(> .home-banner) {
        margin-top: 88.8px !important;
    }

    main.content-area,
    main.single-blog,
    main.mid-part.content-area,
    .single-blog.content-area {
        margin-top: 90px !important;
        padding-top: 0 !important;
    }

    .home-banner {
        max-height: 600px !important;
        height: calc(100vh - 130px) !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
    }

    .home-banner .hero-text-col {
        text-align: center !important;
    }

    .home-banner .slider-title {
        font-size: 35px !important;
        line-height: 42px !important;
    }

    .home-banner .subheading {
        font-size: 13px !important;
        line-height: 1.5 !important;
    }

    .home-banner .btn-primary {
        font-size: 16px !important;
        padding: 8px 16px !important;
    }

    .toll_f_num.toll_responsive {
        font-size: 16px !important;
        line-height: 28.8px !important;
    }

    .toll_f_num.toll_responsive span {
        font-size: 16px !important;
    }

    .mobile-toggle svg path {
        stroke: #fff !important;
    }

    .site-menu > li > a:hover,
    .site-menu > li > span:hover {
        background: transparent !important;
    }
}

/* ===== TRUSTED SERVICE PROVIDERS (PARTNER BRANDS) ===== */

/* ===== MAP SECTION ===== */
.add-map-section {
    line-height: 0;
    padding-top: 2rem;
    padding-bottom: 4rem;
    width: 100%;
}

.add-map-section iframe {
    display: block;
    width: 100%;
    height: 450px;
    border: 0;
    border-radius: 4px;
}


/* ==========================================================================
   Self-hosted fonts — replaces Google Fonts CDN
   Previously: fonts.googleapis.com/css2?family=Outfit&family=Inter
   Font files in: assets/fonts/
   ========================================================================== */

/* Prevent CLS: banner rules reference --font-outfit before purged CSS loads.
   Outfit is not above-the-fold critical, so map it to Inter in critical CSS.
   Purged CSS re-declares this with 'Outfit' for pages that need it. */
:root { }

/* ── Lato — from live ezeletric.com (self-hosted) ── */

@font-face {
    font-family: 'latoregular';
    font-style: normal;
    font-weight: normal;
    font-display: swap;
    src: url('/assets/fonts/lato-regular-webfont.woff2') format('woff2');
}

@font-face {
    font-family: 'latoheavy';
    font-style: normal;
    font-weight: normal;
    font-display: swap;
    src: url('/assets/fonts/lato-heavy-webfont.woff2') format('woff2');
}

@font-face {
    font-family: 'latoblack';
    font-style: normal;
    font-weight: normal;
    font-display: swap;
    src: url('/assets/fonts/lato-black-webfont.woff2') format('woff2');
}

/* Inter — latin, weight 400 */
@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 400;
    font-display: optional;
    src: url('/assets/fonts/inter-latin-400.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+20AC, U+2122, U+2191,
        U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Inter — latin, weights 500–700 (variable file). Was previously three separate
   @font-face declarations pointing at inter-latin-500/600/700.woff2 — but those
   three .woff2 files were byte-identical (md5 verified), so the browser was
   downloading the same 85 KB three times. Single declaration with weight range
   serves all three weights from one cached request. */
@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 500 700;
    font-display: optional;
    src: url('/assets/fonts/inter-latin-var.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+20AC, U+2122, U+2191,
        U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@charset "UTF-8";/*!
 * Bootstrap  v5.3.3 (https://getbootstrap.com/)
 * Copyright 2011-2024 The Bootstrap Authors
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
 */:root,[data-bs-theme=light]{--bs-font-sans-serif:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans","Liberation Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--bs-body-font-family:var(--bs-font-sans-serif);--bs-body-font-size:1rem;--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-body-color:#212529;--bs-body-bg:#fff;--bs-secondary-color:rgba(33,37,41,.75);--bs-heading-color:inherit;--bs-link-color:#0d6efd;--bs-link-color-rgb:13,110,253;--bs-link-hover-color:#0a58ca;--bs-link-hover-color-rgb:10,88,202;--bs-border-width:1px;--bs-border-style:solid;--bs-border-color:#dee2e6;--bs-border-color-translucent:rgba(0,0,0,.175);--bs-border-radius:0.375rem;--bs-border-radius-lg:0.5rem}[data-bs-theme=dark]{color-scheme:dark;--bs-body-color:#dee2e6;--bs-body-bg:#212529;--bs-secondary-color:rgba(222,226,230,.75);--bs-heading-color:inherit;--bs-link-color:#6ea8fe;--bs-link-hover-color:#8bb9fe;--bs-link-color-rgb:110,168,254;--bs-link-hover-color-rgb:139,185,254;--bs-border-color:#495057;--bs-border-color-translucent:hsla(0,0%,100%,.15)}*,:after,:before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}.h1,.h2,.h3,.h4,h1,h2,h3,h4{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2;color:var(--bs-heading-color)}.h1,h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){.h1,h1{font-size:2.5rem}}.h2,h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){.h2,h2{font-size:2rem}}.h3,h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){.h3,h3{font-size:1.75rem}}.h4,h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){.h4,h4{font-size:1.5rem}}p{margin-top:0;margin-bottom:1rem}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ul{padding-left:2rem}ul{margin-top:0;margin-bottom:1rem}ul ul{margin-bottom:0}blockquote{margin:0 0 1rem}strong{font-weight:bolder}.small,small{font-size:.875em}a{color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,1));text-decoration:underline}a:hover{--bs-link-color-rgb:var(--bs-link-hover-color-rgb)}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}img,svg{vertical-align:middle}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button{text-transform:none}[type=button],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}::file-selector-button{font:inherit;-webkit-appearance:button}iframe{border:0}[hidden]{display:none!important}.lead{font-size:1.25rem;font-weight:300}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote>:last-child{margin-bottom:0}.container,.container-xl{--bs-gutter-x:1.5rem;--bs-gutter-y:0;width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-right:auto;margin-left:auto}@media (min-width:576px){.container{max-width:540px}}@media (min-width:768px){.container{max-width:720px}}@media (min-width:992px){.container{max-width:960px}}@media (min-width:1200px){.container,.container-xl{max-width:1140px}}@media (min-width:1400px){.container,.container-xl{max-width:1320px}}:root{}.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;display:flex;flex-wrap:wrap;margin-top:calc(-1 * var(--bs-gutter-y));margin-right:calc(-.5 * var(--bs-gutter-x));margin-left:calc(-.5 * var(--bs-gutter-x))}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y)}@media (min-width:576px){.col-sm-12{flex:0 0 auto;width:100%}}@media (min-width:768px){.col-md-6{flex:0 0 auto;width:50%}.col-md-12{flex:0 0 auto;width:100%}}@media (min-width:992px){.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-9{flex:0 0 auto;width:75%}}[data-bs-theme=dark] .form-select{}[data-bs-theme=dark] .form-switch .form-check-input:not(:checked):not(:focus){}.btn{--bs-btn-padding-x:0.75rem;--bs-btn-padding-y:0.375rem;--bs-btn-font-family: ;--bs-btn-font-size:1rem;--bs-btn-font-weight:400;--bs-btn-line-height:1.5;--bs-btn-color:var(--bs-body-color);--bs-btn-bg:transparent;--bs-btn-border-width:var(--bs-border-width);--bs-btn-border-color:transparent;--bs-btn-border-radius:var(--bs-border-radius);--bs-btn-hover-border-color:transparent;--bs-btn-disabled-opacity:0.65;--bs-btn-focus-box-shadow:0 0 0 0.25rem rgba(var(--bs-btn-focus-shadow-rgb),.5);display:inline-block;padding:var(--bs-btn-padding-y) var(--bs-btn-padding-x);font-family:var(--bs-btn-font-family);font-size:var(--bs-btn-font-size);font-weight:var(--bs-btn-font-weight);line-height:var(--bs-btn-line-height);color:var(--bs-btn-color);text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;border:var(--bs-btn-border-width) solid var(--bs-btn-border-color);border-radius:var(--bs-btn-border-radius);background-color:var(--bs-btn-bg);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color)}.btn:focus-visible{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn.active,.btn.show,.btn:first-child:active,:not(.btn-check)+.btn:active{color:var(--bs-btn-active-color);background-color:var(--bs-btn-active-bg);border-color:var(--bs-btn-active-border-color)}.btn.active:focus-visible,.btn.show:focus-visible,.btn:first-child:active:focus-visible,:not(.btn-check)+.btn:active:focus-visible{box-shadow:var(--bs-btn-focus-box-shadow)}.btn:disabled{color:var(--bs-btn-disabled-color);pointer-events:none;background-color:var(--bs-btn-disabled-bg);border-color:var(--bs-btn-disabled-border-color);opacity:var(--bs-btn-disabled-opacity)}.btn-primary{--bs-btn-color:#fff;--bs-btn-bg:#0d6efd;--bs-btn-border-color:#0d6efd;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#0b5ed7;--bs-btn-hover-border-color:#0a58ca;--bs-btn-focus-shadow-rgb:49,132,253;--bs-btn-active-color:#fff;--bs-btn-active-bg:#0a58ca;--bs-btn-active-border-color:#0a53be;--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#0d6efd;--bs-btn-disabled-border-color:#0d6efd}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.dropdown{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty:after{margin-left:0}.dropdown-menu{--bs-dropdown-zindex:1000;--bs-dropdown-min-width:10rem;--bs-dropdown-padding-x:0;--bs-dropdown-padding-y:0.5rem;--bs-dropdown-spacer:0.125rem;--bs-dropdown-font-size:1rem;--bs-dropdown-color:var(--bs-body-color);--bs-dropdown-bg:var(--bs-body-bg);--bs-dropdown-border-color:var(--bs-border-color-translucent);--bs-dropdown-border-radius:var(--bs-border-radius);--bs-dropdown-border-width:var(--bs-border-width);position:absolute;z-index:var(--bs-dropdown-zindex);display:none;min-width:var(--bs-dropdown-min-width);padding:var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);margin:0;font-size:var(--bs-dropdown-font-size);color:var(--bs-dropdown-color);text-align:left;list-style:none;background-color:var(--bs-dropdown-bg);background-clip:padding-box;border:var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);border-radius:var(--bs-dropdown-border-radius)}.dropdown-menu[data-bs-popper]{top:100%;left:0;margin-top:var(--bs-dropdown-spacer)}.dropdown-menu-start{}.dropdown-menu-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-end{}.dropdown-menu-end[data-bs-popper]{right:0;left:auto}@media (min-width:576px){.dropdown-menu-sm-start{}.dropdown-menu-sm-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-sm-end{}.dropdown-menu-sm-end[data-bs-popper]{right:0;left:auto}}@media (min-width:768px){.dropdown-menu-md-start{}.dropdown-menu-md-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-md-end{}.dropdown-menu-md-end[data-bs-popper]{right:0;left:auto}}@media (min-width:992px){.dropdown-menu-lg-start{}.dropdown-menu-lg-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-lg-end{}.dropdown-menu-lg-end[data-bs-popper]{right:0;left:auto}}@media (min-width:1200px){.dropdown-menu-xl-start{}.dropdown-menu-xl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xl-end{}.dropdown-menu-xl-end[data-bs-popper]{right:0;left:auto}}@media (min-width:1400px){.dropdown-menu-xxl-start{}.dropdown-menu-xxl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xxl-end{}.dropdown-menu-xxl-end[data-bs-popper]{right:0;left:auto}}.dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:var(--bs-dropdown-spacer)}.dropend .dropdown-menu[data-bs-popper]{top:0;right:auto;left:100%;margin-top:0;margin-left:var(--bs-dropdown-spacer)}.dropstart .dropdown-menu[data-bs-popper]{top:0;right:100%;left:auto;margin-top:0;margin-right:var(--bs-dropdown-spacer)}.dropdown-menu.show{display:block}.dropdown-menu-dark{--bs-dropdown-color:#dee2e6;--bs-dropdown-bg:#343a40;--bs-dropdown-border-color:var(--bs-border-color-translucent)}.nav{--bs-nav-link-padding-x:1rem;--bs-nav-link-padding-y:0.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color:var(--bs-link-color);--bs-nav-link-hover-color:var(--bs-link-hover-color);--bs-nav-link-disabled-color:var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);font-size:var(--bs-nav-link-font-size);font-weight:var(--bs-nav-link-font-weight);color:var(--bs-nav-link-color);text-decoration:none;background:0 0;border:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media (prefers-reduced-motion:reduce){.nav-link{transition:none}}.nav-link:focus,.nav-link:hover{color:var(--bs-nav-link-hover-color)}.nav-link:focus-visible{outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.nav-link:disabled{color:var(--bs-nav-link-disabled-color);pointer-events:none;cursor:default}.navbar[data-bs-theme=dark]{}.navbar[data-bs-theme=dark],[data-bs-theme=dark] .navbar-toggler-icon{}.card{--bs-card-border-width:var(--bs-border-width);--bs-card-border-color:var(--bs-border-color-translucent);--bs-card-border-radius:var(--bs-border-radius);--bs-card-height: ;--bs-card-bg:var(--bs-body-bg);position:relative;display:flex;flex-direction:column;min-width:0;height:var(--bs-card-height);color:var(--bs-body-color);word-wrap:break-word;background-color:var(--bs-card-bg);background-clip:border-box;border:var(--bs-card-border-width) solid var(--bs-card-border-color);border-radius:var(--bs-card-border-radius)}.accordion-button{position:relative;display:flex;align-items:center;width:100%;padding:var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);font-size:1rem;color:var(--bs-accordion-btn-color);text-align:left;background-color:var(--bs-accordion-btn-bg);border:0;border-radius:0;overflow-anchor:none;transition:var(--bs-accordion-transition)}@media (prefers-reduced-motion:reduce){.accordion-button{transition:none}}.accordion-button:not(.collapsed){color:var(--bs-accordion-active-color);background-color:var(--bs-accordion-active-bg);box-shadow:inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color)}.accordion-button:not(.collapsed):after{background-image:var(--bs-accordion-btn-active-icon);transform:var(--bs-accordion-btn-icon-transform)}.accordion-button:after{flex-shrink:0;width:var(--bs-accordion-btn-icon-width);height:var(--bs-accordion-btn-icon-width);margin-left:auto;content:"";background-image:var(--bs-accordion-btn-icon);background-repeat:no-repeat;background-size:var(--bs-accordion-btn-icon-width);transition:var(--bs-accordion-btn-icon-transition)}@media (prefers-reduced-motion:reduce){.accordion-button:after{transition:none}}.accordion-button:hover{z-index:2}.accordion-button:focus{z-index:3;outline:0;box-shadow:var(--bs-accordion-btn-focus-box-shadow)}.accordion-item:first-of-type>.accordion-header .accordion-button{border-top-left-radius:var(--bs-accordion-inner-border-radius);border-top-right-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:last-of-type>.accordion-header .accordion-button.collapsed{border-bottom-right-radius:var(--bs-accordion-inner-border-radius);border-bottom-left-radius:var(--bs-accordion-inner-border-radius)}.accordion-flush>.accordion-item>.accordion-header .accordion-button,.accordion-flush>.accordion-item>.accordion-header .accordion-button.collapsed{border-radius:0}[data-bs-theme=dark] .accordion-button:after{--bs-accordion-btn-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236ea8fe'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--bs-accordion-btn-active-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236ea8fe'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}[data-bs-theme=dark] .btn-close{filter:var(--bs-btn-close-white-filter)}.modal{--bs-modal-zindex:1055;--bs-modal-width:500px;--bs-modal-padding:1rem;--bs-modal-margin:0.5rem;--bs-modal-color: ;--bs-modal-bg:var(--bs-body-bg);--bs-modal-border-color:var(--bs-border-color-translucent);--bs-modal-border-width:var(--bs-border-width);--bs-modal-border-radius:var(--bs-border-radius-lg);--bs-modal-inner-border-radius:calc(var(--bs-border-radius-lg) - (var(--bs-border-width)));--bs-modal-header-padding-x:1rem;--bs-modal-header-padding-y:1rem;--bs-modal-header-padding:1rem 1rem;--bs-modal-header-border-color:var(--bs-border-color);--bs-modal-header-border-width:var(--bs-border-width);--bs-modal-title-line-height:1.5;--bs-modal-footer-gap:0.5rem;--bs-modal-footer-bg: ;--bs-modal-footer-border-color:var(--bs-border-color);--bs-modal-footer-border-width:var(--bs-border-width);position:fixed;top:0;left:0;z-index:var(--bs-modal-zindex);display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:var(--bs-modal-margin);pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translateY(-50px)}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{height:calc(100% - var(--bs-modal-margin) * 2)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - var(--bs-modal-margin) * 2)}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;color:var(--bs-modal-color);pointer-events:auto;background-color:var(--bs-modal-bg);background-clip:padding-box;border:var(--bs-modal-border-width) solid var(--bs-modal-border-color);border-radius:var(--bs-modal-border-radius);outline:0}.modal-backdrop{--bs-backdrop-zindex:1050;--bs-backdrop-bg:#000;--bs-backdrop-opacity:0.5;position:fixed;top:0;left:0;z-index:var(--bs-backdrop-zindex);width:100vw;height:100vh;background-color:var(--bs-backdrop-bg)}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:var(--bs-backdrop-opacity)}.modal-header{display:flex;flex-shrink:0;align-items:center;padding:var(--bs-modal-header-padding);border-bottom:var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);border-top-left-radius:var(--bs-modal-inner-border-radius);border-top-right-radius:var(--bs-modal-inner-border-radius)}.modal-header .btn-close{padding:calc(var(--bs-modal-header-padding-y) * .5) calc(var(--bs-modal-header-padding-x) * .5);margin:calc(-.5 * var(--bs-modal-header-padding-y)) calc(-.5 * var(--bs-modal-header-padding-x)) calc(-.5 * var(--bs-modal-header-padding-y)) auto}.modal-title{margin-bottom:0;line-height:var(--bs-modal-title-line-height)}.modal-body{position:relative;flex:1 1 auto;padding:var(--bs-modal-padding)}.modal-footer{display:flex;flex-shrink:0;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * .5);background-color:var(--bs-modal-footer-bg);border-top:var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color);border-bottom-right-radius:var(--bs-modal-inner-border-radius);border-bottom-left-radius:var(--bs-modal-inner-border-radius)}.modal-footer>*{margin:calc(var(--bs-modal-footer-gap) * .5)}@media (min-width:576px){.modal{--bs-modal-margin:1.75rem}.modal-dialog{max-width:var(--bs-modal-width);margin-right:auto;margin-left:auto}.modal-sm{--bs-modal-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{--bs-modal-width:800px}}@media (min-width:1200px){.modal-xl{--bs-modal-width:1140px}}.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen .modal-footer,.modal-fullscreen .modal-header{border-radius:0}.modal-fullscreen .modal-body{overflow-y:auto}@media (max-width:575.98px){.modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-sm-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-sm-down .modal-footer,.modal-fullscreen-sm-down .modal-header{border-radius:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}}@media (max-width:767.98px){.modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-md-down .modal-footer,.modal-fullscreen-md-down .modal-header{border-radius:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}}@media (max-width:991.98px){.modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-lg-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-lg-down .modal-footer,.modal-fullscreen-lg-down .modal-header{border-radius:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}}@media (max-width:1199.98px){.modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xl-down .modal-footer,.modal-fullscreen-xl-down .modal-header{border-radius:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}}@media (max-width:1399.98px){.modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xxl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xxl-down .modal-footer,.modal-fullscreen-xxl-down .modal-header{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner:after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-end,.carousel-item-next:not(.carousel-item-start){transform:translateX(100%)}.active.carousel-item-start,.carousel-item-prev:not(.carousel-item-end){transform:translateX(-100%)}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:0 0;border:0;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-indicators [data-bs-target]{transition:none}}.carousel-dark .carousel-indicators [data-bs-target]{background-color:#000}[data-bs-theme=dark] .carousel .carousel-control-next-icon,[data-bs-theme=dark] .carousel .carousel-control-prev-icon,[data-bs-theme=dark].carousel .carousel-control-next-icon,[data-bs-theme=dark].carousel .carousel-control-prev-icon{filter:invert(1) grayscale(100)}[data-bs-theme=dark] .carousel .carousel-indicators [data-bs-target],[data-bs-theme=dark].carousel .carousel-indicators [data-bs-target]{background-color:#000}[data-bs-theme=dark] .carousel .carousel-caption,[data-bs-theme=dark].carousel .carousel-caption{color:#000}.offcanvas{--bs-offcanvas-zindex:1045;--bs-offcanvas-color:var(--bs-body-color);--bs-offcanvas-bg:var(--bs-body-bg);--bs-offcanvas-transition:transform 0.3s ease-in-out}.offcanvas{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}@media (prefers-reduced-motion:reduce){.offcanvas{transition:none}}.offcanvas.show:not(.hiding){transform:none}.offcanvas.show{visibility:visible}.placeholder{display:inline-block;min-height:1em;vertical-align:middle;cursor:wait;background-color:currentcolor;opacity:.5}.placeholder.btn:before{display:inline-block;content:""}.d-flex{display:flex!important}.border{border:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-top{border-top:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-bottom{border-bottom:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.w-100{width:100%!important}.flex-wrap{flex-wrap:wrap!important}.mt-2{margin-top:.5rem!important}.mb-0{margin-bottom:0!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-5{margin-bottom:3rem!important}.pt-4{padding-top:1.5rem!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-5{padding-bottom:3rem!important}.gap-2{gap:.5rem!important}.text-center{text-align:center!important}.visible{visibility:visible!important}@media (min-width:992px){.ps-lg-4{padding-left:1.5rem!important}}
body {
    font-family: "Inter", sans-serif !important;
}

/* ============================================================
   TOP HEADER — Fluid scaling to match reference site
   Reference: clamp(10px, 1.3vw, 20px)
   ============================================================ */

/* Reference site lets .head_time sit at its natural content width and
   uses .top-header's justify-content:space-between to distribute gaps.
   Keep display:flex flex-direction:column align-items:center for inner
   vertical stack + horizontal centering of the two child <p>s, but DO
   NOT use flex:1 — that inflates the box to ~934px and pushes the
   header-service column ~22px right of live's position.
   IMPORTANT: explicitly set flex:0 1 auto here so it overrides any
   stale `flex:1` left in the inlined critical CSS. The purged stylesheet
   loads after the critical inline, so omitting `flex` from this rule lets
   the bad inline value persist on first paint. */

/* ============================================================
   EMERGENCY SERVICE — Hide below 768px, fluid text
   ============================================================ */

.emergency-service p span {
    font-size: clamp(10px, 1vw, 14px) !important;
    font-weight: 600 !important;
    color: #000000 !important;
    font-family: "Inter", sans-serif !important;
}

.emergency-service p a {
    font-size: clamp(10px, 1vw, 14px) !important;
    font-weight: 600 !important;
    color: #319A52 !important;
    font-family: "Inter", sans-serif !important;
}

/* Hide emergency contact section at mobile (<768px) 
   NOTE: .head_time remains visible to match reference site 
*/
@media (max-width: 767px) {
    .header-service {
        display: none !important;
    }

    /* Reference site keeps the status/toll-free visible even at small widths.
       Override the desktop flex-column centering: on mobile .head_time grows
       to fill the remaining width (logo is hidden, service is hidden) and
       centers itself via margin:auto. */

    /* Logo swap for mobile space saving */
    .brand-logo {
        display: none !important;
    }
}

/* ============================================================
   MAIN NAVIGATION — Desktop (≥992px)
   Reference: clamp(13px, 1vw, 16px) font, clamp(10px, 1vw, 20px) padding
   ============================================================ */

@media (min-width: 992px) {

    /* Vertical dividers */
}

/* ============================================================
   DESKTOP DROPDOWN MENUS
   ============================================================ */

@media (min-width: 992px) {
    .dropdown-menu {
        padding: 8px 0 !important;
        border: 1px solid rgba(0, 0, 0, 0.176) !important;
        border-radius: 6px !important;
        background-color: #fff !important;
        margin-top: 2px !important;
        box-shadow: none !important;
        min-width: 160px !important;
    }

    /* Click-to-open dropdowns — disable any hover-show from external CSS */

    .dropdown {
        position: relative !important;
    }
}

/* ============================================================
   MOBILE OFFCANVAS (≤991px)
   ============================================================ */

@media (max-width: 991.98px) {
    .offcanvas {
        z-index: 1060 !important;
        background-color: #fff !important;
        width: 400px !important;
        max-width: 100% !important;
        transition: transform 0.3s ease-in-out !important;
        box-shadow: none !important;
    }

    /* Mobile Sublink Styles */

    /* Mobile dropdown toggle arrow */

    /* Mobile Dropdown Menu Styling */

    /* Close button */

    /* Mobile Contact Section */

    
    .offcanvas.show {
        transform: none !important;
        visibility: visible !important;
    }
}

/* Shared Footer Styles */

 
.new-footer .contact-form iframe {
    width: 100%;
    height: 100%;
    border: none;
    border-radius: 7px;
    padding: 2px;
    background: #eefaf2;
    display: block;
}

/* Home Page Specific Iframes (if needed) */
/* shared/css/promo-testimonial.css */
/* Styles for Promo Section and Testimonials (Shared across all pages) */

/* ==========================================================================
   1. Promo Section Styles
   ========================================================================== */

/* ==========================================================================
   2. Testimonials Section Styles
   ========================================================================== */

/* ==========================================================================
   3. Responsive Media Queries
   ========================================================================== *//* ==========================================================================
   Slick Base Rules — Self-hosted (replaces slick.css CDN)
   Previously loaded from: cdn.jsdelivr.net/npm/slick-carousel@1.8.1
   ========================================================================== */

/* Slider container */
.slick-slider {
    position: relative;
    display: block;
    box-sizing: border-box;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    -webkit-touch-callout: none;
    -ms-touch-action: pan-y;
    touch-action: pan-y;
    -webkit-tap-highlight-color: transparent;
}

/* Track & list */
.slick-list {
    position: relative;
    display: block;
    overflow: hidden;
    margin: 0;
    padding: 0;
}

.slick-list:focus {
    outline: none;
}

.slick-list.dragging {
    cursor: pointer;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
}

.slick-track {
    position: relative;
    top: 0;
    left: 0;
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.slick-track:before,
.slick-track:after {
    display: table;
    content: '';
}

.slick-track:after {
    clear: both;
}

/* Slides */
.slick-slide {
    display: none;
    float: left;
    height: 100%;
    min-height: 1px;
}

.slick-initialized .slick-slide {
    display: block;
}

.slick-loading .slick-slide {
    visibility: hidden;
}

.slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent;
}

/* Arrows — minimal, no icon font (we use .vc-arrow instead) */
.slick-prev,
.slick-next {
    font-size: 0;
    line-height: 0;
    position: absolute;
    top: 50%;
    display: block;
    width: 20px;
    height: 20px;
    padding: 0;
    transform: translate(0, -50%);
    cursor: pointer;
    color: transparent;
    border: none;
    outline: none;
    background: transparent;
}

.slick-prev {
    left: 10px;
}

.slick-next {
    right: 10px;
}

/* Dots */
.slick-dotted.slick-slider {
    margin-bottom: 30px;
}

.slick-dots {
    position: absolute;
    bottom: -25px;
    display: block;
    width: 100%;
    padding: 0;
    margin: 0;
    list-style: none;
    text-align: center;
}

.slick-dots li {
    position: relative;
    display: inline-block;
    width: 20px;
    height: 20px;
    margin: 0 5px;
    padding: 0;
    cursor: pointer;
}

.slick-dots li button {
    font-size: 0;
    line-height: 0;
    display: block;
    width: 20px;
    height: 20px;
    padding: 5px;
    cursor: pointer;
    color: transparent;
    border: 0;
    outline: none;
    background: transparent;
}

.slick-dots li.slick-active button:before {
    opacity: 1;
}

.slick-dots li button:before {
    font-size: 6px;
    line-height: 20px;
    position: absolute;
    top: 0;
    left: 0;
    width: 20px;
    height: 20px;
    content: '•';
    text-align: center;
    opacity: 0.25;
    color: black;
}

/* ==========================================================================
   VCarousel — Vanilla carousel wrapper styles
   ========================================================================== */
.vc-carousel {
    position: relative;
    display: block;
    box-sizing: border-box;
    user-select: none;
    touch-action: pan-y;
    overflow: hidden;
}

.vc-carousel .slick-list {
    position: relative;
    display: block;
    overflow: hidden;
    margin: 0;
    padding: 0;
}

.vc-carousel .slick-track {
    position: relative;
    top: 0;
    left: 0;
    display: flex;
    transition: transform 0.3s ease;
}

.vc-carousel .slick-slide {
    display: block;
    height: 100%;
    min-height: 1px;
}

/* VCarousel Arrows */
.vc-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    cursor: pointer;
    background: rgba(255, 255, 255, 0.8);
    border: none;
    padding: 10px;
    border-radius: 50%;
}

/* VCarousel Dots */
.slick-dots.vc-dots {
    display: flex;
    justify-content: center;
    list-style: none;
    padding: 1rem 0;
    margin: 0;
    gap: 0.5rem;
    position: static;
    bottom: auto;
}

.slick-dots.vc-dots li {
    width: auto;
    height: auto;
    margin: 0;
}

.slick-dots.vc-dots li button {
    font-size: 0;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    border: 1px solid var(--primary-color, #319a52);
    background: transparent;
    cursor: pointer;
    padding: 0;
    color: transparent;
    transition: width 0.25s ease, border-radius 0.25s ease, background 0.25s ease;
}

.slick-dots.vc-dots li button:before {
    display: none;
}

.slick-dots.vc-dots li.slick-active button {
    width: 40px;
    border-radius: 40px;
    background: var(--primary-color, #319a52);
}/**
 * carousel-vanilla.css
 * Core layout styles for the VCarousel vanilla replacement.
 * Fixes layout issues caused by missing Slick CDN CSS.
 */

.vc-carousel,
.slick-slider {
    position: relative;
    display: block;
    box-sizing: border-box;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.slick-list {
    position: relative;
    display: block;
    overflow: hidden;
    margin: 0;
    padding: 0;
}

.vc-track,
.slick-track {
    position: relative;
    top: 0;
    left: 0;
    display: flex !important;
    /* Force flex for VCarousel rail */
    flex-direction: row;
    transition: transform 0.3s ease-out;
    margin-left: auto;
    margin-right: auto;
}

.vc-carousel .slick-slide {
    height: 100%;
    min-height: 1px;
    display: block !important;
    flex: 0 0 auto;
}

/* Dots Styling */
.vc-dots {
    display: flex;
    justify-content: center;
    list-style: none;
    padding: 1rem 0;
    margin: 0;
}

.vc-dots li {
    margin: 0 5px;
}

.vc-dots li button {
    font-size: 0;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    border: 2px solid #333;
    background: white;
    cursor: pointer;
    padding: 0;
    transition: 0.3s;
}

.vc-dots li.slick-active button {
    background: #333;
    transform: scale(1.2);
}

/* Arrows Styling */
.vc-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    background: rgba(255, 255, 255, 0.8);
    border: none;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
}

.vc-arrow:hover {
    background: white;
}

.slick-prev.vc-arrow {
    left: 10px;
}

.slick-next.vc-arrow {
    right: 10px;
}/* ==========================================================================
   Slick Base Rules — Self-hosted (replaces slick.css CDN)
   Previously loaded from: cdn.jsdelivr.net/npm/slick-carousel@1.8.1
   ========================================================================== */

/* Slider container */
.slick-slider {
    position: relative;
    display: block;
    box-sizing: border-box;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    -webkit-touch-callout: none;
    -ms-touch-action: pan-y;
    touch-action: pan-y;
    -webkit-tap-highlight-color: transparent;
}

/* Track & list */
.slick-list {
    position: relative;
    display: block;
    overflow: hidden;
    margin: 0;
    padding: 0;
}

.slick-list:focus {
    outline: none;
}

.slick-list.dragging {
    cursor: pointer;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
}

.slick-track {
    position: relative;
    top: 0;
    left: 0;
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.slick-track:before,
.slick-track:after {
    display: table;
    content: '';
}

.slick-track:after {
    clear: both;
}

/* Slides */
.slick-slide {
    display: none;
    float: left;
    height: 100%;
    min-height: 1px;
}

.slick-initialized .slick-slide {
    display: block;
}

.slick-loading .slick-slide {
    visibility: hidden;
}

.slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent;
}

/* Arrows — minimal, no icon font (we use .vc-arrow instead) */
.slick-prev,
.slick-next {
    font-size: 0;
    line-height: 0;
    position: absolute;
    top: 50%;
    display: block;
    width: 20px;
    height: 20px;
    padding: 0;
    transform: translate(0, -50%);
    cursor: pointer;
    color: transparent;
    border: none;
    outline: none;
    background: transparent;
}

.slick-prev {
    left: 10px;
}

.slick-next {
    right: 10px;
}

/* Dots */
.slick-dotted.slick-slider {
    margin-bottom: 30px;
}

.slick-dots {
    position: absolute;
    bottom: -25px;
    display: block;
    width: 100%;
    padding: 0;
    margin: 0;
    list-style: none;
    text-align: center;
}

.slick-dots li {
    position: relative;
    display: inline-block;
    width: 20px;
    height: 20px;
    margin: 0 5px;
    padding: 0;
    cursor: pointer;
}

.slick-dots li button {
    font-size: 0;
    line-height: 0;
    display: block;
    width: 20px;
    height: 20px;
    padding: 5px;
    cursor: pointer;
    color: transparent;
    border: 0;
    outline: none;
    background: transparent;
}

.slick-dots li.slick-active button:before {
    opacity: 1;
}

.slick-dots li button:before {
    font-size: 6px;
    line-height: 20px;
    position: absolute;
    top: 0;
    left: 0;
    width: 20px;
    height: 20px;
    content: '•';
    text-align: center;
    opacity: 0.25;
    color: black;
}

/* ==========================================================================
   VCarousel — Vanilla carousel wrapper styles
   ========================================================================== */
.vc-carousel {
    position: relative;
    display: block;
    box-sizing: border-box;
    user-select: none;
    touch-action: pan-y;
    overflow: hidden;
}

.vc-carousel .slick-list {
    position: relative;
    display: block;
    overflow: hidden;
    margin: 0;
    padding: 0;
}

.vc-carousel .slick-track {
    position: relative;
    top: 0;
    left: 0;
    display: flex;
    transition: transform 0.3s ease;
}

.vc-carousel .slick-slide {
    display: block;
    height: 100%;
    min-height: 1px;
}

/* VCarousel Arrows */
.vc-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    cursor: pointer;
    background: rgba(255, 255, 255, 0.8);
    border: none;
    padding: 10px;
    border-radius: 50%;
}

/* VCarousel Dots */
.slick-dots.vc-dots {
    display: flex;
    justify-content: center;
    list-style: none;
    padding: 1rem 0;
    margin: 0;
    gap: 0.5rem;
    position: static;
    bottom: auto;
}

.slick-dots.vc-dots li {
    width: auto;
    height: auto;
    margin: 0;
}

.slick-dots.vc-dots li button {
    font-size: 0;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    border: 1px solid var(--primary-color, #319a52);
    background: transparent;
    cursor: pointer;
    padding: 0;
    color: transparent;
    transition: width 0.25s ease, border-radius 0.25s ease, background 0.25s ease;
}

.slick-dots.vc-dots li button:before {
    display: none;
}

.slick-dots.vc-dots li.slick-active button {
    width: 40px;
    border-radius: 40px;
    background: var(--primary-color, #319a52);
}
* {
    box-sizing: border-box;
    scroll-behavior: smooth;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility
}

body {
    color: #2d2d2d;
    font-style: normal;
    font-weight: 400;
    line-height: 1.5;
    font-size: 16px;
    margin: 0;
    padding: 0;
    background-color: #fff;
    font-family: Inter, sans-serif;
    line-height: normal
}

a,
a:hover {
    color: unset;
    text-decoration: none
}

li,
ul {
    list-style: none;
    padding: 0;
    margin: 0
}

img {
    max-width: 100%;
    height: auto;
    border: 0
}

.container,
.container-xl {
    max-width: 1920px;
    padding-inline: 0
}

.title {
    font-size: clamp(27px, 2.2vw, 36px);
    font-weight: 500;
    color: #2d2d2d;
    margin: 0
}

.btn-primary {
    height: 60px;
    font-size: clamp(16px, 1.2vw, 18px);
    font-weight: 600;
    font-family: Inter, sans-serif
}

.btn-primary:hover {
    background-color: #000;
    border-color: #000
}

/* CLS fix: lock logo anchor height so swapping brand-logo/brand-logo-s
   does not shift the top-header layout on mobile. */

.header-service {
    display: flex;
    align-items: center;
    gap: 0
}

.emergency-service {
    display: flex;
    flex-direction: column
}

.emergency-service p {
    margin: 0;
    display: flex;
    justify-content: end;
    gap: 9px;
    font-size: 14px;
    font-weight: 600;
    color: #000
}

.nav-link:focus-visible {
    box-shadow: none
}

.dropdown-menu.show .dropdown-toggle.nav-link {
    position: relative
}

.dropdown-menu .dropdown .dropdown-toggle:after {
    transform: rotate(270deg)
}

/* Desktop Styles */

.home-banner {
    background: radial-gradient(98.75% 509.43% at 0 10.41%, #fff 0, #319a52 100%)
}

.call img {
    transform: rotate(260deg)
}

.faq-section .accordion-item .accordion-button {
    background: none;
    color: #2d2d2d;
    padding-left: 80px !important;
    border-radius: 0 !important;
    font-size: 18px;
    font-weight: 500;
    box-shadow: none;
    padding-top: 20px;
    padding-bottom: 20px
}

.faq-section .accordion-item .accordion-button:after {
    content: "";
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%233bb44d'%3E%3Crect x='3' y='9' width='14' height='2' rx='1'/%3E%3C/svg%3E");
    height: 20px;
    width: 20px;
    background-size: 100%;
    background-position: 50%;
    position: absolute;
    left: 23px;
    top: 50%;
    transform: translateY(-50%)
}

.faq-section .accordion-item .accordion-button:focus {
    box-shadow: none
}

.faq-section .accordion-item .accordion-button.collapsed:after {
    content: "";
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%233bb44d'%3E%3Cpath d='M9 3h2v6h6v2h-6v6h-2v-6H3V9h6V3z'/%3E%3C/svg%3E");
    height: 20px;
    width: 20px;
    background-size: 100%;
    background-position: 50%;
    position: absolute;
    left: 23px;
    top: 50%;
    transform: translateY(-50%)
}

.slick-dots {
    margin-top: clamp(16px, 3.1vw, 30px);
    position: unset
}

.slick-dots li button:before {
    content: "";
    width: 7px;
    height: 7px;
    display: inline-block;
    background: #d9d9d9;
    border-radius: 50%;
    position: unset;
    opacity: 1
}

.slick-dots li button:hover:before {
    background: #000
}

.slick-dots li.slick-active {
    width: 40px
}

.slick-dots li.slick-active button:before {
    background: #319a52;
    width: 40px;
    border-radius: 40px;
    opacity: 1
}

.slick-dots li button {
    padding: 0;
    width: auto
}

.slick-dots li {
    width: auto
}

.slick-slide>div {
    height: 100%;
    margin: 0 5px
}

.slick-track {
    margin: 0 -5px;
    display: flex
}

.slick-slide {
    height: auto
}

.testimonials .slick-slide>div {
    margin: 0 18px
}

.footer {
    background: #f2f2f2;
    padding: 32px 0
}

.footer .footer-col {
    width: 33.33%;
    padding: 0 15px
}

.footer .footer-col ul li:not(:last-child) {
    margin-bottom: 13px
}

.footer .footer-col ul li a {
    font-size: 14px;
    text-transform: capitalize;
    color: #000;
    text-decoration: none;
    font-weight: 400;
    display: block;
    transition: all .3s ease
}

.footer .footer-col ul li a:hover {
    color: #319a52
}

.footer .email_text {
    font-size: 14px;
    font-weight: 600;
    color: #000;
    margin-top: 18px
}

.footer .email_text a {
    font-weight: 400
}

.new-footer .footer-col {
    display: flex;
    gap: 12px;
    align-items: start;
    width: 100%
}

.new-footer .footer-col ul {
    display: flex;
    gap: 20px;
    align-items: center;
    width: 100%;
    flex-wrap: wrap
}

.new-footer .footer-col ul li {
    margin: 0 !important
}

.new-footer .footer-col ul a {
    white-space: nowrap
}

/* Scrollbar: using browser native default (no custom styling) to match live site */

/* ===== CALL ICON ===== */

.hidden {
    display: none
}

@media only screen and (max-width:767px) {
    /* CLS fix: use visibility:hidden instead of display:none so the
       header-service box keeps its reserved space and does not collapse
       the top-header height, avoiding a layout shift. */
    .header-service {
        visibility: hidden;
        pointer-events: none
    }

    /* CLS prevention: before VCarousel initializes on mobile, render the
       insurance-logos as a single-row strip with overflow:hidden so the
       section takes the same height pre-init and post-init. Once VCarousel
       adds .slick-initialized the pre-init rule releases. */

    .footer .footer-col {
        padding: 0;
        width: 100%
    }

    .footer .footer-col .footer-col-links.active {
        display: block
    }

    .footer .footer-col ul li:last-child {
        margin-bottom: 20px
    }

    .modal-dialog.ebook-modal-wrapper.p-3 {
        padding: 0 !important
    }

    .modal-dialog.ebook-modal-wrapper.p-3 .modal-content {
        margin-top: 70px
    }
}

@media only screen and (max-width:575px) {

    /* CLS fix: keep the logo anchor at the same min-height so the
       smaller logo does not shrink the top-header. */
}

@media only screen and (max-width:480px) {

    /* CLS fix: keep visibility:hidden (already set at 767px) rather
       than display:none so space is preserved. */
    .header-service {
        visibility: hidden;
        pointer-events: none
    }
}


/* Styling overrides for exact live site parity */

.single-blog .blog_sandiego_title {
  font-family: 'latoregular', 'Lato', sans-serif !important;
  font-size: 36px !important;
  font-weight: 600 !important;
  line-height: 41px !important;
  color: rgb(58, 181, 75) !important;
  margin: 0px 0px 11px !important;
  padding: 0px 0px 10px !important;
}

.single-blog .small_heading_title {
  font-family: 'latoregular', 'Lato', sans-serif !important;
  font-size: 24px !important;
  font-weight: 600 !important;
  line-height: 36px !important;
  color: rgb(0, 0, 0) !important;
  margin: 0px 0px 11px !important;
  padding: 0px !important;
}

.single-blog .contant_wroper p {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 26px !important;
  color: rgb(51, 51, 51) !important;
  margin: 0px 0px 22px !important;
  padding: 0px !important;
}

.single-blog .contant_wroper p strong {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 26px !important;
  color: rgb(51, 51, 51) !important;
  margin: 0px !important;
  padding: 0px !important;
}

.single-blog .contant_wroper blockquote {
  font-family: 'latoregular', 'Lato', sans-serif !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 28.8px !important;
  color: rgb(128, 128, 128) !important;
  margin: 0px 0px 22px !important;
  padding: 0px 0px 0px 22px !important;
}

.single-blog .contant_wroper blockquote p {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 26px !important;
  color: rgb(51, 51, 51) !important;
  margin: 0px 0px 22px !important;
  padding: 0px !important;
}

