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

.elementor-widget-heading span.elementor-heading-title {
    text-transform: uppercase;
    color: #6E7380;
    line-height: 1.4em;
    font-weight: bold;
}

.elementor-widget-text-editor .elementor-widget-container *:last-child {
    margin-bottom: 0px;
}

.elementor-widget-theme-post-content .elementor-widget-container ul {
    margin-bottom: 0.9rem;
}

.elementor-widget-text-editor .elementor-widget-container ul {
    margin-bottom: 0.9rem;
}


.elementor-widget-theme-post-content .elementor-widget-container ol {
    margin-bottom: 0.9rem;
}

.elementor-widget-text-editor .elementor-widget-container ol {
    margin-bottom: 0.9rem;
}

/* Menu Button Custom Css */
[data-elementor-type="header"] .menu--button a {
    color: white !important;
    background-color: var(--e-global-color-primary) !important;
    padding: 12px 30px 12px 30px !important;
    margin-left: 20px;
}

@media only screen and (max-width: 1024px) {
    [data-elementor-type="header"] .menu--button a {
        margin: 5px !important;
        padding: 8px !important;
    }
}

[data-elementor-type="header"] .menu--button a:hover {
    background-color: var(--e-global-color-secondary) !important;
}

/* Menu Button Custom Css End */

/* Gravity Form - Custom Css */
.gform_wrapper.gravity-theme .gfield {
    width: 100%;
}

.gfield .large,
.gfield textarea {
    background-color: white;
    padding: 10px 20px !important;
    border-radius: 0px !important;
    border: 1px solid #ccc !important;
    width: 100%;
    height: auto;
}

.gform_wrapper.gravity-theme .gform_fields {
    grid-column-gap: 4% !important;
}

.gform_required_legend {
    display: none;
}

.gform_wrapper.gravity-theme .gfield_required {
    color: var(--e-global-color-text);
}

.gform_footer {
    padding-bottom: 0 !important;
}

.gform_footer input[type="submit"] {
    border: 0px solid transparent;
    font-weight: bold !important;
    height: fit-content;
    line-height: 1.7;
    margin-bottom: 0px !important;
}

.gform_footer input[type="submit"]:hover {
    color: var(--e-global-color-accent);
    background: white !important;
}

.white-form .elementor-widget-html .elementor-widget-container,
.white-form .elementor-widget-html .gfield--input-type-html a:hover {
    color: white;
}

/* Gravity Form - Custom Css End */

/* Schedule  Form Custom Css */
.schedule-form .gform_wrapper * {
    text-align: center;
}

.schedule-form .gform_wrapper .gform_fields {
    grid-row-gap: 40px;
}

.schedule-form .gform_wrapper .gsection .gsection_description img {
    width: 100%;
    display: block;
    margin-inline: auto;
    margin-bottom: 15px;
}

.gravity-theme.ui-datepicker {
    max-width: 550px;
}

.gravity-theme.ui-datepicker .ui-datepicker-header select {
    padding: 0px 25px 0px 10px;
    width: fit-content;
}

.schedule-form .gform_wrapper legend.gfield_label {
    font-size: 1.1em;
    margin-bottom: 15px;
    display: block;
    width: 100%;
}

.schedule-form .gform_wrapper :where(.gfield--input-type-email, .gfield--input-type-phone, .gfield--input-type-text),
.schedule-form .gform_wrapper :where(.gfield--input-type-email, .gfield--input-type-phone, .gfield--input-type-text) * {
    text-align: left !important;
}

.schedule-form .gform_wrapper .ginput_container_consent {
    text-align: left !important;
    display: flex;
    align-items: center;
    gap: 7px;
}

.schedule-form .gform_wrapper .ginput_container_consent [type="checkbox"] {
    aspect-ratio: 1;
    height: 16px;
}

.schedule-form .gform_wrapper .gsection .gsection_description {
    font-size: 1.1em;
    margin-bottom: 15px;
}

.schedule-form .gform_wrapper .gsection:not(.skip) .gsection_description {
    text-transform: uppercase;
    font-weight: bold;
    color: #6E7380;
}

.schedule-form .gform_wrapper .cleaning--type legend.gfield_label,
.schedule-form .gform_wrapper p:has(> .gform-date-output),
.schedule-form .gform_wrapper .gform-date-output {
    text-transform: uppercase;
    color: #6E7380;
}

.schedule-form .gform_wrapper p:has(> .gform-date-output),
.schedule-form .gform_wrapper .gform-date-output {
    font-weight: bold;
}

.schedule-form .gform_wrapper .gfield--type-section {
    padding: 0px;
    border: 0px solid transparent;
}

.schedule-form .gform_wrapper .gsection_title {
    margin: 0px;
}

.schedule-form .gform_wrapper .gform_page_footer {
    padding-bottom: 0px;
}

.schedule-form .gform_wrapper [type="button"] {
    margin-bottom: 0px;
}

.schedule-form .gform_wrapper .ginput_container_date,
.schedule-form .gform_wrapper .ginput_container_time {
    flex-grow: 1;
    max-width: 100%;
}

.schedule-form .gform_wrapper .gform_page_fields {
    padding-block: 60px;
    width: min(100%, 1000px);
    margin-inline: auto;
}

.schedule-form .gform_wrapper .cleaning--type input[type="radio"],
.schedule-form .gform_wrapper .how-many input[type="radio"],
.schedule-form .gform_wrapper .property-type input[type="radio"],
.schedule-form .gform_wrapper .appointment-time input[type="radio"] {
    display: none !important;
}

.schedule-form .gform_wrapper .cleaning--type .ginput_container_radio {
    margin-top: 20px;
}

.schedule-form .gform_wrapper .gfield_radio .gform-field-label:has(img) {
    padding: 15px;
    display: flex;
    gap: 15px;
    flex-direction: column;
    border: 1px solid #eee;
    max-width: 100%;
    border-radius: 5px;
    cursor: pointer;
    margin-block: 15px;
}

.schedule-form .gform_wrapper .gfield_radio .gform-field-label img {
    width: 100%;
    max-width: 75px;
    display: block;
    margin-inline: auto;
    border-radius: 10px;
    aspect-ratio: 1;
}

.schedule-form .gform_wrapper .cleaning--type input[type="radio"]:checked + label {
    background-color: var(--e-global-color-primary);
    color: white;
}

.schedule-form .gform_wrapper .how-many .ginput_container_radio .gfield_radio {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    gap: 20px;
}

.schedule-form .gform_wrapper .how-many .ginput_container_radio .gfield_radio .gchoice {
    width: 25%;
    flex-grow: 1;
    counter-increment: how-many;
}

.schedule-form .gform_wrapper .how-many .gchoice label.gform-field-label {
    padding: 10px;
    border: 1px solid #eee;
    width: 100%;
    max-width: 100%;
    border-radius: 5px;
    text-align: left;
    cursor: pointer;
}

.schedule-form .gform_wrapper .how-many .gchoice label.gform-field-label:before {
    content: counter(how-many);
    position: relative;
    border: 1px solid currentColor;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    aspect-ratio: 1/1;
    height: 25px;
    border-radius: 100px;
    margin-right: 10px;
}

.schedule-form .gform_wrapper .how-many input[type="radio"]:checked + label {
    background-color: var(--e-global-color-primary);
    color: white;
}

.schedule-form .gform_wrapper .property-type .gfield_radio label.gform-field-label img {
    max-width: 30px !important;
    display: inline-block !important;
    margin-inline: 0 !important;
    border-radius: 0px !important;
}

.schedule-form .gform_wrapper .property-type .gfield_radio label.gform-field-label:has(img) {
    flex-direction: row !important;
    align-items: center;
}

.schedule-form .gform_wrapper .property-type input[type="radio"]:checked + label {
    background-color: var(--e-global-color-primary);
    color: white;
}

.schedule-form .gform_wrapper .property-type input[type="radio"]:checked + label img {
    filter: brightness(0) invert(1);
}

.schedule-form .gform_wrapper .ginput_container_date input {
    width: min(100%, 550px);
    margin-inline: auto;
}

.schedule-form .gform_wrapper .appointment-time .ginput_container_radio {
    max-width: 550px;
    margin-inline: auto;
}

.schedule-form .gform_wrapper .appointment-time .gfield_radio {
    grid-column-gap: 15px !important;
    grid-row-gap: 15px;
    display: flex;
    flex-wrap: wrap;
}

.schedule-form .gform_wrapper .appointment-time .ginput_container_radio label.gform-field-label {
    padding: 10px;
    border: 1px solid #eee;
    display: block;
    width: 100%;
    max-width: 100%;
    color: var(--e-global-color-primary);
    font-weight: bold;
    cursor: pointer;
}

.schedule-form .gform_wrapper .appointment-time input[type="radio"]:checked + label {
    background-color: var(--e-global-color-primary);
    color: white;
}

.schedule-form .gform_wrapper input[type="button"].gform_previous_button {
    color: var(--e-global-color-secondary);
    border-color: var(--e-global-color-secondary);
}

.schedule-form .gform_wrapper input[type="button"].gform_previous_button:hover {
    background-color: var(--e-global-color-secondary);
    color: white;
}

.schedule-form .gform_wrapper input[type="button"]:not(.gform_previous_button):hover,
.schedule-form .gform_wrapper input[type="submit"]:hover {
    border-color: var(--e-global-color-secondary);
}

@media only screen and (max-width: 767px) {
    .schedule-form .gform_wrapper .gform_page_fields {
        padding-block: 20px;
    }

    .schedule-form .gform_wrapper .how-many .ginput_container_radio .gfield_radio .gchoice {
        width: 40%;
    }

    .schedule-form .gform_wrapper .appointment-time .gfield_radio .gchoice {
        width: 40%;
        flex-grow: 1;
    }
}

/* Schedule  Form Custom Css End */