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

    --clr-primary: var(--e-global-color-primary, #2F2F2F);
    --clr-secondary: var(--e-global-color-secondary, #4F5154);
    --clr-accent: var(--e-global-color-accent, #E95412);
    --clr-text: var(--e-global-color-text, #565656);
    --clr-dark: #393939;

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

html {
    font-size: 62.5%;
    scroll-behavior: smooth;
}

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

/* =================
    CONTAINER
================= */
.elementor-element.e-con-boxed {
    padding-inline: clamp(20px, 5vw, 120px);
}
.elementor-widget-text-editor :first-child,
.elementor-widget-theme-post-content :first-child,
:where(.elementor-widget-text-editor,.elementor-widget-theme-post-content) .elementor-widget-container :first-child {
	margin-top: 0;
}
.elementor-widget-text-editor :last-child,
.elementor-widget-theme-post-content :last-child,
:where(.elementor-widget-text-editor,.elementor-widget-theme-post-content) .elementor-widget-container :last-child {
	margin-bottom: 0;
}

/* =================
    TYPOGRAPHY
================= */
.elementor-widget-heading .elementor-heading-title,
body.starter-style :where(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: 8rem;
    font-weight: 900;
    line-height: 1.125;
    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: 4rem;
    font-weight: 900;
    line-height: 1.1;
}

body.starter-style h3,
body.starter-style h3.elementor-heading-title,
body.starter-style .elementor-widget-heading.h3 .elementor-heading-title {
    font-size: 2rem;
    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.8rem;
    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: 1.6rem;
    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: 1.4rem;
    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: 280px;
    width: max-content;
	max-width: 100%;
    min-height: 68px;
    height: auto;
    padding: 20px;
    background-color: var(--clr-accent);
    font-family: var(--e-global-typography-primary-font-family), Sans-serif;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.25;
    letter-spacing: .1px;
    text-align: center;
    text-transform: uppercase;
    color: #fff;
    fill: currentColor;
    border-radius: 0;
    border: 1px solid var(--clr-accent);
    outline: none !important;
    transition: var(--transition);
}
.elementor-element.elementor-widget-button.btn-secondary .elementor-button {
    background-color: var(--clr-secondary);
    border-color: var(--clr-secondary);
}
.elementor-element.elementor-widget-button.btn-clipped .elementor-button {
    clip-path: polygon( 0px 100%, 0px 0px, calc(100% - 29px) 0px, 100% 18px, 100% 100% );
}

.elementor-element.elementor-widget-button.btn-outline .elementor-button {
    color: var(--clr-primary);
    border-color: #C9C9C9;
    background-color: transparent;
    clip-path: none!important;
}

.elementor-element.elementor-widget-button.btn-outline-white .elementor-button {
    color: #fff;
    border-color: #fff;
    background-color: transparent;
    clip-path: none!important;
}

.elementor-element.elementor-widget-button .elementor-button .elementor-button-content-wrapper {
    z-index: 2;
    align-items: center;
    gap: 10px
}

.elementor-element.elementor-widget-button .elementor-button:hover,
.elementor-element.elementor-widget-button.btn-outline .elementor-button:hover {
    color: #fff;
    background-color: var(--clr-primary);
    border-color: var(--clr-primary);
}
.elementor-element.elementor-widget-button.btn-outline-white .elementor-button:hover {
    color: var(--clr-primary);
    background-color: #fff;
}
.elementor-element.elementor-widget-button .elementor-button-icon svg {
    width: 1.5em;
}
.elementor-element.elementor-widget-button .elementor-button :where(svg, path) {
    fill: inherit;
    /* stroke: currentColor; */
    transition: var(--transition);
}
.elementor-element.elementor-widget-button.btn-outline-white .elementor-button :where(svg, path),
.elementor-element.elementor-widget-button.btn-outline .elementor-button :where(svg, path) {
    fill: var(--clr-accent);
}

@media(min-width: 1025px) and (max-width: 1366px) {
    .elementor-element.elementor-widget-button .elementor-button {
        min-width: 240px;
    }
}

@media (max-width: 767px) {
    .elementor-element.elementor-widget-button .elementor-button {
        min-width: 240px;
    }
}

.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: 20px 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;
    width: 32px;
    height: 32px;
    background: var(--clr-accent);
    display: inline-flex;
    justify-content: center;
    align-items: center;
    flex-shrink: 0;
}
.elementor-widget-n-accordion .e-n-accordion .e-n-accordion-item[open] .e-n-accordion-item-title .e-n-accordion-item-title-icon {
    background: var(--clr-dark);
}

.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-icon svg {
    fill: #fff!important;
}

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


/* ==================
    GRAVITY FORM
================= */
.gform_wrapper.gform-theme--foundation {
    --gform-fields-gap: 12px;
    --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: 15px;
    --gform-field-input-font-family: var( --e-global-typography-text-font-family ), Sans-serif;
    --gform-field-input-font-size: 15px;
    --gform-field-submit-font-family: "Poppins", Sans-serif;
    --gform-field-submit-font-size: 16px;
}

.gform_wrapper .gform_heading,
.gform_wrapper.gform-theme--foundation .gform_required_legend {
    display: none!important;
}

.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: 0;
    background-color: #fff;
    min-height: 51px;
    padding-block: var(--gform-field-padding-block);
    padding-inline: var(--gform-field-padding-inline);
}
.gform_wrapper.gform-theme--foundation form .gfield .textarea {
    height: 157px;
    min-block-size: 0
}
.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 .gform_button.button[type="submit"],
.gform_wrapper.gform-theme--foundation form .gform_page_footer .gform_button.button[type="submit"] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: auto;
    min-width: 280px;
    min-height: 68px;
    padding: 20px;
    background-color: var(--clr-dark);
    font-family: var(--gform-field-submit-font-family);
    font-size: var(--gform-field-submit-font-size);
    font-weight: 600;
    line-height: 1;
    text-align: center;
	text-transform: uppercase;
    color: #fff;
    border: 0;
    border-radius: 0;
    outline: none !important;
    transition: var(--transition);
    clip-path: polygon( 0px 100%, 0px 0px, calc(100% - 29px) 0px, 100% 18px, 100% 100% );
}
.gform_wrapper.gform-theme--foundation form .gform-footer .gform_button.button[type="submit"]::before,
.gform_wrapper.gform-theme--foundation form .gform_page_footer .gform_button.button[type="submit"]::before {
    content: "";
    display: inline-block;
    width: 24px;
    height: 24px;
    background: currentColor;

    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    -webkit-mask-size: contain;

    mask-repeat: no-repeat;
    mask-position: bottom right;
    mask-size: contain;

    -webkit-mask-image: url('assets/images/rule.svg');
    mask-image: url('assets/images/rule.svg');
}
.gform_wrapper.gform-theme--foundation form .gform-footer .gform_button.button[type="submit"] u {
    text-decoration: underline;
}
.gform_wrapper.gform-theme--foundation form .gform-footer .gform_button.button[type="submit"]:hover,
.gform_wrapper.gform-theme--foundation form .gform_page_footer .gform_button.button[type="submit"]:hover {
    
}
.gform-theme--framework .gform_validation_errors {
    background: #fff!important;
    margin-bottom: 20px!important;
}
.gform_wrapper .gfield_validation_message {
    background: #fff;
    padding: 2px 5px;
}

.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: 3.2rem;
	}
    .gform_wrapper.gform-theme--foundation form .gform-footer .gform_button.button[type="submit"],
    .gform_wrapper.gform-theme--foundation form .gform_page_footer .gform_button.button[type="submit"] {
        min-width: 0;
        padding-left: 10px;
        padding-right: 10px;
        width: 100%;
        max-width: 280px;
    }
}