/* Gravity Forms - Custom CSS */

.gform_wrapper.gform-theme .gform_validation_errors {
    display: none;
}

.gform_wrapper.gform-theme label {
    color: #4C4C4C;
    display: inline-block;
    position: absolute;
    left: 6px;
    top: 50%;
    transform: translate(0, -50%);
    font-size: 16px;
    font-weight: normal;
    font-family: var(--font-primary-regular);
    pointer-events: none;
    transition: all 0.2s ease-in-out;
    background: var(--color-white);
    padding: 0 9px;
    z-index: 1;

    .gfield_required {
        color: #4C4C4C;
    }
}

.gform_wrapper.gform-theme label sup {
    font-size: 16px;
    top: 0;
}

.gform_wrapper.gform-theme .gfield:has(textarea) label {
    top: 15px;
    transform: none;
}

.gform_wrapper.gform-theme .gchoice label {
    position: static;
    transform: none !important;
}

.gform_wrapper.gform-theme .gfield.gfield_error label {
    top: 15px;
    transform: none;
}

.gform_wrapper.gform-theme .gfield:has(textarea:focus) label,
.gform_wrapper.gform-theme .gfield:has(input:focus) label,
.gform_wrapper.gform-theme .gfield.gfield_error:has(textarea:focus) label,
.gform_wrapper.gform-theme .gfield.gfield_error:has(input:focus) label,
.gform_wrapper.gform-theme .gfield:has(input:not(:placeholder-shown)) label,
.gform_wrapper.gform-theme .gfield.gfield_error:has(input:not(:placeholder-shown)) label,
.gform_wrapper.gform-theme .gfield:has(textarea:not(:placeholder-shown)) label,
.gform_wrapper.gform-theme .gfield.gfield_error:has(textarea:not(:placeholder-shown)) label,
.gform_wrapper.gform-theme .gfield:has(.choices select:valid) label,
.gform_wrapper.gform-theme .gfield:has(.choices select:focus) label,
.pcafe_sp_field .gform-field-label{
    top: 3px;
    transform: translate(0, -50%);
    color: var(--color-primary);
    font-family: var(--font-primary-bold);
    font-weight: normal;
    font-size: 14px;

    .gfield_required {
        font-size: 16px;
        color: var(--color-secondary);
    }
}
.pcafe_sp_field .gform-field-label{
     top: 3px !important;
    transform: translate(0, -50%) !important;
    color: var(--color-primary) !important;
    font-family: var(--font-primary-bold) !important;
    font-weight: normal !important;
    font-size: 14px !important;

    .gfield_required {
        font-size: 16px !important;
        color: var(--color-secondary) !important;
    }
}
/*
 * intl-tel-input (Smart Phone Field): plugin uses e.g.
 * body .gform_wrapper .gfield button.iti__selected-country { … !important }.
 * Prefix with body .gform_wrapper[class*="gform-theme"] .gfield .ginput_container_phone
 * so specificity always exceeds the plugin when both sides use !important.
 */
body .gform_wrapper[class*="gform-theme"] .gfield .ginput_container_phone button.iti__selected-country,
body .gform_wrapper[class*="gform-theme"] .gfield .ginput_container_phone button.iti__selected-country:hover,
body .gform_wrapper[class*="gform-theme"] .gfield .ginput_container_phone button.iti__selected-country[aria-expanded="true"],
body .gform_wrapper[class*="gform-theme"] .gfield .ginput_container_phone button.iti__selected-country:focus,
body .gform_wrapper[class*="gform-theme"] .gfield .ginput_container_phone button.iti__selected-country:active {
    height: 100% !important;
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none !important;
    outline: none !important;
}

body .gform_wrapper[class*="gform-theme"] .gfield .ginput_container_phone .iti .iti__selected-dial-code {
    font-size: 16px !important;
    margin-top: 3px !important;
}

body .gform_wrapper[class*="gform-theme"] .gfield .ginput_container_phone .iti .iti__flag {
    margin-top: 3px !important;
}

body .gform_wrapper[class*="gform-theme"] .gfield .iti__country::before {
    content: unset !important;
}
.gform_wrapper.gform-theme input:active,
.gform_wrapper.gform-theme textarea:active,
.gform_wrapper.gform-theme select:active,
.gform_wrapper.gform-theme input:focus,
.gform_wrapper.gform-theme textarea:focus,
.gform_wrapper.gform-theme select:focus {
    outline: none;
}

.gform_wrapper.gform-theme .gfield:not(.gfield_error) :is(input, textarea, select):focus,
.gform_wrapper.gform-theme .gfield:not(.gfield_error) :is(input, textarea, select):active {
    border-color: #DDDDDD;
}

.gform_wrapper.gform-theme .gfield.gfield_error :is(input, textarea, select):focus,
.gform_wrapper.gform-theme .gfield.gfield_error :is(input, textarea, select):active {
    border-color: var(--color-secondary);
}

.gform_wrapper.gform-theme .gfield input::placeholder,
.gform_wrapper.gform-theme .gfield textarea::placeholder,
.gform_wrapper.gform-theme .gfield .choices__placeholder {
    display: none;
    visibility: hidden;
}

/* default text input style */
.gform_wrapper.gform-theme [type="text"],
.gform_wrapper.gform-theme [type="date"],
.gform_wrapper.gform-theme [type="datetime"],
.gform_wrapper.gform-theme [type="datetime-local"],
.gform_wrapper.gform-theme [type="email"],
.gform_wrapper.gform-theme [type="month"],
.gform_wrapper.gform-theme [type="number"],
.gform_wrapper.gform-theme [type="password"],
.gform_wrapper.gform-theme [type="search"],
.gform_wrapper.gform-theme [type="tel"],
.gform_wrapper.gform-theme [type="url"],
.gform_wrapper.gform-theme [type="week"],
.gform_wrapper.gform-theme [type="date"] {
    width: 100%;
    display: block;
    background: var(--color-white);
    border-radius: 4px;
    color: var(--color-black);
    border: 1px solid #DDDDDD;
    padding: 15px;
    height: 51px;
    font-size: 16px;
    font-weight: normal;
    font-family: var(--font-primary-regular);
    box-shadow: none;
}

.gform_wrapper.gform-theme [type="text"]::placeholder,
.gform_wrapper.gform-theme [type="date"]::placeholder,
.gform_wrapper.gform-theme [type="datetime"]::placeholder,
.gform_wrapper.gform-theme [type="datetime-local"]::placeholder,
.gform_wrapper.gform-theme [type="email"]::placeholder,
.gform_wrapper.gform-theme [type="month"]::placeholder,
.gform_wrapper.gform-theme [type="number"]::placeholder,
.gform_wrapper.gform-theme [type="password"]::placeholder,
.gform_wrapper.gform-theme [type="search"]::placeholder,
.gform_wrapper.gform-theme [type="tel"]::placeholder,
.gform_wrapper.gform-theme [type="url"]::placeholder,
.gform_wrapper.gform-theme [type="week"]::placeholder,
.gform_wrapper.gform-theme [type="date"]::placeholder {
    opacity: 1;
    color: #4C4C4C;
}

.gform_wrapper.gform-theme input:-webkit-autofill,
.gform_wrapper.gform-theme input:-webkit-autofill:hover,
.gform_wrapper.gform-theme input:-webkit-autofill:focus,
.gform_wrapper.gform-theme input:-webkit-autofill:active,
.gform_wrapper.gform-theme textarea:-webkit-autofill,
.gform_wrapper.gform-theme textarea:-webkit-autofill:hover,
.gform_wrapper.gform-theme textarea:-webkit-autofill:focus,
.gform_wrapper.gform-theme textarea:-webkit-autofill:active {
    -webkit-box-shadow: 0 0 0 30px var(--color-white) inset !important;
}

.gform_wrapper.gform-theme .gfield.gfield_error [type="text"],
.gform_wrapper.gform-theme .gfield.gfield_error [type="date"],
.gform_wrapper.gform-theme .gfield.gfield_error [type="datetime"],
.gform_wrapper.gform-theme .gfield.gfield_error [type="datetime-local"],
.gform_wrapper.gform-theme .gfield.gfield_error [type="email"],
.gform_wrapper.gform-theme .gfield.gfield_error [type="month"],
.gform_wrapper.gform-theme .gfield.gfield_error [type="number"],
.gform_wrapper.gform-theme .gfield.gfield_error [type="password"],
.gform_wrapper.gform-theme .gfield.gfield_error [type="search"],
.gform_wrapper.gform-theme .gfield.gfield_error [type="tel"],
.gform_wrapper.gform-theme .gfield.gfield_error [type="url"],
.gform_wrapper.gform-theme .gfield.gfield_error [type="week"],
.gform_wrapper.gform-theme .gfield.gfield_error [type="date"] {
    border-color: var(--color-secondary);
}

/* Address Styling */

.ginput_complex .gform-grid-col {
    position: relative;
}

.ginput_complex .gform-grid-col label {
    left: 12px;
    margin: 0;
}

/* Removes inconsistent padding from Firefox buttons */
.gform_wrapper.gform-theme button::-moz-focus-inner,
.gform_wrapper.gform-theme [type="reset"]::-moz-focus-inner,
.gform_wrapper.gform-theme [type="button"]::-moz-focus-inner,
.gform_wrapper.gform-theme [type="submit"]::-moz-focus-inner {
    border: none;
    padding: 0;
}

.section-block .gform_wrapper.gform-theme--framework.gform-theme .gform_button[type="submit"] {
    position: relative;
    display: inline-block;
    color: var(--color-white);
    font-size: 18px;
    line-height: 1.3em;
    font-weight: normal;
    padding: 20px 62px 20px 40px;
    vertical-align: middle;
    text-decoration: none;
    background-image: var(--color-gradient-primary);
    background-color: var(--color-primary-dark);
    background-size: 150%;
    background-repeat: no-repeat;
    background-position: 50% 0;
    border: none;
    border-radius: var(--btn-radius);
    font-family: var(--font-primary-bold);
    transition: background-position 0.3s ease-in-out, color 0.3s ease-in-out, box-shadow 0.3s ease-in-out, background-color 0.3s ease-in-out;
}

.section-block .gform_wrapper.gform-theme--framework.gform-theme .gform_button[type="submit"]::after {
    content: '\e901';
    font-family: var(--font-icon) !important;
    position: absolute;
    top: 50%;
    right: 40px;
    font-size: 14px;
    font-weight: normal;
    transform: translate(0, -50%);
    font-style: normal;
}

.section-block .gform_wrapper.gform-theme .gfield textarea.large,
.section-block .gform_wrapper.gform-theme .gfield textarea.medium {
    border-color: var(--color-grey);
    border-radius: 4px;
    height: 135px;
    min-block-size: unset;
}

.gform_wrapper.gform-theme .gform_fields .gfield {
    position: relative;
}

.gform_wrapper.gform-theme .gform_fields .gfield:not(.gfield--type-html) {
    margin: 0 0 25px;
}

.section-block .gform_wrapper.gform-theme--framework.gform-theme .gchoice label,
.section-block .gform_wrapper.gform-theme--framework.gform-theme .gfield_error .gchoice label {
    color: var(--color-black);
    font-weight: normal;
    font-family: var(--font-primary-regular);
    margin-top: 0;
    top: 0;
}

.gform_wrapper.gform-theme .gform-page-footer {
    margin-top: 0;
}

.gform_wrapper.gform-theme form .gform-page-footer button[type="submit"].gform_button.btn,
.gform_wrapper.gform-theme form .gform-page-footer button[type="button"].gform-theme-button.btn {
    position: relative;
    display: inline-block;
    color: var(--color-white);
    font-size: 18px;
    line-height: 1.3em;
    font-weight: normal;
    vertical-align: middle;
    text-decoration: none;
    background-image: var(--color-gradient-primary);
    background-color: var(--color-primary-dark);
    background-size: 150%;
    background-repeat: no-repeat;
    background-position: 50% 0;
    border: none;
    border-radius: var(--btn-radius);
    font-family: 'proxima_novabold';
    margin-left: auto;
    padding: 20px 62px 20px 40px;
    transition: background-position 0.3s ease-in-out, color 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
}

.gform_wrapper.gform-theme form .gform-page-footer button[type="submit"].gform_button.btn::after,
.gform_wrapper.gform-theme form .gform-page-footer button[type="button"].gform-theme-button.btn::after {
    content: '\e901';
    font-family: 'ftr-icon' !important;
    position: absolute;
    top: 50%;
    right: 40px;
    font-size: 14px;
    font-weight: normal;
    color: var(--color-white);
    transform: translate(0, -50%);
    font-style: normal;
}

.gform_wrapper.gform-theme form .gform-page-footer button[type="button"].gform_previous_button.btn::after {
    right: unset;
    left: 40px;
    transform: translate(0, -50%) rotate(180deg);
}

.gform_wrapper.gform-theme form .gform-page-footer button[type="button"].gform_previous_button.btn {
    margin-left: unset;
    margin-right: auto;
    padding: 20px 40px 20px 62px;
}

.gform_wrapper.gform-theme form .gform-page-footer button[type="button"].gform_next_button.btn {
    margin-left: unset;
}

.gform_wrapper.gform-theme .gfield.gfield_error .gfield_validation_message {
    position: absolute;
    bottom: -10px;
    left: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    width: max-content;
    text-align: left;
    background: var(--color-white);
    color: #790000;
    font-size: 14px;
    font-weight: normal;
    font-family: var(--font-primary-regular);
    padding: 0 9px 0 23px;
}

.gform_wrapper.gform-theme .gfield.gfield--type-checkbox.gfield_error .gfield_validation_message {
    position: relative;
    left: 0;
}

.gform_wrapper.gform-theme .gfield.gfield--type-radio.gfield_error .gfield_validation_message {
    position: relative;
    bottom: 0;
    left: 0;
    margin: 10px 0 25px;
}

.gform_wrapper.gform-theme .gfield.gfield_error .ginput_container_phone .instruction {
    position: absolute;
    top: calc(100% + 5px);
    left: 15px;
    color: #790000;
    font-size: 14px;
    font-weight: 400;
    font-family: var(--font-primary-regular);
    padding: 0 9px 0 23px;
}

.gform_wrapper.gform-theme .gfield.gfield_error .gfield_validation_message::before,
.gform_wrapper.gform-theme .gfield.gfield_error .ginput_container_phone .instruction::before {
    content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='17' height='17' viewBox='0 0 17 17' fill='none'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M8.31255 0C12.9026 0 16.6251 3.72246 16.6251 8.31255C16.6251 12.9026 12.9026 16.6251 8.31255 16.6251C3.72246 16.6251 0 12.9026 0 8.31255C0 3.72246 3.72246 0 8.31255 0ZM7.422 9.02785V4.74949C7.422 4.25901 7.82208 3.85894 8.31255 3.85894C8.80303 3.85894 9.2031 4.26273 9.2031 4.74949V9.02785C9.2031 9.51461 8.80302 9.91841 8.31255 9.91841C7.82207 9.91841 7.422 9.51832 7.422 9.02785ZM8.3087 10.8736C8.86607 10.8736 9.31812 11.3256 9.31812 11.8829C9.31812 12.4403 8.86607 12.8923 8.3087 12.8923C7.75139 12.8923 7.29935 12.4403 7.29935 11.8829C7.29935 11.3256 7.75139 10.8736 8.3087 10.8736Z' fill='%23BF322E'/%3E%3C/svg%3E");
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: 18px;
    height: 18px;
    display: block;
    margin: auto;
}

.gform_wrapper.gform-theme .gform_fields {
    row-gap: 0;
}

.gform_wrapper.gform-theme:has(.gfield.gfield_error) .gform_page_fields {
    padding-bottom: 25px;
}

@media (min-width: 1367px) {

    .gform_wrapper.gform-theme form .gform-page-footer button[type="submit"].gform_button.btn,
    .gform_wrapper.gform-theme form .gform-page-footer button[type="button"].gform-theme-button.btn {
        padding: 25px 72px 25px 50px;
    }

    .section-block .gform_wrapper.gform-theme--framework.gform-theme .gform_button[type="submit"]:hover,
    .gform_wrapper.gform-theme form .gform-page-footer button[type="submit"].gform_button.btn:hover,
    .gform_wrapper.gform-theme form .gform-page-footer button[type="button"].gform-theme-button.btn:hover {
        background-position: -200% 0;
    }

    .gform_wrapper.gform-theme form .gform-page-footer button[type="button"].gform-theme-button.gform_previous_button.btn {
        padding: 25px 50px 25px 72px;
    }

    .gform_wrapper.gform-theme form .gform-page-footer button[type="submit"].gform_button.btn::after,
    .gform_wrapper.gform-theme form .gform-page-footer button[type="button"].gform-theme-button.btn::after {
        right: 50px;
    }

    .gform_wrapper.gform-theme form .gform-page-footer button[type="button"].gform-theme-button.gform_previous_button.btn::after {
        right: unset;
        left: 50px;
    }

    .gform_wrapper.gform-theme form .gform-page-footer button[type="button"].gform_next_button.btn {
        margin-left: auto;
    }
}

.gform_wrapper.gform-theme .gfield--type-checkbox input[type="checkbox"].gfield-choice-input {
    border-color: var(--color-grey);
    box-shadow: none;
}

.gform_wrapper.gform-theme .gfield--type-checkbox .gchoice label {
    pointer-events: auto;
    cursor: pointer;
}

.gform_wrapper.gform-theme .gfield--type-radio .gchoice {
    z-index: 1;
    position: relative;
    margin: 0 0 10px 0;
    padding: 0 0 0 52px;
    min-height: 20px;
    width: 100%!important;
}

.gform_wrapper.gform-theme .gfield--type-radio .gchoice label {
    z-index: 3;
    font-weight: normal;
    color: var(--color-black);
    font-size: 16px;
    font-family: var(--font-primary-regular);
    display: block;
    position: absolute;
    padding: 0 0 0 15px;
    top: 50%;
    transform: translateY(-50%);
    width: 100%;
    overflow: visible;
    text-transform: none;
    line-height: 1.5;
    opacity: 1;
    background: transparent;
    pointer-events: auto;
    cursor: pointer;
}

.gform_wrapper.gform-theme .gfield--type-radio input[type="radio"].gfield-choice-input {
    z-index: 2;
    appearance: none;
    margin: 0;
    padding: 0;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background:var(--color-white);
    border: 1px solid var(--color-grey);
    transition: .3s all ease-in-out;
    position: absolute;
    left: 0;
    top: 0;
}

.gform_wrapper.gform-theme .gfield--type-radio input[type="radio"].gfield-choice-input:checked {
    background: var(--color-white);
    border-color: var(--color-primary);
}

.gform_wrapper.gform-theme .gfield--type-radio input[type="radio"].gfield-choice-input:checked + label {
    opacity: 1;
}

.gform_wrapper.gform-theme .gfield--type-radio .gfield_radio {
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 15px;
}