{"id":2495,"date":"2026-01-03T08:18:41","date_gmt":"2026-01-03T16:18:41","guid":{"rendered":"https:\/\/asce-staging.org\/cais\/?page_id=2495"},"modified":"2026-02-19T11:21:57","modified_gmt":"2026-02-19T19:21:57","slug":"2026-cais-registration","status":"publish","type":"page","link":"https:\/\/asce-staging.org\/cais\/2026-cais-registration\/","title":{"rendered":"2026 CAIS Registration"},"content":{"rendered":"<div class=\"em em-view-container\" id=\"em-view-178462230\" data-view=\"event\">\r\n\t<div class=\"em pixelbones em-item em-item-single em-event em-event-single em-event-246 \" id=\"em-event-178462230\" data-view-id=\"178462230\">\r\n\t\t<section class=\"em-item-header\" style=\"--default-border:#2757f4\">\r\n\t\r\n\t\r\n\t<div class=\"em-item-meta\">\r\n\t\t<section class=\"em-item-meta-column\">\r\n\t\t\t<section class=\"em-event-when\">\r\n\t\t\t\t<h3>When<\/h3>\r\n\t\t\t\t<div class=\"em-item-meta-line em-event-date em-event-meta-datetime\">\r\n\t\t\t\t\t<span class=\"em-icon-calendar em-icon\"><\/span>\r\n\t\t\t\t\tApril 24, 2026\u00a0\u00a0\u00a0\u00a0\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"em-item-meta-line em-event-time em-event-meta-datetime\">\r\n\t\t\t\t\t<span class=\"em-icon-clock em-icon\"><\/span>\r\n\t\t\t\t\t11:00 am - 2:30 pm\r\n\t\t\t\t<\/div>\r\n\t\t\t\t\t\t\t\t\t<button type=\"button\" class=\"em-event-add-to-calendar em-tooltip-ddm em-clickable input\" data-button-width=\"match\" data-tooltip-class=\"em-add-to-calendar-tooltip\" data-content=\"em-event-add-to-colendar-content-1795837953\"><span class=\"em-icon em-icon-calendar\"><\/span> Add To Calendar<\/button>\r\n\t\t\t\t\t<div class=\"em-tooltip-ddm-content em-event-add-to-calendar-content\" id=\"em-event-add-to-colendar-content-1795837953\">\r\n\t\t\t\t\t\t<a class=\"em-a2c-download\" href=\"https:\/\/asce-staging.org\/cais\/events\/2026-region-9-awards-luncheon\/ical\/\" target=\"_blank\">Download ICS<\/a>\r\n\t\t\t\t\t\t<a class=\"em-a2c-google\" href=\"https:\/\/www.google.com\/calendar\/event?action=TEMPLATE&#038;text=2026+Region+9+Awards+Luncheon&#038;dates=20260424T110000\/20260424T143000&#038;details=%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09We+are+experimenting+with+some+different+options+to+allow+for+a+streamlined+registration+process.%C2%A0+Individual+can+purchase+bundles+of+tickets+for+multiple+events+via+our+%26%238220%3BMultiple+Event+Registration%26%238221%3B+options+below.%C2%A0+For+a+more+customized+registration+experience+%28such+as+purchasing+multiple+tickets+for+a+single+event+or+applying+a+coupon+code%29%2C+please+see+our+%3Ca+href%3D%22%23Individual%22%3E%3Cstrong%3EINDIVIDUAL+REGISTRATION%3C%2Fstrong%3E%3C%2Fa%3E+options+per+event+at+the+bottom+of+this+registration+page.%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09%3Cstrong%3EEARLY+BIRD+PRICING+ENDS+MARCH+15%2C+2026%21%3C%2Fstrong%3E%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09%3Cstrong%3ENOTE%3A+FOR+THE+TECHNICAL+TOURS%2C+REGISTRATION+FOR+THE+SYMPOSIUM+IS+REQUIRED.%3C%2Fstrong%3E%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09If+you+encounter+any+problems+with+the+registration+process%2C+please+contact+%3Cstrong%3E%3Ca+href%3D%22mailto%3Arune%40storesundconsulting.com%3Fsubject%3DCAIS+2026+Registration+Assistance%22%3EDr.+Rune+Storesund%2C+D.Eng.%2C+P.E.%2C+G.E.%2C+F.ASCE%2C+SM.NAFE%3C%2Fa%3E+%3C%2Fstrong%3E%28San+Francisco+Section+ASCE+Treasurer%29+for+assistance.%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09...&#038;location=&#038;trp=false&#038;sprop=https%3A%2F%2Fasce-staging.org%2Fcais%2Fevents%2F2026-region-9-awards-luncheon%2F&#038;sprop=name:CAIS&#038;ctz=America%2FLos_Angeles\" target=\"_blank\">Google Calendar<\/a>\r\n\t\t\t\t\t\t<a class=\"em-a2c-apple\" href=\"webcal:\/\/asce-staging.org\/cais\/events\/2026-region-9-awards-luncheon\/ical\/\" target=\"_blank\">iCalendar<\/a>\r\n\t\t\t\t\t\t<a class=\"em-a2c-office\" href=\"https:\/\/outlook.office.com\/calendar\/0\/deeplink\/compose?allday=false&#038;body=%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09We+are+experimenting+with+some+different+options+to+allow+for+a+streamlined+registration+process.%C2%A0+Individual+can+purchase+bundles+of+tickets+for+multiple+events+via+our+%26%238220%3BMultiple+Event+Registration%26%238221%3B+options+below.%C2%A0+For+a+more+customized+registration+experience+%28such+as+purchasing+multiple+tickets+for+a+single+event+or+applying+a+coupon+code%29%2C+please+see+our+%3Ca+href%3D%22%23Individual%22%3E%3Cstrong%3EINDIVIDUAL+REGISTRATION%3C%2Fstrong%3E%3C%2Fa%3E+options+per+event+at+the+bottom+of+this+registration+page.%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09%3Cstrong%3EEARLY+BIRD+PRICING+ENDS+MARCH+15%2C+2026%21%3C%2Fstrong%3E%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09%3Cstrong%3ENOTE%3A+FOR+THE+TECHNICAL+TOURS%2C+REGISTRATION+FOR+THE+SYMPOSIUM+IS+REQUIRED.%3C%2Fstrong%3E%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09If+you+encounter+any+problems+with+the+registration+process%2C+please+contact+%3Cstrong%3E%3Ca+href%3D%22mailto%3Arune%40storesundconsulting.com%3Fsubject%3DCAIS+2026+Registration+Assistance%22%3EDr.+Rune+Storesund%2C+D.Eng.%2C+P.E.%2C+G.E.%2C+F.ASCE%2C+SM.NAFE%3C%2Fa%3E+%3C%2Fstrong%3E%28San+Francisco+Section+ASCE+Treasurer%29+for+assistance.%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09%3Ca+href%3D%22http%3A%2F%2FMultipleEarlyBird%22%3EMultip...&#038;location=&#038;path=\/calendar\/action\/compose&#038;rru=addevent&#038;startdt=2026-04-24T11%3A00%3A00-07%3A00&#038;enddt=2026-04-24T14%3A30%3A00-07%3A00&#038;subject=2026+Region+9+Awards+Luncheon\" target=\"_blank\">Office 365<\/a>\r\n\t\t\t\t\t\t<a class=\"em-a2c-outlook\" href=\"https:\/\/outlook.live.com\/calendar\/0\/deeplink\/compose?allday=false&#038;body=%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09We+are+experimenting+with+some+different+options+to+allow+for+a+streamlined+registration+process.%C2%A0+Individual+can+purchase+bundles+of+tickets+for+multiple+events+via+our+%26%238220%3BMultiple+Event+Registration%26%238221%3B+options+below.%C2%A0+For+a+more+customized+registration+experience+%28such+as+purchasing+multiple+tickets+for+a+single+event+or+applying+a+coupon+code%29%2C+please+see+our+%3Ca+href%3D%22%23Individual%22%3E%3Cstrong%3EINDIVIDUAL+REGISTRATION%3C%2Fstrong%3E%3C%2Fa%3E+options+per+event+at+the+bottom+of+this+registration+page.%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09%3Cstrong%3EEARLY+BIRD+PRICING+ENDS+MARCH+15%2C+2026%21%3C%2Fstrong%3E%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09%3Cstrong%3ENOTE%3A+FOR+THE+TECHNICAL+TOURS%2C+REGISTRATION+FOR+THE+SYMPOSIUM+IS+REQUIRED.%3C%2Fstrong%3E%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09If+you+encounter+any+problems+with+the+registration+process%2C+please+contact+%3Cstrong%3E%3Ca+href%3D%22mailto%3Arune%40storesundconsulting.com%3Fsubject%3DCAIS+2026+Registration+Assistance%22%3EDr.+Rune+Storesund%2C+D.Eng.%2C+P.E.%2C+G.E.%2C+F.ASCE%2C+SM.NAFE%3C%2Fa%3E+%3C%2Fstrong%3E%28San+Francisco+Section+ASCE+Treasurer%29+for+assistance.%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09%3Ca+href%3D%22http%3A%2F%2FMultipleEarlyBird%22%3EMultiple...&#038;location=&#038;path=\/calendar\/action\/compose&#038;rru=addevent&#038;startdt=2026-04-24T11%3A00%3A00-07%3A00&#038;enddt=2026-04-24T14%3A30%3A00-07%3A00&#038;subject=2026+Region+9+Awards+Luncheon\" target=\"_blank\">Outlook Live<\/a>\r\n\t\t\t\t\t<\/div>\r\n\t\t\t\t\t\r\n\t\t\t<\/section>\r\n\t\r\n\t\t\t\r\n\t\t\t<section class=\"em-event-bookings-meta\">\r\n\t\t\t\t<h3>Bookings<\/h3>\r\n\t\t\t\t\r\n\t\t\t\t<div class=\"em-item-meta-line em-event-prices\">\r\n\t\t\t\t\t<span class=\"em-icon-ticket em-icon\"><\/span>\r\n\t\t\t\t\t$100.00 - $300.00\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<a href=\"#em-event-booking-form\" class=\"button input with-icon-right\">\r\n\t\t\t\t\tBook Now\t\t\t\t\t<span class=\"em-icon-ticket em-icon\"><\/span>\r\n\t\t\t\t<\/a>\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t<\/section>\r\n\t\t\t\r\n\t\t<\/section>\r\n\r\n\t\t<section class=\"em-item-meta-column\">\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t<section class=\"em-item-taxonomies\">\r\n\t\t\t\t<h3>Event Type<\/h3>\r\n\t\t\t\t\r\n\t\t\t\t<div class=\"em-item-meta-line em-item-taxonomy em-event-categories\">\r\n\t\t\t\t\t<span class=\"em-icon-category em-icon\"><\/span>\r\n\t\t\t\t\t<div>\t<ul class=\"event-categories\">\r\n\t\t\t\t\t<li><a href=\"https:\/\/asce-staging.org\/events\/categories\/r9\/\">Region 9<\/a><\/li>\r\n\t\t\t\t\t<li><a href=\"https:\/\/asce-staging.org\/events\/categories\/sf\/\">San Francisco Section<\/a><\/li>\r\n\t\t\t<\/ul>\r\n\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t<\/section>\r\n\t\t\t\r\n\t\t<\/section>\r\n\t<\/div>\r\n<\/section>\r\n\r\n<section class=\"em-event-content\">\r\n\t\n<div data-elementor-type=\"wp-page\" data-elementor-id=\"2495\" class=\"elementor elementor-2495\" data-elementor-post-type=\"page\">\n<div class=\"elementor-element elementor-element-378e4f7 e-flex e-con-boxed e-con e-parent\" data-id=\"378e4f7\" data-element_type=\"container\" data-e-type=\"container\">\n<div class=\"e-con-inner\">\n<div class=\"elementor-element elementor-element-9ed266d elementor-widget elementor-widget-text-editor\" data-id=\"9ed266d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n<p>We are experimenting with some different options to allow for a streamlined registration process.\u00a0 Individual can purchase bundles of tickets for multiple events via our &#8220;Multiple Event Registration&#8221; options below.\u00a0 For a more customized registration experience (such as purchasing multiple tickets for a single event or applying a coupon code), please see our <a href=\"#Individual\"><strong>INDIVIDUAL REGISTRATION<\/strong><\/a> options per event at the bottom of this registration page.<\/p>\n<\/p><\/div>\n<div class=\"elementor-element elementor-element-a7121bd elementor-widget elementor-widget-text-editor\" data-id=\"a7121bd\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n<h4><strong>EARLY BIRD PRICING ENDS MARCH 15, 2026!<\/strong><\/h4>\n<\/p><\/div>\n<div class=\"elementor-element elementor-element-8f017d6 elementor-widget elementor-widget-text-editor\" data-id=\"8f017d6\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n<h6><strong>NOTE: FOR THE TECHNICAL TOURS, REGISTRATION FOR THE SYMPOSIUM IS REQUIRED.<\/strong><\/h6>\n<\/p><\/div>\n<div class=\"elementor-element elementor-element-5267429 elementor-widget elementor-widget-text-editor\" data-id=\"5267429\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n<p>If you encounter any problems with the registration process, please contact <strong><a href=\"mailto:rune@storesundconsulting.com?subject=CAIS 2026 Registration Assistance\">Dr. Rune Storesund, D.Eng., P.E., G.E., F.ASCE, SM.NAFE<\/a> <\/strong>(San Francisco Section ASCE Treasurer) for assistance.<\/p>\n<\/p><\/div>\n<div class=\"elementor-element elementor-element-a9a7922 e-con-full e-flex e-con e-child\" data-id=\"a9a7922\" data-element_type=\"container\" data-e-type=\"container\">\n<div class=\"elementor-element elementor-element-8eabb69 elementor-widget elementor-widget-heading\" data-id=\"8eabb69\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n<h2 class=\"elementor-heading-title elementor-size-default\"><a href=\"http:\/\/MultipleEarlyBird\" multipleearlybird=\"\">Multiple Event Registration &#8211; Early Bird Pricing (Ends March 15, 2026)<\/a><\/h2>\n<\/p><\/div>\n<div class=\"elementor-element elementor-element-89664a9 elementor-widget elementor-widget-shortcode\" data-id=\"89664a9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n<div class=\"elementor-shortcode\">[asce_ticket_matrix id=&#8221;table_698b5c4d45459&#8243;]<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"elementor-element elementor-element-afee518 elementor-widget elementor-widget-heading\" data-id=\"afee518\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n<h2 class=\"elementor-heading-title elementor-size-default\">Multiple Event Registration (Regular Pricing)<\/h2>\n<\/p><\/div>\n<div class=\"elementor-element elementor-element-f68cc98 elementor-widget elementor-widget-shortcode\" data-id=\"f68cc98\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n<div class=\"elementor-shortcode\">[asce_ticket_matrix id=&#8221;table_698b5d72448f9&#8243;]<\/div>\n<\/p><\/div>\n<div class=\"elementor-element elementor-element-1850aca elementor-widget-divider--view-line elementor-widget elementor-widget-divider\" data-id=\"1850aca\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"divider.default\">\n<div class=\"elementor-divider\">\n\t\t\t<span class=\"elementor-divider-separator\"><br \/>\n\t\t\t\t\t\t<\/span>\n\t\t<\/div>\n<\/p><\/div>\n<div class=\"elementor-element elementor-element-d9f7bc9 elementor-widget elementor-widget-menu-anchor\" data-id=\"d9f7bc9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"menu-anchor.default\">\n<div class=\"elementor-menu-anchor\" id=\"Individual\"><\/div>\n<\/p><\/div>\n<div class=\"elementor-element elementor-element-b914230 elementor-widget elementor-widget-heading\" data-id=\"b914230\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n<h2 class=\"elementor-heading-title elementor-size-default\">Individual Event Registration<\/h2>\n<\/p><\/div>\n<div class=\"elementor-element elementor-element-ea4d719 elementor-grid-1 elementor-grid-tablet-2 elementor-grid-mobile-1 elementor-posts--thumbnail-top elementor-widget elementor-widget-posts\" data-id=\"ea4d719\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;classic_columns&quot;:&quot;1&quot;,&quot;classic_columns_tablet&quot;:&quot;2&quot;,&quot;classic_columns_mobile&quot;:&quot;1&quot;,&quot;classic_row_gap&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:35,&quot;sizes&quot;:[]},&quot;classic_row_gap_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;classic_row_gap_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]}}\" data-widget_type=\"posts.classic\">\n<div class=\"elementor-widget-container\">\n<div class=\"elementor-posts-container elementor-posts elementor-posts--skin-classic elementor-grid\" role=\"list\">\n<article class=\"elementor-post elementor-grid-item post-2443 event type-event status-publish hentry event-categories-cais-2026\" role=\"listitem\">\n<div class=\"elementor-post__text\">\n<h3 class=\"elementor-post__title\">\n\t\t\t<a href=\"https:\/\/asce-staging.org\/cais\/events\/envision-sp-training\/\" ><br \/>\n\t\t\t\tCAIS 2026 Envision SP Training\t\t\t<\/a><br \/>\n\t\t<\/h3>\n<div class=\"elementor-post__excerpt\">\n<p>April 22, 2026 @ 8:00 am &#8211; 5:00 pm &#8211; Envision Sustainability Professional Training ENV SP: A Globally Recognized Credential The Envision\u2122 Framework is becoming globally recognized as the premier sustainability certi\ufb01cation program for infrastructure, including highways, transit projects, bridges, utilities, sewer systems \u2013 the list goes on. The framework is supported by the Envision\u2122 Sustainability Professional (ENV SP) credential \u2014an increasingly important credential for [&#8230;]<\/p>\n<\/p><\/div>\n<p>\t\t<a class=\"elementor-post__read-more\" href=\"https:\/\/asce-staging.org\/cais\/events\/envision-sp-training\/\" aria-label=\"Read more about CAIS 2026 Envision SP Training\" tabindex=\"-1\" ><br \/>\n\t\t\tREGISTER FOR THIS EVENT\t\t<\/a><\/p><\/div>\n<\/article>\n<article class=\"elementor-post elementor-grid-item post-2329 event type-event status-publish hentry event-categories-cais-2026\" role=\"listitem\">\n<div class=\"elementor-post__text\">\n<h3 class=\"elementor-post__title\">\n\t\t\t<a href=\"https:\/\/asce-staging.org\/cais\/events\/cais-2026\/\" ><br \/>\n\t\t\t\tCAIS 2026 Symposium\t\t\t<\/a><br \/>\n\t\t<\/h3>\n<div class=\"elementor-post__excerpt\">\n<p>April 23, 2026 @ 8:00 am &#8211; 6:00 pm &#8211; More information coming soon! Important Notice: No Refunds for Cancellations \u2013 All Sales Final\u00a0We\u2019re excited to have you join us for this special event! Please note that all ticket sales are\u00a0final, and we are\u00a0unable to offer refunds\u00a0for cancellations. This is because our event requires advance commitments for catering, venue space, and other logistics to ensure [&#8230;]<\/p>\n<\/p><\/div>\n<p>\t\t<a class=\"elementor-post__read-more\" href=\"https:\/\/asce-staging.org\/cais\/events\/cais-2026\/\" aria-label=\"Read more about CAIS 2026 Symposium\" tabindex=\"-1\" ><br \/>\n\t\t\tREGISTER FOR THIS EVENT\t\t<\/a><\/p><\/div>\n<\/article>\n<article class=\"elementor-post elementor-grid-item post-2445 event type-event status-publish hentry event-categories-cais-2026\" role=\"listitem\">\n<div class=\"elementor-post__text\">\n<h3 class=\"elementor-post__title\">\n\t\t\t<a href=\"https:\/\/asce-staging.org\/cais\/events\/2026-cais-technical-tour-sfo-terminal-3-expansion\/\" ><br \/>\n\t\t\t\tCAIS 2026 Technical Tour &#8211; San Bruno Water Quality Control Plant\t\t\t<\/a><br \/>\n\t\t<\/h3>\n<div class=\"elementor-post__excerpt\">\n<p>April 24, 2026 @ 8:00 am &#8211; 10:00 am &#8211; South San Francisco \u2013 San Bruno Water Quality Control Plant Date: Friday, April 24, 2026 Time: 8:00 AM to 10:00 AM Located adjacent to San Francisco Bay on Colma Creek, this multi-award-winning facility provides secondary wastewater treatment for the cities of South San Francisco, San Bruno, and Colma. It also provides the dechlorination treatment of [&#8230;]<\/p>\n<\/p><\/div>\n<p>\t\t<a class=\"elementor-post__read-more\" href=\"https:\/\/asce-staging.org\/cais\/events\/2026-cais-technical-tour-sfo-terminal-3-expansion\/\" aria-label=\"Read more about CAIS 2026 Technical Tour &#8211; San Bruno Water Quality Control Plant\" tabindex=\"-1\" ><br \/>\n\t\t\tREGISTER FOR THIS EVENT\t\t<\/a><\/p><\/div>\n<\/article>\n<article class=\"elementor-post elementor-grid-item post-2446 event type-event status-publish hentry event-categories-cais-2026\" role=\"listitem\">\n<div class=\"elementor-post__text\">\n<h3 class=\"elementor-post__title\">\n\t\t\t<a href=\"https:\/\/asce-staging.org\/cais\/events\/2026-cais-technical-tour-sfo-terminal-3-expansion-2\/\" ><br \/>\n\t\t\t\tCAIS 2026 Technical Tour &#8211; SFO Terminal 3 Expansion\t\t\t<\/a><br \/>\n\t\t<\/h3>\n<div class=\"elementor-post__excerpt\">\n<p>April 24, 2026 @ 8:00 am &#8211; 10:00 am &#8211; SFO Terminal 3 Expansion Project Date: Friday, April 24, 2026 Time: 8:00 AM to 10:00 AM SFO is a world-class international gateway serving the San Francisco Bay Area and Northern California. Known for its innovative design, sustainability leadership, and award-winning passenger experience, SFO\u00a0connects millions of travelers each year to destinations across the globe. The Terminal [&#8230;]<\/p>\n<\/p><\/div>\n<p>\t\t<a class=\"elementor-post__read-more\" href=\"https:\/\/asce-staging.org\/cais\/events\/2026-cais-technical-tour-sfo-terminal-3-expansion-2\/\" aria-label=\"Read more about CAIS 2026 Technical Tour &#8211; SFO Terminal 3 Expansion\" tabindex=\"-1\" ><br \/>\n\t\t\tREGISTER FOR THIS EVENT\t\t<\/a><\/p><\/div>\n<\/article>\n<article class=\"elementor-post elementor-grid-item post-2772 event type-event status-publish hentry\" role=\"listitem\">\n<div class=\"elementor-post__text\">\n<h3 class=\"elementor-post__title\">\n\t\t\t<a href=\"https:\/\/asce-staging.org\/cais\/events\/cais-2026-technical-tour-oyster-point\/\" ><br \/>\n\t\t\t\tCAIS 2026 Technical Tour &#8211; Oyster Point Marina \/ South San Francisco Ferry Terminal\t\t\t<\/a><br \/>\n\t\t<\/h3>\n<div class=\"elementor-post__excerpt\">\n<p>April 24, 2026 @ 8:30 am &#8211; 10:30 am &#8211; Oyster Point Marina \/ South San Francisco Ferry Terminal Date: Friday, April 24, 2026 Time: 8:30 AM to 10:00 AM Experience Oyster Point Marina and the South San Francisco Ferry Terminal, where commuter ferries link to Oakland and Alameda, while nearby a former landfill site faces King Tide flooding and is slated for remediation. Along [&#8230;]<\/p>\n<\/p><\/div>\n<p>\t\t<a class=\"elementor-post__read-more\" href=\"https:\/\/asce-staging.org\/cais\/events\/cais-2026-technical-tour-oyster-point\/\" aria-label=\"Read more about CAIS 2026 Technical Tour &#8211; Oyster Point Marina \/ South San Francisco Ferry Terminal\" tabindex=\"-1\" ><br \/>\n\t\t\tREGISTER FOR THIS EVENT\t\t<\/a><\/p><\/div>\n<\/article>\n<article class=\"elementor-post elementor-grid-item post-2448 event type-event status-publish hentry event-categories-cais-2026\" role=\"listitem\">\n<div class=\"elementor-post__text\">\n<h3 class=\"elementor-post__title\">\n\t\t\t<a href=\"https:\/\/asce-staging.org\/cais\/events\/2026-region-9-awards-luncheon\/\" ><br \/>\n\t\t\t\t2026 Region 9 Awards Luncheon\t\t\t<\/a><br \/>\n\t\t<\/h3>\n<div class=\"elementor-post__excerpt\">\n<p>April 24, 2026 @ 11:00 am &#8211; 2:30 pm &#8211; Event Date: April 24, 2026 More information coming soon! Important Notice: No Refunds for Cancellations \u2013 All Sales Final\u00a0We\u2019re excited to have you join us for this special event! Please note that all ticket sales are\u00a0final, and we are\u00a0unable to offer refunds\u00a0for cancellations. This is because our event requires advance commitments for catering, venue space, [&#8230;]<\/p>\n<\/p><\/div>\n<p>\t\t<a class=\"elementor-post__read-more\" href=\"https:\/\/asce-staging.org\/cais\/events\/2026-region-9-awards-luncheon\/\" aria-label=\"Read more about 2026 Region 9 Awards Luncheon\" tabindex=\"-1\" ><br \/>\n\t\t\tREGISTER FOR THIS EVENT\t\t<\/a><\/p><\/div>\n<\/article><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"elementor-element elementor-element-682cf1b elementor-widget-divider--view-line elementor-widget elementor-widget-divider\" data-id=\"682cf1b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"divider.default\">\n<div class=\"elementor-divider\">\n\t\t\t<span class=\"elementor-divider-separator\"><br \/>\n\t\t\t\t\t\t<\/span>\n\t\t<\/div>\n<\/p><\/div>\n<div class=\"elementor-element elementor-element-9f983ae elementor-widget elementor-widget-heading\" data-id=\"9f983ae\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n<h4 class=\"elementor-heading-title elementor-size-default\">Important Notice: No Refunds for Cancellations \u2013 All Sales Final<\/h4>\n<\/p><\/div>\n<div class=\"elementor-element elementor-element-7a68747 elementor-widget elementor-widget-text-editor\" data-id=\"7a68747\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n<p>We\u2019re excited to have you join us for this special event! Please note that all ticket sales are <strong>final<\/strong>, and we are\u00a0<strong>unable to offer refunds<\/strong>\u00a0for cancellations. This is because our event requires advance commitments for catering, venue space, and other logistics to ensure a seamless experience for all attendees.\u00a0<\/p>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n\r\n<\/section>\r\n\r\n<section class=\"em-event-bookings\">\r\n\t<a name=\"em-event-booking-form\"><\/a>\r\n\t<h2>Bookings<\/h2>\r\n\t<div class=\"em pixelbones em-event-booking-form input\" id=\"event-booking-form-246\" data-id=\"246\">\n\t\t\t\t\t\t<div class=\"em-login\">\n\t<div class=\"em-login-trigger\">\n\t\tDo you already have an account with us? <a href=\"#\">Sign In<\/a>\t<\/div>\n\t<div class=\"em-login-content\">\n\t\t<p>Log in if you already have an account with us.<\/p>\n\t\t<form class=\"em-form em-login-form\" action=\"https:\/\/asce-staging.org\/cais\/wp-login.php\" method=\"post\">\n\t\t    <p>\n\t\t\t\t<label>Username<\/label>\n\t\t\t\t<input type=\"text\" name=\"log\" class=\"input\" value=\"\">\n\t\t\t<\/p>\n\t\t\t<p>\n\t\t\t\t<label>Password<\/label>\n\t\t\t\t<input type=\"password\" name=\"pwd\" class=\"input\" value=\"\">\n\t\t    <\/p>\n\t\t    \t\t\t<div class=\"em-login-actions\">\n\t\t\t\t<div class=\"em-login-buttons\">\n\t\t\t\t\t<button type=\"submit\" name=\"wp-submit\" class=\"button-primary em-login-submit\">Log In<\/button>\n\t\t\t\t\t<button type=\"button\" class=\"em-login-cancel\">Cancel<\/button>\n\t\t\t\t\t<input type=\"hidden\" name=\"redirect_to\" value=\"\/cais\/wp-json\/wp\/v2\/pages\/2495#em-event-booking-form\">\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"em-login-meta\">\n\t\t\t\t\t<label class=\"em-login-rememberme\"><input name=\"rememberme\" type=\"checkbox\" value=\"forever\"> Remember Me<\/label>\n\t\t\t\t\t<div class=\"em-login-links\">\n\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/asce-staging.org\/cais\/wp-login.php?action=lostpassword\" title=\"Password Lost and Found\">Lost your password?<\/a>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/form>\n\t<\/div>\n\t<\/div>\t\t\t\t\t\t\t\t<form class=\"em-booking-form\" name='booking-form' method='post' action='#em-booking' id=\"em-booking-form-246\" data-id=\"246\" data-is-free=\"0\" data-spaces=\"0\">\n\t\t\t\t\t\t\t \t<input type='hidden' name='action' value='booking_add'>\n\t\t\t \t<input type='hidden' name='event_id' value='246'>\n\t\t\t \t<input type='hidden' name='_wpnonce' value='dd1445be38'>\n\t\t\t\t<input type=\"hidden\" name=\"booking_intent\" value=\"fe11469a6681424385472fd61c58f0a8\" class=\"em-booking-intent\" id=\"em-booking-intent-246\" data-uuid=\"fe11469a6681424385472fd61c58f0a8\" data-event_id=\"246\" data-spaces=\"0\" data-amount=\"0\" data-amount_formatted=\"$0.00\" data-amount_base=\"0\" data-taxes=\"\" data-currency=\"USD\">\t\t\t\t\t\t\t\t\t\t\t\t<section class=\"em-booking-form-section-tickets\" id=\"em-booking-form-section-tickets-246\">\n\t\t\t\t\t\t\t\t\t    <h3 class=\"em-booking-section-title em-booking-form-tickets-title\">Tickets<\/h3>\n\t\t\t\t\t\t\t\t\t\t<div class=\"em-booking-form-tickets em-booking-section\">\n\t\t\t\t\t<table class=\"em-tickets\">\n\t<thead>\n\t\t<tr>\n\t\t\t\t\t\t<th class=\"em-bookings-ticket-table-type\">Ticket Type<\/th>\n\t\t\t\t\t\t<th class=\"em-bookings-ticket-table-price\">Price<\/th>\n\t\t\t\t\t\t<th class=\"em-bookings-ticket-table-spaces\">Spaces<\/th>\n\t\t\t\t\t<\/tr>\n\t<\/thead>\n\t\t\t\t\t\t\t\t<tr class=\"em-ticket em-ticket-670\" data-ticket-id=\"670\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<td class=\"em-bookings-ticket-table-type\">Non-Member (Private Sector) Early Bird<br><span class=\"ticket-desc\">Early Bird<\/span><\/td>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<td class=\"em-bookings-ticket-table-price\">$250.00<\/td>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<td class=\"em-bookings-ticket-table-spaces\">\n\t\t\t\t\t\t\t\t<strong>N\/A<\/strong>\t\t\t\t\t\t\t<\/td>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/tr>\n\t\t\t\t\t<tbody>\r\n\t\t\t<tr>\r\n\t\t\t\t<td colspan=\"3\" class=\"em-ticket-bookings em-ticket-bookings-670 hidden\" data-ticket-id=\"670\">\r\n\t\t\t\t\t\t\t\t\t<\/td>\r\n\t\t\t<\/tr>\r\n\t\t<\/tbody>\r\n\t\t\t\t\t\t\t\t\t\t\t\t<tr class=\"em-ticket em-ticket-671\" data-ticket-id=\"671\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<td class=\"em-bookings-ticket-table-type\">Non-Member (Public Sector) Early Bird<br><span class=\"ticket-desc\">Early Bird<\/span><\/td>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<td class=\"em-bookings-ticket-table-price\">$250.00<\/td>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<td class=\"em-bookings-ticket-table-spaces\">\n\t\t\t\t\t\t\t\t<strong>N\/A<\/strong>\t\t\t\t\t\t\t<\/td>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/tr>\n\t\t\t\t\t<tbody>\r\n\t\t\t<tr>\r\n\t\t\t\t<td colspan=\"3\" class=\"em-ticket-bookings em-ticket-bookings-671 hidden\" data-ticket-id=\"671\">\r\n\t\t\t\t\t\t\t\t\t<\/td>\r\n\t\t\t<\/tr>\r\n\t\t<\/tbody>\r\n\t\t\t\t\t\t\t\t\t\t\t\t<tr class=\"em-ticket em-ticket-672\" data-ticket-id=\"672\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<td class=\"em-bookings-ticket-table-type\">Member (Private Sector) Early Bird<br><span class=\"ticket-desc\">Early Bird<\/span><\/td>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<td class=\"em-bookings-ticket-table-price\">$200.00<\/td>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<td class=\"em-bookings-ticket-table-spaces\">\n\t\t\t\t\t\t\t\t<strong>N\/A<\/strong>\t\t\t\t\t\t\t<\/td>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/tr>\n\t\t\t\t\t<tbody>\r\n\t\t\t<tr>\r\n\t\t\t\t<td colspan=\"3\" class=\"em-ticket-bookings em-ticket-bookings-672 hidden\" data-ticket-id=\"672\">\r\n\t\t\t\t\t\t\t\t\t<\/td>\r\n\t\t\t<\/tr>\r\n\t\t<\/tbody>\r\n\t\t\t\t\t\t\t\t\t\t\t\t<tr class=\"em-ticket em-ticket-673\" data-ticket-id=\"673\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<td class=\"em-bookings-ticket-table-type\">Member (Public Sector) Early Bird<br><span class=\"ticket-desc\">Early Bird<\/span><\/td>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<td class=\"em-bookings-ticket-table-price\">$175.00<\/td>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<td class=\"em-bookings-ticket-table-spaces\">\n\t\t\t\t\t\t\t\t<strong>N\/A<\/strong>\t\t\t\t\t\t\t<\/td>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/tr>\n\t\t\t\t\t<tbody>\r\n\t\t\t<tr>\r\n\t\t\t\t<td colspan=\"3\" class=\"em-ticket-bookings em-ticket-bookings-673 hidden\" data-ticket-id=\"673\">\r\n\t\t\t\t\t\t\t\t\t<\/td>\r\n\t\t\t<\/tr>\r\n\t\t<\/tbody>\r\n\t\t\t\t\t\t\t\t\t\t\t\t<tr class=\"em-ticket em-ticket-674\" data-ticket-id=\"674\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<td class=\"em-bookings-ticket-table-type\">Member (Student) Early Bird<br><span class=\"ticket-desc\">Early Bird<\/span><\/td>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<td class=\"em-bookings-ticket-table-price\">$100.00<\/td>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<td class=\"em-bookings-ticket-table-spaces\">\n\t\t\t\t\t\t\t\t<strong>N\/A<\/strong>\t\t\t\t\t\t\t<\/td>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/tr>\n\t\t\t\t\t<tbody>\r\n\t\t\t<tr>\r\n\t\t\t\t<td colspan=\"3\" class=\"em-ticket-bookings em-ticket-bookings-674 hidden\" data-ticket-id=\"674\">\r\n\t\t\t\t\t\t\t\t\t<\/td>\r\n\t\t\t<\/tr>\r\n\t\t<\/tbody>\r\n\t\t\t\t\t\t\t\t\t\t\t\t<tr class=\"em-ticket em-ticket-675\" data-ticket-id=\"675\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<td class=\"em-bookings-ticket-table-type\">Non-Member (Private Sector)<\/td>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<td class=\"em-bookings-ticket-table-price\">$300.00<\/td>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<td class=\"em-bookings-ticket-table-spaces\">\n\t\t\t\t\t\t\t\t\t\t\t<select name=\"em_tickets[675][spaces]\" class=\"em-ticket-select\" id=\"em-ticket-spaces-675\" data-ticket-id=\"675\" aria-label=\"Select number of spaces\">\r\n\t\t\t\t\t\t\t\t<option>0<\/option>\t\t\t\t\t\t\t\t\t<option >1<\/option>\r\n\t\t\t\t\t\t\t\t\t<option >2<\/option>\r\n\t\t\t\t\t\t\t\t\t<option >3<\/option>\r\n\t\t\t\t\t\t\t\t\t<option >4<\/option>\r\n\t\t\t\t\t\t\t\t\t<option >5<\/option>\r\n\t\t\t\t\t\t\t\t\t<option >6<\/option>\r\n\t\t\t\t\t\t\t\t\t<option >7<\/option>\r\n\t\t\t\t\t\t\t\t\t<option >8<\/option>\r\n\t\t\t\t\t\t\t\t\t<option >9<\/option>\r\n\t\t\t\t\t\t\t\t\t<option >10<\/option>\r\n\t\t\t\t\t\t\t\t\t<option >11<\/option>\r\n\t\t\t\t\t\t\t\t\t<option >12<\/option>\r\n\t\t\t\t\t\t\t\t\t<option >13<\/option>\r\n\t\t\t\t\t\t\t\t\t<option >14<\/option>\r\n\t\t\t\t\t\t\t\t\t<option >15<\/option>\r\n\t\t\t\t\t\t\t\t\t<option >16<\/option>\r\n\t\t\t\t\t\t\t\t\t<option >17<\/option>\r\n\t\t\t\t\t\t\t\t\t<option >18<\/option>\r\n\t\t\t\t\t\t\t\t\t<option >19<\/option>\r\n\t\t\t\t\t\t\t\t\t<option >20<\/option>\r\n\t\t\t\t\t\t\t\t\t\t\t<\/select>\r\n\t\t\t\t\t\t\t\t\t\t<\/td>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/tr>\n\t\t\t\t\t<tbody>\r\n\t\t\t<tr>\r\n\t\t\t\t<td colspan=\"3\" class=\"em-ticket-bookings em-ticket-bookings-675 hidden\" data-ticket-id=\"675\">\r\n\t\t\t\t\t\t\t\t\t<div class=\"em-ticket-booking em-ticket-booking-template\" style=\"display:none;\" data-ticket-id=\"675\">\r\n\t\t\t\t\t\t\t\t\t<p class=\"input-group input-text em-input-text input-field-attendee_name\">\r\n\t\t\t\t\t<label for='attendee_name'>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tAttendee Name  <span class=\"em-form-required\">*<\/span>\t\t\t\t\t\t\t\t\t\t\t<\/label>\r\n\t\t\t\t\t\t\t\t\t<input type=\"text\" name=\"em_tickets[675][ticket_bookings][%n][attendee][attendee_name]\" id=\"attendee_name\" class=\"input\" value=\"\"  \/>\r\n\t\t\t\t\t\t\t\t<\/p>\r\n\t\t\t\t\t\t\t\t<p class=\"input-group input-text em-input-text input-field-attendee_org\">\r\n\t\t\t\t\t<label for='attendee_org'>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tAttendee Organization  <span class=\"em-form-required\">*<\/span>\t\t\t\t\t\t\t\t\t\t\t<\/label>\r\n\t\t\t\t\t\t\t\t\t<input type=\"text\" name=\"em_tickets[675][ticket_bookings][%n][attendee][attendee_org]\" id=\"attendee_org\" class=\"input\" value=\"\"  \/>\r\n\t\t\t\t\t\t\t\t<\/p>\r\n\t\t\t\t\t\t\t\t<p class=\"input-group input-text em-input-text input-field-attendee_email\">\r\n\t\t\t\t\t<label for='attendee_email'>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tAttendee Email  <span class=\"em-form-required\">*<\/span>\t\t\t\t\t\t\t\t\t\t\t<\/label>\r\n\t\t\t\t\t\t\t\t\t<input type=\"text\" name=\"em_tickets[675][ticket_bookings][%n][attendee][attendee_email]\" id=\"attendee_email\" class=\"input\" value=\"\"  \/>\r\n\t\t\t\t\t\t\t\t<\/p>\r\n\t\t\t\t\t\t\t\t<p class=\"input-group input-text em-input-text input-field-attendee_meal_preference\">\r\n\t\t\t\t\t<label for='attendee_meal_preference'>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tAttendee Meal Restrictions\/Allergies (if none, enter N\/A))  <span class=\"em-form-required\">*<\/span>\t\t\t\t\t\t\t\t\t\t\t<\/label>\r\n\t\t\t\t\t\t\t\t\t<input type=\"text\" name=\"em_tickets[675][ticket_bookings][%n][attendee][attendee_meal_preference]\" id=\"attendee_meal_preference\" class=\"input\" value=\"\"  \/>\r\n\t\t\t\t\t\t\t\t<\/p>\r\n\t\t\t\t\t\t\t\t<\/div>\r\n\t\t\t\t\t\t\t\t<\/td>\r\n\t\t\t<\/tr>\r\n\t\t<\/tbody>\r\n\t\t\t\t\t\t\t\t\t\t\t\t<tr class=\"em-ticket em-ticket-676\" data-ticket-id=\"676\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<td class=\"em-bookings-ticket-table-type\">Non-Member (Public Sector)<\/td>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<td class=\"em-bookings-ticket-table-price\">$300.00<\/td>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<td class=\"em-bookings-ticket-table-spaces\">\n\t\t\t\t\t\t\t\t\t\t\t<select name=\"em_tickets[676][spaces]\" class=\"em-ticket-select\" id=\"em-ticket-spaces-676\" data-ticket-id=\"676\" aria-label=\"Select number of spaces\">\r\n\t\t\t\t\t\t\t\t<option>0<\/option>\t\t\t\t\t\t\t\t\t<option >1<\/option>\r\n\t\t\t\t\t\t\t\t\t<option >2<\/option>\r\n\t\t\t\t\t\t\t\t\t<option >3<\/option>\r\n\t\t\t\t\t\t\t\t\t<option >4<\/option>\r\n\t\t\t\t\t\t\t\t\t<option >5<\/option>\r\n\t\t\t\t\t\t\t\t\t<option >6<\/option>\r\n\t\t\t\t\t\t\t\t\t<option >7<\/option>\r\n\t\t\t\t\t\t\t\t\t<option >8<\/option>\r\n\t\t\t\t\t\t\t\t\t<option >9<\/option>\r\n\t\t\t\t\t\t\t\t\t<option >10<\/option>\r\n\t\t\t\t\t\t\t\t\t<option >11<\/option>\r\n\t\t\t\t\t\t\t\t\t<option >12<\/option>\r\n\t\t\t\t\t\t\t\t\t<option >13<\/option>\r\n\t\t\t\t\t\t\t\t\t<option >14<\/option>\r\n\t\t\t\t\t\t\t\t\t<option >15<\/option>\r\n\t\t\t\t\t\t\t\t\t<option >16<\/option>\r\n\t\t\t\t\t\t\t\t\t<option >17<\/option>\r\n\t\t\t\t\t\t\t\t\t<option >18<\/option>\r\n\t\t\t\t\t\t\t\t\t<option >19<\/option>\r\n\t\t\t\t\t\t\t\t\t<option >20<\/option>\r\n\t\t\t\t\t\t\t\t\t\t\t<\/select>\r\n\t\t\t\t\t\t\t\t\t\t<\/td>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/tr>\n\t\t\t\t\t<tbody>\r\n\t\t\t<tr>\r\n\t\t\t\t<td colspan=\"3\" class=\"em-ticket-bookings em-ticket-bookings-676 hidden\" data-ticket-id=\"676\">\r\n\t\t\t\t\t\t\t\t\t<div class=\"em-ticket-booking em-ticket-booking-template\" style=\"display:none;\" data-ticket-id=\"676\">\r\n\t\t\t\t\t\t\t\t\t<p class=\"input-group input-text em-input-text input-field-attendee_name\">\r\n\t\t\t\t\t<label for='attendee_name'>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tAttendee Name  <span class=\"em-form-required\">*<\/span>\t\t\t\t\t\t\t\t\t\t\t<\/label>\r\n\t\t\t\t\t\t\t\t\t<input type=\"text\" name=\"em_tickets[676][ticket_bookings][%n][attendee][attendee_name]\" id=\"attendee_name\" class=\"input\" value=\"\"  \/>\r\n\t\t\t\t\t\t\t\t<\/p>\r\n\t\t\t\t\t\t\t\t<p class=\"input-group input-text em-input-text input-field-attendee_org\">\r\n\t\t\t\t\t<label for='attendee_org'>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tAttendee Organization  <span class=\"em-form-required\">*<\/span>\t\t\t\t\t\t\t\t\t\t\t<\/label>\r\n\t\t\t\t\t\t\t\t\t<input type=\"text\" name=\"em_tickets[676][ticket_bookings][%n][attendee][attendee_org]\" id=\"attendee_org\" class=\"input\" value=\"\"  \/>\r\n\t\t\t\t\t\t\t\t<\/p>\r\n\t\t\t\t\t\t\t\t<p class=\"input-group input-text em-input-text input-field-attendee_email\">\r\n\t\t\t\t\t<label for='attendee_email'>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tAttendee Email  <span class=\"em-form-required\">*<\/span>\t\t\t\t\t\t\t\t\t\t\t<\/label>\r\n\t\t\t\t\t\t\t\t\t<input type=\"text\" name=\"em_tickets[676][ticket_bookings][%n][attendee][attendee_email]\" id=\"attendee_email\" class=\"input\" value=\"\"  \/>\r\n\t\t\t\t\t\t\t\t<\/p>\r\n\t\t\t\t\t\t\t\t<p class=\"input-group input-text em-input-text input-field-attendee_meal_preference\">\r\n\t\t\t\t\t<label for='attendee_meal_preference'>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tAttendee Meal Restrictions\/Allergies (if none, enter N\/A))  <span class=\"em-form-required\">*<\/span>\t\t\t\t\t\t\t\t\t\t\t<\/label>\r\n\t\t\t\t\t\t\t\t\t<input type=\"text\" name=\"em_tickets[676][ticket_bookings][%n][attendee][attendee_meal_preference]\" id=\"attendee_meal_preference\" class=\"input\" value=\"\"  \/>\r\n\t\t\t\t\t\t\t\t<\/p>\r\n\t\t\t\t\t\t\t\t<\/div>\r\n\t\t\t\t\t\t\t\t<\/td>\r\n\t\t\t<\/tr>\r\n\t\t<\/tbody>\r\n\t\t\t\t\t\t\t\t\t\t\t\t<tr class=\"em-ticket em-ticket-677\" data-ticket-id=\"677\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<td class=\"em-bookings-ticket-table-type\">Member (Private Sector)<\/td>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<td class=\"em-bookings-ticket-table-price\">$250.00<\/td>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<td class=\"em-bookings-ticket-table-spaces\">\n\t\t\t\t\t\t\t\t\t\t\t<select name=\"em_tickets[677][spaces]\" class=\"em-ticket-select\" id=\"em-ticket-spaces-677\" data-ticket-id=\"677\" aria-label=\"Select number of spaces\">\r\n\t\t\t\t\t\t\t\t<option>0<\/option>\t\t\t\t\t\t\t\t\t<option >1<\/option>\r\n\t\t\t\t\t\t\t\t\t<option >2<\/option>\r\n\t\t\t\t\t\t\t\t\t<option >3<\/option>\r\n\t\t\t\t\t\t\t\t\t<option >4<\/option>\r\n\t\t\t\t\t\t\t\t\t<option >5<\/option>\r\n\t\t\t\t\t\t\t\t\t<option >6<\/option>\r\n\t\t\t\t\t\t\t\t\t<option >7<\/option>\r\n\t\t\t\t\t\t\t\t\t<option >8<\/option>\r\n\t\t\t\t\t\t\t\t\t<option >9<\/option>\r\n\t\t\t\t\t\t\t\t\t<option >10<\/option>\r\n\t\t\t\t\t\t\t\t\t<option >11<\/option>\r\n\t\t\t\t\t\t\t\t\t<option >12<\/option>\r\n\t\t\t\t\t\t\t\t\t<option >13<\/option>\r\n\t\t\t\t\t\t\t\t\t<option >14<\/option>\r\n\t\t\t\t\t\t\t\t\t<option >15<\/option>\r\n\t\t\t\t\t\t\t\t\t<option >16<\/option>\r\n\t\t\t\t\t\t\t\t\t<option >17<\/option>\r\n\t\t\t\t\t\t\t\t\t<option >18<\/option>\r\n\t\t\t\t\t\t\t\t\t<option >19<\/option>\r\n\t\t\t\t\t\t\t\t\t<option >20<\/option>\r\n\t\t\t\t\t\t\t\t\t\t\t<\/select>\r\n\t\t\t\t\t\t\t\t\t\t<\/td>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/tr>\n\t\t\t\t\t<tbody>\r\n\t\t\t<tr>\r\n\t\t\t\t<td colspan=\"3\" class=\"em-ticket-bookings em-ticket-bookings-677 hidden\" data-ticket-id=\"677\">\r\n\t\t\t\t\t\t\t\t\t<div class=\"em-ticket-booking em-ticket-booking-template\" style=\"display:none;\" data-ticket-id=\"677\">\r\n\t\t\t\t\t\t\t\t\t<p class=\"input-group input-text em-input-text input-field-attendee_name\">\r\n\t\t\t\t\t<label for='attendee_name'>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tAttendee Name  <span class=\"em-form-required\">*<\/span>\t\t\t\t\t\t\t\t\t\t\t<\/label>\r\n\t\t\t\t\t\t\t\t\t<input type=\"text\" name=\"em_tickets[677][ticket_bookings][%n][attendee][attendee_name]\" id=\"attendee_name\" class=\"input\" value=\"\"  \/>\r\n\t\t\t\t\t\t\t\t<\/p>\r\n\t\t\t\t\t\t\t\t<p class=\"input-group input-text em-input-text input-field-attendee_org\">\r\n\t\t\t\t\t<label for='attendee_org'>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tAttendee Organization  <span class=\"em-form-required\">*<\/span>\t\t\t\t\t\t\t\t\t\t\t<\/label>\r\n\t\t\t\t\t\t\t\t\t<input type=\"text\" name=\"em_tickets[677][ticket_bookings][%n][attendee][attendee_org]\" id=\"attendee_org\" class=\"input\" value=\"\"  \/>\r\n\t\t\t\t\t\t\t\t<\/p>\r\n\t\t\t\t\t\t\t\t<p class=\"input-group input-text em-input-text input-field-attendee_email\">\r\n\t\t\t\t\t<label for='attendee_email'>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tAttendee Email  <span class=\"em-form-required\">*<\/span>\t\t\t\t\t\t\t\t\t\t\t<\/label>\r\n\t\t\t\t\t\t\t\t\t<input type=\"text\" name=\"em_tickets[677][ticket_bookings][%n][attendee][attendee_email]\" id=\"attendee_email\" class=\"input\" value=\"\"  \/>\r\n\t\t\t\t\t\t\t\t<\/p>\r\n\t\t\t\t\t\t\t\t<p class=\"input-group input-text em-input-text input-field-attendee_meal_preference\">\r\n\t\t\t\t\t<label for='attendee_meal_preference'>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tAttendee Meal Restrictions\/Allergies (if none, enter N\/A))  <span class=\"em-form-required\">*<\/span>\t\t\t\t\t\t\t\t\t\t\t<\/label>\r\n\t\t\t\t\t\t\t\t\t<input type=\"text\" name=\"em_tickets[677][ticket_bookings][%n][attendee][attendee_meal_preference]\" id=\"attendee_meal_preference\" class=\"input\" value=\"\"  \/>\r\n\t\t\t\t\t\t\t\t<\/p>\r\n\t\t\t\t\t\t\t\t<\/div>\r\n\t\t\t\t\t\t\t\t<\/td>\r\n\t\t\t<\/tr>\r\n\t\t<\/tbody>\r\n\t\t\t\t\t\t\t\t\t\t\t\t<tr class=\"em-ticket em-ticket-678\" data-ticket-id=\"678\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<td class=\"em-bookings-ticket-table-type\">Member (Public Sector)<\/td>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<td class=\"em-bookings-ticket-table-price\">$225.00<\/td>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<td class=\"em-bookings-ticket-table-spaces\">\n\t\t\t\t\t\t\t\t\t\t\t<select name=\"em_tickets[678][spaces]\" class=\"em-ticket-select\" id=\"em-ticket-spaces-678\" data-ticket-id=\"678\" aria-label=\"Select number of spaces\">\r\n\t\t\t\t\t\t\t\t<option>0<\/option>\t\t\t\t\t\t\t\t\t<option >1<\/option>\r\n\t\t\t\t\t\t\t\t\t<option >2<\/option>\r\n\t\t\t\t\t\t\t\t\t<option >3<\/option>\r\n\t\t\t\t\t\t\t\t\t<option >4<\/option>\r\n\t\t\t\t\t\t\t\t\t<option >5<\/option>\r\n\t\t\t\t\t\t\t\t\t<option >6<\/option>\r\n\t\t\t\t\t\t\t\t\t<option >7<\/option>\r\n\t\t\t\t\t\t\t\t\t<option >8<\/option>\r\n\t\t\t\t\t\t\t\t\t<option >9<\/option>\r\n\t\t\t\t\t\t\t\t\t<option >10<\/option>\r\n\t\t\t\t\t\t\t\t\t<option >11<\/option>\r\n\t\t\t\t\t\t\t\t\t<option >12<\/option>\r\n\t\t\t\t\t\t\t\t\t<option >13<\/option>\r\n\t\t\t\t\t\t\t\t\t<option >14<\/option>\r\n\t\t\t\t\t\t\t\t\t<option >15<\/option>\r\n\t\t\t\t\t\t\t\t\t<option >16<\/option>\r\n\t\t\t\t\t\t\t\t\t<option >17<\/option>\r\n\t\t\t\t\t\t\t\t\t<option >18<\/option>\r\n\t\t\t\t\t\t\t\t\t<option >19<\/option>\r\n\t\t\t\t\t\t\t\t\t<option >20<\/option>\r\n\t\t\t\t\t\t\t\t\t\t\t<\/select>\r\n\t\t\t\t\t\t\t\t\t\t<\/td>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/tr>\n\t\t\t\t\t<tbody>\r\n\t\t\t<tr>\r\n\t\t\t\t<td colspan=\"3\" class=\"em-ticket-bookings em-ticket-bookings-678 hidden\" data-ticket-id=\"678\">\r\n\t\t\t\t\t\t\t\t\t<div class=\"em-ticket-booking em-ticket-booking-template\" style=\"display:none;\" data-ticket-id=\"678\">\r\n\t\t\t\t\t\t\t\t\t<p class=\"input-group input-text em-input-text input-field-attendee_name\">\r\n\t\t\t\t\t<label for='attendee_name'>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tAttendee Name  <span class=\"em-form-required\">*<\/span>\t\t\t\t\t\t\t\t\t\t\t<\/label>\r\n\t\t\t\t\t\t\t\t\t<input type=\"text\" name=\"em_tickets[678][ticket_bookings][%n][attendee][attendee_name]\" id=\"attendee_name\" class=\"input\" value=\"\"  \/>\r\n\t\t\t\t\t\t\t\t<\/p>\r\n\t\t\t\t\t\t\t\t<p class=\"input-group input-text em-input-text input-field-attendee_org\">\r\n\t\t\t\t\t<label for='attendee_org'>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tAttendee Organization  <span class=\"em-form-required\">*<\/span>\t\t\t\t\t\t\t\t\t\t\t<\/label>\r\n\t\t\t\t\t\t\t\t\t<input type=\"text\" name=\"em_tickets[678][ticket_bookings][%n][attendee][attendee_org]\" id=\"attendee_org\" class=\"input\" value=\"\"  \/>\r\n\t\t\t\t\t\t\t\t<\/p>\r\n\t\t\t\t\t\t\t\t<p class=\"input-group input-text em-input-text input-field-attendee_email\">\r\n\t\t\t\t\t<label for='attendee_email'>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tAttendee Email  <span class=\"em-form-required\">*<\/span>\t\t\t\t\t\t\t\t\t\t\t<\/label>\r\n\t\t\t\t\t\t\t\t\t<input type=\"text\" name=\"em_tickets[678][ticket_bookings][%n][attendee][attendee_email]\" id=\"attendee_email\" class=\"input\" value=\"\"  \/>\r\n\t\t\t\t\t\t\t\t<\/p>\r\n\t\t\t\t\t\t\t\t<p class=\"input-group input-text em-input-text input-field-attendee_meal_preference\">\r\n\t\t\t\t\t<label for='attendee_meal_preference'>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tAttendee Meal Restrictions\/Allergies (if none, enter N\/A))  <span class=\"em-form-required\">*<\/span>\t\t\t\t\t\t\t\t\t\t\t<\/label>\r\n\t\t\t\t\t\t\t\t\t<input type=\"text\" name=\"em_tickets[678][ticket_bookings][%n][attendee][attendee_meal_preference]\" id=\"attendee_meal_preference\" class=\"input\" value=\"\"  \/>\r\n\t\t\t\t\t\t\t\t<\/p>\r\n\t\t\t\t\t\t\t\t<\/div>\r\n\t\t\t\t\t\t\t\t<\/td>\r\n\t\t\t<\/tr>\r\n\t\t<\/tbody>\r\n\t\t\t\t\t\t\t\t\t\t\t\t<tr class=\"em-ticket em-ticket-679\" data-ticket-id=\"679\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<td class=\"em-bookings-ticket-table-type\">Member (Student)<\/td>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<td class=\"em-bookings-ticket-table-price\">$150.00<\/td>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<td class=\"em-bookings-ticket-table-spaces\">\n\t\t\t\t\t\t\t\t\t\t\t<select name=\"em_tickets[679][spaces]\" class=\"em-ticket-select\" id=\"em-ticket-spaces-679\" data-ticket-id=\"679\" aria-label=\"Select number of spaces\">\r\n\t\t\t\t\t\t\t\t<option>0<\/option>\t\t\t\t\t\t\t\t\t<option >1<\/option>\r\n\t\t\t\t\t\t\t\t\t<option >2<\/option>\r\n\t\t\t\t\t\t\t\t\t<option >3<\/option>\r\n\t\t\t\t\t\t\t\t\t<option >4<\/option>\r\n\t\t\t\t\t\t\t\t\t<option >5<\/option>\r\n\t\t\t\t\t\t\t\t\t<option >6<\/option>\r\n\t\t\t\t\t\t\t\t\t<option >7<\/option>\r\n\t\t\t\t\t\t\t\t\t<option >8<\/option>\r\n\t\t\t\t\t\t\t\t\t<option >9<\/option>\r\n\t\t\t\t\t\t\t\t\t<option >10<\/option>\r\n\t\t\t\t\t\t\t\t\t<option >11<\/option>\r\n\t\t\t\t\t\t\t\t\t<option >12<\/option>\r\n\t\t\t\t\t\t\t\t\t<option >13<\/option>\r\n\t\t\t\t\t\t\t\t\t<option >14<\/option>\r\n\t\t\t\t\t\t\t\t\t<option >15<\/option>\r\n\t\t\t\t\t\t\t\t\t<option >16<\/option>\r\n\t\t\t\t\t\t\t\t\t<option >17<\/option>\r\n\t\t\t\t\t\t\t\t\t<option >18<\/option>\r\n\t\t\t\t\t\t\t\t\t<option >19<\/option>\r\n\t\t\t\t\t\t\t\t\t<option >20<\/option>\r\n\t\t\t\t\t\t\t\t\t\t\t<\/select>\r\n\t\t\t\t\t\t\t\t\t\t<\/td>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/tr>\n\t\t\t\t\t<tbody>\r\n\t\t\t<tr>\r\n\t\t\t\t<td colspan=\"3\" class=\"em-ticket-bookings em-ticket-bookings-679 hidden\" data-ticket-id=\"679\">\r\n\t\t\t\t\t\t\t\t\t<div class=\"em-ticket-booking em-ticket-booking-template\" style=\"display:none;\" data-ticket-id=\"679\">\r\n\t\t\t\t\t\t\t\t\t<p class=\"input-group input-text em-input-text input-field-attendee_name\">\r\n\t\t\t\t\t<label for='attendee_name'>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tAttendee Name  <span class=\"em-form-required\">*<\/span>\t\t\t\t\t\t\t\t\t\t\t<\/label>\r\n\t\t\t\t\t\t\t\t\t<input type=\"text\" name=\"em_tickets[679][ticket_bookings][%n][attendee][attendee_name]\" id=\"attendee_name\" class=\"input\" value=\"\"  \/>\r\n\t\t\t\t\t\t\t\t<\/p>\r\n\t\t\t\t\t\t\t\t<p class=\"input-group input-text em-input-text input-field-attendee_org\">\r\n\t\t\t\t\t<label for='attendee_org'>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tAttendee Organization  <span class=\"em-form-required\">*<\/span>\t\t\t\t\t\t\t\t\t\t\t<\/label>\r\n\t\t\t\t\t\t\t\t\t<input type=\"text\" name=\"em_tickets[679][ticket_bookings][%n][attendee][attendee_org]\" id=\"attendee_org\" class=\"input\" value=\"\"  \/>\r\n\t\t\t\t\t\t\t\t<\/p>\r\n\t\t\t\t\t\t\t\t<p class=\"input-group input-text em-input-text input-field-attendee_email\">\r\n\t\t\t\t\t<label for='attendee_email'>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tAttendee Email  <span class=\"em-form-required\">*<\/span>\t\t\t\t\t\t\t\t\t\t\t<\/label>\r\n\t\t\t\t\t\t\t\t\t<input type=\"text\" name=\"em_tickets[679][ticket_bookings][%n][attendee][attendee_email]\" id=\"attendee_email\" class=\"input\" value=\"\"  \/>\r\n\t\t\t\t\t\t\t\t<\/p>\r\n\t\t\t\t\t\t\t\t<p class=\"input-group input-text em-input-text input-field-attendee_meal_preference\">\r\n\t\t\t\t\t<label for='attendee_meal_preference'>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tAttendee Meal Restrictions\/Allergies (if none, enter N\/A))  <span class=\"em-form-required\">*<\/span>\t\t\t\t\t\t\t\t\t\t\t<\/label>\r\n\t\t\t\t\t\t\t\t\t<input type=\"text\" name=\"em_tickets[679][ticket_bookings][%n][attendee][attendee_meal_preference]\" id=\"attendee_meal_preference\" class=\"input\" value=\"\"  \/>\r\n\t\t\t\t\t\t\t\t<\/p>\r\n\t\t\t\t\t\t\t\t<\/div>\r\n\t\t\t\t\t\t\t\t<\/td>\r\n\t\t\t<\/tr>\r\n\t\t<\/tbody>\r\n\t\t\t\t\t<\/table>\t\t\t\t\t<\/div>\n\t\t\t\t<\/section>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<section class=\"em-booking-form-section-details\" id=\"em-booking-form-section-details-246\">\n\t\t\t\t\t\t\t\t\t\t\t\t<h3 class=\"em-booking-section-title em-booking-form-details-title\">Registration Information<\/h3>\n\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"em-booking-form-details em-booking-section\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"em-login-trigger\">\n\t\t\t\t\t\t\t\tDo you already have an account with us? <a href=\"#\">Sign In<\/a>\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<p class=\"input-name input-user-field\">\r\n\t\t\t\t\t\t\t\t<label for='user_name'>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tName  <span class=\"em-form-required\">*<\/span>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/label>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<input type=\"text\" name=\"user_name\" id=\"user_name\" class=\"input\" value=\"\"  \/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/p>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<p class=\"input-user_email input-user-field\">\r\n\t\t\t\t\t\t\t\t<label for='user_email'>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tEmail  <span class=\"em-form-required\">*<\/span>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/label>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<input type=\"text\" name=\"user_email\" id=\"user_email\" class=\"input\" value=\"\"  \/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/p>\r\n\t\t\t\t\t\t\t\t\t\t\t<p class=\"input-group input-text em-input-text input-field-dbem_phone\">\r\n\t\t\t\t\t<label for='dbem_phone'>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMobile Phone  <span class=\"em-form-required\">*<\/span>\t\t\t\t\t\t\t\t\t\t\t<\/label>\r\n\t\t\t\t\t\t\t\t\t<input type=\"text\" name=\"dbem_phone\" id=\"dbem_phone\" class=\"input\" value=\"\"  \/>\r\n\t\t\t\t\t\t\t\t<\/p>\r\n\t\t\t\t\t\t\t\t<p class=\"input-group input-text em-input-text input-field-asce_member_number\">\r\n\t\t\t\t\t<label for='asce_member_number'>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tASCE Member Number \t\t\t\t\t\t\t\t\t\t\t<\/label>\r\n\t\t\t\t\t\t\t\t\t<input type=\"text\" name=\"asce_member_number\" id=\"asce_member_number\" class=\"input\" value=\"\"  \/>\r\n\t\t\t\t\t\t\t\t<\/p>\r\n\t\t\t\t\t\t<p class=\"input-group input-checkbox em-consent-checkbox input-field-data_privacy_consent\">\n\t\t\t<label>\n\t\t\t\t<input type=\"checkbox\" name=\"data_privacy_consent\" value=\"1\" >\n\t\t\t\tI consent to my submitted data being collected and stored as outlined by the site.\t\t\t<\/label>\n\t\t<\/p>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/section>\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t<section class=\"em-booking-form-section-summary\" id=\"em-booking-form-section-summary-246\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<h3 class=\"em-booking-section-title em-booking-form-summary-title\">Booking Summary<\/h3>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"em-booking-form-summary em-booking-section no-booking\">\n\t\t\t\t\t\t\t\t<div class=\"em-booking-summary \" id=\"em-booking-summary-246\"\n     data-amount=\"0\"\n     data-amount-formatted=\"$0.00\"\n     data-tax-itemized=\"0\"\n     data-amount-base=\"0\"\n     data-currency=\"USD\"\n     data-spaces=\"0\"\n     data-uuid=\"fe11469a6681424385472fd61c58f0a8\"\n\t>\n\t\t\t\t\t\tPlease select at least one space to proceed with your booking.\t\t\t\t<\/div>\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\n<template class=\"em-booking-summary-skeleton\" id=\"em-booking-summary-skeleton-246\">\n\t<div class=\"em-booking-summary skeleton\">\n\t\t\t\t<div class=\"em-bs-section em-bs-section-items\">\n\t\t\t<div class=\"em-bs-row em-bs-row-item\">\n\t\t\t\t<div class=\"em-bs-cell-qty item text\" title=\"Quantity\"><\/div>\n\t\t\t\t<div class=\"em-bs-cell-desc item text\" title=\"Ticket\"><\/div>\n\t\t\t\t<div class=\"em-bs-cell-price item text\" title=\"Price\"><\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\t\n\t\t\t\t\n\t\t\t\t<div class=\"em-bs-section em-bs-section-total\">\n\t\t\t<div class=\"em-bs-row em-bs-row-total\">\n\t\t\t\t<div class=\"em-bs-cell-desc item text\"><\/div>\n\t\t\t\t<div class=\"em-bs-cell-price item text\"><\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t<\/div>\n<\/template>\t\t\t<div class=\"em-booking-form-section-coupons em-booking-section hidden\">\r\n\t\t\t\t<div class=\"input-type em-bookings-form-coupon\">\r\n\t\t\t\t\t<label for=\"em-coupont-code-246\">Coupon Code<\/label>\r\n\t\t\t\t\t<div class=\"em-coupon-code-fields\">\r\n\t\t\t\t\t\t<div class=\"em-coupon-code-wrap input-wrap\">\r\n\t\t\t\t\t\t\t<input type=\"text\" name=\"coupon_code\" class=\"input em-coupon-code\" id=\"em-coupont-code-246\">\r\n\t\t\t\t\t\t<\/div>\r\n\t\t\t\t\t\t<button type=\"button\" class=\"em-coupon-code-button\" data-text-apply=\"Apply\" data-text-remove=\"Remove\">\r\n\t\t\t\t\t\t\tApply\t\t\t\t\t\t<\/button>\r\n\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t<\/div>\r\n\t\t\t\t\t\t\t\t\t<\/section>\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<section class=\"em-booking-form-section-confirm\" id=\"em-booking-form-section-confirm-246\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"em-booking-section em-booking-gateway em-payment-gateways hidden\" id=\"em-payment-gateways-246\" data-id=\"246\">\r\n\t\t\t\t<input type=\"hidden\" name=\"gateway\" value=\"stripe_elements\" data-intercept=\"1\" data-loader=\"1\" data-custom-button=\"0\" data-redirect=\"0\" data-redirect-success=\"1\" data-redirect-cancel=\"0\" data-test-mode=\"1\" class=\"em-payment-gateway em-payment-gateway-option\" ><div class=\"em-payment-gateway-form em-payment-gateway-form-stripe_elements\" id=\"em-payment-gateway-stripe_elements-246\"><div class=\"em-payment-gateway-form-info\"><div class=\"em-notice em-notice-info\">This gateway is currently in Test Mode, only test payment methods can be used.<\/div><\/div><div class=\"em-payment-gateway-form-data  hidden\">\t\t<div class=\"em-stripe-elements-ready\">\r\n\t\t\t\t\t\t<div class=\"em-stripe-elements-form\">\r\n\t\t\t\t<!--Stripe.js injects the Payment Element-->\r\n\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\t<\/div><div class=\"em-payment-gateway-form-loading\">\t\t<div class=\"skeleton\">\r\n\t\t\t<p>\r\n\t\t\t\t<div class=\"item label\"><\/div>\r\n\t\t\t\t<div class=\"item input-line\"><\/div>\r\n\t\t\t<\/p>\r\n\t\t<\/div>\r\n\t\t<\/div><\/div>\t\t\t<\/div>\r\n\t\t\t\t\t<script type=\"text\/javascript\">\r\n\t\t\tEM.Gateways = {\"Stripe\":{\"public_key_test\":\"pk_test_51T7dHMLTfWG3AZbiRNww4ewlpeOgWGP639I0UaSSC2CHut67G33J65DjjZY8ccULlP8O1GSroz2VTCcKJAxUXELx00MPXcXsMu\",\"public_key\":\"pk_test_51T7dHMLTfWG3AZbiRNww4ewlpeOgWGP639I0UaSSC2CHut67G33J65DjjZY8ccULlP8O1GSroz2VTCcKJAxUXELx00MPXcXsMu\",\"intent_api\":{\"url\":\"https:\\\/\\\/asce-staging.org\\\/cais\\\/wp-json\\\/events-manager\\\/v1\\\/gateways\\\/stripe_elements\\\/intent\",\"wpnonce\":\"7b0a068abf\",\"nonce\":\"543c2c5cb8\",\"theme\":\"stripe\",\"layout\":\"tabs\"},\"js\":false}};{\n\tconst initStripeElements =  function( booking_form, gateway ) {\n\n\t\t\/\/ determine if this gateway is in test mode or not, load relevant key if so\n\t\tlet stripe_key;\n\t\tif ( gateway.getAttribute('data-test-mode') === '1' ) {\n\t\t\tstripe_key = EM.Gateways.Stripe.public_key_test;\n\t\t} else {\n\t\t\tstripe_key = EM.Gateways.Stripe.public_key;\n\t\t}\n\t\tconst stripe = Stripe(stripe_key);\n\t\tlet elements;\n\t\tlet elements_intent = {};\n\t\tlet elements_status = false;\n\n\t\tbooking_form.addEventListener(\"em_gateway_payment_stripe_elements\", async function( e ){\n\t\t\t\/\/ skip if there's an error\n\t\t\tlet result = e.detail.result;\n\t\t\tif( 'stripe' in result ) {\n\t\t\t\t\/\/ ensure we have the payload available for next step\n\t\t\t\tlet params = {\n\t\t\t\t\treturn_url: result.stripe.return_url,\n\t\t\t\t};\n\t\t\t\tif( 'receipt_email' in result.stripe ){\n\t\t\t\t\tparams.receipt_email = result.stripe.receipt_email;\n\t\t\t\t}\n\t\t\t\t\/\/ submit if we're good\n\t\t\t\tlet confirmPayment = stripe.confirmPayment({\n\t\t\t\t\telements,\n\t\t\t\t\tconfirmParams: params,\n\t\t\t\t}).then( function( response ){\n\t\t\t\t\tif( 'error' in response ) {\n\t\t\t\t\t\tlet error = response.error;\n\t\t\t\t\t\tresult.success = false;\n\t\t\t\t\t\tif (error.type === \"card_error\" || error.type === \"validation_error\") {\n\t\t\t\t\t\t\tresult.message = error.message;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tresult.message = \"An unexpected error occurred.\";\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tfetch(result.stripe.cancel.url, {\n\t\t\t\t\t\t\t\tmethod: \"POST\",\n\t\t\t\t\t\t\t\theaders: {\n\t\t\t\t\t\t\t\t\t\"Content-Type\": \"application\/json\",\n\t\t\t\t\t\t\t\t\t'X-WP-Nonce': result.stripe.cancel._wpnonce\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tbody: JSON.stringify(result.stripe.cancel.data),\n\t\t\t\t\t\t\t}).then( function ( response ) {\n\t\t\t\t\t\t\t\tif( response.ok ){\n\t\t\t\t\t\t\t\t\treturn response.json();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tconsole.log(\"Received non-OK response when cancelling booking - %o\", response);\n\t\t\t\t\t\t\t\treturn Promise.reject( response );\n\t\t\t\t\t\t\t}).then( function( response ) {\n\t\t\t\t\t\t\t\tif( 'success' in response && response.success && 'message' in response ) {\n\t\t\t\t\t\t\t\t\t\/\/booking cancelled\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t} catch ( error ) {\n\t\t\t\t\t\t\tconsole.log(\"Error cancelling booking : %o\", error);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\te.detail.promises.push( confirmPayment );\n\t\t\t}\n\t\t});\n\n\t\t\/\/ Fetches a payment intent and captures the client secret\n\t\tlet setup_elements = async function( booking_intent ) {\n\t\t\t\/\/ TODO remove direct checks on booking_intent DOM object and revert to abstracted object supplied by gateways.js instead\n\t\t\tif( booking_intent instanceof jQuery ) {\n\t\t\t\tbooking_intent = booking_intent[0].dataset;\n\t\t\t} else if ( 'dataset' in booking_intent && 'value' in booking_intent ) {\n\t\t\t\tbooking_intent = booking_intent.dataset;\n\t\t\t}\n\t\t\tif( booking_intent && booking_intent.uuid && booking_intent.amount > 0 ){\n\t\t\t\tlet payload = {\n\t\t\t\t\tamount : booking_intent.amount,\n\t\t\t\t\tbooking_uuid : booking_intent.uuid,\n\t\t\t\t\tnonce : EM.Gateways.Stripe.intent_api.nonce,\n\t\t\t\t\tevent_id : booking_intent.event_id,\n\t\t\t\t}\n\t\t\t\tif( 'intent_id' in elements_intent ){\n\t\t\t\t\tpayload.intent_id = elements_intent.intent_id;\n\t\t\t\t}\n\t\t\t\tconsole.group('[STRIPE INTENT] API call #' + (window._stripeIntentCount = (window._stripeIntentCount||0)+1) + ' for form: ' + (booking_form.id||'?'));\n\t\t\t\tconsole.log('payload:', JSON.parse(JSON.stringify(payload)));\n\t\t\t\tconsole.trace('Who called setup_elements?');\n\t\t\t\tconsole.groupEnd();\n\t\t\t\treturn await fetch( EM.Gateways.Stripe.intent_api.url, {\n\t\t\t\t\tmethod: \"POST\",\n\t\t\t\t\theaders: {\n\t\t\t\t\t\t\"Content-Type\": \"application\/json\",\n\t\t\t\t\t\t'X-WP-Nonce': EM.Gateways.Stripe.intent_api.wpnonce\n\t\t\t\t\t},\n\t\t\t\t\tbody: JSON.stringify(payload),\n\t\t\t\t}).then( function(response){\n\t\t\t\t\treturn response.json();\n\t\t\t\t}).then( function( intent ){\n\t\t\t\t\tif( 'client_secret' in intent ) {\n\t\t\t\t\t\telements_intent = intent;\n\n\t\t\t\t\t\tif( intent.updated ) {\n\t\t\t\t\t\t\telements.update({ readOnly: false });\n\t\t\t\t\t\t\telements.fetchUpdates();\n\t\t\t\t\t\t\telements_status = true;\n\t\t\t\t\t\t\tbooking_form.querySelector('input[name=\"stripe_payment_intent\"]').value( intent.intent_id );\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\telements = stripe.elements({\n\t\t\t\t\t\t\t\tclientSecret : intent.client_secret,\n\t\t\t\t\t\t\t\tloader : 'always',\n\t\t\t\t\t\t\t\tappearance : { theme : EM.Gateways.Stripe.theme }\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tlet link = booking_form.querySelector('.em-stripe-elements-link-authentication-element');\n\t\t\t\t\t\t\tif( link ){\n\t\t\t\t\t\t\t\tlet elements_link = elements.create(\"linkAuthentication\");\n\t\t\t\t\t\t\t\telements_link.mount( link );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tconst paymentElementOptions = {\n\t\t\t\t\t\t\t\tlayout : EM.Gateways.Stripe.layout,\n\t\t\t\t\t\t\t};\n\n\t\t\t\t\t\t\tconst paymentElement = elements.create(\"payment\", paymentElementOptions);\n\t\t\t\t\t\t\tpaymentElement.mount( booking_form.querySelector('.em-stripe-elements-form') );\n\t\t\t\t\t\t\telements_status = true;\n\n\t\t\t\t\t\t\tconst input = document.createElement(\"input\");\n\t\t\t\t\t\t\tinput.type = 'hidden';\n\t\t\t\t\t\t\tinput.name = 'stripe_payment_intent';\n\t\t\t\t\t\t\tinput.value = intent.intent_id;\n\t\t\t\t\t\t\tinput.classList.add('em-stripe-payment-intent-id');\n\t\t\t\t\t\t\tbooking_form.append(input);\n\n\t\t\t\t\t\t\tbooking_form.dispatchEvent( new CustomEvent('em_gateway_loaded_stripe_elements') );\n\t\t\t\t\t\t\treturn paymentElement;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif( elements ) {\n\t\t\t\t\t\t\telements.clear();\n\t\t\t\t\t\t\telements.update({ readOnly: true });\n\t\t\t\t\t\t}\n\t\t\t\t\t\telements_status = false;\n\t\t\t\t\t\tconsole.log( 'Stripe Error - Could not create or update intent : %o', error);\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t}).catch( function ( error ){\n\t\t\t\t\telements_status = false;\n\t\t\t\t\tconsole.log( 'Stripe Error - %o', error);\n\t\t\t\t\treturn false;\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\t\/\/ check spaces and trigger update if min spaces required already\n\t\tbooking_form.addEventListener('em_gateway_intent_updated_stripe_elements', (e) => setup_elements( e.detail.intent ));\n\n\t\treturn setup_elements( booking_form.querySelector('.em-booking-intent') );\n\t}\n\n\t\/**\n\t * Payment form Stripe buttons\n\t * @type {{}}\n\t *\/\n\tconst StripeForms = {};\n\n\t\/**\n\t * Initialize and register a booking form as initialized for Stripe hosted fields\n\t * @param booking_form\n\t *\/\n\tconst registerStripeForm = function( booking_form, gateway ){\n\t\tif ( !(booking_form.getAttribute('id') in StripeForms) ) {\n\t\t\tStripeForms[booking_form.getAttribute('id')] = initStripeElements(booking_form, gateway);\n\t\t} else {\n\t\t\tbooking_form.dispatchEvent( new CustomEvent('em_gateway_loaded_stripe_advanced') );\n\t\t}\n\t}\n\n\tdocument.addEventListener( 'em_gateway_selected_stripe_elements', function( e ){\n\t\tlet booking_form = e.detail.booking_form;\n\t\tlet gateway = e.detail.gateway;\n\t\tif( EM.Gateways.Stripe.js ) {\n\t\t\tregisterStripeForm( booking_form, gateway );\n\t\t}else{\n\t\t\tdocument.addEventListener('em_stripe_loaded', () => registerStripeForm( booking_form, gateway ), { once : true } );\n\t\t\tlet stripeSDK = document.createElement('script');\n\t\t\tstripeSDK.setAttribute('src', 'https:\/\/js.stripe.com\/v3\/');\n\t\t\tstripeSDK.onload = function () {\n\t\t\t\tlet event = new CustomEvent('em_stripe_loaded');\n\t\t\t\tdocument.dispatchEvent(event);\n\t\t\t};\n\t\t\tdocument.head.appendChild(stripeSDK);\n\t\t\tEM.Gateways.Stripe.js = true;\n\t\t}\n\t});\n}\/\/Select Submission\r\ndocument.addEventListener(\"em_booking_form_init\", function( e ) {\r\n\tlet booking_form = e.target;\r\n\tlet selected_gateway;\r\n\tlet gateway_selectors = '.em-payment-gateways select.em-payment-gateway-options, .em-payment-gateways input[type=\"radio\"].em-payment-gateway-option, input[type=\"hidden\"].em-payment-gateway-option';\r\n\tlet gateway_selectors_selected = '.em-payment-gateways select.em-payment-gateway-options option:checked, .em-payment-gateways input[type=\"radio\"].em-payment-gateway-option:checked, input[type=\"hidden\"].em-payment-gateway-option';\r\n\t\/\/ get currently selected gateway\r\n\tlet selected_gateway_el = booking_form.querySelector( gateway_selectors_selected );\r\n\tif( selected_gateway_el ){\r\n\t\tselected_gateway = selected_gateway_el.value;\r\n\t}\r\n\r\n\t\/\/Button Submission\r\n\tbooking_form.querySelectorAll('input.em-gateway-button').forEach( function( button ){\r\n\t\tbutton.addEventListener(\"click\", function( e ){\r\n\t\t\t\/\/prevents submission in order to append a hidden field and bind to the booking form submission event\r\n\t\t\te.preventDefault();\r\n\t\t\t\/\/get gateway name\r\n\t\t\tlet gateway = e.target.id.replace('em-gateway-button-', '');\r\n\t\t\tbooking_form.querySelectorAll('input[name=gateway]').forEach( input => input.remove() );\r\n\t\t\tlet input = document.createElement('input');\r\n\t\t\tinput.type = 'hidden';\r\n\t\t\tinput.name = 'gateway';\r\n\t\t\tinput.value = gateway;\r\n\t\t\tbooking_form.append(input);\r\n\t\t\tbooking_form.requestSubmit( button );\r\n\t\t\treturn false;\r\n\t\t});\r\n\t});\r\n\r\n\t\/\/ Take over booking submission\r\n\tbooking_form.addEventListener(\"submit\", async function( e ){\r\n\t\tlet booking_intent = booking_form.querySelector('input.em-booking-intent');\r\n\t\tlet gateway = booking_form.querySelector('.em-payment-gateway-option:checked, input[type=\"hidden\"].em-payment-gateway-option');\r\n\t\tif ( booking_intent && gateway ) {\r\n\t\t\tif ( booking_intent.dataset.amount > 0 && gateway.getAttribute('data-intercept') ) {\r\n\t\t\t\t\/\/ we have a paid booking with gateway selection, short-circuit process here entirely\r\n\t\t\t\te.preventDefault();\r\n\t\t\t\te.stopPropagation();\r\n\t\t\t\te.stopImmediatePropagation();\r\n\t\t\t\tlet gateways = booking_form.querySelector('.em-payment-gateways');\r\n\t\t\t\tlet validation = {\r\n\t\t\t\t\tsuccess : true, \/\/ change to false and populate errors\r\n\t\t\t\t\terrors : {}, \/\/ errors to be displayed, with field id as key\r\n\t\t\t\t\tpromises : [],\r\n\t\t\t\t};\r\n\t\t\t\t\/\/ run pre-validation, such as card number discrepencies. If errors added, abort here\r\n\t\t\t\tbooking_form.dispatchEvent( new CustomEvent( 'em_gateway_payment_validate_' + selected_gateway, {\r\n\t\t\t\t\tdetail : validation,\r\n\t\t\t\t\tbubbles : true,\r\n\t\t\t\t\tcancellable : true,\r\n\t\t\t\t}) );\r\n\t\t\t\t\/\/ execute any promises syncronously\r\n\t\t\t\tif ( validation.promises.length > 0 ) {\r\n\t\t\t\t\tawait Promise.all(result.promises);\r\n\t\t\t\t}\r\n\t\t\t\t\/\/ continue if validation worked\r\n\t\t\t\tif ( validation.success ) {\r\n\t\t\t\t\t\/\/ get options to prevent handling successful booking before gateways intervene\r\n\t\t\t\t\tlet options = {\r\n\t\t\t\t\t\tdoFinally : false,\r\n\t\t\t\t\t\tdoSuccess : false,\r\n\t\t\t\t\t};\r\n\t\t\t\t\t\/\/ submit booking, if all good, trigger gateway hook\r\n\t\t\t\t\tem_booking_form_submit( booking_form, options ).then( async function( result ){\r\n\t\t\t\t\t\tif( result.success ){\r\n\t\t\t\t\t\t\t\/\/ create and dispatch custom event\r\n\t\t\t\t\t\t\tlet data = {\r\n\t\t\t\t\t\t\t\tresult : result,\r\n\t\t\t\t\t\t\t\tpromises: [],\r\n\t\t\t\t\t\t\t\tgateways : gateways,\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tlet event = new CustomEvent( 'em_gateway_payment_' + selected_gateway, {\r\n\t\t\t\t\t\t\t\tdetail: data,\r\n\t\t\t\t\t\t\t\tbubbles : true,\r\n\t\t\t\t\t\t\t\tcancellable : true,\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\tbooking_form.dispatchEvent( event );\r\n\t\t\t\t\t\t\t\/\/ execute any promises syncronously\r\n\t\t\t\t\t\t\tif( data.promises.length > 0 ) {\r\n\t\t\t\t\t\t\t\tawait Promise.all(data.promises);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\/\/ check passed object for success or fail errors and handle accordingly\r\n\t\t\t\t\t\t\tem_booking_form_submit_success( booking_form, result, options );\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\/\/ let EM handle errors etc.\r\n\t\t\t\t\t\t\tem_booking_form_submit_success( booking_form, result );\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}).catch( function( error ){\r\n\t\t\t\t\t\t\/\/ do nothing\r\n\t\t\t\t\t\tconsole.log( error )\r\n\t\t\t\t\t}).finally( function(){\r\n\t\t\t\t\t\tem_booking_form_submit_finally( booking_form );\r\n\t\t\t\t\t});\r\n\t\t\t\t} else if( Object.keys( validation.errors ).length > 0 ) {\r\n\t\t\t\t\tem_booking_form_add_error( booking_form, validation.errors );\r\n\t\t\t\t\tem_booking_form_hide_spinner( booking_form );\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t});\r\n\r\n\t\/\/ trigger gateway event when selected\r\n\tbooking_form.addEventListener(\"change\", function( e ){\r\n\t\tif ( e.target.matches(gateway_selectors) ){\r\n\t\t\tlet gateway;\r\n\t\t\tif( e.target instanceof HTMLSelectElement ) {\r\n\t\t\t\tgateway = e.target.options[ e.target.selectedIndex ];\r\n\t\t\t} else {\r\n\t\t\t\tgateway = e.target;\r\n\t\t\t}\r\n\t\t\tselected_gateway = gateway.value;\r\n\t\t\tselected_gateway_el = gateway;\r\n\t\t\tlet gateways = gateway.closest('.em-payment-gateways');\r\n\t\t\tif( gateways ){\r\n\t\t\t\t\/\/ hide regular button if necessary\r\n\t\t\t\tif( gateway.getAttribute('data-custom-button') === \"1\" || gateway.getAttribute('data-custom-button') === 1 ){\r\n\t\t\t\t\tem_booking_form_disable_button( booking_form, true );\r\n\t\t\t\t}else{\r\n\t\t\t\t\tem_booking_form_enable_button( booking_form, true );\r\n\t\t\t\t}\r\n\t\t\t\t\/\/ remove lazy load when loaded\r\n\t\t\t\tbooking_form.addEventListener( 'em_gateway_loaded_' + selected_gateway, function(){\r\n\t\t\t\t\tgateways.querySelectorAll('.em-payment-gateway-form-' + selected_gateway + ' .em-payment-gateway-form-loading').forEach( loader => loader.classList.add('hidden') );\r\n\t\t\t\t\tgateways.querySelectorAll('.em-payment-gateway-form-' + selected_gateway + ' .em-payment-gateway-form-data').forEach( loader => loader.classList.remove('hidden') );\r\n\t\t\t\t}, {once: true});\r\n\t\t\t\t\/\/ trigger event for loading\r\n\t\t\t\tlet event = new CustomEvent( 'em_gateway_selected_' + selected_gateway, {\r\n\t\t\t\t\tdetail: {\r\n\t\t\t\t\t\tgateway : gateway,\r\n\t\t\t\t\t\tbooking_form : booking_form,\r\n\t\t\t\t\t},\r\n\t\t\t\t\tbubbles : true,\r\n\t\t\t\t\tcancellable : true,\r\n\t\t\t\t});\r\n\t\t\t\tbooking_form.dispatchEvent( event );\r\n\t\t\t\t\/\/ show section\r\n\t\t\t\tgateways.querySelectorAll('.em-payment-gateway-form').forEach( button => button.classList.add('hidden') );\r\n\t\t\t\tgateways.querySelectorAll('.em-payment-gateway-form-' + selected_gateway).forEach( button => button.classList.remove('hidden') );\r\n\t\t\t\t\/\/ mark as initialized\r\n\t\t\t\tselected_gateway_el.setAttribute('data-initialized', '1');\r\n\t\t\t}\r\n\t\t}\r\n\t});\r\n\r\n\t\/\/ remove lazy load when loaded\r\n\tbooking_form.addEventListener( 'em_gateway_loaded', function( e ){\r\n\t\tlet gateway = e.detail.gateway;\r\n\t\tbooking_form.querySelectorAll('.em-payment-gateway-form-' + gateway + ' .em-payment-gateway-form-loading').forEach( loader => loader.classList.add('hidden') );\r\n\t\tbooking_form.querySelectorAll('.em-payment-gateway-form-' + gateway + ' .em-payment-gateway-form-data').forEach( loader => loader.classList.remove('hidden') );\r\n\t});\r\n\r\n\t\/\/ catch price change detection, showing gateway selection if free\r\n\tbooking_form.addEventListener(\"em_booking_intent_updated\", function( e ){\r\n\t\tlet intent = e.detail.intent;\r\n\t\tif ( intent && intent.spaces > 0 ) {\r\n\t\t\t\/\/ there is an intent\r\n\t\t\tif ( intent.amount > 0 ) {\r\n\t\t\t\tbooking_form.querySelectorAll('.em-payment-gateways').forEach( gateways => gateways.classList.remove('hidden') );\r\n\t\t\t\tbooking_form.querySelectorAll('div.em-gateway-buttons').forEach( buttons => buttons.classList.remove('hidden') );\r\n\t\t\t\t\/\/ dispath events for selected gateway\r\n\t\t\t\tlet detail = {\r\n\t\t\t\t\tform : booking_form,\r\n\t\t\t\t\tgateway : selected_gateway,\r\n\t\t\t\t\tintent : intent,\r\n\t\t\t\t\ttype : 'booking',\r\n\t\t\t\t};\r\n\t\t\t\t\/\/ fire general event\r\n\t\t\t\tlet general_event = new CustomEvent( 'em_gateway_intent_updated', {\r\n\t\t\t\t\tdetail: detail,\r\n\t\t\t\t\tbubbles : true,\r\n\t\t\t\t\tcancellable : true,\r\n\t\t\t\t});\r\n\t\t\t\t\/\/ hide and disable regular button if necessary\r\n\t\t\t\tif( selected_gateway_el ) {\r\n\t\t\t\t\tif (selected_gateway_el.getAttribute('data-custom-button') === \"1\" || selected_gateway_el.getAttribute('data-custom-button') === 1) {\r\n\t\t\t\t\t\tem_booking_form_disable_button( booking_form, true );\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tem_booking_form_enable_button( booking_form, true );\r\n\t\t\t\t\t}\r\n\t\t\t\t\tbooking_form.dispatchEvent( general_event );\r\n\t\t\t\t\tlet event = new CustomEvent( 'em_gateway_intent_updated_' + selected_gateway, {\r\n\t\t\t\t\t\tdetail: detail,\r\n\t\t\t\t\t\tbubbles : true,\r\n\t\t\t\t\t\tcancellable : true,\r\n\t\t\t\t\t});\r\n\t\t\t\t\tbooking_form.dispatchEvent( event );\r\n\t\t\t\t\t\/\/ make sure gateway is initialized first time\r\n\t\t\t\t\tif ( selected_gateway_el.getAttribute('data-initialized') !== '1' ) {\r\n\t\t\t\t\t\tbooking_form.querySelector(gateway_selectors).dispatchEvent( new Event('change', { bubbles: true, cancelable: true }) );\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\t\/\/ it's a free booking\r\n\t\t\t\tbooking_form.querySelectorAll('.em-payment-gateways').forEach( gateways => gateways.classList.add('hidden') );\r\n\t\t\t\tbooking_form.querySelectorAll('div.em-gateway-buttons').forEach( buttons => buttons.classList.add('hidden') );\r\n\t\t\t\tem_booking_form_enable_button( booking_form, true );\r\n\t\t\t}\r\n\t\t}\r\n\t});\r\n\r\n});\t\t<\/script>\r\n\t\t\t\t\t\t\t\t<div class=\"em-booking-section em-booking-form-buttons em-booking-buttons\">\n\t\t\t\t\t\t<input type=\"submit\" class=\"em-form-submit em-booking-submit em-button em-button-1\" value=\"Submit Booking\"\n\t\t       data-text-free=\"Submit Booking\"\n\t\t       data-text-payment=\"Submit Booking\"\n\t\t       data-text-processing=\"Processing ...\">\n\t\t<\/div>\n\t\t\t\t\t<\/section>\n\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t<\/form>  \n\t\t\t\t<\/div>\r\n<\/section>\r\n\t<\/div>\r\n<\/div>\r\n\t","protected":false},"excerpt":{"rendered":"<p>April 24, 2026 @ 11:00 am &#8211; 2:30 pm &#8211; We are experimenting with some different options to allow for a streamlined registration process.\u00a0 Individual can purchase bundles of tickets for multiple events via our &#8220;Multiple Event Registration&#8221; options below.\u00a0 For a more customized registration experience (such as purchasing multiple tickets for a single event or applying a coupon code), please see our INDIVIDUAL REGISTRATION [&#8230;]<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-2495","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/asce-staging.org\/cais\/wp-json\/wp\/v2\/pages\/2495","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/asce-staging.org\/cais\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/asce-staging.org\/cais\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/asce-staging.org\/cais\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/asce-staging.org\/cais\/wp-json\/wp\/v2\/comments?post=2495"}],"version-history":[{"count":79,"href":"https:\/\/asce-staging.org\/cais\/wp-json\/wp\/v2\/pages\/2495\/revisions"}],"predecessor-version":[{"id":2794,"href":"https:\/\/asce-staging.org\/cais\/wp-json\/wp\/v2\/pages\/2495\/revisions\/2794"}],"wp:attachment":[{"href":"https:\/\/asce-staging.org\/cais\/wp-json\/wp\/v2\/media?parent=2495"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}