<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:media="http://search.yahoo.com/mrss/"
	
	>

<channel>
	<title>kelly sian</title>
	<link>https://kellysian.com</link>
	<description>kelly sian</description>
	<pubDate>Sun, 11 Oct 2026 11:49:31 +0000</pubDate>
	<generator>https://kellysian.com</generator>
	<language>en</language>
	
		
	<item>
		<title>survey</title>
				
		<link>https://kellysian.com/survey</link>

		<pubDate>Sun, 11 Oct 2026 11:49:31 +0000</pubDate>

		<dc:creator>kelly sian</dc:creator>

		<guid isPermaLink="true">https://kellysian.com/survey</guid>

		<description>

  Local creative life
  
    
    
  
  
  This survey needs JavaScript. Please turn it on and reload the page.
  
      
        
          A short survey about local creative life
          This asks about creative events, workshops and opportunities in Barnsley and Wakefield. It takes about 5 minutes. You can skip any question that isn't marked required.
          Answers are anonymous unless you choose to leave an email address. Results are used for research, and only combined figures are shared. This survey is run by Kelly Rankin, an artist based in Barnsley. To have your answers removed, email kellysiancreates@gmail.com.
        
        
          
            Which of these describes you best?Required
            An artist who runs workshops, events or marketsYou organise your own workshops, talks, exhibitions, markets or similar.An artist who practises but doesn't currently organise eventsYou make work, but you don't run your own workshops, shows or markets at the moment.A member of the public who goes to eventsYou go to workshops, exhibitions, talks, markets or similar, or would like to.OtherFor example you run a venue or group, teach, or work for a council or funder.
            
          
          Leave this empty
          Start
        
      





/* Local creative life survey. All styles are scoped to .cls so they cannot change the rest of the page.
   Change the colours in the first block to restyle it. */
.cls{
  --cls-blue:#0f2c9a; --cls-cream:#f6efdc; --cls-paper:#fbf7ea; --cls-muted:#cfd6f2; --cls-line:rgba(246,239,220,.55); --cls-edge:#f6efdc;
  --cls-error:#ffc2b8; --cls-focus:#ffd84d; --cls-ease:cubic-bezier(.22,1,.36,1);
  position:relative; isolation:isolate; overflow:hidden; width:100%; max-width:680px; margin:0 auto; padding:clamp(22px,5vw,44px) clamp(20px,5vw,44px) 104px; border-radius:26px;
  display:flex; flex-direction:column; gap:26px; scroll-margin-top:16px;
  background:radial-gradient(120% 80% at 85% 0%,#1d41c4 0%,#0f2c9a 55%,#0b2282 100%);
  color:var(--cls-cream); font-family:'Plus Jakarta Sans',system-ui,-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif; font-size:max(1em,16px); font-weight:400; line-height:1.5; text-align:left; text-transform:none; letter-spacing:normal;
}
/* sticker doodles */
.cls::before, .cls::after{ content:""; position:absolute; z-index:-1; pointer-events:none; background-repeat:no-repeat; background-size:contain; filter:drop-shadow(0 6px 10px rgba(5,14,70,.35)); }
.cls::before{ width:96px; height:96px; top:16px; right:16px; background-image:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20100%20100'%3E%3Crect%20x='5'%20y='5'%20width='90'%20height='90'%20rx='32'%20fill='%23f6efdc'/%3E%3Cg%20fill='none'%20stroke='%230f2c9a'%20stroke-width='3.2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M28%2046h36v14a18%2018%200%200%201-18%2018h0a18%2018%200%200%201-18-18z'/%3E%3Cpath%20d='M64%2051h6a8%208%200%200%201%200%2016h-8'/%3E%3Cellipse%20cx='46'%20cy='83'%20rx='26'%20ry='4.5'/%3E%3Cpath%20d='M38%2038c-4-5%204-8%200-13M50%2038c-4-5%204-8%200-13'/%3E%3Cpath%20d='M40%2064q6%205%2012%200'/%3E%3C/g%3E%3Ccircle%20cx='39'%20cy='57'%20r='2'%20fill='%230f2c9a'/%3E%3Ccircle%20cx='53'%20cy='57'%20r='2'%20fill='%230f2c9a'/%3E%3C/svg%3E"); transform:rotate(8deg); animation:cls-bob 6s ease-in-out infinite alternate; }
.cls::after{ width:84px; height:84px; bottom:14px; right:22px; background-image:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20100%20100'%3E%3Crect%20x='5'%20y='5'%20width='90'%20height='90'%20rx='32'%20fill='%23f6efdc'/%3E%3Cg%20fill='none'%20stroke='%230f2c9a'%20stroke-width='3.2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cg%20transform='rotate(38%2052%2052)'%3E%3Cpath%20d='M43%2030h18v36H43z'/%3E%3Cpath%20d='M43%2030v-6a9%209%200%200%201%2018%200v6'/%3E%3Cpath%20d='M43%2038h18'/%3E%3Cpath%20d='M43%2066l9%2017%209-17z'/%3E%3Cpath%20d='M49%2076h6'/%3E%3C/g%3E%3Cpath%20d='M22%2024l2.6%206.4%206.4%202.6-6.4%202.6L22%2042l-2.6-6.4L13%2033l6.4-2.6z'/%3E%3Cpath%20d='M74%2080q6-8%2012%200'/%3E%3C/g%3E%3C/svg%3E"); transform:rotate(-9deg); animation:cls-bob 7s ease-in-out -2s infinite alternate-reverse; }
@keyframes cls-bob{ from{ translate:0 0; rotate:0deg; } to{ translate:0 -7px; rotate:3deg; } }
.cls, .cls *, .cls *::before, .cls *::after{ box-sizing:border-box; }
.cls header{ padding-right:104px; min-height:96px; }
.cls h1, .cls h2{ font:inherit; font-family:'Anton','Impact','Arial Narrow Bold',sans-serif; font-weight:400; margin:0; padding:0; line-height:1.02; letter-spacing:.015em; text-transform:uppercase; color:var(--cls-cream); filter:url(#cls-rough); }
.cls h1{ font-size:clamp(2.6em,12vw,4.2em); }
.cls h2{ font-size:clamp(1.9em,7vw,2.5em); }
.cls header::after{ content:""; display:block; width:84px; height:12px; margin-top:14px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 84 12' fill='none' stroke='%23f6efdc' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='M2 6c7-8 14-8 20 0s13 8 20 0 14-8 20 0 13 8 20 0'/%3E%3C/svg%3E") no-repeat; }
.cls h2:focus, .cls #app:focus{ outline:none; }
.cls p{ margin:0; padding:0; font-size:1em; color:inherit; }
.cls code{ font-family:monospace; font-size:.9em; }

.cls .progress{ display:flex; flex-direction:column; gap:8px; }
.cls .progress[hidden]{ display:none; }
.cls .progress-label{ font-size:.9em; color:var(--cls-muted); font-variant-numeric:tabular-nums; font-weight:700; letter-spacing:.04em; text-transform:uppercase; }
.cls .track{ height:10px; border-radius:99px; background:rgba(5,14,70,.45); overflow:hidden; }
.cls .bar{ height:100%; width:0; border-radius:99px; background:var(--cls-cream); transition:width .6s var(--cls-ease); }

.cls .card{ display:flex; flex-direction:column; gap:30px; padding:0; margin:0; border:0; background:none; animation:cls-in .45s var(--cls-ease) both; }
@keyframes cls-in{ from{ opacity:0; transform:translateY(12px); } to{ opacity:1; transform:none; } }
.cls fieldset{ border:0; margin:0; padding:0; min-width:0; display:flex; flex-direction:column; gap:12px; background:none; }
.cls legend{ padding:0; margin:0 0 4px; font-weight:700; font-size:1.1em; line-height:1.35; display:block; width:100%; float:left; text-align:left; color:var(--cls-cream); }
.cls legend + *{ clear:both; }
.cls fieldset, .cls label, .cls .text, .cls pre{ text-align:left; }
.cls .req{ margin-left:6px; font-size:.8em; font-weight:700; color:var(--cls-muted); white-space:nowrap; text-transform:uppercase; letter-spacing:.05em; }
.cls .hint{ font-size:.9em; color:var(--cls-muted); font-weight:400; display:block; margin-top:2px; }

.cls .opts{ display:flex; flex-direction:column; gap:10px; }
.cls .opt{ display:flex; gap:14px; align-items:flex-start; min-width:0; margin:0; padding:13px 15px; border:2px solid var(--cls-line); border-radius:14px; background:transparent; color:var(--cls-cream); font-weight:400; cursor:pointer;
  transition:background-color .25s ease, border-color .25s ease, color .25s ease, transform .2s var(--cls-ease); -webkit-tap-highlight-color:transparent; }
.cls .opt span{ min-width:0; overflow-wrap:anywhere; }
.cls .opt:hover{ border-color:var(--cls-cream); background:rgba(246,239,220,.08); transform:translateY(-1px); }
.cls .opt input{ -webkit-appearance:none; appearance:none; flex:none; position:relative; width:24px; height:24px; margin:1px 0 0; border:2px solid var(--cls-cream); border-radius:50%; background:transparent; cursor:pointer;
  transition:background-color .25s ease, border-color .25s ease; }
.cls .opt input[type=checkbox]{ border-radius:7px; }
.cls .opt input::before{ content:""; position:absolute; inset:0; transform:scale(0); transition:transform .3s cubic-bezier(.34,1.56,.64,1); }
.cls .opt input[type=radio]::before{ inset:4px; border-radius:50%; background:var(--cls-cream); }
.cls .opt input[type=checkbox]::before{ background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230f2c9a' stroke-width='3.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5.5 12.5l4.2 4.2L18.5 7.8'/%3E%3C/svg%3E") center/80% no-repeat; }
.cls .opt input:checked::before{ transform:scale(1); }
.cls .opt input[type=checkbox]:checked{ background:var(--cls-cream); }
.cls .opt:has(input:checked){ background:var(--cls-cream); border-color:var(--cls-cream); color:var(--cls-blue); }
.cls .opt:has(input:checked) input{ border-color:var(--cls-blue); }
.cls .opt:has(input[type=radio]:checked) input::before{ background:var(--cls-blue); }
.cls .opt:has(input[type=checkbox]:checked) input{ background:var(--cls-cream); }
.cls .opt:has(input:focus-visible){ outline:3px solid var(--cls-focus); outline-offset:3px; }
.cls .opt:has(input:disabled){ opacity:.5; cursor:not-allowed; transform:none; }
.cls .role-opt strong{ display:block; font-weight:700; }
.cls .role-opt small{ display:block; margin-top:2px; color:var(--cls-muted); font-size:.9em; line-height:1.4; transition:color .25s ease; }
.cls .opt:has(input:checked) small{ color:#3a4a9c; }

.cls .text{
  display:block; width:100%; margin:0; font:inherit; font-size:1em; letter-spacing:normal; text-transform:none; color:var(--cls-blue); background:var(--cls-paper);
  border:2px solid var(--cls-cream); border-radius:14px; padding:13px 15px; box-shadow:none; -webkit-appearance:none; appearance:none;
  transition:box-shadow .25s ease;
}
.cls textarea.text{ min-height:120px; resize:vertical; }
.cls .text:focus{ outline:3px solid var(--cls-focus); outline-offset:3px; }
.cls .text[hidden]{ display:none; }

.cls .scale{ display:grid; grid-template-columns:repeat(5,1fr); gap:8px; }
.cls .scale label{ position:relative; display:flex; align-items:center; justify-content:center; min-height:56px; margin:0; border:2px solid var(--cls-line); border-radius:14px; background:transparent; color:var(--cls-cream); cursor:pointer; font-weight:700; font-size:1.1em;
  transition:background-color .25s ease, border-color .25s ease, color .25s ease, transform .2s var(--cls-ease); }
.cls .scale label:hover{ border-color:var(--cls-cream); background:rgba(246,239,220,.08); transform:translateY(-1px); }
.cls .scale label:has(input:checked){ background:var(--cls-cream); border-color:var(--cls-cream); color:var(--cls-blue); }
.cls .scale label:has(input:focus-visible){ outline:3px solid var(--cls-focus); outline-offset:3px; }
.cls .scale input{ position:absolute; opacity:0; pointer-events:none; }
.cls .scale-ends{ display:flex; justify-content:space-between; gap:12px; font-size:.9em; color:var(--cls-muted); }

.cls .err{ color:var(--cls-error); font-weight:700; font-size:.95em; }
.cls .err[hidden]{ display:none; }

.cls .nav{ display:flex; gap:12px; justify-content:space-between; }
.cls .btn{
  -webkit-appearance:none; appearance:none; margin:0; font:inherit; font-size:1em; font-weight:800; letter-spacing:.06em; text-transform:uppercase; text-shadow:none; text-decoration:none; line-height:1.2;
  padding:14px 28px; min-height:54px; border:2px solid var(--cls-cream); border-radius:14px; background:var(--cls-cream); color:var(--cls-blue); cursor:pointer;
  box-shadow:0 5px 0 rgba(5,14,70,.55); transition:transform .15s var(--cls-ease), box-shadow .15s ease, background-color .2s ease;
}
.cls .btn:hover{ transform:translateY(-2px); box-shadow:0 7px 0 rgba(5,14,70,.55); background:#fff; }
.cls .btn:active{ transform:translateY(4px); box-shadow:0 1px 0 rgba(5,14,70,.55); }
.cls .btn.secondary{ background:transparent; color:var(--cls-cream); box-shadow:none; }
.cls .btn.secondary:hover{ background:rgba(246,239,220,.1); box-shadow:none; }
.cls .btn.secondary:active{ transform:none; }
.cls .btn:focus-visible{ outline:3px solid var(--cls-focus); outline-offset:3px; }
.cls .btn[disabled]{ opacity:.6; cursor:wait; transform:none; }
.cls .nav .btn{ flex:1 1 0; }
.cls .nav .btn.secondary{ flex:0 0 auto; }

.cls .intro{ display:flex; flex-direction:column; gap:14px; }
.cls .notice{ font-size:.9em; color:var(--cls-muted); }
.cls pre{ margin:0; padding:12px; border:2px solid var(--cls-line); border-radius:14px; background:rgba(5,14,70,.4); color:var(--cls-cream); overflow-x:auto; font-family:monospace; font-size:.8em; line-height:1.45; max-height:320px; white-space:pre; }
.cls .hp{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.cls noscript p{ padding:12px; border:2px solid var(--cls-error); border-radius:14px; }

@media (max-width:480px){
  .cls{ border-radius:20px; }
  .cls::before{ width:68px; height:68px; top:14px; right:12px; }
  .cls::after{ width:68px; height:68px; right:14px; }
  .cls header{ padding-right:76px; min-height:68px; }
  .cls .nav{ flex-direction:column-reverse; }
  .cls .nav .btn.secondary{ flex:1 1 auto; }
}
@media (prefers-reduced-motion: reduce){
  .cls, .cls *, .cls *::before, .cls *::after{ animation:none !important; transition:none !important; }
}


(function () {
const root = document.getElementById("cls-survey");
const $ = id =&#62; root.querySelector("#" + id);

/* ---------- Settings to edit before you share the page ---------- */
const CONFIG = {
  // OPTION A (simplest): send answers into a Google Form that has one long-answer question.
  // FORM_URL is the form's address ending in /formResponse. FORM_FIELD looks like entry.1234567890.
  FORM_URL: "https://docs.google.com/forms/d/e/1FAIpQLScCg6LTbeALHZRtNp31MmzuuqDkqq7cu8E8IHZ482_m6b77LQ/formResponse",
  FORM_FIELD: "entry.1692435019",
  // OPTION B: the Web app URL from a Google Apps Script deployment (only if you use survey_receiver.gs).
  ENDPOINT: "",
  // While none of these are filled in, nothing is sent anywhere and the page shows a test-mode summary at the end.
  CONTACT_EMAIL: "kellysiancreates@gmail.com",
  ORGANISER: "Kelly Rankin, an artist based in Barnsley"
};

/* ---------- Question builders ---------- */
const S = (key, label, opts, o = {}) =&#62; ({ type: "single", key, label, opts, ...o });
const M = (key, label, opts, o = {}) =&#62; ({ type: "multi", key, label, opts, ...o });
const R = (key, label, lo, hi, o = {}) =&#62; ({ type: "scale", key, label, lo, hi, ...o });
const T = (key, label, o = {}) =&#62; ({ type: "text", key, label, ...o });

const FIND = ["Facebook or Facebook groups", "Instagram", "Friends or word of mouth", "Venue websites or newsletters", "Council or tourism pages", "Posters, leaflets or noticeboards", "Local newspapers or radio", "Ticket sites such as Eventbrite"];
const OPP = ["Social media groups", "Word of mouth", "Council or tourism pages", "Arts Council England website", "An artists' membership organisation", "Venue newsletters", "Searching online", "I don't really find out"];
const KINDS = ["Exhibitions or galleries", "Workshops or classes", "Talks or discussions", "Craft or art markets", "Open studios", "Live performance or screenings", "Festivals or community events with art in them"];
const ARTIST_HELP = ["More people coming along", "Easier ways to promote what I do", "Finding venues or spaces", "Clear information on funding", "Paid opportunities", "Training (pricing, applications, running events)", "Meeting other local artists", "Help with insurance and paperwork"];

/* ---------- Role-specific sections ---------- */
const ROLES = {
  run: {
    title: "An artist who runs workshops, events or markets",
    sub: "You organise your own workshops, talks, exhibitions, markets or similar.",
    sections: [
      { title: "What you run", qs: [
        M("run_types", "What do you run?", ["Workshops or classes", "Talks or discussions", "Exhibitions", "Markets or fairs", "Open studios", "Performances or screenings", "Festivals or trails", "Courses over several weeks"], { other: true, req: true, hint: "Tick all that apply." }),
        S("run_freq", "In the last 12 months, about how many have you run?", ["None", "1 to 2", "3 to 6", "7 to 12", "More than 12"], { req: true }),
        M("run_where", "Where do you run them?", ["My own studio or home", "Community hall or centre", "Library", "Gallery or museum", "Pub, café or shop", "School or college", "Outdoors", "Online"], { other: true }),
        S("run_size", "How many people usually come?", ["Fewer than 10", "10 to 25", "26 to 50", "51 to 100", "More than 100", "It varies a lot"]),
        S("run_price", "How do you usually price them?", ["Always free", "Usually free, sometimes paid", "Usually paid", "Pay what you can", "A mix"])
      ]},
      { title: "Reaching people", qs: [
        M("run_promote", "How do you let people know?", [...FIND, "My own website or mailing list", "The venue's own channels"], { other: true, req: true, hint: "Tick all that apply." }),
        T("run_best", "Which of those brings the most people?"),
        S("run_hours", "About how many hours a month do you spend promoting?", ["Under 2", "2 to 5", "6 to 10", "More than 10", "Not sure"]),
        M("run_hard", "What is hardest about running events here?", ["Reaching enough people", "Reaching people outside my usual circle", "Finding a suitable venue", "Venue costs", "Funding", "Booking and admin", "Deciding what to charge", "Insurance and paperwork", "Finding the time", "Making events accessible"], { other: true, max: 3, hint: "Choose up to 3." })
      ]},
      { title: "Support and opportunities", qs: [
        M("run_opps", "How do you find out about funding, commissions, venues or jobs?", OPP, { other: true }),
        S("run_funding", "In the last 3 years, have you applied for funding?", ["Yes, and it was successful", "Yes, but it was not successful", "I thought about it but didn't", "No", "I'm not sure what's available"]),
        M("run_help", "Which of these would make the biggest difference to you?", ARTIST_HELP, { other: true, max: 3, hint: "Choose up to 3." }),
        T("run_one", "What one thing would make running events here easier?", { long: true })
      ]}
    ]
  },
  practise: {
    title: "An artist who practises but doesn't currently organise events",
    sub: "You make work, but you don't run your own workshops, shows or markets at the moment.",
    sections: [
      { title: "Your practice", qs: [
        M("pr_medium", "What do you make?", ["Painting or drawing", "Printmaking", "Sculpture or ceramics", "Textiles or fibre", "Photography or film", "Illustration or design", "Digital or new media", "Performance or live art", "Craft or making", "Writing or spoken word"], { other: true, req: true, hint: "Tick all that apply." }),
        S("pr_years", "How long have you been practising in this area?", ["Less than a year", "1 to 3 years", "4 to 10 years", "More than 10 years", "I'm not based here"]),
        S("pr_income", "How much of your income comes from your creative work?", ["It is my main income", "Some of my income", "Occasional sales or commissions", "None so far"]),
        M("pr_shown", "In the last 12 months, where have you shown or sold work locally?", ["An exhibition", "A market or fair", "An open studio", "A pop-up", "Online", "A gallery shop", "A commission", "I haven't shown work locally"], { other: true })
      ]},
      { title: "Taking part", qs: [
        M("pr_stop", "What stops you organising your own events?", ["I don't know where to start", "Cost", "Time", "Finding a venue", "Insurance and paperwork", "Confidence", "Not sure I'd get an audience", "I'd rather others organise", "I would like to, but haven't had the chance"], { other: true, hint: "Tick all that apply." }),
        S("pr_future", "Would you like to organise your own events in future?", ["Definitely", "Maybe, with support", "Not sure", "No"]),
        M("pr_opps", "How do you find out about exhibitions, open calls, commissions or funding?", OPP, { other: true }),
        R("pr_connect", "How connected do you feel to the local arts community?", "Not at all", "Very connected", { req: true })
      ]},
      { title: "Support", qs: [
        M("pr_help", "Which of these would make the biggest difference to you?", [...ARTIST_HELP, "Studio space"], { other: true, max: 3, hint: "Choose up to 3." }),
        S("pr_funding", "In the last 3 years, have you applied for funding?", ["Yes, and it was successful", "Yes, but it was not successful", "I thought about it but didn't", "No", "I'm not sure what's available"]),
        T("pr_wish", "What do you wish had been available when you started out here?", { long: true })
      ]}
    ]
  },
  public: {
    title: "A member of the public who goes to events",
    sub: "You go to workshops, exhibitions, talks, markets or similar, or would like to.",
    sections: [
      { title: "What you go to", qs: [
        M("pub_went", "In the last 12 months, which of these have you been to locally?", [...KINDS, "None of these"], { other: true, req: true, hint: "Tick all that apply." }),
        S("pub_freq", "How often do you go to local creative events?", ["Every week", "About once a month", "A few times a year", "Once in the last year", "Never"], { req: true }),
        M("pub_interest", "Which interest you most?", [...KINDS, "Making something myself", "Meeting artists", "Things to do with children"], { other: true, max: 3, hint: "Choose up to 3." }),
        M("pub_with", "Who do you usually go with?", ["On my own", "A partner or friend", "Family with children", "A group or club", "Colleagues"]),
        M("pub_make", "Do you take part in creative activity yourself?", ["I make art or craft as a hobby", "I go to classes regularly", "I volunteer at an arts or community venue", "Not at the moment"], { other: true })
      ]},
      { title: "Finding out what's on", qs: [
        S("pub_last", "Think of the last event you went to. How did you hear about it?", [...FIND, "I walked past", "I can't remember"], { other: true }),
        M("pub_find", "How do you usually find out what's on?", [...FIND, "I don't really find out"], { other: true }),
        R("pub_easy", "How easy is it to find out what's on locally?", "Very hard", "Very easy", { req: true }),
        M("pub_stop", "What stops you going to more?", ["I don't know what's on", "Cost", "Getting there (transport, parking)", "The days or times don't suit", "It feels like it's not for people like me", "I'm not sure it would be accessible for me", "I don't want to go on my own", "Nothing stops me"], { other: true, hint: "Tick all that apply." })
      ]},
      { title: "Planning a visit", qs: [
        M("pub_know", "What do you want to know before you go?", ["Cost", "Whether it is step-free or accessible", "Whether I need to book", "Who it is for (ages, beginners, families)", "How to get there and where to park", "How long it lasts", "Whether it is quiet or sensory-friendly", "Who is running it"], { other: true, max: 5, hint: "Choose up to 5." }),
        S("pub_travel", "How far will you usually travel for something you want to see?", ["I'll walk from home", "Up to 15 minutes", "Up to 30 minutes", "Up to an hour", "Further"]),
        S("pub_pay", "What would you be happy to pay for a two-hour workshop?", ["Only free ones", "Up to £5", "£5 to £10", "£10 to £20", "£20 to £35", "More than £35"]),
        T("pub_best", "Think of the best local creative thing you've been to. What made it good?", { long: true })
      ]}
    ]
  },
  other: {
    title: "Other",
    sub: "For example you run a venue or group, teach, or work for a council or funder.",
    sections: [
      { title: "About you", qs: [
        T("oth_role", "How would you describe your role or connection to local creative life?", { req: true, long: true }),
        M("oth_conn", "Which of these fit?", ["I work or volunteer at a venue", "I run a community group", "I'm a teacher or youth worker", "I work for a council, funder or trust", "I run a local business", "I'm a student", "I'm a parent or carer", "I curate or produce events"], { other: true, hint: "Tick all that apply." }),
        T("oth_org", "Which organisation, if any?"),
        S("oth_involve", "How involved are you in local creative events?", ["I organise or host them", "I book or commission artists", "I promote other people's events", "I mostly attend", "Not very involved"])
      ]},
      { title: "Reaching people and artists", qs: [
        M("oth_artists", "How do you find artists or workshop leaders?", ["Word of mouth", "Social media", "Open calls", "Membership websites", "Existing relationships", "Searching online", "I don't"], { other: true }),
        M("oth_reach", "How do you reach audiences?", [...FIND, "My own website or mailing list"], { other: true }),
        M("oth_hard", "What is hardest?", ["Reaching audiences", "Finding artists", "Funding", "Staff time", "Accessibility", "Keeping information up to date", "Being seen among everything else", "Working with schools"], { other: true, max: 3, hint: "Choose up to 3." })
      ]},
      { title: "Opportunities", qs: [
        S("oth_adverts", "Do you advertise jobs, commissions or funding calls?", ["Yes, regularly", "Sometimes", "Rarely", "Never"]),
        T("oth_where", "If yes, where do you advertise them?"),
        M("oth_help", "Which of these would make the biggest difference to you?", ["More people attending", "Easier ways to promote events", "Finding artists to work with", "Finding funding", "Reaching young people and schools", "Making events more accessible", "Training for staff or volunteers"], { other: true, max: 3, hint: "Choose up to 3." }),
        T("oth_one", "What one thing would make local creative life work better?", { long: true })
      ]}
    ]
  }
};

/* ---------- Shared sections ---------- */
const WHERE = { title: "Where you are", qs: [
  S("loc", "Where do you live?", ["Barnsley", "Wakefield district", "Elsewhere in South Yorkshire", "Elsewhere in West Yorkshire", "Somewhere else"], { req: true }),
  T("postcode", "First half of your postcode", { hint: "For example S70 or WF1. This only shows which areas answers come from." })
]};
const ABOUT = { title: "A bit about you", note: "Everything on this page is optional.", qs: [
  S("age", "Age range", ["Under 18", "18 to 24", "25 to 34", "35 to 44", "45 to 54", "55 to 64", "65 and over", "Prefer not to say"]),
  S("access", "Do you have an access need that affects which events you can go to?", ["Yes", "No", "Prefer not to say"]),
  S("heard", "How did you hear about this survey?", ["Facebook", "Instagram", "A library", "A poster or QR code", "At an event", "A friend or family member", "An email or newsletter"], { other: true, detail: { opt: "At an event", placeholder: "Which event?" } })
]};
const FINISH = { title: "Finally", note: "Both questions below are optional.", last: true, qs: [
  T("anything", "Is there anything else you'd like to say?", { long: true }),
  T("email", "Your email address", { email: true, hint: "Only fill this in if you'd like a reply or a summary of the results. It is stored privately and deleted if you ask." }),
  M("followup", "Would you like us to use it for any of these?", ["Send me a summary of the results", "I'm happy to be contacted for a short chat"])
]};

/* ---------- State ---------- */
const app = $("app");
const state = { role: null, step: 0, answers: {}, sending: false };

const esc = s =&#62; String(s).replace(/[&#38;"']/g, c =&#62; ({ "&#38;": "&#38;amp;", "": "&#38;gt;", '"': "&#38;quot;", "'": "&#38;#39;" }[c]));
const steps = () =&#62; state.role ? [{ kind: "role" }, WHERE, ...ROLES[state.role].sections, ABOUT, FINISH] : [{ kind: "role" }];

/* ---------- Rendering ---------- */
function renderQ(q) {
  const v = state.answers[q.key];
  const req = q.req ? 'Required' : "";
  const hint = q.hint ? `${esc(q.hint)}` : "";
  let body = "";
  if (q.type === "single" &#124;&#124; q.type === "multi") {
    const multi = q.type === "multi";
    const all = q.other ? [...q.opts, "Other"] : q.opts;
    body = '' + all.map((o, i) =&#62; {
      const id = `${q.key}-${i}`;
      const on = multi ? (v &#124;&#124; []).includes(o) : v === o;
      return `${esc(o)}`;
    }).join("") + "";
    if (q.other) {
      const shown = multi ? (v &#124;&#124; []).includes("Other") : v === "Other";
      body += ``;
    }
    if (q.detail) {
      const shownD = multi ? (v &#124;&#124; []).includes(q.detail.opt) : v === q.detail.opt;
      body += ``;
    }
  } else if (q.type === "scale") {
    body = '' + [1, 2, 3, 4, 5].map(n =&#62;
      `${n}`).join("") +
      `1: ${esc(q.lo)}5: ${esc(q.hi)}`;
  } else if (q.long) {
    body = `${esc(v &#124;&#124; "")}`;
  } else {
    body = ``;
  }
  return `${esc(q.label)}${req}${hint}${body}`;
}

function render() {
  const list = steps();
  const s = list[state.step];
  const prog = $("progress");
  if (s.kind === "role") {
    prog.hidden = true;
    app.innerHTML = `
      
        
          A short survey about local creative life
          This asks about creative events, workshops and opportunities in Barnsley and Wakefield. It takes about 5 minutes. You can skip any question that isn't marked required.
          Answers are anonymous unless you choose to leave an email address. Results are used for research, and only combined figures are shared. This survey is run by ${esc(CONFIG.ORGANISER)}. To have your answers removed, email ${esc(CONFIG.CONTACT_EMAIL)}.
        
        
          
            Which of these describes you best?Required
            ${Object.entries(ROLES).map(([k, r]) =&#62;
              `${esc(r.title)}${esc(r.sub)}`).join("")}
            
          
          Leave this empty
          Start
        
      `;
  } else {
    prog.hidden = false;
    const total = list.length - 1;
    $("progress-label").textContent = `Step ${state.step} of ${total}`;
    const pct = Math.round((state.step - 1) / total * 100);
    $("bar").style.width = pct + "%";
    $("track").setAttribute("aria-valuenow", String(pct));
    app.innerHTML = `
      
        ${esc(s.title)}${s.note ? `${esc(s.note)}` : ""}
        ${s.qs.map(renderQ).join("")}
        Leave this empty
        
        Back${s.last ? "Send my answers" : "Next"}
      `;
    $("back").addEventListener("click", () =&#62; { collect(list[state.step]); state.step--; render(); focusTop(); });
    app.querySelectorAll("fieldset[data-key]").forEach(fs =&#62; enforceMax(fs));
  }
  $("form").addEventListener("submit", onSubmit);
  $("form").addEventListener("change", onChange);
}

function focusTop() {
  const t = $("step-title");
  root.scrollIntoView({ block: "start" });
  if (t) t.focus({ preventScroll: true });
}

/* ---------- Behaviour ---------- */
function allQs() { return steps().flatMap(s =&#62; s.qs &#124;&#124; []); }
function qByKey(key) { return allQs().find(q =&#62; q.key === key); }

function enforceMax(fs) {
  const q = qByKey(fs.dataset.key);
  if (!q &#124;&#124; !q.max) return;
  const boxes = [...fs.querySelectorAll('input[type="checkbox"]')];
  const n = boxes.filter(b =&#62; b.checked).length;
  boxes.forEach(b =&#62; { b.disabled = !b.checked &#38;&#38; n &#62;= q.max; });
}

function onChange(e) {
  const fs = e.target.closest("fieldset[data-key]");
  if (!fs) return;
  const q = qByKey(fs.dataset.key);
  if (q &#38;&#38; (q.type === "single" &#124;&#124; q.type === "multi") &#38;&#38; q.other) {
    const otherBox = [...fs.querySelectorAll('input[type="radio"],input[type="checkbox"]')].find(i =&#62; i.value === "Other");
    const field = fs.querySelector("[data-other]");
    if (field &#38;&#38; otherBox) { field.hidden = !otherBox.checked; if (otherBox.checked &#38;&#38; e.target === otherBox) field.focus(); }
  }
  if (q &#38;&#38; q.detail) {
    const dBox = [...fs.querySelectorAll('input[type="radio"],input[type="checkbox"]')].find(i =&#62; i.value === q.detail.opt);
    const dField = fs.querySelector("[data-detail]");
    if (dField &#38;&#38; dBox) { dField.hidden = !dBox.checked; if (dBox.checked &#38;&#38; e.target === dBox) dField.focus(); }
  }
  if (q &#38;&#38; q.max) enforceMax(fs);
}

function collect(s) {
  if (!s.qs) return;
  const form = $("form");
  s.qs.forEach(q =&#62; {
    const fs = form.querySelector(`fieldset[data-key="${q.key}"]`);
    if (!fs) return;
    if (q.type === "multi") {
      state.answers[q.key] = [...fs.querySelectorAll("input:checked")].map(i =&#62; i.value);
    } else if (q.type === "single" &#124;&#124; q.type === "scale") {
      const c = fs.querySelector("input:checked");
      state.answers[q.key] = c ? (q.type === "scale" ? Number(c.value) : c.value) : "";
    } else {
      state.answers[q.key] = fs.querySelector("input,textarea").value.trim();
    }
    const other = fs.querySelector("[data-other]");
    if (other) state.answers[q.key + "__other"] = other.value.trim();
    const detail = fs.querySelector("[data-detail]");
    if (detail) state.answers[q.key + "__detail"] = detail.value.trim();
  });
}

function fail(fs, msg) {
  const p = fs.querySelector(".err");
  p.textContent = msg; p.hidden = false;
  return fs;
}

function validate(s) {
  const form = $("form");
  form.querySelectorAll(".err").forEach(p =&#62; { p.hidden = true; });
  let first = null;
  (s.qs &#124;&#124; []).forEach(q =&#62; {
    const fs = form.querySelector(`fieldset[data-key="${q.key}"]`);
    const v = state.answers[q.key];
    let bad = null;
    if (q.req) {
      const empty = q.type === "multi" ? !(v &#38;&#38; v.length) : (v === "" &#124;&#124; v === undefined);
      if (empty) bad = q.type === "text" ? "Please fill this in." : "Please choose an option.";
    }
    if (!bad &#38;&#38; q.email &#38;&#38; v) {
      const input = fs.querySelector("input");
      if (!input.checkValidity()) bad = "That doesn't look like an email address.";
    }
    if (bad) { const f = fail(fs, bad); if (!first) first = f; }
  });
  if (first) { first.scrollIntoView({ block: "center" }); const i = first.querySelector("input,textarea"); if (i) i.focus({ preventScroll: true }); }
  return !first;
}

function onSubmit(e) {
  e.preventDefault();
  const list = steps();
  const s = list[state.step];
  if (s.kind === "role") {
    const c = root.querySelector('input[name="role"]:checked');
    if (!c) { fail(root.querySelector('fieldset[data-key="role"]'), "Please choose one."); return; }
    state.role = c.value; state.step = 1; render(); focusTop(); return;
  }
  collect(s);
  if (!validate(s)) return;
  if (s.last) { send(e.target); return; }
  state.step++; render(); focusTop();
}

function payload() {
  const keys = steps().flatMap(s =&#62; (s.qs &#124;&#124; []).flatMap(q =&#62; [q.key, q.key + "__other", q.key + "__detail"]));
  const answers = {};
  keys.forEach(k =&#62; { const v = state.answers[k]; if (v !== undefined &#38;&#38; v !== "" &#38;&#38; !(Array.isArray(v) &#38;&#38; !v.length)) answers[k] = v; });
  const labels = {};
  allQs().forEach(q =&#62; { labels[q.key] = q.label; });
  return { submittedAt: new Date().toISOString(), roleKey: state.role, role: ROLES[state.role].title, answers, labels };
}

async function send(form) {
  if (state.sending) return;
  const hp = form.querySelector('input[name="website"]');
  if (hp &#38;&#38; hp.value) { done(false); return; }          // bots fill the hidden field
  const body = payload();
  const useForm = CONFIG.FORM_URL &#38;&#38; CONFIG.FORM_FIELD;
  if (!useForm &#38;&#38; !CONFIG.ENDPOINT) { done(true, body); return; }   // test mode: nothing leaves the page
  state.sending = true;
  const btn = $("next");
  btn.disabled = true; btn.textContent = "Sending...";
  const err = $("err-send");
  err.hidden = true;
  try {
    if (useForm) {
      const params = new URLSearchParams();
      params.append(CONFIG.FORM_FIELD, JSON.stringify(body));
      await fetch(CONFIG.FORM_URL, { method: "POST", mode: "no-cors", headers: { "Content-Type": "application/x-www-form-urlencoded" }, body: params });
    } else {
      await fetch(CONFIG.ENDPOINT, { method: "POST", mode: "no-cors", headers: { "Content-Type": "text/plain;charset=utf-8" }, body: JSON.stringify(body) });
    }
    state.sending = false; done(false);
  } catch (x) {
    state.sending = false; btn.disabled = false; btn.textContent = "Send my answers";
    err.textContent = "Your answers could not be sent. Please check your connection and try again. Your answers are still on this page.";
    err.hidden = false;
  }
}

function done(testMode, body) {
  $("progress").hidden = true;
  if (!testMode) {
    app.innerHTML = `Thank youYour answers have been sent. You can close this page now.`;
  } else {
    app.innerHTML = `Test mode: nothing was sent
      This copy of the survey isn't connected to a response sheet yet, so your answers went nowhere. Add your Google Form details to CONFIG in the file to switch this off. Here is what would have been sent:
      
      CopyStart again`;
    $("dump").textContent = JSON.stringify(body, null, 2);
    $("copy").addEventListener("click", async () =&#62; {
      const el = $("dump");
      try { await navigator.clipboard.writeText(el.textContent); $("copy").textContent = "Copied"; }
      catch (x) { const r = document.createRange(); r.selectNodeContents(el); const sel = getSelection(); sel.removeAllRanges(); sel.addRange(r); }
    });
    $("again").addEventListener("click", () =&#62; { state.role = null; state.step = 0; state.answers = {}; render(); focusTop(); });
  }
  focusTop();
}

render();

})();
</description>
		
	</item>
		
		
	<item>
		<title>car</title>
				
		<link>https://kellysian.com/car</link>

		<pubDate>Sat, 04 Oct 2025 13:34:45 +0000</pubDate>

		<dc:creator>kelly sian</dc:creator>

		<guid isPermaLink="true">https://kellysian.com/car</guid>

		<description>

	
&#60;img width="2075" height="3130" width_o="2075" height_o="3130" data-src="https://freight.cargo.site/t/original/i/60dd709ab46773fba82d9d8ae03bf1f7936c373a7799f69df3294619cfc12c1a/179489190032---Edited.jpg" data-mid="239020476" border="0"  src="https://freight.cargo.site/w/1000/i/60dd709ab46773fba82d9d8ae03bf1f7936c373a7799f69df3294619cfc12c1a/179489190032---Edited.jpg" /&#62;
&#60;img width="571" height="884" width_o="571" height_o="884" data-src="https://freight.cargo.site/t/original/i/d8bc0f41bc1e27b39d2503903e101fc7e2eea7c7697f5b6dcdffd349d3d6116d/Screenshot-2025-10-04-at-13.05.36.png" data-mid="239020465" border="0"  src="https://freight.cargo.site/w/571/i/d8bc0f41bc1e27b39d2503903e101fc7e2eea7c7697f5b6dcdffd349d3d6116d/Screenshot-2025-10-04-at-13.05.36.png" /&#62;
&#60;img width="436" height="665" width_o="436" height_o="665" data-src="https://freight.cargo.site/t/original/i/e63847f256195686156cf9b86e3ea0cc29a43f86d2d41388cd5c79a31f553eef/mockup_2.png" data-mid="239020466" border="0"  src="https://freight.cargo.site/w/436/i/e63847f256195686156cf9b86e3ea0cc29a43f86d2d41388cd5c79a31f553eef/mockup_2.png" /&#62;
&#60;img width="1188" height="877" width_o="1188" height_o="877" data-src="https://freight.cargo.site/t/original/i/f182ebf741e4adc91cc92db7d0fcf018ab73eb9dae889ba5e321565ab2971336/mockup_4.png" data-mid="239020470" border="0"  src="https://freight.cargo.site/w/1000/i/f182ebf741e4adc91cc92db7d0fcf018ab73eb9dae889ba5e321565ab2971336/mockup_4.png" /&#62;

	carlondon2022 by kelly rankin
shot on kodak portra 400on a minolta 7000


printed in yorkshire


vat calculated at checkout
image 2-3: a2
image 4: a3
Copyright © All rights reserved.
</description>
		
	</item>
		
		
	<item>
		<title>apples</title>
				
		<link>https://kellysian.com/apples</link>

		<pubDate>Sat, 04 Oct 2025 15:00:06 +0000</pubDate>

		<dc:creator>kelly sian</dc:creator>

		<guid isPermaLink="true">https://kellysian.com/apples</guid>

		<description>

	
&#60;img width="1972" height="2975" width_o="1972" height_o="2975" data-src="https://freight.cargo.site/t/original/i/5e2a789bec6c65fcbb09999f951eec1c2b7531ea482639a9185813628a182381/179489190036---Edited.jpg" data-mid="239021124" border="0"  src="https://freight.cargo.site/w/1000/i/5e2a789bec6c65fcbb09999f951eec1c2b7531ea482639a9185813628a182381/179489190036---Edited.jpg" /&#62;
&#60;img width="749" height="903" width_o="749" height_o="903" data-src="https://freight.cargo.site/t/original/i/17666faa0e9c7e73b75cbf0e543fe6f6db2349eaf3586e455d39334f1c83239b/mockup_3.png" data-mid="239021125" border="0"  src="https://freight.cargo.site/w/749/i/17666faa0e9c7e73b75cbf0e543fe6f6db2349eaf3586e455d39334f1c83239b/mockup_3.png" /&#62;
&#60;img width="1188" height="877" width_o="1188" height_o="877" data-src="https://freight.cargo.site/t/original/i/f182ebf741e4adc91cc92db7d0fcf018ab73eb9dae889ba5e321565ab2971336/mockup_4.png" data-mid="239021120" border="0"  src="https://freight.cargo.site/w/1000/i/f182ebf741e4adc91cc92db7d0fcf018ab73eb9dae889ba5e321565ab2971336/mockup_4.png" /&#62;

	appleslondon2022 by kelly rankin
shot on kodak portra 400on a minolta 7000


printed in yorkshire

vat calculated at checkoutsize a3 in images

	
	

Copyright © All rights reserved.
</description>
		
	</item>
		
		
	<item>
		<title>flowers</title>
				
		<link>https://kellysian.com/flowers</link>

		<pubDate>Sat, 04 Oct 2025 15:04:05 +0000</pubDate>

		<dc:creator>kelly sian</dc:creator>

		<guid isPermaLink="true">https://kellysian.com/flowers</guid>

		<description>

	
&#60;img width="686" height="903" width_o="686" height_o="903" data-src="https://freight.cargo.site/t/original/i/d5d1dcd1fd78cb4fc1445429441dbb5c1d3aa2cd04b0f14f6b176f8128002f54/mockup_11.png" data-mid="239021154" border="0"  src="https://freight.cargo.site/w/686/i/d5d1dcd1fd78cb4fc1445429441dbb5c1d3aa2cd04b0f14f6b176f8128002f54/mockup_11.png" /&#62;
&#60;img width="4492" height="6774" width_o="4492" height_o="6774" data-src="https://freight.cargo.site/t/original/i/6c834a9e18c8a6e551fa4e55b6ad6c94bdb389304ff32f95c6285fd4d53f3e0b/london_2024_23.jpg" data-mid="239021155" border="0"  src="https://freight.cargo.site/w/1000/i/6c834a9e18c8a6e551fa4e55b6ad6c94bdb389304ff32f95c6285fd4d53f3e0b/london_2024_23.jpg" /&#62;
&#60;img width="1211" height="858" width_o="1211" height_o="858" data-src="https://freight.cargo.site/t/original/i/9601aced14da66870e180a495e00f8a4ab428eb640f9c7bb699d9e84f1c3dde9/mockup_10.png" data-mid="239021153" border="0"  src="https://freight.cargo.site/w/1000/i/9601aced14da66870e180a495e00f8a4ab428eb640f9c7bb699d9e84f1c3dde9/mockup_10.png" /&#62;

	flowerslondon2024 by kelly rankin
shot on kodak portra 400on a minolta 7000


printed in yorkshire
vat calculated at checkout
image 1: a2
image 3: a3

Copyright © All rights reserved.</description>
		
	</item>
		
		
	<item>
		<title>jolene</title>
				
		<link>https://kellysian.com/jolene</link>

		<pubDate>Sat, 04 Oct 2025 15:02:27 +0000</pubDate>

		<dc:creator>kelly sian</dc:creator>

		<guid isPermaLink="true">https://kellysian.com/jolene</guid>

		<description>

	
&#60;img width="4492" height="6774" width_o="4492" height_o="6774" data-src="https://freight.cargo.site/t/original/i/8fb45a87ee8b99bb379884b542c70b2e63384ed9dfd6ca662c7ebd376a58da2c/london_2024_1.jpg" data-mid="239021138" border="0"  src="https://freight.cargo.site/w/1000/i/8fb45a87ee8b99bb379884b542c70b2e63384ed9dfd6ca662c7ebd376a58da2c/london_2024_1.jpg" /&#62;
&#60;img width="723" height="979" width_o="723" height_o="979" data-src="https://freight.cargo.site/t/original/i/fbbd56df8ca2110245be94fc057beb2c4829dacb435a67fd8e5a2faa4c50bd40/Screenshot-2025-10-04-at-15.55.49.png" data-mid="239021139" border="0"  src="https://freight.cargo.site/w/723/i/fbbd56df8ca2110245be94fc057beb2c4829dacb435a67fd8e5a2faa4c50bd40/Screenshot-2025-10-04-at-15.55.49.png" /&#62;
&#60;img width="1211" height="858" width_o="1211" height_o="858" data-src="https://freight.cargo.site/t/original/i/9601aced14da66870e180a495e00f8a4ab428eb640f9c7bb699d9e84f1c3dde9/mockup_10.png" data-mid="239021140" border="0"  src="https://freight.cargo.site/w/1000/i/9601aced14da66870e180a495e00f8a4ab428eb640f9c7bb699d9e84f1c3dde9/mockup_10.png" /&#62;

	jolenelondon2024 by kelly rankin
shot on kodak portra 400on a minolta 7000


printed in yorkshire
vat calculated at checkoutimage 2: a4image 3: a3



Copyright © All rights reserved.
</description>
		
	</item>
		
		
	<item>
		<title>brick lane</title>
				
		<link>https://kellysian.com/brick-lane</link>

		<pubDate>Sat, 04 Oct 2025 15:05:45 +0000</pubDate>

		<dc:creator>kelly sian</dc:creator>

		<guid isPermaLink="true">https://kellysian.com/brick-lane</guid>

		<description>

	
&#60;img width="4492" height="6774" width_o="4492" height_o="6774" data-src="https://freight.cargo.site/t/original/i/e2e81a6a19b280fc7b6e90bdc3763e83fbe846a258a37e08be7e40aa250cc139/london_2024_35.jpg" data-mid="239021171" border="0"  src="https://freight.cargo.site/w/1000/i/e2e81a6a19b280fc7b6e90bdc3763e83fbe846a258a37e08be7e40aa250cc139/london_2024_35.jpg" /&#62;
&#60;img width="574" height="652" width_o="574" height_o="652" data-src="https://freight.cargo.site/t/original/i/6df66906ca8ee703f0db069c4c7b19d5ff291376c4eb877f7d9b7ac76807ce2f/mockup_8.png" data-mid="239021173" border="0"  src="https://freight.cargo.site/w/574/i/6df66906ca8ee703f0db069c4c7b19d5ff291376c4eb877f7d9b7ac76807ce2f/mockup_8.png" /&#62;
&#60;img width="1188" height="862" width_o="1188" height_o="862" data-src="https://freight.cargo.site/t/original/i/107a45761b216a617f2b8f6ec21dec5b139322ec73606bef0bc9afa9ee76c123/mockup_6.png" data-mid="239021172" border="0"  src="https://freight.cargo.site/w/1000/i/107a45761b216a617f2b8f6ec21dec5b139322ec73606bef0bc9afa9ee76c123/mockup_6.png" /&#62;

	brick laneshot on kodak portra 400
on a minolta 7000
	
	

in 2024 by kelly rankin
printed in yorkshire
vat calculated at checkout
&#38;nbsp;&#38;nbsp;
&#38;nbsp;image 2: a4
image 3: a3



Copyright © All rights reserved.</description>
		
	</item>
		
		
	<item>
		<title>hot bagels</title>
				
		<link>https://kellysian.com/hot-bagels</link>

		<pubDate>Sat, 04 Oct 2025 15:09:31 +0000</pubDate>

		<dc:creator>kelly sian</dc:creator>

		<guid isPermaLink="true">https://kellysian.com/hot-bagels</guid>

		<description>

	
&#60;img width="621" height="892" width_o="621" height_o="892" data-src="https://freight.cargo.site/t/original/i/07cb3154b52e6d2b3f5633111b150dbaee5d7474e911eb27a660bc7b14efe2ec/Screenshot-2025-10-04-at-16.11.23.png" data-mid="239021197" border="0"  src="https://freight.cargo.site/w/621/i/07cb3154b52e6d2b3f5633111b150dbaee5d7474e911eb27a660bc7b14efe2ec/Screenshot-2025-10-04-at-16.11.23.png" /&#62;
&#60;img width="823" height="911" width_o="823" height_o="911" data-src="https://freight.cargo.site/t/original/i/3af5355ceb8e3a59c56c73588d18031e0d2b48e4b5342428c68c31111986f9c3/mockup_5.png" data-mid="239021195" border="0"  src="https://freight.cargo.site/w/823/i/3af5355ceb8e3a59c56c73588d18031e0d2b48e4b5342428c68c31111986f9c3/mockup_5.png" /&#62;
&#60;img width="1188" height="862" width_o="1188" height_o="862" data-src="https://freight.cargo.site/t/original/i/107a45761b216a617f2b8f6ec21dec5b139322ec73606bef0bc9afa9ee76c123/mockup_6.png" data-mid="239021193" border="0"  src="https://freight.cargo.site/w/1000/i/107a45761b216a617f2b8f6ec21dec5b139322ec73606bef0bc9afa9ee76c123/mockup_6.png" /&#62;

	hot bagelslondon2025 by kelly rankin

shot on kodak portra 400
on a minolta 7000
	
	


printed in yorkshire
vat calculated at checkout&#38;nbsp;&#38;nbsp;
&#38;nbsp;image 2: a4
image 3: a3


Copyright © All rights reserved.</description>
		
	</item>
		
		
	<item>
		<title>look</title>
				
		<link>https://kellysian.com/look</link>

		<pubDate>Sat, 04 Oct 2025 15:12:46 +0000</pubDate>

		<dc:creator>kelly sian</dc:creator>

		<guid isPermaLink="true">https://kellysian.com/look</guid>

		<description>

	
&#60;img width="2075" height="3130" width_o="2075" height_o="3130" data-src="https://freight.cargo.site/t/original/i/a74d0f5b1b57a2cf5e64b6057d876e290caea69db3fa3d6306cabab0a766e642/592638570004.jpg" data-mid="239021224" border="0"  src="https://freight.cargo.site/w/1000/i/a74d0f5b1b57a2cf5e64b6057d876e290caea69db3fa3d6306cabab0a766e642/592638570004.jpg" /&#62;
&#60;img width="671" height="868" width_o="671" height_o="868" data-src="https://freight.cargo.site/t/original/i/983a6e6e9c54d2f2850eaead093a5a1cfa553d4949b264a83d9204e176ee7688/mockup_13.png" data-mid="239021225" border="0"  src="https://freight.cargo.site/w/671/i/983a6e6e9c54d2f2850eaead093a5a1cfa553d4949b264a83d9204e176ee7688/mockup_13.png" /&#62;
&#60;img width="1221" height="840" width_o="1221" height_o="840" data-src="https://freight.cargo.site/t/original/i/132b4be3f2d2803c963eb94090c0460532edd773b038de6c66dee807b0e6a708/mockup_12.png" data-mid="239021226" border="0"  src="https://freight.cargo.site/w/1000/i/132b4be3f2d2803c963eb94090c0460532edd773b038de6c66dee807b0e6a708/mockup_12.png" /&#62;

	looklondon2025 by kelly rankin

shot on kodak portra 400
on a canon mju iii


printed in yorkshire
vat calculated at checkout&#38;nbsp; 
 image 2: a3
image 3: a4


Copyright © All rights reserved.</description>
		
	</item>
		
		
	<item>
		<title>step</title>
				
		<link>https://kellysian.com/step</link>

		<pubDate>Sat, 04 Oct 2025 15:38:30 +0000</pubDate>

		<dc:creator>kelly sian</dc:creator>

		<guid isPermaLink="true">https://kellysian.com/step</guid>

		<description>

	
&#60;img width="1545" height="1024" width_o="1545" height_o="1024" data-src="https://freight.cargo.site/t/original/i/e384b3731380d990b20569f70a97bb2d390401243a3f97b77de64361fb52904b/32270002.JPG" data-mid="239021597" border="0"  src="https://freight.cargo.site/w/1000/i/e384b3731380d990b20569f70a97bb2d390401243a3f97b77de64361fb52904b/32270002.JPG" /&#62;
&#60;img width="711" height="962" width_o="711" height_o="962" data-src="https://freight.cargo.site/t/original/i/166bede10837ef29ff5c3f8a75a8aabca4da8c96fcfd436af433ef7f5d5116d6/Screenshot-2025-10-04-at-15.58.16.png" data-mid="239021595" border="0"  src="https://freight.cargo.site/w/711/i/166bede10837ef29ff5c3f8a75a8aabca4da8c96fcfd436af433ef7f5d5116d6/Screenshot-2025-10-04-at-15.58.16.png" /&#62;

	steplondon2018 by kelly rankin

shot on kodak gold 200
on a minolta 7000 &#38;nbsp;
printed in yorkshire
&#38;nbsp; 
 image 2: a3Copyright © All rights reserved.



</description>
		
	</item>
		
		
	<item>
		<title>night collective</title>
				
		<link>https://kellysian.com/night-collective</link>

		<pubDate>Sat, 04 Oct 2025 15:19:00 +0000</pubDate>

		<dc:creator>kelly sian</dc:creator>

		<guid isPermaLink="true">https://kellysian.com/night-collective</guid>

		<description>

	
&#60;img width="1221" height="840" width_o="1221" height_o="840" data-src="https://freight.cargo.site/t/original/i/132b4be3f2d2803c963eb94090c0460532edd773b038de6c66dee807b0e6a708/mockup_12.png" data-mid="239021335" border="0"  src="https://freight.cargo.site/w/1000/i/132b4be3f2d2803c963eb94090c0460532edd773b038de6c66dee807b0e6a708/mockup_12.png" /&#62;
&#60;img width="2075" height="3130" width_o="2075" height_o="3130" data-src="https://freight.cargo.site/t/original/i/a74d0f5b1b57a2cf5e64b6057d876e290caea69db3fa3d6306cabab0a766e642/592638570004.jpg" data-mid="239021333" border="0"  src="https://freight.cargo.site/w/1000/i/a74d0f5b1b57a2cf5e64b6057d876e290caea69db3fa3d6306cabab0a766e642/592638570004.jpg" /&#62;
&#60;img width="2075" height="3130" width_o="2075" height_o="3130" data-src="https://freight.cargo.site/t/original/i/0ec71b48b9e84cb9491a0646a9ebdb1698b30334b95a054de67192ea6bb162e3/592638570008.jpg" data-mid="239021441" border="0"  src="https://freight.cargo.site/w/1000/i/0ec71b48b9e84cb9491a0646a9ebdb1698b30334b95a054de67192ea6bb162e3/592638570008.jpg" /&#62;
&#60;img width="2075" height="3130" width_o="2075" height_o="3130" data-src="https://freight.cargo.site/t/original/i/3f7d92469443efc695b7d4501d33f79ee7c1507992e3a88dfa6e87be650c5a98/592638570007.jpg" data-mid="239021443" border="0"  src="https://freight.cargo.site/w/1000/i/3f7d92469443efc695b7d4501d33f79ee7c1507992e3a88dfa6e87be650c5a98/592638570007.jpg" /&#62;

	night collectivetrio of a4 photo prints
all shot in london2025 by kelly rankin
all with kodak portra 400
on a canon mju iii


printed in yorkshire
vat calculated at checkout
Copyright © All rights reserved.</description>
		
	</item>
		
	</channel>
</rss>