1<!doctype html> 2<html class="no-js" lang="en-US"> 3 4<head> 5 <meta charset="UTF-8"> 6 7 <title data-head-title>Contact us - choreograffiti</title> 8 <meta name="Copyright" content="Copyright © choreograffiti 2026. All Rights Reserved."> 9 <meta name="viewport" content="width=device-width, initial-scale=1"> 10 <link rel="profile" href="http://gmpg.org/xfn/11" /> 11 <link rel="pingback" href="" /> 12 13 <meta name='robots' content='index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1' /> 14 15 <!-- This site is optimized with the Yoast SEO plugin v27.9 - https://yoast.com/product/yoast-seo-wordpress/ --> 16 <link rel="canonical" href="https://choreograffiti.com/contact-us/" /> 17 <meta property="og:locale" content="en_US" /> 18 <meta property="og:type" content="article" /> 19 <meta property="og:title" content="Contact us - choreograffiti" /> 20 <meta property="og:description" content="[email protected] Germany & EU T: +49.221.5481.6139 (Office DE) M: +49.152. 5841.5396 Scandinavia T: +358.40.556.5883 (FIN) UK T: +44.792.9671.008 (UK) Asia T: +86.137.9531.1193 (CHN)" /> 21 <meta property="og:url" content="https://choreograffiti.com/contact-us/" /> 22 <meta property="og:site_name" content="choreograffiti" /> 23 <meta property="article:modified_time" content="2023-06-19T11:14:28+00:00" /> 24 <meta name="twitter:card" content="summary_large_image" /> 25 <meta name="twitter:label1" content="Est. reading time" /> 26 <meta name="twitter:data1" content="1 minute" /> 27
27<script type="application/ld+json" class="yoast-schema-graph">{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/choreograffiti.com\/contact-us\/","url":"https:\/\/choreograffiti.com\/contact-us\/","name":"Contact us - choreograffiti","isPartOf":{"@id":"https:\/\/choreograffiti.com\/#website"},"datePublished":"2020-11-05T22:40:12+00:00","dateModified":"2023-06-19T11:14:28+00:00","breadcrumb":{"@id":"https:\/\/choreograffiti.com\/contact-us\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/choreograffiti.com\/contact-us\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/choreograffiti.com\/contact-us\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/choreograffiti.com\/"},{"@type":"ListItem","position":2,"name":"Contact us"}]},{"@type":"WebSite","@id":"https:\/\/choreograffiti.com\/#website","url":"https:\/\/choreograffiti.com\/","name":"choreograffiti","description":"Choreograffiti","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/choreograffiti.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"}]}</script>
27 28 <!-- / Yoast SEO plugin. --> 29 30 31<link rel="alternate" type="application/rss+xml" title="choreograffiti » Feed" href="https://choreograffiti.com/feed/" /> 32<link rel="alternate" type="application/rss+xml" title="choreograffiti » Comments Feed" href="https://choreograffiti.com/comments/feed/" /> 33<link rel="alternate" title="oEmbed (JSON)" type="application/json+oembed" href="https://choreograffiti.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fchoreograffiti.com%2Fcontact-us%2F" /> 34<link rel="alternate" title="oEmbed (XML)" type="text/xml+oembed" href="https://choreograffiti.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fchoreograffiti.com%2Fcontact-us%2F&format=xml" /> 35<style id='wp-img-auto-sizes-contain-inline-css'> 36img:is([sizes=auto i],[sizes^="auto," i]){contain-intrinsic-size:3000px 1500px} 37/*# sourceURL=wp-img-auto-sizes-contain-inline-css */ 38</style> 39<style id='wp-emoji-styles-inline-css'> 40 41 img.wp-smiley, img.emoji { 42 display: inline !important; 43 border: none !important; 44 box-shadow: none !important; 45 height: 1em !important; 46 width: 1em !important; 47 margin: 0 0.07em !important; 48 vertical-align: -0.1em !important; 49 background: none !important; 50 padding: 0 !important; 51 } 52/*# sourceURL=wp-emoji-styles-inline-css */ 53</style> 54<style id='wp-block-library-inline-css'> 55:root{ 56 --wp-block-synced-color:#7a00df; 57 --wp-block-synced-color--rgb:122, 0, 223; 58 --wp-bound-block-color:var(--wp-block-synced-color); 59 --wp-editor-canvas-background:#ddd; 60 --wp-admin-theme-color:#007cba; 61 --wp-admin-theme-color--rgb:0, 124, 186; 62 --wp-admin-theme-color-darker-10:#006ba1; 63 --wp-admin-theme-color-darker-10--rgb:0, 107, 160.5; 64 --wp-admin-theme-color-darker-20:#005a87; 65 --wp-admin-theme-color-darker-20--rgb:0, 90, 135; 66 --wp-admin-border-width-focus:2px; 67} 68@media (min-resolution:192dpi){ 69 :root{ 70 --wp-admin-border-width-focus:1.5px; 71 } 72} 73.wp-element-button{ 74 cursor:pointer; 75} 76 77:root .has-very-light-gray-background-color{ 78 background-color:#eee; 79} 80:root .has-very-dark-gray-background-color{ 81 background-color:#313131; 82} 83:root .has-very-light-gray-color{ 84 color:#eee; 85} 86:root .has-very-dark-gray-color{ 87 color:#313131; 88} 89:root .has-vivid-green-cyan-to-vivid-cyan-blue-gradient-background{ 90 background:linear-gradient(135deg, #00d084, #0693e3); 91} 92:root .has-purple-crush-gradient-background{ 93 background:linear-gradient(135deg, #34e2e4, #4721fb 50%, #ab1dfe); 94} 95:root .has-hazy-dawn-gradient-background{ 96 background:linear-gradient(135deg, #faaca8, #dad0ec); 97} 98:root .has-subdued-olive-gradient-background{ 99 background:linear-gradient(135deg, #fafae1, #67a671); 100} 101:root .has-atomic-cream-gradient-background{ 102 background:linear-gradient(135deg, #fdd79a, #004a59); 103} 104:root .has-nightshade-gradient-background{ 105 background:linear-gradient(135deg, #330968, #31cdcf); 106} 107:root .has-midnight-gradient-background{ 108 background:linear-gradient(135deg, #020381, #2874fc); 109} 110:root{ 111 --wp--preset--font-size--normal:16px; 112 --wp--preset--font-size--huge:42px; 113} 114 115.has-regular-font-size{ 116 font-size:1em; 117} 118 119.has-larger-font-size{ 120 font-size:2.625em; 121} 122 123.has-normal-font-size{ 124 font-size:var(--wp--preset--font-size--normal); 125} 126 127.has-huge-font-size{ 128 font-size:var(--wp--preset--font-size--huge); 129} 130 131.has-text-align-center{ 132 text-align:center; 133} 134 135.has-text-align-left{ 136 text-align:left; 137} 138 139.has-text-align-right{ 140 text-align:right; 141} 142 143.has-fit-text{ 144 white-space:nowrap !important; 145} 146 147#end-resizable-editor-section{ 148 display:none; 149} 150 151.aligncenter{ 152 clear:both; 153} 154 155.items-justified-left{ 156 justify-content:flex-start; 157} 158 159.items-justified-center{ 160 justify-content:center; 161} 162 163.items-justified-right{ 164 justify-content:flex-end; 165} 166 167.items-justified-space-between{ 168 justify-content:space-between; 169} 170 171.screen-reader-text{ 172 border:0; 173 clip-path:inset(50%); 174 height:1px; 175 margin:-1px; 176 overflow:hidden; 177 padding:0; 178 position:absolute; 179 width:1px; 180 word-wrap:normal !important; 181} 182 183.screen-reader-text:focus{ 184 background-color:#ddd; 185 clip-path:none; 186 color:#444; 187 display:block; 188 font-size:1em; 189 height:auto; 190 left:5px; 191 line-height:normal; 192 padding:15px 23px 14px; 193 text-decoration:none; 194 top:5px; 195 width:auto; 196 z-index:100000; 197} 198html :where(.has-border-color){ 199 border-style:solid; 200} 201 202html :where([style*=border-top-color]){ 203 border-top-style:solid; 204} 205 206html :where([style*=border-right-color]){ 207 border-right-style:solid; 208} 209 210html :where([style*=border-bottom-color]){ 211 border-bottom-style:solid; 212} 213 214html :where([style*=border-left-color]){ 215 border-left-style:solid; 216} 217 218html :where([style*=border-width]){ 219 border-style:solid; 220} 221 222html :where([style*=border-top-width]){ 223 border-top-style:solid; 224} 225 226html :where([style*=border-right-width]){ 227 border-right-style:solid; 228} 229 230html :where([style*=border-bottom-width]){ 231 border-bottom-style:solid; 232} 233 234html :where([style*=border-left-width]){ 235 border-left-style:solid; 236} 237html :where(img[class*=wp-image-]){ 238 height:auto; 239 max-width:100%; 240} 241:where(figure){ 242 margin:0 0 1em; 243} 244 245html :where(.is-position-sticky){ 246 --wp-admin--admin-bar--position-offset:var(--wp-admin--admin-bar--height, 0px); 247} 248 249@media screen and (max-width:600px){ 250 html :where(.is-position-sticky){ 251 --wp-admin--admin-bar--position-offset:0px; 252 } 253} 254 255/*# sourceURL=wp-block-library-inline-css */ 256</style> 257<style id='classic-theme-styles-inline-css'> 258/** 259 * These rules are needed for backwards compatibility. 260 * They should match the button element rules in the base theme.json file. 261 */ 262.wp-block-button__link { 263 color: #ffffff; 264 background-color: #32373c; 265 border-radius: 9999px; /* 100% causes an oval, but any explicit but really high value retains the pill shape. */ 266 267 /* This needs a low specificity so it won't override the rules from the button element if defined in theme.json. */ 268 box-shadow: none; 269 text-decoration: none; 270 271 /* The extra 2px are added to size solids the same as the outline versions.*/ 272 padding: calc(0.667em + 2px) calc(1.333em + 2px); 273 274 font-size: 1.125em; 275} 276 277.wp-block-file__button { 278 background: #32373c; 279 color: #ffffff; 280 text-decoration: none; 281} 282 283/*# sourceURL=/wp-includes/css/classic-themes.css */ 284</style> 285<style id='global-styles-inline-css'> 286:root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgb(6,147,227) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgb(252,185,
2860) 0%,rgb(255,105,0) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgb(255,105,0) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgb(255, 255, 255), 6px 6px rgb(0, 0, 0);--wp--preset--shadow--crisp: 6px 6px 0px rgb(0, 0, 0);}:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}
286.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;} 287/*# sourceURL=global-styles-inline-css */ 288</style> 289 290<link rel='stylesheet' id='screen-css' href='https://choreograffiti.com/app/themes/choreograffiti/_/css/main.min.css?ver=1782233229' media='all' /> 291<link rel="https://api.w.org/" href="https://choreograffiti.com/wp-json/" /><link rel="alternate" title="JSON" type="application/json" href="https://choreograffiti.com/wp-json/wp/v2/pages/369" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://choreograffiti.com/wp/xmlrpc.php?rsd" /> 292<meta name="generator" content="WordPress 6.9.9" /> 293<link rel='shortlink' href='https://choreograffiti.com/?p=369' /> 294<link rel="shortcut icon" href="https://choreograffiti.com/app/themes/choreograffiti/favicon.png" data-favicon /> 295<style id='core-block-supports-inline-css'> 296/** 297 * Core styles: block-supports 298 */ 299 300/*# sourceURL=core-block-supports-inline-css */ 301</style> 302 303</head> 304 305<body class="wp-singular page-template-default page page-id-369 wp-theme-choreograffiti" data-base-href="https://choreograffiti.com/" data-home-url="https://choreograffiti.com/" data-assets-href="https://choreograffiti.com/app/themes/choreograffiti/"> 306 307 <div class="cookies" role="dialog" tabindex="-1" data-cookies> 308 <button class="cookies__button" type="button">I agree</button> 309 </div> 310 311 <div class="preloader" data-pre-loader> 312 <div class="preloader__svg"><svg width="71" height="72" viewBox="0 0 71 72" fill="none" xmlns="http://www.w3.org/2000/svg"> 313<path d="M11.3144 32.9482C11.0011 35.9968 9.06822 37.5079 5.6284 37.1498L4.83332 37.067C1.4082 36.709 -0.274013 34.7285 0.0363825 31.7104C0.30957 29.0612 1.77147 27.6103 4.43186 27.5916L4.2703 29.1628C2.58222 29.1884 1.56878 30.0327 1.38176 31.8504C1.16928 33.9296 2.43828 35.2611 5.06832 35.5343L5.72534 35.6033C8.2183 35.8627 9.68019 34.8636 9.89855 32.7381C10.0895 30.874 9.14753 29.8117 7.48588 29.4517L7.65038 27.85C10.207 28.3816 11.615 30.0218 11.3144 32.9482Z" fill="#1D1D1B"/> 314<path d="M9.65259 21.493L13.5771 24.1609L12.7428 25.4056L3.68359 19.2482L4.51882 18.0025L8.4678 20.6882L11.5463 16.093L7.59536 13.4083L8.43059 12.1636L17.4889 18.321L16.6536 19.5658L12.7311 16.8988L9.65259 21.493Z" fill="#1D1D1B"/> 315<path d="M24.4004 7.84179L24.0978 7.26677C22.8797 4.9391 21.2201 4.19247 19.4115 5.15313C17.5903 6.12168 17.3132 7.91477 18.5185 10.2148L18.827 10.8036C20.0176 13.0771 21.6078 13.7902 23.4291 12.8216C25.2102 11.8748 25.592 10.1142 24.4004 7.84179ZM17.4747 11.5749L17.1232 10.9033C16.5857 9.87653 16.3174 8.93362 16.2841 8.04102C16.2253 6.26962 17.0811 4.85231 18.781 3.94886C19.623 3.50009 20.4377 3.29592 21.2563 3.33242C22.8797 3.38075 24.3603 4.41439 25.4432 6.48168L25.7947 7.15335C26.3401 8.1939 26.6163 9.15061 26.6407 10.0294C26.6789 11.7949 25.7732 13.151 24.0743 14.0545C21.4384 15.456 19.1237 14.7242 17.4747 11.5749Z" fill="#1D1D1B"/> 316<path d="M32.8136 5.4435L35.473 5.43462C37.118 5.4287 38.0835 4.72843 38.0795 3.31999C38.0737 2.03484 37.3187 1.30991 35.5043 1.31583L32.7989 1.32569L32.8136 5.4435ZM32.8332
31611.0171L31.3409 11.022L31.3047 0.014894L35.5308 9.94505e-05C38.4213 -0.00976356 39.5943 1.20931 39.6012 3.22235C39.6051 4.73928 38.9011 5.60821 37.6115 6.03133C38.8276 6.3361 39.3515 7.09259 39.3583 8.71802L39.3622 10.4371C39.3622 10.6847 39.4416 10.8701 39.611 10.9934L37.9963 10.9993C37.8739 10.876 37.8112 10.6748 37.8112 10.4263L37.8054 8.7555C37.7995 7.22278 37.1679 6.72963 35.4309 6.73457L32.8185 6.74344L32.8332 11.0171Z" fill="#1D1D1B"/> 317<path d="M42.8008 11.9064L47.5448 1.9872L54.2756 5.25383L53.7077 6.43936L48.2929 3.81186L46.7919 6.95027L51.39 9.18128L50.8221 10.3668L46.2249 8.13679L44.6974 11.3314L50.3198 14.0585L49.7392 15.2727L42.8008 11.9064Z" fill="#1D1D1B"/> 318<path d="M60.407 19.5753L60.9122 19.169C62.9538 17.5268 63.3709 15.7455 62.096 14.1359C60.8104 12.5154 59.0097 12.5755 56.9917 14.198L56.4747 14.6132C54.4811 16.217 54.0845 17.9243 55.3682 19.5457C56.6254 21.1307 58.4134 21.1781 60.407 19.5753ZM55.471 13.4208L56.0605 12.9484C56.9593 12.2224 57.8288 11.7816 58.6944 11.5823C60.4109 11.1918 61.9541 11.7737 63.1535 13.2867C63.7469 14.0363 64.0994 14.8036 64.2159 15.6212C64.4725 17.2368 63.742 18.8948 61.9286 20.3535L61.3401 20.826C60.4275 21.5598 59.5453 22.0115 58.6934 22.2018C56.9779 22.5707 55.4877 21.9276 54.2872 20.4147C52.4268 18.0673 52.7078 15.6429 55.471 13.4208Z" fill="#1D1D1B"/> 319<path d="M61.1195 33.8473C60.1266 33.4232 59.402 32.5592 59.1425 31.0482C58.6794 28.3329 60.0346 26.4944 63.5174 25.8908L64.3654 25.7429C67.8209 25.1432 69.8977 26.6217 70.4029 29.5815C70.8514 32.2061 69.7547 33.9992 67.3479 34.6058L67.0846 33.0652C68.4946 32.647 69.3836 31.6439 69.0674 29.7985C68.7002 27.6454 67.2324 26.8169 64.5661 27.2795L63.8239 27.4077C61.2007 27.8476 60.2059 29.1515 60.5565 31.1961C60.6788 31.9132 60.9119 32.4537 61.2889 32.8284C62.0095 33.583 63.0572 33.7783 64.0756 33.6175L63.5576 30.5018L64.8305 30.2808L65.6266 34.9362L60.202 35.8761L60.0091 34.7478L62.6881 34.1728C62.1241 34.16 61.6081 34.0613 61.1195 33.8473Z" fill="#1D1D1B"/> 320<path d="M64.6592 42.4717L63.8435 45.0213C63.3393 46.5984 63.7016 47.7405 65.0332 48.1725C66.2474 48.5661 67.1659 48.067 67.721 46.3282L68.5504 43.7332L64.6592 42.4717ZM59.3913 40.7634L59.8476 39.3343L70.2512 42.7065L68.9568 46.7602C68.0696 49.5307 66.5558 50.2763 64.6543 49.6599C63.2198 49.1953 62.6176 48.2514 62.6176 46.8854C61.9528 47.9546 61.0774 48.2228 59.5401 47.7257L57.9157 47.1981C57.6816 47.1231 57.4829 47.1399 57.3125 47.2642L57.8089 45.7166C57.9627 45.6358 58.1722 45.6387 58.4053 45.7147L59.9876 46.2275C61.4348 46.697 62.0967 46.2443 62.6294 44.5785L63.4294 42.0732L59.3913 40.7634Z" fill="#1D1D1B"/> 321<path d="M54.3984 57.1477L59.2609 59.3481L59.4372 59.4783L59.3148 59.2929L57.0225 54.4699L54.3984 57.1477ZM56.4262 53.2252L55.1249 50.4754L56.2049 49.3737L61.1135 60.0356L60.0237 61.1491L49.2852 56.4385L50.3652 55.3358L53.1343 56.5875L56.4262 53.2252Z" fill="#1D1D1B"/> 322<path d="M45.4313 58.1133L46.8031 57.6103L50.5425 67.9556L43.753 70.445L43.2908 69.1648L48.7085 67.1774L47.4307 63.6425L42.3596 65.5007L41.8984 64.2205L46.9656 62.3623L45.4313 58.1133Z" fill="#1D1D1B"/> 323<path d="M35.4724 60.2848L36.9294 60.3844L36.1852 71.3689L28.9766 70.8728L29.0696 69.5136L34.8202 69.9091L35.0748 66.1553L29.6923 65.7854L29.7834 64.4253L35.1669 64.7962L35.4724 60.2848Z" fill="#1D1D1B"/> 324<path d="M26.3656 60.1664L24.4817 59.2175L20.8245 66.5832L22.7074 67.5321L22.1023 68.7511L17.043 66.2025L17.6481 64.9834L19.532 65.9323L23.1892 58.5656L21.3063 57.6178L21.9329 56.3573L26.9913 58.9059L26.3656 60.1664Z" fill="#1D1D1B"/> 325<path d="M16.4955 51.2526L17.4972 52.4055L10.2739 58.7623L12.3752 61.1876L11.3686 62.0743L6.07031 55.9631L7.07787 55.0765L9.27219 57.6073L16.4955 51.2526Z" fill="#1D1D1B"/> 326<path d="M11.8062 46.6548L11.1335 44.6457L3.38533 47.2811L4.059 49.2902L2.77727 49.7271L0.96875 44.3291L2.2495 43.8932L2.92415 45.9023L10.6703 43.2659L9.99667 41.2568L11.3225 40.806L13.132 46.2041L11.8062 46.6548Z" fill="#1D1D1B"/> 327</svg> 328</div> 329 </div> 330 331 <div class="overall" data-body-class="wp-singular page-template-default page page-id-369 wp-theme-choreograffiti" id="top"> 332 333 <header class="header"> 334 <div class="header__container" > 335 336 <a href="https://choreograffiti.com/" class="logo" title="choreograffiti"> 337 <svg width="71" height="72" viewBox="0 0 71 72" fill="none" xmlns="http://www.w3.org/2000/svg"> 338<path d="M11.3144 32.9482C11.0011 35.9968 9.06822 37.5079 5.6284 37.1498L4.83332 37.067C1.4082 36.709 -0.274013 34.7285 0.0363825 31.7104C0.30957 29.0612 1.77147 27.6103 4.43186 27.5916L4.2703 29.1628C2.58222 29.1884 1.56878 30.0327 1.38176 31.8504C1.16928 33.9296 2.43828 35.2611 5.06832 35.5343L5.72534 35.6033C8.2183 35.8627 9.68019 34.8636 9.89855 32.7381C10.0895 30.874 9.14753 29.8117 7.48588 29.4517L7.65038 27.85C10.207 28.3816 11.615 30.0218 11.3144 32.9482Z" fill="#1D1D1B"/> 339<path d="M9.65259 21.493L13.5771 24.1609L12.7428 25.4056L3.68359 19.2482L4.51882 18.0025L8.4678 20.6882L11.5463 16.093L7.59536 13.4083L8.43059 12.1636L17.4889 18.321L16.6536 19.5658L12.7311 16.8988L9.65259 21.493Z" fill="#1D1D1B"/> 340<path d="M24.4004 7.84179L24.0978 7.26677C22.8797 4.9391 21.2201 4.19247 19.4115 5.15313C17.5903 6.12168 17.3132 7.91477 18.5185 10.2148L18.827 10.8036C20.01
34076 13.0771 21.6078 13.7902 23.4291 12.8216C25.2102 11.8748 25.592 10.1142 24.4004 7.84179ZM17.4747 11.5749L17.1232 10.9033C16.5857 9.87653 16.3174 8.93362 16.2841 8.04102C16.2253 6.26962 17.0811 4.85231 18.781 3.94886C19.623 3.50009 20.4377 3.29592 21.2563 3.33242C22.8797 3.38075 24.3603 4.41439 25.4432 6.48168L25.7947 7.15335C26.3401 8.1939 26.6163 9.15061 26.6407 10.0294C26.6789 11.7949 25.7732 13.151 24.0743 14.0545C21.4384 15.456 19.1237 14.7242 17.4747 11.5749Z" fill="#1D1D1B"/> 341<path d="M32.8136 5.4435L35.473 5.43462C37.118 5.4287 38.0835 4.72843 38.0795 3.31999C38.0737 2.03484 37.3187 1.30991 35.5043 1.31583L32.7989 1.32569L32.8136 5.4435ZM32.8332 11.0171L31.3409 11.022L31.3047 0.014894L35.5308 9.94505e-05C38.4213 -0.00976356 39.5943 1.20931 39.6012 3.22235C39.6051 4.73928 38.9011 5.60821 37.6115 6.03133C38.8276 6.3361 39.3515 7.09259 39.3583 8.71802L39.3622 10.4371C39.3622 10.6847 39.4416 10.8701 39.611 10.9934L37.9963 10.9993C37.8739 10.876 37.8112 10.6748 37.8112 10.4263L37.8054 8.7555C37.7995 7.22278 37.1679 6.72963 35.4309 6.73457L32.8185 6.74344L32.8332 11.0171Z" fill="#1D1D1B"/> 342<path d="M42.8008 11.9064L47.5448 1.9872L54.2756 5.25383L53.7077 6.43936L48.2929 3.81186L46.7919 6.95027L51.39 9.18128L50.8221 10.3668L46.2249 8.13679L44.6974 11.3314L50.3198 14.0585L49.7392 15.2727L42.8008 11.9064Z" fill="#1D1D1B"/> 343<path d="M60.407 19.5753L60.9122 19.169C62.9538 17.5268 63.3709 15.7455 62.096 14.1359C60.8104 12.5154 59.0097 12.5755 56.9917 14.198L56.4747 14.6132C54.4811 16.217 54.0845 17.9243 55.3682 19.5457C56.6254 21.1307 58.4134 21.1781 60.407 19.5753ZM55.471 13.4208L56.0605 12.9484C56.9593 12.2224 57.8288 11.7816 58.6944 11.5823C60.4109 11.1918 61.9541 11.7737 63.1535 13.2867C63.7469 14.0363 64.0994 14.8036 64.2159 15.6212C64.4725 17.2368 63.742 18.8948 61.9286 20.3535L61.3401 20.826C60.4275 21.5598 59.5453 22.0115 58.6934 22.2018C56.9779 22.5707 55.4877 21.9276 54.2872 20.4147C52.4268 18.0673 52.7078 15.6429 55.471 13.4208Z" fill="#1D1D1B"/> 344<path d="M61.1195 33.8473C60.1266 33.4232 59.402 32.5592 59.1425 31.0482C58.6794 28.3329 60.0346 26.4944 63.5174 25.8908L64.3654 25.7429C67.8209 25.1432 69.8977 26.6217 70.4029 29.5815C70.8514 32.2061 69.7547 33.9992 67.3479 34.6058L67.0846 33.0652C68.4946 32.647 69.3836 31.6439 69.0674 29.7985C68.7002 27.6454 67.2324 26.8169 64.5661 27.2795L63.8239 27.4077C61.2007 27.8476 60.2059 29.1515 60.5565 31.1961C60.6788 31.9132 60.9119 32.4537 61.2889 32.8284C62.0095 33.583 63.0572 33.7783 64.0756 33.6175L63.5576 30.5018L64.8305 30.2808L65.6266 34.9362L60.202 35.8761L60.0091 34.7478L62.6881 34.1728C62.1241 34.16 61.6081 34.0613 61.1195 33.8473Z" fill="#1D1D1B"/> 345<path d="M64.6592 42.4717L63.8435 45.0213C63.3393 46.5984 63.7016 47.7405 65.0332 48.1725C66.2474 48.5661 67.1659 48.067 67.721 46.3282L68.5504 43.7332L64.6592 42.4717ZM59.3913 40.7634L59.8476 39.3343L70.2512 42.7065L68.9568 46.7602C68.0696 49.5307 66.5558 50.2763 64.6543 49.6599C63.2198 49.1953 62.6176 48.2514 62.6176 46.8854C61.9528 47.9546 61.0774 48.2228 59.5401 47.7257L57.9157 47.1981C57.6816 47.1231 57.4829 47.1399 57.3125 47.2642L57.8089 45.7166C57.9627 45.6358 58.1722 45.6387 58.4053 45.7147L59.9876 46.2275C61.4348 46.697 62.0967 46.2443 62.6294 44.5785L63.4294 42.0732L59.3913 40.7634Z" fill="#1D1D1B"/> 346<path d="M54.3984 57.1477L59.2609 59.3481L59.4372 59.4783L59.3148 59.2929L57.0225 54.4699L54.3984 57.1477ZM56.4262 53.2252L55.1249 50.4754L56.2049 49.3737L61.1135 60.0356L60.0237 61.1491L49.2852 56.4385L50.3652 55.3358L53.1343 56.5875L56.4262 53.2252Z" fill="#1D1D1B"/> 347<path d="M45.4313 58.1133L46.8031 57.6103L50.5425 67.9556L43.753 70.445L43.2908 69.1648L48.7085 67.1774L47.4307 63.6425L42.3596 65.5007L41.8984 64.2205L46.9656 62.3623L45.4313 58.1133Z" fill="#1D1D1B"/> 348<path d="M35.4724 60.2848L36.9294 60.3844L36.1852 71.3689L28.9766 70.8728L29.0696 69.5136L34.8202 69.9091L35.0748 66.1553L29.6923 65.7854L29.7834 64.4253L35.1669 64.7962L35.4724 60.2848Z" fill="#1D1D1B"/> 349<path d="M26.3656 60.1664L24.4817 59.2175L20.8245 66.5832L22.7074 67.5321L22.1023 68.7511L17.043 66.2025L17.6481 64.9834L19.532 65.9323L23.1892 58.5656L21.3063 57.6178L21.9329 56.3573L26.9913 58.9059L26.3656 60.1664Z" fill="#1D1D1B"/> 350<path d="M16.4955 51.2526L17.4972 52.4055L10.2739 58.7623L12.3752 61.1876L11.3686 62.0743L6.07031 55.9631L7.07787 5
3505.0765L9.27219 57.6073L16.4955 51.2526Z" fill="#1D1D1B"/> 351<path d="M11.8062 46.6548L11.1335 44.6457L3.38533 47.2811L4.059 49.2902L2.77727 49.7271L0.96875 44.3291L2.2495 43.8932L2.92415 45.9023L10.6703 43.2659L9.99667 41.2568L11.3225 40.806L13.132 46.2041L11.8062 46.6548Z" fill="#1D1D1B"/> 352</svg> 353 </a> 354 355 <button class="burger" data-nav-toggle="menu" aria-controls="menu-menu" aria-expanded="false"> 356 <span class="burger__label">Menu</span> 357 </button> 358 359 <nav class="header__menu" data-collapsing-header> 360 <ul id="menu-menu" class="menu"><li id="menu-item-19" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-19"><a href="https://choreograffiti.com/fashion-shows/" class="link">Fashion shows</a></li> 361<li id="menu-item-18" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-18"><a href="https://choreograffiti.com/commercials/" class="link">Commercials</a></li> 362<li id="menu-item-17" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-17"><a href="https://choreograffiti.com/mass-events/" class="link">Mass events</a></li> 363</ul> <div class="header__menu-info"> 364 <a href="https://choreograffiti.com/info/" class="header__menu-forward link link--arrow" target="">Info<svg width="18" height="13" viewBox="0 0 18 13" fill="none" xmlns="http://www.w3.org/2000/svg"> 365<path d="M12 0.635417C12 3.9491 14.6863 6.63542 18 6.63542" stroke="black"/> 366<path d="M12 12.6354C12 9.32173 14.6863 6.63542 18 6.63542" stroke="black"/> 367<path d="M0 6.63542H18" stroke="black"/> 368</svg> 369</a> 370 <button type="button" class="header__menu-back" data-go-back><svg width="52" height="52" viewBox="0 0 52 52" fill="none" xmlns="http://www.w3.org/2000/svg"> 371<rect x="8.19043" y="7.8532" width="52" height="1.625" transform="rotate(45 8.19043 7.8532)" fill="currentColor"/> 372<rect width="52" height="1.625" transform="matrix(-0.707107 0.707107 0.707107 0.707107 43.8105 7.8532)" fill="currentColor"/> 373</svg> 374</button> 375 376 377<div class="fixed-bar"> 378 379 <a href="https://choreograffiti.com/contact-us/" target="" class="link fixed-bar__contact">Contact</a> 380 381 <a href="https://www.instagram.com/choreograffiti_shows/" target="_blank" class="link">Instagram</a> 382 383</div> 384 </div> 385 </nav> 386 387 </div> 388 389 390<div class="fixed-bar"> 391 392 <a href="https://choreograffiti.com/contact-us/" target="" class="link fixed-bar__contact">Contact</a> 393 394 <a href="https://www.instagram.com/choreograffiti_shows/" target="_blank" class="link">Instagram</a> 395 396</div> 397 </header> 398 399 <div class="ajax-wrapper"> 400 401 <main class="main-container"> 402 403 404 <article class="section--default contact-us-page"> 405 <h2 class="section--default__header">Contact us</h2> 406 <div class="contact"> 407 <div class="wysiwyg-content"><p>[email protected]</p> 408<p>Germany & EU<br /> 409T: +49.221.5481.6139 (Office DE)<br /> 410M: +49.152. 5841.5396</p> 411<p>Scandinavia<br /> 412T: +358.40.556.5883 (FIN)</p> 413<p>UK<br /> 414T: +44.792.9671.008 (UK)</p> 415<p>Asia<br /> 416T: +86.137.9531.1193 (CHN)</p> 417</div> </div> 418 </article> 419 420 421 422 </main> 423 424 <footer class="footer"> 425 <div class="footer__container"> 426 427 <div class="footer__container-col"> 428 <p class="footer__container-copy">Copyright © 2026 choreograffiti.</p> 429 <p class="footer__container-copy">All rights reserved</p> 430 </div> 431 432 <div class="footer__text footer__container-col"> 433 <p class="footer__container-copy">Innovation Hub:</p> 434 435 <div class="footer__image"> 436 <a href="http://lab12.choreograffiti.com"> 437 <span class="visually-hidden"></span> 438 <?xml version="1.0" encoding="utf-8"?> 439<!-- Generator: Adobe Illustrator 25.4.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> 440<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" 441 width="1080px" height="522px" viewBox="0 0 1080 522" style="enable-background:new 0 0 1080 522;" xml:space="preserve">
442<g id="nKAWVu_00000124842178072412872830000002342037265081267634_"> 443 <g> 444 <path d="M47.14,460.1c-0.33,0.09-0.66,0.17-1,0.26c0-133.95,0-267.89,0-401.84c0.33,0.09,0.66,0.17,1,0.26 445 C47.14,192.55,47.14,326.32,47.14,460.1z"/> 446 <path d="M770.33,247.7c5.11,3.3,9.57,6.14,13.98,9.04c20.38,13.4,33.31,31.6,36.29,56.21c2.75,22.72,3.14,45.44-1.87,67.88 447 c-9.41,42.17-36.45,66.46-78.12,75.47c-13.21,2.86-26.62,4.04-40.12,4.05c-42.94,0.03-85.89-0.05-128.83,0.11 448 c-4.05,0.01-5.25-0.83-5.25-5.09c0.13-130.61,0.11-261.21,0.08-391.82c0-2.95-0.36-5.16,4.14-5.14 449 c43.94,0.24,87.88-0.1,131.82,0.41c19.85,0.23,39.37,3.58,57.94,11.15c30.66,12.5,48.22,35.46,53.61,67.76 450 c3.66,21.91,3.06,43.66-4.66,64.82c-6.68,18.32-18.45,32.47-35.13,42.59C773.09,245.81,772.02,246.57,770.33,247.7z M661.25,338.2 451 c0,15.12,0,30.23,0,45.35c0,2.1-0.56,4.27,3.05,4.17c10.47-0.3,20.95-0.11,31.38-1.3c18.02-2.07,26.25-9.04,30.01-26.07 452 c2.74-12.42,2.95-25.05,1.29-37.63c-2.14-16.15-10.73-26.77-27.13-30.4c-11.76-2.61-23.77-2.47-35.69-3.32 453 c-3.65-0.26-2.9,2.33-2.91,4.35C661.24,308.3,661.25,323.25,661.25,338.2z M661.25,173.18c0,13.11,0.01,26.22-0.01,39.32 454 c0,2.11-0.14,3.9,2.98,3.75c11.27-0.57,22.59-0.83,33.64-3.35c11.02-2.51,18.1-9.31,20.97-20.29c2.72-10.39,3.37-21.03,2.11-31.6 455 c-2.14-17.94-10.86-26.2-28.79-28.87c-8.95-1.33-17.91-0.66-26.86-1.05c-3.41-0.15-4.13,1.13-4.09,4.26 456 C661.34,147.96,661.25,160.57,661.25,173.18z"/> 457 <path d="M404.41,58.52c17.31,0,34.62,0.14,51.93-0.11c3.91-0.06,5.42,1.06,6.23,4.84c9.65,45.09,19.42,90.15,29.21,135.2 458 c18.68,85.89,37.36,171.79,56.21,257.65c0.89,4.05-0.34,4.32-3.68,4.31c-28.96-0.09-57.92-0.1-86.89,0.01 459 c-3.15,0.01-4.51-0.53-5.09-4.09c-3.72-22.92-7.88-45.77-11.61-68.69c-0.7-4.27-2.17-5.63-6.6-5.58 460 c-21.14,0.26-42.28,0.21-63.42,0.02c-3.76-0.03-5.12,1.06-5.63,4.76c-3,22.03-6.27,44.02-9.34,66.04 461 c-1.04,7.45-0.9,7.47-8.53,7.47c-27.63,0-55.26-0.08-82.89,0.08c-4.17,0.02-4.86-0.88-3.95-5.01 462 c24.27-110.3,48.37-220.64,72.53-330.97c4.54-20.74,9.27-41.43,13.61-62.21c0.7-3.36,2.12-3.78,4.97-3.77 463 C369.13,58.56,386.77,58.52,404.41,58.52z M404.44,132.78c-0.36-0.04-0.73-0.07-1.09-0.11c-0.54,3.34-1.11,6.68-1.62,10.03 464 c-5.2,34.07-10.41,68.15-15.6,102.23c-3.12,20.48-6.22,40.96-9.3,61.45c-0.4,2.65-1.15,5.16,3.41,5.08 465 c15.46-0.24,30.93-0.16,46.39-0.04c3.18,0.03,3.81-0.81,3.33-4.02c-3.9-25.89-7.55-51.82-11.33-77.73 466 C413.92,197.38,409.17,165.08,404.44,132.78z"/> 467 <path d="M47.14,460.1c0-133.77,0-267.55,0-401.32c19.96-0.09,39.91-0.19,59.87-0.25c9.98-0.03,19.97,0.13,29.94-0.08 468 c3.27-0.07,4.2,0.88,4.15,4.14c-0.18,12.95-0.07,25.91-0.07,38.86c0,90.85,0.05,181.7-0.13,272.55c-0.01,4.96,1.39,5.88,6.05,5.86 469 c34.44-0.21,68.88-0.04,103.31-0.2c4.3-0.02,5.96,0.73,5.9,5.57c-0.28,23.58-0.15,47.17-0.09,70.75c0.01,2.79-0.06,4.48-3.84,4.47 470 c-67.71-0.13-135.42-0.09-203.13-0.11C48.45,460.34,47.8,460.18,47.14,460.1z"/> 471 <path d="M976.37,239c-15.31,0-30.62,0-45.93,0c-7.53,0-7.19,0.01-6.85-7.76c0.99-22.64,11.26-41.3,24.65-58.68 472 c8.84-11.48,19.01-21.77,29.09-32.13c10.23-10.51,14.52-22.82,11.69-37.29c-1.37-6.98-5.59-10.72-11.64-11.08 473 c-6.67-0.4-10.82,2.52-13.47,9.5c-2.54,6.69-2.35,13.71-2.2,20.67c0.07,3.24-0.87,4.26-4.2,4.19c-9.98-0.22-19.97-0.06-29.95-0.11 474 c-1.49-0.01-3.54,0.71-3.61-2.04c-0.38-14.94,0.46-29.6,9.4-42.48c7.04-10.15,17.14-15.58,28.91-17.93 475 c11.87-2.37,23.82-2.23,35.6,0.89c17.82,4.72,29.01,18.65,31.19,37.16c2.91,24.78-5.66,44.79-23.53,61.6 476 c-9.68,9.1-19.48,18.13-27.92,28.46c-2.64,3.22-5.06,6.6-6.98,10.29c-2.36,4.55-2.2,4.82,2.84,4.83 477 c17.14,0.01,34.28,0.11,51.42-0.08c3.8-0.04,5.23,0.78,5.04,4.87c-0.35,7.29-0.33,14.63-0.01,21.92c0.18,4.02-0.79,5.39-5.1,5.31 478 C1008.66,238.83,992.51,239,976.37,239z"/> 479 <path d="M905.96,153.28c0,26.74-0.14,53.48,0.13,80.22c0.05,4.77-1.47,5.75-5.84,5.59c-8.97-0.32-17.97-0.31-26.94,0 480 c-4.06,0.14-5.28-0.83-5.26-5.09c0.19-36.04,0.02-72.08,0.22-108.12c0.03-4.66-0.89-6.33-5.9-6.07 481 c-8.79,0.45-17.63,0.01-26.44,0.19c-3.06,0.06-4.04-0.92-3.95-3.97c0.21-6.47,0.25-12.96-0.01-19.43c-0.14-3.44,1.2-4.1,4.31-4.1 482 c10.12,0,19.81-2.03,28.66-7.18c6.27-3.65,10.91-8.78,12.97-15.78c0.79-2.68,2.04-3.31,4.55-3.25c6.32,0.13,12.66,0.29,18.96-0.05 483 c3.92-0.21,4.63,1.25,4.61,4.82C905.89,98.47,905.96,125.88,905.96,153.28z"/> 484 </g> 485</g> 486</svg> 487 </a> 488 </div> 489 </div> 490
491 <div class="footer__container-col"> 492 <p class="footer__container-copy">Designed by</p> 493 <p class="footer__container-copy"><a class="link" href="https://www.hopastudio.com/" target="blank">Hopastudio</a></p> 494 </div> 495 496 </div> 497 </footer> 498 </div> 499 </div> 500 501 <!-- here goes GA etc --> 502 503
503<script> 504 window.themeUrls = {"afterLoginUrl":"https:\/\/choreograffiti.com\/ch-lab","afterLogoutUrl":"https:\/\/choreograffiti.com\/login-lab","afterDeletedUrl":"https:\/\/choreograffiti.com\/login-lab"}; 505 </script>
505 506 507
507<script type="speculationrules"> 508{"prefetch":[{"source":"document","where":{"and":[{"href_matches":"/*"},{"not":{"href_matches":["/wp/wp-*.php","/wp/wp-admin/*","/app/uploads/*","/app/*","/app/plugins/*","/app/themes/choreograffiti/*","/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]} 509</script>
vendor: 1 bytes, line 509
509
510<script type="text/javascript"> 511var ajaxurl = 'https://choreograffiti.com/wp/wp-admin/admin-ajax.php'; 512</script>
vendor: 1 bytes, line 512
512
513<script type="text/javascript"> 514 var gmaps_key = 'AIzaSyBe26U-sNlEJYqthDv4bDI7kkySfi-n9nQ'; 515</script>
vendor: 1 bytes, line 515
515
516<script id="owd-members-js-extra"> 517var owdMembersSettings = {"nonce":"424f52a3de","is_wp_logged_in":"0","is_member_logged_in":"0","urls":{"login":false,"logout":"/contact-us/?logout=1","register":false,"profile":false,"remind_password":false}}; 518//# sourceURL=owd-members-js-extra 519</script>
vendor: 1 bytes, line 519
519
520<script src="https://choreograffiti.com/app/plugins/owd-members/js/main.js" id="owd-members-js"></script>
vendor: 1 bytes, line 520
520
521<script defer="defer" src="https://choreograffiti.com/app/themes/choreograffiti/_/js/lib/modernizr.min.js?ver=1782233316" id="modernizr-js"></script>
vendor: 1 bytes, line 521
521
522<script defer="defer" src="https://choreograffiti.com/app/themes/choreograffiti/_/js/lib/intersection-observer.js?ver=1782233315" id="intersection-observer-js"></script>
vendor: 1 bytes, line 522
522
523<script defer="defer" src="https://choreograffiti.com/app/themes/choreograffiti/_/js/dist/main.min.js?ver=1782233315" id="jquery-js"></script>
vendor: 1 bytes, line 523
523
524<script defer="defer" src="https://choreograffiti.com/app/themes/choreograffiti/_/js/lib/jquery.marquee.js?ver=1782233316" id="jquery.marquee-js"></script>
vendor: 1 bytes, line 524
524
525<script defer="defer" src="https://choreograffiti.com/app/themes/choreograffiti/_/js/legacy.js?ver=1782233230" id="legacy-js"></script>
vendor: 1 bytes, line 525
525
526<script defer="defer" src="https://choreograffiti.com/app/themes/choreograffiti/_/js/map.js?ver=1782233230" id="map-js"></script>
vendor: 1 bytes, line 526
526
527<script id="wp-emoji-settings" type="application/json"> 528{"baseUrl":"https://s.w.org/images/core/emoji/17.0.2/72x72/","ext":".png","svgUrl":"https://s.w.org/images/core/emoji/17.0.2/svg/","svgExt":".svg","source":{"wpemoji":"https://choreograffiti.com/wp/wp-includes/js/wp-emoji.js?ver=6.9.9","twemoji":"https://choreograffiti.com/wp/wp-includes/js/twemoji.js?ver=6.9.9"}} 529</script>
vendor: 1 bytes, line 529
529
530<script type="module"> 531/** 532 * @output wp-includes/js/wp-emoji-loader.js 533 */ 534 535/* eslint-env es6 */ 536 537// Note: This is loaded as a script module, so there is no need for an IIFE to prevent pollution of the global scope. 538 539/** 540 * Emoji Settings as exported in PHP via _print_emoji_detection_script(). 541 * @typedef WPEmojiSettings 542 * @type {object} 543 * @property {?object} source 544 * @property {?string} source.concatemoji 545 * @property {?string} source.twemoji 546 * @property {?string} source.wpemoji 547 */ 548 549const selector = 'script#wp-emoji-settings'; 550const script = document.querySelector( selector ); 551if ( ! ( script instanceof HTMLScriptElement ) ) { 552 throw new Error( `Element missing: ${ selector }`); 553} 554const settings = /** @type {WPEmojiSettings} */ ( JSON.parse( script.text ) ); 555 556// For compatibility with other scripts that read from this global, in particular wp-includes/js/wp-emoji.js (source file: js/_enqueues/wp/emoji.js). 557window._wpemojiSettings = settings; 558 559/** 560 * Support tests. 561 * @typedef SupportTests 562 * @type {object} 563 * @property {?boolean} flag 564 * @property {?boolean} emoji 565 */ 566 567const sessionStorageKey = 'wpEmojiSettingsSupports'; 568const tests = [ 'flag', 'emoji' ]; 569 570/** 571 * Checks whether the browser supports offloading to a Worker. 572 * 573 * @since 6.3.0 574 * 575 * @private 576 * 577 * @returns {boolean} 578 */ 579function supportsWorkerOffloading() { 580 return ( 581 typeof Worker !== 'undefined' && 582 typeof OffscreenCanvas !== 'undefined' && 583 typeof URL !== 'undefined' && 584 URL.createObjectURL && 585 typeof Blob !== 'undefined' 586 ); 587} 588 589/** 590 * @typedef SessionSupportTests 591 * @type {object} 592 * @property {number} timestamp 593 * @property {SupportTests} supportTests 594 */ 595 596/** 597 * Get support tests from session. 598 * 599 * @since 6.3.0 600 * 601 * @private 602 * 603 * @returns {?SupportTests} Support tests, or null if not set or older than 1 week. 604 */ 605function getSessionSupportTests() { 606 try { 607 /** @type {SessionSupportTests} */ 608 const item = JSON.parse( 609 sessionStorage.getItem( sessionStorageKey ) 610 ); 611 if ( 612 typeof item === 'object' && 613 typeof item.timestamp === 'number' && 614 new Date().valueOf() < item.timestamp + 604800 && // Note: Number is a week in seconds. 615 typeof item.supportTests === 'object' 616 ) { 617 return item.supportTests; 618 } 619 } catch ( e ) {} 620 return null; 621} 622 623/** 624 * Persist the supports in session storage. 625 * 626 * @since 6.3.0 627 * 628 * @private 629 * 630 * @param {SupportTests} supportTests Support tests. 631 */ 632function setSessionSupportTests( supportTests ) { 633 try { 634 /** @type {SessionSupportTests} */ 635 const item = { 636 supportTests: supportTests, 637 timestamp: new Date().valueOf() 638 }; 639 640 sessionStorage.setItem( 641 sessionStorageKey, 642 JSON.stringify( item ) 643 ); 644 } catch ( e ) {} 645} 646 647/** 648 * Checks if two sets of Emoji characters render the same visually. 649 * 650 * This is used to determine if the browser is rendering an emoji with multiple data points 651 * correctly. set1 is the emoji in the correct form, using a zero-width joiner. set2 is the emoji 652 * in the incorrect form, using a zero-width space. If the two sets render the same, then the browser 653 * does not support the emoji correctly. 654 * 655 * This function may be serialized to run in a Worker. Therefore, it cannot refer to variables from the containing 656 * scope. Everything must be passed by parameters. 657 * 658 * @since 4.9.0 659 * 660 * @private 661 * 662 * @param {CanvasRenderingContext2D} context 2D Context. 663 * @param {string} set1 Set of Emoji to test. 664 * @param {string} set2 Set of Emoji to test. 665 * 666 * @return {boolean} True if the two sets render the same. 667 */ 668function emojiSetsRenderIdentically( context, set1, set2 ) { 669 // Cleanup from previous test. 670 context.clearRect( 0, 0, context.canvas.width, context.canvas.height ); 671 context.fillText( set1, 0, 0 ); 672 const rendered1 = new Uint32Array( 673 context.getImageData( 674 0, 675 0, 676 context.canvas.width, 677 context.canvas.height 678 ).data 679 ); 680 681 // Cleanup from previous test. 682 context.clearRect( 0, 0, context.canvas.width, context.canvas.height ); 683 context.fillText( set2, 0, 0 ); 684 const rendered2 = new Uint32Array( 685 context.getImageData( 686 0, 687 0, 688 context.canvas.width,
689 context.canvas.height 690 ).data 691 ); 692 693 return rendered1.every( ( rendered2Data, index ) => { 694 return rendered2Data === rendered2[ index ]; 695 } ); 696} 697 698/** 699 * Checks if the center point of a single emoji is empty. 700 * 701 * This is used to determine if the browser is rendering an emoji with a single data point 702 * correctly. The center point of an incorrectly rendered emoji will be empty. A correctly 703 * rendered emoji will have a non-zero value at the center point. 704 * 705 * This function may be serialized to run in a Worker. Therefore, it cannot refer to variables from the containing 706 * scope. Everything must be passed by parameters. 707 * 708 * @since 6.8.2 709 * 710 * @private 711 * 712 * @param {CanvasRenderingContext2D} context 2D Context. 713 * @param {string} emoji Emoji to test. 714 * 715 * @return {boolean} True if the center point is empty. 716 */ 717function emojiRendersEmptyCenterPoint( context, emoji ) { 718 // Cleanup from previous test. 719 context.clearRect( 0, 0, context.canvas.width, context.canvas.height ); 720 context.fillText( emoji, 0, 0 ); 721 722 // Test if the center point (16, 16) is empty (0,0,0,0). 723 const centerPoint = context.getImageData(16, 16, 1, 1); 724 for ( let i = 0; i < centerPoint.data.length; i++ ) { 725 if ( centerPoint.data[ i ] !== 0 ) { 726 // Stop checking the moment it's known not to be empty. 727 return false; 728 } 729 } 730 731 return true; 732} 733 734/** 735 * Determines if the browser properly renders Emoji that Twemoji can supplement. 736 * 737 * This function may be serialized to run in a Worker. Therefore, it cannot refer to variables from the containing 738 * scope. Everything must be passed by parameters. 739 * 740 * @since 4.2.0 741 * 742 * @private 743 * 744 * @param {CanvasRenderingContext2D} context 2D Context. 745 * @param {string} type Whether to test for support of "flag" or "emoji". 746 * @param {Function} emojiSetsRenderIdentically Reference to emojiSetsRenderIdentically function, needed due to minification. 747 * @param {Function} emojiRendersEmptyCenterPoint Reference to emojiRendersEmptyCenterPoint function, needed due to minification. 748 * 749 * @return {boolean} True if the browser can render emoji, false if it cannot. 750 */ 751function browserSupportsEmoji( context, type, emojiSetsRenderIdentically, emojiRendersEmptyCenterPoint ) { 752 let isIdentical; 753 754 switch ( type ) { 755 case 'flag': 756 /* 757 * Test for Transgender flag compatibility. Added in Unicode 13. 758 * 759 * To test for support, we try to render it, and compare the rendering to how it would look if 760 * the browser doesn't render it correctly (white flag emoji + transgender symbol). 761 */ 762 isIdentical = emojiSetsRenderIdentically( 763 context, 764 '\uD83C\uDFF3\uFE0F\u200D\u26A7\uFE0F', // as a zero-width joiner sequence 765 '\uD83C\uDFF3\uFE0F\u200B\u26A7\uFE0F' // separated by a zero-width space 766 ); 767 768 if ( isIdentical ) { 769 return false; 770 } 771 772 /* 773 * Test for Sark flag compatibility. This is the least supported of the letter locale flags, 774 * so gives us an easy test for full support. 775 * 776 * To test for support, we try to render it, and compare the rendering to how it would look if 777 * the browser doesn't render it correctly ([C] + [Q]). 778 */ 779 isIdentical = emojiSetsRenderIdentically( 780 context, 781 '\uD83C\uDDE8\uD83C\uDDF6', // as the sequence of two code points 782 '\uD83C\uDDE8\u200B\uD83C\uDDF6' // as the two code points separated by a zero-width space 783 ); 784 785 if ( isIdentical ) { 786 return false; 787 } 788 789 /* 790 * Test for English flag compatibility. England is a country in the United Kingdom, it 791 * does not have a two letter locale code but rather a five letter sub-division code. 792 * 793 * To test for support, we try to render it, and compare the rendering to how it would look if 794 * the browser doesn't render it correctly (black flag emoji + [G] + [B] + [E] + [N] + [G]). 795 */ 796 isIdentical = emojiSetsRenderIdentically( 797 context, 798 // as the flag sequence 799 '\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67\uDB40\uDC7F', 800 // with each code point separated by a zero-width space 801 '\uD83C\uDFF4\u200B\uDB40\uDC67\u200B\uDB40\uDC62\u200B\uDB40\uDC65\u200B\uDB40\uDC6E\u200B\uDB40\uDC67\u200B\uDB40\uDC7F' 802 ); 803 804 return ! isIdentical; 805 case 'emoji': 806 /* 807 * Is there a large, hairy, humanoid mythical creature living in the browser? 808 * 809 * To test for Emoji 17.0 support, try to render a new emoji: Hairy Creature. 810 * 811 * The hairy creature emoji is a single code point emoji. Testing for browser 812 * support required testing the center point of the emoji to see if it is empty. 813 * 814 * 0xD83E 0x1FAC8 (\uD83E\u1FAC8) == ð« Hairy creature. 815 * 816 * When updating this test, please ensure that the emoji is either a single code point 817 * or switch to using the emojiSetsRenderIdentically function and testing with a zero-width 818 * joiner vs a zero-width space. 819 */ 820 const notSupported = emojiRendersEmptyCenterPoint( context, '\uD83E\u1FAC8' ); 821 return ! notSupported; 822 } 823 824 return false;
825} 826 827/** 828 * Checks emoji support tests. 829 * 830 * This function may be serialized to run in a Worker. Therefore, it cannot refer to variables from the containing 831 * scope. Everything must be passed by parameters. 832 * 833 * @since 6.3.0 834 * 835 * @private 836 * 837 * @param {string[]} tests Tests. 838 * @param {Function} browserSupportsEmoji Reference to browserSupportsEmoji function, needed due to minification. 839 * @param {Function} emojiSetsRenderIdentically Reference to emojiSetsRenderIdentically function, needed due to minification. 840 * @param {Function} emojiRendersEmptyCenterPoint Reference to emojiRendersEmptyCenterPoint function, needed due to minification. 841 * 842 * @return {SupportTests} Support tests. 843 */ 844function testEmojiSupports( tests, browserSupportsEmoji, emojiSetsRenderIdentically, emojiRendersEmptyCenterPoint ) { 845 let canvas; 846 if ( 847 typeof WorkerGlobalScope !== 'undefined' && 848 self instanceof WorkerGlobalScope 849 ) { 850 canvas = new OffscreenCanvas( 300, 150 ); // Dimensions are default for HTMLCanvasElement. 851 } else { 852 canvas = document.createElement( 'canvas' ); 853 } 854 855 const context = canvas.getContext( '2d', { willReadFrequently: true } ); 856 857 /* 858 * Chrome on OS X added native emoji rendering in M41. Unfortunately, 859 * it doesn't work when the font is bolder than 500 weight. So, we 860 * check for bold rendering support to avoid invisible emoji in Chrome. 861 */ 862 context.textBaseline = 'top'; 863 context.font = '600 32px Arial'; 864 865 const supports = {}; 866 tests.forEach( ( test ) => { 867 supports[ test ] = browserSupportsEmoji( context, test, emojiSetsRenderIdentically, emojiRendersEmptyCenterPoint ); 868 } ); 869 return supports; 870} 871 872/** 873 * Adds a script to the head of the document. 874 * 875 * @ignore 876 * 877 * @since 4.2.0 878 * 879 * @param {string} src The url where the script is located. 880 * 881 * @return {void} 882 */ 883function addScript( src ) { 884 const script = document.createElement( 'script' ); 885 script.src = src; 886 script.defer = true; 887 document.head.appendChild( script ); 888} 889 890settings.supports = { 891 everything: true, 892 everythingExceptFlag: true 893}; 894 895// Obtain the emoji support from the browser, asynchronously when possible. 896new Promise( ( resolve ) => { 897 let supportTests = getSessionSupportTests(); 898 if ( supportTests ) { 899 resolve( supportTests ); 900 return; 901 } 902 903 if ( supportsWorkerOffloading() ) { 904 try { 905 // Note that the functions are being passed as arguments due to minification. 906 const workerScript = 907 'postMessage(' + 908 testEmojiSupports.toString() + 909 '(' + 910 [ 911 JSON.stringify( tests ), 912 browserSupportsEmoji.toString(), 913 emojiSetsRenderIdentically.toString(), 914 emojiRendersEmptyCenterPoint.toString() 915 ].join( ',' ) + 916 '));'; 917 const blob = new Blob( [ workerScript ], { 918 type: 'text/javascript' 919 } ); 920 const worker = new Worker( URL.createObjectURL( blob ), { name: 'wpTestEmojiSupports' } ); 921 worker.onmessage = ( event ) => { 922 supportTests = event.data; 923 setSessionSupportTests( supportTests ); 924 worker.terminate(); 925 resolve( supportTests ); 926 }; 927 return; 928 } catch ( e ) {} 929 } 930 931 supportTests = testEmojiSupports( tests, browserSupportsEmoji, emojiSetsRenderIdentically, emojiRendersEmptyCenterPoint ); 932 setSessionSupportTests( supportTests ); 933 resolve( supportTests ); 934} ) 935 // Once the browser emoji support has been obtained from the session, finalize the settings. 936 .then( ( supportTests ) => { 937 /* 938 * Tests the browser support for flag emojis and other emojis, and adjusts the 939 * support settings accordingly. 940 */ 941 for ( const test in supportTests ) { 942 settings.supports[ test ] = supportTests[ test ]; 943 944 settings.supports.everything = 945 settings.supports.everything && settings.supports[ test ]; 946 947 if ( 'flag' !== test ) { 948 settings.supports.everythingExceptFlag = 949 settings.supports.everythingExceptFlag && 950 settings.supports[ test ]; 951 } 952 } 953 954 settings.supports.everythingExceptFlag = 955 settings.supports.everythingExceptFlag && 956 ! settings.supports.flag; 957 958 // When the browser can not render everything we need to load a polyfill. 959 if ( ! settings.supports.everything ) { 960 const src = settings.source || {}; 961 962 if ( src.concatemoji ) { 963 addScript( src.concatemoji ); 964 } else if ( src.wpemoji && src.twemoji ) { 965 addScript( src.twemoji ); 966 addScript( src.wpemoji ); 967 } 968 } 969 } ); 970//# sourceURL=https://choreograffiti.com/wp/wp-includes/js/wp-emoji-loader.js 971</script>
971 972 973</body> 974</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.