/* 
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 */

/* General */
.elementor-widget-text-editor p:last-child {
    margin-bottom: 0;
}

a {
	transition: color .3s ease;
}

a.word-break {
	word-break: break-word;
}

/* list */
.elementor-widget-text-editor ul li,
.elementor-widget-text-editor ol li {
	margin-bottom: 0.9rem!important;
}

.elementor-widget-text-editor ul,
.elementor-widget-text-editor ol {
	margin-bottom: 0.9rem!important;
}

/* center list */
.center-list div ul {
	list-style-position: inside;
	padding-left: 0;
}

.center-list div ul li span {
	margin-left: -10px;
}

/*
a svg {
	transition: opacity .2s ease!important;
}

a svg:hover {
	opacity: 0.7;
}*/

/* Icon fix */
.elementor-icon-wrapper,
.elementor-icon-wrapper .elementor-icon {
	line-height: 0!important;
}

.icon-image .elementor-icon svg {
    width: 100%!important;
	height: auto!important;
}

.elementor-icon svg {
	transition: fill .2s ease;
}

/* Icon List Fix */
.elementor-icon-list-item a {
	align-items: center!important;
}

.elementor-icon-list-item .elementor-icon-list-icon svg {
	transition: fill 0.2s ease;
}

.elementor-icon-list-item .elementor-icon-list-text {
	transition: color 0.2s ease;
}

.elementor-icon-list-icon {
	line-height: 0!important;
}

/* Icon Button Fix */
.elementor-button-content-wrapper .elementor-button-icon {
    display: flex;
    align-items: center;
}

/* Elementor Icon normalize */
.icon-normal div div .elementor-icon svg {
	height: auto!important;
}

.icon-normal-2 div div .elementor-icon svg {
	height: auto!important;
}

/* Icon hover transition */
a.elementor-icon i {
	transition: color 0.3s ease;
}

/* Webkit shear x fix */
#Search::-webkit-search-cancel-button {
    color: var( --e-global-color-primary );
}

/* remove button outline 
[type=submit], 
[type=submit]:focus,
button,
button:focus {
    outline: none!important;
	border: none;
}*/

/* Remove field focus-visible 
:focus-visible {
    outline: none;
}*/

/* remove safari form styling */
input[type=text], input[type=email], input[type=tel], textarea, input[type=button] {   
    -webkit-appearance: none;
    -moz-appearance: none;
	-webkit-border-radius: 0;
    appearance: none;
}

/* Visually Hidden */
.visually-hidden {
	font-size: 0!important;
	width: 1px!important;
	height: 1px!important;
	display: inline-block!important;
	overflow: hidden;
	position: absolute!important;
	border: 0!important;
	padding: 0!important;
	margin: 0!important;
	clip: rect(1px,1px,1px,1px);
}

.elementor-editor-active .visually-hidden {
font-size: inherit!important;
	width: inherit!important;
	height: inherit!important;
	display: inherit!important;
	overflow: inherit!important;
	position: inherit!important;
	border: inherit!important;
	padding: inherit!important;
	margin: inherit!important;
}

/* popup close button */
.dialog-close-button svg {
	transition: fill 0.3s ease;
}

/* anchor offset */
body:not(.elementor-editor-active) .elementor-menu-anchor {
	display: block;
	position: relative;
	top: -130px;
	visibility: hidden;
	pointer-events: none;
}

@media (max-width: 1024px) {
	body:not(.elementor-editor-active) .elementor-menu-anchor {
		top: -74px;
	}
}

@media (max-width: 767px) {
	body:not(.elementor-editor-active) .elementor-menu-anchor {
		top: -74px;
	}
}

/* Hidden Yoast Breadcrumbs */
.hidden-breadcrumbs {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

/************/
/* Specific */
/************/
/* fancy links */
a.fancy-link,
a.fancy-link2 {
	color: var(--e-global-color-8e84b19);
	transition: color 0.3s cubic-bezier(0.25, 0.1, 0, 1);
	position: relative;
}

a.fancy-link:after,
a.fancy-link2:after {
    display: block;
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 0;
    height: 2px;
    z-index: 1;
    transition: 0.3s cubic-bezier(0.25, 0.1, 0, 1);
	background: var(--e-global-color-8e84b19);
}

a.fancy-link:hover:after,
a.fancy-link2:hover:after  {
    left: 0;
    bottom: 0;
    width: 100%;
    height: 2px;
}

a.fancy-link2 {
	display: inline-flex; 
	align-items: center;
	flex-direction: row;
	width: auto;
	justify-content: flex-start;
	gap: 10px;
	
}

a.fancy-link2 svg {
	height: auto;
	width: 1em;
	fill: var(--e-global-color-8e84b19);
}

/* responsive icons */
.r-icon .elementor-icon-wrapper .elementor-icon svg {
	width: 100%!important;
	height: auto!important;
}

.sticky-header.elementor-sticky--effects {
	background-color: var(--e-global-color-1f11086);
	transition: background-color 0.3s ease;
}

.orange-text {
	color: var(--e-global-color-cb63b89);
}

/* Accessible Accordions */
.acc-accordion {
    
}

.acc-accordion-item {
	position: relative;
	background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
	margin-bottom: 20px;
}

.acc-accordion-item::before {
	content: "";
	position: absolute;
	display: block;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-image: 
    	linear-gradient(to bottom, rgba(0,0,0,0.9), rgba(0,0,0,0.3)),
    	var(--accordion-bg-image);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	filter: grayscale(100%);
	transition: filter 0.3s ease;
	pointer-events: none;
	z-index: 0;
}

.acc-accordion-item.open::before {
  filter: grayscale(0%);
}

.acc-accordion-header,
.acc-accordion-content {
	position: relative;
	z-index: 1;
}
  
.acc-accordion-header {
    margin: 0;
}
  
.acc-accordion-header .acc-accordion-toggle {
    padding: 2rem;
    width: 100%;
    display: flex;
    justify-content: space-between;
	align-items: center;
	flex-wrap: nowrap;
	gap: 20px;
    border: none;
    color: var(--e-global-color-8e84b19);
    font-family: var(--e-global-typography-e43653c-font-family), Sans-serif;
    font-size: var(--e-global-typography-e43653c-font-size);
    font-weight: var(--e-global-typography-e43653c-font-weight);
	text-transform: var(--e-global-typography-e43653c-text-transform);
    line-height: var(--e-global-typography-e43653c-line-height);
    letter-spacing: var(--e-global-typography-e43653c-letter-spacing);
    word-spacing: var(--e-global-typography-e43653c-word-spacing);
	text-align: left;
	white-space: normal;
    overflow-wrap: break-word; /* Additional compatibility for breaking long words */
	transition: color 0.3s ease;
}

.acc-accordion-header .acc-accordion-toggle .acc-label {
	min-width: 0;
	word-break: break-word;

}

.acc-accordion-header .acc-accordion-toggle svg {
	width: 0.8em;
	height: 0.8em;
	flex-shrink: 0;
	fill: var(--e-global-color-8e84b19);
	transition: fill 0.3s ease, transform 0.3s ease;
}

.acc-accordion-header .acc-accordion-toggle:hover svg, 
.acc-accordion-header .acc-accordion-toggle:focus svg {
	fill: var(--e-global-color-primary);
}

.acc-accordion-header .acc-accordion-toggle:hover, 
.acc-accordion-header .acc-accordion-toggle:focus {
	color: var(--e-global-color-primary);
    border: none;
}
  
.acc-accordion-toggle[aria-expanded="true"] svg {
	transform: rotate(180deg);
}
  
.acc-accordion-content {
    display: none;
    padding: 2rem;
	color: #fff;
}
  
.acc-accordion-content.open {
    display: block;
}
  
.acc-accordion-content p:last-child {
    margin-bottom: 0;
}
  
@media (prefers-reduced-motion: reduce) {
    .acc-accordion-content {
        transition: none;
    }
}

@media (max-width: 767px) {
	.acc-accordion-header .acc-accordion-toggle,
	.acc-accordion-content {
		padding: 1.25rem;
	}
}

.acc-bg1 {
	--accordion-bg-image: url(/wp-content/uploads/2025/07/modern-kitchen-with-island-2.webp);
}

.acc-bg2 {
	--accordion-bg-image: url(/wp-content/uploads/2025/07/modern-kitchen-wood-panels.webp);
}

.acc-bg3 {
	--accordion-bg-image: url(/wp-content/uploads/2025/07/EPD-working-on-kitchen-plumbing.webp);
}

.acc-bg4 {
	--accordion-bg-image: url(/wp-content/uploads/2025/07/modern-home-interior.webp);
}

.acc-bg5 {
	--accordion-bg-image: url(/wp-content/uploads/2025/07/closeup-red-valve.webp);
}

.acc-bg6 {
	--accordion-bg-image: url(/wp-content/uploads/2025/07/closeup-ceiling-pipe-red-valve.webp);
}

/* Gforms */
body .el-gform .gform_required_legend {
	display: none;
}

body .el-gform .gform-theme--foundation .gform_fields {
	grid-row-gap: 20px;
}

body .el-gform .gform_heading .gform_required_legend {
	font-family: var(--e-global-typography-03247a6-font-family), Sans-serif;
    font-size: var(--e-global-typography-03247a6-font-size);
    font-weight: var(--e-global-typography-03247a6-font-weight);
    line-height: var(--e-global-typography-03247a6-line-height);
    letter-spacing: var(--e-global-typography-03247a6-letter-spacing);
	color: var(--e-global-color-text);
}

body .el-gform .gfield_required_asterisk,
body .el-gform .gform_heading .gfield_required_asterisk {
	font-family: var(--e-global-typography-03247a6-font-family), Sans-serif;
    font-size: var(--e-global-typography-03247a6-font-size);
    font-weight: var(--e-global-typography-03247a6-font-weight);
    line-height: var(--e-global-typography-03247a6-line-height);
    letter-spacing: var(--e-global-typography-03247a6-letter-spacing);
	color: var(--e-global-color-bc0a96e);
}

body .el-gform .gform_wrapper .gform-field-label:not(.gform-field-label--type-sub, .gform-field-label--type-inline) {
    font-family: var(--e-global-typography-03247a6-font-family), Sans-serif;
    font-size: var(--e-global-typography-03247a6-font-size);
    font-weight: var(--e-global-typography-03247a6-font-weight);
    line-height: var(--e-global-typography-03247a6-line-height);
    letter-spacing: var(--e-global-typography-03247a6-letter-spacing);
    color: var(--e-global-color-text);
}

body .el-gform .gform_wrapper .gform-field-label--type-sub {
	display: none;
}

body .el-gform .gform_wrapper .gfield_description {
	color: var( --e-global-color-text );
}

body .el-gform .gform_wrapper .ginput_container_text input,
body .el-gform .gform_wrapper .ginput_container_email input,
body .el-gform .gform_wrapper .ginput_container_phone input,
body .el-gform .gform_wrapper .ginput_container_date input,
body .el-gform .gform_wrapper .name_first input,
body .el-gform .gform_wrapper .name_last input,
body .el-gform .gform_wrapper .ginput_container_address input,
body .el-gform .gform_wrapper .ginput_container_address select,
body .el-gform .gform_wrapper .gfield--input-type-select select,
body .el-gform .gform_wrapper .ginput_container_textarea textarea {
	block-size: unset!important;
	font-family: var(--e-global-typography-03247a6-font-family), Sans-serif;
    font-size: var(--e-global-typography-03247a6-font-size);
    font-weight: var(--e-global-typography-03247a6-font-weight);
    line-height: var(--e-global-typography-03247a6-line-height);
    letter-spacing: var(--e-global-typography-03247a6-letter-spacing);
    color: var(--e-global-color-019d525);
	border: 2px;
	border-color: var(--e-global-color-8e84b19);
	border-radius: 0;
	padding: 0.75rem 1.375rem!important;
	background-color: var(--e-global-color-8e84b19);
	box-shadow: none;
}

body .el-gform .gform_wrapper .ginput_container_textarea textarea {
	block-size: 6rem!important;
}

body .el-gform .gform_wrapper .ginput_container_text input:focus,
body .el-gform .gform_wrapper .ginput_container_email input:focus,
body .el-gform .gform_wrapper .ginput_container_phone input:focus,
body .el-gform .gform_wrapper .ginput_container_date input:focus,
body .el-gform .gform_wrapper .name_first input:focus,
body .el-gform .gform_wrapper .name_last input:focus,
body .el-gform .gform_wrapper .ginput_container_address input:focus,
body .el-gform .gform_wrapper .ginput_container_address select:focus,
body .el-gform .gform_wrapper .gfield--input-type-select select:focus,
body .el-gform .gform_wrapper .ginput_container_textarea textarea:focus {
	border-color: var(--e-global-color-primary);
}

body .el-gform .gform_wrapper .gform_footer input.gform_button.button,
body .el-gform .gform_wrapper .gform_footer input[type=submit].gform_button.button {
	font-family: var(--e-global-typography-0f906ba-font-family), Sans-serif;
    font-size: var(--e-global-typography-0f906ba-font-size);
    font-weight: var(--e-global-typography-0f906ba-font-weight);
    text-transform: var(--e-global-typography-0f906ba-text-transform);
    line-height: var(--e-global-typography-0f906ba-line-height);
    letter-spacing: var(--e-global-typography-0f906ba-letter-spacing);
    word-spacing: var(--e-global-typography-0f906ba-word-spacing);
    color: var(--e-global-color-cfbc7a3);
    background-color: var(--e-global-color-93b0dcb);
    border-style: solid;
    border-width: 0px 0px 4px 0px;
    border-radius: 0px 0px 0px 0px;
	border-color: var(--e-global-color-cfbc7a3);
    padding: 0px 0px 10px 0px;
	block-size: auto;
	box-shadow: none;
}

body .el-gform .gform_wrapper .gform_footer input.gform_button.button:hover,
body .el-gform .gform_wrapper .gform_footer input[type=submit].gform_button.button:hover {
	color: var( --e-global-color-primary );
	border-color: var( --e-global-color-primary );
}

body .el-gform .gform_confirmation_message {
	text-align: center!important;
	font-weight: 600!important;
	color: var( --e-global-color-primary )!important;
	font-size: 2rem;
	padding: 40px 0;
}