.elementor-9616 .elementor-element.elementor-element-86c8d3a{--display:flex;--margin-top:0rem;--margin-bottom:0rem;--margin-left:0rem;--margin-right:0rem;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-9616 .elementor-element.elementor-element-0b00994 > .elementor-widget-container{margin:0px 0px 0px -6px;padding:0.5rem 0rem 1.4rem 0rem;}.elementor-9616 .elementor-element.elementor-element-0b00994 .elementor-heading-title{font-family:var( --e-global-typography-d5e0781-font-family ), Sans-serif;font-size:var( --e-global-typography-d5e0781-font-size );font-weight:var( --e-global-typography-d5e0781-font-weight );text-transform:var( --e-global-typography-d5e0781-text-transform );line-height:var( --e-global-typography-d5e0781-line-height );color:var( --e-global-color-text );}.elementor-9616 .elementor-element.elementor-element-9c684a2{--display:flex;}.elementor-widget-portfolio a .elementor-portfolio-item__overlay{background-color:var( --e-global-color-accent );}.elementor-widget-portfolio .elementor-portfolio-item__title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-portfolio .elementor-portfolio__filter{color:var( --e-global-color-text );font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-portfolio .elementor-portfolio__filter.elementor-active{color:var( --e-global-color-primary );}.elementor-msie .elementor-9616 .elementor-element.elementor-element-47d4c50 .elementor-portfolio-item{width:calc( 100% / 3 );}.elementor-9616 .elementor-element.elementor-element-47d4c50{--grid-row-gap:1rem;--grid-column-gap:1rem;}.elementor-9616 .elementor-element.elementor-element-47d4c50 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-9616 .elementor-element.elementor-element-47d4c50 a .elementor-portfolio-item__overlay{background-color:#00000000;}.elementor-9616 .elementor-element.elementor-element-47d4c50 .elementor-portfolio__filter.elementor-active{color:#FFFFFF;}.elementor-9616 .elementor-element.elementor-element-47d4c50 .elementor-portfolio__filter{font-family:"Space Grotesk", Sans-serif;font-size:1em;font-weight:500;text-transform:uppercase;}.elementor-9616 .elementor-element.elementor-element-47d4c50 .elementor-portfolio__filter:not(:last-child){margin-right:calc(25px/2);}.elementor-9616 .elementor-element.elementor-element-47d4c50 .elementor-portfolio__filter:not(:first-child){margin-left:calc(25px/2);}.elementor-9616 .elementor-element.elementor-element-47d4c50 .elementor-portfolio__filters{margin-bottom:25px;}:root{--page-title-display:none;}@media(max-width:1024px){.elementor-9616 .elementor-element.elementor-element-86c8d3a{--padding-top:0px;--padding-bottom:0px;--padding-left:25px;--padding-right:025px;}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}.elementor-9616 .elementor-element.elementor-element-0b00994 .elementor-heading-title{font-size:var( --e-global-typography-d5e0781-font-size );line-height:var( --e-global-typography-d5e0781-line-height );}.elementor-widget-portfolio .elementor-portfolio-item__title{font-size:var( --e-global-typography-primary-font-size );}.elementor-widget-portfolio .elementor-portfolio__filter{font-size:var( --e-global-typography-primary-font-size );}.elementor-msie .elementor-9616 .elementor-element.elementor-element-47d4c50 .elementor-portfolio-item{width:calc( 100% / 2 );}}@media(max-width:767px){.elementor-9616 .elementor-element.elementor-element-86c8d3a{--margin-top:0rem;--margin-bottom:0rem;--margin-left:0rem;--margin-right:0rem;--padding-top:0px;--padding-bottom:0px;--padding-left:25px;--padding-right:25px;}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}.elementor-9616 .elementor-element.elementor-element-0b00994 > .elementor-widget-container{margin:-12px 0px 0px -5px;padding:0rem 0rem 0rem 0rem;}.elementor-9616 .elementor-element.elementor-element-0b00994 .elementor-heading-title{font-size:var( --e-global-typography-d5e0781-font-size );line-height:var( --e-global-typography-d5e0781-line-height );}.elementor-widget-portfolio .elementor-portfolio-item__title{font-size:var( --e-global-typography-primary-font-size );}.elementor-widget-portfolio .elementor-portfolio__filter{font-size:var( --e-global-typography-primary-font-size );}.elementor-msie .elementor-9616 .elementor-element.elementor-element-47d4c50 .elementor-portfolio-item{width:calc( 100% / 1 );}.elementor-9616 .elementor-element.elementor-element-47d4c50 .elementor-portfolio__filter{font-size:1.5rem;}}/* Start custom CSS for portfolio, class: .elementor-element-47d4c50 *//* Button styling  */
.elementor-portfolio__filters .elementor-portfolio__filter {
    border: 1px solid #000;
    border-radius: 25px;
    padding: 1px 16px;
    transition: all 0.3s ease;
    background-color: #fff;
    color: #000;
    width: auto; /* Changed from fixed to auto */
    min-width: max-content; /* Ensures button doesn't get too small */
    text-align: center;
    display: inline-block;
    margin: 5px;
}

.elementor-portfolio__filters .elementor-portfolio__filter:hover {
    background-color: #000;
    color: #fff !important;
    border-color: #000;
}

.elementor-portfolio__filters .elementor-portfolio__filter.elementor-active {
    background-color: #000;
    color: #fff !important;
    border-color: #000;
}

/* Target the filters container to align left */
.elementor-widget-portfolio .elementor-portfolio__filters {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    text-align: left;
    padding-left: 0;
    margin-left: 0;
}

/* Remove margin from first button to align with content */
.elementor-portfolio__filters .elementor-portfolio__filter:first-child {
    margin-left: 0;
}

/* Create space for the title underneath the image */
.elementor-portfolio-item {
    padding-bottom: 40px !important; /* Space for title */
    position: relative !important;
}

/* Make the image container maintain its original dimensions */
.elementor-portfolio-item__img {
    width: 100% !important;
    height: auto !important;
    position: relative !important;
}

/* Position the overlay (which contains the title) absolutely below the image */
.elementor-portfolio-item__overlay {
    background-color: transparent !important;
    position: absolute !important;
    top: 100% !important; /* Position below the image */
    height: auto !important;
    min-height: 0 !important;
    padding: 25px 0 !important;
    opacity: 1 !important;
}

/* Style the title */
.elementor-portfolio-item__overlay .elementor-portfolio-item__title {
    color: #000 !important;
    font-weight: 600 !important;
    text-align: left !important;
    position: static !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Ensure the overlay is always visible */
.elementor-portfolio .elementor-portfolio-item:hover .elementor-portfolio-item__overlay {
    opacity: 1 !important;
}

/* Critical: Keep the portfolio item element and content visible at all times */
.elementor-portfolio .elementor-portfolio-item {
    opacity: 1 !important; 
    visibility: visible !important;
}

/* Mobile styles for buttons - apply to screens 767px and below */
@media (max-width: 767px) {
    .elementor-portfolio__filters .elementor-portfolio__filter {
        width: auto; /* Change from fixed width to auto */
        min-width: 70px; /* Slightly smaller minimum width */
        padding: 1px 16px; /* Keep your padding */
        font-size: 14px; /* Smaller font */
        margin: 0 8px 8px 0; /* Right and bottom margin only */
    }
    
    /* Container adjustments for mobile - ensure strict left alignment */
    .elementor-widget-portfolio .elementor-portfolio__filters {
        justify-content: flex-start !important;
        flex-wrap: wrap;
        margin: 0 0 30px 0; /* Bottom margin only */
        padding: 0;
        text-align: left !important;
        width: 100%;
    }
    
    /* First button should align exactly with left edge */
    .elementor-portfolio__filters .elementor-portfolio__filter:first-child {
        margin-left: 0 !important;
    }
    
    /* Ensure no floating elements interfere */
    .elementor-portfolio__filters:after {
        content: none !important;
    }
}

/* Small mobile adjustments (for phones under 480px) */
@media (max-width: 480px) {

    body .elementor-portfolio__filters .elementor-portfolio__filter {
        font-size: 20px !important;
        padding: 1px 10px !important;
        margin: 0 6px 6px 0 !important;
    }
    
    .elementor-widget-portfolio .elementor-portfolio__filters {
        row-gap: 5px; /* Space between rows */
        margin-bottom: 20px; /* Reduce bottom margin */
    }
    
    /* Force strict left alignment */
    .elementor-portfolio__filters {
        margin-left: 0 !important;
        padding-left: 0 !important;
    }
    
}/* End custom CSS */