umbraco / Umbraco.Cms.Integrations

MIT License
31 stars 20 forks source link

Dynamics feature - use real time module #178

Closed acoumb closed 3 months ago

acoumb commented 3 months ago

In July 2023, Microsoft announced changes to their Dynamics 365 Marketing application. With this transition, customers moved from the previous Outbound marketing module, to a new one - RealTime marketing module.

The Umbraco Dynamics integration would not work for workspaces created after that date, as a result issue #176 was raised on the tracker. The path for the module API would now be msdynmkt_marketingforms instead of msdyncrm_marketingforms.

With this PR update, I have added support for the two Dynamics modules to work together based on a configuration of the data type: Outbound, RealTime or Both.

image

This will toggle the way forms are pulled in the property editor:

image

Forms can be rendered in the Umbraco website in a similar way with the Outbound module, through a custom Javascript code or an URL to a standalone page that will be embedded in an iframe. image

For the sample I've showcased in this demo the publish options would be:

  1. Javascript code:
    <div
        data-form-id='ddf7e9d3-30ec-ee11-904c-000d3ab8b9de'
        data-form-api-url='https://public-eur.mkt.dynamics.com/api/v1.0/orgs/cb3a2550-99ea-ee11-9048-000d3ab41e69/landingpageforms'
        data-cached-form-url='https://assets-eur.mkt.dynamics.com/cb3a2550-99ea-ee11-9048-000d3ab41e69/digitalassets/forms/ddf7e9d3-30ec-ee11-904c-000d3ab8b9de' ></div>
        <script src = 'https://cxppusa1formui01cdnsa01-endpoint.azureedge.net/eur/FormLoader/FormLoader.bundle.js' ></script>
  2. Standalone page: https://assets-eur.mkt.dynamics.com/cb3a2550-99ea-ee11-9048-000d3ab41e69/digitalassets/standaloneforms/ddf7e9d3-30ec-ee11-904c-000d3ab8b9de

The difference lies in the process to get the information from the response JSON, by picking the msdynmkt_standalonehtml JS code for option 1., and using the data-cached-form-url of the same property to build the URL for the standalone page, for option 2. Sample JSON response:

{
    "@odata.context": "https://org84c6286b.crm4.dynamics.com/api/data/v9.2/$metadata#msdynmkt_marketingforms",
    "value": [{
            "@odata.etag": "W/\"6283100\"",
            "statecode": 0,
            "_msdynmkt_matchingstrategyid_value": "71b0ef12-3746-ed11-bba2-000d3a8d107a",
            "msdynmkt_designerhtml": "<!DOCTYPE html><html><head>\n        <meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">\n        <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n        <title>Marketing Form</title>\n        <meta name=\"referrer\" content=\"never\">\n        <meta type=\"xrm/designer/setting\" name=\"type\" value=\"marketing-designer-content-editor-document\">\n        <meta type=\"xrm/designer/setting\" name=\"layout-editable\" value=\"marketing-designer-layout-editable\">\n        <style>\n            .editor-control-layout html {\n                box-sizing: border-box;\n                background-color: #fff;\n            }\n            .editor-control-layout *,\n            .editor-control-layout *:before,\n            .editor-control-layout *:after {\n                box-sizing: inherit;\n            }\n\n            .marketingForm h1 {\n                color: #000;\n                margin: 0px;\n                padding: 0px;\n                width: 100%;\n                font-family: \"Segoe UI\", Arial, sans-serif;\n                line-height: 1.25;\n                font-size: 28px;\n            }\n\n            .marketingForm h2 {\n                color: #333;\n                margin: 0px;\n                padding: 0px;\n                width: 100%;\n                line-height: 1.25;\n                font-family: \"Segoe UI\", Arial, sans-serif;\n                font-size: 22px;\n            }\n\n            .marketingForm h3 {\n                color: #000;\n                margin: 0px;\n                padding: 0px;\n                width: 100%;\n                line-height: 1.25;\n                font-family: \"Segoe UI\", Arial, sans-serif;\n                font-size: 18px;\n            }\n\n            .marketingForm p {\n                margin: 0px;\n                padding: 0px;\n                width: 100%;\n                line-height: 125%;\n                line-height: 1.25;\n                font-family: \"Segoe UI\", Arial, sans-serif;\n                font-size: 14px;\n            }\n\n            .marketingForm a,\n            div[data-editorblocktype=\"Captcha\"] td:nth-of-type(2) a {\n                text-decoration: none;\n                font-family: \"Segoe UI\", Arial, sans-serif;\n                font-size: 14px;\n            }\n\n            .marketingForm .primaryButtonWrapper,\n            .submitButtonWrapper {\n                text-align: center;\n                margin: 10px 0px;\n            }\n\n            .marketingForm .primaryButton,\n            .submitButton {\n                font-family: \"Segoe UI\", Arial, sans-serif;\n                font-weight: 700;\n                font-size: 16px;\n                line-height: 22px;\n                background-color: #2266e3;\n                border: none;\n                border-radius: 4px;\n                color: #ffffff;\n                padding: 10px 20px;\n                cursor: pointer;\n            }\n\n            .marketingForm .secondaryButton {\n                font-family: \"Segoe UI\", Arial, sans-serif;\n                font-weight: 700;\n                font-size: 16px;\n                line-height: 22px;\n                background-color: #ffffff;\n                border: 1px solid #0082dd;\n                border-radius: 4px;\n                color: #2266e3;\n                padding: 10px 20px;\n                margin: 0px;\n                cursor: pointer;\n            }\n\n            .marketingForm .error {\n                font-family: Arial, Verdana, sans-serif;\n                font-weight: bold;\n                font-size: 8px;\n                margin: 0px;\n                padding: 0px;\n                color: #a80000;\n            }\n\n            .zero-state-container span {\n                font-family: \"Segoe UI\", Arial, sans-serif;\n                font-weight: 600;\n                font-size: 20px;\n                line-height: 26px;\n                color: #242424;\n            }\n            form.marketingForm {\n                color: #000;\n                font-family: \"Segoe UI\", Arial, sans-serif;\n                font-size: 14px;\n            }\n            [data-layout=\"true\"] {\n                margin: 0 auto;\n                max-width: 600px;\n                background-color: rgba(255, 255, 255, 0);\n            }\n            div[data-editorblocktype=\"SubmitButton\"] {\n                padding: 20px 12%;\n            }\n            div[data-editorblocktype=\"Captcha\"] {\n                padding: 20px 12%;\n            }\n            div[data-editorblocktype=\"Captcha\"] table,\n            div[data-editorblocktype=\"Captcha\"] div > table > tbody > tr > td:nth-of-type(2) {\n                width: 100% !important;\n            }\n            div[data-editorblocktype=\"Captcha\"] div > div > table > tbody > tr:first-of-type > td:last-of-type {\n                padding-bottom: 12px !important;\n            }\n            div[data-editorblocktype=\"Captcha\"] tr[id=\"wlspispHIPErrorContainer\"] {\n                margin-top: 20px;\n            }\n            div[data-editorblocktype=\"Captcha\"] tr[id=\"wlspispHIPErrorContainer\"] td:nth-of-type(2) {\n                width: auto !important;\n            }\n            div[data-editorblocktype=\"Captcha\"] tr[id=\"wlspispHIPErrorContainer\"] img {\n                display: flex;\n            }\n            div[data-editorblocktype=\"Captcha\"] td:nth-of-type(2) > div > div {\n                margin-top: 4px;\n            }\n            div[data-editorblocktype=\"Captcha\"] td:nth-of-type(2) > div > div * {\n                font-weight: 400;\n            }\n            div[data-editorblocktype=\"Captcha\"] td:nth-of-type(2) > div > div b {\n                color: #797775;\n            }\n\n            div[data-editorblocktype=\"Captcha\"] tr:nth-of-type(2) > td {\n                height: 0px !important;\n            }\n            div[data-editorblocktype=\"Captcha\"] td input {\n                margin-top: 20px !important;\n                padding: 6px 8px !important;\n                width: 100% !important;\n            }\n            div[data-editorblocktype=\"Captcha\"] div[id^=\"wlspaudioBtnHolder\"] {\n                display: flex;\n                align-items: center;\n                justify-content: center;\n            }\n            div[data-editorblocktype=\"About\"],\n            div[data-editorblocktype=\"Sessions\"],\n            div[data-editorblocktype=\"Speakers\"] {\n                padding: 32px 24px;\n            }\n            .textFormFieldBlock,\n            .dateTimeFormFieldBlock,\n            .twoOptionFormFieldBlock,\n            .optionSetFormFieldBlock,\n            .multiOptionSetFormFieldBlock,\n            .lookupFormFieldBlock {\n                padding: 20px 30px;\n                display: flex;\n                flex-direction: column;\n                gap: 16px;\n            }\n\n            table.multi .textFormFieldBlock,\n            table.multi .dateTimeFormFieldBlock,\n            table.multi .twoOptionFormFieldBlock,\n            table.multi .optionSetFormFieldBlock,\n            table.multi .multiOptionSetFormFieldBlock,\n            table.multi .lookupFormFieldBlock {\n                padding: 12px 20px;\n            }\n            .consentBlock {\n                padding: 4px 30px;\n            }\n\n            .textFormFieldBlock label,\n            .dateTimeFormFieldBlock label,\n            .lookupFormFieldBlock label,\n            .twoOptionFormFieldBlock label.block-label,\n            .optionSetFormFieldBlock label.block-label,\n            .multiOptionSetFormFieldBlock label.block-label,\n            div[data-editorblocktype=\"Captcha\"] label[id^=\"wlspispHipInstructionContainer\"],\n            .textFormFieldBlock label *,\n            .dateTimeFormFieldBlock label *,\n            .lookupFormFieldBlock label *,\n            .twoOptionFormFieldBlock label.block-label *,\n            .optionSetFormFieldBlock label.block-label *,\n            .multiOptionSetFormFieldBlock label.block-label *,\n            .eventSession label *,\n            .consentBlock label p {\n                font-family: \"Segoe UI\", Arial, sans-serif;\n                font-size: 16px;\n                font-weight: 600;\n                color: #323130;\n            }\n\n            .textFormFieldBlock label,\n            .dateTimeFormFieldBlock label,\n            .lookupFormFieldBlock label,\n            .twoOptionFormFieldBlock label.block-label,\n            .optionSetFormFieldBlock label.block-label,\n            .multiOptionSetFormFieldBlock label.block-label,\n            div[data-editorblocktype=\"Captcha\"] label[id^=\"wlspispHipInstructionContainer\"] {\n                display: inline-block;\n                margin-top: 4px;\n                margin-bottom: 0px;\n                margin-left: 0px;\n                margin-right: 0px;\n                padding: 0px;\n                flex: 1;\n                width: 100%;\n            }\n\n            .textFormFieldBlock label > *,\n            .dateTimeFormFieldBlock label > *,\n            .lookupFormFieldBlock label > *,\n            .twoOptionFormFieldBlock label.block-label > *,\n            .optionSetFormFieldBlock label.block-label > *,\n            .multiOptionSetFormFieldBlock label.block-label > *,\n            .eventSession label > *,\n            .consentBlock label > * {\n                display: inline-block;\n            }\n            .textFormFieldBlock label::after,\n            .twooption_checkbox label::after,\n            .dateTimeFormFieldBlock label::after,\n            .lookupFormFieldBlock label::after,\n            .twoOptionFormFieldBlock label.block-label::after,\n            .twoOptionFormFieldBlock div.twooption_checkbox label::after,\n            .optionSetFormFieldBlock label.block-label::after,\n            .multiOptionSetFormFieldBlock label.block-label::after,\n            .consentBlock label p:first-of-type::after,\n            .eventSession label::after,\n            div[data-editorblocktype=\"Captcha\"] label[id^=\"wlspispHipInstructionContainer\"]::after {\n                width: 22px;\n                display: inline-block;\n                line-height: 22px;\n                text-align: center;\n                color: #c33400;\n                content: \"*\";\n                visibility: hidden;\n            }\n            div[data-required].textFormFieldBlock label::after,\n            div[data-required].dateTimeFormFieldBlock label::after,\n            div[data-required].lookupFormFieldBlock label::after,\n            div[data-required] div.twooption_checkbox label::after,\n            div[data-required] label.block-label::after,\n            div[data-required=\"true\"].consentBlock label p:first-of-type::after,\n            div[data-editorblocktype=\"Captcha\"] label[id^=\"wlspispHipInstructionContainer\"]::after {\n                visibility: visible;\n            }\n            div[data-hide].textFormFieldBlock,\n            div[data-hide].dateTimeFormFieldBlock,\n            div[data-hide].lookupFormFieldBlock,\n            div[data-hide].twoOptionFormFieldBlock,\n            div[data-hide].optionSetFormFieldBlock,\n            div[data-hide].multiOptionSetFormFieldBlock {\n                background-image: url(data\\003a image/svg+xml\\003b base64,PHN2ZyBjbGFzc05hbWU9ImhpZGRlbkZpZWxkSWNvbiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0nMjQnIGhlaWdodD0nMjQnIHZpZXdCb3g9IjAgMCAyMDQ4IDIwNDgiPg0KICAgICAgICA8cGF0aCBkPSJNNzQgMjkybDkwLTkwIDE2MzAgMTYyOS05MSA5MS00NTctNDU3cS01NCAzNS0xMDUgNTN0LTExNyAxOHEtODAgMC0xNTAtMzB0LTEyMi04Mi04Mi0xMjItMzAtMTUwcTAtNjUgMTgtMTE2dDUzLTEwNkwzOTEgNjEwUTI2NiA3MTUgMTk3IDg1MXQtNjkgMzAxSDBxMC05MSAyMS0xNzl0NjAtMTcwIDk0LTE1MyAxMjYtMTMwTDc0IDI5MnptNjk0IDg2MHEwIDUzIDIwIDk5dDU1IDgyIDgxIDU1IDEwMCAyMHEzNiAwIDY3LTl0NjItMjdsLTM0OS0zNDlxLTE3IDMxLTI2IDYydC0xMCA2N3ptMzI4LTI0NUw5NjMgNzc0bDMwLTRxMTUtMiAzMS0yIDc5IDAgMTQ5IDMwdDEyMiA4MiA4MyAxMjMgMzAgMTQ5cTAgMTUtMiAzMHQtNCAzMWwtMTMzLTEzM3EtNDItMTMxLTE3My0xNzN6bTk1MiAyNDVoLTEyOHEwLTExOC0zNi0yMjF0LTk5LTE4OC0xNTAtMTUyLTE4NS0xMTMtMjA4LTcwLTIxOC0yNHEtOTggMC0xOTIgMTl0LTE4NSA1NmwtOTgtOThxMTE2LTUzIDIzMS03OXQyNDQtMjZxMTQ0IDAgMjg1IDM1dDI2NSAxMDUgMjI2IDE3MCAxNjYgMjM0cTQwIDgyIDYxIDE3MXQyMSAxODF6Ig0KICAgICAgICBmaWxsPSIjQzMzNDAwIiAvPg0KICAgICAgICA8L3N2Zz4=);\n                background-repeat: no-repeat;\n                background-size: 16px 16px;\n                background-position-x: 95%;\n                background-position-y: 28%;\n            }\n            .optionSetFormFieldBlock select,\n            .textFormFieldBlock input,\n            .dateTimeFormFieldBlock input,\n            .lookupFormFieldBlock input,\n            .marketingForm textarea,\n            div[data-editorblocktype=\"Captcha\"] input {\n                font-family: \"Segoe UI\", Arial, sans-serif;\n                font-size: 14px;\n                padding: 6px 8px;\n                background-color: #faf9f8;\n                border: 1px solid #e1dfdd;\n                border-radius: 2px;\n                display: block;\n                width: 100%;\n                height: 100%;\n                box-sizing: border-box;\n                font-size: 14px;\n                flex: 2;\n            }\n            .optionSetFormFieldBlock select,\n            .textFormFieldBlock input::placeholder,\n            .dateTimeFormFieldBlock input,\n            .lookupFormFieldBlock input::placeholder,\n            .marketingForm textarea::placeholder,\n            div[data-editorblocktype=\"Captcha\"] input::placeholder {\n            }\n            .textFormFieldBlock textArea {\n                resize: vertical;\n                height: 120px;\n            }\n            .lookupFormFieldBlock input {\n                background-image: url(data\\003a image/svg+xml\\003b base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMDQ4IDIwNDgiPjxwYXRoIGQ9Ik0xMzQ0IDBxOTcgMCAxODcgMjV0MTY4IDcxIDE0MiAxMTAgMTExIDE0MyA3MSAxNjggMjUgMTg3cTAgOTctMjUgMTg3dC03MSAxNjgtMTEwIDE0Mi0xNDMgMTExLTE2OCA3MS0xODcgMjVxLTEyNSAwLTIzOS00MnQtMjExLTEyMWwtNzg1IDc4NHEtMTkgMTktNDUgMTl0LTQ1LTE5LTE5LTQ1cTAtMjYgMTktNDVsNzg0LTc4NXEtNzktOTYtMTIxLTIxMHQtNDItMjQwcTAtOTcgMjUtMTg3dDcxLTE2OCAxMTAtMTQyVDk4OSA5NnQxNjgtNzEgMTg3LTI1em0wIDEyODBxMTE5IDAgMjI0LTQ1dDE4My0xMjQgMTIzLTE4MyA0Ni0yMjRxMC0xMTktNDUtMjI0dC0xMjQtMTgzLTE4My0xMjMtMjI0LTQ2cS0xMTkgMC0yMjQgNDVUOTM3IDI5NyA4MTQgNDgwdC00NiAyMjRxMCAxMTkgNDUgMjI0dDEyNCAxODMgMTgzIDEyMyAyMjQgNDZ6Ii8+PC9zdmc+);\n                background-repeat: no-repeat;\n                background-position-x: 98%;\n                background-position-y: center;\n                background-size: 1em 1em;\n            }\n            .optionSetFormFieldBlock select {\n                background-image: url(data\\003a image/svg+xml\\003b base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iNyIgdmlld0JveD0iMCAwIDEyIDciIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGQ9Ik02IDYuNzA4OThMMC4xNDY0ODQgMC44NTU0NjlMMC44NTU0NjkgMC4xNDY0ODRMNiA1LjI5MTAyTDExLjE0NDUgMC4xNDY0ODRMMTEuODUzNSAwLjg1NTQ2OUw2IDYuNzA4OThaIiBmaWxsPSIjNjA1RTVDIi8+Cjwvc3ZnPgo=);\n                background-repeat: no-repeat;\n                background-position-x: 98%;\n                background-position-y: center;\n                appearance: none;\n            }\n            .optionSetFormFieldBlock select option {\n                background-color: #faf9f8;\n            }\n            .twoOptionFormFieldBlock div.radiobuttons,\n            .twoOptionFormFieldBlock div.twooption_checkbox,\n            .optionSetFormFieldBlock div.radiobuttons,\n            .multiOptionSetFormFieldBlock fieldset {\n                font-family: \"Segoe UI\", Arial, sans-serif;\n                font-size: 14px;\n                border: none;\n                display: flex;\n                flex-direction: column;\n                align-items: flex-start;\n                padding: 0px;\n                gap: 8px;\n                flex: 2;\n            }\n            .twoOptionFormFieldBlock div.radiobuttons,\n            .optionSetFormFieldBlock div.radiobuttons,\n            .multiOptionSetFormFieldBlock fieldset {\n                margin-top: 16px;\n            }\n            .twoOptionFormFieldBlock div.radiobuttons > div,\n            .twoOptionFormFieldBlock div.twooption_checkbox > div,\n            .optionSetFormFieldBlock div.radiobuttons > div,\n            .multiOptionSetFormFieldBlock fieldset > div,\n            .consentBlock > div {\n                display: flex;\n                flex-direction: row;\n                align-items: center;\n                padding: 0px;\n                gap: 8px;\n            }\n            .twoOptionFormFieldBlock div.radiobuttons div label,\n            .optionSetFormFieldBlock div.radiobuttons div label {\n                font-family: \"Segoe UI\", Arial, sans-serif;\n                font-size: 14px;\n                font-weight: 400;\n                font-size: 14px;\n                line-height: 20px;\n            }\n            .twoOptionFormFieldBlock div.twooption_checkbox div label,\n            .twoOptionFormFieldBlock div.twooption_checkbox div label div,\n            .consentBlock div label p {\n                font-family: \"Segoe UI\", Arial, sans-serif;\n                font-size: 14px;\n                font-weight: 400;\n                font-size: 14px;\n                line-height: 20px;\n            }\n            .multiOptionSetFormFieldBlock fieldset > div > label {\n                font-weight: 400;\n                font-size: 14px;\n                line-height: 20px;\n            }\n\n            .optionSetFormFieldBlock div.radiobuttons div input[type=\"radio\"]:checked + label,\n            .twoOptionFormFieldBlock div.radiobuttons div input[type=\"radio\"]:checked + label {\n            }\n\n            .twoOptionFormFieldBlock div.twooption_checkbox div input[type=\"checkbox\"]:checked + label,\n            .twoOptionFormFieldBlock div.twooption_checkbox div input[type=\"checkbox\"]:checked + label div,\n            .consentBlock div input[type=\"checkbox\"]:checked + label p {\n            }\n\n            .twoOptionFormFieldBlock div.radiobuttons,\n            .optionSetFormFieldBlock div.radiobuttons {\n                padding: 0px;\n                margin: 0px;\n                border-radius: 0px;\n            }\n            \n            .twoOptionFormFieldBlock div.twooption_checkbox > div, .consentBlock > div {\n                width: 100%;\n                border-radius: 0px;\n\n            }\n            .twoOptionFormFieldBlock div.radiobuttons div,\n            .optionSetFormFieldBlock div.radiobuttons div {\n                width: 100%;\n            }\n\n            .twoOptionFormFieldBlock div.twooption_checkbox div,\n            .consentBlock div {\n                padding: 0px;\n                margin: 0px;\n            }\n            \n            .twoOptionFormFieldBlock div.radiobuttons div input,\n            .twoOptionFormFieldBlock div.twooption_checkbox div input,\n            .optionSetFormFieldBlock div.radiobuttons div input,\n            .multiOptionSetFormFieldBlock fieldset > div > input[type=\"checkbox\"],\n            .eventSession > div > input[type=\"checkbox\"],\n            .consentBlock div input {\n                margin: 0px;\n                box-sizing: border-box;\n                width: 20px;\n                height: 20px;\n                border: 1px solid #323130;\n                border-radius: 2px;\n                accent-color: #0078d4;\n                flex-shrink: 0;\n            }\n            .eventSessions {\n                font-size: 16px;\n                line-height: 1.2;\n                border: none\n            }\n            .eventSession label b {\n\t            display:inline\n            }\n            .eventSession > div > input[type=\"checkbox\"] {\n                float: right;\n            }\n            .marketingForm [dir=\"rtl\"],\n            .marketingForm [dir=\"rtl\"] * {\n                text-align: right;\n            }\n            .marketingForm s span {\n                text-decoration: line-through;\n            }\n            .marketingForm u span {\n                text-decoration: underline;\n            }\n            .dividerWrapper p span {\n                line-height: 0px;\n            }\n            .marketingForm ul,\n            .marketingForm ol {\n                margin-top: 15px;\n                margin-bottom: 15px;\n                line-height: 125%;\n                line-height: 1.25;\n                padding-inline-end: 0px !important;\n            }\n            .marketingForm p img {\n                max-width: 100%;\n            }\n            .marketingForm u a {\n                text-decoration: underline;\n            }\n            .marketingForm .imageWrapper a img {\n                text-decoration: none;\n                border: 0px;\n            }\n            .marketingForm th.columnContainer,\n            .marketingForm th.inner {\n                font-weight: normal;\n                text-align: left;\n            }\n            .marketingForm [dir=\"rtl\"] th.columnContainer,\n            .marketingForm [dir=\"rtl\"] th.inner {\n                font-weight: normal;\n                text-align: right;\n            }\n            @media only screen and (max-width: 768px) {\n                .marketingForm a span {\n                    line-height: inherit !important;\n                }\n                .marketingForm .multi table {\n                    table-layout: fixed;\n                    height: auto !important;\n                }\n                .marketingForm .multi td {\n                    width: auto !important;\n                    min-height: auto !important;\n                }\n                .marketingForm .multi tbody,\n                .marketingForm .multi tbody tr,\n                .marketingForm .multi tbody tr td,\n                .marketingForm .multi tbody tr th,\n                .marketingForm .outer tbody,\n                .marketingForm .outer tbody tr,\n                .marketingForm .outer tbody tr td,\n                .marketingForm .outer tbody tr th {\n                    display: block;\n                    box-sizing: border-box;\n                    height: auto !important;\n                    min-height: auto !important;\n                }\n                .marketingForm .wrap-section .multi tbody,\n                .marketingForm .wrap-section .multi tbody tr,\n                .marketingForm .wrap-section .multi tbody tr td,\n                .marketingForm .wrap-section .multi tbody tr th,\n                .marketingForm .wrap-section .outer tbody,\n                .marketingForm .wrap-section .outer tbody tr,\n                .marketingForm .wrap-section .outer tbody tr td,\n                .marketingForm .wrap-section .outer tbody tr th {\n                    width: 100% !important;\n                }\n                .marketingForm .multi .inner {\n                    height: auto !important;\n                    min-height: auto !important;\n                }\n                .marketingForm .tbContainer .inner {\n                    box-sizing: border-box;\n                }\n                .marketingForm .outer {\n                    width: 100% !important;\n                }\n                .marketingForm .tbContainer .columnContainer table {\n                    table-layout: fixed !important;\n                }\n                .marketingForm .innerTable {\n                    min-height: auto !important;\n                }\n                .marketingForm .no-wrap-section .outer {\n                    display: table !important;\n                }\n                .marketingForm .no-wrap-section .multi table {\n                    height: 100% !important;\n                }\n                .marketingForm .no-wrap-section .multi tbody,\n                .marketingForm .no-wrap-section .outer tbody {\n                    display: table-row-group !important;\n                    width: 100% !important;\n                }\n                .marketingForm .no-wrap-section .multi tbody tr,\n                .marketingForm .no-wrap-section .outer tbody tr {\n                    display: table-row !important;\n                    width: 100% !important;\n                }\n                .marketingForm .no-wrap-section .multi tbody tr td,\n                .marketingForm .no-wrap-section .multi tbody tr th,\n                .marketingForm .no-wrap-section .outer tbody tr td,\n                .marketingForm .no-wrap-section .outer tbody tr th {\n                    display: table-cell !important;\n                }\n                .marketingForm .no-wrap-section.columns-equal-class .outer tbody tr td,\n                .marketingForm .no-wrap-section.columns-equal-class .outer tbody tr th {\n                    height: 0px !important;\n                }\n                .marketingForm .no-wrap-section .outer tbody tr td.inner,\n                .marketingForm .no-wrap-section .outer tbody tr th.inner {\n                    width: 100% !important;\n                    height: auto !important;\n                }\n                .marketingForm a[x-apple-data-detectors] {\n                    color: inherit !important;\n                    text-decoration: none !important;\n                    font-size: inherit !important;\n                    font-family: inherit !important;\n                    font-weight: inherit !important;\n                    line-height: inherit !important;\n                }\n            }\n            .notification-container {\n                margin-left: 10px;\n                margin-right: 10px;\n                margin-bottom: 10px;\n                margin-top: 10px;\n            }\n            .notification-message {\n                display: flex;\n                justify-content: center;\n                align-items: center;\n                min-height: 38px;\n                border: 1.44737px solid#CCCCCC;\n                border-radius: 10px;\n                margin-bottom: 10px;\n                margin-top: 10px;\n            }\n            .notification-message-hide {\n                display: none;\n            }\n        </style>\n    </head>\n\n    <body><form class=\"marketingForm\">\n            <div data-layout=\"true\" data-layout-version=\"v2\" style=\"max-width: 600px; margin: auto;\">\n                <div class=\"notification-container\">\n                    <div class=\"notification-message notification-message-hide\" data-notification-name=\"eventNotStarted\">\n                        <div>This event has not started.</div>\n                    </div>\n                    <div class=\"notification-message notification-message-hide\" data-notification-name=\"eventAtCapacity\">\n                        <div>This event is no longer accepting registrations.</div>\n                    </div>\n                    <div class=\"notification-message notification-message-hide\" data-notification-name=\"eventEnded\">\n                        <div>This event has ended.</div>\n                    </div>\n                </div>\n            <div data-section=\"true\" class=\"columns-equal-class wrap-section\"><table class=\"outer\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\" style=\"border-collapse: collapse; width: 600px; display: block;\">\n\t\t\t            <tbody>\n\t\t\t\t            <tr>\n\t\t\t\t\t            <th>\n                                    <table style=\"\n                width: 100%;\n                border-collapse: collapse;\n            \" class=\"containerWrapper tbContainer\" cellpadding=\"0\" cellspacing=\"0\">\n                                        <tbody>\n                                            <tr>\n                                                <th data-container=\"true\" class=\"columnContainer\" data-container-width=\"100\" style=\"vertical-align:top; min-width: 5px; width: 600px; ; height: 0px;\" id=\"containeracb282c8d53ef1711540478376\">\n                                                    <table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" style=\"border-collapse: collapse; height: 100%;\">\n                                                        <tbody>\n                                                            <tr>\n                                                                <th class=\"inner ui-sortable\" style=\"min-width: 5px; padding: 10px; vertical-align: top; overflow-wrap: break-word; word-wrap: break-word; word-break: break-word; font-weight: normal;\">\n                                                                <div class=\"textFormFieldBlock\" data-editorblocktype=\"TextFormField\" data-targetproperty=\"lastname\" data-required=\"required\"><label title=\"Last Name\" for=\"lastname-1711540476201\">Last Name</label><input id=\"lastname-1711540476201\" type=\"text\" name=\"lastname\" placeholder=\"Last Name\" title=\"Last Name\" maxlength=\"50\" required=\"required\"></div><div class=\"textFormFieldBlock\" data-editorblocktype=\"TextFormField\" data-targetproperty=\"emailaddress1\"><label title=\"Email\" for=\"emailaddress1-1711540483632\">Email</label><input id=\"emailaddress1-1711540483632\" type=\"email\" name=\"emailaddress1\" placeholder=\"Email\" title=\"Email\" pattern=\"[^@\\s\\\\&quot;<>\\)\\(\\[\\]:;,.]+(([.]{1}[^@\\s\\\\&quot;<>\\)\\(\\[\\]:;,.]+)+?|)@([^@\\s\\\\&quot;<>\\)\\(\\[\\]\\+:;,\\.\\-]+(((\\.|\\+|-|--)[^@\\s\\\\&quot;<>\\)\\(\\[\\]+:;,.\\-]+)+?|)([.][^0-9@\\s\\\\&quot;<>\\)\\(\\[\\]+:;,.\\-]+)+?)\"></div><div data-editorblocktype=\"SubmitButton\" class=\"submitButtonWrapper\"><button class=\"submitButton\" type=\"submit\">\n        <span>Submit</span></button></div></th>\n                                                            </tr>\n                                                        </tbody>\n                                                    </table>\n                                                </th>\n                                            </tr>\n                                        </tbody>\n                                    </table>\n                                </th>\n                            </tr>\n                        </tbody>\n                    </table></div></div>\n        </form></body></html>",
            "statuscode": 2,
            "createdon": "2024-03-27T11:54:56Z",
            "msdynmkt_errormessage": "There was an error, please try again.",
            "_ownerid_value": "633e2590-90e8-ee11-904d-000d3ad8a6a4",
            "msdynmkt_uniquename": "msdynmkt_Umbraco_Form_3_115456376",
            "modifiedon": "2024-03-27T12:05:17Z",
            "msdynmkt_marketingformtype": 534120000,
            "solutionid": "fd140aae-4df4-11dd-bd17-0019b9312238",
            "ismanaged": false,
            "versionnumber": 6283100,
            "msdynmkt_name": "Umbraco Form 3",
            "msdynmkt_standalonehtml": "<div\n        data-form-id='ddf7e9d3-30ec-ee11-904c-000d3ab8b9de'\n        data-form-api-url='https://public-eur.mkt.dynamics.com/api/v1.0/orgs/cb3a2550-99ea-ee11-9048-000d3ab41e69/landingpageforms'\n        data-cached-form-url='https://assets-eur.mkt.dynamics.com/cb3a2550-99ea-ee11-9048-000d3ab41e69/digitalassets/forms/ddf7e9d3-30ec-ee11-904c-000d3ab8b9de' ></div>\n        <script src = 'https://cxppusa1formui01cdnsa01-endpoint.azureedge.net/eur/FormLoader/FormLoader.bundle.js' ></script>",
            "_modifiedby_value": "a557230f-222f-4c4b-810b-197979295ffd",
            "_modifiedonbehalfby_value": "633e2590-90e8-ee11-904d-000d3ad8a6a4",
            "componentstate": 0,
            "overwritetime": "1900-01-01T00:00:00Z",
            "_createdby_value": "633e2590-90e8-ee11-904d-000d3ad8a6a4",
            "msdynmkt_formhtml": "<!DOCTYPE html><html><head>\n        <meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">\n        <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n        <title>Marketing Form</title>\n        <meta name=\"referrer\" content=\"never\">\n        <meta type=\"xrm/designer/setting\" name=\"type\" value=\"marketing-designer-content-editor-document\">\n        <meta type=\"xrm/designer/setting\" name=\"layout-editable\" value=\"marketing-designer-layout-editable\">\n        <style>\n            .editor-control-layout html {\n                box-sizing: border-box;\n                background-color: #fff;\n            }\n            .editor-control-layout *,\n            .editor-control-layout *:before,\n            .editor-control-layout *:after {\n                box-sizing: inherit;\n            }\n\n            .marketingForm h1 {\n                color: #000;\n                margin: 0px;\n                padding: 0px;\n                width: 100%;\n                font-family: \"Segoe UI\", Arial, sans-serif;\n                line-height: 1.25;\n                font-size: 28px;\n            }\n\n            .marketingForm h2 {\n                color: #333;\n                margin: 0px;\n                padding: 0px;\n                width: 100%;\n                line-height: 1.25;\n                font-family: \"Segoe UI\", Arial, sans-serif;\n                font-size: 22px;\n            }\n\n            .marketingForm h3 {\n                color: #000;\n                margin: 0px;\n                padding: 0px;\n                width: 100%;\n                line-height: 1.25;\n                font-family: \"Segoe UI\", Arial, sans-serif;\n                font-size: 18px;\n            }\n\n            .marketingForm p {\n                margin: 0px;\n                padding: 0px;\n                width: 100%;\n                line-height: 125%;\n                line-height: 1.25;\n                font-family: \"Segoe UI\", Arial, sans-serif;\n                font-size: 14px;\n            }\n\n            .marketingForm a,\n            div[data-editorblocktype=\"Captcha\"] td:nth-of-type(2) a {\n                text-decoration: none;\n                font-family: \"Segoe UI\", Arial, sans-serif;\n                font-size: 14px;\n            }\n\n            .marketingForm .primaryButtonWrapper,\n            .submitButtonWrapper {\n                text-align: center;\n                margin: 10px 0px;\n            }\n\n            .marketingForm .primaryButton,\n            .submitButton {\n                font-family: \"Segoe UI\", Arial, sans-serif;\n                font-weight: 700;\n                font-size: 16px;\n                line-height: 22px;\n                background-color: #2266e3;\n                border: none;\n                border-radius: 4px;\n                color: #ffffff;\n                padding: 10px 20px;\n                cursor: pointer;\n            }\n\n            .marketingForm .secondaryButton {\n                font-family: \"Segoe UI\", Arial, sans-serif;\n                font-weight: 700;\n                font-size: 16px;\n                line-height: 22px;\n                background-color: #ffffff;\n                border: 1px solid #0082dd;\n                border-radius: 4px;\n                color: #2266e3;\n                padding: 10px 20px;\n                margin: 0px;\n                cursor: pointer;\n            }\n\n            .marketingForm .error {\n                font-family: Arial, Verdana, sans-serif;\n                font-weight: bold;\n                font-size: 8px;\n                margin: 0px;\n                padding: 0px;\n                color: #a80000;\n            }\n\n            .zero-state-container span {\n                font-family: \"Segoe UI\", Arial, sans-serif;\n                font-weight: 600;\n                font-size: 20px;\n                line-height: 26px;\n                color: #242424;\n            }\n            form.marketingForm {\n                color: #000;\n                font-family: \"Segoe UI\", Arial, sans-serif;\n                font-size: 14px;\n            }\n            [data-layout=\"true\"] {\n                margin: 0 auto;\n                max-width: 600px;\n                background-color: rgba(255, 255, 255, 0);\n            }\n            div[data-editorblocktype=\"SubmitButton\"] {\n                padding: 20px 12%;\n            }\n            div[data-editorblocktype=\"Captcha\"] {\n                padding: 20px 12%;\n            }\n            div[data-editorblocktype=\"Captcha\"] table,\n            div[data-editorblocktype=\"Captcha\"] div > table > tbody > tr > td:nth-of-type(2) {\n                width: 100% !important;\n            }\n            div[data-editorblocktype=\"Captcha\"] div > div > table > tbody > tr:first-of-type > td:last-of-type {\n                padding-bottom: 12px !important;\n            }\n            div[data-editorblocktype=\"Captcha\"] tr[id=\"wlspispHIPErrorContainer\"] {\n                margin-top: 20px;\n            }\n            div[data-editorblocktype=\"Captcha\"] tr[id=\"wlspispHIPErrorContainer\"] td:nth-of-type(2) {\n                width: auto !important;\n            }\n            div[data-editorblocktype=\"Captcha\"] tr[id=\"wlspispHIPErrorContainer\"] img {\n                display: flex;\n            }\n            div[data-editorblocktype=\"Captcha\"] td:nth-of-type(2) > div > div {\n                margin-top: 4px;\n            }\n            div[data-editorblocktype=\"Captcha\"] td:nth-of-type(2) > div > div * {\n                font-weight: 400;\n            }\n            div[data-editorblocktype=\"Captcha\"] td:nth-of-type(2) > div > div b {\n                color: #797775;\n            }\n\n            div[data-editorblocktype=\"Captcha\"] tr:nth-of-type(2) > td {\n                height: 0px !important;\n            }\n            div[data-editorblocktype=\"Captcha\"] td input {\n                margin-top: 20px !important;\n                padding: 6px 8px !important;\n                width: 100% !important;\n            }\n            div[data-editorblocktype=\"Captcha\"] div[id^=\"wlspaudioBtnHolder\"] {\n                display: flex;\n                align-items: center;\n                justify-content: center;\n            }\n            div[data-editorblocktype=\"About\"],\n            div[data-editorblocktype=\"Sessions\"],\n            div[data-editorblocktype=\"Speakers\"] {\n                padding: 32px 24px;\n            }\n            .textFormFieldBlock,\n            .dateTimeFormFieldBlock,\n            .twoOptionFormFieldBlock,\n            .optionSetFormFieldBlock,\n            .multiOptionSetFormFieldBlock,\n            .lookupFormFieldBlock {\n                padding: 20px 30px;\n                display: flex;\n                flex-direction: column;\n                gap: 16px;\n            }\n\n            table.multi .textFormFieldBlock,\n            table.multi .dateTimeFormFieldBlock,\n            table.multi .twoOptionFormFieldBlock,\n            table.multi .optionSetFormFieldBlock,\n            table.multi .multiOptionSetFormFieldBlock,\n            table.multi .lookupFormFieldBlock {\n                padding: 12px 20px;\n            }\n            .consentBlock {\n                padding: 4px 30px;\n            }\n\n            .textFormFieldBlock label,\n            .dateTimeFormFieldBlock label,\n            .lookupFormFieldBlock label,\n            .twoOptionFormFieldBlock label.block-label,\n            .optionSetFormFieldBlock label.block-label,\n            .multiOptionSetFormFieldBlock label.block-label,\n            div[data-editorblocktype=\"Captcha\"] label[id^=\"wlspispHipInstructionContainer\"],\n            .textFormFieldBlock label *,\n            .dateTimeFormFieldBlock label *,\n            .lookupFormFieldBlock label *,\n            .twoOptionFormFieldBlock label.block-label *,\n            .optionSetFormFieldBlock label.block-label *,\n            .multiOptionSetFormFieldBlock label.block-label *,\n            .eventSession label *,\n            .consentBlock label p {\n                font-family: \"Segoe UI\", Arial, sans-serif;\n                font-size: 16px;\n                font-weight: 600;\n                color: #323130;\n            }\n\n            .textFormFieldBlock label,\n            .dateTimeFormFieldBlock label,\n            .lookupFormFieldBlock label,\n            .twoOptionFormFieldBlock label.block-label,\n            .optionSetFormFieldBlock label.block-label,\n            .multiOptionSetFormFieldBlock label.block-label,\n            div[data-editorblocktype=\"Captcha\"] label[id^=\"wlspispHipInstructionContainer\"] {\n                display: inline-block;\n                margin-top: 4px;\n                margin-bottom: 0px;\n                margin-left: 0px;\n                margin-right: 0px;\n                padding: 0px;\n                flex: 1;\n                width: 100%;\n            }\n\n            .textFormFieldBlock label > *,\n            .dateTimeFormFieldBlock label > *,\n            .lookupFormFieldBlock label > *,\n            .twoOptionFormFieldBlock label.block-label > *,\n            .optionSetFormFieldBlock label.block-label > *,\n            .multiOptionSetFormFieldBlock label.block-label > *,\n            .eventSession label > *,\n            .consentBlock label > * {\n                display: inline-block;\n            }\n            .textFormFieldBlock label::after,\n            .twooption_checkbox label::after,\n            .dateTimeFormFieldBlock label::after,\n            .lookupFormFieldBlock label::after,\n            .twoOptionFormFieldBlock label.block-label::after,\n            .twoOptionFormFieldBlock div.twooption_checkbox label::after,\n            .optionSetFormFieldBlock label.block-label::after,\n            .multiOptionSetFormFieldBlock label.block-label::after,\n            .consentBlock label p:first-of-type::after,\n            .eventSession label::after,\n            div[data-editorblocktype=\"Captcha\"] label[id^=\"wlspispHipInstructionContainer\"]::after {\n                width: 22px;\n                display: inline-block;\n                line-height: 22px;\n                text-align: center;\n                color: #c33400;\n                content: \"*\";\n                visibility: hidden;\n            }\n            div[data-required].textFormFieldBlock label::after,\n            div[data-required].dateTimeFormFieldBlock label::after,\n            div[data-required].lookupFormFieldBlock label::after,\n            div[data-required] div.twooption_checkbox label::after,\n            div[data-required] label.block-label::after,\n            div[data-required=\"true\"].consentBlock label p:first-of-type::after,\n            div[data-editorblocktype=\"Captcha\"] label[id^=\"wlspispHipInstructionContainer\"]::after {\n                visibility: visible;\n            }\n            div[data-hide].textFormFieldBlock,\n            div[data-hide].dateTimeFormFieldBlock,\n            div[data-hide].lookupFormFieldBlock,\n            div[data-hide].twoOptionFormFieldBlock,\n            div[data-hide].optionSetFormFieldBlock,\n            div[data-hide].multiOptionSetFormFieldBlock {\n                background-image: url(data\\003a image/svg+xml\\003b base64,PHN2ZyBjbGFzc05hbWU9ImhpZGRlbkZpZWxkSWNvbiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0nMjQnIGhlaWdodD0nMjQnIHZpZXdCb3g9IjAgMCAyMDQ4IDIwNDgiPg0KICAgICAgICA8cGF0aCBkPSJNNzQgMjkybDkwLTkwIDE2MzAgMTYyOS05MSA5MS00NTctNDU3cS01NCAzNS0xMDUgNTN0LTExNyAxOHEtODAgMC0xNTAtMzB0LTEyMi04Mi04Mi0xMjItMzAtMTUwcTAtNjUgMTgtMTE2dDUzLTEwNkwzOTEgNjEwUTI2NiA3MTUgMTk3IDg1MXQtNjkgMzAxSDBxMC05MSAyMS0xNzl0NjAtMTcwIDk0LTE1MyAxMjYtMTMwTDc0IDI5MnptNjk0IDg2MHEwIDUzIDIwIDk5dDU1IDgyIDgxIDU1IDEwMCAyMHEzNiAwIDY3LTl0NjItMjdsLTM0OS0zNDlxLTE3IDMxLTI2IDYydC0xMCA2N3ptMzI4LTI0NUw5NjMgNzc0bDMwLTRxMTUtMiAzMS0yIDc5IDAgMTQ5IDMwdDEyMiA4MiA4MyAxMjMgMzAgMTQ5cTAgMTUtMiAzMHQtNCAzMWwtMTMzLTEzM3EtNDItMTMxLTE3My0xNzN6bTk1MiAyNDVoLTEyOHEwLTExOC0zNi0yMjF0LTk5LTE4OC0xNTAtMTUyLTE4NS0xMTMtMjA4LTcwLTIxOC0yNHEtOTggMC0xOTIgMTl0LTE4NSA1NmwtOTgtOThxMTE2LTUzIDIzMS03OXQyNDQtMjZxMTQ0IDAgMjg1IDM1dDI2NSAxMDUgMjI2IDE3MCAxNjYgMjM0cTQwIDgyIDYxIDE3MXQyMSAxODF6Ig0KICAgICAgICBmaWxsPSIjQzMzNDAwIiAvPg0KICAgICAgICA8L3N2Zz4=);\n                background-repeat: no-repeat;\n                background-size: 16px 16px;\n                background-position-x: 95%;\n                background-position-y: 28%;\n            }\n            .optionSetFormFieldBlock select,\n            .textFormFieldBlock input,\n            .dateTimeFormFieldBlock input,\n            .lookupFormFieldBlock input,\n            .marketingForm textarea,\n            div[data-editorblocktype=\"Captcha\"] input {\n                font-family: \"Segoe UI\", Arial, sans-serif;\n                font-size: 14px;\n                padding: 6px 8px;\n                background-color: #faf9f8;\n                border: 1px solid #e1dfdd;\n                border-radius: 2px;\n                display: block;\n                width: 100%;\n                height: 100%;\n                box-sizing: border-box;\n                font-size: 14px;\n                flex: 2;\n            }\n            .optionSetFormFieldBlock select,\n            .textFormFieldBlock input::placeholder,\n            .dateTimeFormFieldBlock input,\n            .lookupFormFieldBlock input::placeholder,\n            .marketingForm textarea::placeholder,\n            div[data-editorblocktype=\"Captcha\"] input::placeholder {\n            }\n            .textFormFieldBlock textArea {\n                resize: vertical;\n                height: 120px;\n            }\n            .lookupFormFieldBlock input {\n                background-image: url(data\\003a image/svg+xml\\003b base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMDQ4IDIwNDgiPjxwYXRoIGQ9Ik0xMzQ0IDBxOTcgMCAxODcgMjV0MTY4IDcxIDE0MiAxMTAgMTExIDE0MyA3MSAxNjggMjUgMTg3cTAgOTctMjUgMTg3dC03MSAxNjgtMTEwIDE0Mi0xNDMgMTExLTE2OCA3MS0xODcgMjVxLTEyNSAwLTIzOS00MnQtMjExLTEyMWwtNzg1IDc4NHEtMTkgMTktNDUgMTl0LTQ1LTE5LTE5LTQ1cTAtMjYgMTktNDVsNzg0LTc4NXEtNzktOTYtMTIxLTIxMHQtNDItMjQwcTAtOTcgMjUtMTg3dDcxLTE2OCAxMTAtMTQyVDk4OSA5NnQxNjgtNzEgMTg3LTI1em0wIDEyODBxMTE5IDAgMjI0LTQ1dDE4My0xMjQgMTIzLTE4MyA0Ni0yMjRxMC0xMTktNDUtMjI0dC0xMjQtMTgzLTE4My0xMjMtMjI0LTQ2cS0xMTkgMC0yMjQgNDVUOTM3IDI5NyA4MTQgNDgwdC00NiAyMjRxMCAxMTkgNDUgMjI0dDEyNCAxODMgMTgzIDEyMyAyMjQgNDZ6Ii8+PC9zdmc+);\n                background-repeat: no-repeat;\n                background-position-x: 98%;\n                background-position-y: center;\n                background-size: 1em 1em;\n            }\n            .optionSetFormFieldBlock select {\n                background-image: url(data\\003a image/svg+xml\\003b base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iNyIgdmlld0JveD0iMCAwIDEyIDciIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGQ9Ik02IDYuNzA4OThMMC4xNDY0ODQgMC44NTU0NjlMMC44NTU0NjkgMC4xNDY0ODRMNiA1LjI5MTAyTDExLjE0NDUgMC4xNDY0ODRMMTEuODUzNSAwLjg1NTQ2OUw2IDYuNzA4OThaIiBmaWxsPSIjNjA1RTVDIi8+Cjwvc3ZnPgo=);\n                background-repeat: no-repeat;\n                background-position-x: 98%;\n                background-position-y: center;\n                appearance: none;\n            }\n            .optionSetFormFieldBlock select option {\n                background-color: #faf9f8;\n            }\n            .twoOptionFormFieldBlock div.radiobuttons,\n            .twoOptionFormFieldBlock div.twooption_checkbox,\n            .optionSetFormFieldBlock div.radiobuttons,\n            .multiOptionSetFormFieldBlock fieldset {\n                font-family: \"Segoe UI\", Arial, sans-serif;\n                font-size: 14px;\n                border: none;\n                display: flex;\n                flex-direction: column;\n                align-items: flex-start;\n                padding: 0px;\n                gap: 8px;\n                flex: 2;\n            }\n            .twoOptionFormFieldBlock div.radiobuttons,\n            .optionSetFormFieldBlock div.radiobuttons,\n            .multiOptionSetFormFieldBlock fieldset {\n                margin-top: 16px;\n            }\n            .twoOptionFormFieldBlock div.radiobuttons > div,\n            .twoOptionFormFieldBlock div.twooption_checkbox > div,\n            .optionSetFormFieldBlock div.radiobuttons > div,\n            .multiOptionSetFormFieldBlock fieldset > div,\n            .consentBlock > div {\n                display: flex;\n                flex-direction: row;\n                align-items: center;\n                padding: 0px;\n                gap: 8px;\n            }\n            .twoOptionFormFieldBlock div.radiobuttons div label,\n            .optionSetFormFieldBlock div.radiobuttons div label {\n                font-family: \"Segoe UI\", Arial, sans-serif;\n                font-size: 14px;\n                font-weight: 400;\n                font-size: 14px;\n                line-height: 20px;\n            }\n            .twoOptionFormFieldBlock div.twooption_checkbox div label,\n            .twoOptionFormFieldBlock div.twooption_checkbox div label div,\n            .consentBlock div label p {\n                font-family: \"Segoe UI\", Arial, sans-serif;\n                font-size: 14px;\n                font-weight: 400;\n                font-size: 14px;\n                line-height: 20px;\n            }\n            .multiOptionSetFormFieldBlock fieldset > div > label {\n                font-weight: 400;\n                font-size: 14px;\n                line-height: 20px;\n            }\n\n            .optionSetFormFieldBlock div.radiobuttons div input[type=\"radio\"]:checked + label,\n            .twoOptionFormFieldBlock div.radiobuttons div input[type=\"radio\"]:checked + label {\n            }\n\n            .twoOptionFormFieldBlock div.twooption_checkbox div input[type=\"checkbox\"]:checked + label,\n            .twoOptionFormFieldBlock div.twooption_checkbox div input[type=\"checkbox\"]:checked + label div,\n            .consentBlock div input[type=\"checkbox\"]:checked + label p {\n            }\n\n            .twoOptionFormFieldBlock div.radiobuttons,\n            .optionSetFormFieldBlock div.radiobuttons {\n                padding: 0px;\n                margin: 0px;\n                border-radius: 0px;\n            }\n            \n            .twoOptionFormFieldBlock div.twooption_checkbox > div, .consentBlock > div {\n                width: 100%;\n                border-radius: 0px;\n\n            }\n            .twoOptionFormFieldBlock div.radiobuttons div,\n            .optionSetFormFieldBlock div.radiobuttons div {\n                width: 100%;\n            }\n\n            .twoOptionFormFieldBlock div.twooption_checkbox div,\n            .consentBlock div {\n                padding: 0px;\n                margin: 0px;\n            }\n            \n            .twoOptionFormFieldBlock div.radiobuttons div input,\n            .twoOptionFormFieldBlock div.twooption_checkbox div input,\n            .optionSetFormFieldBlock div.radiobuttons div input,\n            .multiOptionSetFormFieldBlock fieldset > div > input[type=\"checkbox\"],\n            .eventSession > div > input[type=\"checkbox\"],\n            .consentBlock div input {\n                margin: 0px;\n                box-sizing: border-box;\n                width: 20px;\n                height: 20px;\n                border: 1px solid #323130;\n                border-radius: 2px;\n                accent-color: #0078d4;\n                flex-shrink: 0;\n            }\n            .eventSessions {\n                font-size: 16px;\n                line-height: 1.2;\n                border: none\n            }\n            .eventSession label b {\n\t            display:inline\n            }\n            .eventSession > div > input[type=\"checkbox\"] {\n                float: right;\n            }\n            .marketingForm [dir=\"rtl\"],\n            .marketingForm [dir=\"rtl\"] * {\n                text-align: right;\n            }\n            .marketingForm s span {\n                text-decoration: line-through;\n            }\n            .marketingForm u span {\n                text-decoration: underline;\n            }\n            .dividerWrapper p span {\n                line-height: 0px;\n            }\n            .marketingForm ul,\n            .marketingForm ol {\n                margin-top: 15px;\n                margin-bottom: 15px;\n                line-height: 125%;\n                line-height: 1.25;\n                padding-inline-end: 0px !important;\n            }\n            .marketingForm p img {\n                max-width: 100%;\n            }\n            .marketingForm u a {\n                text-decoration: underline;\n            }\n            .marketingForm .imageWrapper a img {\n                text-decoration: none;\n                border: 0px;\n            }\n            .marketingForm th.columnContainer,\n            .marketingForm th.inner {\n                font-weight: normal;\n                text-align: left;\n            }\n            .marketingForm [dir=\"rtl\"] th.columnContainer,\n            .marketingForm [dir=\"rtl\"] th.inner {\n                font-weight: normal;\n                text-align: right;\n            }\n            @media only screen and (max-width: 768px) {\n                .marketingForm a span {\n                    line-height: inherit !important;\n                }\n                .marketingForm .multi table {\n                    table-layout: fixed;\n                    height: auto !important;\n                }\n                .marketingForm .multi td {\n                    width: auto !important;\n                    min-height: auto !important;\n                }\n                .marketingForm .multi tbody,\n                .marketingForm .multi tbody tr,\n                .marketingForm .multi tbody tr td,\n                .marketingForm .multi tbody tr th,\n                .marketingForm .outer tbody,\n                .marketingForm .outer tbody tr,\n                .marketingForm .outer tbody tr td,\n                .marketingForm .outer tbody tr th {\n                    display: block;\n                    box-sizing: border-box;\n                    height: auto !important;\n                    min-height: auto !important;\n                }\n                .marketingForm .wrap-section .multi tbody,\n                .marketingForm .wrap-section .multi tbody tr,\n                .marketingForm .wrap-section .multi tbody tr td,\n                .marketingForm .wrap-section .multi tbody tr th,\n                .marketingForm .wrap-section .outer tbody,\n                .marketingForm .wrap-section .outer tbody tr,\n                .marketingForm .wrap-section .outer tbody tr td,\n                .marketingForm .wrap-section .outer tbody tr th {\n                    width: 100% !important;\n                }\n                .marketingForm .multi .inner {\n                    height: auto !important;\n                    min-height: auto !important;\n                }\n                .marketingForm .tbContainer .inner {\n                    box-sizing: border-box;\n                }\n                .marketingForm .outer {\n                    width: 100% !important;\n                }\n                .marketingForm .tbContainer .columnContainer table {\n                    table-layout: fixed !important;\n                }\n                .marketingForm .innerTable {\n                    min-height: auto !important;\n                }\n                .marketingForm .no-wrap-section .outer {\n                    display: table !important;\n                }\n                .marketingForm .no-wrap-section .multi table {\n                    height: 100% !important;\n                }\n                .marketingForm .no-wrap-section .multi tbody,\n                .marketingForm .no-wrap-section .outer tbody {\n                    display: table-row-group !important;\n                    width: 100% !important;\n                }\n                .marketingForm .no-wrap-section .multi tbody tr,\n                .marketingForm .no-wrap-section .outer tbody tr {\n                    display: table-row !important;\n                    width: 100% !important;\n                }\n                .marketingForm .no-wrap-section .multi tbody tr td,\n                .marketingForm .no-wrap-section .multi tbody tr th,\n                .marketingForm .no-wrap-section .outer tbody tr td,\n                .marketingForm .no-wrap-section .outer tbody tr th {\n                    display: table-cell !important;\n                }\n                .marketingForm .no-wrap-section.columns-equal-class .outer tbody tr td,\n                .marketingForm .no-wrap-section.columns-equal-class .outer tbody tr th {\n                    height: 0px !important;\n                }\n                .marketingForm .no-wrap-section .outer tbody tr td.inner,\n                .marketingForm .no-wrap-section .outer tbody tr th.inner {\n                    width: 100% !important;\n                    height: auto !important;\n                }\n                .marketingForm a[x-apple-data-detectors] {\n                    color: inherit !important;\n                    text-decoration: none !important;\n                    font-size: inherit !important;\n                    font-family: inherit !important;\n                    font-weight: inherit !important;\n                    line-height: inherit !important;\n                }\n            }\n            .notification-container {\n                margin-left: 10px;\n                margin-right: 10px;\n                margin-bottom: 10px;\n                margin-top: 10px;\n            }\n            .notification-message {\n                display: flex;\n                justify-content: center;\n                align-items: center;\n                min-height: 38px;\n                border: 1.44737px solid#CCCCCC;\n                border-radius: 10px;\n                margin-bottom: 10px;\n                margin-top: 10px;\n            }\n            .notification-message-hide {\n                display: none;\n            }\n        </style>\n    </head>\n\n    <body><form class=\"marketingForm\" data-successmessage=\"Thank you for submitting the form.\" data-errormessage=\"There was an error, please try again.\">\n            <div data-layout=\"true\" data-layout-version=\"v2\" style=\"max-width: 600px; margin: auto;\">\n                <div class=\"notification-container\">\n                    <div class=\"notification-message notification-message-hide\" data-notification-name=\"eventNotStarted\">\n                        <div>This event has not started.</div>\n                    </div>\n                    <div class=\"notification-message notification-message-hide\" data-notification-name=\"eventAtCapacity\">\n                        <div>This event is no longer accepting registrations.</div>\n                    </div>\n                    <div class=\"notification-message notification-message-hide\" data-notification-name=\"eventEnded\">\n                        <div>This event has ended.</div>\n                    </div>\n                </div>\n            <div data-section=\"true\" class=\"columns-equal-class wrap-section\"><table class=\"outer\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\" style=\"border-collapse: collapse; width: 600px; display: block;\">\n\t\t\t            <tbody>\n\t\t\t\t            <tr>\n\t\t\t\t\t            <th>\n                                    <table style=\"\n                width: 100%;\n                border-collapse: collapse;\n            \" class=\"containerWrapper tbContainer\" cellpadding=\"0\" cellspacing=\"0\">\n                                        <tbody>\n                                            <tr>\n                                                <th data-container=\"true\" class=\"columnContainer\" data-container-width=\"100\" style=\"vertical-align:top; min-width: 5px; width: 600px; ; height: 0px;\">\n                                                    <table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" style=\"border-collapse: collapse; height: 100%;\">\n                                                        <tbody>\n                                                            <tr>\n                                                                <th class=\"inner ui-sortable\" style=\"min-width: 5px; padding: 10px; vertical-align: top; word-wrap: break-word; word-break: break-word; word-wrap: break-word; word-break: break-word; font-weight: normal;\">\n                                                                <div class=\"textFormFieldBlock\" data-editorblocktype=\"TextFormField\" data-targetproperty=\"lastname\" data-required=\"required\"><label title=\"Last Name\" for=\"lastname-1711540476201\">Last Name</label><input id=\"lastname-1711540476201\" type=\"text\" name=\"lastname\" placeholder=\"Last Name\" title=\"Last Name\" maxlength=\"50\" required=\"required\"></div><div class=\"textFormFieldBlock\" data-editorblocktype=\"TextFormField\" data-targetproperty=\"emailaddress1\"><label title=\"Email\" for=\"emailaddress1-1711540483632\">Email</label><input id=\"emailaddress1-1711540483632\" type=\"email\" name=\"emailaddress1\" placeholder=\"Email\" title=\"Email\" pattern=\"[^@\\s\\\\&quot;<>\\)\\(\\[\\]:;,.]+(([.]{1}[^@\\s\\\\&quot;<>\\)\\(\\[\\]:;,.]+)+?|)@([^@\\s\\\\&quot;<>\\)\\(\\[\\]\\+:;,\\.\\-]+(((\\.|\\+|-|--)[^@\\s\\\\&quot;<>\\)\\(\\[\\]+:;,.\\-]+)+?|)([.][^0-9@\\s\\\\&quot;<>\\)\\(\\[\\]+:;,.\\-]+)+?)\"></div><div data-editorblocktype=\"SubmitButton\" class=\"submitButtonWrapper\"><button class=\"submitButton\" type=\"submit\">\n        <span>Submit</span></button></div></th>\n                                                            </tr>\n                                                        </tbody>\n                                                    </table>\n                                                </th>\n                                            </tr>\n                                        </tbody>\n                                    </table>\n                                </th>\n                            </tr>\n                        </tbody>\n                    </table></div></div>\n        </form></body></html>",
            "componentidunique": "9ae1574c-a700-49a3-b31f-af0fb5ee8974",
            "_owningbusinessunit_value": "71372590-90e8-ee11-904d-000d3ad8a6a4",
            "msdynmkt_successmessage": "Thank you for submitting the form.",
            "_owninguser_value": "633e2590-90e8-ee11-904d-000d3ad8a6a4",
            "msdynmkt_marketingformid": "ddf7e9d3-30ec-ee11-904c-000d3ab8b9de",
            "msdynmkt_portalpublishingstatus": 534120001,
            "msdynmkt_targetentity": "contact",
            "msdynmkt_standalonepublishstatus": 534120004,
            "msdynmkt_redirectenabled": false,
            "msdynmkt_portalurl": null,
            "overriddencreatedon": null,
            "msdynmkt_placeholders": null,
            "importsequencenumber": null,
            "msdynmkt_conditionalcontent": null,
            "_msdynmkt_marketingformtemplateid_value": null,
            "msdynmkt_redirecturl": null,
            "utcconversiontimezonecode": null,
            "_createdonbehalfby_value": null,
            "_owningteam_value": null,
            "timezoneruleversionnumber": null,
            "iscustomizable": {
                "Value": true,
                "CanBeChanged": true,
                "ManagedPropertyLogicalName": "iscustomizableanddeletable"
            }
        }
    ]
}