/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */
strong > a, .bold a {
    font-weight: 600 !important;
}

.bg-blur{
	backdrop-filter: blur(20px);
}
.elementor-widget-text-editor p:last-child {
    margin-bottom: 0;
}
.elementor-slideshow__title{display: none !important;}
.elementor-icon-wrapper{
	display: flex;
	height: 100%;
	align-items: center;
}
.img-absolute .elementor-widget-container {
    position: relative;
}
.img-hover{overflow: hidden;}
.img-hover img{transition: transform 0.3s;}
.img-hover:hover img{transform: scale(1.1);object-position: center;}

.icon-hover .elementor-icon, .icon-hover .elementor-button-icon{transition: transform 0.3s;}
.icon-hover:hover .elementor-icon, .icon-hover:hover .elementor-button-icon{transform: translateX(10px);}

/* service ctas */
.service-cta .elementor-widget-image{
    height: 100%;
    overflow: hidden;
}
.service-cta .elementor-widget-image img{
    inset: 0;
    height: 100%;
    object-fit: cover;
    z-index: 0;
    transition: 0.2s;
}
.service-cta .elementor-widget-image::after{
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, #FFFFFF00 40%, #4B5563 100%);
}
.service-cta .elementor-widget-heading{
    position: relative;
    z-index: 2;
}
.service-cta .show-more p, .service-cta .show-more svg{transition: 0.2s;}
.service-cta .show-more svg{transition: 0.2s; margin-top: -2px;}
.service-cta:hover .elementor-widget-image img{
    transform: scale(1.15);
}
.service-cta:hover .show-more {
    background-color: var(--e-global-color-7fe6307) !important;
}
.service-cta:hover .show-more p{
    color: var(--e-global-color-61ef46a) !important;
}
.service-cta:hover .show-more svg{
    fill: var(--e-global-color-61ef46a) !important;
    transform: translateX(10px);
}

/* testimonial carousel */
.testimonial-carousel{
	--oo-arrow-size: 36px;
}
.testimonial-carousel .elementor-swiper-button > i {
    width: var(--oo-arrow-size) !important;
    height: var(--oo-arrow-size)!important;
}

.testimonial-carousel .elementor-swiper-button > i::before{
	content: "";
}
.testimonial-carousel .eicon-chevron-right{
	background: url('/wp-content/uploads/2025/06/arrow_right_alt.svg') no-repeat center/contain;
}
.testimonial-carousel .eicon-chevron-left{
	background: url('/wp-content/uploads/2025/06/arrow_left_alt.svg') no-repeat center/contain;
}
.testimonial-carousel .elementor-swiper-button-next{
	top: calc((var(--oo-arrow-size) / 2) * -1) !important;
	right: calc( var(--oo-arrow-size) / 2) !important;
	left: auto !important;
}
.testimonial-carousel .elementor-swiper-button-prev{
	top: calc((var(--oo-arrow-size) / 2) * -1) !important;
	left: calc(100% - var(--oo-arrow-size) * 3 ) !important;
}

@media screen and (max-width:600px){
	.testimonial-carousel .elementor-swiper-button-prev {
		top: auto !important;
		left: 0 !important;
		bottom: calc(var(--oo-arrow-size) * -2) !important;
	}
	.testimonial-carousel .elementor-swiper-button-next {
		top: auto !important;
		right: auto !important;
		left: calc( var(--oo-arrow-size) * 2) !important;
		bottom: calc(var(--oo-arrow-size) * -2) !important;
	}
}

/* Partner logo carouse */
.oo-logo-carousel img{
	width: 150px !important;
	height: 80px !important;
	object-fit: contain !important;
	object-position: center !important;
}

/* accordion */
.accordion-style-01 .elementor-accordion-item:not(:first-child),
.accordion-style-01 .elementor-toggle-item:not(:first-child){
    margin-top: 8px;
}

.accordion-style-01 .elementor-tab-title{
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
}
.oo-faq .elementor-accordion-item{
	border-bottom: 1px solid #6B7280 !important;
}
.oo-faq .elementor-tab-title {
    padding-left: 0;
    padding-right: 0;
}
.oo-faq .elementor-tab-content {
    padding-left: 0;
    padding-right: 0;
}

/* Carousel Images */
.oo-project-image img {
    aspect-ratio: 1/1;
    object-fit: cover;
}

.cemento-image-carousel img{
	aspect-ratio: 1/1;
    object-fit: cover;
	object-position: center;
	width: 100%;
	height: 100%;
}

.cemento-image-carousel .swiper-slide {
    padding-left: 12px;
    padding-right: 12px;
}
.cemento-image-carousel .elementor-swiper-button {
    top: -76px !important;
}
.cemento-image-carousel .elementor-swiper-button-prev {
    left: unset !important;
    right: 96px !important;
}



/* Suburb Select */
.suburb-icon .elementor-icon-box-wrapper{display: flex; justify-content: space-between;}
.suburb-icon .elementor-icon-box-title{max-width: fit-content;}
.suburb-icon path{transition: fill 0.3s;}
.suburb-icon:has(a:hover) .elementor-widget-container {
    background: var(--e-global-color-text) !important;
    color: #fff !important;
}
.suburb-icon:has(a:hover) path{
	fill: #fff !important;
}

/* blog archive/post styling */
.oo-category-label .elementor-post-info__terms-list-item, .oo-category-label .elementor-heading-title a, .oo-category-label .elementor-heading-title span{
    padding: 4px 8px;
    border-radius: 20px;
    background: #e5e7eb;
}
.oo-category-label .elementor-heading-title{display: flex; column-gap: 8px; flex-wrap: wrap;}
.wys{
    --wys-section-space: 64px;
    
    --wys-h2-font-family: var( --e-global-typography-c90a4e0-font-family ), Sans-serif;
    --wys-h2-font-size: var( --e-global-typography-c90a4e0-font-size );
    --wys-h2-font-weight: var( --e-global-typography-c90a4e0-font-weight );
    --wys-h2-line-height: var( --e-global-typography-c90a4e0-line-height );

    --wys-h3-font-family: var( --e-global-typography-feaa99b-font-family ), Sans-serif;
    --wys-h3-font-size: var( --e-global-typography-feaa99b-font-size );
    --wys-h3-font-weight: var( --e-global-typography-feaa99b-font-weight );
    --wys-h3-line-height: var( --e-global-typography-feaa99b-line-height );

    --wys-h4-font-family: var( --e-global-typography-1c4eb59-font-family ), Sans-serif;
    --wys-h4-font-size: var( --e-global-typography-1c4eb59-font-size );
    --wys-h4-font-weight: var( --e-global-typography-1c4eb59-font-weight );
    --wys-h4-line-height: var( --e-global-typography-1c4eb59-line-height );
	
	--wys-heading-colour: var( --e-global-color-accent );
}
@media screen and (max-width: 1366px){
	.wys{--wys-section-space: 48px;}
}
@media screen and (max-width: 600px){
	.wys{--wys-section-space: 32px;}
}

.wys p:has(+ h2), 
.wys p:has(+ h3), 
.wys p:has(+ h4), 
.wys p:has(+ h5), 
.wys p:has(+ h6),
.wys p:has(+ img),
.wys p:has(+ figure),
.wys blockquote:has(+ h2), 
.wys blockquote:has(+ h3), 
.wys blockquote:has(+ h4), 
.wys blockquote:has(+ h5), 
.wys blockquote:has(+ h6),
.wys blockquote:has(+ img),
.wys blockquote:has(+ figure),
.wys ul:has(+ h2), 
.wys ul:has(+ h3), 
.wys ul:has(+ h4), 
.wys ul:has(+ h5), 
.wys ul:has(+ h6),
.wys ul:has(+ img),
.wys ul:has(+ figure),
.wys ol:has(+ h2), 
.wys ol:has(+ h3), 
.wys ol:has(+ h4), 
.wys ol:has(+ h5), 
.wys ol:has(+ h6),
.wys ol:has(+ img),
.wys ol:has(+ figure){
	margin-bottom: var(--wys-section-space);
}
.wys h2 + h2{margin-top: var(--wys-section-space);}


.wys hr{margin-bottom: var(--wys-section-space); margin-top: var(--wys-section-space);}
.wys h2,
.wys h3,
.wys h4,
.wys h5,
.wys h6{
	margin-bottom: 12px;
}

.wys h2{
    font-family: var(--wys-h2-font-family), Sans-serif;
    font-size: var(--wys-h2-font-size);
    font-weight: var(--wys-h2-font-weight);
    line-height: var(--wys-h2-line-height);
	color: var(--wys-heading-colour);
}
.wys h3{
    font-family: var(--wys-h3-font-family), Sans-serif;
    font-size: var(--wys-h3-font-size);
    font-weight: var(--wys-h3-font-weight);
    line-height: var(--wys-h3-line-height);
	color: var(--wys-heading-colour);
}
.wys h4, .wys h5, .wys h6{
    font-family: var(--wys-h4-font-family), Sans-serif;
    font-size: var(--wys-h4-font-size);
    font-weight: var(--wys-h4-font-weight);
    line-height: var(--wys-h4-line-height);
	color: var(--wys-heading-colour);
}
.wys blockquote {position: relative;margin-left: 0;margin-right: 0;padding-left: calc(var(--wys-section-space) / 2);}
.wys blockquote::before {content: "";position: absolute;left: 0;height: 100%;width: 4px;background: var(--e-global-color-accent);}
.wys figcaption{color: var(--e-global-color-text); margin-top: 8px;}
.wys ul, .wys ol{margin-block-end: 0.9rem;}
.wys a {
    color: var(--e-global-color-accent);
    font-weight: 600;
}
.wys a:hover {
    color: var(--e-global-color-text);
}

/* wp forms */
.wpforms-field-container > .wpforms-field:first-child {
    padding-top: 0;
}
.wpforms-container input, .wpforms-container textarea, .wpforms-container select{
    border-left: none !important;
    border-right: none !important;
    border-top: none !important;
    border-radius: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}
input.wpforms-error, textarea.wpforms-error, select.wpforms-error {
    border: 1px solid #c6202f!important;
}
em.wpforms-error{
    color: #c6202f !important;
}
em.wpforms-error::before{
    background: #c6202f !important;
}
button.wpforms-submit {
    border-radius: 0 !important;
    transition: 0.2s !important;
}
button.wpforms-submit:hover{
    color: var(--e-global-color-7fe6307) !important;
    background: var(--e-global-color-61ef46a) !important;
    border-color: var(--e-global-color-61ef46a) !important;
    opacity: 1 !important;
}
/* .wpforms-container select {
	    border-left: none !important;
    border-right: none !important;
    border-top: none !important;
    border-radius: 0 !important;
} */


/* Custom tabs section */
.oo-tabs{
    /* declare tab level stylings/variables */
    --oo-tab-transition: 0.2s;

    --oo-tab-body-font: var(--e-global-typography-text-font-family), sans-serif;
    --oo-tab-heading-font: var(--e-global-typography-primary-font-family);

    --oo-tab-heading-title-fw: 600;
    --oo-tab-heading-subtitle-fw: 300;
    --oo-tab-content-title-fw: 600;
    --oo-tab-content-text-fw: 400;

    --oo-tab-heading-title-color: var(--e-global-color-accent);
    --oo-tab-heading-subtitle-color: var(--e-global-color-f55f878);
    --oo-tab-heading-icon-color: var(--e-global-color-f55f878);
    --oo-tab-content-title-color: var(--e-global-color-accent);
    --oo-tab-content-text-color: var(--e-global-color-text);
    --oo-tab-border-color: var(--e-global-color-f55f878);
    --oo-tab-cta-hover-text-color: var(--e-global-color-7fe6307);
    --oo-tab-cta-hover-border-color: var(--e-global-color-accent);
    --oo-tab-cta-hover-background-color: var(--e-global-color-accent);

    --oo-tab-heading-title-fs: var(--e-global-typography-accent-font-size);
    --oo-tab-heading-subtitle-fs: var(--e-global-typography-accent-font-size);
    --oo-tab-content-title-fs: var(--e-global-typography-aa7d76c-font-size);
    --oo-tab-content-text-fs: var(--e-global-typography-text-font-size);
    --oo-tab-content-cta-title-fs: var(--e-global-typography-1c4eb59-font-size);
	
    --oo-tab-heading-title-lh: var(--e-global-typography-accent-line-height);
    --oo-tab-heading-subtitle-lh: var(--e-global-typography-accent-line-height);
    --oo-tab-content-title-lh: var(--e-global-typography-aa7d76c-line-height);
    --oo-tab-content-text-lh: var(--e-global-typography-text-line-height);
    --oo-tab-content-cta-title-lh: var(--e-global-typography-1c4eb59-line-height);

    --oo-tab-heading-gap: 32px;
    --oo-tab-content-heading-gap: 8px;
    --oo-tab-content-option-gap: 20px;
    --oo-tab-content-cta-gap: 28px;
    --oo-tab-content-padding: 0 64px 0 32px;
    --oo-tab-content-cta-padding: 12px;

    --oo-tab-icon-size: 24px;
    --oo-tab-icon-gap: 24px;

    --oo-tab-min-height: 600px;
}

@media screen and (max-width:900px){
    .oo-tabs{
        --oo-tab-content-padding: 24px;
        --oo-tab-min-height: 250px;
    }
      
}

.oo-tabs{
    font-family: var(--oo-tab-body-font);
    color: var(--oo-tab-content-text-color);
    display: grid;
    grid-template-columns: 30% 1fr;
}
.oo-tabs.mobile{display: none;}
.oo-tabs .title, .oo-tabs .subtitle{
    font-family: var(--oo-tab-heading-font);
	line-height: 1;
}
.oo-tabs .tab-heading-wrapper{
    display: flex;
    flex-direction: column;
    gap: var(--oo-tab-heading-gap);
}
.oo-tabs .tab-heading{
    display: flex;
    align-items: center;
    cursor: pointer;
    gap: var(--oo-tab-icon-gap);
    transition: var(--oo-tab-transition);
}
.oo-tabs .tab-heading .title-wrapper{
	display: flex;
	flex-direction: column;
	gap: var(--oo-tab-content-heading-gap);
}
.oo-tabs .tab-heading .title{
    font-size: var(--oo-tab-heading-title-fs);
    color: var(--oo-tab-heading-title-color);
    font-weight: var(--oo-tab-heading-title-fw);
	line-height: var(--oo-tab-heading-title-lh);
}
.oo-tabs .tab-heading .subtitle{
    font-size: var(--oo-tab-heading-subtitle-fs);
    color: var(--oo-tab-heading-subtitle-color);
    font-weight: var(--oo-tab-heading-subtitle-fw);
	line-height: var(--oo-tab-heading-subtitle-lh);
}
.oo-tabs .tab-heading .icon{
    width: var(--oo-tab-icon-size);
    height: var(--oo-tab-icon-size);
    position: relative;
}
.oo-tabs .tab-heading .icon .line{
    background: var(--oo-tab-heading-icon-color);
    position: absolute;
    transition: var(--oo-tab-transition);
}
.oo-tabs .tab-heading .icon .line:first-child{
    width: 100%;
    height: 2px;
    top: calc(50% - 1px);
}
.oo-tabs .tab-heading .icon .line:last-child{
    width: 2px;
    height: 100%;
    left: calc(50% - 1px);
}
.oo-tabs .tab-heading.active .icon .line:last-child{
    transform: rotate(90deg)
}
.oo-tabs .tab-heading:not(.active){
    opacity: 0.5;
}

.oo-tabs .tab-content{
    display: none;
    grid-template-columns: 40% 1fr;
    animation: oo-fade var(--oo-tab-transition);
}

.oo-tabs .tab-content.active{
    display: grid;
}
.oo-tabs .tab-content .content{
    padding: var(--oo-tab-content-padding);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.oo-tabs .tab-content .option{
    padding-bottom: var(--oo-tab-content-option-gap);
}
.oo-tabs .tab-content .option:not(:first-child){
    padding-top: var(--oo-tab-content-option-gap);
    border-top: solid 1px var(--oo-tab-border-color);
}
.oo-tabs .tab-content .option .title{
    font-size: var(--oo-tab-content-title-fs);
    font-weight: var(--oo-tab-content-title-fw);
	line-height: var(--oo-tab-content-title-lh);
    color: var(--oo-tab-content-title-color);
    margin-bottom: var(--oo-tab-content-heading-gap);
}
.oo-tabs .tab-content .cta .title{
    font-size: var(--oo-tab-content-cta-title-fs);
    font-weight: var(--oo-tab-content-title-fw);
	line-height: var(--oo-tab-content-title-lh);
    color: var(--oo-tab-content-title-color);
    margin-bottom: var(--oo-tab-content-cta-gap);
}

.oo-tabs .tab-content .cta .link{
    border: 1px solid var(--oo-tab-border-color);
    width: fit-content;
    transition: var(--oo-tab-transition);
}
.oo-tabs .tab-content .cta .link a{
    text-decoration: none;
    padding: var(--oo-tab-content-cta-padding);
    display: block;
    font-weight: 600;
    color: inherit;
    transition: var(--oo-tab-transition);
}
.oo-tabs .tab-content .cta .link:hover{
    border: 1px solid var(--oo-tab-cta-hover-border-color);
    background: var(--oo-tab-cta-hover-background-color);
}
.oo-tabs .tab-content .cta .link:hover a{
    color: VAR(--oo-tab-cta-hover-text-color);
}

.oo-tabs .tab-content .image{
    position: relative;
    min-height: var(--oo-tab-min-height);
}
.oo-tabs .tab-content .image img{
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

/* mobile breakpoint */
@media screen and (max-width: 900px){
    .oo-tabs{grid-template-columns: 100%;}
    .oo-tabs.desktop{display: none;}
    .oo-tabs.mobile{display: grid;}

    .oo-tabs .tab-content-wrapper{
        display: grid;
        grid-template-rows: 0fr;
        overflow: hidden;
        transition: grid-template-rows var(--oo-tab-transition);

    }
    .oo-tabs .tab-content-wrapper:has(.active){
        grid-template-rows: 1fr;
    }

    .oo-tabs .tab-content{    
        min-height: 0;
        transition: visibility var(--oo-tab-transition);
        visibility: hidden;
        display: grid;
        grid-template-columns: 1fr;
    }
    .oo-tabs .tab-content.active{    
        visibility: visible;
    }
    .oo-tabs .tab-content .image{
        order: -1; 
        margin-left: var(--oo-tab-content-padding);
        margin-right: var(--oo-tab-content-padding);
    }

    .oo-tabs .tab-heading-wrapper{
        gap: 0;
    }
    .oo-tabs .tab-heading{margin-bottom: var(--oo-tab-heading-gap)}
}

@keyframes oo-fade{
    0%{opacity: 0;}
    100%{opacity: 1;}
}

/* RESPONSIVE */
@media screen and (max-width: 1024px){
	.cemento-image-carousel .elementor-swiper-button-prev {
		right: 72px !important;
	}
	.cemento-image-carousel .elementor-swiper-button {
		top: -58px !important;
	}
}
@media screen and (max-width: 600px) {
    .cemento-image-carousel .elementor-swiper-button {
        top: unset !important;
        bottom: -44px !important;
    }
	.cemento-image-carousel .elementor-swiper-button-prev {
		left: calc(50% - 64px) !important;
		right: unset !important;
	}
	.cemento-image-carousel .elementor-swiper-button-next {
		right: calc(50% - 64px) !important;
		left: unset !important;
	}
	.testimonial-carousel{
		--oo-arrow-size: 24px;
	}
}