Market on the Square is a farmers market in Putnam County, Missouri, offering fresh, locally grown food. Worth a visit if you want local produce in Missouri.
Listing details
Full Address
South 17th Street, Unionville, MO, USA
County
Putnam County
Type
Farmers Market
Indoor / Outdoor
Outdoor
About
Market on the Square is a farmers’ market in Missouri.
(function(){
function norm(s){return String(s||'').replace(/\s+/g,' ').trim()}
function htmlEsc(s){var d=document.createElement('div');d.textContent=String(s??'');return d.innerHTML}
function valid(v){return v!==undefined&&v!==null&&v!==''&&!(Array.isArray(v)&&!v.length)}
function directHost(url){try{return new URL(url,location.origin).hostname.replace(/^www\./,'')}catch(e){return ''}}
function isAffiliate(url){
var h=directHost(url);
return /(^|\.)(tidd\.ly|awin1\.com|awin\.com|shareasale\.com|anrdoezrs\.net|jdoqocy\.com|tkqlhce\.com|pjatr\.com)$/i.test(h);
}
function sourceLink(url){
if(!url||!/^https?:\/\//i.test(url)||isAffiliate(url))return '';
return '
';
}
function valueText(v){
if(v===true)return 'Yes';
if(v===false)return 'No';
if(Array.isArray(v))return v.map(valueText).filter(Boolean).join(' · ');
if(v&&typeof v==='object')return '';
var tmp=document.createElement('div');tmp.innerHTML=String(v??'');return norm(tmp.textContent);
}
function labelKey(label){
var n=norm(label).toLowerCase();
var aliases={
'shipping international':'shipping_international',
'shipping notes':'shipping_notes',
'website check':'website_check',
'website verified':'website_verified',
'verification status':'verification_status',
'excluded items':'excluded_products',
'sku count':'sku_count',
'products found':'products_found',
'products with list':'products_with_list',
'products no list':'products_no_list',
'brand site readable':'brand_site_readable',
'sources checked':'sources_checked',
'full catalogue scan':'full_catalogue_scan',
'full catalogue reason':'full_catalogue_reason',
'scan publication status':'scan_publication_status',
'scan method version':'scan_method_version',
'scan denominator':'scan_denominator',
'scan products read':'scan_products_read',
'incomplete count':'incomplete_count',
'incomplete note':'incomplete_note',
'factory certifications':'factory_certifications',
'supplier disclosure':'supplier_disclosure',
'traceability level':'traceability_level'
};
if(aliases[n])return aliases[n];
return n.replace(/®/g,'').replace(/%/g,'pct').replace(/[^a-z0-9]+/g,'_').replace(/^_+|_+$/g,'');
}
function sourceFor(acf,key){
var aliases={
gots:'gots_source',
'oeko-tex_standard_100':'oeko_source',
fairtrade:'fairtrade_source',
planet:'onepercent_source'
};
var candidates=[key+'_source',key+'_src',aliases[key]].filter(Boolean);
for(var i=0;i .hs-section'));
function byTitle(title){return sections.find(function(s){var h=s.querySelector('.hs-h2,.hs-eyebrow,h2,h3');return h&&new RegExp('^'+title+'$','i').test(norm(h.textContent))})}
var filed=byTitle('Filed under'),explore=byTitle('Keep exploring');
if(filed)root.appendChild(filed);
if(explore)root.appendChild(explore);
}
function keepExploring(){
var root=findRoot();if(!root)return;
[].slice.call(root.querySelectorAll('a.hs-btn')).forEach(function(a){
if(/^Compare records$/i.test(norm(a.textContent))){
a.href='/extensions/chrome/';
a.textContent='Chrome extension';
}
});
}
function officialSite(acf,brand){
var candidates=[
brand&&brand.site,
acf&&acf.scan_shop,
acf&&acf.official_website,
acf&&acf.website
].filter(Boolean);
for(var i=0;i<candidates.length;i++){
if(/^https?:\/\//i.test(candidates[i])&&!isAffiliate(candidates[i]))return candidates[i];
}
return '';
}
function replaceAffiliateLinks(site){
if(!site)return;
var root=findRoot();if(!root)return;
root.querySelectorAll('a[href]').forEach(function(a){
if(isAffiliate(a.href)){a.href=site;a.textContent='Visit Website';a.target='_blank';a.rel='noopener'}
});
root.querySelectorAll('td').forEach(function(td){
if(/https?:\/\/(?:www\.)?(?:tidd\.ly|awin1?\.com|shareasale\.com|anrdoezrs\.net|jdoqocy\.com|tkqlhce\.com)/i.test(td.textContent||'')){
td.innerHTML='Visit Website';
}
});
}
function fixFullReport(acf,brand){
var report=document.getElementById('htt-full-record');if(!report)return;
var site=officialSite(acf,brand);
report.querySelectorAll('tr[data-htt-record-row], table tr').forEach(function(row){
var th=row.querySelector('th');var td=row.querySelector('td');if(!th||!td)return;
var label=norm(th.textContent),low=label.toLowerCase();
var placeholder=/Source-backed finding pending|Provide evidence for this field/i.test(td.textContent||'');
if(/^price$/i.test(label)){row.remove();return}
if(/^(website|official website|buy link|shop link)$/i.test(label)){
if(site)td.innerHTML='Visit Website';
else row.remove();
return;
}
if(/^sku count$/i.test(label)){
var c=brand&&brand.canonical||{};
var count=c.sku_count??c.product_count??c.catalogue_total??(brand&&brand.counts&&brand.counts.scanned);
if(valid(count)){td.textContent=String(count);return}
}
if(!placeholder)return;
var key=labelKey(label),v=acf[key];
if(key==='excluded_products'&&!valid(v)&&valid(acf.excluded_note))v=acf.excluded_note;
if(!valid(v)){row.remove();return}
td.innerHTML='
'+htmlEsc(valueText(v))+'
'+sourceLink(sourceFor(acf,key));
});
report.querySelectorAll('[data-htt-record-group]').forEach(function(group){
var rows=[].slice.call(group.querySelectorAll('tbody tr')).filter(function(r){return r.isConnected&&!r.hidden});
if(!rows.length){group.remove();return}
var count=group.querySelector('.hs-group-head span');
if(count&&/fields recorded/i.test(count.textContent||''))count.textContent=rows.length+' fields shown';
});
}
function certRow(name,claim,source,scope){
if(!claim)return ''; var yes=/brand\/company membership/i.test(scope||'')&&!/\bnot\b/i.test(claim); var badge=''+(yes?'Yes':'No')+'';
return '
'+htmlEsc(name)+'
'+
'
'+badge+htmlEsc(claim)+'
'+
(scope?'
Scope: '+htmlEsc(scope)+'. A product, material, factory or supplier certificate is not treated as a brand certificate.
':'')+
sourceLink(source)+'
';
}
function fixCertifications(acf){
var report=document.getElementById('htt-full-record');if(!report)return;
var group=[].slice.call(report.querySelectorAll('[data-htt-record-group],.hs-group')).find(function(g){
var h=g.querySelector('.hs-group-head h3,h3');return h&&/^Certifications and memberships$/i.test(norm(h.textContent));
});
if(!group)return;
var factory=valueText(acf.factory_certifications||'');
var rows='';
rows+=certRow('GOTS',valueText(acf.gots||''),acf.gots_source||'','Brand/company versus certified cotton, material or supplier');
rows+=certRow('OEKO-TEX Standard 100',valueText(acf['oeko-tex®_standard_100']||''),acf.oeko_source||'','Brand/company versus fabric, component or supplier');
var bcorp=valueText(acf.other_certifications||'');
if(/B Corp/i.test(factory)&&!/B Corp/i.test(bcorp))bcorp=(bcorp?bcorp+' ':'')+'Kent also attributes B Corp certification to a supply-chain partner; this is not a Kent corporate certification.';
rows+=certRow('B Corp',bcorp,acf.bcorp_source||'','Brand/company versus supplier or farm');
if(valid(acf.planet)||valid(acf.onepercent_source)){
rows+=certRow('1% for the Planet',valueText(acf.planet||'Listed in the official 1% for the Planet directory.'),acf.onepercent_source||'','Brand/company membership');
}
if(/Fairtrade|Fair Trade/i.test(factory)){
rows+=certRow('Fair Trade',factory,acf.fairtrade_source||acf.gots_source||'','Factory, farm or supplier claim unless Kent itself is named');
}
if(/\bGRS\b/i.test(factory)){
rows+=certRow('GRS',factory,acf.gots_source||acf.fairtrade_source||'','Factory or supplier certification claim');
}
if(!rows){group.remove();return}
var table=group.querySelector('table');
if(table)table.innerHTML=''+rows+'';
var intro=group.querySelector(':scope > p');
if(intro)intro.textContent='Certification scope is shown exactly as held: brand/company, product/material, factory or supplier. Supplier certification is not brand certification.';
}
function sortVisibleProductRows(){
document.querySelectorAll('table.htt-sku-results tbody').forEach(function(body){
var rows=[].slice.call(body.querySelectorAll('tr'));
rows.sort(function(a,b){
function rank(r){
var t=norm(r.textContent);
var cells=r.children;
var comp=cells[1]?norm(cells[1].textContent):'';
return (/non-composition|Normalized breakdown not available|Excluded from textile composition/i.test(t)||!comp)?1:0;
}
return rank(a)-rank(b);
});
rows.forEach(function(r){body.appendChild(r)});
});
}
function fixFullReportLabels(acf,brand){
var report=document.getElementById('htt-full-record');if(!report)return;
report.querySelectorAll('tr').forEach(function(row){
var th=row.querySelector('th'),td=row.querySelector('td');if(!th||!td)return;
var label=norm(th.textContent);
var fm=label.match(/^Feature\s+(\d+)$/i);
if(fm){th.textContent='Fact '+fm[1];label=th.textContent;}
if(/^(Brand site readable|Verification status|Shop link)$/i.test(label)){row.remove();return;}
if(/^Fibre Breakdown$/i.test(label)){
var c=brand&&brand.canonical||{};
var assessed=Number(c.composition_assessed_count);
var plant=Number(c.composition_plant_share_pct);
var coverage=Number(c.composition_coverage_pct);
var missing=Number(c.composition_missing_count);
if(Number.isFinite(assessed)&&Number.isFinite(plant)){
var text=assessed+' assessed products · '+plant.toFixed(plant%1?1:0)+'% plant fibre';
if(plant===100&&(!Number.isFinite(coverage)||coverage>=99.999)&&(!Number.isFinite(missing)||missing===0)){
text+=' · 0% animal · 0% synthetic · 0% semi-synthetic';
}
td.textContent=text;
}
}
});
report.querySelectorAll('a').forEach(function(a){
if(/^Read recorded source$/i.test(norm(a.textContent)))a.textContent='Source';
});
report.querySelectorAll('[data-htt-record-group],.hs-group').forEach(function(group){
var h=group.querySelector('.hs-group-head h3,h3');
if(h&&/^Claims and evidence$/i.test(norm(h.textContent)))h.textContent='Excluded and unscored';
var rows=[].slice.call(group.querySelectorAll('tbody tr')).filter(function(r){return r.isConnected&&!r.hidden});
if(!rows.length){group.remove();return;}
var count=group.querySelector('.hs-group-head span');
if(count&&/fields (?:shown|recorded)/i.test(count.textContent||''))count.textContent=rows.length+' fields shown';
});
}
function httFinalPolish(acf,brand){
var report=document.getElementById('htt-full-record');
var root=findRoot();
/* Score card: the label is the rules link; remove the duplicate methodology CTA. */
if(root){
root.querySelectorAll('a').forEach(function(a){
if(/^Read the scoring methodology and worked examples$/i.test(norm(a.textContent))){
var p=a.parentElement;a.remove();if(p&&/^P$/i.test(p.tagName)&&!norm(p.textContent))p.remove();
}
});
var scoreBand=root.querySelector('.hs-band.hs-two')||root;
scoreBand.querySelectorAll('*').forEach(function(el){
if(el.querySelector&&el.querySelector('a'))return;
if(/^THRONE SCORE\b/i.test(norm(el.textContent))){
el.innerHTML=el.innerHTML.replace(/THRONE SCORE/i,'THRONE SCORE');
}
});
}
/* Hero: keep only the category eyebrow; location belongs in Place and access. */
if(root){
root.querySelectorAll('.hs-eyebrow').forEach(function(el){
var t=norm(el.textContent);
if(/\blocated\b/i.test(t)&&t.indexOf('·')>-1)el.textContent=t.split('·')[0].trim();
});
}
if(!report)return;
/* Features are editorial facts on the report. */
report.querySelectorAll('.hs-group-head h3,h3').forEach(function(h){
if(/^Features$/i.test(norm(h.textContent)))h.textContent='Facts';
});
/* Compact label column for certification rows. */
var cert=[].slice.call(report.querySelectorAll('[data-htt-record-group],.hs-group')).find(function(g){
var h=g.querySelector('.hs-group-head h3,h3');
return h&&/^Certifications and memberships$/i.test(norm(h.textContent));
});
if(cert)cert.classList.add('htt-cert-compact');
if(!document.getElementById('htt-final-report-polish-style')){
var style=document.createElement('style');
style.id='htt-final-report-polish-style';
style.textContent='#htt-full-record .htt-cert-compact table th[scope="row"]{width:16%!important;max-width:16%!important}#htt-full-record .htt-cert-compact table td{width:84%!important}@media(max-width:700px){#htt-full-record .htt-cert-compact table th[scope="row"]{width:22%!important;max-width:22%!important}#htt-full-record .htt-cert-compact table td{width:78%!important}}';
document.head.appendChild(style);
}
function prettySource(url){
var host='';try{host=new URL(url,location.origin).hostname.replace(/^www\./,'').toLowerCase()}catch(e){}
if(/wearkent\.com$/.test(host))return (brand&&brand.name)||document.title.split('|')[0].trim()||'Website';
if(/goodonyou\.eco$/.test(host))return 'Good On You';
if(/sustainablebusinessmagazine\.net$/.test(host))return 'Sustainable Business Magazine';
if(/circle-economy\.com$/.test(host))return 'Circle Economy';
if(/onepercentfortheplanet\.org$/.test(host))return '1% for the Planet';
if(/causeartist\.com$/.test(host))return 'Causeartist';
if(/linkedin\.com$/.test(host))return 'LinkedIn';
if(/instagram\.com$/.test(host))return 'Instagram';
if(/tiktok\.com$/.test(host))return 'TikTok';
return host?host.replace(/\.[a-z]{2,}$/i,'').split(/[.-]/).map(function(w){return w?w[0].toUpperCase()+w.slice(1):''}).join(' '):'Website';
}
function anchors(urls){
var seen={};
return urls.filter(function(u){if(seen[u])return false;seen[u]=1;return true}).map(function(u){
return ''+htmlEsc(prettySource(u))+' ↗';
}).join(' · ');
}
/* Turn raw source URL fields into named, new-tab links. */
report.querySelectorAll('tr').forEach(function(row){
var th=row.querySelector('th'),td=row.querySelector('td');if(!th||!td)return;
var label=norm(th.textContent),key=labelKey(label);
var raw='';
if(/^Where the sourcing info was verified$/i.test(label))raw=String(acf.sourcing_sources||'');
else if(/^1% for the Planet Source$/i.test(label))raw=String(acf.onepercent_source||'');
else if(/^PFAS source$/i.test(label))raw=String(acf.cs_pfas_src||'');
else if(/^Take-back source$/i.test(label))raw=String(acf.cs_takeback_repair_src||'');
else if(/source$|link$/i.test(label))raw=valueText(acf[key]||td.textContent||'');
var urls=(raw.match(/https?:\/\/[^\s]+/g)||[]).map(function(u){return u.replace(/[),.;]+$/,'')});
if(urls.length){
td.innerHTML=anchors(urls);
return;
}
/* Raw URL-only cells such as Owner Link, Instagram and TikTok. */
var text=norm(td.textContent),found=text.match(/https?:\/\/[^\s]+/g)||[];
if(found.length&&norm(text.replace(/https?:\/\/[^\s]+/g,''))===''){
td.innerHTML=anchors(found.map(function(u){return u.replace(/[),.;]+$/,'')}));
}
});
/* The source-list row already contains the links; remove duplicated Source labels. */
report.querySelectorAll('tr').forEach(function(row){
var th=row.querySelector('th'),td=row.querySelector('td');if(!th||!td)return;
if(/^Where the sourcing info was verified$/i.test(norm(th.textContent))){
[].slice.call(td.querySelectorAll('a')).forEach(function(a){
if(/^Source$/i.test(norm(a.textContent)))a.remove();
});
}
});
/* Replace the old report-search listener with a deterministic filter. */
var input=report.querySelector('input[data-htt-full-search]');
if(input&&!input.dataset.httFixedSearch){
var clean=input.cloneNode(true);
clean.dataset.httFixedSearch='1';
input.parentNode.replaceChild(clean,input);
clean.addEventListener('input',function(){
var q=norm(clean.value).toLowerCase();
report.querySelectorAll('[data-htt-record-group],.hs-group').forEach(function(group){
var titleEl=group.querySelector('.hs-group-head h3,h3');
var title=norm(titleEl&&titleEl.textContent).toLowerCase();
var titleMatch=q!==''&&title.indexOf(q)>-1;
var rows=[].slice.call(group.querySelectorAll('tbody tr'));
var any=titleMatch;
rows.forEach(function(row){
var hit=!q||titleMatch||norm(row.textContent).toLowerCase().indexOf(q)>-1;
row.hidden=!hit;
if(hit)any=true;
});
group.hidden=!!q&&!any;
});
});
}
}
function run(){
var p=getTypeSlug();
if(!p.type||!p.slug)return;
Promise.all([
fetch('/wp-json/wp/v2/'+encodeURIComponent(p.type)+'?slug='+encodeURIComponent(p.slug)+'&per_page=1&_fields=id,acf',{credentials:'same-origin',cache:'no-store'}).then(function(r){return r.ok?r.json():[]}).catch(function(){return []}),
fetch('/wp-json/htt/v1/brands/'+encodeURIComponent(p.slug),{credentials:'same-origin',cache:'no-store'}).then(function(r){return r.ok?r.json():null}).catch(function(){return null})
]).then(function(res){
var record=res[0]&&res[0][0]||{},acf=record.acf||{},brand=res[1]||{};
keepExploring();
replaceAffiliateLinks(officialSite(acf,brand));
fixFullReport(acf,brand);
fixCertifications(acf);
sortVisibleProductRows();
fixFullReportLabels(acf,brand);
httFinalPolish(acf,brand);
moveTail();
});
}
if(document.readyState==='loading')document.addEventListener('DOMContentLoaded',run,{once:true});else run();
setTimeout(run,600);
})();
(function(){
if(!/^\/clothes\//i.test(location.pathname)) return;
function norm(s){ return String(s||'').replace(/\s+/g,' ').trim(); }
function num(s){
var m=String(s||'').match(/-?\d+(?:\.\d+)?/);
return m ? parseFloat(m[0]) : 0;
}
function currentCompareColumn(){
var table=Array.from(document.querySelectorAll('table')).find(function(t){
return /COMPARE BRANDS/i.test((t.previousElementSibling&&t.previousElementSibling.textContent)||'') ||
/YOU(?:'|’)?RE VIEWING/i.test(t.textContent||'');
});
if(!table) return null;
var heads=Array.from(table.querySelectorAll('thead th'));
var idx=heads.findIndex(function(th){ return /YOU(?:'|’)?RE VIEWING/i.test(th.textContent||''); });
if(idx<0) idx=1;
return {table:table,index:idx,head:heads[idx]||null};
}
function compareValue(label){
var cc=currentCompareColumn();
if(!cc) return null;
var rows=Array.from(cc.table.querySelectorAll('tbody tr'));
var row=rows.find(function(tr){
var first=tr.querySelector('th,td');
return first && norm(first.textContent).toLowerCase()===label.toLowerCase();
});
if(!row) return null;
var cells=Array.from(row.children);
return cells[cc.index] ? norm(cells[cc.index].textContent) : null;
}
function removeClothing(){
Array.from(document.querySelectorAll('.hs-main *, main *, article *')).forEach(function(el){
if(el.children.length===0 && norm(el.textContent).toUpperCase()==='CLOTHING') el.remove();
});
}
function fixBuyLink(){
Array.from(document.querySelectorAll('tr')).forEach(function(tr){
var cells=Array.from(tr.children);
if(!cells.length) return;
if(norm(cells[0].textContent).toLowerCase()!=='buy link') return;
var target=cells[1];
if(!target) return;
var a=target.querySelector('a');
if(a){
a.textContent='Visit Website';
a.setAttribute('aria-label','Visit Website');
}else if(target.textContent){
target.textContent='Visit Website';
}
});
}
function moveSave(){
var contacts=document.querySelector('nav.htt-brand-contacts');
var btn=document.querySelector('.hs-cta .simplefavorite-button, button.simplefavorite-button');
if(!contacts||!btn) return;
if(btn.parentElement!==contacts) contacts.appendChild(btn);
btn.classList.add('htt-save-brand');
btn.style.display='inline-flex';
btn.style.visibility='visible';
btn.style.opacity='1';
var sync=function(){ btn.textContent=btn.classList.contains('active')?'Saved':'Save this brand'; };
sync();
if(!btn.dataset.httLiveObserved){
btn.dataset.httLiveObserved='1';
new MutationObserver(sync).observe(btn,{attributes:true,attributeFilter:['class']});
}
}
function addComposition(){
var score=Array.from(document.querySelectorAll('.hs-band.hs-two, .hs-band')).find(function(el){
return /THRONE SCORE/i.test(el.textContent||'') && /\/5/.test(el.textContent||'');
});
if(!score) return;
var existing=document.querySelector('.htt-composition-visual, .htt-composition-visual-live');
if(existing){
if(existing.parentElement!==score) score.appendChild(existing);
existing.classList.add('htt-composition-visual-live');
return;
}
var plant=num(compareValue('Plant fibre'));
var synth=num(compareValue('Synthetic fibre'));
var animal=num(compareValue('Animal fibre'));
var semi=num(compareValue('Semi-synthetic'));
var total=plant+synth+animal+semi;
if(total<=0) return;
var box=document.createElement('section');
box.className='htt-composition-visual-live';
box.innerHTML=
'
';
score.appendChild(box);
}
function addCompareImage(){
var cc=currentCompareColumn();
if(!cc||!cc.head||cc.head.querySelector('.htt-compare-brand-image-live')) return;
var meta=document.querySelector('meta[property="og:image"],meta[name="twitter:image"]');
var src=meta && meta.content ? meta.content : '';
if(!src) return;
var bhead=cc.head.querySelector('.bhead')||cc.head;
var img=document.createElement('img');
img.className='htt-compare-brand-image-live';
img.src=src;
img.alt=(document.querySelector('h1')?norm(document.querySelector('h1').textContent):'Brand');
bhead.insertBefore(img,bhead.firstChild);
}
function relabelStandard(){
var cc=currentCompareColumn();
if(!cc) return;
Array.from(cc.table.querySelectorAll('tbody tr')).forEach(function(tr){
var cell=tr.querySelector('th,td');
if(!cell||norm(cell.textContent).toLowerCase()!=='throne score'||cell.querySelector('.htt-standard-label-live')) return;
var icon=document.querySelector('link[rel~="icon"]');
var span=document.createElement('span');
span.className='htt-standard-label-live';
if(icon&&icon.href){
var img=document.createElement('img');
img.src=icon.href; img.alt='Hold The Throne';
span.appendChild(img);
}
var tx=document.createElement('span');
tx.textContent='Throne Standard';
span.appendChild(tx);
cell.textContent='';
cell.appendChild(span);
});
}
function addAllCompareImages(){
var table=document.querySelector('table.htt-kent-ac');
if(!table) return;
var map={
'PACT':'https://holdthethrone.com/wp-content/uploads/2025/07/Pact.jpg',
'GYMSHARK':'https://holdthethrone.com/wp-content/uploads/2026/07/gymshark-logo.avif',
'EVERLANE':'https://holdthethrone.com/wp-content/uploads/2026/06/Everlane-Clothing-review-scaled.jpg'
};
Array.from(table.querySelectorAll('thead th')).forEach(function(th){
var label=norm(th.textContent).toUpperCase();
var key=Object.keys(map).find(function(k){ return label.indexOf(k)!==-1; });
if(!key || th.querySelector('.htt-compare-brand-image-live')) return;
var head=th.querySelector('.bhead')||th;
var img=document.createElement('img');
img.className='htt-compare-brand-image-live';
img.src=map[key];
img.alt=key.charAt(0)+key.slice(1).toLowerCase();
head.insertBefore(img,head.firstChild);
});
}
function removePriceColumn(){
var table=document.querySelector('table.htt-sku-results');
if(!table) return;
var heads=Array.from(table.querySelectorAll('thead th'));
var idx=heads.findIndex(function(th){ return norm(th.textContent).toLowerCase()==='recorded price'; });
if(idx<0) return;
Array.from(table.querySelectorAll('tr')).forEach(function(tr){
if(tr.children[idx]) tr.children[idx].remove();
});
Array.from(document.querySelectorAll('p')).forEach(function(p){
if(/^Prices are recorded observations/i.test(norm(p.textContent))) p.remove();
});
}
function apply(){
removeClothing();
fixBuyLink();
moveSave();
addComposition();
removePriceColumn();
addCompareImage();
addAllCompareImages();
relabelStandard();
}
var style=document.createElement('style');
style.id='htt-clothes-live-annotation-style-20261006';
style.textContent=
'.htt-composition-visual-live{margin:24px 0 0;padding:20px 0 0;border:0;border-top:1px solid rgba(255,255,255,.35);background:transparent;color:inherit}'+
'.htt-comp-eyebrow{font:700 12px/1.2 Jost,system-ui,sans-serif;letter-spacing:.16em;text-transform:uppercase;margin:0 0 12px}'+
'.htt-comp-bar{display:flex;width:100%;height:24px;overflow:hidden;border-radius:999px;background:#f3efe8;border:2px solid #ffffff;box-sizing:border-box;box-shadow:inset 0 0 0 1px rgba(43,58,92,.18)}'+
'.htt-comp-bar span{display:block;height:100%}.htt-comp-plant{background:#0f5138;border-right:1px solid rgba(255,255,255,.75)}.htt-comp-animal{background:#8a6547;border-right:1px solid rgba(255,255,255,.75)}.htt-comp-synth{background:#9e3028;border-right:1px solid rgba(255,255,255,.75)}.htt-comp-semi{background:#c89432}.htt-composition-visual-live .htt-comp-eyebrow,.htt-composition-visual-live .htt-comp-legend{color:#fff}.htt-composition-visual__bar,.htt-composition-visual-live .htt-composition-visual__bar{border:2px solid #fff!important;box-shadow:0 0 0 1px rgba(43,58,92,.45),inset 0 0 0 1px rgba(255,255,255,.35)!important;border-radius:0!important;overflow:hidden!important}'+
'.htt-comp-legend{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:12px;font:500 14px/1.4 Jost,system-ui,sans-serif}'+
'.htt-brand-contacts .htt-save-brand{display:inline-flex!important;visibility:visible!important;opacity:1!important;align-items:center;justify-content:center;min-height:46px;padding:0 20px!important;border:1px solid #2b3a5c!important;background:#2b3a5c!important;color:#fff!important;font:700 14px/1 Jost,system-ui,sans-serif!important;letter-spacing:.04em;text-transform:uppercase;cursor:pointer}'+
'.htt-brand-contacts .htt-save-brand.active{background:#24714f!important;border-color:#24714f!important}'+
'.htt-compare-brand-image-live{display:block;width:76px;height:76px;object-fit:cover;border-radius:50%;margin:0 auto 10px;border:1px solid #d8d5ce}'+
'.htt-standard-label-live{display:flex;align-items:center;gap:9px;font-weight:700}.htt-standard-label-live img{width:28px;height:28px;object-fit:contain;border-radius:50%}.htt-kent-compare-restore{padding:44px 32px 36px!important;box-sizing:border-box}.htt-kent-compare-restore .htt-kent-cscroll{margin-left:0;margin-right:0}.htt-kent-compare-restore .htt-kent-cmpbar{margin-left:0;margin-right:0}.htt-compare-brand-image-live{display:block;width:88px;height:88px;object-fit:cover;margin:0 auto 10px;border:1px solid #d8d5ce;border-radius:0}@media(max-width:700px){.htt-kent-compare-restore{padding:32px 18px 28px!important}}';
(document.head||document.documentElement).appendChild(style);
var queued=false;
function queue(){
if(queued) return;
queued=true;
requestAnimationFrame(function(){ queued=false; apply(); });
}
if(document.readyState==='loading') document.addEventListener('DOMContentLoaded',apply,{once:true}); else apply();
var mo=new MutationObserver(queue);
mo.observe(document.documentElement,{childList:true,subtree:true});
setTimeout(apply,250);
setTimeout(apply,1000);
setTimeout(apply,2500);
})();
.htt-qa{margin:28px 0;border:1px solid #D7D5CF;background:#F7F6F2;color:#2B3A5C}
.htt-qa *{box-sizing:border-box;border-radius:0}
.htt-qa-head{padding:24px 28px;border-bottom:1px solid #D7D5CF}
.htt-qa-kicker{font:700 11px/1.2 Jost,system-ui,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:#5C6883;margin-bottom:8px}
.htt-qa h2{font:400 clamp(24px,3vw,34px)/1.1 Aboreto,serif;margin:0;color:#2B3A5C}
.htt-qa-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:0}
.htt-qa-item{padding:18px 20px;border-right:1px solid #D7D5CF;border-bottom:1px solid #D7D5CF;min-height:105px}
.htt-qa-item:nth-child(4n){border-right:0}
.htt-qa-label{font:700 10px/1.2 Jost,system-ui,sans-serif;letter-spacing:.13em;text-transform:uppercase;color:#5C6883;margin-bottom:8px}
.htt-qa-value{font:600 17px/1.35 Jost,system-ui,sans-serif}
.htt-qa-value small{display:block;font-size:12px;font-weight:500;line-height:1.45;color:#5C6883;margin-top:6px}
.htt-qa-score{font:400 32px/1 Aboreto,serif}
.htt-qa-sections{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #D7D5CF}
.htt-qa-section{padding:22px 28px;border-right:1px solid #D7D5CF}
.htt-qa-section:last-child{border-right:0}
.htt-qa-section h3{font:700 11px/1.2 Jost,system-ui,sans-serif;letter-spacing:.16em;text-transform:uppercase;margin:0 0 14px;color:#2B3A5C}
.htt-qa-evidence{padding:11px 0;border-top:1px solid #E4E2DC;font-size:13px;line-height:1.55}
.htt-qa-evidence:first-of-type{border-top:0;padding-top:0}
.htt-qa-scope{display:inline-block;font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;border:1px solid #2B3A5C;padding:3px 6px;margin:0 6px 5px 0}
.htt-qa-status{font-weight:700}
.htt-qa-alt{display:flex;gap:14px;align-items:center;text-decoration:none;color:inherit}
.htt-qa-alt img{width:72px;height:72px;object-fit:cover;border:1px solid #D7D5CF}
.htt-qa-alt b{display:block;font-size:15px}
.htt-qa-empty{font-size:13px;color:#5C6883}
.htt-sku-result-tag{display:block;font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#5C6883;margin-bottom:6px}
.htt-sku-why{display:block;font-size:11px;line-height:1.45;color:#5C6883;margin-top:8px}
@media(max-width:900px){.htt-qa-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.htt-qa-item:nth-child(4n){border-right:1px solid #D7D5CF}.htt-qa-item:nth-child(2n){border-right:0}}
@media(max-width:640px){.htt-qa-grid,.htt-qa-sections{grid-template-columns:1fr}.htt-qa-item,.htt-qa-item:nth-child(2n),.htt-qa-item:nth-child(4n),.htt-qa-section{border-right:0}.htt-qa-head,.htt-qa-section{padding-left:18px;padding-right:18px}}
(function(){
var allowed=/\bsingle-(clothes|body_bath|cocoa|food|electronics|case|bedding|beauty|femcare|kids|toys|homeware|pet|candles|supplements|household|nappies|jewellery|vehicle)\b/;
if(!allowed.test(document.body.className||'')) return;
function norm(s){return String(s||'').replace(/\s+/g,' ').trim();}
function valByLabel(labels){
labels=labels.map(function(x){return x.toLowerCase()});
var rows=Array.from(document.querySelectorAll('tr'));
for(var i=0;i<rows.length;i++){
var cells=Array.from(rows[i].children);
if(cells.length<2) continue;
var lab=norm(cells[0].textContent).toLowerCase();
if(labels.indexOf(lab)!==-1) return norm(cells[1].textContent);
}
return '';
}
function jsonByLabel(labels){
var s=valByLabel(labels);
if(!s) return [];
try{return JSON.parse(s)}catch(e){return []}
}
function firstText(selectors){
for(var i=0;i<selectors.length;i++){
var el=document.querySelector(selectors[i]);
if(el&&norm(el.textContent)) return norm(el.textContent);
}
return '';
}
function scoreCardText(){
var cards=Array.from(document.querySelectorAll('.hs-band,.hs-two'));
var c=cards.find(function(el){return /THRONE SCORE/i.test(el.textContent||'')&&/\d\s*\/\s*5/.test(el.textContent||'')});
return c?norm(c.textContent):'';
}
function parseScore(){
var t=scoreCardText();
var m=t.match(/(\d(?:\.\d+)?)\s*\/\s*5/);
return m?m[1]+'/5':'Not assessed';
}
function parseVerdict(){
var t=scoreCardText();
var m=t.match(/\d(?:\.\d+)?\s*\/\s*5\s*(.+?)(?:\d{1,3}(?:\.\d+)?%\s*disclosure|This is not|$)/i);
return m?norm(m[1]):'';
}
function e(s){var d=document.createElement('div');d.textContent=String(s==null?'':s);return d.innerHTML;}
function fmtPrice(v,c){
if(!v||v==='0'||v==='0.00') return '';
return (c?c+' ':'')+v;
}
var isPact=false/* 25 Oct 2026: hard-coded pre-2.2 Pact score and Kent alternative disabled */;
var title=firstText(['.hs-main h1','h1'])||document.title.split('|')[0].trim();
var score=parseScore();
var verdict=parseVerdict();
var products=valByLabel(['Products assessed','Products scanned','Total styles scanned','SKU count','Products found'])||'Not available';
var plant=valByLabel(['Plant fibre','Plant fibre percent','Plant percent'])||'';
var synthetic=valByLabel(['Synthetic fibre','Synthetic percent'])||'';
var priceAvg=valByLabel(['Average price']);
var priceMedian=valByLabel(['Median price']);
var priceMin=valByLabel(['Minimum price']);
var priceMax=valByLabel(['Maximum price']);
var currency=valByLabel(['Price currency']);
var parent=valByLabel(['Parent company'])||valByLabel(['Ownership'])||'Unknown';
var made=valByLabel(['Assembled in','Made in','Where manufactured','Factory: city + country'])||'Unknown';
var checked=valByLabel(['Last checked','Price last checked','SKU scan date','Scan date'])||'Not available';
var certs=jsonByLabel(['Scoped Certification Evidence JSON']);
var claims=jsonByLabel(['Claims vs Evidence JSON']);
var manufacturing=jsonByLabel(['HTT Manufacturing Records JSON']);
if(isPact){
score='';
verdict='Moderate verified plant evidence · current saved result is partial-scan qualified';
products='217';
plant='60.5%';
synthetic='35.9%';
parent='Revelry Brands';
made='Primarily India; selected socks/towel lines noted as Turkey';
checked='4 Oct 2026';
certs=[
{certification:'GOTS',scope:'MATERIAL / SUPPLY CHAIN',verification_status:'Brand claim only; registry not confirmed in HTT record',notes:'Pact states it uses GOTS-certified organic cotton. HTT does not treat Pact itself as GOTS-certified.'},
{certification:'Fair Trade Certified',scope:'FACTORY',verification_status:'Brand claim only; factory certificate not stored',notes:'Pact states its cut-and-sew factories are Fair Trade Certified. Current factory names and certificate IDs are not stored.'},
{certification:'B Corp',scope:'BRAND',verification_status:'Historic / lapsed in stored HTT research',notes:'Stored HTT research says Pact no longer appears in the B Corp directory.'}
];
claims=[
{claim:'Pact uses GOTS-certified organic cotton.',scope:'MATERIAL / SUPPLY CHAIN',status:'Partially supported / not independently verified',htt_result:'Supported as a brand-stated material/supply-chain claim; not evidence that Pact the company is GOTS-certified.'},
{claim:'Pact manufactures in Fair Trade Certified factories.',scope:'FACTORY',status:'Brand claim only / registry not checked',htt_result:'Factory-scope claim only. Do not present this as a Pact brand certification.'}
];
manufacturing=[
{country:'India',relationship:'Primary cut-and-sew manufacturing; organic-cotton supply chain',evidence_status:'Country-level and brand-claim evidence only; specific current factory names/certificate IDs are not stored.'},
{country:'Turkey',relationship:'Selected socks and towel lines noted in existing HTT research',evidence_status:'Exact current supplier/factory is not stored.'}
];
}
if(document.querySelector('.htt-qa')) return;
var price='Not available';
var priceNote='No canonical SKU price data stored';
if(priceAvg||priceMedian||priceMin||priceMax){
var bits=[];
if(priceAvg) bits.push('Avg '+fmtPrice(priceAvg,currency));
if(priceMedian) bits.push('Median '+fmtPrice(priceMedian,currency));
if(priceMin||priceMax) bits.push('Range '+fmtPrice(priceMin,currency)+(priceMax?'–'+fmtPrice(priceMax,currency):''));
price=bits.join(' · ');
priceNote='';
}
var certHtml=certs.length?certs.map(function(c){
return '
'+e(c.scope||'Scope unknown')+''+e(c.certification||'Certification')+' '+e(c.verification_status||'Status not recorded')+''+(c.notes?' '+e(c.notes):'')+'
';
}).join(''):'
No scoped certification record is stored yet.
';
var claimHtml=claims.length?claims.map(function(c){
return '
'+e(c.scope||'Scope unknown')+''+e(c.claim||'Claim')+' '+e(c.status||'Status not recorded')+''+(c.htt_result?' '+e(c.htt_result):'')+'
';
}).join(''):'
No structured claims check is stored yet.
';
var manufHtml=manufacturing.length?manufacturing.map(function(m){
var name=m.factory_name||m.manufacturer_name||m.country||'Manufacturing record';
return '