Men's Western Sport Coats & Blazers | Pinto Ranch (2024)

Men's Western Sport Coats & Blazers | Pinto Ranch (1)

Our collection features western sport coats in lightweight wool, cashmere, and microfiber in both solid colors and traditional patterns. Sport coats are the perfect companion to bolo ties and handmade cowboy boots. All are hand-tailored and made exclusively for Pinto Ranch. Our wide variety will ensure you get the perfect coat to match your style and occasion.

`);function unbxdSearchFnc (productType) { let requestObj = { siteKey: UnbxdSiteName, apiKey: UnbxdApiKey, hashMode: false, updateUrls: true, searchBoxSelector: document.getElementById("Search-In-Modal"), searchTrigger: "click", searchButtonSelector: document.getElementById("searchBtn"), productView: { enabled:false, viewTypes: "GRID" }, pagesize: { enable:true, pageSize:30, el: document.querySelector(".UNX-empty-div"), options: [30] }, sanitizeQueryString: function(e) { return e.trim() }, banner: { enabled: false, }, loader: { el: document.querySelector(".UNX-empty-div"), }, searchBoxEl: document.getElementById("Search-In-Modal"), breadcrumb:{ enabled:false, }, url: { seoFriendlyUrl: true, facetsParam: { addToUrl: true, algo: "KEY_VALUE_REPLACER", multiValueSeparator: ",", keyReplacer: { "productType_uFilter": "type", "tag_Color_uFilter": "color", "tag_Leather_uFilter": "leather", "tag_Material_uFilter": "material", "tag_Jewelry_uFilter": "jewelrytype", "tag_Gender_uFilter": "gender", "vendor_uFilter": "brand", "v_instock_Size_uFilter": "size", "tag_Toe_uFilter": "toetype", "tag_Heel_uFilter": "heel", }, rangeFacets: ["price"], rangeSeparator: "-" }, browseQueryParam: { addToUrl: false, algo: "KEY_VALUE_REPLACER", keyReplacer: "p" }, pageNoParam: { addToUrl: false }, pageSizeParam: { addToUrl: false }, }, products: { el: document.querySelector(".kuResults"), productType: productType, productAttributes: [ "title", "meta_badge_text", "price", "images", "productUrl", "uniqueId", "vendor", "imageUrl", "variantId", "availability", "variantCount", "compareAtPrice", "createdAt", "tag_Color" ], tagName: "ul", attributesMap: { brand: "brand", unxPrice: "price", unxTitle: "title", unxBadge: "category2", unxProductUrl: "productUrl", unxTagColor: "tag_Color", }, template: function(product, idx, swatchUI, productViewType, products) { var unxTitle = product.title; var uniqueId = product.uniqueId; var price = product.price; var label = product.tags; var imageUrl = product.imageUrl || []; var hoverImg = product.images; var vendor = product.vendor; var metaBadge = product.meta_badge_text || ""; var unxProductUrl = product.productUrl; var unxTagColor = product.tag_Color || ""; var compareAtPrice = void 0 !== product.compareAtPrice ? product.compareAtPrice : ""; var variantId = (product.variants) ? product.variants[0].variantId : ""; var hoverImgCount = hoverImg.length; var hoverImgsecondLast = ""; if(idx){ $('.UNX-facet-toggle').removeClass('d-none-facet'); $('.facets-wrapper').removeClass('d-none-facet'); } if(hoverImgCount >= 2) { hoverImgsecondLast = hoverImg.at(-2); }else{ hoverImgsecondLast = imageUrl[0]; } var comparePrice = ''; if (compareAtPrice) { comparePrice = `$${compareAtPrice.toFixed(2)} USD`; } var metaBadgeHtml = ""; if(metaBadge){ metaBadgeHtml = `${metaBadge}`; } return [ `
  • Men's Western Sport Coats & Blazers | Pinto Ranch (2) Men's Western Sport Coats & Blazers | Pinto Ranch (3)

    ${metaBadgeHtml}

    ${unxTitle}

    ${comparePrice} $${price.toFixed(2)} USD

    Unit price / per

    Sale

  • `, ].join('') }, }, pagination: { enabled: !0, type: "FIXED_PAGINATION", el: document.querySelector(".kuPagination"), pageLimit: 4, template: function(e, t = this.options.pagination) { if (!e) return ""; var { currentPage: n, isNext: e, isPrev: r, noOfPages: i, productsLn: o, numberOfProducts: a, rows: s } = e, { pageClass: c, selectedPageClass: l, pageLimit: t } = t, u = this.testIds["UNX_pageNumber"]; if (a <= o) return ""; let p = `>`, h = `<`, d = "", f = i < t ? i : t, g = 1; a = Math.ceil(t / 2), o = n - a, 0 < o && (g = o, f = n + a), t = n + a; i <= t && ((g -= t - i) <= 0 && (g = 1), f = i); for (let e = g; e <= f; e++) { var m = "" + u + e, v = e === n ? l + " kuCurrent" : "klevuPaginate"; d += `${e}` } return e || (p = '>'), r || (h = '<'), [` ${r?h:""} ${d} ${e?p:""} `].join("") } }, facet: { facetsEl: document.querySelectorAll(".kuFiltersDesktop, .kuFiltersMobile"), selectedFacetClass: "UNX-selected-facet-btn", selectedFacetsEl: document.querySelector(".selectedFacetWrapper"), facetMultilevel: true, facetMultilevelName: "category", multiLevelFacetSelectorClass: "UNX-multilevel-facet", enableViewMore:true, viewMoreText:["+ Show more", "- Show less"], viewMoreLimit:6, facetTemplate: function(facetInfo, facets, isExpanded, facetSearchTxt, facet){ var test = true; const urlSearchParams = new URLSearchParams(window.location.search); const params = Object.fromEntries(urlSearchParams.entries()); var name = facetInfo.displayName; facetDisplayNames[facetInfo.facetName] = name; var facetName = facetInfo.facetName; var enableViewMore = facet.enableViewMore; var viewMoreText = facet.viewMoreText; var viewMoreLimit = facet.viewMoreLimit; var textFacetWrapper = facet.textFacetWrapper; var facetType = facetInfo.facetType; var values = facetInfo.values; const { actionBtnClass, actionChangeClass } = this.options; let viewMoreUi = ""; let viewMoreCss=""; if(facetName == "v_instock_Size_uFilter" || facetName == "tag_Heel_uFilter"){ const sortedValueArray = ["One Size Fits All", "XXS", "XS", "S", "S/M", "M", "M/L", "L", "L/XL", "XL", "1X", "XXL", "XXXL", "3X", "1", '1 1/2"', '1"']; const sortedValueArrayHeels = ["1","1 1/8","1 1/4","1 3/8","1 1/2","1 3/4","2","2 1/2","2 3/4","3"]; // Helper function to convert fractions to decimals const convertFractionToDecimal = (value) => { if (value.includes(" ")) { const [wholePart, fractionPart] = value.split(" "); if (fractionPart.includes("/")) { const [numerator, denominator] = fractionPart.split("/").map((num) => parseInt(num, 10)); if (!isNaN(numerator) && !isNaN(denominator) && denominator !== 0) { const decimalValue = parseFloat(wholePart) + numerator / denominator; return decimalValue.toString(); } } } else { if (!isNaN(value)) { return parseFloat(value).toString(); } } return value; }; const sortLiElements = (liElements) => { const sortedLiElements = liElements.sort((a, b) => { let textA = a.dataset.searchFacetValue.trim().replace(/"/g, ''); let textB = b.dataset.searchFacetValue.trim().replace(/"/g, ''); let indexA = sortedValueArray.indexOf(textA); let indexB = sortedValueArray.indexOf(textB); if(facetName == "tag_Heel_uFilter"){ textA = a.querySelector(".kufacet-text").firstChild.textContent.trim().replace(/"/g, ''); textB = b.querySelector(".kufacet-text").firstChild.textContent.trim().replace(/"/g, ''); indexA = sortedValueArrayHeels.indexOf(textA); indexB = sortedValueArrayHeels.indexOf(textB); } // If both values are present in sortedValueArray, sort based on their indexes if (indexA !== -1 && indexB !== -1) { return indexA - indexB; } // If only one of the values is present in sortedValueArray, prioritize it if (indexA !== -1) { return -1; } if (indexB !== -1) { return 1; } // If neither of the values is present in sortedValueArray, compare them as numbers or fractions const numericA = parseFloat(convertFractionToDecimal(textA)); const numericB = parseFloat(convertFractionToDecimal(textB)); return numericA - numericB; }); return sortedLiElements; }; // Helper function to convert HTML string to DOM elements const parseHtmlStringToElements = (htmlString) => { const parser = new DOMParser(); const doc = parser.parseFromString(htmlString, "text/html"); return Array.from(doc.body.children); }; const liArray = parseHtmlStringToElements(facets); if (liArray.length > 0) { const sortedLiElements = sortLiElements(liArray); const sortedLiHtml = sortedLiElements.map(li => li.outerHTML).join(''); facets = `${sortedLiHtml}`; } else { facets = ``; } } if (facetName == "tag_Gender_uFilter"){ if(facetInfo.values.length < 2){ test = false; } } if (!test){ return [``].join(''); } if (facetName == "productType_uFilter"){ if(facetInfo.values.length < 2){ test = false; } } if (!test){ return [``].join(''); } var tempContainer = document.createElement('div'); tempContainer.innerHTML = facets; // Find all elements with the class "UNX-selected-facet-btn" within the temporary container var elements = tempContainer.getElementsByClassName('UNX-selected-facet-btn'); // Get the count of elements var count = elements.length; var facetSelectCount = ""; if(count > 0){ facetSelectCount = `(${count})`; } if(enableViewMore && (facetType==="text" || facetName.toLowerCase()==="price") && values.length > viewMoreLimit ) { viewMoreCss="UNX-view-more"; viewMoreUi = `

    ${viewMoreText[0]}

    `; } var facetSummery = 'facets__summary caption-large focus-offset'; var facetIcon = ``; var facetOpenTrigger = 'open'; var facetToggle = 'parent-display facets__display-vertical'; var facetBtnType = ''; var mobileFacetUlList = ''; var facetDetailClass = 'facets__disclosure-vertical'; if(isMobile){ facetSummery = 'mobile-facets__summary focus-inset'; facetIcon = ` `; facetToggle = 'mobile-facets__submenu gradient'; facetOpenTrigger = ''; facetBtnType = ``; mobileFacetUlList = 'mobile-facets__list'; facetDetailClass = 'mobile-facets__details'; textFacetWrapper = ''; viewMoreCss = ''; viewMoreUi = ''; } return[`

    ${name} ${facetSelectCount} ${facetIcon}

    ${facetBtnType}

      ${facets}

    ${viewMoreUi}

    `].join(''); }, onFacetLoad: function(facets) { const self = this; const { facet } = this.options; const { rangeWidgetConfig } = facet; const createRangeValues = function(prefix, x, y) { const start = `${x}`; const end = `${y}`; return ` $

    `; } const productsMobileDiv = document.querySelector("#productViewTypeContainerMobile"); if(productsMobileDiv != null && !productsMobileDiv.hasChildNodes()) { const productsDesktop = document.querySelector("#productViewTypeContainer > div"); const productsDesktopClone = productsDesktop.cloneNode(true) productsMobileDiv.insertAdjacentElement("afterbegin", productsDesktopClone); // Retrieve the event listeners attached to the original node const originalListeners = getEventListeners(productsDesktop); // Attach those event listeners to the cloned node for (const [eventType, listeners] of Object.entries(originalListeners)) { listeners.forEach((listener) => { productsDesktopClone.addEventListener(eventType, listener.listener, listener.options); }); } } /* update slider on custom values START */ const priceSlider = document.querySelector("#price_slider"); const updateSliderValue = (slider, handle, value) => { slider.noUiSlider.setHandle(handle, value, true, true); }; const rangeMinChangeHandler = (e) => { const value = e.target.value; updateSliderValue(priceSlider, 0, value); }; const rangeMaxChangeHandler = (e) => { const value = e.target.value; updateSliderValue(priceSlider, 1, value); }; const rangeMinInput = document.querySelector( ".UNX-value-left" ); const rangeMaxInput = document.querySelector( ".UNX-value-right" ); if(rangeMinInput != null) { rangeMinInput.addEventListener("change", rangeMinChangeHandler); } if(rangeMaxInput != null) { rangeMaxInput.addEventListener("change", rangeMaxChangeHandler); } /* update slider on custom values END */ /* keep facet opened when facet item is selected in mobile START */ if(isMobile){ const facetsBlock = document.querySelector( ".kuFiltersMobile .UNX-facets-results-block" ); facetsBlock.addEventListener("click", (e) => { const targetDataset = e.target.dataset; /* select facet item */ if (targetDataset.facetAction == "changeFacet" || targetDataset.facetAction == "deleteFacetValue" || targetDataset.facetAction == "setRange") { lastSelectedFacet = targetDataset.facetName; } /* select facet back button */ /* fix not able to open facet again */ if(e.target.classList.contains("mobile-facets__close-button")){ const details = e.target.closest("details"); setTimeout(()=>{ details.removeAttribute("open"); details.classList.remove("menu-opening"); }) } }); if (lastSelectedFacet != undefined) { const unbxdFacets = facetsBlock.querySelectorAll(".UNX-facet-item-d"); unbxdFacets.forEach((facet) => { if (facet.classList.contains(lastSelectedFacet)) { const details = facet.querySelector("details"); details.classList.add("menu-opening"); details.setAttribute("open", ""); } }) /* clear lastSelectedFacet to avoid opening facet on click of some other button */ lastSelectedFacet = ""; } /* make remove all facets functional in mobile facets sidebar */ document.querySelector(".mobile-facets__clear-wrapper").addEventListener("click", () => { document.querySelector(".UNX-remove-btn-click").click(); }); setTimeout(()=>{ $(".selectedFacetWrapperMobile").html(lastSelectedFacetMobile); if(lastSelectedFacetMobile != '') { $('.active-facets__button-wrapper').removeClass('d-none') } else { $('.active-facets__button-wrapper').addClass('d-none') } }, 200) } /* keep facet opened when facet item is selected in mobile END */ const productCards = document.querySelectorAll(".product-card-wrapper"); if(productCards.length > 0) { // DO NOT do this. It was affecting the images incorrectly and causing them to disappear on mobile. // There is already CSS that handles this just fine. // - NINE15 Lead Dev, Austin // productCards.forEach((elem)=>{ // /* hide all alternate images first */ // // elem.querySelectorAll(".card__media img")[1].style.setProperty("visibility","hidden"); // elem.addEventListener("mouseenter", (e)=>{ // // e.target.querySelectorAll(".card__media img")[0].style.setProperty("visibility","hidden"); // // e.target.querySelectorAll(".card__media img")[1].style.setProperty("visibility","visible"); // }) // elem.addEventListener("mouseleave", (e)=>{ // // e.target.querySelectorAll(".card__media img")[0].style.setProperty("visibility","visible"); // // e.target.querySelectorAll(".card__media img")[1].style.setProperty("visibility","hidden"); // }) // }) } }, rangeTemplate: function (ranges, selectedRanges) { let ui = ``; const { selectedFacetClass, facetClass, applyMultipleFilters } = this.options.facet; let selected = false; const { displayName, facetName, values } = ranges; let valueUI = ``; selected = selectedRanges[facetName] ? true : false; let mobileFacetLabel = ''; let mobileFacetCheckBox = ''; if(isMobile){ mobileFacetLabel = 'mobile-facets__label'; mobileFacetCheckBox = 'mobile-facets__checkbox'; } values.forEach((item) => { const { from, to, end } = item; const isSelected = this.isSelectedRange(facetName, item); const btnCss = isSelected ? `UNX-selected-facet-btn ${facetClass} ${selectedFacetClass}` : `${facetClass}`; let selectedSvg = ''; let selectedFacet = ""; if(isSelected) { selectedSvg = ``; selectedFacet = "checked"; } valueUI += [ `
  • ` ].join(""); }); ui += [valueUI].join(""); let clearBtn = ``; let applyBtn = ``; return [ui,].join(""); }, facetItemTemplate : function(facet, value, facetSearchTxt){ const { facetName, isSelected, multiLevelFacetSelectorClass, displayName } = facet; const { name, count, dataId } = value; let { facetClass, selectedFacetClass } = this.options.facet; const { UNX_uFilter } = this.testIds; let action = "changeFacet"; let selectedFacet = 'disable'; let selectedFacetUNX = ''; let slectedFacetAction = ''; let selectedSvg = ''; if(isSelected) { selectedFacet = 'checked'; selectedFacetUNX = 'kuSelected'; slectedFacetAction = "klevuFilterOptionActive"; facetClass += ` ${selectedFacetClass} ` action = "deleteFacetValue"; selectedSvg = ``; } facet_color = ""; if(facetName == "tag_Color_uFilter") { var colorName = name.toLowerCase(); var colorNameFacet = colorName.replace(/\s+/g, '-'); facet_color = ``; } var mobileFacetLabel = ''; var mobileFacetCheckBox = ''; if(isMobile){ mobileFacetLabel = 'mobile-facets__label'; mobileFacetCheckBox = 'mobile-facets__checkbox'; } return [`
  • `].join(''); }, selectedFacetTemplate: function(selections, facet, selectedFacetsConfig) { const { clearAllText, clearFacetsSelectorClass } = facet; const selectedFClass = (this.selectedFacetClass) ? this.selectedFacetClass : selectedFacetsConfig.selectedFacetClass; if(selections.length > 0) { $('.UNX-remove-btn').css('display','block'); var lastSlashIndex = selections.replace(/^\s*\//, ''); let selectedFacetHtml = `

    ${lastSlashIndex}

    `; lastSelectedFacetMobile = selectedFacetHtml; return [selectedFacetHtml].join(''); } else { lastSelectedFacetMobile = ''; $('.UNX-remove-btn').css('display','none'); return ``; } }, selectedFacetItemTemplate:function(selectedFacet, selectedFacetItem, facetConfig, selectedFacetsConfig){ const { facetName, facetType } = selectedFacet; const { name, count, dataId } = selectedFacetItem; const { facetClass, selectedFacetClass, removeFacetsSelectorClass } = this.options.facet; const { UNX_uFilter } = this.testIds; let action = "deleteSelectedFacetValue"; if(facetType === "range") { action = "deleteSelectedRange"; } var updatedName = ""; var UNXfacetDisplayName = updatedName || name; const css = ` ${facetClass} ${selectedFacetClass} `; const currencySymbol = "$"; const formatPrice = (price) => new Intl.NumberFormat("en-US").format(price); const getSelectedFacetText = (facet, facetOption) => { if (facet.toLowerCase() == "price") { facetOption = facetOption.replace(/\[|\]/g, "").replace(" TO ", " - "); const priceSelected = facetOption.split(" - "); const priceSelectedFormatted = priceSelected.map((value) => { return currencySymbol + formatPrice(value).toString() + ".00"; }); facetOption = priceSelectedFormatted.join(" - "); } return facetOption; }; var facetTitleName = ""; if(facetType != "range"){ facetTitleName = `${facetDisplayNames[facetName]}:&nbsp`; } let mobileRemoveClass = ""; if(isMobile) { mobileRemoveClass = "unx-remove-mobile-facet"; } var selectedFacetNameValue = ""; if(facetType == "range"){ selectedFacetNameValue = `${facetTitleName} ${getSelectedFacetText(facetName.replace(/_uFilter/g, ""),decodeURI(dataId))}`; }else{ selectedFacetNameValue = `${UNXfacetDisplayName}`; } return [` ${facetTitleName} ${selectedFacetNameValue} &nbspx `].join(''); }, isCollapsible:true, defaultOpen:"FIRST", }, spellCheck: { enabled: true, el: document.querySelectorAll("#didYouMeanWrapperDesktop, #didYouMeanWrapperMobile, #ProductCountMobile"), template: function template(query, suggestion, pages) { const { start, productsLn, numberOfProducts } = pages; const { selectorClass, enabled } = this.options.spellCheck; const { productType } = this.options; let newQuery = query; if(productType !=="SEARCH" ) { const catId = this.getCategoryId() || ""; const cId = decodeURIComponent(catId).split(">"); newQuery = cId[cId.length-1] || cId[0] ; } const { UNX_spellCheck } = this.testIds let qUi = ``; let countUi = ``; if(numberOfProducts > 0) { // countUi = ` - ${start+1} to ${productsLn+start} of ${numberOfProducts} products`; countUi = numberOfProducts + " products"; } if(!suggestion){ qUi = `${countUi}`; }else{ qUi = (suggestion) ? `

    Your search "${suggestion}" did not match any products. Did you mean ?

    Showing results for ${newQuery} ${countUi}

    ` :``; } if(productType == "SEARCH" ) { document.querySelector('.UNX-search-query span').innerText = newQuery; } return [`

    `, qUi, `

    `].join(''); } }, sort: { el: document.querySelectorAll(".sortWrapperDesktop, .sortWrapperMobile"), options: [ { value: "title asc", text: "Alphabetically, A-Z" }, { value: "title desc", text: "Alphabetically, Z-A" }, { value: "price asc", text: " Price, low to high" }, { value: "price desc", text: "Price, high to low" }, { value: "createdAt asc", text: "Date, old to new" }, { value: "createdAt desc", text: "Date, new to old" }, ], template:function(selectedSort, sortConfig) { let optionsUI = ""; const { options, sortClass, selectedSortClass } = sortConfig; const { UNX_unbxdSorter } = this.testIds; options.forEach((item) => { const { value, text } = item; if (value == selectedSort) { optionsUI += ``; } else { optionsUI += ``; } }) return [ `

    `, `Sort by:`, ``, ``, `

    `].join('') }, }, noResults: { el: document.querySelector(".UNX-empty-div"), template:function(query){ return '

    No results found for “' + query + '”. Check the spelling or use a different word or phrase.

    '; } }, unbxdAnalytics: true, onEvent: function (instance, event, data) { if (event == "BEFORE_API_CALL") { const urlParams = instance.state.currentApiUrl.split("&"); urlParams.forEach((param, index) => { if (param.toLowerCase().includes("filter=tag_heel_ufilter:")) { urlParams[index] = param.replace(/%22%22/g, `%5C%22%22`); } }); instance.state.currentApiUrl = urlParams.join("&"); } }, }; if(productType == 'CATEGORY') { requestObj.getCategoryId = function () { if (window.UnbxdAnalyticsConf !== "undefined" && window.UnbxdAnalyticsConf.page_type) { if ("page_id" in window.UnbxdAnalyticsConf) { return 'categoryPathId: "' + window.UnbxdAnalyticsConf["page_id"] + '"'; } else { if (window.UnbxdAnalyticsConf["page"] == undefined) { return "categoryPath:\"Unbxd Test\""; } else { return encodeURIComponent(window.UnbxdAnalyticsConf["page"]); } } } }; requestObj.browseQueryParam = 'p'; requestObj.categoryPath= "categoryPath"; requestObj.categoryUrlParam= "p"; requestObj.categoryDepth= 4; } if(productType == 'SEARCH') { requestObj.searchQueryParam= 'q'; requestObj.searchEndPoint= "https://search.unbxd.io/"; } return new UnbxdSearch(requestObj);}$(document).ready(function() { var getUidCookie = document.cookie.match("\\bunbxd.userId=([^;]*)\\b"); var uidCookie = uidCookie = getUidCookie ? getUidCookie[1] : null; setTimeout(function () { var unbxdRecs = unbxdRecsFnc('HOME', null, 'unbxd_no_product_recs', null, null, uidCookie); }, 1000);});
    Men's Western Sport Coats & Blazers | Pinto Ranch (2024)
    Top Articles
    Latest Posts
    Article information

    Author: Margart Wisoky

    Last Updated:

    Views: 5591

    Rating: 4.8 / 5 (78 voted)

    Reviews: 85% of readers found this page helpful

    Author information

    Name: Margart Wisoky

    Birthday: 1993-05-13

    Address: 2113 Abernathy Knoll, New Tamerafurt, CT 66893-2169

    Phone: +25815234346805

    Job: Central Developer

    Hobby: Machining, Pottery, Rafting, Cosplaying, Jogging, Taekwondo, Scouting

    Introduction: My name is Margart Wisoky, I am a gorgeous, shiny, successful, beautiful, adventurous, excited, pleasant person who loves writing and wants to share my knowledge and understanding with you.