{"id":3910,"date":"2024-08-08T09:23:36","date_gmt":"2024-08-08T09:23:36","guid":{"rendered":"https:\/\/affordableartfair.com\/?post_type=exhibitor-hub&#038;p=3910"},"modified":"2025-10-23T11:04:12","modified_gmt":"2025-10-23T10:04:12","slug":"the-fair-advantage-report-2024","status":"publish","type":"exhibitor-hub","link":"https:\/\/affordableartfair.com\/exhibit-with-us\/exhibitor-resources\/the-fair-advantage-report-2024\/","title":{"rendered":"The Fair Advantage Report 2024"},"content":{"rendered":"\n<p><br>Uncover the fascinating results from The Fair Advantage, an art market report that demonstrates clear, on-going demand for art fairs amongst small-to-medium size gallery businesses. In today&#8217;s competitive market, with unique challenges in gaining visibility and expanding clientele, feedback from our global network of gallery participants has helped to shape a picture of the art fair experience.&nbsp;<\/p>\n\n\n\n<div style=\"height:25px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"has-large-font-size\">WELCOME<\/p>\n\n\n\n<div style=\"height:10px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"500\" height=\"600\" src=\"https:\/\/affordableartfair.com\/wp-content\/uploads\/Will-Ramsay.webp\" alt=\"\" class=\"wp-image-3913\" srcset=\"https:\/\/affordableartfair.com\/wp-content\/uploads\/Will-Ramsay.webp 500w, https:\/\/affordableartfair.com\/wp-content\/uploads\/Will-Ramsay-250x300.webp 250w, https:\/\/affordableartfair.com\/wp-content\/uploads\/Will-Ramsay-125x150.webp 125w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p>&#8220;<em>Since 1999, Affordable Art Fair\u2019s mission has been to help galleries grow while making art accessible and enjoyable for everyone, and that stands to this very day. As we celebrate our milestone 25th anniversary, I am delighted at the results within The Fair Advantage report as they demonstrate how participation in our fairs has benefitted so many small-to-medium sized galleries like your own.<\/em><\/p>\n\n\n\n<p><em>We are immensely proud of the community we have built and the countless success stories of which we have been a part. I\u2019m particularly honoured that so many art entrepreneurs have chosen to exhibit with us year after year, and that we\u2019ve been able to grow alongside them. Here&#8217;s to many more years of bringing art to people around the world!&#8221;<\/em><\/p>\n\n\n\n<p><strong>Will Ramsay, Founder and CEO, Affordable Art Fair<\/strong><\/p>\n<\/div>\n<\/div>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"has-large-font-size\">THE HEADLINES<\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"833\" height=\"833\" src=\"https:\/\/affordableartfair.com\/wp-content\/uploads\/AAF_2024_B2B-25th-anniversary-tiles_400px_v14.webp\" alt=\"\" class=\"wp-image-3916\" srcset=\"https:\/\/affordableartfair.com\/wp-content\/uploads\/AAF_2024_B2B-25th-anniversary-tiles_400px_v14.webp 833w, https:\/\/affordableartfair.com\/wp-content\/uploads\/AAF_2024_B2B-25th-anniversary-tiles_400px_v14-300x300.webp 300w, https:\/\/affordableartfair.com\/wp-content\/uploads\/AAF_2024_B2B-25th-anniversary-tiles_400px_v14-150x150.webp 150w, https:\/\/affordableartfair.com\/wp-content\/uploads\/AAF_2024_B2B-25th-anniversary-tiles_400px_v14-768x768.webp 768w\" sizes=\"auto, (max-width: 833px) 100vw, 833px\" \/><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"833\" height=\"833\" src=\"https:\/\/affordableartfair.com\/wp-content\/uploads\/AAF_2024_B2B-25th-anniversary-tiles_400px_v15.webp\" alt=\"\" class=\"wp-image-3917\" srcset=\"https:\/\/affordableartfair.com\/wp-content\/uploads\/AAF_2024_B2B-25th-anniversary-tiles_400px_v15.webp 833w, https:\/\/affordableartfair.com\/wp-content\/uploads\/AAF_2024_B2B-25th-anniversary-tiles_400px_v15-300x300.webp 300w, https:\/\/affordableartfair.com\/wp-content\/uploads\/AAF_2024_B2B-25th-anniversary-tiles_400px_v15-150x150.webp 150w, https:\/\/affordableartfair.com\/wp-content\/uploads\/AAF_2024_B2B-25th-anniversary-tiles_400px_v15-768x768.webp 768w\" sizes=\"auto, (max-width: 833px) 100vw, 833px\" \/><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"833\" height=\"833\" src=\"https:\/\/affordableartfair.com\/wp-content\/uploads\/AAF_2024_B2B-25th-anniversary-tiles_400px_v16.webp\" alt=\"\" class=\"wp-image-3918\" srcset=\"https:\/\/affordableartfair.com\/wp-content\/uploads\/AAF_2024_B2B-25th-anniversary-tiles_400px_v16.webp 833w, https:\/\/affordableartfair.com\/wp-content\/uploads\/AAF_2024_B2B-25th-anniversary-tiles_400px_v16-300x300.webp 300w, https:\/\/affordableartfair.com\/wp-content\/uploads\/AAF_2024_B2B-25th-anniversary-tiles_400px_v16-150x150.webp 150w, https:\/\/affordableartfair.com\/wp-content\/uploads\/AAF_2024_B2B-25th-anniversary-tiles_400px_v16-768x768.webp 768w\" sizes=\"auto, (max-width: 833px) 100vw, 833px\" \/><\/figure>\n<\/div>\n<\/div>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<style>@import url(https:\/\/fonts.bunny.net\/css?family=ibm-plex-sans:400,600);<\/style>\n<style>\n#_form_401_{font-size:14px;line-height:1.6;font-family:arial, helvetica, sans-serif;margin:0}#_form_401_ *{outline:0}._form_hide{display:none;visibility:hidden}._form_show{display:block;visibility:visible}#_form_401_._form-top{top:0}#_form_401_._form-bottom{bottom:0}#_form_401_._form-left{left:0}#_form_401_._form-right{right:0}#_form_401_ input[type=\"text\"],#_form_401_ input[type=\"tel\"],#_form_401_ input[type=\"date\"],#_form_401_ textarea{padding:6px;height:auto;border:#979797 1px solid;border-radius:4px;color:#000000 !important;font-size:14px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#_form_401_ textarea{resize:none}#_form_401_ ._submit{-webkit-appearance:none;cursor:pointer;font-family:arial, sans-serif;font-size:14px;text-align:center;background:#FFFFFF !important;border:4px solid #ce0058 !important;color:#ce0058 !important;padding:0px !important}#_form_401_ ._submit:disabled{cursor:not-allowed;opacity:0.4}#_form_401_ ._submit.processing{position:relative}#_form_401_ ._submit.processing::before{content:\"\";width:1em;height:1em;position:absolute;z-index:1;top:50%;left:50%;border:double 3px transparent;border-radius:50%;background-image:linear-gradient(#FFFFFF, #FFFFFF), conic-gradient(#FFFFFF, #ce0058);background-origin:border-box;background-clip:content-box, border-box;animation:1200ms ease 0s infinite normal none running _spin}#_form_401_ ._submit.processing::after{content:\"\";position:absolute;top:0;bottom:0;left:0;right:0;background:#FFFFFF !important;border:4px solid #ce0058 !important;color:#ce0058 !important;padding:0px !important}@keyframes _spin{0%{transform:translate(-50%, -50%) rotate(90deg)}100%{transform:translate(-50%, -50%) rotate(450deg)}}#_form_401_ ._close-icon{cursor:pointer;background-image:url(\"https:\/\/d226aj4ao1t61q.cloudfront.net\/esfkyjh1u_forms-close-dark.png\");background-repeat:no-repeat;background-size:14.2px 14.2px;position:absolute;display:block;top:11px;right:9px;overflow:hidden;width:16.2px;height:16.2px}#_form_401_ ._close-icon:before{position:relative}#_form_401_ ._form-body{margin-bottom:30px}#_form_401_ ._form-image-left{width:150px;float:left}#_form_401_ ._form-content-right{margin-left:164px}#_form_401_ ._form-branding{color:#fff;font-size:10px;clear:both;text-align:left;margin-top:30px;font-weight:100}#_form_401_ ._form-branding ._logo{display:block;width:130px;height:14px;margin-top:6px;background-image:url(\"https:\/\/d226aj4ao1t61q.cloudfront.net\/hh9ujqgv5_aclogo_li.png\");background-size:130px auto;background-repeat:no-repeat}#_form_401_ .form-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}#_form_401_ ._form-label,#_form_401_ ._form_element ._form-label{font-weight:bold;margin-bottom:5px;display:block}#_form_401_._dark ._form-branding{color:#333}#_form_401_._dark ._form-branding ._logo{background-image:url(\"https:\/\/d226aj4ao1t61q.cloudfront.net\/jftq2c8s_aclogo_dk.png\")}#_form_401_ ._form_element{position:relative;margin-bottom:10px;font-size:0;max-width:100%}#_form_401_ ._form_element *{font-size:14px}#_form_401_ ._form_element._clear{clear:both;width:100%;float:none}#_form_401_ ._form_element._clear:after{clear:left}#_form_401_ ._form_element input[type=\"text\"],#_form_401_ ._form_element input[type=\"date\"],#_form_401_ ._form_element select,#_form_401_ ._form_element textarea:not(.g-recaptcha-response){display:block;width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;font-family:inherit}#_form_401_ ._field-wrapper{position:relative}#_form_401_ ._inline-style{float:left}#_form_401_ ._inline-style input[type=\"text\"]{width:150px}#_form_401_ ._inline-style:not(._clear)+._inline-style:not(._clear){margin-left:20px}#_form_401_ ._form_element img._form-image{max-width:100%}#_form_401_ ._form_element ._form-fieldset{border:0;padding:0.01em 0 0 0;margin:0;min-width:0}#_form_401_ ._clear-element{clear:left}#_form_401_ ._full_width{width:100%}#_form_401_ ._form_full_field{display:block;width:100%;margin-bottom:10px}#_form_401_ input[type=\"text\"]._has_error,#_form_401_ textarea._has_error{border:#F37C7B 1px solid}#_form_401_ input[type=\"checkbox\"]._has_error{outline:#F37C7B 1px solid}#_form_401_ ._error{display:block;position:absolute;font-size:14px;z-index:10000001}#_form_401_ ._error._above{padding-bottom:4px;bottom:39px;right:0}#_form_401_ ._error._below{padding-top:8px;top:100%;right:0}#_form_401_ ._error._above ._error-arrow{bottom:-4px;right:15px;border-left:8px solid transparent;border-right:8px solid transparent;border-top:8px solid #FFDDDD}#_form_401_ ._error._below ._error-arrow{top:0;right:15px;border-left:8px solid transparent;border-right:8px solid transparent;border-bottom:8px solid #FFDDDD}#_form_401_ ._error-inner{padding:12px 12px 12px 36px;background-color:#FFDDDD;background-image:url(\"data:image\/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http:\/\/www.w3.org\/2000\/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M16 8C16 12.4183 12.4183 16 8 16C3.58172 16 0 12.4183 0 8C0 3.58172 3.58172 0 8 0C12.4183 0 16 3.58172 16 8ZM9 3V9H7V3H9ZM9 13V11H7V13H9Z' fill='%23CA0000'\/%3E%3C\/svg%3E\");background-repeat:no-repeat;background-position:12px center;font-size:14px;font-family:arial, sans-serif;font-weight:600;line-height:16px;color:#000;text-align:center;text-decoration:none;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;box-shadow:0px 1px 4px rgba(31, 33, 41, 0.298295)}@media only screen and (max-width:319px){#_form_401_ ._error-inner{padding:7px 7px 7px 25px;font-size:12px;line-height:12px;background-position:4px center}}#_form_401_ ._error-inner._form_error{margin-bottom:5px;text-align:left}#_form_401_ ._button-wrapper ._error-inner._form_error{position:static}#_form_401_ ._error-inner._no_arrow{margin-bottom:10px}#_form_401_ ._error-arrow{position:absolute;width:0;height:0}#_form_401_ ._error-html{margin-bottom:10px}.pika-single{z-index:10000001 !important}#_form_401_ input[type=\"text\"].datetime_date{width:69%;display:inline}#_form_401_ select.datetime_time{width:29%;display:inline;height:32px}#_form_401_ input[type=\"date\"].datetime_date{width:69%;display:inline-flex}#_form_401_ input[type=\"time\"].datetime_time{width:29%;display:inline-flex}@media (min-width:320px) and (max-width:667px){::-webkit-scrollbar{display:none}#_form_401_{margin:0;width:100%;min-width:100%;max-width:100%;box-sizing:border-box}#_form_401_ *{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;font-size:1em}#_form_401_ ._form-content{margin:0;width:100%}#_form_401_ ._form-inner{display:block;min-width:100%}#_form_401_ ._form-title,#_form_401_ ._inline-style{margin-top:0;margin-right:0;margin-left:0}#_form_401_ ._form-title{font-size:1.2em}#_form_401_ ._form_element{margin:0 0 20px;padding:0;width:100%}#_form_401_ ._form-element,#_form_401_ ._inline-style,#_form_401_ input[type=\"text\"],#_form_401_ label,#_form_401_ p,#_form_401_ textarea:not(.g-recaptcha-response){float:none;display:block;width:100%}#_form_401_ ._row._checkbox-radio label{display:inline}#_form_401_ ._row,#_form_401_ p,#_form_401_ label{margin-bottom:0.7em;width:100%}#_form_401_ ._row input[type=\"checkbox\"],#_form_401_ ._row input[type=\"radio\"]{margin:0 !important;vertical-align:middle !important}#_form_401_ ._row input[type=\"checkbox\"]+span label{display:inline}#_form_401_ ._row span label{margin:0 !important;width:initial !important;vertical-align:middle !important}#_form_401_ ._form-image{max-width:100%;height:auto !important}#_form_401_ input[type=\"text\"]{padding-left:10px;padding-right:10px;font-size:16px;line-height:1.3em;-webkit-appearance:none}#_form_401_ input[type=\"radio\"],#_form_401_ input[type=\"checkbox\"]{display:inline-block;width:1.3em;height:1.3em;font-size:1em;margin:0 0.3em 0 0;vertical-align:baseline}#_form_401_ button[type=\"submit\"]{padding:20px;font-size:1.5em}#_form_401_ ._inline-style{margin:20px 0 0 !important}}#_form_401_{position:relative;text-align:left;margin:25px auto 0;padding:20px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;background:#FFFFFF !important;border:0px solid #B0B0B0 !important;max-width:500px;-moz-border-radius:0px !important;-webkit-border-radius:0px !important;border-radius:0px !important;color:#3b3b3b}#_form_401_._inline-form,#_form_401_._inline-form ._form-content{font-family:\"IBM Plex Sans\", Helvetica, sans-serif}#_form_401_._inline-form ._row span,#_form_401_._inline-form ._row label{font-family:\"IBM Plex Sans\", Helvetica, sans-serif;font-size:14px;font-weight:400;line-height:1.6em}#_form_401__inlineform input[type=\"text\"],#_form_401__inlineform input[type=\"date\"],#_form_401__inlineform input[type=\"tel\"],#_form_401__inlineform select,#_form_401__inlineform textarea:not(.g-recaptcha-response){font-family:\"IBM Plex Sans\", Helvetica, sans-serif;font-size:14px;font-weight:400;font-color:#000000;line-height:1.6em}#_form_401_._inline-form ._html-code *:not(h1, h2, h3, h4, h5, h6),#_form_401_._inline-form ._form-thank-you{font-family:\"IBM Plex Sans\", Helvetica, sans-serif}#_form_401_._inline-form ._form-label,#_form_401_._inline-form ._form-emailidentifier,#_form_401_._inline-form ._form-checkbox-option-label{font-family:\"IBM Plex Sans\", Helvetica, sans-serif;font-size:14px;font-weight:700;line-height:1.6em}#_form_401_._inline-form ._submit{margin-top:12px;font-family:\"IBM Plex Sans\", Helvetica, sans-serif}#_form_401_._inline-form ._html-code h1,#_form_401_._inline-form ._html-code h2,#_form_401_._inline-form ._html-code h3,#_form_401_._inline-form ._html-code h4,#_form_401_._inline-form ._html-code h5,#_form_401_._inline-form ._html-code h6,#_form_401_._inline-form ._form-title{font-size:22px;line-height:normal;font-weight:600;margin-bottom:0}#_form_401_._inline-form ._form-branding{font-family:\"IBM Plex Sans\", Helvetica, sans-serif;font-size:13px;font-weight:100;font-style:normal;text-decoration:none}#_form_401_:before,#_form_401_:after{content:\" \";display:table}#_form_401_:after{clear:both}#_form_401_._inline-style{width:auto;display:inline-block}#_form_401_._inline-style input[type=\"text\"],#_form_401_._inline-style input[type=\"date\"]{padding:10px 12px}#_form_401_._inline-style button._inline-style{position:relative;top:27px}#_form_401_._inline-style p{margin:0}#_form_401_._inline-style ._button-wrapper{position:relative;margin:27px 12.5px 0 20px}#_form_401_ ._form-thank-you{position:relative;left:0;right:0;text-align:center;font-size:18px}#_form_401_ ._form-pc-confirmation ._submit{margin-top:16px}@media (min-width:320px) and (max-width:667px){#_form_401_._inline-form._inline-style ._inline-style._button-wrapper{margin-top:20px !important;margin-left:0 !important}}#_form_401_ .iti.iti--allow-dropdown.iti--separate-dial-code{width:100%}#_form_401_ .iti input{width:100%;height:32px;border:#979797 1px solid;border-radius:4px}#_form_401_ .iti--separate-dial-code .iti__selected-flag{background-color:#FFFFFF;border-radius:4px}#_form_401_ .iti--separate-dial-code .iti__selected-flag:hover{background-color:rgba(0, 0, 0, 0.05)}#_form_401_ .iti__country-list{border-radius:4px;margin-top:4px;min-width:460px}#_form_401_ .iti__country-list--dropup{margin-bottom:4px}#_form_401_ .phone-error-hidden{display:none}#_form_401_ .phone-error{color:#E40E49}#_form_401_ .phone-input-error{border:1px solid #E40E49 !important}#_form_401_._inline-form ._form-content ._form-list-subscriptions-field fieldset{margin:0;margin-bottom:1.1428571429em;border:none;padding:0}#_form_401_._inline-form ._form-content ._form-list-subscriptions-field fieldset:last-child{margin-bottom:0}#_form_401_._inline-form ._form-content ._form-list-subscriptions-field legend{margin-bottom:1.1428571429em}#_form_401_._inline-form ._form-content ._form-list-subscriptions-field label{display:flex;align-items:flex-start;justify-content:flex-start;margin-bottom:0.8571428571em}#_form_401_._inline-form ._form-content ._form-list-subscriptions-field label:last-child{margin-bottom:0}#_form_401_._inline-form ._form-content ._form-list-subscriptions-field input{margin:0;margin-right:8px}#_form_401_._inline-form ._form-content ._form-list-subscriptions-field ._form-checkbox-option-label{display:block;font-weight:400;margin-top:-4px}#_form_401_._inline-form ._form-content ._form-list-subscriptions-field ._form-checkbox-option-label-with-description{display:block;font-weight:700;margin-top:-4px}#_form_401_._inline-form ._form-content ._form-list-subscriptions-field ._form-checkbox-option-description{margin:0;font-size:0.8571428571em}#_form_401_._inline-form ._form-content ._form-list-subscriptions-field ._form-subscriptions-unsubscribe-all-description{line-height:normal;margin-top:-2px}\n#_form_401_ label{color:#3b3b3b;font-family:verdana}#_form_401_ ._submit{padding:15px 30px 15px 30px !important;letter-spacing:0.15em;margin-top:20px;font-family:verdana;font-size:16px;font-weight:bold}#_form_401_ ._button-wrapper{text-align:center}#_form_401_ input{border:#dddddd 1px solid;border-radius:0px;padding:12px}#_form_401_ ._x39278534 input{border:#dddddd 1px solid;border-radius:0px;padding:12px}<\/style>\n<form method=\"POST\" action=\"https:\/\/ramsayfairs.activehosted.com\/proc.php\" id=\"_form_401_\" class=\"_form _form_401 _inline-form  _dark\" novalidate data-styles-version=\"5\">\n  <input type=\"hidden\" name=\"u\" value=\"401\" \/>\n  <input type=\"hidden\" name=\"f\" value=\"401\" \/>\n  <input type=\"hidden\" name=\"s\" \/>\n  <input type=\"hidden\" name=\"c\" value=\"0\" \/>\n  <input type=\"hidden\" name=\"m\" value=\"0\" \/>\n  <input type=\"hidden\" name=\"act\" value=\"sub\" \/>\n  <input type=\"hidden\" name=\"v\" value=\"2\" \/>\n  <input type=\"hidden\" name=\"or\" value=\"b164b10800ca53a977053285ac12a68a\" \/>\n  <div class=\"_form-content\">\n    <div class=\"_form_element _x52092215 _full_width _clear\" >\n      <div class=\"_form-title\">\n        GET THE REPORT\n      <\/div>\n    <\/div>\n    <div class=\"_form_element _x39278534 _full_width \" >\n      <label for=\"email\" class=\"_form-label\">\n        Email*\n      <\/label>\n      <div class=\"_field-wrapper\">\n        <input type=\"text\" id=\"email\" name=\"email\" placeholder=\"john@smith.com\" required\/>\n      <\/div>\n    <\/div>\n    <div class=\"_form_element _x45313806 _full_width \" >\n      <label for=\"firstname\" class=\"_form-label\">\n        First Name*\n      <\/label>\n      <div class=\"_field-wrapper\">\n        <input type=\"text\" id=\"firstname\" name=\"firstname\" placeholder=\"John\" required\/>\n      <\/div>\n    <\/div>\n    <div class=\"_form_element _x02197774 _full_width \" >\n      <label for=\"lastname\" class=\"_form-label\">\n        Last Name*\n      <\/label>\n      <div class=\"_field-wrapper\">\n        <input type=\"text\" id=\"lastname\" name=\"lastname\" placeholder=\"Smith\" required\/>\n      <\/div>\n    <\/div>\n    <div class=\"_form_element _x65242540 _full_width \" >\n      <label for=\"field[22]\" class=\"_form-label\">\n        Gallery name*\n      <\/label>\n      <div class=\"_field-wrapper\">\n        <input type=\"text\" id=\"field[22]\" name=\"field[22]\" value=\"Valued Gallerist\" placeholder=\"Smith Gallery\" required\/>\n      <\/div>\n    <\/div>\n    <div class=\"_form_element _x17368693 _full_width \" >\n      <label for=\"field[9]\" class=\"_form-label\">\n        What country is your gallery based in?*\n      <\/label>\n      <div class=\"_field-wrapper\">\n        <input type=\"text\" id=\"field[9]\" name=\"field[9]\" value=\"\" placeholder=\"E.g. United Kingdom\" required\/>\n      <\/div>\n    <\/div>\n    <div class=\"_button-wrapper _full_width\">\n      <button id=\"_form_401_submit\" class=\"_submit\" type=\"submit\">\n        SUBMIT\n      <\/button>\n    <\/div>\n    <div class=\"_clear-element\">\n    <\/div>\n  <\/div>\n  <div class=\"_form-thank-you\" style=\"display:none;\">\n  <\/div>\n<\/form><script>\nwindow.cfields = {\"22\":\"gallery_name\",\"9\":\"address_country\"};\nwindow._show_thank_you = function(id, message, trackcmp_url, email) {\n    var form = document.getElementById('_form_' + id + '_'), thank_you = form.querySelector('._form-thank-you');\n    form.querySelector('._form-content').style.display = 'none';\n    thank_you.innerHTML = message;\n    thank_you.style.display = 'block';\n    const vgoAlias = typeof visitorGlobalObjectAlias === 'undefined' ? 'vgo' : visitorGlobalObjectAlias;\n    var visitorObject = window[vgoAlias];\n    if (email && typeof visitorObject !== 'undefined') {\n        visitorObject('setEmail', email);\n        visitorObject('update');\n    } else if (typeof(trackcmp_url) != 'undefined' && trackcmp_url) {\n        \/\/ Site tracking URL to use after inline form submission.\n        _load_script(trackcmp_url);\n    }\n    if (typeof window._form_callback !== 'undefined') window._form_callback(id);\n};\nwindow._show_unsubscribe = function(id, message, trackcmp_url, email) {\n    var form = document.getElementById('_form_' + id + '_'), unsub = form.querySelector('._form-thank-you');\n    var branding = form.querySelector('._form-branding');\n    if (branding) {\n        branding.style.display = 'none';\n    }\n    form.querySelector('._form-content').style.display = 'none';\n    unsub.style.display = 'block';\n    form.insertAdjacentHTML('afterend', message)\n    const vgoAlias = typeof visitorGlobalObjectAlias === 'undefined' ? 'vgo' : visitorGlobalObjectAlias;\n    var visitorObject = window[vgoAlias];\n    if (email && typeof visitorObject !== 'undefined') {\n        visitorObject('setEmail', email);\n        visitorObject('update');\n    } else if (typeof(trackcmp_url) != 'undefined' && trackcmp_url) {\n        \/\/ Site tracking URL to use after inline form submission.\n        _load_script(trackcmp_url);\n    }\n    if (typeof window._form_callback !== 'undefined') window._form_callback(id);\n};\nwindow._show_error = function(id, message, html) {\n    var form = document.getElementById('_form_' + id + '_'),\n        err = document.createElement('div'),\n        button = form.querySelector('button'),\n        old_error = form.querySelector('._form_error');\n    if (old_error) old_error.parentNode.removeChild(old_error);\n    err.innerHTML = message;\n    err.className = '_error-inner _form_error _no_arrow';\n    var wrapper = document.createElement('div');\n    wrapper.className = '_form-inner';\n    wrapper.appendChild(err);\n    button.parentNode.insertBefore(wrapper, button);\n    var submitButton = form.querySelector('[id^=\"_form\"][id$=\"_submit\"]');\n    submitButton.disabled = false;\n    submitButton.classList.remove('processing');\n    if (html) {\n        var div = document.createElement('div');\n        div.className = '_error-html';\n        div.innerHTML = html;\n        err.appendChild(div);\n    }\n};\nwindow._show_pc_confirmation = function(id, header, detail, show, email) {\n    var form = document.getElementById('_form_' + id + '_'), pc_confirmation = form.querySelector('._form-pc-confirmation');\n    if (pc_confirmation.style.display === 'none') {\n        form.querySelector('._form-content').style.display = 'none';\n        pc_confirmation.innerHTML = \"<div class='_form-title'>\" + header + \"<\/div>\" + \"<p>\" + detail + \"<\/p>\" +\n        \"<button class='_submit' id='hideButton'>Manage preferences<\/button>\";\n        pc_confirmation.style.display = 'block';\n        var mp = document.querySelector('input[name=\"mp\"]');\n        mp.value = '0';\n    } else {\n        form.querySelector('._form-content').style.display = 'inline';\n        pc_confirmation.style.display = 'none';\n    }\n\n    var hideButton = document.getElementById('hideButton');\n    \/\/ Add event listener to the button\n    hideButton.addEventListener('click', function() {\n        var submitButton = document.querySelector('#_form_401_submit');\n        submitButton.disabled = false;\n        submitButton.classList.remove('processing');\n        var mp = document.querySelector('input[name=\"mp\"]');\n        mp.value = '1';\n        window.location.href = window.location.href;\n    });\n\n    const vgoAlias = typeof visitorGlobalObjectAlias === 'undefined' ? 'vgo' : visitorGlobalObjectAlias;\n    var visitorObject = window[vgoAlias];\n    if (email && typeof visitorObject !== 'undefined') {\n        visitorObject('setEmail', email);\n        visitorObject('update');\n    } else if (typeof(trackcmp_url) != 'undefined' && trackcmp_url) {\n        \/\/ Site tracking URL to use after inline form submission.\n        _load_script(trackcmp_url);\n    }\n    if (typeof window._form_callback !== 'undefined') window._form_callback(id);\n};\nwindow._load_script = function(url, callback, isSubmit) {\n    var head = document.querySelector('head'), script = document.createElement('script'), r = false;\n    var submitButton = document.querySelector('#_form_401_submit');\n    script.charset = 'utf-8';\n    script.src = url;\n    if (callback) {\n        script.onload = script.onreadystatechange = function() {\n            if (!r && (!this.readyState || this.readyState == 'complete')) {\n                r = true;\n                callback();\n            }\n        };\n    }\n    script.onerror = function() {\n        if (isSubmit) {\n            if (script.src.length > 10000) {\n                _show_error(\"401\", \"Sorry, your submission failed. Please shorten your responses and try again.\");\n            } else {\n                _show_error(\"401\", \"Sorry, your submission failed. Please try again.\");\n            }\n            submitButton.disabled = false;\n            submitButton.classList.remove('processing');\n        }\n    }\n\n    head.appendChild(script);\n};\n(function() {\n    if (window.location.search.search(\"excludeform\") !== -1) return false;\n    var getCookie = function(name) {\n        var match = document.cookie.match(new RegExp('(^|; )' + name + '=([^;]+)'));\n        return match ? match[2] : null;\n    }\n    var setCookie = function(name, value) {\n        var now = new Date();\n        var time = now.getTime();\n        var expireTime = time + 1000 * 60 * 60 * 24 * 365;\n        now.setTime(expireTime);\n        document.cookie = name + '=' + value + '; expires=' + now + ';path=\/; Secure; SameSite=Lax;';\n    }\n            var addEvent = function(element, event, func) {\n        if (element.addEventListener) {\n            element.addEventListener(event, func);\n        } else {\n            var oldFunc = element['on' + event];\n            element['on' + event] = function() {\n                oldFunc.apply(this, arguments);\n                func.apply(this, arguments);\n            };\n        }\n    }\n    var _removed = false;\n        var form_to_submit = document.getElementById('_form_401_');\n    var allInputs = form_to_submit.querySelectorAll('input, select, textarea'), tooltips = [], submitted = false;\n\n    var getUrlParam = function(name) {\n        if (name.toLowerCase() !== 'email') {\n            var params = new URLSearchParams(window.location.search);\n            return params.get(name) || false;\n        }\n        \/\/ email is a special case because a plus is valid in the email address\n        var qString = window.location.search;\n        if (!qString) {\n            return false;\n        }\n        var parameters = qString.substr(1).split('&');\n        for (var i = 0; i < parameters.length; i++) {\n            var parameter = parameters[i].split('=');\n            if (parameter[0].toLowerCase() === 'email') {\n                return parameter[1] === undefined ? true : decodeURIComponent(parameter[1]);\n            }\n        }\n        return false;\n    };\n\n    var acctDateFormat = \"%d\/%m\/%Y\";\n    var getNormalizedDate = function(date, acctFormat) {\n        var decodedDate = decodeURIComponent(date);\n        if (acctFormat &#038;&#038; acctFormat.match(\/(%d|%e).*%m\/gi) !== null) {\n            return decodedDate.replace(\/(\\d{2}).*(\\d{2}).*(\\d{4})\/g, '$3-$2-$1');\n        } else if (Date.parse(decodedDate)) {\n            var dateObj = new Date(decodedDate);\n            var year = dateObj.getFullYear();\n            var month = dateObj.getMonth() + 1;\n            var day = dateObj.getDate();\n            return `${year}-${month < 10 ? `0${month}` : month}-${day < 10 ? `0${day}` : day}`;\n        }\n        return false;\n    };\n\n    var getNormalizedTime = function(time) {\n        var hour, minutes;\n        var decodedTime = decodeURIComponent(time);\n        var timeParts = Array.from(decodedTime.matchAll(\/(\\d{1,2}):(\\d{1,2})\\W*([AaPp][Mm])?\/gm))[0];\n        if (timeParts[3]) { \/\/ 12 hour format\n            var isPM = timeParts[3].toLowerCase() === 'pm';\n            if (isPM) {\n                hour = parseInt(timeParts[1]) === 12 ? '12' : `${parseInt(timeParts[1]) + 12}`;\n            } else {\n                hour = parseInt(timeParts[1]) === 12 ? '0' : timeParts[1];\n            }\n        } else { \/\/ 24 hour format\n            hour = timeParts[1];\n        }\n        var normalizedHour = parseInt(hour) < 10 ? `0${parseInt(hour)}` : hour;\n        var minutes = timeParts[2];\n        return `${normalizedHour}:${minutes}`;\n    };\n\n    for (var i = 0; i < allInputs.length; i++) {\n        var regexStr = \"field\\\\[(\\\\d+)\\\\]\";\n        var results = new RegExp(regexStr).exec(allInputs[i].name);\n        if (results != undefined) {\n            allInputs[i].dataset.name = allInputs[i].name.match(\/\\[time\\]$\/)\n                ? `${window.cfields[results[1]]}_time`\n                : window.cfields[results[1]];\n        } else {\n            allInputs[i].dataset.name = allInputs[i].name;\n        }\n        var fieldVal = getUrlParam(allInputs[i].dataset.name);\n\n        if (fieldVal) {\n            if (allInputs[i].dataset.autofill === \"false\") {\n                continue;\n            }\n            if (allInputs[i].type == \"radio\" || allInputs[i].type == \"checkbox\") {\n                if (allInputs[i].value == fieldVal) {\n                    allInputs[i].checked = true;\n                }\n            } else if (allInputs[i].type == \"date\") {\n                allInputs[i].value = getNormalizedDate(fieldVal, acctDateFormat);\n            } else if (allInputs[i].type == \"time\") {\n                allInputs[i].value = getNormalizedTime(fieldVal);\n            } else {\n                allInputs[i].value = fieldVal;\n            }\n        }\n    }\n\n    var remove_tooltips = function() {\n        for (var i = 0; i < tooltips.length; i++) {\n            tooltips[i].tip.parentNode.removeChild(tooltips[i].tip);\n        }\n        tooltips = [];\n    };\n    var remove_tooltip = function(elem) {\n        for (var i = 0; i < tooltips.length; i++) {\n            if (tooltips[i].elem === elem) {\n                tooltips[i].tip.parentNode.removeChild(tooltips[i].tip);\n                tooltips.splice(i, 1);\n                return;\n            }\n        }\n    };\n    var create_tooltip = function(elem, text) {\n        var tooltip = document.createElement('div'),\n            arrow = document.createElement('div'),\n            inner = document.createElement('div'), new_tooltip = {};\n        if (elem.type != 'radio' &#038;&#038; elem.type != 'checkbox') {\n            tooltip.className = '_error';\n            arrow.className = '_error-arrow';\n            inner.className = '_error-inner';\n            inner.innerHTML = text;\n            tooltip.appendChild(arrow);\n            tooltip.appendChild(inner);\n            elem.parentNode.appendChild(tooltip);\n        } else {\n            tooltip.className = '_error-inner _no_arrow';\n            tooltip.innerHTML = text;\n            elem.parentNode.insertBefore(tooltip, elem);\n            new_tooltip.no_arrow = true;\n        }\n        new_tooltip.tip = tooltip;\n        new_tooltip.elem = elem;\n        tooltips.push(new_tooltip);\n        return new_tooltip;\n    };\n    var resize_tooltip = function(tooltip) {\n        var rect = tooltip.elem.getBoundingClientRect();\n        var doc = document.documentElement,\n            scrollPosition = rect.top - ((window.pageYOffset || doc.scrollTop)  - (doc.clientTop || 0));\n        if (scrollPosition < 40) {\n            tooltip.tip.className = tooltip.tip.className.replace(\/ ?(_above|_below) ?\/g, '') + ' _below';\n        } else {\n            tooltip.tip.className = tooltip.tip.className.replace(\/ ?(_above|_below) ?\/g, '') + ' _above';\n        }\n    };\n    var resize_tooltips = function() {\n        if (_removed) return;\n        for (var i = 0; i < tooltips.length; i++) {\n            if (!tooltips[i].no_arrow) resize_tooltip(tooltips[i]);\n        }\n    };\n    var validate_field = function(elem, remove) {\n        var tooltip = null, value = elem.value, no_error = true;\n        remove ? remove_tooltip(elem) : false;\n        if (elem.type != 'checkbox') elem.className = elem.className.replace(\/ ?_has_error ?\/g, '');\n        if (elem.getAttribute('required') !== null) {\n            if (elem.type == 'radio' || (elem.type == 'checkbox' &#038;&#038; \/any\/.test(elem.className))) {\n                var elems = form_to_submit.elements[elem.name];\n                if (!(elems instanceof NodeList || elems instanceof HTMLCollection) || elems.length <= 1) {\n                    no_error = elem.checked;\n                }\n                else {\n                    no_error = false;\n                    for (var i = 0; i < elems.length; i++) {\n                        if (elems[i].checked) no_error = true;\n                    }\n                }\n                if (!no_error) {\n                    tooltip = create_tooltip(elem, \"Please select an option.\");\n                }\n            } else if (elem.type =='checkbox') {\n                var elems = form_to_submit.elements[elem.name], found = false, err = [];\n                no_error = true;\n                for (var i = 0; i < elems.length; i++) {\n                    if (elems[i].getAttribute('required') === null) continue;\n                    if (!found &#038;&#038; elems[i] !== elem) return true;\n                    found = true;\n                    elems[i].className = elems[i].className.replace(\/ ?_has_error ?\/g, '');\n                    if (!elems[i].checked) {\n                        no_error = false;\n                        elems[i].className = elems[i].className + ' _has_error';\n                        err.push(\"Checking %s is required\".replace(\"%s\", elems[i].value));\n                    }\n                }\n                if (!no_error) {\n                    tooltip = create_tooltip(elem, err.join('<br\/>'));\n                }\n            } else if (elem.tagName == 'SELECT') {\n                var selected = true;\n                if (elem.multiple) {\n                    selected = false;\n                    for (var i = 0; i < elem.options.length; i++) {\n                        if (elem.options[i].selected) {\n                            selected = true;\n                            break;\n                        }\n                    }\n                } else {\n                    for (var i = 0; i < elem.options.length; i++) {\n                        if (elem.options[i].selected\n                            &#038;&#038; (!elem.options[i].value\n                            || (elem.options[i].value.match(\/\\n\/g)))\n                        ) {\n                            selected = false;\n                        }\n                    }\n                }\n                if (!selected) {\n                    elem.className = elem.className + ' _has_error';\n                    no_error = false;\n                    tooltip = create_tooltip(elem, \"Please select an option.\");\n                }\n            } else if (value === undefined || value === null || value === '') {\n                elem.className = elem.className + ' _has_error';\n                no_error = false;\n                tooltip = create_tooltip(elem, \"This field is required.\");\n            }\n        }\n        if (no_error &#038;&#038; (elem.id == 'field[]' || elem.id == 'ca[11][v]')) {\n            if (elem.className.includes('phone-input-error')) {\n                elem.className = elem.className + ' _has_error';\n                no_error = false;\n            }\n        }\n        if (no_error &#038;&#038; elem.name == 'email') {\n            if (!value.match(\/^[\\+_a-z0-9-'&#038;=]+(\\.[\\+_a-z0-9-']+)*@[a-z0-9-]+(\\.[a-z0-9-]+)*(\\.[a-z]{2,})$\/i)) {\n                elem.className = elem.className + ' _has_error';\n                no_error = false;\n                tooltip = create_tooltip(elem, \"Enter a valid email address.\");\n            }\n        }\n        if (no_error &#038;&#038; \/date_field\/.test(elem.className)) {\n            if (!value.match(\/^\\d\\d\\d\\d-\\d\\d-\\d\\d$\/)) {\n                elem.className = elem.className + ' _has_error';\n                no_error = false;\n                tooltip = create_tooltip(elem, \"Enter a valid date.\");\n            }\n        }\n        tooltip ? resize_tooltip(tooltip) : false;\n        return no_error;\n    };\n    var needs_validate = function(el) {\n        if(el.getAttribute('required') !== null){\n            return true\n        }\n        if(el.name === 'email' &#038;&#038; el.value !== \"\"){\n            return true\n        }\n\n        if((el.id == 'field[]' || el.id == 'ca[11][v]') &#038;&#038; el.className.includes('phone-input-error')){\n            return true\n        }\n\n        return false\n    };\n    var validate_form = function(e) {\n        var err = form_to_submit.querySelector('._form_error'), no_error = true;\n        if (!submitted) {\n            submitted = true;\n            for (var i = 0, len = allInputs.length; i < len; i++) {\n                var input = allInputs[i];\n                if (needs_validate(input)) {\n                    if (input.type == 'tel') {\n                        addEvent(input, 'blur', function() {\n                            this.value = this.value.trim();\n                            validate_field(this, true);\n                        });\n                    }\n                    if (input.type == 'text' || input.type == 'number' || input.type == 'time') {\n                        addEvent(input, 'blur', function() {\n                            this.value = this.value.trim();\n                            validate_field(this, true);\n                        });\n                        addEvent(input, 'input', function() {\n                            validate_field(this, true);\n                        });\n                    } else if (input.type == 'radio' || input.type == 'checkbox') {\n                        (function(el) {\n                            var radios = form_to_submit.elements[el.name];\n                            for (var i = 0; i < radios.length; i++) {\n                                addEvent(radios[i], 'click', function() {\n                                    validate_field(el, true);\n                                });\n                            }\n                        })(input);\n                    } else if (input.tagName == 'SELECT') {\n                        addEvent(input, 'change', function() {\n                            validate_field(this, true);\n                        });\n                    } else if (input.type == 'textarea'){\n                        addEvent(input, 'input', function() {\n                            validate_field(this, true);\n                        });\n                    }\n                }\n            }\n        }\n        remove_tooltips();\n        for (var i = 0, len = allInputs.length; i < len; i++) {\n            var elem = allInputs[i];\n            if (needs_validate(elem)) {\n                if (elem.tagName.toLowerCase() !== \"select\") {\n                    elem.value = elem.value.trim();\n                }\n                validate_field(elem) ? true : no_error = false;\n            }\n        }\n        if (!no_error &#038;&#038; e) {\n            e.preventDefault();\n        }\n        resize_tooltips();\n        return no_error;\n    };\n    addEvent(window, 'resize', resize_tooltips);\n    addEvent(window, 'scroll', resize_tooltips);\n\n    var hidePhoneInputError = function(inputId) {\n        var errorMessage =  document.getElementById(\"error-msg-\" + inputId);\n        var input = document.getElementById(inputId);\n        errorMessage.classList.remove(\"phone-error\");\n        errorMessage.classList.add(\"phone-error-hidden\");\n        input.classList.remove(\"phone-input-error\");\n    };\n\n    var initializePhoneInput = function(input, defaultCountry) {\n        return window.intlTelInput(input, {\n            utilsScript: \"https:\/\/unpkg.com\/intl-tel-input@17.0.18\/build\/js\/utils.js\",\n            autoHideDialCode: false,\n            separateDialCode: true,\n            initialCountry: defaultCountry,\n            preferredCountries: []\n        });\n    }\n\n    var setPhoneInputEventListeners = function(inputId, input, iti) {\n        input.addEventListener('blur', function() {\n            var errorMessage = document.getElementById(\"error-msg-\" + inputId);\n            if (input.value.trim()) {\n                if (iti.isValidNumber()) {\n                    iti.setNumber(iti.getNumber());\n                    if (errorMessage.classList.contains(\"phone-error\")){\n                        hidePhoneInputError(inputId);\n                    }\n                } else {\n                    showPhoneInputError(inputId)\n                }\n            } else {\n                if (errorMessage.classList.contains(\"phone-error\")){\n                    hidePhoneInputError(inputId);\n                }\n            }\n        });\n\n        input.addEventListener(\"countrychange\", function() {\n            iti.setNumber('');\n        });\n\n        input.addEventListener(\"keydown\", function(e) {\n            var charCode = (e.which) ? e.which : e.keyCode;\n            if (charCode > 31 && (charCode < 48 || charCode > 57) && charCode !== 8) {\n                e.preventDefault();\n            }\n        });\n    };\n\n    var showPhoneInputError = function(inputId) {\n        var errorMessage =  document.getElementById(\"error-msg-\" + inputId);\n        var input = document.getElementById(inputId);\n        errorMessage.classList.add(\"phone-error\");\n        errorMessage.classList.remove(\"phone-error-hidden\");\n        input.classList.add(\"phone-input-error\");\n    };\n\n\n    var _form_serialize = function(form){if(!form||form.nodeName!==\"FORM\"){return }var i,j,q=[];for(i=0;i<form.elements.length;i++){if(form.elements[i].name===\"\"){continue}switch(form.elements[i].nodeName){case\"INPUT\":switch(form.elements[i].type){case\"tel\":q.push(form.elements[i].name+\"=\"+encodeURIComponent(form.elements[i].previousSibling.querySelector('div.iti__selected-dial-code').innerText)+encodeURIComponent(\" \")+encodeURIComponent(form.elements[i].value));break;case\"text\":case\"number\":case\"date\":case\"time\":case\"hidden\":case\"password\":case\"button\":case\"reset\":case\"submit\":q.push(form.elements[i].name+\"=\"+encodeURIComponent(form.elements[i].value));break;case\"checkbox\":case\"radio\":if(form.elements[i].checked){q.push(form.elements[i].name+\"=\"+encodeURIComponent(form.elements[i].value))}break;case\"file\":break}break;case\"TEXTAREA\":q.push(form.elements[i].name+\"=\"+encodeURIComponent(form.elements[i].value));break;case\"SELECT\":switch(form.elements[i].type){case\"select-one\":q.push(form.elements[i].name+\"=\"+encodeURIComponent(form.elements[i].value));break;case\"select-multiple\":for(j=0;j<form.elements[i].options.length;j++){if(form.elements[i].options[j].selected){q.push(form.elements[i].name+\"=\"+encodeURIComponent(form.elements[i].options[j].value))}}break}break;case\"BUTTON\":switch(form.elements[i].type){case\"reset\":case\"submit\":case\"button\":q.push(form.elements[i].name+\"=\"+encodeURIComponent(form.elements[i].value));break}break}}return q.join(\"&#038;\")};\n\n    const formSupportsPost = false;\n          var form_submit = function(e) {\n\n        e.preventDefault();\n        if (validate_form()) {\n            \/\/ use this trick to get the submit button &#038; disable it using plain javascript\n            var submitButton = e.target.querySelector('#_form_401_submit');\n            submitButton.disabled = true;\n            submitButton.classList.add('processing');\n                        var serialized = _form_serialize(\n                document.getElementById('_form_401_')\n            ).replace(\/%0A\/g, '\\\\n');\n            var err = form_to_submit.querySelector('._form_error');\n            err ? err.parentNode.removeChild(err) : false;\n            async function submitForm() {\n              var formData = new FormData();\n              const searchParams = new URLSearchParams(serialized);\n              searchParams.forEach((value, key) => {\n                if (key !== 'hideButton') {\n                    formData.append(key, value);\n                }\n                \/\/formData.append(key, value);\n              });\n                            let request = {\n                                headers: {\n                                    \"Accept\": \"application\/json\"\n                                },\n                                body: formData,\n                                method: \"POST\"\n                            };\n\n                            let pageUrlParams = new URLSearchParams(window.location.search);\n                            if (pageUrlParams.has('t')) {\n                                request.headers.Authorization = 'Bearer ' + pageUrlParams.get('t');\n                            }\n              const response = await fetch('https:\/\/ramsayfairs.activehosted.com\/proc.php?jsonp=true', request);\n              return response.json();\n            }\n                if (formSupportsPost) {\n                  submitForm().then((data) => {\n                    eval(data.js);\n                  });\n                } else {\n                  _load_script('https:\/\/ramsayfairs.activehosted.com\/proc.php?' + serialized + '&jsonp=true', null, true);\n                }\n        }\n        return false;\n    };\n    addEvent(form_to_submit, 'submit', form_submit);\n})();\n\n<\/script>\n\n\n\n<div style=\"height:60px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div style=\"padding:55.56% 0 0 0;position:relative;\"><iframe src=\"https:\/\/player.vimeo.com\/video\/998746419?autoplay=1&#038;loop=1?badge=0&amp;player_id=0&amp;app_id=58479\" frameborder=\"0\" allow=\"autoplay; fullscreen; picture-in-picture; clipboard-write\" style=\"position:absolute;top:0;left:0;width:100%;height:100%;\" title=\"The Fair Advantage Report\"><\/iframe><\/div><script src=\"https:\/\/player.vimeo.com\/api\/player.js\"><\/script>\n\n\n\n<div style=\"height:95px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Uncover the fascinating results from The Fair Advantage, an art market report that demonstrates clear, on-going demand for art fairs amongst small-to-medium size gallery businesses. <\/p>\n","protected":false},"featured_media":3914,"parent":0,"template":"","meta":{"_acf_changed":false,"footnotes":""},"categories":[],"class_list":["post-3910","exhibitor-hub","type-exhibitor-hub","status-publish","has-post-thumbnail","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.6 (Yoast SEO v26.6) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>The Fair Advantage Report 2024 | Affordable Art Fair<\/title>\n<meta name=\"description\" content=\"Explore The Fair Advantage Report 2024 by Affordable Art Fair, revealing global insights and benefits of art fairs for small-to-medium galleries worldwide.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/affordableartfair.com\/exhibit-with-us\/exhibitor-resources\/the-fair-advantage-report-2024\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"The Fair Advantage Report 2024\" \/>\n<meta property=\"og:description\" content=\"Explore The Fair Advantage Report 2024 by Affordable Art Fair, revealing global insights and benefits of art fairs for small-to-medium galleries worldwide.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/affordableartfair.com\/exhibit-with-us\/exhibitor-resources\/the-fair-advantage-report-2024\/\" \/>\n<meta property=\"og:site_name\" content=\"Affordable Art Fair\" \/>\n<meta property=\"article:modified_time\" content=\"2025-10-23T10:04:12+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/affordableartfair.com\/wp-content\/uploads\/AAF_2024_B2B-25th-anniversary-webpage_w900xh500px_v1.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"1875\" \/>\n\t<meta property=\"og:image:height\" content=\"1042\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/webp\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/affordableartfair.com\/exhibit-with-us\/exhibitor-resources\/the-fair-advantage-report-2024\/\",\"url\":\"https:\/\/affordableartfair.com\/exhibit-with-us\/exhibitor-resources\/the-fair-advantage-report-2024\/\",\"name\":\"The Fair Advantage Report 2024 | Affordable Art Fair\",\"isPartOf\":{\"@id\":\"https:\/\/affordableartfair.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/affordableartfair.com\/exhibit-with-us\/exhibitor-resources\/the-fair-advantage-report-2024\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/affordableartfair.com\/exhibit-with-us\/exhibitor-resources\/the-fair-advantage-report-2024\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/affordableartfair.com\/wp-content\/uploads\/AAF_2024_B2B-25th-anniversary-webpage_w900xh500px_v1.webp\",\"datePublished\":\"2024-08-08T09:23:36+00:00\",\"dateModified\":\"2025-10-23T10:04:12+00:00\",\"description\":\"Explore The Fair Advantage Report 2024 by Affordable Art Fair, revealing global insights and benefits of art fairs for small-to-medium galleries worldwide.\",\"breadcrumb\":{\"@id\":\"https:\/\/affordableartfair.com\/exhibit-with-us\/exhibitor-resources\/the-fair-advantage-report-2024\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/affordableartfair.com\/exhibit-with-us\/exhibitor-resources\/the-fair-advantage-report-2024\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/affordableartfair.com\/exhibit-with-us\/exhibitor-resources\/the-fair-advantage-report-2024\/#primaryimage\",\"url\":\"https:\/\/affordableartfair.com\/wp-content\/uploads\/AAF_2024_B2B-25th-anniversary-webpage_w900xh500px_v1.webp\",\"contentUrl\":\"https:\/\/affordableartfair.com\/wp-content\/uploads\/AAF_2024_B2B-25th-anniversary-webpage_w900xh500px_v1.webp\",\"width\":1875,\"height\":1042},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/affordableartfair.com\/exhibit-with-us\/exhibitor-resources\/the-fair-advantage-report-2024\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/affordableartfair.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"The Fair Advantage Report 2024\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/affordableartfair.com\/#website\",\"url\":\"https:\/\/affordableartfair.com\/\",\"name\":\"Affordable Art Fair\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/affordableartfair.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"The Fair Advantage Report 2024 | Affordable Art Fair","description":"Explore The Fair Advantage Report 2024 by Affordable Art Fair, revealing global insights and benefits of art fairs for small-to-medium galleries worldwide.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/affordableartfair.com\/exhibit-with-us\/exhibitor-resources\/the-fair-advantage-report-2024\/","og_locale":"en_US","og_type":"article","og_title":"The Fair Advantage Report 2024","og_description":"Explore The Fair Advantage Report 2024 by Affordable Art Fair, revealing global insights and benefits of art fairs for small-to-medium galleries worldwide.","og_url":"https:\/\/affordableartfair.com\/exhibit-with-us\/exhibitor-resources\/the-fair-advantage-report-2024\/","og_site_name":"Affordable Art Fair","article_modified_time":"2025-10-23T10:04:12+00:00","og_image":[{"width":1875,"height":1042,"url":"https:\/\/affordableartfair.com\/wp-content\/uploads\/AAF_2024_B2B-25th-anniversary-webpage_w900xh500px_v1.webp","type":"image\/webp"}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/affordableartfair.com\/exhibit-with-us\/exhibitor-resources\/the-fair-advantage-report-2024\/","url":"https:\/\/affordableartfair.com\/exhibit-with-us\/exhibitor-resources\/the-fair-advantage-report-2024\/","name":"The Fair Advantage Report 2024 | Affordable Art Fair","isPartOf":{"@id":"https:\/\/affordableartfair.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/affordableartfair.com\/exhibit-with-us\/exhibitor-resources\/the-fair-advantage-report-2024\/#primaryimage"},"image":{"@id":"https:\/\/affordableartfair.com\/exhibit-with-us\/exhibitor-resources\/the-fair-advantage-report-2024\/#primaryimage"},"thumbnailUrl":"https:\/\/affordableartfair.com\/wp-content\/uploads\/AAF_2024_B2B-25th-anniversary-webpage_w900xh500px_v1.webp","datePublished":"2024-08-08T09:23:36+00:00","dateModified":"2025-10-23T10:04:12+00:00","description":"Explore The Fair Advantage Report 2024 by Affordable Art Fair, revealing global insights and benefits of art fairs for small-to-medium galleries worldwide.","breadcrumb":{"@id":"https:\/\/affordableartfair.com\/exhibit-with-us\/exhibitor-resources\/the-fair-advantage-report-2024\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/affordableartfair.com\/exhibit-with-us\/exhibitor-resources\/the-fair-advantage-report-2024\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/affordableartfair.com\/exhibit-with-us\/exhibitor-resources\/the-fair-advantage-report-2024\/#primaryimage","url":"https:\/\/affordableartfair.com\/wp-content\/uploads\/AAF_2024_B2B-25th-anniversary-webpage_w900xh500px_v1.webp","contentUrl":"https:\/\/affordableartfair.com\/wp-content\/uploads\/AAF_2024_B2B-25th-anniversary-webpage_w900xh500px_v1.webp","width":1875,"height":1042},{"@type":"BreadcrumbList","@id":"https:\/\/affordableartfair.com\/exhibit-with-us\/exhibitor-resources\/the-fair-advantage-report-2024\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/affordableartfair.com\/"},{"@type":"ListItem","position":2,"name":"The Fair Advantage Report 2024"}]},{"@type":"WebSite","@id":"https:\/\/affordableartfair.com\/#website","url":"https:\/\/affordableartfair.com\/","name":"Affordable Art Fair","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/affordableartfair.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"}]}},"_links":{"self":[{"href":"https:\/\/affordableartfair.com\/wp-json\/wp\/v2\/exhibitor-hub\/3910","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/affordableartfair.com\/wp-json\/wp\/v2\/exhibitor-hub"}],"about":[{"href":"https:\/\/affordableartfair.com\/wp-json\/wp\/v2\/types\/exhibitor-hub"}],"version-history":[{"count":4,"href":"https:\/\/affordableartfair.com\/wp-json\/wp\/v2\/exhibitor-hub\/3910\/revisions"}],"predecessor-version":[{"id":3920,"href":"https:\/\/affordableartfair.com\/wp-json\/wp\/v2\/exhibitor-hub\/3910\/revisions\/3920"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/affordableartfair.com\/wp-json\/wp\/v2\/media\/3914"}],"wp:attachment":[{"href":"https:\/\/affordableartfair.com\/wp-json\/wp\/v2\/media?parent=3910"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/affordableartfair.com\/wp-json\/wp\/v2\/categories?post=3910"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}