/* =================
	GLOBAL
================= */
:root {
    /* 	--font-family: var( --e-global-typography-text-font-family ), Sans-serif; */

    --clr-primary: var(--e-global-color-primary, #1c1f2c);
    --clr-secondary: var(--e-global-color-secondary, #9fd931);
    --clr-accent: var(--e-global-color-accent, #235c4e);
    --clr-text: var(--e-global-color-text, #5C6070);

    --clr-dark: #1c1f2c;
    --clr-light: #fff;
    --clr-dark-green: #184534;

    --clr-button__bd: #9fd931;
    --clr-button__bg: #9fd931;
    --clr-button__txt: #1c1f2c;
    --clr-button__bg-hover: #235c4e;
    --clr-button__txt-hover: #fff;

    --button-border-radius: 3px;

    --transition: all .35s ease-in-out;
}

html {
    /* font-size: 16px; */
    scroll-behavior: smooth;
}

body.starter-style {
    /* 	font-family: var(--font-family); */
    font-size: 1rem;
    line-height: 1.5;
    background-color: #fff;
}


/* =================
    CONTAINER
================= */
.elementor-element.e-con-boxed {
    padding-inline: clamp(24px, 5vw, 120px);
}


/* =================
    TYPOGRAPHY
================= */
.elementor-widget-heading .elementor-heading-title,
body.starter-style :where(h2, h3, h4, h5, h6).elementor-heading-title {
    font-weight: 700;
    --e-global-typography-primary-font-weight: 700;
    text-transform: uppercase;
}

body.starter-style h1,
body.starter-style h1.elementor-heading-title,
body.starter-style .elementor-widget-heading.h1 .elementor-heading-title {
    font-size: 4.7rem;
    /* font-size: 5.375rem; */
    font-weight: 900;
    line-height: 1;
    letter-spacing: -1.8px;
    text-transform: uppercase;
}

body.starter-style h2,
body.starter-style h2.elementor-heading-title,
body.starter-style .elementor-widget-heading.h2 .elementor-heading-title {
    font-size: 2.25rem;
    font-weight: 900;
    line-height: 1.11;
}

body.starter-style h3,
body.starter-style h3.elementor-heading-title,
body.starter-style .elementor-widget-heading.h3 .elementor-heading-title {
    font-size: 1.25rem;
    line-height: 1.25;
}

body.starter-style h4,
body.starter-style h4.elementor-heading-title,
body.starter-style .elementor-widget-heading.h4 .elementor-heading-title {
    font-size: 1.125rem;
    line-height: 1.25;
}

body.starter-style h5,
body.starter-style h5.elementor-heading-title,
body.starter-style .elementor-widget-heading.h5 .elementor-heading-title {
    font-size: 1rem;
    line-height: 1.25;
}

body.starter-style h6,
body.starter-style h6.elementor-heading-title,
body.starter-style .elementor-widget-heading.h6 .elementor-heading-title {
    font-size: .875rem;
    line-height: 1.25;
}

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


/* ==================
    BUTTON
================= */
.elementor-element.elementor-widget-button .elementor-button {
    overflow: hidden;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 133px;
    width: max-content;
	max-width: 100%;
    min-height: 48px;
    height: auto;
    padding: 16px 25px 16px;
    background-color: var(--clr-button__bg);
    font-family: var(--e-global-typography-secondary-font-family), Sans-serif;
    font-size: 16px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: .3px;
    text-align: center;
    color: var(--clr-button__txt);
    fill: var(--clr-button__txt);
    border: 1px solid var(--clr-button__bd);
    border-radius: var(--button-border-radius);
    outline: none !important;
    transition: var(--transition);
}

.elementor-element.elementor-widget-button.outline .elementor-button {
    border-color: currentColor;
    background-color: transparent;
}

.elementor-element.elementor-widget-button .elementor-button .elementor-button-content-wrapper {
    z-index: 2;
}

.elementor-element.elementor-widget.elementor-widget-button .elementor-button:hover,
.elementor-element.elementor-widget.elementor-widget-button.outline .elementor-button:hover {
    color: var(--clr-button__txt-hover);
    fill: var(--clr-button__txt-hover);
    background-color: var(--clr-button__bg-hover);
    border-color: var(--clr-button__bg-hover);
}

.elementor-element.elementor-widget-button .elementor-button :where(svg, path) {
    /* fill: inherit; */
    stroke: currentColor;
    transition: var(--transition);
}


.elementor-widget-text-editor a:not([class]) {
	color: inherit;
    text-decoration: underline;
	transition: var(--transition);
}

.elementor-widget-text-editor a:not([class]):hover {
    color: var(--clr-accent);
}

/* ==================
    ACCORDION
================= */
.elementor-widget-n-accordion {
    --accordion-title-font-family: var( --e-global-typography-primary-font-family ), Sans-serif;
    --accordion-title-font-size: 18px;
    --accordion-title-font-weight: 600;
    --accordion-accent-color: var(--clr-primary);
    --accordion-divider-color: #d8d8d8;
}

.elementor-widget-n-accordion .e-n-accordion .e-n-accordion-item {
    border-width: 0 0 1px;
    border-style: solid;
    border-color: var(--accordion-divider-color);
}

.elementor-widget-n-accordion .e-n-accordion .e-n-accordion-item-title {
    align-items: flex-start;
    justify-content: space-between;
    column-gap: 20px;
    padding: 22px 0;
    border-width: 0;
}

.elementor-widget-n-accordion .e-n-accordion-item-title {
    color: var(--clr-dark);
}

.elementor-widget-n-accordion .e-n-accordion .e-n-accordion-item-title-header {
    color: inherit;
}

.elementor-widget-n-accordion .e-n-accordion .e-n-accordion-item-title-text {
    font-family: var(--accordion-title-font-family);
    font-size: var(--accordion-title-font-size, --n-accordion-title-font-size);
    font-weight: var(--accordion-title-font-weight);
    color: inherit;
    transition: var(--transition);
}

.elementor-widget-n-accordion .e-n-accordion .e-n-accordion-item .e-n-accordion-item-title:has(.e-n-accordion-item-title-header:hover),
.elementor-widget-n-accordion .e-n-accordion .e-n-accordion-item[open] .e-n-accordion-item-title {
    color: var(--accordion-accent-color);
}

.elementor-widget-n-accordion .e-n-accordion .e-n-accordion-item-title .e-n-accordion-item-title-icon {
    margin-top: 2px;
    order: 1;
}

.elementor-widget-n-accordion .e-n-accordion .e-n-accordion-item-title-icon svg {
    transition: var(--transition);
}

.elementor-widget-n-accordion .e-n-accordion .e-n-accordion-item .e-n-accordion-item-title:has(.e-n-accordion-item-title-header:hover) .e-n-accordion-item-title-icon svg,
.elementor-widget-n-accordion .e-n-accordion .e-n-accordion-item[open] .e-n-accordion-item-title-icon .e-opened svg {
    fill: var(--accordion-accent-color);
}

.elementor-widget-n-accordion .e-n-accordion .e-n-accordion-item [role="region"] {
    border-width: 0;
    padding-block: 0 24px;
    padding-right: 20px;
}


/* ==================
    GRAVITY FORM
================= */
.gform_wrapper.gform-theme--foundation {
    --gform-fields-gap: 20px;
    --gform-field-padding-block: 14px;
    --gform-field-padding-inline: 20px;
    --gform-field-label-font-family: var( --e-global-typography-text-font-family ), Sans-serif;
    --gform-field-label-font-size: 16px;
    --gform-field-input-font-family: var( --e-global-typography-text-font-family ), Sans-serif;
    --gform-field-input-font-size: 16px;
    --gform-field-submit-font-family: "Inter", Sans-serif;
    --gform-field-submit-font-size: 16px;
}

.gform_wrapper.gform-theme--foundation .gform_required_legend {
    display: none;
}

.gform_wrapper.gform-theme--foundation form .gform_fields {
    gap: var(--gform-fields-gap);
}

.gform_wrapper.gform-theme--foundation form .gfield :where(input, select, textarea) {
    font-family: var(--gform-field-input-font-family);
    font-size: var(--gform-field-input-font-size);
    line-height: 1.5;
    outline: none !important;
}

.gform_wrapper.gform-theme--foundation form .gfield select {
    color: inherit;
}

.gform_wrapper.gform-theme--foundation form .gfield input:not([type="checkbox"]):not([type="radio"]),
.gform_wrapper.gform-theme--foundation form .gfield :where(select, textarea) {
    border-width: 1px;
    border-style: solid;
    border-color: #235C4E1F;
    border-radius: 7px;
    background-color: #fff;
    min-height: 51px;
    padding-block: var(--gform-field-padding-block);
    padding-inline: var(--gform-field-padding-inline);
}

/* --- Floating label --- */
/* .gform_wrapper.gform-theme--foundation form .gfield:not(.hidden_label):not(.gfield--type-choice) {
    position: relative;
}

.gform_wrapper.gform-theme--foundation form .gfield:not(.hidden_label):not(.gfield--type-choice) label {
    pointer-events: none;
    font-size: var(--gform-field-label-font-size);
    font-weight: 400;
    line-height: 1.5;
    margin: 0;
}

.gform_wrapper.gform-theme--foundation form .gfield:not(.hidden_label):not(.gfield--type-choice):has(input:not([type="checkbox"]):not([type="radio"])) label,
.gform_wrapper.gform-theme--foundation form .gfield:not(.hidden_label):not(.gfield--type-choice):has(select, textarea) label {
    position: absolute;
    top: 0;
    left: var(--gform-field-padding-inline);
    transform: translateY(var(--gform-field-padding-block));
    transition: all .3s ease-in-out;
}

.gform_wrapper.gform-theme--foundation form .gfield:not(.hidden_label):not(.gfield--type-choice):has(input:not([type="checkbox"]):not([type="radio"]):focus) label,
.gform_wrapper.gform-theme--foundation form .gfield:not(.hidden_label):not(.gfield--type-choice):has(textarea:focus) label,
.gform_wrapper.gform-theme--foundation form .gfield:not(.hidden_label):not(.gfield--type-choice):has(textarea:not(:placeholder-shown)) label,
.gform_wrapper.gform-theme--foundation form .gfield:not(.hidden_label):not(.gfield--type-choice):has(select:focus) label,
.gform_wrapper.gform-theme--foundation form .gfield:not(.hidden_label):not(.gfield--type-choice):has(select option:checked) label {
    font-family: var(--gform-field-label-font-family);
    font-size: calc(var(--gform-field-label-font-size) * .8);
    padding: 2px 5px;
    background-color: #fff;
    transform: translateY(calc(var(--gform-field-padding-block) * -1));
}

.gform_wrapper.gform-theme--foundation form .gfield:not(.hidden_label):not(.gfield--type-choice) select:has(option.placeholder:checked),
.gform_wrapper.gform-theme--foundation form .gfield:not(.hidden_label):not(.gfield--type-choice) .ginput_container *::placeholder {
    color: transparent;
}

.gform_wrapper.gform-theme--foundation form .gfield:not(.hidden_label):not(.gfield--type-choice):has(select option.placeholder:checked) label {
    opacity: 1;
}

.gform_wrapper.gform-theme--foundation form .gfield:not(.hidden_label):not(.gfield--type-choice) select option {
    color: var(--clr-dark);
} */

/* --- END: Floating label --- */

.gform_wrapper.gform-theme--foundation form .gform-footer,
.gform_wrapper.gform-theme--foundation form .gform_page_footer {
    position: relative;
}

.gform_wrapper.gform-theme--foundation form .gform-footer input.gform_button.button[type="submit"],
.gform_wrapper.gform-theme--foundation form .gform_page_footer input.gform_button.button[type="submit"] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 48px;
    padding: 15px 32px 16px;
    background-color: #235c4e;
    font-family: var(--gform-field-submit-font-family);
    font-size: var(--gform-field-submit-font-size);
    font-weight: 700;
    line-height: 1;
    text-align: center;
	text-transform: uppercase;
    color: var(--clr-light);
    border: 1px solid #235c4e;
    border-radius: var(--button-border-radius);
    outline: none !important;
    transition: var(--transition);
}

.gform_wrapper.gform-theme--foundation form .gform-footer input.gform_button.button[type="submit"]:hover,
.gform_wrapper.gform-theme--foundation form .gform_page_footer input.gform_button.button[type="submit"]:hover {
    color: var(--clr-button__txt-hover);
/*     background-color: var(--clr-button__bg-hover);
    border-color: var(--clr-button__bg-hover); */
	background-color: var(--clr-dark);
    border-color: var(--clr-dark);
}

.gform_wrapper.gform-theme--foundation form .gform-footer .gform-loader,
.gform_wrapper.gform-theme--foundation form .gform_page_footer .gform-loader {
    position: absolute;
    right: 10px;
    border-block-end-color: var(--clr-light);
    /* border-block-start-color: var(--gf-form-spinner-bg-color);
        border-inline-end-color: var(--gf-form-spinner-bg-color); */
    border-inline-start-color: var(--clr-light);
    z-index: 3;
}

.gform_wrapper.gform-theme--foundation form fieldset .ginput_complex > *:has(label) {
    position: relative;
}

@media (max-width: 1024px) {
    body.starter-style h1,
    body.starter-style h1.elementor-heading-title,
    body.starter-style .elementor-widget-heading.h1 .elementor-heading-title {
        font-size: 4.5rem;
    }
}

@media (max-width: 767px) {
    body.starter-style h1,
    body.starter-style h1.elementor-heading-title,
    body.starter-style .elementor-widget-heading.h1 .elementor-heading-title {
        font-size: 3rem;
    }
	
	body.starter-style h2,
	body.starter-style h2.elementor-heading-title,
	body.starter-style .elementor-widget-heading.h2 .elementor-heading-title {
		font-size: 2.1rem;
	}
}