.elementor-41 .elementor-element.elementor-element-1067c71{border-style:solid;border-width:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-41 .elementor-element.elementor-element-1c05432 > .elementor-element-populated{padding:0px 0px 0px 0px;}.elementor-41 .elementor-element.elementor-element-8243230{padding:0px 0px 0px 0px;}.elementor-41 .elementor-element.elementor-element-fd95855 > .elementor-element-populated{padding:0px 0px 0px 0px;}.elementor-widget-theme-site-logo .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-41 .elementor-element.elementor-element-ed5ec9b.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-41 .elementor-element.elementor-element-ed5ec9b{z-index:9;text-align:start;}.elementor-41 .elementor-element.elementor-element-ed5ec9b img{width:192px;max-width:100%;height:89px;object-fit:scale-down;object-position:center center;border-style:none;}.elementor-bc-flex-widget .elementor-41 .elementor-element.elementor-element-199cfb7.elementor-column .elementor-widget-wrap{align-items:center;}.elementor-41 .elementor-element.elementor-element-199cfb7.elementor-column.elementor-element[data-element_type="column"] > .elementor-widget-wrap.elementor-element-populated{align-content:center;align-items:center;}.elementor-41 .elementor-element.elementor-element-199cfb7 > .elementor-element-populated{padding:0px 0px 0px 0px;}.elementor-widget-nav-menu .elementor-nav-menu .elementor-item{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item{color:var( --e-global-color-text );fill:var( --e-global-color-text );}.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:hover,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.elementor-item-active,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.highlighted,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:focus{color:var( --e-global-color-accent );fill:var( --e-global-color-accent );}.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:before,
					.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:after{background-color:var( --e-global-color-accent );}.elementor-widget-nav-menu .e--pointer-framed .elementor-item:before,
					.elementor-widget-nav-menu .e--pointer-framed .elementor-item:after{border-color:var( --e-global-color-accent );}.elementor-widget-nav-menu{--e-nav-menu-divider-color:var( --e-global-color-text );}.elementor-widget-nav-menu .elementor-nav-menu--dropdown .elementor-item, .elementor-widget-nav-menu .elementor-nav-menu--dropdown  .elementor-sub-item{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-41 .elementor-element.elementor-element-0a665e1{margin:-12px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;z-index:1;--e-nav-menu-horizontal-menu-item-margin:calc( 0px / 2 );}.elementor-41 .elementor-element.elementor-element-0a665e1 .elementor-menu-toggle{margin-left:auto;}.elementor-41 .elementor-element.elementor-element-0a665e1 .elementor-nav-menu .elementor-item{font-family:"Inter", Sans-serif;font-size:15px;font-weight:500;text-transform:capitalize;letter-spacing:0px;}.elementor-41 .elementor-element.elementor-element-0a665e1 .elementor-nav-menu--main .elementor-item{color:#020202;fill:#020202;}.elementor-41 .elementor-element.elementor-element-0a665e1 .elementor-nav-menu--main .elementor-item:hover,
					.elementor-41 .elementor-element.elementor-element-0a665e1 .elementor-nav-menu--main .elementor-item.elementor-item-active,
					.elementor-41 .elementor-element.elementor-element-0a665e1 .elementor-nav-menu--main .elementor-item.highlighted,
					.elementor-41 .elementor-element.elementor-element-0a665e1 .elementor-nav-menu--main .elementor-item:focus{color:#688E4E;fill:#688E4E;}.elementor-41 .elementor-element.elementor-element-0a665e1 .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:before,
					.elementor-41 .elementor-element.elementor-element-0a665e1 .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:after{background-color:#24A2CA00;}.elementor-41 .elementor-element.elementor-element-0a665e1 .e--pointer-framed .elementor-item:before,
					.elementor-41 .elementor-element.elementor-element-0a665e1 .e--pointer-framed .elementor-item:after{border-color:#24A2CA00;}.elementor-41 .elementor-element.elementor-element-0a665e1 .elementor-nav-menu--main:not(.elementor-nav-menu--layout-horizontal) .elementor-nav-menu > li:not(:last-child){margin-bottom:0px;}.elementor-41 .elementor-element.elementor-element-0a665e1 .elementor-nav-menu--dropdown .elementor-item, .elementor-41 .elementor-element.elementor-element-0a665e1 .elementor-nav-menu--dropdown  .elementor-sub-item{font-family:"Roboto", Sans-serif;font-size:15px;font-weight:500;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(max-width:1024px){.elementor-41 .elementor-element.elementor-element-ed5ec9b img{height:128px;}}@media(min-width:768px){.elementor-41 .elementor-element.elementor-element-fd95855{width:17.807%;}.elementor-41 .elementor-element.elementor-element-199cfb7{width:82.193%;}}@media(max-width:767px){.elementor-41 .elementor-element.elementor-element-fd95855{width:50%;}.elementor-41 .elementor-element.elementor-element-ed5ec9b{width:var( --container-widget-width, 209.5px );max-width:209.5px;--container-widget-width:209.5px;--container-widget-flex-grow:0;text-align:start;}.elementor-41 .elementor-element.elementor-element-ed5ec9b img{height:88px;}.elementor-41 .elementor-element.elementor-element-199cfb7{width:50%;}.elementor-41 .elementor-element.elementor-element-199cfb7 > .elementor-element-populated{margin:10px 0px 0px 0px;--e-column-margin-right:0px;--e-column-margin-left:0px;}}/* Start custom CSS for section, class: .elementor-element-1067c71 *//* ==========================================
   1. BACKGROUND, PADDING, AND POSITIONING
   ========================================== */

/* Force the header to be fixed at the top on all devices right on load */
section[data-id="b6c6feb"] {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    z-index: 9999 !important;
    margin: 0 !important;
    transition: background-color 0.4s ease-in-out, padding 0.4s ease-in-out, min-height 0.4s ease-in-out !important;
}

/* Make background white, drop min-height, and reduce padding on scroll */
section[data-id="b6c6feb"].scrolled-header-active {
    background-color: #ffffff !important;
    min-height: 0 !important; 
    padding-top: 10px !important; 
    padding-bottom: 0px !important; 
}

/* Change desktop and mobile menu text to black */
.scrolled-header-active .elementor-nav-menu a.elementor-item {
    color: #000000 !important;
    transition: color 0.4s ease-in-out, background-color 0.4s ease-in-out;
}

/* Change the mobile menu hamburger icon to black */
.scrolled-header-active .elementor-menu-toggle i {
    color: #000000 !important;
}


/* ==========================================
   2. LOGO SHRINKING
   ========================================== */

/* Add transition to the logo for smooth scaling */
.elementor-element-9de1f0a img,
.elementor-element-9de1f0a .elementor-widget-container {
    transition: all 0.4s ease-in-out !important;
}

/* Force the wrappers around the image to shrink */
.scrolled-header-active .elementor-element-9de1f0a .elementor-widget-container,
.scrolled-header-active .elementor-element-9de1f0a a {
    max-height: 60px !important;
    display: flex;
    align-items: center;
}

/* Aggressively target the image to override the hardcoded HTML height */
.scrolled-header-active .elementor-element-9de1f0a img {
    max-height: 60px !important;
    height: 60px !important; 
    width: auto !important;
    object-fit: contain; 
    transform: translateY(-5px) !important; /* Nudges the logo up by 5px */
    margin-left:4px;
}


/* ==========================================
   3. "CONTACT" BUTTON STYLING (LAST MENU ITEM)
   ========================================== */

/* Default State (Top of page): White button, Black text */
.elementor-nav-menu > li:last-child > a.elementor-item {
    background-color: #688e4e!important;
    color: #ffffff !important;
    border: 1px solid #ffffff !important;
    border-radius: 50px !important; /* Creates the 'rounded-full' pill shape */
    padding: 8px 24px !important;   /* Replicates the px-3 py-1.5 spacing */
    font-size: 15px !important;     /* From your text-[15px] class */
    line-height: 1.5 !important;
    align-self: center;             /* Keeps it vertically aligned in the menu */
}

/* Hover effect for the button (Top of page) */
.elementor-nav-menu > li:last-child > a.elementor-item:hover {
    background-color: #f0f0f0 !important; color:#688e4e!important;
    border-color: #688e4e !important; font-weight:700!important;
}

/* Scrolled State: Black button, White text */
.scrolled-header-active .elementor-nav-menu > li:last-child > a.elementor-item {
    background-color: #000000 !important;
    color: #ffffff !important;
    border-color: #000000 !important;
}

/* Hover effect for the button (Scrolled State) */
.scrolled-header-active .elementor-nav-menu > li:last-child > a.elementor-item:hover {
    background-color: #333333 !important;
    border-color: #333333 !important;
}

/* ==========================================
   4. MOBILE DROPDOWN MENU STYLING
   ========================================== */

/* Target the mobile dropdown menu links */

/* ==========================================
   5. FIX MOBILE DROPDOWN GAP ON SCROLL
   ========================================== */

@media screen and (max-width: 1024px) {
    /* Force the dropdown to ignore Elementor's JS pixels and glue itself to the bottom */
    section[data-id="b6c6feb"] .elementor-nav-menu--dropdown {
        top: 100% !important; 
        margin-top: 0 !important;
        transition: top 0.4s ease-in-out !important;
    }
    
    /* Push the mobile menu links further down from the top of the screen */
.elementor-nav-menu--toggle .elementor-menu-toggle.elementor-active + .elementor-nav-menu__container {
    padding-top: 40px !important; 
}
} 


@media screen and (max-width: 1024px) {
    .elementor-nav-menu__text-align-center .elementor-nav-menu--dropdown .elementor-nav-menu a {
        justify-content: flex-start !important; /* Aligns flex items to the left */
        text-align: left !important;            /* Backup for standard text alignment */
        border-top: 1px solid #08090a0d !important;
    }

    /* Optional: Remove the border from the very first item so it doesn't double up with the header */
    .elementor-nav-menu__text-align-center .elementor-nav-menu--dropdown .elementor-nav-menu li:first-child a {
        border-top: none !important;
    }
}

/* Target the active dropdown container */
.elementor-nav-menu--toggle .elementor-menu-toggle.elementor-active + .elementor-nav-menu__container {
    height: 100vh !important;  /* Standard full viewport height */
    height: 100dvh !important; /* Dynamic viewport height (fixes issues with mobile browser address bars) */
    display: flex !important;
    flex-direction: column !important;
    padding-bottom: 20px !important; /* Gives some breathing room at the very bottom */
    box-sizing: border-box !important;
}

/* Force the <ul> list to expand, kill the auto-margins, and fill the width */
.elementor-nav-menu--toggle .elementor-menu-toggle.elementor-active + .elementor-nav-menu__container > ul {
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;          /* Forces the list to span edge-to-edge */
    align-items: stretch !important; /* Ensures the list items fill the full width */
    margin: 0 !important;            /* Kills Elementor's auto-centering margins */
    padding: 0 !important;           /* Kills any default indent padding */
}
/* Push the very last list item to the bottom */
.elementor-nav-menu--dropdown .elementor-nav-menu > li:last-child {
    margin-top: auto !important; /* The magic trick that pushes it to the bottom */
    width: 100% !important;
    display: flex !important;
    justify-content: center !important; /* Centers the button within the row */
}

/* Style the last link as the 95% width button */
.elementor-nav-menu--dropdown .elementor-nav-menu > li:last-child > a.elementor-item {
    background-color: #000000 !important;
    color: #ffffff !important;
    width: 95% !important;
    border: none !important; /* Removes the top border we added to the other links */
    justify-content: center !important; /* Centers the text inside the button */
    text-align: center !important;
    border-radius: 50px !important; /* Keeps your pill shape */
}

/* Kills the dark Elementor background color AND keeps text black on hover/active states */
.elementor-nav-menu--dropdown .elementor-nav-menu > li:not(:last-child) > a.elementor-item:hover,
.elementor-nav-menu--dropdown .elementor-nav-menu > li:not(:last-child) > a.elementor-item.elementor-item-active,
.elementor-nav-menu--dropdown .elementor-nav-menu > li:not(:last-child) > a.elementor-item.highlighted {
    background-color: #ffffff !important; 
    color: #000000 !important; /* This forces the text to stay black! */
}

.elementor-menu-toggle {

border: 2px solid #21a0ca !important;
    border-radius: 200px !important;
    color: #21a0ca !important;
    margin-right: 30px;

}/* End custom CSS */