.elementor-widget-container .eael-protected-content-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-container .protected-content-error-msg{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-5497 .elementor-element.elementor-element-4daaf73b{--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;--padding-top:80px;--padding-bottom:10px;--padding-left:20px;--padding-right:20px;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-button .eael-protected-content-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-button .protected-content-error-msg{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-5497 .elementor-element.elementor-element-6cd7e364 .elementor-button{background-color:#C7F66D00;font-family:"Degular", Sans-serif;font-size:24px;font-weight:500;letter-spacing:1px;fill:#FFFFFF;color:#FFFFFF;transition-duration:500ms;padding:0px 0px 0px 0px;}.elementor-5497 .elementor-element.elementor-element-6cd7e364 .elementor-button:hover, .elementor-5497 .elementor-element.elementor-element-6cd7e364 .elementor-button:focus{background-color:#A7D35400;color:#C7F66D;}.elementor-5497 .elementor-element.elementor-element-6cd7e364 > .elementor-widget-container{padding:0px 0px 0px 0px;}.elementor-5497 .elementor-element.elementor-element-6cd7e364 .elementor-button-content-wrapper{flex-direction:row;}.elementor-5497 .elementor-element.elementor-element-6cd7e364 .elementor-button .elementor-button-content-wrapper{gap:26px;}.elementor-5497 .elementor-element.elementor-element-6cd7e364 .elementor-button:hover svg, .elementor-5497 .elementor-element.elementor-element-6cd7e364 .elementor-button:focus svg{fill:#C7F66D;}.elementor-5497 .elementor-element.elementor-element-6203116{--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;--padding-top:50px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-widget-heading .eael-protected-content-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-heading .protected-content-error-msg{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.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 );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );color:var( --e-global-color-primary );}.elementor-5497 .elementor-element.elementor-element-17ed5150 .elementor-heading-title{font-family:"Neue Haas Grotesk Display Pro", Sans-serif;font-size:60px;font-weight:300;line-height:1em;letter-spacing:0px;color:#FFFFFF;}.elementor-5497 .elementor-element.elementor-element-68a80757{--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;--gap:30px 30px;--row-gap:30px;--column-gap:30px;--padding-top:40px;--padding-bottom:80px;--padding-left:20px;--padding-right:20px;}.elementor-5497 .elementor-element.elementor-element-15139abd{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-shortcode .eael-protected-content-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-shortcode .protected-content-error-msg{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-5497 .elementor-element.elementor-element-4dc6eb26{--display:flex;--gap:30px 30px;--row-gap:30px;--column-gap:30px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-text-editor .eael-protected-content-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-text-editor .protected-content-error-msg{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-5497 .elementor-element.elementor-element-9521708 > .elementor-widget-container{padding:10px 0px 0px 0px;}.elementor-5497 .elementor-element.elementor-element-9521708{text-align:left;font-family:"Neue Haas Grotesk Display Pro", Sans-serif;font-size:16px;font-weight:400;line-height:1.3em;letter-spacing:1px;color:#FFFFFF;}.elementor-5497 .elementor-element.elementor-element-ecbcca8 > .elementor-widget-container{padding:10px 0px 10px 0px;}.elementor-5497 .elementor-element.elementor-element-ecbcca8{text-align:left;font-family:"Neue Haas Grotesk Display Pro", Sans-serif;font-size:24px;font-weight:400;line-height:1.3em;letter-spacing:1px;color:#FFFFFF;}body.elementor-page-5497:not(.elementor-motion-effects-element-type-background), body.elementor-page-5497 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#101010;}@media(max-width:1024px){.elementor-5497 .elementor-element.elementor-element-4daaf73b{--padding-top:60px;--padding-bottom:10px;--padding-left:20px;--padding-right:20px;}.elementor-5497 .elementor-element.elementor-element-6cd7e364 .elementor-button{font-size:22px;}.elementor-5497 .elementor-element.elementor-element-6203116{--padding-top:60px;--padding-bottom:15px;--padding-left:20px;--padding-right:20px;}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-5497 .elementor-element.elementor-element-17ed5150 .elementor-heading-title{font-size:48px;}.elementor-5497 .elementor-element.elementor-element-68a80757{--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;--gap:60px 60px;--row-gap:60px;--column-gap:60px;--padding-top:20px;--padding-bottom:80px;--padding-left:20px;--padding-right:20px;}.elementor-5497 .elementor-element.elementor-element-9521708 > .elementor-widget-container{padding:5px 0px 0px 0px;}.elementor-5497 .elementor-element.elementor-element-9521708{font-size:15px;}.elementor-5497 .elementor-element.elementor-element-ecbcca8 > .elementor-widget-container{padding:5px 0px 0px 0px;}.elementor-5497 .elementor-element.elementor-element-ecbcca8{font-size:18px;}}@media(max-width:767px){.elementor-5497 .elementor-element.elementor-element-4daaf73b{--padding-top:40px;--padding-bottom:10px;--padding-left:20px;--padding-right:20px;}.elementor-5497 .elementor-element.elementor-element-6cd7e364 .elementor-button{font-size:20px;}.elementor-5497 .elementor-element.elementor-element-6203116{--padding-top:40px;--padding-bottom:10px;--padding-left:20px;--padding-right:20px;}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-5497 .elementor-element.elementor-element-17ed5150 .elementor-heading-title{font-size:31px;}.elementor-5497 .elementor-element.elementor-element-68a80757{--padding-top:20px;--padding-bottom:80px;--padding-left:20px;--padding-right:20px;}.elementor-5497 .elementor-element.elementor-element-15139abd{--gap:10px 10px;--row-gap:10px;--column-gap:10px;}.elementor-5497 .elementor-element.elementor-element-9521708 > .elementor-widget-container{padding:0px 0px 0px 0px;}.elementor-5497 .elementor-element.elementor-element-9521708{font-size:14px;}.elementor-5497 .elementor-element.elementor-element-ecbcca8 > .elementor-widget-container{padding:0px 0px 0px 0px;}.elementor-5497 .elementor-element.elementor-element-ecbcca8{font-size:16px;}}@media(min-width:768px){.elementor-5497 .elementor-element.elementor-element-15139abd{--width:50%;}.elementor-5497 .elementor-element.elementor-element-4dc6eb26{--width:50%;}}@media(max-width:1024px) and (min-width:768px){.elementor-5497 .elementor-element.elementor-element-15139abd{--width:100%;}.elementor-5497 .elementor-element.elementor-element-4dc6eb26{--width:100%;}}/* Start custom CSS for button, class: .elementor-element-6cd7e364 */.elementor-5497 .elementor-element.elementor-element-6cd7e364 .elementor-button-icon {
    width: 54px;
    height: 54px;
    padding: 0px;
    transition: 300ms;
}

.elementor-5497 .elementor-element.elementor-element-6cd7e364 .elementor-button-icon svg {
    width: 54px;
    height: 54px;
    transition: 300ms;
}

.elementor-5497 .elementor-element.elementor-element-6cd7e364 .elementor-button-content-wrapper {
     align-items: center;
    display:flex;
}

.elementor-5497 .elementor-element.elementor-element-6cd7e364 a.elementor-button:hover .elementor-button-icon {
    transform: translateX(-3px);
}

.elementor-5497 .elementor-element.elementor-element-6cd7e364 a.elementor-button:hover .elementor-button-icon svg path {
    fill: #C7F66D !important;
    transition: 300ms;
}

@media (max-width:767px) {
.elementor-5497 .elementor-element.elementor-element-6cd7e364 .elementor-button-icon {
    width: 44px;
    height: 44px;
    padding: 0px;
    transition: 300ms;
}

.elementor-5497 .elementor-element.elementor-element-6cd7e364 .elementor-button-icon svg {
    width: 44px;
    height: 44px;
    transition: 300ms;
}
}/* End custom CSS */
/* Start custom CSS *//* =========================================
   ECOI PROJECT
   Global Green: #C7F66D
========================================= */


/* =========================================
   PROJECT GALLERY
========================================= */

.ecoi-project-gallery {
    width: 100%;
}

.ecoi-project-gallery__viewport {
    position: relative;
    width: 100%;
    height: 530px;
    overflow: hidden;
    border-radius: 14px;
}

.ecoi-project-gallery__slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    visibility: hidden;

    transition:
        opacity 0.35s ease,
        visibility 0.35s ease;
}

.ecoi-project-gallery__slide.is-active {
    opacity: 1;
    visibility: visible;
}

.ecoi-project-gallery__slide img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}


/* =========================================
   GALLERY CONTROLS
========================================= */

.ecoi-project-gallery__controls {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 14px;
}

.ecoi-project-gallery__arrow {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 31px;
    height: 31px;
    padding: 7px;

    border: 2px solid #C7F66D;
    border-radius: 50%;
    background-color: transparent;

    cursor: pointer;

    appearance: none;
    -webkit-appearance: none;

    transition:
        background-color 0.2s ease,
        border-color 0.2s ease,
        opacity 0.2s ease;
}

.ecoi-project-gallery__arrow img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}


/* ACTIVE HOVER */

.ecoi-project-gallery__arrow:not(:disabled):hover {
    border-color: #C7F66D;
    background-color: rgba(199, 246, 109, 0.33);
}


/* ACTIVE KEYBOARD FOCUS */

.ecoi-project-gallery__arrow:focus {
    outline: none;
}

.ecoi-project-gallery__arrow:not(:disabled):focus-visible {
    border-color: #C7F66D;
    background-color: rgba(199, 246, 109, 0.33);

    outline: 2px solid #C7F66D;
    outline-offset: 3px;
}


/* =========================================
   DISABLED GALLERY ARROWS
========================================= */

.ecoi-project-gallery__arrow:disabled,
.ecoi-project-gallery__arrow:disabled:hover,
.ecoi-project-gallery__arrow:disabled:focus,
.ecoi-project-gallery__arrow:disabled:focus-visible {
    opacity: 0.3;

    border-color: #C7F66D;
    background-color: transparent;

    outline: none;

    cursor: not-allowed;
}


/* =========================================
   PROJECT DETAILS SHORTCODE WIDTH
========================================= */

/*
 * Force Elementor's shortcode widget and its
 * internal wrapper to occupy the full width
 * of the right-side container.
 */

.elementor-widget-shortcode:has(.ecoi-project-details-grid) {
    width: 100%;
    max-width: 100%;
    flex: 0 0 100%;
}

.elementor-widget-shortcode:has(.ecoi-project-details-grid)
.elementor-widget-container {
    width: 100%;
    max-width: 100%;
}


/* =========================================
   PROJECT DETAILS GRID
========================================= */

.ecoi-project-details-grid {
    display: grid;

    width: 100%;
    max-width: 100%;

    grid-template-columns: repeat(2, minmax(0, 1fr));

    column-gap: 40px;
    row-gap: 80px;
}


/* =========================================
   INDIVIDUAL DETAIL BLOCK
========================================= */

.ecoi-project-detail {
    position: relative;

    width: 100%;
    min-width: 0;

    padding-top: 13px;
}


/* ANIMATED TOP BORDER */

.ecoi-project-detail::before {
    content: "";

    position: absolute;
    top: 0;
    left: 0;

    width: 100%;
    height: 1px;

    background-color: #C7F66D;

    transform: scaleX(0);
    transform-origin: left center;

    animation:
        ecoi-project-border-reveal
        0.65s
        ease-out
        forwards;
}


/* SLIGHT STAGGER */

.ecoi-project-detail:nth-child(1)::before {
    animation-delay: 0.05s;
}

.ecoi-project-detail:nth-child(2)::before {
    animation-delay: 0.12s;
}

.ecoi-project-detail:nth-child(3)::before {
    animation-delay: 0.19s;
}

.ecoi-project-detail:nth-child(4)::before {
    animation-delay: 0.26s;
}


@keyframes ecoi-project-border-reveal {

    from {
        transform: scaleX(0);
    }

    to {
        transform: scaleX(1);
    }

}


/* =========================================
   DETAIL HEADINGS
========================================= */

.ecoi-project-detail__heading {
    margin: 0 0 10px;

    color: #C7F66D;

    font-family: "Degular", Sans-serif;
    font-size: 23px;
    font-weight: 700;
    line-height: 1.1;

    text-transform: uppercase;
}


/* =========================================
   DETAIL CONTENT
========================================= */

.ecoi-project-detail__content,
.ecoi-project-detail__item {
    color: #fff;
    font-family: "Neue Haas Grotesk Display Pro", Sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.35;
}

.ecoi-project-detail__item {
    padding-bottom:5px;
}


/* WYSIWYG CONTENT */

.ecoi-project-detail__item p {
    margin-top: 0;
    margin-bottom: 5px;

    color: #fff;
}

.ecoi-project-detail__item > *:first-child {
    margin-top: 0;
}

.ecoi-project-detail__item > *:last-child {
    margin-bottom: 0;
}


/* MULTIPLE REPEATER ROWS */

.ecoi-project-detail__item +
.ecoi-project-detail__item {
    margin-top: 5px;
}


/* =========================================
   DETAIL LINKS
========================================= */

.ecoi-project-detail__item a,
.ecoi-project-detail__item a:visited {
    color: #fff;

    text-decoration: underline;
    text-underline-offset: 2px;

    transition: opacity 0.2s ease;
}

.ecoi-project-detail__item a:hover,
.ecoi-project-detail__item a:focus {
    color: #fff;

    opacity: 0.75;
}


/* =========================================
   TABLET
   1024px AND BELOW
========================================= */

@media (max-width: 1024px) {

    .ecoi-project-gallery__viewport {
        height: 500px;
    }

    .ecoi-project-details-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));

        column-gap: 30px;
        row-gap: 55px;
    }

    .ecoi-project-detail__heading {
        font-size: 22px;
    }

    .ecoi-project-detail__content,
    .ecoi-project-detail__item {
        font-size: 15px;
    }

}


/* =========================================
   MOBILE
   767px AND BELOW
========================================= */

@media (max-width: 767px) {

    .ecoi-project-gallery__viewport {
        height: 400px;
    }

    .ecoi-project-details-grid {
        grid-template-columns: 1fr;

        column-gap: 0;
        row-gap: 40px;
    }

    .ecoi-project-detail__heading {
        font-size: 21px;
    }

    .ecoi-project-detail__content,
    .ecoi-project-detail__item {
        font-size: 14px;
    }

}


/* =========================================
   REDUCED MOTION
========================================= */

@media (prefers-reduced-motion: reduce) {

    .ecoi-project-detail::before {
        animation: none;

        transform: scaleX(1);
    }

    .ecoi-project-gallery__slide {
        transition: none;
    }

}


/* DESKTOP ONLY */

@media (min-width: 1025px) {

    .ecoi-project-gallery {
        opacity: 0;

        -webkit-animation-name: fadeIn;
        animation-name: fadeIn;

        -webkit-animation-duration: 700ms;
        animation-duration: 700ms;

        -webkit-animation-delay: 400ms;
        animation-delay: 400ms;

        -webkit-animation-fill-mode: forwards;
        animation-fill-mode: forwards;
    }

}


/* TABLET + MOBILE */

@media (max-width: 1024px) {

    .ecoi-project-gallery {
        opacity: 1;

        -webkit-animation: none;
        animation: none;
    }

}/* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Degular';
	font-style: normal;
	font-weight: bold;
	font-display: auto;
	src: url('https://ecoillc.com/wp-content/uploads/2025/05/Degular-Bold.woff2') format('woff2');
}
@font-face {
	font-family: 'Degular';
	font-style: normal;
	font-weight: 300;
	font-display: auto;
	src: url('https://ecoillc.com/wp-content/uploads/2025/05/Degular-Regular.woff2') format('woff2');
}
@font-face {
	font-family: 'Degular';
	font-style: normal;
	font-weight: 500;
	font-display: auto;
	src: url('https://ecoillc.com/wp-content/uploads/2025/05/Degular-Medium.woff2') format('woff2');
}
/* End Custom Fonts CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Neue Haas Grotesk Display Pro';
	font-style: normal;
	font-weight: normal;
	font-display: auto;
	src: url('https://ecoillc.com/wp-content/uploads/2025/05/NHaasGroteskDSPro-55Rg.woff2') format('woff2');
}
/* End Custom Fonts CSS */