.elementor-3107 .elementor-element.elementor-element-855d0d2{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-3107 .elementor-element.elementor-element-e341fd5{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--margin-top:0rem;--margin-bottom:0rem;--margin-left:-0.6rem;--margin-right:0rem;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-3107 .elementor-element.elementor-element-1bd9fb2 .elementor-heading-title{font-family:"GT America Bold", Sans-serif;font-size:1.9rem;font-weight:700;letter-spacing:0.15rem;color:#8D8176;}.elementor-3107 .elementor-element.elementor-element-85b435f .elementor-heading-title{font-family:"GT-America-Regular", Sans-serif;font-size:1.9rem;font-weight:300;letter-spacing:0.15rem;color:#8D8176;}.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-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-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-portfolio .elementor-portfolio__filter.elementor-active{color:var( --e-global-color-primary );}.elementor-3107 .elementor-element.elementor-element-f6760ee .elementor-post__thumbnail__link{padding-bottom:calc( 0.27 * 100% );}.elementor-3107 .elementor-element.elementor-element-f6760ee:after{content:"0.27";position:absolute;color:transparent;}.elementor-3107 .elementor-element.elementor-element-f6760ee{--grid-row-gap:6px;--grid-column-gap:7px;}.elementor-3107 .elementor-element.elementor-element-f6760ee.elementor-element{--flex-grow:1;--flex-shrink:1;}.elementor-3107 .elementor-element.elementor-element-f6760ee a .elementor-portfolio-item__overlay{background-color:#FFFFFF00;}.elementor-3107 .elementor-element.elementor-element-f6760ee a .elementor-portfolio-item__title{color:#00000000;}.elementor-3107 .elementor-element.elementor-element-f6760ee .elementor-portfolio-item__title{font-family:"Roboto", Sans-serif;font-weight:700;}.elementor-3107 .elementor-element.elementor-element-f6760ee .elementor-portfolio__filter:not(:last-child){margin-right:calc(10px/2);}.elementor-3107 .elementor-element.elementor-element-f6760ee .elementor-portfolio__filter:not(:first-child){margin-left:calc(10px/2);}.elementor-3107 .elementor-element.elementor-element-f6760ee .elementor-portfolio__filters{margin-bottom:10px;}@media(max-width:1024px){.elementor-3107 .elementor-element.elementor-element-e341fd5{--margin-top:0rem;--margin-bottom:0rem;--margin-left:-0.5rem;--margin-right:0rem;}}@media(min-width:768px){.elementor-3107 .elementor-element.elementor-element-855d0d2{--content-width:1392px;}}@media(max-width:767px){.elementor-3107 .elementor-element.elementor-element-e341fd5{--gap:0rem 0rem;--row-gap:0rem;--column-gap:0rem;}}/* Start custom CSS for portfolio, class: .elementor-element-f6760ee *//* =========================================
   PORTFOLIO IMAGES — B&W → COLOR ON HOVER
   ========================================= */

.elementor-3107 .elementor-element.elementor-element-f6760ee .elementor-portfolio-item__img {
    filter: grayscale(100%);
    transition: filter 0.4s ease;
}

.elementor-3107 .elementor-element.elementor-element-f6760ee .elementor-portfolio-item:hover .elementor-portfolio-item__img {
    filter: grayscale(0%) !important;
}


/* =========================================
   PORTFOLIO TITLE — DIFFUSE WHITE GLOW
   ========================================= 

.elementor-3107 .elementor-element.elementor-element-f6760ee .elementor-portfolio-item__overlay .elementor-portfolio-item__title {
    text-shadow:
        0 0 10px rgba(255,255,255,0.9),
        0 0 22px rgba(255,255,255,0.65),
        0 0 35px rgba(255,255,255,0.4) !important;*/
}


/* =========================================
   PORTFOLIO HEIGHT
   ========================================= */

.elementor-3107 .elementor-element.elementor-element-f6760ee {
    min-height: 800px !important;
}


/* =========================================
   FILTER — COLLAPSIBLE
   ========================================= */


/* Filter area */

.elementor-3107 .elementor-element.elementor-element-f6760ee .elementor-portfolio__filters {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: center !important;

    column-gap: 24px !important;
    row-gap: 18px !important;

    margin-bottom: 0 !important;

    max-height: 0;
    overflow: hidden;

    opacity: 0;

    transition:
        max-height 0.35s ease,
        opacity 0.25s ease,
        margin-bottom 0.35s ease;
}


/* OPEN FILTER */

.elementor-3107 .elementor-element.elementor-element-f6760ee.filter-open .elementor-portfolio__filters {
    max-height: 200px;

    opacity: 1;

    margin-bottom: 60px !important;
}


/* =========================================
   FILTER TEXT
   ========================================= */

.elementor-3107 .elementor-element.elementor-element-f6760ee .elementor-portfolio__filter {
    background: transparent !important;
    border: none !important;

    padding: 4px 0 !important;

    color: #777 !important;

    font-size: 12px !important;
    font-weight: 400 !important;

    letter-spacing: 1.2px !important;

    text-transform: uppercase !important;

    white-space: nowrap !important;

    transition:
        color 0.3s ease,
        opacity 0.3s ease;
}


/* Filter hover */

.elementor-3107 .elementor-element.elementor-element-f6760ee .elementor-portfolio__filter:hover {
    color: #000 !important;
}


/* Active filter */

.elementor-3107 .elementor-element.elementor-element-f6760ee .elementor-portfolio__filter.elementor-active {
    color: #000 !important;
    font-weight: 500 !important;
}


/* =========================================
   FILTER TOGGLE
   ========================================= */

.elementor-3107 .elementor-element.elementor-element-f6760ee .portfolio-filter-toggle {
    display: flex;

    justify-content: center;
    align-items: center;

    gap: 8px;

    width: 100%;

    margin-bottom: 18px;

    cursor: pointer;

    color: #777;

    font-size: 11px;

    font-weight: 400;

    letter-spacing: 1.5px;

    text-transform: uppercase;

    user-select: none;

    transition: color 0.25s ease;
}


.elementor-3107 .elementor-element.elementor-element-f6760ee .portfolio-filter-toggle:hover {
    color: #000;
}


/* + / − */

.elementor-3107 .elementor-element.elementor-element-f6760ee .portfolio-filter-toggle-symbol {
    font-size: 15px;

    line-height: 1;

    font-weight: 300;

    transition: transform 0.3s ease;
}


/* Rotate + when open */

.elementor-3107 .elementor-element.elementor-element-f6760ee.filter-open .portfolio-filter-toggle-symbol {
    transform: rotate(45deg);
}


/* =========================================
   WHEEL ZOOM — GRID
   ========================================= */

.elementor-3107 .elementor-element.elementor-element-f6760ee .elementor-portfolio {
    display: grid !important;

    grid-template-columns: repeat(4, minmax(0, 1fr));

    column-gap: 4px !important;
    row-gap: 4px !important;

    height: auto !important;
}


/* Portfolio cards */

.elementor-3107 .elementor-element.elementor-element-f6760ee .elementor-portfolio-item {
    position: relative !important;

    top: auto !important;
    left: auto !important;

    width: auto !important;

    margin: 0 !important;
}


/* =========================================
   3 COLUMNS
   ========================================= */

.elementor-3107 .elementor-element.elementor-element-f6760ee .elementor-portfolio.wz-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}


/* =========================================
   2 COLUMNS
   ========================================= */

.elementor-3107 .elementor-element.elementor-element-f6760ee .elementor-portfolio.wz-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}


/* =========================================
   1 COLUMN
   ========================================= */

.elementor-3107 .elementor-element.elementor-element-f6760ee .elementor-portfolio.wz-1 {
    grid-template-columns: 1fr;
}


/* =========================================
   VIEW TRANSITION
   ========================================= */

::view-transition-old(root),
::view-transition-new(root) {
    animation: none !important;
}


::view-transition-group(*) {
    animation-duration: 0.45s;

    animation-timing-function:
        cubic-bezier(0.22, 0.61, 0.36, 1);
}


::view-transition-old(*),
::view-transition-new(*) {
    animation-duration: 0.45s;

    animation-timing-function:
        cubic-bezier(0.22, 0.61, 0.36, 1);
}/* End custom CSS */