<style type="text/css" scoped>
    :root {
        --form-primary-60: #{{ getBrandPrimaryColor() }};
        --form-primary-70: color-mix(in hsl, var(--form-primary-60), black 10%);
        --form-primary-80: color-mix(in hsl, var(--form-primary-60), black 20%);

        --form-field: #EBEBEB;
        --form-field-hover: #e5e5e5;

        --form-border-interactive: var(--form-primary-60);
        --form-border-subtle: #e0e0e0;
        --form-border-strong: #8d8d8d;
        --form-border-inverse: #161616;
        --form-border-disabled: #c6c6c6;

        --form-text-brand: var(--form-primary-60);
        --form-text-primary: #161616;
        --form-text-secondary: #525252;
        --form-text-placeholder: #a8a8a8;
        --form-text-on-color: #{{ getTextOnBrandColor() }};
        --form-text-on-color-disabled: #8d8d8d;
        --form-text-helper: #6f6f6f;
        --form-text-error: #da1e28;
        --form-text-inverse: #ffffff;
        --form-text-disabled: #16161640;

        --form-link-primary: var(--form-primary-60);
        --form-link-primary-hover: var(--form-primary-70);
        --form-link-secondary: var(--form-primary-70);
        --form-link-inverse: var(--form-primary-40);
        --form-link-visited: #8a3ffc;

        --form-button-primary: var(--form-primary-60);
        --form-button-primary-hover: var(--form-primary-70);
        --form-button-primary-active: var(--form-primary-80);
        --form-button-secondary: #393939;
        --form-button-secondary-hover: #4c4c4c;
        --form-button-secondary-active: #6f6f6f;
        --form-button-tertiary: var(--form-primary-60);
        --form-button-tertiary-hover: var(--form-primary-70);
        --form-button-tertiary-active: var(--form-primary-80);
        --form-button-danger-primary: #da1e28;
        --form-button-danger-secondary: #da1e28;
        --form-button-danger-hover: #ba1b23;
        --form-button-danger-active: #750e13;
        --form-button-separator: #e0e0e0;
        --form-button-disabled: #c6c6c6;

        --form-support-error: #da1e28;
        --form-support-success: #24a148;
        --form-support-warning: #f1c21b;
        --form-support-info: #0043ce;
        --form-support-error-inverse: #ff787f;
        --form-support-success-inverse: #42be65;
        --form-support-warning-inverse: #f1c21b;
        --form-support-info-inverse: #6da2ff;

        --form-focus: var(--form-primary-60);
        --form-focus-inset: #ffffff;
        --form-focus-inverse: #ffffff;

        --form-interactive: var(--form-primary-60);
        --form-highlight: var(--form-primary-20);

        --form-duration-productive: 150ms;
        --form-duration-expressive: 300ms;

        --form-easing-standard-productive: cubic-bezier(0.2, 0, 0.38, 0.9);
        --form-easing-standard-expressive: cubic-bezier(0.4, 0.14, 0.3, 1);

        --form-transition-all-productive: all var(--form-duration-productive) var(--form-easing-standard-productive);
        --form-transition-all-expressive: all var(--form-duration-expressive) var(--form-easing-standard-expressive);
    }

    .mauticform_wrapper {
        max-width: 600px;
        margin: 20px;
        font-family: inherit;
        font-size: 14px;
        width: 100%;
    }

    .mauticform-innerform {}

    .mauticform-post-success {}

    .mauticform-name {
        font-weight: bold;
        font-size: 1.5em;
        margin-bottom: 3px;
    }

    .mauticform-description {
        margin-top: 2px;
        margin-bottom: 10px;
    }

    .mauticform-error {
        margin-bottom: 10px;
        color: var(--form-support-error);
    }

    .mauticform-message {
        margin-bottom: 10px;
        color: var(--form-primary-60);
    }

    .mauticform-row {
        display: block;
        margin-bottom: 20px;
    }

    .mauticform-label {
        font-size: 14px;
        display: block;
        font-weight: bold;
        margin-bottom: 5px;
        color: var(--form-text-brand);
    }

    .mauticform-row.mauticform-required .mauticform-label:after {
        color: var(--form-support-error);
        content: " *";
        display: inline;
    }

    .mauticform-helpmessage {
        display: block;
        font-size: 0.9em;
        margin-bottom: 3px;
    }

    .mauticform-errormsg {
        display: block;
        color: var(--form-support-error);
        margin-top: 2px;
    }

    .mauticform-selectbox,
    .mauticform-input,
    .mauticform-textarea {
        width: 100%;
        padding: 12px 18px;
        border: none;
        background: var(--form-field);
        box-shadow: none;
        border-radius: {{ getRoundedCorners('md') }}px;
        box-sizing: border-box;
        outline: 2px solid transparent;
        outline-offset: -2px;
        transition: var(--form-transition-all-productive);
    }

    .mauticform-selectbox:before,
    .mauticform-input:before,
    .mauticform-textarea:before {
        content: "";
        display: block;
        height: 3px;
        width: 100%;
    }

    .mauticform-selectbox:hover,
    .mauticform-input:hover,
    .mauticform-textarea:hover {
        background: var(--form-field-hover);
        outline: 2px solid transparent;
    }

    .mauticform-selectbox:focus,
    .mauticform-input:focus,
    .mauticform-textarea:focus {
        outline: 2px solid var(--form-primary-60);
    }

    .mauticform-checkboxgrp-row {
        margin-bottom: 3px;
    }

    .mauticform-checkboxgrp-label {
        font-weight: normal;
    }

    .mauticform-checkboxgrp-checkbox {
        aspect-ratio: 1 / 1;
        height: 16px;
        vertical-align: -3px;
        background-color: var(--form-field);
        appearance: none;
        border: 1px solid var(--form-border-strong);
        border-radius: {{ getRoundedCorners('sm') }}px;
        margin: 0;
        align-items: center;
        display: inline-flex;
        justify-content: center;
        -webkit-transition: var(--form-transition-all-productive);
        -o-transition: var(--form-transition-all-productive);
        transition: var(--form-transition-all-productive);
        outline: 2px solid transparent;
        outline-offset: 1px;
        margin-right: 4px;
    }

    .mauticform-checkboxgrp-checkbox:checked {
        background-color: var(--form-interactive);
        border: 1px solid var(--form-interactive);
    }

    .mauticform-checkboxgrp-checkbox:checked:before {
        content: "";
        width: 14px;
        height: 14px;
        background-image: url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22%23{{ getTextOnBrandColor() }}%22%3E%3Cpath%20d%3D%22M9.9997%2015.1709L19.1921%205.97852L20.6063%207.39273L9.9997%2017.9993L3.63574%2011.6354L5.04996%2010.2212L9.9997%2015.1709Z%22/%3E%3C/svg%3E');
        position: absolute;
    }

    .mauticform-radiogrp-row {
        display: inline-flex;
        flex-direction: row;
        align-items: baseline;
        gap: 4px;
    }

    .mauticform-radiogrp-label {
        font-weight: normal;
    }

    .mauticform-radiogrp-radio {
        width: 16px;
        aspect-ratio: 1 / 1;
        accent-color: var(--form-primary-60);
        margin-left: 0;
    }

    .mauticform-button-wrapper .mauticform-button.btn-ghost,
    .mauticform-pagebreak-wrapper .mauticform-pagebreak.btn-ghost {
        color: var(--form-primary-60);
        background-color: #ffffff;
        border-color: #dddddd;
    }

    .mauticform-button-wrapper .mauticform-button,
    .mauticform-pagebreak-wrapper .mauticform-pagebreak {
        display: inline-block;
        margin-bottom: 0;
        font-weight: 600;
        text-align: center;
        vertical-align: middle;
        cursor: pointer;
        background-image: none;
        border: 1px solid transparent;
        white-space: nowrap;
        padding: 10px 20px;
        font-size: 13px;
        line-height: 1.3856;
        border-radius: {{ getRoundedCorners('lg') }}px;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        user-select: none;
        background-color: var(--form-button-primary);
        color: var(--form-text-on-color);
        transition: var(--form-transition-all-expressive);
    }

    .mauticform-button-wrapper .mauticform-button:hover,
    .mauticform-pagebreak-wrapper .mauticform-pagebreak:hover {
        background-color: var(--form-button-primary-hover);
        color: var(--form-text-on-color);
        border-color: var(--form-button-primary-hover);
    }

    .mauticform-button-wrapper .mauticform-button.btn-ghost[disabled],
    .mauticform-pagebreak-wrapper .mauticform-pagebreak.btn-ghost[disabled] {
        background-color: #ffffff;
        border-color: #dddddd;
        opacity: 0.75;
        cursor: not-allowed;
    }

    .mauticform-button-wrapper .mauticform-button.btn-ghost[disabled]:hover,
    .mauticform-pagebreak-wrapper .mauticform-pagebreak.btn-ghost[disabled]:hover {
        color: var(--form-primary-60);
    }

    .mauticform-pagebreak-wrapper .mauticform-button-wrapper {
        display: inline;
    }

    /* Make fields display inline when using width classes */
    .mauticform-page-wrapper {
        display: flex;
        flex-wrap: wrap;
        width: 100%;
        margin: 0 -10px;
    }

    /* Ensure field containers respect width classes */
    .mauticform-row {
        box-sizing: border-box;
        padding: 0 10px;
        margin-bottom: 15px;
    }

    /* Responsive adjustment for mobile */
    @media (max-width: 767px) {
        .mauticform-three-quarters-width,
        .mauticform-two-thirds-width,
        .mauticform-half-width,
        .mauticform-one-third-width,
        .mauticform-one-quarter-width {
            width: 100%;
        }
    }

    /**
        * @see https://github.com/TarekRaafat/autoComplete.js/blob/master/dist/css/autoComplete.02.css.
        */
    .autoComplete_wrapper {
        position: relative;
    }

    .autoComplete_wrapper>input::placeholder {
        transition: all 0.3s ease;
    }

    .autoComplete_wrapper>ul {
        position: absolute;
        max-height: 226px;
        overflow-y: scroll;
        top: 100%;
        left: 0;
        right: 0;
        padding: 0;
        margin: 0.5rem 0 0 0;
        border-radius: 4px;
        background-color: #fff;
        border: 1px solid rgba(33, 33, 33, 0.1);
        z-index: 1000;
        outline: none;
    }

    .autoComplete_wrapper>ul>li {
        padding: 10px 20px;
        list-style: none;
        text-align: left;
        font-size: 16px;
        color: #212121;
        transition: all 0.1s ease-in-out;
        border-radius: 3px;
        background-color: rgba(255, 255, 255, 1);
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        transition: all 0.2s ease;
    }

    .autoComplete_wrapper>ul>li>span {
        float: right;
    }

    .autoComplete_wrapper>ul>li::selection {
        color: rgba(#ffffff, 0);
        background-color: rgba(#ffffff, 0);
    }

    .autoComplete_wrapper>ul>li:hover {
        cursor: pointer;
        background-color: rgba(123, 123, 123, 0.1);
    }

    .autoComplete_wrapper>ul>li mark {
        background-color: transparent;
        font-weight: bold;
    }

    .autoComplete_wrapper>ul>li mark::selection {
        background-color: rgba(#ffffff, 0);
    }

    .autoComplete_wrapper>ul>li[aria-selected="true"] {
        background-color: rgba(123, 123, 123, 0.1);
    }

    @media only screen and (max-width: 600px) {
        .autoComplete_wrapper>input {
            width: 18rem;
        }
    }

    /*
    * With message defined
    */

    .mauticform-post-success .mauticform-message:not(:empty) {
        font-size: 14pt;
        padding-left: 60px;
        position: relative;
    }

    .mauticform-post-success:has(.mauticform-message:not(:empty)) .mauticform-innerform {
        display: none;
    }

    .mauticform-post-success .mauticform-message:not(:empty):before {
        content: "";
        position: absolute;
        width: 50px;
        height: 45px;
        background-color: transparent;
        z-index: 1;
        top: 50%;
        left: 0;
        background-image: url("data:image/svg+xml,%3Csvg height='45' viewBox='0 0 120 115' width='50' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M107.332 72.938c-1.798 5.557 4.564 15.334 1.21 19.96-3.387 4.674-14.646 1.605-19.298 5.003-4.61 3.368-5.163 15.074-10.695 16.878-5.344 1.743-12.628-7.35-18.545-7.35-5.922 0-13.206 9.088-18.543 7.345-5.538-1.804-6.09-13.515-10.696-16.877-4.657-3.398-15.91-.334-19.297-5.002-3.356-4.627 3.006-14.404 1.208-19.962C10.93 67.576 0 63.442 0 57.5c0-5.943 10.93-10.076 12.668-15.438 1.798-5.557-4.564-15.334-1.21-19.96 3.387-4.674 14.646-1.605 19.298-5.003C35.366 13.73 35.92 2.025 41.45.22c5.344-1.743 12.628 7.35 18.545 7.35 5.922 0 13.206-9.088 18.543-7.345 5.538 1.804 6.09 13.515 10.696 16.877 4.657 3.398 15.91.334 19.297 5.002 3.356 4.627-3.006 14.404-1.208 19.962C109.07 47.424 120 51.562 120 57.5c0 5.943-10.93 10.076-12.668 15.438z' fill='%23{{ getBrandPrimaryColor() }}'/%3E%3C/svg%3E");
        animation: checkbox-message 35s linear infinite;
        transform-origin: top;
    }

    .mauticform-post-success .mauticform-message:not(:empty):after {
        content: "";
        position: absolute;
        width: 24px;
        height: 12px;
        z-index: 10;
        top: 50%;
        left: 13px;
        background-image: url("data:image/svg+xml,%3Csvg height='12' viewBox='0 0 48 36' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M47.248 3.9L43.906.667a2.428 2.428 0 0 0-3.344 0l-23.63 23.09-9.554-9.338a2.432 2.432 0 0 0-3.345 0L.692 17.654a2.236 2.236 0 0 0 .002 3.233l14.567 14.175c.926.894 2.42.894 3.342.01L47.248 7.128c.922-.89.922-2.34 0-3.23' fill='%23{{ getTextOnBrandColor() }}'/%3E%3C/svg%3E");
        animation: checkmark-message 5.6s cubic-bezier(0.420, 0.000, 0.275, 1.155);
        transform: scale(1) translateY(-50%);
    }

    @keyframes checkmark-message {
        0% {
            opacity: 0;
            transform: scale(0) translateY(-50%);
        }
        10%, 50%, 90% {
            opacity: 1;
            transform: scale(1) translateY(-50%);
        }
    }

    @keyframes checkbox-message {
        0% {
            transform: rotate(0deg) translateY(-50%);
        }
        100% {
            transform: rotate(360deg) translateY(-50%);
        }
    }


    /*
    * When simply remaining on the form
    */

    .mauticform-post-success:has(.mauticform-message:empty) {
        position: relative;
    }

    .mauticform-post-success:has(.mauticform-message:empty) .mauticform-innerform {
        visibility: hidden;
        opacity: 0;
    }

    .mauticform-post-success .mauticform-message:empty:before {
        content: "";
        position: absolute;
        width: 120px;
        height: 115px;
        background-color: transparent;
        z-index: 1;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        background-image: url("data:image/svg+xml,%3Csvg height='115' viewBox='0 0 120 115' width='120' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M107.332 72.938c-1.798 5.557 4.564 15.334 1.21 19.96-3.387 4.674-14.646 1.605-19.298 5.003-4.61 3.368-5.163 15.074-10.695 16.878-5.344 1.743-12.628-7.35-18.545-7.35-5.922 0-13.206 9.088-18.543 7.345-5.538-1.804-6.09-13.515-10.696-16.877-4.657-3.398-15.91-.334-19.297-5.002-3.356-4.627 3.006-14.404 1.208-19.962C10.93 67.576 0 63.442 0 57.5c0-5.943 10.93-10.076 12.668-15.438 1.798-5.557-4.564-15.334-1.21-19.96 3.387-4.674 14.646-1.605 19.298-5.003C35.366 13.73 35.92 2.025 41.45.22c5.344-1.743 12.628 7.35 18.545 7.35 5.922 0 13.206-9.088 18.543-7.345 5.538 1.804 6.09 13.515 10.696 16.877 4.657 3.398 15.91.334 19.297 5.002 3.356 4.627-3.006 14.404-1.208 19.962C109.07 47.424 120 51.562 120 57.5c0 5.943-10.93 10.076-12.668 15.438z' fill='%23{{ getBrandPrimaryColor() }}'/%3E%3C/svg%3E");
        animation: checkbox-return 35s linear infinite;
    }

    .mauticform-post-success .mauticform-message:empty:after {
        content: "";
        position: absolute;
        width: 48px;
        height: 36px;
        z-index: 10;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        background-image: url("data:image/svg+xml,%3Csvg height='36' viewBox='0 0 48 36' width='48' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M47.248 3.9L43.906.667a2.428 2.428 0 0 0-3.344 0l-23.63 23.09-9.554-9.338a2.432 2.432 0 0 0-3.345 0L.692 17.654a2.236 2.236 0 0 0 .002 3.233l14.567 14.175c.926.894 2.42.894 3.342.01L47.248 7.128c.922-.89.922-2.34 0-3.23' fill='%23{{ getTextOnBrandColor() }}'/%3E%3C/svg%3E");
        animation: checkmark-return 5.6s cubic-bezier(0.420, 0.000, 0.275, 1.155);
    }

    @keyframes checkmark-return {
        0% {
            opacity: 0;
            transform: translate(-50%, -50%) scale(0);
        }
        10%, 50%, 90% {
            opacity: 1;
            transform: translate(-50%, -50%) scale(1);
        }
    }

    @keyframes checkbox-return {
        0% {
            transform: translate(-50%, -50%) rotate(0deg);
        }
        100% {
            transform: translate(-50%, -50%) rotate(360deg);
        }
    }
</style>