/*
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme/
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: 1.0.1
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
*/

/* Header navbar */
.elementor-element.hdr-menu .elementor-nav-menu--main .elementor-item:hover,
.elementor-element.hdr-menu .elementor-nav-menu--main .elementor-item:focus,
.elementor-element.hdr-menu .elementor-nav-menu--main .elementor-item.elementor-item-active,
.elementor-element.hdr-menu .elementor-nav-menu--main .current-menu-item>.elementor-item,
.elementor-element.hdr-menu .elementor-nav-menu--main .current-menu-ancestor>.elementor-item,
.elementor-element.hdr-menu .elementor-nav-menu--main .current_page_item>.elementor-item,
.elementor-element.hdr-menu .elementor-nav-menu--main .current_page_ancestor>.elementor-item {
    font-weight: inherit !important;
    -webkit-text-stroke: 0.25px currentColor;
}

.button-arrow .elementor-button-icon svg {
    font-size: 10px;
}

.button-arrow a:hover .elementor-button-icon svg {
    fill: transparent !important;
}

.trust-bar>.e-con {
    border-right: 1px solid #0000001A;
}

.trust-bar>.e-con:last-child {
    border-right: none;
}


.img-slider .swiper-pagination.swiper-pagination-progressbar.swiper-pagination-horizontal {
    position: absolute;
    top: auto;
    bottom: -85px;
    width: 90%;
}

.img-slider .swiper-pagination-progressbar {
    background: #00000010;
    position: absolute;
}

.img-slider .elementor-swiper-button:hover svg {
    fill: #D02C1E !important;

    &:hover path {
        fill: #fff
    }
}

.img-slider .swiper-pagination {
    cursor: pointer;
}

.img-slider .elementor-swiper-button:hover svg path {
    fill: transparent !important;
    stroke: #fff !important;
}


/* =========================================
   PROPERTY CARDS DIVIDERS
========================================= */

.property-cards {
    border: 1px solid #0000001A;
}

/* Vertical dividers */
.property-cards>.elementor-widget {
    border-right: 1px solid #0000001A;
}

/* Remove right border from every 3rd item */
.property-cards>.elementor-widget:nth-child(3n) {
    border-right: 0;
}

/* Horizontal divider between row 1 and row 2 */
.property-cards>.elementor-widget:nth-child(-n+3) {
    border-bottom: 1px solid #0000001A;
}

.serv-icon .elementor-icon {
    display: flex;
}

.serv-icon:hover svg path {
    stroke: #fff;
}

.serv-icon {
    opacity: 0;
    transition: 0.3s ease all;
}

.serv-card:hover .serv-icon {
    opacity: 1;
}

.area-items .elementor-icon-list-items.elementor-inline-items {
    gap: 8px;
}

.area-items .elementor-icon-list-item.elementor-inline-item {
    justify-content: center;
    align-items: center;
    padding: 3px 10px;
    background: rgba(255, 255, 255, 0.2);
    border: 1px solid #ffffff50;
}


/* =========================================
   FAQ ACCORDION DIVIDERS
========================================= */

/* Keep Elementor's open/close states from changing the item dimensions. */
.faq-item,
.faq-item *,
.faq-item *::before,
.faq-item *::after {
    box-sizing: border-box;
}

.faq-item .e-n-accordion-item {
    position: relative;
    margin: 0;
    border: 0 !important;
    outline: 0;
}

/* A positioned divider does not affect height, so the accordion won't jump. */
.faq-item .e-n-accordion-item::after {
    content: "";
    position: absolute;
    z-index: 2;
    right: 0;
    bottom: 0;
    left: 0;
    height: 1px;
    background: rgba(0, 0, 0, 0.2);
    pointer-events: none;
}

.faq-item .e-n-accordion-item-title {
    border: 0 !important;
    outline-offset: -2px;
}


/* =========================================
   PROPERTY CARDS COUNTER
========================================= */

.property-cards {
    counter-reset: propertyCard;
}

.property-cards>.elementor-widget {
    position: relative;
    counter-increment: propertyCard;
}

/* Counter number */
.property-cards>.elementor-widget::after {
    content: counter(propertyCard, decimal-leading-zero);

    position: absolute;
    top: 40px;
    right: 40px;

    font-family: 'Inter', sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 14px;
    line-height: 20px;

    display: flex;
    align-items: center;

    color: rgba(0, 0, 0, 0.3);
}


.contact-form .gfield .ginput_container input[type="email"] {
    text-transform: lowercase;
}

.contact-form .gfield .ginput_container input[type="email"]::placeholder {
    text-transform: capitalize;
}


.contact-form .gfield .ginput_container input,
.contact-form .gfield .ginput_container select,
.contact-form .gfield .ginput_container textarea {
    padding: 10px 16px;
    background: #FFFFFF;
    border: 1px solid rgba(0, 0, 0, 0.1);
    box-shadow: none;
    outline: none;
    font-family: var(--e-global-typography-text-font-family), Sans-serif;
    font-size: 18px;
    font-weight: var(--e-global-typography-text-font-weight);
    line-height: 28px;
    color: var(--e-global-color-text);
}
.contact-form .gfield_label.gform-field-label{
      font-family: var(--e-global-typography-text-font-family), Sans-serif;
    font-size: var(--e-global-typography-text-font-size);
    font-weight: var(--e-global-typography-text-font-weight);
    line-height: var(--e-global-typography-text-line-height);
    color: var(--e-global-color-text);
}
.contact-form .gfield .ginput_container input,
.contact-form .gfield .ginput_container select{
    height: 55px ;
}

/* Figma-style select arrow */
.contact-form .gfield .ginput_container select {
    padding-right: 52px;
    background-color: #fff;
    background-image: url("data:image/svg+xml,%3Csvg width='16' height='10' viewBox='0 0 16 10' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1.5 1.5L8 8L14.5 1.5' stroke='%230C0E12' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 20px center;
    background-size: 16px 10px;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
}

.contact-form .gfield .ginput_container select::-ms-expand {
    display: none;
}

/* Consistent spacing between labels, controls and form rows. */
.contact-form .gfield_label.gform-field-label {
    margin-bottom: 10px;
}

.contact-form  #gform_fields_1 {
    row-gap: 32px;
    column-gap: 24px;
}
.contact-form #gform_1_validation_container, .contact-form  .gfield_required {
	display: none;
}

/* Keep field-level validation visible after an empty/invalid submission. */
.contact-form .gfield_error .gfield_validation_message {
    display: block;
    margin-top: 8px;
    padding: 0;
    border: 0;
    background: transparent;
    color: #d02c1e;
    font-size: 14px;
    line-height: 1.4;
}

.contact-form .gfield_error input,
.contact-form .gfield_error select,
.contact-form .gfield_error textarea {
    border-color: #d02c1e !important;
}

.contact-form .gfield_description.instruction.validation_message{
    color: #d02c1e;
}
.contact-form :is(input, select, textarea):focus-visible {
    outline: 2px solid #0c0e12;
    outline-offset: 2px;
}


/* Gravity Forms contact submit button */
.contact-form #gform_submit_button_1 {
    box-sizing: border-box;
    display: block;
    width: 100%;
    min-height: 66px;
    margin: 0;
    padding: 20px 56px 20px 24px;
    border: 0;
    border-radius: 0;
    background-color: #63a332;
    background-image: url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 11L11 1M11 11V1H1' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
    background-repeat: no-repeat;
    background-position: calc(50% + 88px) center;
    background-size: 12px 12px;
    box-shadow: none;
    color: #fff;
    font-family: var( --e-global-typography-accent-font-family ), Sans-serif;
  font-size: var( --e-global-typography-accent-font-size );
  font-weight: var( --e-global-typography-accent-font-weight );
  line-height: var( --e-global-typography-accent-line-height );
    cursor: pointer;
    transition: background-color 0.25s ease;
    appearance: none;
    -webkit-appearance: none;
}

#gform_submit_button_1:hover {
    background-color: #4f8726;
    color: #fff;
}

#gform_submit_button_1:focus-visible {
    outline: 2px solid #0c0e12;
    outline-offset: 3px;
}

/* ---Responsive starts------- */
@media only screen and (min-width: 1201px) and (max-width: 1599px) {
    html {
        zoom: 0.80;
        zoom: 80%;
    }
     .bnnr-slide{
       height: 125vh !important;
    }
}


@media(max-width:1200px) {
    .img-slider .swiper-pagination.swiper-pagination-progressbar.swiper-pagination-horizontal {
        position: absolute;
        top: auto;
        bottom: -55px;
        width: 88%;
    }
}

@media (max-width: 1024px) {
    .img-slider .swiper-pagination.swiper-pagination-progressbar.swiper-pagination-horizontal {
        width: 85%;
    }
    .contact-form #gform_submit_button_1 {
	min-height: 44px;
	margin: 0;
    padding: 13px 56px 13px 24px;
}
}


@media (max-width: 767px) {
    .img-slider .swiper-pagination.swiper-pagination-progressbar.swiper-pagination-horizontal {
        bottom: -28px;
        width: 100%;
    }

    .property-cards>.elementor-widget {
        border-right: 0;
        border-bottom: 1px solid #0000001A;
    }

    .property-cards>.elementor-widget:last-child {
        border-bottom: 0;
    }

    .trust-bar>.e-con {
        border-bottom: 1px solid #0000001A;
        border-right: 0 !important;
    }

    .trust-bar>.e-con:last-child {
        border-bottom: none;
    }
}
