🔥Black Friday - Save Up To 20% Off🔥
10pcs Blue Watercolor Gouache Paint Brushes Nylon Hair Painting Brush Set
10pcs Blue Watercolor Gouache Paint Brushes Nylon Hair Painting Brush Set
10pcs Blue Watercolor Gouache Paint Brushes Nylon Hair Painting Brush Set
1 / 3
10pcs Blue Watercolor Gouache Paint Brushes Nylon Hair Painting Brush Set
10pcs Blue Watercolor Gouache Paint Brushes Nylon Hair Painting Brush Set
10pcs Blue Watercolor Gouache Paint Brushes Nylon Hair Painting Brush Set
0% OFF

10pcs Blue Watercolor Gouache Paint Brushes Nylon Hair Painting Brush Set

492721

$25.59
1 sold
Qty 11 in stock
10pcs Blue Watercolor Gouache Paint Brushes Nylon Hair Painting Brush Set Art Supplies
Features:
1.The brush is thick, even, soft and comfortable, and it's a good tool for painting. 2.The metal hoop is firm,and the horizontal ripple is good.
3.It is comfortable to hold the brush in your hand.

Specifications:
Material: Pen: wood(Evenly painted, good gloss ) Pen head: imported nylon wool
Pen tube: high quality aluminum tube
Quantity: 10pcs

Warm tips:1.If the oil brush is properly kept,its service life can be extended. After the brush is used, it should be cleaned in time to avoid the pigment drying on the pen. When it is not used for a long time, it should be thoroughly cleaned and sealed with paper.
2.If it is not used for a short period of time, wipe the paint remaining on the brush with a cloth or paper, and then wash it with turpentine and immerse it in water.
3.Use turpentine oil to clean the used brushes, prepare two jars for turpentine, one for initial cleaning to remove the paint remaining on the brush, and the other for the second time.

Notes:
1.Please allow 1-3 cm differs due to manual measurement.
2.Due to the different display and different light, the picture may not show the actual color of the item. Thanks for your understanding.

Package Content:
40 X Painting Brushs
/** @private {string} */ class SpzCustomAnchorScroll extends SPZ.BaseElement { static deferredMount() { return false; } constructor(element) { super(element); /** @private {Element} */ this.scrollableContainer_ = null; } isLayoutSupported(layout) { return layout == SPZCore.Layout.LOGIC; } buildCallback() { this.viewport_ = this.getViewport(); this.initActions_(); } setTarget(containerId, targetId) { this.containerId = '#' + containerId; this.targetId = '#' + targetId; } scrollToTarget() { const container = document.querySelector(this.containerId); const target = container.querySelector(this.targetId); const {scrollTop} = container; const eleOffsetTop = this.getOffsetTop_(target, container); this.viewport_ .interpolateScrollIntoView_( container, scrollTop, scrollTop + eleOffsetTop ); } initActions_() { this.registerAction( 'scrollToTarget', (invocation) => this.scrollToTarget(invocation?.caller) ); this.registerAction( 'setTarget', (invocation) => this.setTarget(invocation?.args?.containerId, invocation?.args?.targetId) ); } /** * @param {Element} element * @param {Element} container * @return {number} * @private */ getOffsetTop_(element, container) { if (!element./*OK*/ getClientRects().length) { return 0; } const rect = element./*OK*/ getBoundingClientRect(); if (rect.width || rect.height) { return rect.top - container./*OK*/ getBoundingClientRect().top; } return rect.top; } } SPZ.defineElement('spz-custom-anchor-scroll', SpzCustomAnchorScroll); const STRENGTHEN_TRUST_URL = "/api/strengthen_trust/settings"; class SpzCustomStrengthenTrust extends SPZ.BaseElement { constructor(element) { super(element); this.renderElement_ = null; } isLayoutSupported(layout) { return layout == SPZCore.Layout.CONTAINER; } buildCallback() { this.xhr_ = SPZServices.xhrFor(this.win); const renderId = this.element.getAttribute('render-id'); SPZCore.Dom.waitForChild( document.body, () => !!document.getElementById(renderId), () => { this.renderElement_ = SPZCore.Dom.scopedQuerySelector( document.body, `#${renderId}` ); if (this.renderElement_) { this.render_(); } this.registerAction('track', (invocation) => { this.track_(invocation.args); }); } ); } render_() { this.fetchData_().then((data) => { if (!data) { return; } SPZ.whenApiDefined(this.renderElement_).then((apis) => { apis?.render(data); document.querySelector('#strengthen-trust-render-1736477762476').addEventListener('click',(event)=>{ if(event.target.nodeName == 'A'){ this.track_({type: 'trust_content_click'}); } }) }); }); } track_(data = {}) { const track = window.sa && window.sa.track; if (!track) { return; } track('trust_enhancement_event', data); } parseJSON_(string) { let result = {}; try { result = JSON.parse(string); } catch (e) {} return result; } fetchData_() { return this.xhr_ .fetchJson(STRENGTHEN_TRUST_URL) .then((responseData) => { if (!responseData || !responseData.data) { return null; } const data = responseData.data; const moduleSettings = (data.module_settings || []).reduce((result, moduleSetting) => { return result.concat(Object.assign(moduleSetting, { logos: (moduleSetting.logos || []).map((item) => { return moduleSetting.logos_type == 'custom' ? this.parseJSON_(item) : item; }) })); }, []); return Object.assign(data, { module_settings: moduleSettings, isEditor: window.self !== window.top, }); }); } } SPZ.defineElement('spz-custom-strengthen-trust', SpzCustomStrengthenTrust);