Preppy Rebel

Show filters
Sort:
Size
Color
Price
All filters
Sort
Loading...
tag of the document. This will help to improve the load of the images // during color swatches interaction on PLP const preloadBackground = (entries, observer) => { entries.forEach(async (entry) => { if (entry.isIntersecting) { const swatch = entry.target; const images = swatch.dataset.varimg.split(','); images.forEach((img, index) => { // preload image const link = document.createElement('link'); link.href = buildSrc(img); link.imagesrcset = getSrcset(img); link.imagesizes = cssImageMediaCondition; link.rel = 'preload'; link.as = 'image'; document.getElementsByTagName('head')[0].appendChild(link); }); swatch.removeAttribute('data-varimg'); switchObserver.unobserve(swatch); } }); }; const switchObserver = new IntersectionObserver(preloadBackground, { root: null, // Default is the viewport rootMargin: '30px', threshold: 0.05, // Load image when 10% of the div is visible }); // Sort options function getPageParam() { const urlParams = new URLSearchParams(window.location.search); const pageParam = urlParams.get('page'); return pageParam ? parseInt(pageParam, 10) : 1; } domLoadedPage = getPageParam(); setupSortDropdown('.fs_sort_by_wrap_desktop', '.fs_sort_by_options_desktop', '.fs_sort_by_select_desktop'); const sortBySelect = document.getElementById('sortByDesktop'); let sortByValue = getSortBy(); // call the function and store the returned value sortBySelect.value = sortByValue; // update the desktop dropdown value on page load // update sort mobile dropdown value on page load const validSortOptions = ['price_min_to_max', 'price_max_to_min', 'creation_date', 'relevency']; sortByValue = validSortOptions.includes(sortByValue) ? sortByValue : 'relevency'; const inputField = document.querySelector(`form [data-value="${sortByValue}"]`); if (inputField) { inputField.checked = true; // update the value of the option } else { console.error(`No radio button found with data-value="${sortByValue}"`); } const form = document.getElementById('sortForm'); if (form) { form.addEventListener('change', (event) => { if (event.target.name === 'sort') { const selectedValue = event.target.getAttribute('data-value'); if (selectedValue && validSortOptions.includes(selectedValue)) { setUrlParam('sortBy', selectedValue, true); resetPageAndScroll(); updateOtherDropdown(selectedValue); } } }); } updateOtherDropdown(getSortBy()); if (sortBySelect) { sortBySelect.addEventListener('change', function () { if (sortBySelect.value && validSortOptions.includes(sortBySelect.value)) { setUrlParam('sortBy', sortBySelect.value, true); } }); } // Description 'read more' function toggleReadMore(button) { const container = button.parentNode; const isExpanded = container.getAttribute('aria-expanded') === 'true'; container.setAttribute('aria-expanded', !isExpanded); if (isExpanded) { button.querySelector('.button-text').textContent = 'more'; } else { button.querySelector('.button-text').textContent = 'Show less'; } } function visibleReadMore() { const toggleButtons = document.querySelectorAll('.fs_collection_top_toggle'); toggleButtons.forEach(button => { const description_children = button.previousElementSibling.children; let description_scroll_width = 0; let description_client_width = 0; for(const child of description_children) { description_scroll_width += child.scrollWidth; description_client_width += child.clientWidth; }; button.style.display = (description_scroll_width > description_client_width) ? 'block' : 'none'; }); } window.addEventListener('DOMContentLoaded', visibleReadMore); // category pills GTM const categories = document.querySelectorAll('.category-pills__pill'); let category; let categoryHandle; let categoryId; const pushCategoryPills = (category, categoryHandle, categoryId, typeCategory) => { if (category && categoryHandle && categoryId && typeCategory) { const categoryPills = { event: `categoryPills`, category: category, categoryHandle: categoryHandle, categoryId: categoryId, typeCategory: typeCategory }; window.dataLayer.push(categoryPills); } } categories?.forEach(category => { category.addEventListener('click', function(e) { try { category = e.currentTarget.getAttribute('data-category'); categoryHandle = e.currentTarget.getAttribute('data-collection-handle'); categoryId = e.currentTarget.getAttribute('data-collection-id'); typeCategory = e.currentTarget.getAttribute('data-type-category'); pushCategoryPills(category, categoryHandle, categoryId, typeCategory); } catch (error) { console.error('Error in category click event:', error); } }) })

Now Trending

Preppy Aesthetic Outfits: Chic & Trendy Looks for 2025

Get ready to embrace classic style with a fresh twist—preppy aesthetic outfits are making waves in 2025! Whether you're channeling timeless sophistication or adding a modern edge, Windsor has all the must-have pieces to perfect your look. Explore smoothing bodysuits, pleated skirts, structured blazers, and lightweight cardigans with chic letter detailing. From brunch to the boardroom, these polished styles are effortlessly on-trend.

Looking for everyday elegance? Complete your outfit with trendy sweaters layered over collared tops or pair cute shorts with structured skorts featuring buckle or strap details. For casual yet put-together vibes, mix essential basic tops with sleek blazers or must-have jackets that define the preppy look.

Elevate your footwear game with flats and sneakers that balance comfort and style, or go for polished booties to refine your outfit. Accessorize with preppy handbags, sunglasses, and timeless jewelry to bring your look together.

Heading on vacation? Keep it classic with breezy preppy resort wear, including relaxed linen shorts, chic wrap dresses, and tailored layers. For a night out, preppy cocktail attire blends sophistication with modern glam—think pleated mini skirts, sleek bodysuits, and statement accessories.

Shop online, in-app, or visit one of Windsor’s 350+ stores across the U.S. and Canada to curate your ultimate 2025 preppy looks with effortlessly chic pieces for every occasion.

  • Effortless Tease Long Sleeve Crop Top

    A little twist, a lot of charm—this rib knit crop top brings that subtly flirty vibe you can throw on with anything. The long sleeves balance the twisted bust detail, serving a look that feels pulled together without trying too hard.

    Fit & Features

    • Rib knit seamless stretchy fabric
    • Twisted bust detail
    • Fitted long sleeves
    • Fitted crop hem
    • Runs true to size

    Style Number/Barcode: 06002-000469

    Category Name: Preppy Rebel

    Price: $32.90

    Availability: In Stock

    Available Color: BURGUNDY

    Available Size: XS, S, M, L

  • Statement Season Faux Leather Trench Coat

    Statement season starts here. This sleek faux leather trench coat brings a chic attitude with a perfectly structured fit—made for nights out, city strolls, and every unapologetically confident moment in between. Style with the matching mini skort.

    Shop Matching Bottoms: Statement Season Faux Leather Mini Skort

    Fit & Features

    • Patent faux leather fabric, crinkle texture
    • Lapel collar, back flap accent
    • Long sleeves, strap details
    • Open front, tie-front belt
    • Long-length hem
    • Structured fit
    • Runs true to size

    Style Number/Barcode: 06204-000073

    Category Name: Preppy Rebel

    Price: $79.90

    Availability: In Stock

    Available Color: BROWN

    Available Size: S, M, L, XL

    Product Badge:
    • Ships Free
  • Tailored Mood Plaid Woven Blazer

    Your “I planned this” blazer—clean, tailored, and instantly elevated. The plaid woven finish gives it that strategic, cool-girl polish that works from brunch to late-night plans without ever trying too hard.

    Shop Matching Shorts: Tailored Mood Plaid Woven Shorts

    Fit & Features

    • Plaid printed woven fabric
    • Structured tailored silhouette
    • Notched lapel neckline
    • Front flap pockets and multi-button closure
    • Runs true to size

    Style Number/Barcode: 06204-000059

    Category Name: Preppy Rebel

    Price: $9.97 $54.90

    On Sale: Yes

    Availability: Out of Stock

    Product Badge:
    • Ships Free